{"version":3,"file":"./botchat.js","mappings":"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WACA,cACA,eACA,eACA,gBACA,mBACA,WACA,UACA,gBACA,sBACA,cACA,mBACA,oBACA,oBACA,iBACA,eACA,UACA,UACA,UACA,UACA,UACA,iBACA,UACA,UACA,cACA,eACA,WACA,eACA,qBACA,cACA,SACA,eACA,gBACA,WACA,iBACA,iBACA,YACFhpF,KAAI,SAAU6jD,GAAO,MAAO,CAACA,EAAIplE,cAAeolE,EAAM,KACxD9tF,EAAQ+yH,eAAiB,IAAIE,IAAI,CAC7B,gBACA,gBACA,gBACA,gBACA,cACA,WACA,gBACA,kBACA,WACA,cACA,WACA,oBACA,gBACA,eACA,mBACA,YACA,aACA,WACA,eACA,oBACA,eACA,cACA,cACA,mBACA,YACA,aACA,aACA,sBACA,mBACA,eACA,YACA,YACA,YACA,gBACA,sBACA,iBACA,OACA,OACA,cACA,YACA,qBACA,mBACA,mBACA,mBACA,eACA,cACA,eACA,cACA,eACA,iBACA,cACA,UACA,UACA,aACA,UACA,aACA,mBACA,mBACA,cACFhpF,KAAI,SAAU6jD,GAAO,MAAO,CAACA,EAAIplE,cAAeolE,EAAM,yCCrGxD,IAAIolC,EAAYtyH,MAAQA,KAAKsyH,UAAa,WAStC,OARAA,EAAWnyH,OAAOomE,QAAU,SAASriE,GACjC,IAAK,IAAIs0D,EAAGvmD,EAAI,EAAGrN,EAAIgB,UAAUzD,OAAQ8P,EAAIrN,EAAGqN,IAE5C,IAAK,IAAI1R,KADTi4D,EAAI5yD,UAAUqM,GACO9R,OAAOK,UAAUC,eAAeC,KAAK83D,EAAGj4D,KACzD2D,EAAE3D,GAAKi4D,EAAEj4D,IAEjB,OAAO2D,CACX,EACOouH,EAASzuH,MAAM7D,KAAM4F,UAChC,EACImL,EAAmB/Q,MAAQA,KAAK+Q,kBAAqB5Q,OAAOY,OAAS,SAAUiQ,EAAGC,EAAGC,EAAGC,QAC7E7O,IAAP6O,IAAkBA,EAAKD,GAC3B,IAAIE,EAAOjR,OAAOkR,yBAAyBJ,EAAGC,GACzCE,KAAS,QAASA,GAAQH,EAAEK,WAAaF,EAAKG,UAAYH,EAAKvO,gBAClEuO,EAAO,CAA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AG,eAAgB,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,SAAU,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,UAAW,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,YAAa,CAAC,EAAG,WAAY,CAAC,EAAG,WAAY,CAAC,E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AAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,GAAI,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,SAAU,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,EAAG,UAAW,CAAC,E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W,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,QAAQ,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,YAAY,CAAC,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,UAAU,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,UAAU,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,YAAY,CAAC,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,SAAS,WAAW,SAAS,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,UAAU,SAAS,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,QAAQ,UAAU,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,YAAY,CAAC,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,UAAU,SAAS,WAAW,SAAS,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,SAAS,SAAS,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,UAAU,WAAW,WAAW,SAAS,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,UAAU,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,UAAU,WAAW,WAAW,WAAW,UAAU,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAAW,WAA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cP,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQqkc,UAAYR,GAAyB,CACpE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQskc,YAAcT,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQukc,WAAaV,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQwkc,YAAcX,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQykc,YAAcZ,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,UACA,CAAE,IAAK,IAAU,IAAK,IAAU,IAAK,KAAgB,IAAK,KAAW,IAAK,KAAWnyV,EAAG,KAAgB,IAAU,KAClH,eAEFkyV,GAAyB3jc,QAAQ0kc,WAAab,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ2kc,WAAad,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ4kc,YAAcf,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ6kc,UAAYhB,GAAyB,CACpE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ8kc,YAAcjB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+kc,YAAclB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQglc,WAAanB,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQilc,WAAapB,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQklc,YAAcrB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQmlc,YAActB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQolc,YAAcvB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqlc,YAAcxB,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQslc,WAAazB,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQulc,WAAa1B,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQwlc,YAAc3B,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQylc,YAAc5B,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ0lc,WAAa7B,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ2lc,YAAc9B,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ4lc,WAAa/B,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ6lc,WAAahC,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ8lc,YAAcjC,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+lc,YAAclC,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQgmc,YAAcnC,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAA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yB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAU,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE7EkyV,GAAyB3jc,QAAQ6mc,YAAchD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAU,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE7EkyV,GAAyB3jc,QAAQ8mc,WAAajD,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+mc,UAAYlD,GAAyB,CACpE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQgnc,YAAcnD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQinc,YAAcpD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAW,IAAK,KAAWnyV,EAAG,IAAK,IAAU,OAEpFkyV,GAAyB3jc,QAAQknc,YAAcrD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAW,IAAK,KAAWnyV,EAAG,IAAK,IAAU,OAEpFkyV,GAAyB3jc,QAAQmnc,YAActD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,KAAW,IAAK,KAAWnyV,EAAG,IAAK,IAAU,OAEpFkyV,GAAyB3jc,QAAQonc,WAAavD,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqnc,WAAaxD,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQsnc,YAAczD,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,EACA,GACA,eACA,gBACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQunc,WAAa1D,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQwnc,WAAa3D,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQync,YAAc5D,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ0nc,YAAc7D,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ2nc,WAAa9D,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ4nc,YAAc/D,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ6nc,WAAahE,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ8nc,WAAajE,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+nc,YAAclE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQgoc,WAAanE,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQioc,YAAcpE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQkoc,YAAcrE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQmoc,YAActE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQooc,WAAavE,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqoc,YAAcxE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQsoc,YAAczE,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,WACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQuoc,WAAa1E,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,WACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQwoc,YAAc3E,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,WACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IA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CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqpc,YAAcxF,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAUnyV,EAAG,IAAK,IAAU,OAEhFkyV,GAAyB3jc,QAAQspc,YAAczF,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAUnyV,EAAG,IAAK,IAAU,OAEhFkyV,GAAyB3jc,QAAQupc,YAAc1F,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAUnyV,EAAG,IAAK,IAAU,OAEhFkyV,GAAyB3jc,QAAQwpc,YAAc3F,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQypc,WAAa5F,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ0pc,YAAc7F,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ2pc,YAAc9F,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ4pc,WAAa/F,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ6pc,YAAchG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQ8pc,YAAcjG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+pc,YAAclG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQgqc,YAAcnG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQiqc,WAAapG,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQkqc,WAAarG,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQmqc,WAAatG,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAE3EkyV,GAAyB3jc,QAAQoqc,YAAcvG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqqc,YAAcxG,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,K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3jc,QAAQirc,YAAcpH,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQkrc,WAAarH,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQmrc,YAActH,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQorc,WAAavH,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqrc,WAAaxH,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQsrc,WAAazH,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAQ,IAAK,IAA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ACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQmsc,WAAatI,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQosc,YAAcvI,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQqsc,YAAcxI,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQssc,YAAczI,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQusc,UAAY1I,GAAyB,CACpE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQwsc,WAAa3I,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQysc,WAAa5I,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ0sc,WAAa7I,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ2sc,YAAc9I,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ4sc,YAAc/I,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ6sc,WAAahJ,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ8sc,YAAcjJ,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQ+sc,WAAalJ,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQgtc,WAAanJ,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQitc,YAAcpJ,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,IACA,KACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQktc,WAAarJ,GAAyB,CACrE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,CACA,CACA,GACA,KACA,MACA,IACA,GACAD,KACA,IACA,MACA,CAAE,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAKnyV,EAAG,IAAK,IAAU,OAExEkyV,GAAyB3jc,QAAQmtc,YAActJ,GAAyB,CACtE,GACA,CACA,EACA,EACA,EACA,CACA,CACA,CACA,EACA,CACA,GACA,YACA,aAC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,GACrB,GAAU3pB,uBAAuBhgG,EAAE6rF,MAAM,GAAI,SAC7C3kL,KAAKwuN,aAAe11H,EAAE6rF,MAAM,EAC9B,CASA,iBAAOs7B,CAAWv8M,GAChB,GAAUo1L,uBAAuBp1L,EAAQ,UACzC,MAAM61B,EAAO71B,EAAOwxD,WAAWqrG,YAAY,GAAWuT,kCAEtD,OADA,GAAUglB,uBAAuBv/J,EAAM,QAChC,IAAImhiB,EAA+BnhiB,EAC5C,CAQA,gBAAIk1L,GACF,OAAOzuN,KAAKwuN,YACd,CASA,iBAAImsW,GACF,OAAO36jB,KAAKyuN,aAAaC,wBAAwBC,aACnD,CASA,sBAAIisW,GACF,OAAO56jB,KAAKyuN,aAAaC,wBAAwBE,SACnD,CAQA,qBAAIisW,GACF,OAAO76jB,KAAKyuN,aAAaC,wBAAwBG,iBACnD,CAQA,gBAAIisW,GACF,OAAO96jB,KAAKyuN,aAAaC,wBAAwBI,YACnD,EAEJ,IAIEuiW,GAAgBlV,GAAM,CACxB,gGACEwV,KACAb,KACAK,KACAO,KACAI,KACAE,KACAC,KACAC,KACAC,KACAC,KACAC,KACAE,KACAC,KACAC,KACAC,KACAC,KACAC,KACAE,KACAC,KACAC,KACAC,KACAC,KACAC,KACAE,KACAE,KACAE,KACAE,KACAE,KACAE,KACAE,KACAC,KACAE,KACAC,KACAC,KACAE,KACAE,KACAC,KACAC,KACAE,KACAE,KACAE,KACAC,KACAK,KACAE,KACAE,KACAC,KACAC,KACAM,KACAC,KACAG,KACAC,KACAE,KACAE,KACAE,KACA3B,KACA4B,KACAC,KACAI,KACAE,KACAC,KACAC,KACAC,KACAE,KACAE,KACAE,KACAE,KACAE,KACAe,KACA7H,KACAmI,KACAG,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAC,KACAE,KACAE,KACAE,IACF,IAKEM,GAA+B5e,GAAM,CACvC,0HACEyV,KACAP,KACA2E,KACA5E,KACAhB,KACAvyY,GAA0B,cAAc,GACtC,WAAA/8K,GACEyrH,SAAS3mH,WACT5F,KAAKe,OAAS,CAAC6kH,EAAQ8mD,EAAUrI,KA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","sources":["webpack://BotChat/webpack/universalModuleDefinition","webpack://BotChat/webpack/runtime/create fake namespace object","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/activity-request.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/adaptive-applet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/adaptivecards.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/card-elements.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/card-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/carousel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/channel-adapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/collection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/constants.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/menu-item.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/popup-control.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/controls/popup-menu.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/enums.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/host-capabilities.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/host-config.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/registry.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/serialization.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/shared.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/strings.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/table.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/text-formatters.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/adaptivecards/lib/utils.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/base64-js/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/createDeferred.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/dedupeFilenames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/directLine.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/directLineStreaming.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/parseFilename.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/lib/streaming/WebSocketClientWithNetworkInformation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/createClass.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/get.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/inherits.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/superPropBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/toArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/typeof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/@babel/runtime/regenerator/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/es/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/features/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/a-function.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/a-possible-prototype.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/add-to-unscopables.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/an-instance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/an-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/array-includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/classof-raw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/classof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/copy-constructor-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/correct-prototype-getter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/create-iterator-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/create-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/define-iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/document-create-element.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/dom-iterables.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-ios.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-node.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-user-agent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-v8-version.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/enum-bug-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/export.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/fails.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/function-bind-context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/get-built-in.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/global.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/has.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/hidden-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/host-report-errors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/ie8-dom-define.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/inspect-source.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/internal-state.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/is-array-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/is-forced.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/is-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/is-pure.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/iterate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/iterator-close.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/iterators-core.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/iterators.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/microtask.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/native-promise-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/native-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/native-weak-map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/new-promise-capability.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-keys-internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/object-to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/own-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/path.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/perform.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/promise-resolve.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/redefine-all.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/redefine.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/require-object-coercible.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/set-global.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/set-species.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/set-to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/shared-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/shared-store.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/shared.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/species-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/string-multibyte.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/task.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-absolute-index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-integer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-length.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/to-string-tag-support.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/internals/well-known-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.aggregate-error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.array.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.object.to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.all-settled.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.any.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.finally.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/es.string.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.aggregate-error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.all-settled.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.any.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.try.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/jwt-decode/build/jwt-decode.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/regenerator-runtime/runtime.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-directlinejs/node_modules/url-search-params-polyfill/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/botframework-streaming/lib/index-browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/buffer/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/deep-freeze-strict/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/deepmerge/dist/cjs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/lib/foreignNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/decode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/encode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/escape.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom-serializer/node_modules/entities/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domelementtype/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domhandler/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domhandler/lib/node.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/feeds.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/helpers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/legacy.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/manipulation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/querying.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/stringify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/domutils/lib/traversal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/event-as-promise/lib/external/p-defer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/event-as-promise/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/lib/Parser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/lib/Tokenizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/node_modules/entities/lib/decode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/htmlparser2/node_modules/entities/lib/generated/decode-data-xml.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/ieee754/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/is-plain-object/dist/is-plain-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/linkify-it/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/linkify-it/lib/re.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/common/entities.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/common/html_blocks.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/common/html_re.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/common/utils.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/helpers/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/helpers/parse_link_destination.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/helpers/parse_link_label.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/helpers/parse_link_title.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/parser_block.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/parser_core.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/parser_inline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/presets/commonmark.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/presets/default.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/presets/zero.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/renderer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/ruler.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/blockquote.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/code.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/fence.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/heading.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/hr.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/html_block.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/lheading.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/list.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/paragraph.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/reference.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/state_block.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_block/table.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/block.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/inline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/linkify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/normalize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/replacements.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/smartquotes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/state_core.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_core/text_join.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/autolink.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/backticks.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/balance_pairs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/emphasis.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/entity.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/escape.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/fragments_join.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/html_inline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/image.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/link.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/linkify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/newline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/state_inline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/strikethrough.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/rules_inline/text.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it/lib/token.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/math-random/browser/crypto.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/math-random/browser/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdurl/decode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdurl/encode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdurl/format.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdurl/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdurl/parse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/microsoft.cognitiveservices.speech.sdk.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/CertChecks.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/ConsoleLoggingListener.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/FileAudioSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/IRecorder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/MicAudioSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/PCMRecorder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/ProxyInfo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/ReplayableAudioNode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/RestConfigBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/RestMessageAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/WebsocketConnection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.browser/WebsocketMessageAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/AddedLmIntent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/AgentConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/CognitiveSubscriptionKeyAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/CognitiveTokenAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ConnectionFactoryBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DialogConnectorFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DialogServiceAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DialogServiceTurnState.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DialogServiceTurnStateManager.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DynamicGrammarBuilder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/DynamicGrammarInterfaces.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/EnumTranslation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/HeaderNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/IAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/IConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ISynthesisConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/IntentConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/IntentServiceRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/QueryParameterNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/RecognitionEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/RecognizerConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/RequestSession.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/ActivityResponsePayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/DetailedSpeechPhrase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/Enums.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/IntentResponse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/SimpleSpeechPhrase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/SpeechDetected.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/SpeechHypothesis.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/SpeechKeyword.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/SynthesisAudioMetadata.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/TranslationHypothesis.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/TranslationPhrase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/TranslationSynthesisEnd.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceMessages/TurnStatusPayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceRecognizerBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/ServiceTelemetryListener.Internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeakerIdMessageAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeakerRecognitionConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechConnectionMessage.Internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechServiceInterfaces.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechServiceRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SpeechSynthesisConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SynthesisAdapterBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SynthesisContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SynthesisEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SynthesisTurn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/SynthesizerConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranscriberConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranscriptionServiceRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationConnectionConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationConnectionMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationManager.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationRequestSession.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationServiceAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationTranslatorEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationTranslatorInterfaces.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationTranslatorRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationUtils.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ConversationWebsocketMessageFormatter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/CommandResponsePayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/ParticipantResponsePayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/ServiceMessages/TranslationResponsePayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/Transcription/TranscriberRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranslationConnectionFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranslationServiceRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/TranslationStatus.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common.speech/WebsocketMessageFormatter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/AudioSourceEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/BackgroundError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/ChunkedArrayBufferStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/ConnectionEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/ConnectionMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/ConnectionOpenResponse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/DialogEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/EventSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Events.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Guid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IAudioDestination.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IAudioSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IConnection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IDetachable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IDictionary.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IDisposable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IErrorMessages.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IEventSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/ITimer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/IWebsocketMessageFormatter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/List.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/OCSPEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/PlatformEvent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Queue.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/RawWebsocketMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/RiffPcmEncoder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Stream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/common/Timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ActivityReceivedEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioFileWriter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioInputStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioOutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioOutputStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/AudioStreamFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/BaseAudioPlayer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/PullAudioInputStreamCallback.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/PushAudioOutputStreamCallback.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Audio/SpeakerAudioDestination.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/AutoDetectSourceLanguageConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/AutoDetectSourceLanguageResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/BotFrameworkConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CancellationDetails.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CancellationDetailsBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CancellationErrorCodes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CancellationEventArgsBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CancellationReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Connection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ConnectionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ConnectionMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ConnectionMessageEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Contracts.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ConversationTranscriptionCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/CustomCommandsConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/DialogServiceConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/DialogServiceConnector.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/IntentRecognitionCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/IntentRecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/IntentRecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/IntentRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/KeywordRecognitionModel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/LanguageUnderstandingModel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/NoMatchDetails.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/NoMatchReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/OutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PhraseListGrammar.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ProfanityOption.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PronunciationAssessmentConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PronunciationAssessmentGradingSystem.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PronunciationAssessmentGranularity.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PronunciationAssessmentResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PropertyCollection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/PropertyId.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/RecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/RecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Recognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ResultReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ServiceEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/ServicePropertyChannel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SessionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SourceLanguageConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeakerIdentificationModel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeakerRecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeakerRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeakerVerificationModel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechRecognitionCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechRecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechRecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisBookmarkEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisOutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisVisemeEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesisWordBoundaryEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechSynthesizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/SpeechTranslationConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/Conversation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationCommon.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationExpirationEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationParticipantsChangedEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationTranscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationTranslationCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationTranslationEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationTranslationResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ConversationTranslator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/IParticipant.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Transcription/ParticipantChangedReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationRecognitionCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationRecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationRecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationRecognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationSynthesisEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TranslationSynthesisResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/Translations.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/TurnStatusReceivedEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfile.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfileAuthorizationPhraseResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfileClient.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfileEnrollmentResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfileResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/lib/src/sdk/VoiceProfileType.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/uuid/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/uuid/lib/bytesToUuid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/uuid/lib/rng-browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/uuid/v1.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/node_modules/uuid/v4.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/object-assign/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/p-defer-es5/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/parse-srcset/src/parse-srcset.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/picocolors/picocolors.browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/at-rule.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/comment.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/container.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/css-syntax-error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/declaration.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/document.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/fromJSON.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/input.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/lazy-result.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/list.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/map-generator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/no-work-result.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/node.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/parse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/parser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/postcss.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/previous-map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/processor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/result.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/root.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/rule.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/stringifier.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/stringify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/tokenize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/warn-once.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/postcss/lib/warning.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/prop-types/factoryWithThrowingShims.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/prop-types/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/punycode/punycode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/querystringify/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/node_modules/prop-types/factoryWithThrowingShims.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/node_modules/prop-types/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dom/cjs/react-dom.production.min.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dom/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/classnames/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-is/cjs/react-is.production.min.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-is/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/Composer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/Context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/QueuedUtterance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/Say.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/SayButton.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/SayUtterance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/createCustomEvent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/createDeferred.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/createErrorEvent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/createNativeUtterance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/createSynthesize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/migrateDeprecatedProps.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/useEvent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/useImmediateEffect.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/lib/useSynthesize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/createClass.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/readOnlyError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/slicedToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/typeof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/@babel/runtime/regenerator/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-say/node_modules/regenerator-runtime/runtime.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/classnames/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/a-callable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/advance-string-index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/an-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/array-includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/classof-raw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/classof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/copy-constructor-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/create-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/document-create-element.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/engine-user-agent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/engine-v8-version.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/enum-bug-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/export.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/fails.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/function-name.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/get-built-in.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/get-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/get-substitution.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/global.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/has-own-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/hidden-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/ie8-dom-define.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/inspect-source.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/internal-state.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/is-callable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/is-forced.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/is-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/is-pure.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/is-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/length-of-array-like.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/native-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/native-weak-map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-keys-internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/object-to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/own-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/redefine.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-exec-abstract.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-exec.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-flags.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-sticky-helpers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-unsupported-dot-all.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/regexp-unsupported-ncg.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/require-object-coercible.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/set-global.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/shared-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/shared-store.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/shared.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/string-multibyte.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-absolute-index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-length.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-property-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-string-tag-support.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/try-to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/internals/well-known-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.date.to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.function.name.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.object.to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.regexp.exec.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.regexp.to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/core-js/modules/es.string.replace.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/prop-types/factoryWithThrowingShims.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/prop-types/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/requires-port/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/BehaviorSubject.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/InnerSubscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Notification.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Observable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Observer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/OuterSubscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Scheduler.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Subject.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/SubjectSubscription.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Subscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/Subscription.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/dom/ajax.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/empty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/interval.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/observable/throw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/catch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/combineLatest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/concatMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/count.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/delay.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/do.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/mergeMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/retryWhen.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/share.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/add/operator/take.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/ArrayLikeObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/ArrayObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/ConnectableObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/EmptyObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/ErrorObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/FromObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/IntervalObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/IteratorObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/PromiseObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/ScalarObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/dom/AjaxObservable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/dom/ajax.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/empty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/interval.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/observable/throw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/catch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/combineLatest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/concatMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/count.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/delay.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/do.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/mergeMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/retryWhen.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/share.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operator/take.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/catchError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/combineLatest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/concatMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/count.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/delay.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/mergeMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/multicast.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/observeOn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/refCount.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/retryWhen.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/share.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/take.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/operators/tap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/scheduler/Action.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/scheduler/AsyncAction.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/scheduler/AsyncScheduler.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/scheduler/async.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/symbol/observable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/symbol/rxSubscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/ArgumentOutOfRangeError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/ObjectUnsubscribedError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/UnsubscriptionError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/errorObject.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isArrayLike.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isDate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isFunction.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isNumeric.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isObject.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isPromise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/isScheduler.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/noop.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/pipe.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/root.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/subscribeToResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/toSubscriber.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/rxjs/util/tryCatch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/sanitize-html/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/sanitize-html/node_modules/escape-string-regexp/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/scheduler/cjs/scheduler.production.min.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/scheduler/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/simple-update-in/dist/simple-update-in.production.min.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/categories/Cc/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/categories/Cf/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/categories/P/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/categories/Z/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uc.micro/properties/Any/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/url-parse/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/SpeechSDK.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/SpeechToText.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/SpeechToText/SpeechGrammarList.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/SpeechToText/cognitiveServiceEventResultToWebSpeechRecognitionResultList.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/SpeechToText/createSpeechRecognitionPonyfill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/patchOptions.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/SpeechServices/resolveFunctionOrReturnValue.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/Util/arrayToMap.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/lib/Util/createPromiseQueue.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/event-target-shim/es5.js","webpack://BotChat/./node_modules/adaptivecards/lib/activity-request.js","webpack://BotChat/./node_modules/adaptivecards/lib/adaptive-applet.js","webpack://BotChat/./node_modules/adaptivecards/lib/adaptivecards.js","webpack://BotChat/./node_modules/adaptivecards/lib/card-elements.js","webpack://BotChat/./node_modules/adaptivecards/lib/card-object.js","webpack://BotChat/./node_modules/adaptivecards/lib/carousel.js","webpack://BotChat/./node_modules/adaptivecards/lib/channel-adapter.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/collection.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/constants.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/index.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/menu-item.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/popup-control.js","webpack://BotChat/./node_modules/adaptivecards/lib/controls/popup-menu.js","webpack://BotChat/./node_modules/adaptivecards/lib/enums.js","webpack://BotChat/./node_modules/adaptivecards/lib/host-capabilities.js","webpack://BotChat/./node_modules/adaptivecards/lib/host-config.js","webpack://BotChat/./node_modules/adaptivecards/lib/registry.js","webpack://BotChat/./node_modules/adaptivecards/lib/serialization.js","webpack://BotChat/./node_modules/adaptivecards/lib/shared.js","webpack://BotChat/./node_modules/adaptivecards/lib/strings.js","webpack://BotChat/./node_modules/adaptivecards/lib/table.js","webpack://BotChat/./node_modules/adaptivecards/lib/text-formatters.js","webpack://BotChat/./node_modules/adaptivecards/lib/utils.js","webpack://BotChat/./node_modules/base64-js/index.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/createDeferred.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/dedupeFilenames.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/directLine.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/directLineStreaming.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/parseFilename.js","webpack://BotChat/./node_modules/botframework-directlinejs/lib/streaming/WebSocketClientWithNetworkInformation.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayWithHoles.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classApplyDescriptorGet.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classApplyDescriptorSet.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classExtractFieldDescriptor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classPrivateFieldGet.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/classPrivateFieldSet.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/createClass.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/get.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/inherits.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/nonIterableRest.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/superPropBase.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/toArray.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/typeof.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/@babel/runtime/regenerator/index.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/buffer/index.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/es/promise/index.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/features/promise/index.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/a-function.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/a-possible-prototype.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/add-to-unscopables.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/an-instance.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/an-object.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/array-includes.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/check-correctness-of-iteration.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/classof-raw.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/classof.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/copy-constructor-properties.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/correct-prototype-getter.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/create-iterator-constructor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/create-property-descriptor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/define-iterator.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/descriptors.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/document-create-element.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/dom-iterables.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-browser.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-ios.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-node.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-is-webos-webkit.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-user-agent.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/engine-v8-version.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/enum-bug-keys.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/export.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/fails.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/function-bind-context.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/get-built-in.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/get-iterator-method.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/global.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/has.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/hidden-keys.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/host-report-errors.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/html.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/ie8-dom-define.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/indexed-object.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/inspect-source.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/internal-state.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/is-array-iterator-method.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/is-forced.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/is-object.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/is-pure.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/iterate.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/iterator-close.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/iterators-core.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/iterators.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/microtask.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/native-promise-constructor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/native-symbol.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/native-weak-map.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/new-promise-capability.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-create.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-define-properties.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-define-property.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-names.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-get-prototype-of.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-keys-internal.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-keys.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-set-prototype-of.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/object-to-string.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/own-keys.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/path.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/perform.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/promise-resolve.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/redefine-all.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/redefine.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/require-object-coercible.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/set-global.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/set-species.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/set-to-string-tag.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/shared-key.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/shared-store.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/shared.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/species-constructor.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/string-multibyte.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/task.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-absolute-index.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-indexed-object.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-integer.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-length.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-object.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-primitive.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/to-string-tag-support.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/uid.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/internals/well-known-symbol.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.aggregate-error.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.array.iterator.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.object.to-string.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.all-settled.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.any.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.finally.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.promise.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/es.string.iterator.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.aggregate-error.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.all-settled.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.any.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/esnext.promise.try.js","webpack://BotChat/./node_modules/botframework-directlinejs/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://BotChat/./node_modules/botframework-streaming/lib/index-browser.js","webpack://BotChat/./node_modules/corejs-typeahead/dist/typeahead.bundle.js","webpack://BotChat/./node_modules/cross-fetch/dist/browser-ponyfill.js","webpack://BotChat/./node_modules/ieee754/index.js","webpack://BotChat/./node_modules/intl-tel-input/build/js/intlTelInput.js","webpack://BotChat/./node_modules/intl-tel-input/index.js","webpack://BotChat/./node_modules/jquery/dist/jquery.js","webpack://BotChat/./node_modules/jwt-decode/build/jwt-decode.esm.js","webpack://BotChat/./node_modules/linkify-it/index.js","webpack://BotChat/./node_modules/linkify-it/lib/re.js","webpack://BotChat/./node_modules/markdown-it/index.js","webpack://BotChat/./node_modules/markdown-it/lib/common/entities.js","webpack://BotChat/./node_modules/markdown-it/lib/common/html_blocks.js","webpack://BotChat/./node_modules/markdown-it/lib/common/html_re.js","webpack://BotChat/./node_modules/markdown-it/lib/common/utils.js","webpack://BotChat/./node_modules/markdown-it/lib/helpers/index.js","webpack://BotChat/./node_modules/markdown-it/lib/helpers/parse_link_destination.js","webpack://BotChat/./node_modules/markdown-it/lib/helpers/parse_link_label.js","webpack://BotChat/./node_modules/markdown-it/lib/helpers/parse_link_title.js","webpack://BotChat/./node_modules/markdown-it/lib/index.js","webpack://BotChat/./node_modules/markdown-it/lib/parser_block.js","webpack://BotChat/./node_modules/markdown-it/lib/parser_core.js","webpack://BotChat/./node_modules/markdown-it/lib/parser_inline.js","webpack://BotChat/./node_modules/markdown-it/lib/presets/commonmark.js","webpack://BotChat/./node_modules/markdown-it/lib/presets/default.js","webpack://BotChat/./node_modules/markdown-it/lib/presets/zero.js","webpack://BotChat/./node_modules/markdown-it/lib/renderer.js","webpack://BotChat/./node_modules/markdown-it/lib/ruler.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/blockquote.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/code.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/fence.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/heading.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/hr.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/html_block.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/lheading.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/list.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/paragraph.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/reference.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/state_block.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_block/table.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/block.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/inline.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/linkify.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/normalize.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/replacements.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/smartquotes.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/state_core.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_core/text_join.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/autolink.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/backticks.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/balance_pairs.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/emphasis.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/entity.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/escape.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/fragments_join.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/html_inline.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/image.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/link.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/linkify.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/newline.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/state_inline.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/strikethrough.js","webpack://BotChat/./node_modules/markdown-it/lib/rules_inline/text.js","webpack://BotChat/./node_modules/markdown-it/lib/token.js","webpack://BotChat/./node_modules/mdurl/decode.js","webpack://BotChat/./node_modules/mdurl/encode.js","webpack://BotChat/./node_modules/mdurl/format.js","webpack://BotChat/./node_modules/mdurl/index.js","webpack://BotChat/./node_modules/mdurl/parse.js","webpack://BotChat/./node_modules/punycode/punycode.es6.js","webpack://BotChat/./node_modules/regenerator-runtime/runtime.js","webpack://BotChat/./node_modules/rxjs/BehaviorSubject.js","webpack://BotChat/./node_modules/rxjs/InnerSubscriber.js","webpack://BotChat/./node_modules/rxjs/Notification.js","webpack://BotChat/./node_modules/rxjs/Observable.js","webpack://BotChat/./node_modules/rxjs/Observer.js","webpack://BotChat/./node_modules/rxjs/OuterSubscriber.js","webpack://BotChat/./node_modules/rxjs/Scheduler.js","webpack://BotChat/./node_modules/rxjs/Subject.js","webpack://BotChat/./node_modules/rxjs/SubjectSubscription.js","webpack://BotChat/./node_modules/rxjs/Subscriber.js","webpack://BotChat/./node_modules/rxjs/Subscription.js","webpack://BotChat/./node_modules/rxjs/add/observable/dom/ajax.js","webpack://BotChat/./node_modules/rxjs/add/observable/empty.js","webpack://BotChat/./node_modules/rxjs/add/observable/from.js","webpack://BotChat/./node_modules/rxjs/add/observable/interval.js","webpack://BotChat/./node_modules/rxjs/add/observable/of.js","webpack://BotChat/./node_modules/rxjs/add/observable/throw.js","webpack://BotChat/./node_modules/rxjs/add/operator/catch.js","webpack://BotChat/./node_modules/rxjs/add/operator/combineLatest.js","webpack://BotChat/./node_modules/rxjs/add/operator/concatMap.js","webpack://BotChat/./node_modules/rxjs/add/operator/count.js","webpack://BotChat/./node_modules/rxjs/add/operator/delay.js","webpack://BotChat/./node_modules/rxjs/add/operator/do.js","webpack://BotChat/./node_modules/rxjs/add/operator/filter.js","webpack://BotChat/./node_modules/rxjs/add/operator/map.js","webpack://BotChat/./node_modules/rxjs/add/operator/mergeMap.js","webpack://BotChat/./node_modules/rxjs/add/operator/retryWhen.js","webpack://BotChat/./node_modules/rxjs/add/operator/share.js","webpack://BotChat/./node_modules/rxjs/add/operator/take.js","webpack://BotChat/./node_modules/rxjs/observable/ArrayLikeObservable.js","webpack://BotChat/./node_modules/rxjs/observable/ArrayObservable.js","webpack://BotChat/./node_modules/rxjs/observable/ConnectableObservable.js","webpack://BotChat/./node_modules/rxjs/observable/EmptyObservable.js","webpack://BotChat/./node_modules/rxjs/observable/ErrorObservable.js","webpack://BotChat/./node_modules/rxjs/observable/FromObservable.js","webpack://BotChat/./node_modules/rxjs/observable/IntervalObservable.js","webpack://BotChat/./node_modules/rxjs/observable/IteratorObservable.js","webpack://BotChat/./node_modules/rxjs/observable/PromiseObservable.js","webpack://BotChat/./node_modules/rxjs/observable/ScalarObservable.js","webpack://BotChat/./node_modules/rxjs/observable/dom/AjaxObservable.js","webpack://BotChat/./node_modules/rxjs/observable/dom/ajax.js","webpack://BotChat/./node_modules/rxjs/observable/empty.js","webpack://BotChat/./node_modules/rxjs/observable/from.js","webpack://BotChat/./node_modules/rxjs/observable/interval.js","webpack://BotChat/./node_modules/rxjs/observable/of.js","webpack://BotChat/./node_modules/rxjs/observable/throw.js","webpack://BotChat/./node_modules/rxjs/operator/catch.js","webpack://BotChat/./node_modules/rxjs/operator/combineLatest.js","webpack://BotChat/./node_modules/rxjs/operator/concatMap.js","webpack://BotChat/./node_modules/rxjs/operator/count.js","webpack://BotChat/./node_modules/rxjs/operator/delay.js","webpack://BotChat/./node_modules/rxjs/operator/do.js","webpack://BotChat/./node_modules/rxjs/operator/filter.js","webpack://BotChat/./node_modules/rxjs/operator/map.js","webpack://BotChat/./node_modules/rxjs/operator/mergeMap.js","webpack://BotChat/./node_modules/rxjs/operator/retryWhen.js","webpack://BotChat/./node_modules/rxjs/operator/share.js","webpack://BotChat/./node_modules/rxjs/operator/take.js","webpack://BotChat/./node_modules/rxjs/operators/catchError.js","webpack://BotChat/./node_modules/rxjs/operators/combineLatest.js","webpack://BotChat/./node_modules/rxjs/operators/concatMap.js","webpack://BotChat/./node_modules/rxjs/operators/count.js","webpack://BotChat/./node_modules/rxjs/operators/delay.js","webpack://BotChat/./node_modules/rxjs/operators/filter.js","webpack://BotChat/./node_modules/rxjs/operators/map.js","webpack://BotChat/./node_modules/rxjs/operators/mergeMap.js","webpack://BotChat/./node_modules/rxjs/operators/multicast.js","webpack://BotChat/./node_modules/rxjs/operators/observeOn.js","webpack://BotChat/./node_modules/rxjs/operators/refCount.js","webpack://BotChat/./node_modules/rxjs/operators/retryWhen.js","webpack://BotChat/./node_modules/rxjs/operators/share.js","webpack://BotChat/./node_modules/rxjs/operators/take.js","webpack://BotChat/./node_modules/rxjs/operators/tap.js","webpack://BotChat/./node_modules/rxjs/scheduler/Action.js","webpack://BotChat/./node_modules/rxjs/scheduler/AsyncAction.js","webpack://BotChat/./node_modules/rxjs/scheduler/AsyncScheduler.js","webpack://BotChat/./node_modules/rxjs/scheduler/async.js","webpack://BotChat/./node_modules/rxjs/symbol/iterator.js","webpack://BotChat/./node_modules/rxjs/symbol/observable.js","webpack://BotChat/./node_modules/rxjs/symbol/rxSubscriber.js","webpack://BotChat/./node_modules/rxjs/util/ArgumentOutOfRangeError.js","webpack://BotChat/./node_modules/rxjs/util/ObjectUnsubscribedError.js","webpack://BotChat/./node_modules/rxjs/util/UnsubscriptionError.js","webpack://BotChat/./node_modules/rxjs/util/errorObject.js","webpack://BotChat/./node_modules/rxjs/util/isArray.js","webpack://BotChat/./node_modules/rxjs/util/isArrayLike.js","webpack://BotChat/./node_modules/rxjs/util/isDate.js","webpack://BotChat/./node_modules/rxjs/util/isFunction.js","webpack://BotChat/./node_modules/rxjs/util/isNumeric.js","webpack://BotChat/./node_modules/rxjs/util/isObject.js","webpack://BotChat/./node_modules/rxjs/util/isPromise.js","webpack://BotChat/./node_modules/rxjs/util/isScheduler.js","webpack://BotChat/./node_modules/rxjs/util/noop.js","webpack://BotChat/./node_modules/rxjs/util/pipe.js","webpack://BotChat/./node_modules/rxjs/util/root.js","webpack://BotChat/./node_modules/rxjs/util/subscribeToResult.js","webpack://BotChat/./node_modules/rxjs/util/toSubscriber.js","webpack://BotChat/./node_modules/rxjs/util/tryCatch.js","webpack://BotChat/../../BotFramework-WebChat/packages/hp-custom/dist/index.js","webpack://BotChat/./node_modules/uc.micro/categories/Cc/regex.js","webpack://BotChat/./node_modules/uc.micro/categories/Cf/regex.js","webpack://BotChat/./node_modules/uc.micro/categories/P/regex.js","webpack://BotChat/./node_modules/uc.micro/categories/Z/regex.js","webpack://BotChat/./node_modules/uc.micro/index.js","webpack://BotChat/./node_modules/uc.micro/properties/Any/regex.js","webpack://BotChat/./node_modules/url-search-params-polyfill/index.js","webpack://BotChat/external umd {\"root\":\"React\",\"commonjs2\":\"react\",\"commonjs\":\"react\",\"amd\":\"react\"}","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/every.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/some.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/instance/splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/math/sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/assign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/reflect/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/set-interval.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/symbol/to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js-stable/weak-map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/classnames/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/promise/with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/reflect/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/symbol/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/actual/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/concat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/every.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/some.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/array/virtual/splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/date/now.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/function/virtual/bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/concat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/every.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/some.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/instance/splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/map/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/math/sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/assign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/from-entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/parse-float.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/promise/with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/reflect/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/string/virtual/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/symbol/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/symbol/to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/es/weak-map/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/symbol/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/features/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/promise/with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/reflect/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/symbol/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/full/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/a-callable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/a-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/a-possible-prototype.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/add-to-unscopables.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/an-instance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/an-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-buffer-non-extensible.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-iteration.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-method-is-strict.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-set-length.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-species-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/array-species-create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/call-with-safe-iteration-closing.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/caller.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/check-correctness-of-iteration.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/classof-raw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/classof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/collection-strong.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/collection-weak.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/collection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/copy-constructor-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/correct-is-regexp-logic.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/correct-prototype-getter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/create-iter-result-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/create-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/define-built-in-accessor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/define-built-in.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/define-built-ins.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/define-global-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/delete-property-or-throw.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/document-create-element.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/dom-iterables.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-is-ios-pebble.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-is-ios.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-is-node.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-is-webos-webkit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-user-agent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment-v8-version.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/environment.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/error-stack-clear.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/error-stack-install.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/error-stack-installable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/export.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/fails.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/freezing.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-apply.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-bind-context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-bind-native.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-call.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-name.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-uncurry-this-accessor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-built-in-prototype-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-built-in.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-json-replacer-function.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/get-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/global-this.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/has-own-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/hidden-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/host-report-errors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/html.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/inspect-source.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/install-error-cause.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/internal-metadata.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/internal-state.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-array-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-callable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-forced.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-possible-prototype.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-pure.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-regexp.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/is-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterator-close.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterator-create-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterator-define.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterators-core.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/iterators.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/length-of-array-like.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/map-helpers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/math-sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/math-trunc.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/microtask.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/new-promise-capability.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/normalize-string-argument.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/not-a-regexp.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/number-parse-float.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-assign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-is-extensible.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-keys-internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-to-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/object-to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/own-keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/path.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/perform.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/promise-constructor-detection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/promise-native-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/promise-resolve.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/promise-statics-incorrect-iteration.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/queue.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/require-object-coercible.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/safe-get-built-in.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/schedulers-fix.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/set-species.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/shared-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/shared-store.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/shared.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/species-constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/string-multibyte.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/string-trim.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/symbol-is-registered.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/symbol-is-well-known.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/symbol-registry-detection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/task.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-absolute-index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-length.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-object.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-property-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/try-to-string.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/validate-arguments-length.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/well-known-symbol-define.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/well-known-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/internals/whitespaces.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.aggregate-error.constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.aggregate-error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.concat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.every.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.some.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.array.splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.date.now.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.function.bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.json.stringify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.json.to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.map.constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.map.group-by.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.math.sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.assign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.from-entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.object.set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.parse-float.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.all-settled.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.all.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.any.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.catch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.finally.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.race.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.reject.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.resolve.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.promise.with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.reflect.construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.string.includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.string.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.async-iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.for.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.has-instance.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.is-concat-spreadable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.match-all.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.match.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.replace.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.search.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.species.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.split.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.symbol.unscopables.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.weak-map.constructor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/es.weak-map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.aggregate-error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.function.metadata.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.promise.all-settled.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.promise.any.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.promise.try.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.promise.with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.async-dispose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.custom-matcher.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.dispose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.is-registered-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.is-registered.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.is-well-known-symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.is-well-known.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.matcher.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.metadata-key.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.metadata.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.observable.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.pattern-match.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/esnext.symbol.replace-all.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/web.dom-collections.iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/web.set-interval.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/web.set-timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/modules/web.timers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/array/virtual/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/date/now.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/bind.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/concat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/every.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/push.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/some.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/instance/splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/map/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/math/sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/assign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/from-entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/parse-float.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/promise/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/promise/with-resolvers.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/reflect/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/set-interval.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/set-timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/symbol/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/symbol/to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/core-js-pure/stable/weak-map/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/nanoid/non-secure/index.cjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/date/now.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/fill.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/find.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/last-index-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/instance/splice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/math/sign.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/object/from-entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/parse-float.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js-stable/set-timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/array/from.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/filter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/for-each.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/reverse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/create.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/define-properties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/define-property.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-descriptors.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/keys.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/object/set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol/iterator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/core-js/symbol/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/arrayLikeToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/assertThisInitialized.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/asyncToGenerator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/classCallCheck.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/construct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/createClass.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/defineProperty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/get.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/getPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/inherits.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/isNativeFunction.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/isNativeReflectConstruct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/iterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/nonIterableSpread.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/objectWithoutProperties.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/possibleConstructorReturn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/regeneratorRuntime.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/set.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/setPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/superPropBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/toConsumableArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/typeof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/helpers/wrapNativeSuper.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/web-speech-cognitive-services/node_modules/@babel/runtime/regenerator/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/actual/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/es/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/features/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/features/observable/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/full/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/full/observable/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/a-callable.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/a-possible-prototype.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/add-to-unscopables.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/an-instance.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/an-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/array-includes.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/classof-raw.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/classof.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/copy-constructor-properties.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/correct-prototype-getter.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/create-iter-result-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/create-non-enumerable-property.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/create-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/define-built-in-accessor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/define-built-in.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/define-built-ins.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/define-global-property.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/descriptors.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/document-create-element.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/dom-iterables.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/dom-token-list-prototype.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/engine-user-agent.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/engine-v8-version.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/enum-bug-keys.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/export.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/fails.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-bind-context.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-bind-native.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-call.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-name.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-uncurry-this-accessor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-uncurry-this-clause.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/function-uncurry-this.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/get-built-in.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/get-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/get-iterator.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/get-method.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/global.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/has-own-property.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/hidden-keys.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/host-report-errors.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/html.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/ie8-dom-define.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/inspect-source.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/internal-state.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-array-iterator-method.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-callable.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-constructor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-forced.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-null-or-undefined.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-possible-prototype.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-pure.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/is-symbol.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterate.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterator-close.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterator-create-constructor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterator-define.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterators-core.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/iterators.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/length-of-array-like.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/make-built-in.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/math-trunc.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-create.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-define-properties.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-define-property.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-get-own-property-names.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-get-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-is-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-keys-internal.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-keys.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-property-is-enumerable.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-set-prototype-of.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-to-array.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/object-to-string.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/ordinary-to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/own-keys.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/path.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/require-object-coercible.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/set-species.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/set-to-string-tag.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/shared-key.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/shared-store.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/shared.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/string-multibyte.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/symbol-constructor-detection.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-absolute-index.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-indexed-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-integer-or-infinity.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-length.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-object.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-primitive.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-property-key.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-string-tag-support.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/to-string.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/try-to-string.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/uid.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/use-symbol-as-uid.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/weak-map-basic-detection.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/well-known-symbol-define.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/well-known-symbol-wrapped.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/internals/well-known-symbol.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/es.array.iterator.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/es.object.entries.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/es.object.to-string.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/es.string.iterator.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/esnext.observable.constructor.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/esnext.observable.from.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/esnext.observable.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/esnext.observable.of.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/esnext.symbol.observable.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/modules/web.dom-collections.iterator.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/node_modules/core-js/stable/object/entries.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/ssr-window/ssr-window.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/dom7/dom7.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/dom.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/utils.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/get-support.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/get-device.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/get-browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events-emitter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateSize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateSlides.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateAutoHeight.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateSlidesOffset.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateSlidesProgress.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateProgress.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateSlidesClasses.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateActiveIndex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/update/updateClickedSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/transition/transitionEmit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideTo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideToLoop.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideNext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slidePrev.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideReset.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideToClosest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/slide/slideToClickedSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onTouchStart.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onTouchMove.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onTouchEnd.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onResize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onClick.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/onScroll.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/events/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/classes/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/classes/addClasses.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/classes/removeClasses.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/defaults.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/moduleExtendParams.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/core.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/getTranslate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/setTranslate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/minTranslate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/maxTranslate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/translate/translateTo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/transition/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/transition/setTransition.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/transition/transitionStart.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/transition/transitionEnd.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/loop/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/loop/loopCreate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/loop/loopFix.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/loop/loopDestroy.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/grab-cursor/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/breakpoints/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/check-overflow/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/images/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/images/loadImage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/images/preloadImages.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/modules/resize/resize.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/core/modules/observer/observer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/virtual/virtual.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/keyboard/keyboard.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/mousewheel/mousewheel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/create-element-if-not-defined.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/navigation/navigation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/classes-to-selector.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/pagination/pagination.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/scrollbar/scrollbar.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/parallax/parallax.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/zoom/zoom.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/lazy/lazy.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/controller/controller.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/a11y/a11y.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/history/history.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/hash-navigation/hash-navigation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/autoplay/autoplay.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/thumbs/thumbs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/free-mode/free-mode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/grid/grid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/methods/appendSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/methods/prependSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/methods/addSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/methods/removeSlide.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/methods/removeAllSlides.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/manipulation/manipulation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/effect-init.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/effect-target.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/effect-virtual-transition-end.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-fade/effect-fade.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-cube/effect-cube.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/shared/create-shadow.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-flip/effect-flip.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-coverflow/effect-coverflow.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-creative/effect-creative.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/swiper/modules/effect-cards/effect-cards.js","webpack://BotChat/./node_modules/ssr-window/ssr-window.esm.js","webpack://BotChat/./node_modules/dom7/dom7.esm.js","webpack://BotChat/./node_modules/swiper/shared/dom.js","webpack://BotChat/./node_modules/swiper/shared/utils.js","webpack://BotChat/./node_modules/swiper/shared/get-support.js","webpack://BotChat/./node_modules/swiper/shared/get-device.js","webpack://BotChat/./node_modules/swiper/shared/get-browser.js","webpack://BotChat/./node_modules/swiper/core/events-emitter.js","webpack://BotChat/./node_modules/swiper/core/update/index.js","webpack://BotChat/./node_modules/swiper/core/update/updateSize.js","webpack://BotChat/./node_modules/swiper/core/update/updateSlides.js","webpack://BotChat/./node_modules/swiper/core/update/updateAutoHeight.js","webpack://BotChat/./node_modules/swiper/core/update/updateSlidesOffset.js","webpack://BotChat/./node_modules/swiper/core/update/updateSlidesProgress.js","webpack://BotChat/./node_modules/swiper/core/update/updateProgress.js","webpack://BotChat/./node_modules/swiper/core/update/updateSlidesClasses.js","webpack://BotChat/./node_modules/swiper/core/update/updateActiveIndex.js","webpack://BotChat/./node_modules/swiper/core/update/updateClickedSlide.js","webpack://BotChat/./node_modules/swiper/core/transition/transitionEmit.js","webpack://BotChat/./node_modules/swiper/core/slide/index.js","webpack://BotChat/./node_modules/swiper/core/slide/slideTo.js","webpack://BotChat/./node_modules/swiper/core/slide/slideToLoop.js","webpack://BotChat/./node_modules/swiper/core/slide/slideNext.js","webpack://BotChat/./node_modules/swiper/core/slide/slidePrev.js","webpack://BotChat/./node_modules/swiper/core/slide/slideReset.js","webpack://BotChat/./node_modules/swiper/core/slide/slideToClosest.js","webpack://BotChat/./node_modules/swiper/core/slide/slideToClickedSlide.js","webpack://BotChat/./node_modules/swiper/core/events/onTouchStart.js","webpack://BotChat/./node_modules/swiper/core/events/onTouchMove.js","webpack://BotChat/./node_modules/swiper/core/events/onTouchEnd.js","webpack://BotChat/./node_modules/swiper/core/events/onResize.js","webpack://BotChat/./node_modules/swiper/core/events/onClick.js","webpack://BotChat/./node_modules/swiper/core/events/onScroll.js","webpack://BotChat/./node_modules/swiper/core/events/index.js","webpack://BotChat/./node_modules/swiper/core/breakpoints/setBreakpoint.js","webpack://BotChat/./node_modules/swiper/core/classes/index.js","webpack://BotChat/./node_modules/swiper/core/classes/addClasses.js","webpack://BotChat/./node_modules/swiper/core/classes/removeClasses.js","webpack://BotChat/./node_modules/swiper/core/defaults.js","webpack://BotChat/./node_modules/swiper/core/moduleExtendParams.js","webpack://BotChat/./node_modules/swiper/core/core.js","webpack://BotChat/./node_modules/swiper/core/translate/index.js","webpack://BotChat/./node_modules/swiper/core/translate/getTranslate.js","webpack://BotChat/./node_modules/swiper/core/translate/setTranslate.js","webpack://BotChat/./node_modules/swiper/core/translate/minTranslate.js","webpack://BotChat/./node_modules/swiper/core/translate/maxTranslate.js","webpack://BotChat/./node_modules/swiper/core/translate/translateTo.js","webpack://BotChat/./node_modules/swiper/core/transition/index.js","webpack://BotChat/./node_modules/swiper/core/transition/setTransition.js","webpack://BotChat/./node_modules/swiper/core/transition/transitionStart.js","webpack://BotChat/./node_modules/swiper/core/transition/transitionEnd.js","webpack://BotChat/./node_modules/swiper/core/loop/index.js","webpack://BotChat/./node_modules/swiper/core/loop/loopCreate.js","webpack://BotChat/./node_modules/swiper/core/loop/loopFix.js","webpack://BotChat/./node_modules/swiper/core/loop/loopDestroy.js","webpack://BotChat/./node_modules/swiper/core/grab-cursor/index.js","webpack://BotChat/./node_modules/swiper/core/grab-cursor/setGrabCursor.js","webpack://BotChat/./node_modules/swiper/core/grab-cursor/unsetGrabCursor.js","webpack://BotChat/./node_modules/swiper/core/breakpoints/index.js","webpack://BotChat/./node_modules/swiper/core/breakpoints/getBreakpoint.js","webpack://BotChat/./node_modules/swiper/core/check-overflow/index.js","webpack://BotChat/./node_modules/swiper/core/images/index.js","webpack://BotChat/./node_modules/swiper/core/images/loadImage.js","webpack://BotChat/./node_modules/swiper/core/images/preloadImages.js","webpack://BotChat/./node_modules/swiper/core/modules/resize/resize.js","webpack://BotChat/./node_modules/swiper/core/modules/observer/observer.js","webpack://BotChat/./node_modules/swiper/modules/virtual/virtual.js","webpack://BotChat/./node_modules/swiper/modules/keyboard/keyboard.js","webpack://BotChat/./node_modules/swiper/modules/mousewheel/mousewheel.js","webpack://BotChat/./node_modules/swiper/shared/create-element-if-not-defined.js","webpack://BotChat/./node_modules/swiper/modules/navigation/navigation.js","webpack://BotChat/./node_modules/swiper/shared/classes-to-selector.js","webpack://BotChat/./node_modules/swiper/modules/pagination/pagination.js","webpack://BotChat/./node_modules/swiper/modules/scrollbar/scrollbar.js","webpack://BotChat/./node_modules/swiper/modules/parallax/parallax.js","webpack://BotChat/./node_modules/swiper/modules/zoom/zoom.js","webpack://BotChat/./node_modules/swiper/modules/lazy/lazy.js","webpack://BotChat/./node_modules/swiper/modules/controller/controller.js","webpack://BotChat/./node_modules/swiper/modules/a11y/a11y.js","webpack://BotChat/./node_modules/swiper/modules/history/history.js","webpack://BotChat/./node_modules/swiper/modules/hash-navigation/hash-navigation.js","webpack://BotChat/./node_modules/swiper/modules/autoplay/autoplay.js","webpack://BotChat/./node_modules/swiper/modules/thumbs/thumbs.js","webpack://BotChat/./node_modules/swiper/modules/free-mode/free-mode.js","webpack://BotChat/./node_modules/swiper/modules/grid/grid.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/methods/appendSlide.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/methods/prependSlide.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/methods/addSlide.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/methods/removeSlide.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/methods/removeAllSlides.js","webpack://BotChat/./node_modules/swiper/modules/manipulation/manipulation.js","webpack://BotChat/./node_modules/swiper/shared/effect-init.js","webpack://BotChat/./node_modules/swiper/shared/effect-target.js","webpack://BotChat/./node_modules/swiper/shared/effect-virtual-transition-end.js","webpack://BotChat/./node_modules/swiper/modules/effect-fade/effect-fade.js","webpack://BotChat/./node_modules/swiper/modules/effect-cube/effect-cube.js","webpack://BotChat/./node_modules/swiper/shared/create-shadow.js","webpack://BotChat/./node_modules/swiper/modules/effect-flip/effect-flip.js","webpack://BotChat/./node_modules/swiper/modules/effect-coverflow/effect-coverflow.js","webpack://BotChat/./node_modules/swiper/modules/effect-creative/effect-creative.js","webpack://BotChat/./node_modules/swiper/modules/effect-cards/effect-cards.js","webpack://BotChat/webpack/bootstrap","webpack://BotChat/webpack/runtime/compat get default export","webpack://BotChat/webpack/runtime/define property getters","webpack://BotChat/webpack/runtime/global","webpack://BotChat/webpack/runtime/hasOwnProperty shorthand","webpack://BotChat/webpack/runtime/make namespace object","webpack://BotChat/webpack/runtime/node module decorator","webpack://BotChat/../../BotFramework-WebChat/node_modules/redux/dist/redux.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-devtools/extension/lib/esm/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/symbols/dist/redux-saga-symbols.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime/helpers/esm/extends.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/is/dist/redux-saga-is.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/core/dist/io-22ea0cf9.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/core/dist/redux-saga-core.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/redux-saga/dist/redux-saga-core-npm-proxy.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/valibot/dist/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@redux-saga/core/dist/redux-saga-effects.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/jwt-decode/build/esm/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/core/node_modules/mime/dist/types/other.js","webpack://BotChat/../../BotFramework-WebChat/packages/core/node_modules/mime/dist/types/standard.js","webpack://BotChat/../../BotFramework-WebChat/packages/core/node_modules/mime/dist/src/Mime.js","webpack://BotChat/../../BotFramework-WebChat/packages/core/node_modules/mime/dist/src/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/core/dist/botframework-webchat-core.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-chain-of-responsibility/dist/chunk-QOVF7TZ6.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/chunk-7GTPQU4U.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/chunk-D57E6H3M.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/botframework-webchat-api.decorator.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/component/dist/chunk-DM5PORLM.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/component/dist/chunk-J5LGTIGS.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/component/dist/botframework-webchat-component.decorator.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/use-ref-from/lib/esmodules/useRefFrom.js","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/chunk-E5WF62IR.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/components/Context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/utils/batch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/utils/Subscription.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/components/Provider.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/hooks/useReduxContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/hooks/useStore.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/hooks/useDispatch.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/hooks/useSelector.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-redux/es/index.js","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/botframework-webchat-api.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/component/dist/chunk-AASFMTFD.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/sheet/dist/emotion-sheet.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Utility.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Tokenizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Enum.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Serializer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Parser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/stylis/src/Middleware.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/serialize/dist/emotion-serialize.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/hash/dist/emotion-hash.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/FunctionContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useFunctionContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useScrollToEnd.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/State1Context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/State2Context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/StateContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useStateContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useSticky.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/InternalContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useInternalContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useStyleToClassName.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/AutoHideFollowButton.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/toConsumableArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithoutHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableSpread.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/utils/styleConsole.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/utils/debug.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/EventSpy.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/debounce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/SpineTo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useEmotion.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/internal/useStateRef.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/Composer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/createCSSKey.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/ScrollToBottom/Panel.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/BasicScrollToBottom.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/addVersionToMetaTag.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@emotion/css/dist/emotion-css.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/compute-scroll-into-view/dist/index.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/use-propagate/dist/use-propagate.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdast-util-to-string/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-chunked/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-subtokenize/lib/splice-buffer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-subtokenize/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-combine-extensions/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-character/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-factory-space/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/initialize/content.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/initialize/document.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/blank-line.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/content.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/initialize/flow.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/initialize/text.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-resolve-all/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/create-tokenizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/thematic-break.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/list.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/block-quote.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-factory-destination/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-factory-label/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-factory-title/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-factory-whitespace/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-normalize-identifier/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/definition.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/code-indented.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/heading-atx.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/setext-underline.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-html-tag-name/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/html-flow.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/code-fenced.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/decode-named-character-reference/index.dom.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/character-reference.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/character-escape.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/line-ending.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/label-end.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-classify-character/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/attention.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/autolink.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/html-text.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/code-text.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/constructs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/label-start-image.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/label-start-link.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-core-commonmark/lib/hard-break-escape.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/preprocess.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-decode-numeric-character-reference/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark-util-decode-string/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/unist-util-stringify-position/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/mdast-util-from-markdown/lib/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/postprocess.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/micromark/lib/parse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/memoize-one/dist/memoize-one.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/arrayLikeToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/unsupportedIterableToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/slicedToArray.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/arrayWithHoles.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/iterableToArrayLimit.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/nonIterableRest.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/ViewContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useViewContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/FunctionContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useFunctionContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollTo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/Dot.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useIndex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/PropsContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/usePropsContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useNumItems.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/Dots.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/InternalContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useInternalContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useItemContainerCallbackRef.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollableCallbackRef.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/Filmstrip.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useDir.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollBarPercentage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/Flipper.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollOneLeft.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollOneRight.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/typeof.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/defineProperty.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/toPropertyKey.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/toPrimitive.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/objectSpread2.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/browser.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrollBarWidth.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/ScrollBar.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useScrolling.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useStyleOptions.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useStyleSetClassNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/BasicFilm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/useHeight.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/AutoCenter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useAutoCenter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useTimeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/patchStyleOptions.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/createBasicStyleSet.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/getView.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/util/best.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/LegacyContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useAnimateScrollLeft.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useCallbackRefWithSubscribe.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@emotion/css/create-instance/dist/emotion-css-create-instance.esm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useEmotion.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/regeneratorRuntime.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/asyncToGenerator.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/hooks/internal/useObserveScrollLeft.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/util/debounce.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/Composer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/util/createCSSKey.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/node_modules/@babel/runtime-corejs3/helpers/esm/createForOfIteratorHelper.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/computeScrollLeft.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/DeprecatedFilmStrip.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/ReactFilm.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-film/lib/esm/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/merge-refs/dist/esm/index.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/Context.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/useRefFrom.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/vendorPrefix.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/Composer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/usePrevious.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/hooks/internal/useDictateContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/hooks/useReadyState.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/hooks/useSupported.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/DictateButton.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-dictate-button/lib/esm/DictateCheckbox.js","webpack://BotChat/../../BotFramework-WebChat/packages/component/dist/botframework-webchat-component.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useScrollTo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useObserveScrollPosition.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useAnimatingToEnd.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/react-scroll-to-bottom/lib/esm/hooks/useAtEnd.js","webpack://BotChat/../../BotFramework-WebChat/packages/api/dist/botframework-webchat-api.internal.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/bundle/dist/chunk-44UZE7YM.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/uuid/dist/esm-browser/rng.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uuid/dist/esm-browser/regex.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uuid/dist/esm-browser/stringify.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uuid/dist/esm-browser/validate.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/uuid/dist/esm-browser/v4.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/createForOfIteratorHelper.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/PropertyId.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/RecognizerConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Promise.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/markdown-it-attrs-es5/lib/esm/index.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/RiffPcmEncoder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/PCMRecorder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Guid.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/PlatformEvent.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/AudioSourceEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Error.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/List.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Queue.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Stream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioStreamFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/ChunkedArrayBufferStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/EventSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Events.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/MicAudioSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/FileAudioSource.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Contracts.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/PullAudioInputStreamCallback.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioInputStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/ConnectionMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/IConnection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/CancellationReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/CancellationErrorCodes.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/ResultReason.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisOutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/ConnectionEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/PropertyCollection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisWordBoundaryEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisBookmarkEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechSynthesisVisemeEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioOutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioOutputStream.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SynthesisEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SynthesisTurn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SynthesisContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/AgentConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/Exports.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/SynthesisAudioMetadata.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/HeaderNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SpeechConnectionMessage.Internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SynthesisAdapterBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/BackgroundError.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/SpeakerAudioDestination.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/PushAudioOutputStreamCallback.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/OutputFormat.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/ProfanityOption.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/DialogServiceConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioFileWriter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Audio/AudioConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/BotFrameworkConfig.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/ConnectionOpenResponse.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/RawWebsocketMessage.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/OCSPEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/CertChecks.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketMessageAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/WebsocketConnection.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/DialogConnectorFactory.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/ActivityResponsePayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/RecognitionEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/ProxyInfo.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/QueryParameterNames.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ConnectionFactoryBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/WebsocketMessageFormatter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.browser/ReplayableAudioNode.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/DialogEvents.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/ActivityReceivedEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/TurnStatusPayload.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/TurnStatusReceivedEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/RecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechRecognitionResult.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SessionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/RecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechRecognitionEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/CancellationEventArgsBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/SpeechRecognitionCanceledEventArgs.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/DialogServiceTurnState.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/DialogServiceTurnStateManager.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common/Timeout.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceTelemetryListener.Internal.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/RequestSession.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/DynamicGrammarBuilder.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/SpeechContext.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/SpeechDetected.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceRecognizerBase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/Enums.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/SimpleSpeechPhrase.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/SpeechHypothesis.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/ServiceMessages/SpeechKeyword.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/EnumTranslation.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/DialogServiceAdapter.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/IAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/CognitiveSubscriptionKeyAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/common.speech/CognitiveTokenAuthentication.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/Recognizer.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/microsoft-cognitiveservices-speech-sdk/distrib/es2015/src/sdk/DialogServiceConnector.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/classCallCheck.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/createClass.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/isNativeReflectConstruct.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/getPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/setPrototypeOf.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/abort-controller-es5/lib/esm/index.mjs","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/possibleConstructorReturn.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/assertThisInitialized.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/@babel/runtime-corejs3/helpers/esm/inherits.js","webpack://BotChat/../../BotFramework-WebChat/node_modules/base64-arraybuffer/dist/base64-arraybuffer.es5.js","webpack://BotChat/../../BotFramework-WebChat/packages/directlinespeech/dist/botframework-directlinespeech-sdk.mjs","webpack://BotChat/../../BotFramework-WebChat/packages/bundle/dist/chunk-7PVJBAOE.mjs","webpack://BotChat/./script/BotEvents.ts","webpack://BotChat/./adaptiveCardsHostConfig.js","webpack://BotChat/./script/BotCustom.tsx"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"react\"], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"BotChat\"] = factory(require(\"react\"));\n\telse\n\t\troot[\"BotChat\"] = factory(root[\"React\"]);\n})(self, (__WEBPACK_EXTERNAL_MODULE__15442__) => {\nreturn ","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LoginRequestResponse = exports.ErrorResponse = exports.SuccessResponse = exports.ActivityResponse = exports.ActivityRequestError = exports.ActivityRequestTrigger = void 0;\r\nvar ActivityRequestTrigger;\r\n(function (ActivityRequestTrigger) {\r\n ActivityRequestTrigger[\"Automatic\"] = \"automatic\";\r\n ActivityRequestTrigger[\"Manual\"] = \"manual\";\r\n})(ActivityRequestTrigger = exports.ActivityRequestTrigger || (exports.ActivityRequestTrigger = {}));\r\nvar ActivityRequestError = /** @class */ (function () {\r\n function ActivityRequestError(code, message) {\r\n this.code = code;\r\n this.message = message;\r\n }\r\n return ActivityRequestError;\r\n}());\r\nexports.ActivityRequestError = ActivityRequestError;\r\nvar ActivityResponse = /** @class */ (function () {\r\n function ActivityResponse(request) {\r\n this.request = request;\r\n }\r\n return ActivityResponse;\r\n}());\r\nexports.ActivityResponse = ActivityResponse;\r\nvar SuccessResponse = /** @class */ (function (_super) {\r\n __extends(SuccessResponse, _super);\r\n function SuccessResponse(request, rawContent) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.rawContent = rawContent;\r\n return _this;\r\n }\r\n return SuccessResponse;\r\n}(ActivityResponse));\r\nexports.SuccessResponse = SuccessResponse;\r\nvar ErrorResponse = /** @class */ (function (_super) {\r\n __extends(ErrorResponse, _super);\r\n function ErrorResponse(request, error) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorResponse;\r\n}(ActivityResponse));\r\nexports.ErrorResponse = ErrorResponse;\r\nvar LoginRequestResponse = /** @class */ (function (_super) {\r\n __extends(LoginRequestResponse, _super);\r\n function LoginRequestResponse(request, auth) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this._auth = auth;\r\n for (var _i = 0, _a = _this._auth.buttons; _i < _a.length; _i++) {\r\n var button = _a[_i];\r\n if (button.type === \"signin\" && button.value !== undefined) {\r\n try {\r\n new URL(button.value);\r\n _this.signinButton = button;\r\n break;\r\n }\r\n catch (e) {\r\n // Ignore parsing error\r\n }\r\n }\r\n }\r\n return _this;\r\n }\r\n Object.defineProperty(LoginRequestResponse.prototype, \"tokenExchangeResource\", {\r\n get: function () {\r\n return this._auth.tokenExchangeResource;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return LoginRequestResponse;\r\n}(ActivityResponse));\r\nexports.LoginRequestResponse = LoginRequestResponse;\r\n//# sourceMappingURL=activity-request.js.map","\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AdaptiveApplet = void 0;\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\nvar activity_request_1 = require(\"./activity-request\");\r\nvar strings_1 = require(\"./strings\");\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar serialization_1 = require(\"./serialization\");\r\nfunction logEvent(level, message) {\r\n var optionalParams = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n optionalParams[_i - 2] = arguments[_i];\r\n }\r\n if (shared_1.GlobalSettings.applets.logEnabled) {\r\n if (shared_1.GlobalSettings.applets.onLogEvent) {\r\n shared_1.GlobalSettings.applets.onLogEvent(level, message, optionalParams);\r\n }\r\n else {\r\n /* eslint-disable no-console */\r\n switch (level) {\r\n case Enums.LogLevel.Warning:\r\n console.warn(message, optionalParams);\r\n break;\r\n case Enums.LogLevel.Error:\r\n console.error(message, optionalParams);\r\n break;\r\n default:\r\n console.log(message, optionalParams);\r\n break;\r\n }\r\n /* eslint-enable no-console */\r\n }\r\n }\r\n}\r\nvar ActivityRequest = /** @class */ (function () {\r\n function ActivityRequest(action, trigger, consecutiveActions) {\r\n this.action = action;\r\n this.trigger = trigger;\r\n this.consecutiveActions = consecutiveActions;\r\n this.attemptNumber = 0;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/require-await\r\n ActivityRequest.prototype.retryAsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (this.onSend) {\r\n this.onSend(this);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n return ActivityRequest;\r\n}());\r\nvar AdaptiveApplet = /** @class */ (function () {\r\n function AdaptiveApplet() {\r\n this._allowAutomaticCardUpdate = false;\r\n this.renderedElement = document.createElement(\"div\");\r\n this.renderedElement.className = \"aaf-cardHost\";\r\n this.renderedElement.style.position = \"relative\";\r\n this.renderedElement.style.display = \"flex\";\r\n this.renderedElement.style.flexDirection = \"column\";\r\n this._cardHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement.className = \"aaf-refreshButtonHost\";\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this.renderedElement.appendChild(this._cardHostElement);\r\n this.renderedElement.appendChild(this._refreshButtonHostElement);\r\n }\r\n AdaptiveApplet.prototype.displayCard = function (card) {\r\n if (card.renderedElement) {\r\n Utils.clearElementChildren(this._cardHostElement);\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this._cardHostElement.appendChild(card.renderedElement);\r\n }\r\n else {\r\n throw new Error(\"displayCard: undefined card.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.showManualRefreshButton = function (refreshAction) {\r\n var _this = this;\r\n var displayBuiltInManualRefreshButton = this.onShowManualRefreshButton\r\n ? this.onShowManualRefreshButton(this)\r\n : true;\r\n if (displayBuiltInManualRefreshButton) {\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n var renderedRefreshButton = undefined;\r\n if (this.onRenderManualRefreshButton) {\r\n renderedRefreshButton = this.onRenderManualRefreshButton(this);\r\n }\r\n else {\r\n var message = strings_1.Strings.runtime.refreshThisCard();\r\n if (shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Automatic) {\r\n var autoRefreshPausedMessage = strings_1.Strings.runtime.automaticRefreshPaused();\r\n if (autoRefreshPausedMessage[autoRefreshPausedMessage.length - 1] !== \" \") {\r\n autoRefreshPausedMessage += \" \";\r\n }\r\n message = strings_1.Strings.runtime.clckToRestartAutomaticRefresh();\r\n }\r\n var cardPayload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.2\",\r\n body: [\r\n {\r\n type: \"RichTextBlock\",\r\n horizontalAlignment: \"right\",\r\n inlines: [\r\n {\r\n type: \"TextRun\",\r\n text: message,\r\n selectAction: {\r\n type: \"Action.Submit\",\r\n id: \"refreshCard\"\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(cardPayload, new card_elements_1.SerializationContext(serialization_1.Versions.v1_2));\r\n card.onExecuteAction = function (action) {\r\n if (action.id === \"refreshCard\") {\r\n Utils.clearElementChildren(_this._refreshButtonHostElement);\r\n _this.internalExecuteAction(refreshAction, activity_request_1.ActivityRequestTrigger.Automatic, 0);\r\n }\r\n };\r\n renderedRefreshButton = card.render();\r\n }\r\n if (renderedRefreshButton) {\r\n Utils.clearElementChildren(this._refreshButtonHostElement);\r\n this._refreshButtonHostElement.appendChild(renderedRefreshButton);\r\n this._refreshButtonHostElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.createActivityRequest = function (action, trigger, consecutiveActions) {\r\n var _this = this;\r\n if (this.card) {\r\n var request_1 = new ActivityRequest(action, trigger, consecutiveActions);\r\n request_1.onSend = function (sender) {\r\n sender.attemptNumber++;\r\n void _this.internalSendActivityRequestAsync(request_1);\r\n };\r\n var cancel = this.onPrepareActivityRequest\r\n ? !this.onPrepareActivityRequest(this, request_1, action)\r\n : false;\r\n return cancel ? undefined : request_1;\r\n }\r\n else {\r\n throw new Error(\"createActivityRequest: no card has been set.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.createMagicCodeInputCard = function (attemptNumber) {\r\n var payload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.0\",\r\n body: [\r\n {\r\n type: \"TextBlock\",\r\n color: \"attention\",\r\n text: attemptNumber === 1 ? undefined : \"That didn't work... let's try again.\",\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"TextBlock\",\r\n text: 'Please login in the popup. You will obtain a magic code. Paste that code below and select \"Submit\"',\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"Input.Text\",\r\n id: \"magicCode\",\r\n placeholder: \"Enter magic code\"\r\n },\r\n {\r\n type: \"ActionSet\",\r\n horizontalAlignment: \"center\",\r\n actions: [\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet._submitMagicCodeActionId,\r\n title: \"Submit\"\r\n },\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet._cancelMagicCodeAuthActionId,\r\n title: \"Cancel\"\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(payload);\r\n return card;\r\n };\r\n AdaptiveApplet.prototype.cancelAutomaticRefresh = function () {\r\n if (this._allowAutomaticCardUpdate) {\r\n logEvent(Enums.LogLevel.Warning, \"Automatic card refresh has been cancelled as a result of the user interacting with the card.\");\r\n }\r\n this._allowAutomaticCardUpdate = false;\r\n };\r\n AdaptiveApplet.prototype.createSerializationContext = function () {\r\n return this.onCreateSerializationContext\r\n ? this.onCreateSerializationContext(this)\r\n : new card_elements_1.SerializationContext();\r\n };\r\n AdaptiveApplet.prototype.internalSetCard = function (payload, consecutiveActions) {\r\n var _this = this;\r\n if (typeof payload === \"object\" && payload[\"type\"] === \"AdaptiveCard\") {\r\n this._cardPayload = payload;\r\n }\r\n if (this._cardPayload) {\r\n try {\r\n var card = new card_elements_1.AdaptiveCard();\r\n if (this.hostConfig) {\r\n card.hostConfig = this.hostConfig;\r\n }\r\n var serializationContext = this.createSerializationContext();\r\n card.parse(this._cardPayload, serializationContext);\r\n var doChangeCard = this.onCardChanging\r\n ? this.onCardChanging(this, this._cardPayload)\r\n : true;\r\n if (doChangeCard) {\r\n this._card = card;\r\n if (this._card.authentication &&\r\n this._card.authentication.tokenExchangeResource &&\r\n this.onPrefetchSSOToken) {\r\n this.onPrefetchSSOToken(this, this._card.authentication.tokenExchangeResource);\r\n }\r\n this._card.onExecuteAction = function (action) {\r\n // If the user takes an action, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n _this.internalExecuteAction(action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n };\r\n this._card.onInputValueChanged = function (input) {\r\n var _a, _b, _c;\r\n // If the user modifies an input, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n if (input instanceof card_elements_1.ChoiceSetInput && input.isDynamicTypeahead()) {\r\n var filter = input.getFilterForDynamicSearch();\r\n if (filter) {\r\n var dataQueryAction = new card_elements_1.DataQuery();\r\n dataQueryAction.filter = filter;\r\n dataQueryAction.dataset = ((_a = input.choicesData) === null || _a === void 0 ? void 0 : _a.dataset) || \"\";\r\n dataQueryAction.count = (_b = input.choicesData) === null || _b === void 0 ? void 0 : _b.count;\r\n dataQueryAction.skip = (_c = input.choicesData) === null || _c === void 0 ? void 0 : _c.skip;\r\n _this._choiceSet = input;\r\n _this.internalExecuteAction(dataQueryAction, activity_request_1.ActivityRequestTrigger.Manual, 0 // consecutiveActions\r\n );\r\n }\r\n }\r\n };\r\n this._card.render();\r\n if (this._card.renderedElement) {\r\n this.displayCard(this._card);\r\n if (this.onCardChanged) {\r\n this.onCardChanged(this);\r\n }\r\n if (this._card.refresh) {\r\n if (shared_1.GlobalSettings.applets.refresh.mode ===\r\n Enums.RefreshMode.Automatic &&\r\n consecutiveActions <\r\n shared_1.GlobalSettings.applets.refresh\r\n .maximumConsecutiveAutomaticRefreshes) {\r\n if (shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes <=\r\n 0) {\r\n logEvent(Enums.LogLevel.Info, \"Triggering automatic card refresh number \" +\r\n (consecutiveActions + 1));\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveActions + 1);\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Scheduling automatic card refresh number \" +\r\n (consecutiveActions + 1) +\r\n \" in \" +\r\n shared_1.GlobalSettings.applets.refresh\r\n .timeBetweenAutomaticRefreshes +\r\n \"ms\");\r\n var action_1 = this._card.refresh.action;\r\n this._allowAutomaticCardUpdate = true;\r\n window.setTimeout(function () {\r\n if (_this._allowAutomaticCardUpdate) {\r\n _this.internalExecuteAction(action_1, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveActions + 1);\r\n }\r\n }, shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes);\r\n }\r\n }\r\n else if (shared_1.GlobalSettings.applets.refresh.mode !== Enums.RefreshMode.Disabled) {\r\n if (consecutiveActions > 0) {\r\n logEvent(Enums.LogLevel.Warning, \"Stopping automatic refreshes after \" +\r\n consecutiveActions +\r\n \" consecutive refreshes.\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Warning, \"The card has a refresh section, but automatic refreshes are disabled.\");\r\n }\r\n if (shared_1.GlobalSettings.applets.refresh\r\n .allowManualRefreshesAfterAutomaticRefreshes ||\r\n shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Manual) {\r\n logEvent(Enums.LogLevel.Info, \"Showing manual refresh button.\");\r\n this.showManualRefreshButton(this._card.refresh.action);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch (error) {\r\n // Ignore all errors\r\n logEvent(Enums.LogLevel.Error, \"setCard: \" + error);\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalExecuteAction = function (action, trigger, consecutiveActions) {\r\n if (action instanceof card_elements_1.UniversalAction) {\r\n if (this.channelAdapter) {\r\n var request = this.createActivityRequest(action, trigger, consecutiveActions);\r\n if (request) {\r\n void request.retryAsync();\r\n }\r\n }\r\n else {\r\n throw new Error(\"internalExecuteAction: No channel adapter set.\");\r\n }\r\n }\r\n if (this.onAction) {\r\n this.onAction(this, action);\r\n }\r\n };\r\n AdaptiveApplet.prototype.createProgressOverlay = function (request) {\r\n if (!this._progressOverlay) {\r\n if (this.onCreateProgressOverlay) {\r\n this._progressOverlay = this.onCreateProgressOverlay(this, request);\r\n }\r\n else {\r\n this._progressOverlay = document.createElement(\"div\");\r\n this._progressOverlay.className = \"aaf-progress-overlay\";\r\n var spinner = document.createElement(\"div\");\r\n spinner.className = \"aaf-spinner\";\r\n spinner.style.width = \"28px\";\r\n spinner.style.height = \"28px\";\r\n this._progressOverlay.appendChild(spinner);\r\n }\r\n }\r\n return this._progressOverlay;\r\n };\r\n AdaptiveApplet.prototype.removeProgressOverlay = function (request) {\r\n if (this.onRemoveProgressOverlay) {\r\n this.onRemoveProgressOverlay(this, request);\r\n }\r\n if (this._progressOverlay !== undefined) {\r\n this.renderedElement.removeChild(this._progressOverlay);\r\n this._progressOverlay = undefined;\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestSucceeded = function (response, parsedContent) {\r\n if (this.onActivityRequestSucceeded) {\r\n this.onActivityRequestSucceeded(this, response, parsedContent);\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestFailed = function (response) {\r\n return this.onActivityRequestFailed\r\n ? this.onActivityRequestFailed(this, response)\r\n : shared_1.GlobalSettings.applets.defaultTimeBetweenRetryAttempts;\r\n };\r\n AdaptiveApplet.prototype.showAuthCodeInputDialog = function (request) {\r\n var _this = this;\r\n var showBuiltInAuthCodeInputCard = this.onShowAuthCodeInputDialog\r\n ? this.onShowAuthCodeInputDialog(this, request)\r\n : true;\r\n if (showBuiltInAuthCodeInputCard) {\r\n var authCodeInputCard = this.createMagicCodeInputCard(request.attemptNumber);\r\n authCodeInputCard.render();\r\n authCodeInputCard.onExecuteAction = function (submitMagicCodeAction) {\r\n if (_this.card && submitMagicCodeAction instanceof card_elements_1.SubmitAction) {\r\n switch (submitMagicCodeAction.id) {\r\n case AdaptiveApplet._submitMagicCodeActionId:\r\n var authCode = undefined;\r\n if (submitMagicCodeAction.data &&\r\n typeof submitMagicCodeAction.data[\"magicCode\"] === \"string\") {\r\n authCode = submitMagicCodeAction.data[\"magicCode\"];\r\n }\r\n if (authCode) {\r\n _this.displayCard(_this.card);\r\n request.authCode = authCode;\r\n void request.retryAsync();\r\n }\r\n else {\r\n alert(\"Please enter the magic code you received.\");\r\n }\r\n break;\r\n case AdaptiveApplet._cancelMagicCodeAuthActionId:\r\n logEvent(Enums.LogLevel.Warning, \"Authentication cancelled by user.\");\r\n _this.displayCard(_this.card);\r\n break;\r\n default:\r\n logEvent(Enums.LogLevel.Error, \"Unexpected action taken from magic code input card (id = \" +\r\n submitMagicCodeAction.id +\r\n \")\");\r\n alert(strings_1.Strings.magicCodeInputCard.somethingWentWrong());\r\n break;\r\n }\r\n }\r\n };\r\n this.displayCard(authCodeInputCard);\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalSendActivityRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var action;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendActivityRequestAsync: channelAdapter is not set.\");\r\n }\r\n action = request.action;\r\n if (!(action instanceof card_elements_1.ExecuteAction)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.internalSendExecuteRequestAsync(request)];\r\n case 1:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 2:\r\n if (!(action instanceof card_elements_1.DataQuery)) return [3 /*break*/, 4];\r\n return [4 /*yield*/, this.internalSendDataQueryRequestAsync(request)];\r\n case 3:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 4: throw new Error(\"internalSendActivityRequestAsync: Unhandled Action Type\");\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.internalSendExecuteRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var overlay, done, _loop_1, this_1, state_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendExecuteRequestAsync: channelAdapter is not set.\");\r\n }\r\n overlay = this.createProgressOverlay(request);\r\n if (overlay !== undefined) {\r\n this.renderedElement.appendChild(overlay);\r\n }\r\n done = false;\r\n _loop_1 = function () {\r\n var response, error_1, parsedContent, retryIn_1, attemptOAuth, left, top_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n response = undefined;\r\n if (request.attemptNumber === 1) {\r\n logEvent(Enums.LogLevel.Info, \"Sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Re-sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this_1.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _b.sent();\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_1);\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (!response) return [3 /*break*/, 10];\r\n if (!(response instanceof activity_request_1.SuccessResponse)) return [3 /*break*/, 5];\r\n this_1.removeProgressOverlay(request);\r\n if (response.rawContent === undefined) {\r\n throw new Error(\"internalSendExecuteRequestAsync: Action.Execute result is undefined\");\r\n }\r\n parsedContent = response.rawContent;\r\n try {\r\n parsedContent = JSON.parse(response.rawContent);\r\n }\r\n catch (_c) {\r\n // Leave parseContent as is\r\n }\r\n if (typeof parsedContent === \"string\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a string after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.activityRequestSucceeded(response, parsedContent);\r\n }\r\n else if (typeof parsedContent === \"object\" &&\r\n parsedContent[\"type\"] === \"AdaptiveCard\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned an Adaptive Card after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.internalSetCard(parsedContent, request.consecutiveActions);\r\n this_1.activityRequestSucceeded(response, this_1.card);\r\n }\r\n else {\r\n throw new Error(\"internalSendExecuteRequestAsync: Action.Execute result is of unsupported type (\" +\r\n typeof response.rawContent +\r\n \")\");\r\n }\r\n done = true;\r\n return [3 /*break*/, 10];\r\n case 5:\r\n if (!(response instanceof activity_request_1.ErrorResponse)) return [3 /*break*/, 9];\r\n retryIn_1 = this_1.activityRequestFailed(response);\r\n if (!(retryIn_1 >= 0 &&\r\n request.attemptNumber < shared_1.GlobalSettings.applets.maximumRetryAttempts)) return [3 /*break*/, 7];\r\n logEvent(Enums.LogLevel.Warning, \"Activity request failed: \".concat(response.error.message, \". Retrying in \").concat(retryIn_1, \"ms\"));\r\n request.attemptNumber++;\r\n return [4 /*yield*/, new Promise(function (resolve, _reject) {\r\n window.setTimeout(function () {\r\n resolve();\r\n }, retryIn_1);\r\n })];\r\n case 6:\r\n _b.sent();\r\n return [3 /*break*/, 8];\r\n case 7:\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \".concat(response.error.message, \". Giving up after \").concat(request.attemptNumber, \" attempt(s)\"));\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n _b.label = 8;\r\n case 8: return [3 /*break*/, 10];\r\n case 9:\r\n if (response instanceof activity_request_1.LoginRequestResponse) {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a LoginRequestResponse after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n if (request.attemptNumber <= shared_1.GlobalSettings.applets.maximumRetryAttempts) {\r\n attemptOAuth = true;\r\n if (response.tokenExchangeResource && this_1.onSSOTokenNeeded) {\r\n // Attempt to use SSO. The host will return true if it can handle SSO, in which case\r\n // we bypass OAuth\r\n attemptOAuth = !this_1.onSSOTokenNeeded(this_1, request, response.tokenExchangeResource);\r\n }\r\n if (attemptOAuth) {\r\n // Attempt to use OAuth\r\n this_1.removeProgressOverlay(request);\r\n if (response.signinButton === undefined) {\r\n throw new Error(\"internalSendExecuteRequestAsync: the login request doesn't contain a valid signin URL.\");\r\n }\r\n logEvent(Enums.LogLevel.Info, \"Login required at \" + response.signinButton.value);\r\n if (this_1.onShowSigninPrompt) {\r\n // Bypass the built-in auth prompt if the host app handles it\r\n this_1.onShowSigninPrompt(this_1, request, response.signinButton);\r\n }\r\n else {\r\n this_1.showAuthCodeInputDialog(request);\r\n left = window.screenX +\r\n (window.outerWidth - shared_1.GlobalSettings.applets.authPromptWidth) /\r\n 2;\r\n top_1 = window.screenY +\r\n (window.outerHeight - shared_1.GlobalSettings.applets.authPromptHeight) /\r\n 2;\r\n window.open(response.signinButton.value, response.signinButton.title\r\n ? response.signinButton.title\r\n : \"Sign in\", \"width=\".concat(shared_1.GlobalSettings.applets.authPromptWidth, \",height=\").concat(shared_1.GlobalSettings.applets.authPromptHeight, \",left=\").concat(left, \",top=\").concat(top_1));\r\n }\r\n }\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Error, \"Authentication failed. Giving up after \" +\r\n request.attemptNumber +\r\n \" attempt(s)\");\r\n alert(strings_1.Strings.magicCodeInputCard.authenticationFailed());\r\n }\r\n return [2 /*return*/, \"break\"];\r\n }\r\n else {\r\n throw new Error(\"Unhandled response type: \" + JSON.stringify(response));\r\n }\r\n _b.label = 10;\r\n case 10: return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 1;\r\n case 1:\r\n if (!!done) return [3 /*break*/, 3];\r\n return [5 /*yield**/, _loop_1()];\r\n case 2:\r\n state_1 = _a.sent();\r\n if (state_1 === \"break\")\r\n return [3 /*break*/, 3];\r\n return [3 /*break*/, 1];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.internalSendDataQueryRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var filter, response, error_2, rawResponse, parsedResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendDataQueryRequestAsync: channel adapter not set\");\r\n }\r\n filter = request.action.filter;\r\n if (!this._choiceSet) return [3 /*break*/, 5];\r\n this._choiceSet.showLoadingIndicator();\r\n response = undefined;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_2 = _a.sent();\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_2);\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (response) {\r\n if (response instanceof activity_request_1.SuccessResponse) {\r\n rawResponse = response.rawContent;\r\n if (rawResponse) {\r\n parsedResponse = void 0;\r\n try {\r\n parsedResponse = JSON.parse(rawResponse);\r\n }\r\n catch (error) {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Cannot parse response object: \" +\r\n rawResponse);\r\n }\r\n if (typeof parsedResponse === \"object\") {\r\n this._choiceSet.renderChoices(filter, parsedResponse);\r\n this.activityRequestSucceeded(response, rawResponse);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Error loading results\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is of unsupported type (\" +\r\n typeof rawResponse +\r\n \")\");\r\n }\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is undefined\");\r\n }\r\n }\r\n else if (response instanceof activity_request_1.ErrorResponse) {\r\n this._choiceSet.showErrorIndicator(filter, response.error.message || \"Error loading results\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \".concat(response.error.message, \".\"));\r\n this.activityRequestFailed(response);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"Unhandled response type: \" + JSON.stringify(response));\r\n }\r\n }\r\n else {\r\n this._choiceSet.removeLoadingIndicator();\r\n }\r\n _a.label = 5;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.refreshCard = function () {\r\n if (this._card && this._card.refresh) {\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n }\r\n };\r\n AdaptiveApplet.prototype.setCard = function (payload) {\r\n this.internalSetCard(payload, 0);\r\n };\r\n Object.defineProperty(AdaptiveApplet.prototype, \"card\", {\r\n get: function () {\r\n return this._card;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveApplet._submitMagicCodeActionId = \"submitMagicCode\";\r\n AdaptiveApplet._cancelMagicCodeAuthActionId = \"cancelMagicCodeAuth\";\r\n return AdaptiveApplet;\r\n}());\r\nexports.AdaptiveApplet = AdaptiveApplet;\r\n//# sourceMappingURL=adaptive-applet.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n__exportStar(require(\"./strings\"), exports);\r\n__exportStar(require(\"./enums\"), exports);\r\n__exportStar(require(\"./shared\"), exports);\r\n__exportStar(require(\"./utils\"), exports);\r\n__exportStar(require(\"./serialization\"), exports);\r\n__exportStar(require(\"./host-capabilities\"), exports);\r\n__exportStar(require(\"./host-config\"), exports);\r\n__exportStar(require(\"./registry\"), exports);\r\n__exportStar(require(\"./card-object\"), exports);\r\n__exportStar(require(\"./card-elements\"), exports);\r\n__exportStar(require(\"./carousel\"), exports);\r\n__exportStar(require(\"./table\"), exports);\r\n__exportStar(require(\"./channel-adapter\"), exports);\r\n__exportStar(require(\"./activity-request\"), exports);\r\n__exportStar(require(\"./adaptive-applet\"), exports);\r\n//# sourceMappingURL=adaptivecards.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BackgroundImage = exports.ContainerBase = exports.StylableCardElementContainer = exports.ContainerStyleProperty = exports.ActionSet = exports.ShowCardAction = exports.HttpAction = exports.HttpHeader = exports.ToggleVisibilityAction = exports.OpenUrlAction = exports.DataQuery = exports.ExecuteAction = exports.UniversalAction = exports.SubmitAction = exports.SubmitActionBase = exports.Action = exports.TimeInput = exports.TimeProperty = exports.DateInput = exports.NumberInput = exports.FilteredChoiceSet = exports.ChoiceSetInput = exports.ChoiceSetInputDataQuery = exports.Choice = exports.ToggleInput = exports.TextInput = exports.Input = exports.Media = exports.YouTubePlayer = exports.DailymotionPlayer = exports.VimeoPlayer = exports.IFrameMediaMediaPlayer = exports.CustomMediaPlayer = exports.HTML5MediaPlayer = exports.MediaPlayer = exports.MediaSource = exports.CaptionSource = exports.ContentSource = exports.ImageSet = exports.CardElementContainer = exports.Image = exports.FactSet = exports.Fact = exports.RichTextBlock = exports.TextRun = exports.TextBlock = exports.BaseTextBlock = exports.ActionProperty = exports.CardElement = exports.renderSeparation = void 0;\r\nexports.SerializationContext = exports.AdaptiveCard = exports.Authentication = exports.TokenExchangeResource = exports.AuthCardButton = exports.RefreshDefinition = exports.RefreshActionProperty = exports.ContainerWithActions = exports.ColumnSet = exports.Column = exports.Container = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar host_config_1 = require(\"./host-config\");\r\nvar TextFormatters = require(\"./text-formatters\");\r\nvar card_object_1 = require(\"./card-object\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar strings_1 = require(\"./strings\");\r\nvar controls_1 = require(\"./controls\");\r\nfunction clearElement(element) {\r\n var _a, _b;\r\n var trustedHtml = (typeof window === 'undefined') ? \"\" : ((_b = (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.emptyHTML) !== null && _b !== void 0 ? _b : \"\");\r\n element.innerHTML = trustedHtml;\r\n}\r\nfunction renderSeparation(hostConfig, separationDefinition, orientation) {\r\n if (separationDefinition.spacing > 0 ||\r\n (separationDefinition.lineThickness && separationDefinition.lineThickness > 0)) {\r\n var separator = document.createElement(\"div\");\r\n separator.className = hostConfig.makeCssClassName(\"ac-\" +\r\n (orientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\") +\r\n \"-separator\");\r\n separator.setAttribute(\"aria-hidden\", \"true\");\r\n var color = separationDefinition.lineColor\r\n ? Utils.stringToCssColor(separationDefinition.lineColor)\r\n : \"\";\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingTop = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.marginBottom = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.borderBottom =\r\n separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.height = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n else {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingLeft = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.marginRight = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.borderRight =\r\n separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.width = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n separator.style.overflow = \"hidden\";\r\n separator.style.flex = \"0 0 auto\";\r\n return separator;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nexports.renderSeparation = renderSeparation;\r\nvar CardElement = /** @class */ (function (_super) {\r\n __extends(CardElement, _super);\r\n function CardElement() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._truncatedDueToOverflow = false;\r\n return _this;\r\n }\r\n Object.defineProperty(CardElement.prototype, \"lang\", {\r\n get: function () {\r\n var lang = this.getValue(CardElement.langProperty);\r\n if (lang) {\r\n return lang;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.lang;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this.setValue(CardElement.langProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isVisible\", {\r\n get: function () {\r\n return this.getValue(CardElement.isVisibleProperty);\r\n },\r\n set: function (value) {\r\n // If the element is going to be hidden, reset any changes that were due\r\n // to overflow truncation (this ensures that if the element is later\r\n // un-hidden it has the right content)\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && !value) {\r\n this.undoOverflowTruncation();\r\n }\r\n if (this.isVisible !== value) {\r\n this.setValue(CardElement.isVisibleProperty, value);\r\n this.updateRenderedElementVisibility();\r\n if (this._renderedElement) {\r\n raiseElementVisibilityChangedEvent(this);\r\n }\r\n }\r\n if (this._renderedElement) {\r\n this._renderedElement.setAttribute(\"aria-expanded\", value.toString());\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.internalRenderSeparator = function () {\r\n var renderedSeparator = renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.spacing),\r\n lineThickness: this.separator ? this.hostConfig.separator.lineThickness : undefined,\r\n lineColor: this.separator ? this.hostConfig.separator.lineColor : undefined\r\n }, this.separatorOrientation);\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators &&\r\n renderedSeparator &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n // Adjust separator's margins if the option to always bleed separators is turned on\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer && parentContainer.getEffectivePadding()) {\r\n var parentPhysicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(parentContainer.getEffectivePadding());\r\n renderedSeparator.style.marginLeft = \"-\" + parentPhysicalPadding.left + \"px\";\r\n renderedSeparator.style.marginRight = \"-\" + parentPhysicalPadding.right + \"px\";\r\n }\r\n }\r\n return renderedSeparator;\r\n };\r\n CardElement.prototype.updateRenderedElementVisibility = function () {\r\n var displayMode = this.isDesignMode() || this.isVisible\r\n ? this._defaultRenderedElementDisplayMode\r\n : \"none\";\r\n if (this._renderedElement) {\r\n if (displayMode) {\r\n this._renderedElement.style.display = displayMode;\r\n }\r\n else {\r\n this._renderedElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n if (this._separatorElement) {\r\n if (this.parent && this.parent.isFirstElement(this)) {\r\n this._separatorElement.style.display = \"none\";\r\n }\r\n else {\r\n if (displayMode) {\r\n this._separatorElement.style.display = displayMode;\r\n }\r\n else {\r\n this._separatorElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n }\r\n };\r\n CardElement.prototype.hideElementDueToOverflow = function () {\r\n if (this._renderedElement && this.isVisible) {\r\n this._renderedElement.style.visibility = \"hidden\";\r\n this.isVisible = false;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n CardElement.prototype.showElementHiddenDueToOverflow = function () {\r\n if (this._renderedElement && !this.isVisible) {\r\n this._renderedElement.style.removeProperty(\"visibility\");\r\n this.isVisible = true;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.handleOverflow = function (maxHeight) {\r\n if (this.isVisible || this.isHiddenDueToOverflow()) {\r\n var handled = this.truncateOverflow(maxHeight);\r\n // Even if we were unable to truncate the element to fit this time,\r\n // it still could have been previously truncated\r\n this._truncatedDueToOverflow = handled || this._truncatedDueToOverflow;\r\n if (!handled) {\r\n this.hideElementDueToOverflow();\r\n }\r\n else if (handled && !this.isVisible) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.resetOverflow = function () {\r\n var sizeChanged = false;\r\n if (this._truncatedDueToOverflow) {\r\n this.undoOverflowTruncation();\r\n this._truncatedDueToOverflow = false;\r\n sizeChanged = true;\r\n }\r\n if (this.isHiddenDueToOverflow()) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n return sizeChanged;\r\n };\r\n CardElement.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n CardElement.prototype.createPlaceholderElement = function () {\r\n var styleDefinition = this.getEffectiveStyleDefinition();\r\n var foregroundCssColor = Utils.stringToCssColor(styleDefinition.foregroundColors.default.subtle);\r\n var element = document.createElement(\"div\");\r\n element.style.border = \"1px dashed \" + foregroundCssColor;\r\n element.style.padding = \"4px\";\r\n element.style.minHeight = \"32px\";\r\n element.style.fontSize = \"10px\";\r\n if (foregroundCssColor) {\r\n element.style.color = foregroundCssColor;\r\n }\r\n element.innerText = strings_1.Strings.defaults.emptyElementText(this.getJsonTypeName());\r\n return element;\r\n };\r\n CardElement.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n if (this.height === \"auto\") {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n }\r\n else {\r\n renderedElement.style.flex = \"1 1 auto\";\r\n }\r\n };\r\n /*\r\n * Called when mouse enters or leaves the card.\r\n * Inputs elements need to update their visual state in such events like showing or hiding borders etc.\r\n * It calls Input.updateVisualState(eventType) for all inputs.\r\n * This method on input (updateVisualState) is supposed to be called from card level on mouse events.\r\n */\r\n CardElement.prototype.updateInputsVisualState = function (hover) {\r\n var allInputs = this.getAllInputs();\r\n var inputEventType = !!hover ? InputEventType.MouseEnterOnCard : InputEventType.MouseLeaveOnCard;\r\n allInputs.forEach(function (input) { return input.updateVisualState(inputEventType); });\r\n };\r\n CardElement.prototype.isDisplayed = function () {\r\n return (this._renderedElement !== undefined &&\r\n this.isVisible &&\r\n this._renderedElement.offsetHeight > 0);\r\n };\r\n CardElement.prototype.overrideInternalRender = function () {\r\n return this.internalRender();\r\n };\r\n CardElement.prototype.applyPadding = function () {\r\n if (this.separatorElement && this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators && !this.isBleeding()) {\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.separatorElement.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n }\r\n else {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n /*\r\n * Called when this element overflows the bottom of the card.\r\n * maxHeight will be the amount of space still available on the card (0 if\r\n * the element is fully off the card).\r\n */\r\n CardElement.prototype.truncateOverflow = function (_maxHeight) {\r\n // Child implementations should return true if the element handled\r\n // the truncation request such that its content fits within maxHeight,\r\n // false if the element should fall back to being hidden\r\n return false;\r\n };\r\n /*\r\n * This should reverse any changes performed in truncateOverflow().\r\n */\r\n CardElement.prototype.undoOverflowTruncation = function () {\r\n return;\r\n };\r\n CardElement.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition();\r\n };\r\n CardElement.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n return false;\r\n };\r\n CardElement.prototype.getHasBorder = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getPadding = function () {\r\n return this._padding;\r\n };\r\n CardElement.prototype.setPadding = function (value) {\r\n this._padding = value;\r\n };\r\n CardElement.prototype.shouldSerialize = function (context) {\r\n return context.elementRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Horizontal;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"defaultStyle\", {\r\n get: function () {\r\n return Enums.ContainerStyle.Default;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.parse = function (source, context) {\r\n _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n CardElement.prototype.asString = function () {\r\n return \"\";\r\n };\r\n CardElement.prototype.isBleeding = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getEffectiveStyle = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveStyle();\r\n }\r\n return this.defaultStyle;\r\n };\r\n CardElement.prototype.getEffectiveStyleDefinition = function () {\r\n return this.hostConfig.containerStyles.getStyleByName(this.getEffectiveStyle());\r\n };\r\n CardElement.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveTextStyleDefinition();\r\n }\r\n return this.hostConfig.textStyles.default;\r\n };\r\n CardElement.prototype.getForbiddenActionTypes = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getImmediateSurroundingPadding = function (result, processTop, processRight, processBottom, processLeft) {\r\n if (processTop === void 0) { processTop = true; }\r\n if (processRight === void 0) { processRight = true; }\r\n if (processBottom === void 0) { processBottom = true; }\r\n if (processLeft === void 0) { processLeft = true; }\r\n if (this.parent) {\r\n var doProcessTop = processTop && this.parent.isTopElement(this);\r\n var doProcessRight = processRight && this.parent.isRightMostElement(this);\r\n var doProcessBottom = processBottom && this.parent.isBottomElement(this);\r\n var doProcessLeft = processLeft && this.parent.isLeftMostElement(this);\r\n var effectivePadding = this.parent.getEffectivePadding();\r\n if (effectivePadding) {\r\n if (doProcessTop && effectivePadding.top !== Enums.Spacing.None) {\r\n result.top = effectivePadding.top;\r\n doProcessTop = false;\r\n }\r\n if (doProcessRight && effectivePadding.right !== Enums.Spacing.None) {\r\n result.right = effectivePadding.right;\r\n doProcessRight = false;\r\n }\r\n if (doProcessBottom && effectivePadding.bottom !== Enums.Spacing.None) {\r\n result.bottom = effectivePadding.bottom;\r\n doProcessBottom = false;\r\n }\r\n if (doProcessLeft && effectivePadding.left !== Enums.Spacing.None) {\r\n result.left = effectivePadding.left;\r\n doProcessLeft = false;\r\n }\r\n }\r\n if (doProcessTop || doProcessRight || doProcessBottom || doProcessLeft) {\r\n this.parent.getImmediateSurroundingPadding(result, doProcessTop, doProcessRight, doProcessBottom, doProcessLeft);\r\n }\r\n }\r\n };\r\n CardElement.prototype.getActionCount = function () {\r\n return 0;\r\n };\r\n CardElement.prototype.getActionAt = function (index) {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n };\r\n CardElement.prototype.indexOfAction = function (action) {\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n if (this.getActionAt(i) === action) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n CardElement.prototype.remove = function () {\r\n if (this.parent && this.parent instanceof CardElementContainer) {\r\n return this.parent.removeItem(this);\r\n }\r\n return false;\r\n };\r\n CardElement.prototype.render = function () {\r\n this._renderedElement = this.overrideInternalRender();\r\n this._separatorElement = this.internalRenderSeparator();\r\n if (this._renderedElement) {\r\n if (this.id) {\r\n this._renderedElement.id = this.id;\r\n }\r\n if (this.customCssSelector) {\r\n this._renderedElement.classList.add(this.customCssSelector);\r\n }\r\n this._renderedElement.style.boxSizing = \"border-box\";\r\n this._defaultRenderedElementDisplayMode = this._renderedElement.style.display\r\n ? this._renderedElement.style.display\r\n : undefined;\r\n this.adjustRenderedElementSize(this._renderedElement);\r\n this.updateLayout(false);\r\n }\r\n else if (this.isDesignMode()) {\r\n this._renderedElement = this.createPlaceholderElement();\r\n }\r\n return this._renderedElement;\r\n };\r\n CardElement.prototype.updateLayout = function (_processChildren) {\r\n if (_processChildren === void 0) { _processChildren = true; }\r\n this.updateRenderedElementVisibility();\r\n this.applyPadding();\r\n };\r\n CardElement.prototype.updateActionsEnabledState = function () {\r\n var allActions = this.getRootElement().getAllActions();\r\n for (var _i = 0, allActions_1 = allActions; _i < allActions_1.length; _i++) {\r\n var action = allActions_1[_i];\r\n action.updateEnabledState();\r\n }\r\n };\r\n CardElement.prototype.indexOf = function (_cardElement) {\r\n return -1;\r\n };\r\n CardElement.prototype.isDesignMode = function () {\r\n var rootElement = this.getRootElement();\r\n return rootElement instanceof AdaptiveCard && rootElement.designMode;\r\n };\r\n CardElement.prototype.isFirstElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isLastElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isAtTheVeryLeft = function () {\r\n return this.parent\r\n ? this.parent.isLeftMostElement(this) && this.parent.isAtTheVeryLeft()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryRight = function () {\r\n return this.parent\r\n ? this.parent.isRightMostElement(this) && this.parent.isAtTheVeryRight()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryTop = function () {\r\n return this.parent\r\n ? this.parent.isFirstElement(this) && this.parent.isAtTheVeryTop()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryBottom = function () {\r\n return this.parent\r\n ? this.parent.isLastElement(this) && this.parent.isAtTheVeryBottom()\r\n : true;\r\n };\r\n CardElement.prototype.isBleedingAtTop = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isBleedingAtBottom = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isLeftMostElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isRightMostElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isTopElement = function (element) {\r\n return this.isFirstElement(element);\r\n };\r\n CardElement.prototype.isBottomElement = function (element) {\r\n return this.isLastElement(element);\r\n };\r\n CardElement.prototype.isHiddenDueToOverflow = function () {\r\n return (this._renderedElement !== undefined &&\r\n this._renderedElement.style.visibility === \"hidden\");\r\n };\r\n CardElement.prototype.getRootElement = function () {\r\n return this.getRootObject();\r\n };\r\n CardElement.prototype.getParentContainer = function () {\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n if (currentElement instanceof Container) {\r\n return currentElement;\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return undefined;\r\n };\r\n CardElement.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n CardElement.prototype.getAllActions = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\r\n };\r\n CardElement.prototype.getResourceInformation = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getElementById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n CardElement.prototype.getActionById = function (_id) {\r\n return undefined;\r\n };\r\n CardElement.prototype.getElementByIdFromAction = function (id) {\r\n var result = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action instanceof ShowCardAction) {\r\n result = action.card.getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n CardElement.prototype.getEffectivePadding = function () {\r\n var padding = this.getPadding();\r\n return padding ? padding : this.getDefaultPadding();\r\n };\r\n CardElement.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parent) {\r\n return this.parent.getEffectiveHorizontalAlignment();\r\n }\r\n return Enums.HorizontalAlignment.Left;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"hostConfig\", {\r\n get: function () {\r\n if (this._hostConfig) {\r\n return this._hostConfig;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.hostConfig;\r\n }\r\n else {\r\n return host_config_1.defaultHostConfig;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"index\", {\r\n get: function () {\r\n if (this.parent) {\r\n return this.parent.indexOf(this);\r\n }\r\n else {\r\n return 0;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInteractive\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isStandalone\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInline\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.separatorElement) {\r\n return !this.parent.isFirstElement(this) && (this.isVisible || this.isDesignMode());\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorElement\", {\r\n get: function () {\r\n return this._separatorElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.langProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"lang\", true, /^[a-z]{2,3}$/gi);\r\n CardElement.isVisibleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"isVisible\", true);\r\n CardElement.separatorProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"separator\", false);\r\n CardElement.heightProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_1, \"height\", [{ value: \"auto\" }, { value: \"stretch\" }], \"auto\");\r\n CardElement.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"horizontalAlignment\", Enums.HorizontalAlignment);\r\n CardElement.spacingProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"spacing\", Enums.Spacing, Enums.Spacing.Default);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.horizontalAlignmentProperty)\r\n ], CardElement.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.spacingProperty)\r\n ], CardElement.prototype, \"spacing\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.separatorProperty)\r\n ], CardElement.prototype, \"separator\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.heightProperty)\r\n ], CardElement.prototype, \"height\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.langProperty)\r\n ], CardElement.prototype, \"lang\", null);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.isVisibleProperty)\r\n ], CardElement.prototype, \"isVisible\", null);\r\n return CardElement;\r\n}(card_object_1.CardObject));\r\nexports.CardElement = CardElement;\r\nvar ActionProperty = /** @class */ (function (_super) {\r\n __extends(ActionProperty, _super);\r\n function ActionProperty(targetVersion, name, forbiddenActionTypes) {\r\n if (forbiddenActionTypes === void 0) { forbiddenActionTypes = []; }\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.forbiddenActionTypes = forbiddenActionTypes;\r\n return _this;\r\n }\r\n ActionProperty.prototype.parse = function (sender, source, context) {\r\n var parent = sender;\r\n return context.parseAction(parent, source[this.name], this.forbiddenActionTypes, parent.isDesignMode());\r\n };\r\n ActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return ActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.ActionProperty = ActionProperty;\r\nvar BaseTextBlock = /** @class */ (function (_super) {\r\n __extends(BaseTextBlock, _super);\r\n function BaseTextBlock(text) {\r\n var _this = _super.call(this) || this;\r\n _this.ariaHidden = false;\r\n if (text) {\r\n _this.text = text;\r\n }\r\n return _this;\r\n }\r\n BaseTextBlock.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // selectAction is declared on BaseTextBlock but is only exposed on TextRun,\r\n // so the property is removed from the BaseTextBlock schema.\r\n schema.remove(BaseTextBlock.selectActionProperty);\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"text\", {\r\n get: function () {\r\n return this.getValue(BaseTextBlock.textProperty);\r\n },\r\n set: function (value) {\r\n this.setText(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n BaseTextBlock.prototype.getFontSize = function (fontType) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n return fontType.fontSizes.small;\r\n case Enums.TextSize.Medium:\r\n return fontType.fontSizes.medium;\r\n case Enums.TextSize.Large:\r\n return fontType.fontSizes.large;\r\n case Enums.TextSize.ExtraLarge:\r\n return fontType.fontSizes.extraLarge;\r\n default:\r\n return fontType.fontSizes.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.getColorDefinition = function (colorSet, color) {\r\n switch (color) {\r\n case Enums.TextColor.Accent:\r\n return colorSet.accent;\r\n case Enums.TextColor.Dark:\r\n return colorSet.dark;\r\n case Enums.TextColor.Light:\r\n return colorSet.light;\r\n case Enums.TextColor.Good:\r\n return colorSet.good;\r\n case Enums.TextColor.Warning:\r\n return colorSet.warning;\r\n case Enums.TextColor.Attention:\r\n return colorSet.attention;\r\n default:\r\n return colorSet.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.setText = function (value) {\r\n this.setValue(BaseTextBlock.textProperty, value);\r\n };\r\n BaseTextBlock.prototype.init = function (textDefinition) {\r\n this.size = textDefinition.size;\r\n this.weight = textDefinition.weight;\r\n this.color = textDefinition.color;\r\n this.isSubtle = textDefinition.isSubtle;\r\n };\r\n BaseTextBlock.prototype.asString = function () {\r\n return this.text;\r\n };\r\n BaseTextBlock.prototype.applyStylesTo = function (targetElement) {\r\n var fontType = this.hostConfig.getFontTypeDefinition(this.effectiveFontType);\r\n if (fontType.fontFamily) {\r\n targetElement.style.fontFamily = fontType.fontFamily;\r\n }\r\n var fontSize;\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n fontSize = fontType.fontSizes.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n fontSize = fontType.fontSizes.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n fontSize = fontType.fontSizes.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n fontSize = fontType.fontSizes.extraLarge;\r\n break;\r\n default:\r\n fontSize = fontType.fontSizes.default;\r\n break;\r\n }\r\n targetElement.style.fontSize = fontSize + \"px\";\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n var targetColor = Utils.stringToCssColor(this.effectiveIsSubtle ? colorDefinition.subtle : colorDefinition.default);\r\n if (targetColor) {\r\n targetElement.style.color = targetColor;\r\n }\r\n var fontWeight;\r\n switch (this.effectiveWeight) {\r\n case Enums.TextWeight.Lighter:\r\n fontWeight = fontType.fontWeights.lighter;\r\n break;\r\n case Enums.TextWeight.Bolder:\r\n fontWeight = fontType.fontWeights.bolder;\r\n break;\r\n default:\r\n fontWeight = fontType.fontWeights.default;\r\n break;\r\n }\r\n targetElement.style.fontWeight = fontWeight.toString();\r\n if (this.ariaHidden) {\r\n targetElement.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n };\r\n BaseTextBlock.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveColor\", {\r\n get: function () {\r\n return this.color !== undefined ? this.color : this.getEffectiveTextStyleDefinition().color;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveFontType\", {\r\n get: function () {\r\n return this.fontType !== undefined\r\n ? this.fontType\r\n : this.getEffectiveTextStyleDefinition().fontType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveIsSubtle\", {\r\n get: function () {\r\n return this.isSubtle !== undefined\r\n ? this.isSubtle\r\n : this.getEffectiveTextStyleDefinition().isSubtle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveSize\", {\r\n get: function () {\r\n return this.size !== undefined ? this.size : this.getEffectiveTextStyleDefinition().size;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveWeight\", {\r\n get: function () {\r\n return this.weight !== undefined\r\n ? this.weight\r\n : this.getEffectiveTextStyleDefinition().weight;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n BaseTextBlock.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"text\", true);\r\n BaseTextBlock.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.TextSize);\r\n BaseTextBlock.weightProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"weight\", Enums.TextWeight);\r\n BaseTextBlock.colorProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"color\", Enums.TextColor);\r\n BaseTextBlock.isSubtleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isSubtle\");\r\n BaseTextBlock.fontTypeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fontType\", Enums.FontType);\r\n BaseTextBlock.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.sizeProperty)\r\n ], BaseTextBlock.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.weightProperty)\r\n ], BaseTextBlock.prototype, \"weight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.colorProperty)\r\n ], BaseTextBlock.prototype, \"color\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.fontTypeProperty)\r\n ], BaseTextBlock.prototype, \"fontType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.isSubtleProperty)\r\n ], BaseTextBlock.prototype, \"isSubtle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.textProperty)\r\n ], BaseTextBlock.prototype, \"text\", null);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.selectActionProperty)\r\n ], BaseTextBlock.prototype, \"selectAction\", void 0);\r\n return BaseTextBlock;\r\n}(CardElement));\r\nexports.BaseTextBlock = BaseTextBlock;\r\nvar TextBlock = /** @class */ (function (_super) {\r\n __extends(TextBlock, _super);\r\n function TextBlock() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = false;\r\n _this._treatAsPlainText = true;\r\n _this.useMarkdown = true;\r\n return _this;\r\n }\r\n TextBlock.prototype.restoreOriginalContent = function () {\r\n var _a, _b;\r\n if (this.renderedElement !== undefined) {\r\n if (this.maxLines && this.maxLines > 0) {\r\n this.renderedElement.style.maxHeight =\r\n this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n var originalHtml = (_b = (_a = TextBlock._ttRoundtripPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._originalInnerHtml)) !== null && _b !== void 0 ? _b : this._originalInnerHtml;\r\n this.renderedElement.innerHTML = originalHtml;\r\n }\r\n };\r\n TextBlock.prototype.truncateIfSupported = function (maxHeight) {\r\n if (this.renderedElement !== undefined) {\r\n // For now, only truncate TextBlocks that contain just a single\r\n // paragraph -- since the maxLines calculation doesn't take into\r\n // account Markdown lists\r\n var children = this.renderedElement.children;\r\n var isTextOnly = !children.length;\r\n var truncationSupported = isTextOnly ||\r\n (children.length === 1 && children[0].tagName.toLowerCase() === \"p\" && !children[0].children.length);\r\n if (truncationSupported) {\r\n var element = isTextOnly ? this.renderedElement : children[0];\r\n Utils.truncateText(element, maxHeight, this._computedLineHeight);\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.setText = function (value) {\r\n _super.prototype.setText.call(this, value);\r\n this._processedText = undefined;\r\n };\r\n TextBlock.prototype.internalRender = function () {\r\n var _this = this;\r\n var _a, _b;\r\n this._processedText = undefined;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textBlock\"));\r\n element.style.overflow = \"hidden\";\r\n this.applyStylesTo(element);\r\n if (this.style === \"heading\") {\r\n element.setAttribute(\"role\", \"heading\");\r\n var headingLevel = this.hostConfig.textBlock.headingLevel;\r\n if (headingLevel !== undefined && headingLevel > 0) {\r\n element.setAttribute(\"aria-level\", headingLevel.toString());\r\n }\r\n }\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(element);\r\n if (this.selectAction.isEffectivelyEnabled()) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._treatAsPlainText = true;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (this.useMarkdown && formattedText) {\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting) {\r\n formattedText = formattedText\r\n .replace(//g, \"===\")\r\n .replace(/<\\/mark>/g, \"/==/\");\r\n }\r\n var markdownProcessingResult = AdaptiveCard.applyMarkdown(formattedText);\r\n if (markdownProcessingResult.didProcess &&\r\n markdownProcessingResult.outputHtml) {\r\n this._processedText = markdownProcessingResult.outputHtml;\r\n this._treatAsPlainText = false;\r\n // Only process tag if markdown processing was applied because\r\n // markdown processing is also responsible for sanitizing the input string\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting && this._processedText) {\r\n var markStyle = \"\";\r\n var effectiveStyle = this.getEffectiveStyleDefinition();\r\n if (effectiveStyle.highlightBackgroundColor) {\r\n markStyle +=\r\n \"background-color: \" +\r\n effectiveStyle.highlightBackgroundColor +\r\n \";\";\r\n }\r\n if (effectiveStyle.highlightForegroundColor) {\r\n markStyle +=\r\n \"color: \" + effectiveStyle.highlightForegroundColor + \";\";\r\n }\r\n if (markStyle) {\r\n markStyle = 'style=\"' + markStyle + '\"';\r\n }\r\n this._processedText = this._processedText\r\n .replace(/===/g, \"\")\r\n .replace(/\\/==\\//g, \"\");\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._processedText = \"\";\r\n }\r\n if (this._treatAsPlainText) {\r\n element.innerText = this._processedText;\r\n }\r\n else {\r\n var processedHtml = (_b = (_a = TextBlock._ttMarkdownPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._processedText)) !== null && _b !== void 0 ? _b : this._processedText;\r\n element.innerHTML = processedHtml;\r\n }\r\n if (element.firstElementChild instanceof HTMLElement) {\r\n var firstElementChild = element.firstElementChild;\r\n firstElementChild.style.marginTop = \"0px\";\r\n firstElementChild.style.width = \"100%\";\r\n if (!this.wrap) {\r\n firstElementChild.style.overflow = \"hidden\";\r\n firstElementChild.style.textOverflow = \"ellipsis\";\r\n }\r\n }\r\n if (element.lastElementChild instanceof HTMLElement) {\r\n element.lastElementChild.style.marginBottom = \"0px\";\r\n }\r\n var anchors = element.getElementsByTagName(\"a\");\r\n var _loop_1 = function (anchor) {\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (raiseAnchorClickedEvent(_this, anchor, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n }\r\n };\r\n anchor.oncontextmenu = function (e) {\r\n if (raiseAnchorClickedEvent(_this, anchor, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n return false;\r\n }\r\n return true;\r\n };\r\n };\r\n for (var _i = 0, _c = Array.from(anchors); _i < _c.length; _i++) {\r\n var anchor = _c[_i];\r\n _loop_1(anchor);\r\n }\r\n if (this.wrap) {\r\n element.style.wordWrap = \"break-word\";\r\n if (this.maxLines && this.maxLines > 0) {\r\n element.style.overflow = \"hidden\";\r\n if (Utils.isInternetExplorer() || !shared_1.GlobalSettings.useWebkitLineClamp) {\r\n element.style.maxHeight = this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n else {\r\n // While non standard, --webkit-line-clamp works in every browser (except IE)\r\n // and is a great solution to support the maxLines feature with ellipsis\r\n // truncation. With --webkit-line-clamp there is need to use explicit line heights\r\n element.style.removeProperty(\"line-height\");\r\n element.style.display = \"-webkit-box\";\r\n element.style.webkitBoxOrient = \"vertical\";\r\n element.style.webkitLineClamp = this.maxLines.toString();\r\n }\r\n }\r\n }\r\n else {\r\n element.style.whiteSpace = \"nowrap\";\r\n element.style.textOverflow = \"ellipsis\";\r\n }\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation ||\r\n shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n this._originalInnerHtml = element.innerHTML;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextBlock.prototype.truncateOverflow = function (maxHeight) {\r\n if (maxHeight >= this._computedLineHeight) {\r\n return this.truncateIfSupported(maxHeight);\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.undoOverflowTruncation = function () {\r\n this.restoreOriginalContent();\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines) {\r\n var maxHeight = this._computedLineHeight * this.maxLines;\r\n this.truncateIfSupported(maxHeight);\r\n }\r\n };\r\n TextBlock.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n targetElement.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n targetElement.style.textAlign = \"end\";\r\n break;\r\n default:\r\n targetElement.style.textAlign = \"start\";\r\n break;\r\n }\r\n var lineHeights = this.hostConfig.lineHeights;\r\n if (lineHeights) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n this._computedLineHeight = lineHeights.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n this._computedLineHeight = lineHeights.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n this._computedLineHeight = lineHeights.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n this._computedLineHeight = lineHeights.extraLarge;\r\n break;\r\n default:\r\n this._computedLineHeight = lineHeights.default;\r\n break;\r\n }\r\n }\r\n else {\r\n // Looks like 1.33 is the magic number to compute line-height\r\n // from font size.\r\n this._computedLineHeight =\r\n this.getFontSize(this.hostConfig.getFontTypeDefinition(this.effectiveFontType)) *\r\n 1.33;\r\n }\r\n targetElement.style.lineHeight = this._computedLineHeight + \"px\";\r\n };\r\n TextBlock.prototype.getJsonTypeName = function () {\r\n return \"TextBlock\";\r\n };\r\n TextBlock.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.style) {\r\n return this.hostConfig.textStyles.getStyleByName(this.style);\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TextBlock.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = false; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines && this.isDisplayed()) {\r\n // Reset the element's innerHTML in case the available room for\r\n // content has increased\r\n this.restoreOriginalContent();\r\n this.truncateIfSupported(this._computedLineHeight * this.maxLines);\r\n }\r\n };\r\n var _a, _b;\r\n TextBlock.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"wrap\", false);\r\n TextBlock.maxLinesProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLines\");\r\n TextBlock.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"style\", [\r\n { value: \"default\" },\r\n { value: \"columnHeader\" },\r\n { value: \"heading\" }\r\n ]);\r\n // Markdown processing is handled outside of Adaptive Cards. It's up to the host to ensure that markdown is safely\r\n // processed.\r\n TextBlock._ttMarkdownPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#markdownPassthroughPolicy\", { createHTML: function (value) { return value; } });\r\n // When \"advanced\" truncation is enabled (see GlobalSettings.useAdvancedCardBottomTruncation and\r\n // GlobalSettings.useAdvancedTextBlockTruncation), we store the original pre-truncation content in\r\n // _originalInnerHtml so that we can restore/recalculate truncation later if space availability has changed (see\r\n // TextBlock.restoreOriginalContent())\r\n TextBlock._ttRoundtripPolicy = (typeof window === 'undefined') ? undefined : (_b = window.trustedTypes) === null || _b === void 0 ? void 0 : _b.createPolicy(\"adaptivecards#restoreContentsPolicy\", { createHTML: function (value) { return value; } });\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.wrapProperty)\r\n ], TextBlock.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.maxLinesProperty)\r\n ], TextBlock.prototype, \"maxLines\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.styleProperty)\r\n ], TextBlock.prototype, \"style\", void 0);\r\n return TextBlock;\r\n}(BaseTextBlock));\r\nexports.TextBlock = TextBlock;\r\nvar TextRun = /** @class */ (function (_super) {\r\n __extends(TextRun, _super);\r\n function TextRun() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.italic = false;\r\n _this.strikethrough = false;\r\n _this.highlight = false;\r\n _this.underline = false;\r\n return _this;\r\n }\r\n TextRun.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.add(BaseTextBlock.selectActionProperty);\r\n };\r\n //#endregion\r\n TextRun.prototype.internalRender = function () {\r\n var _this = this;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (!formattedText) {\r\n formattedText = \"\";\r\n }\r\n var element = document.createElement(\"span\");\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textRun\"));\r\n this.applyStylesTo(element);\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n var anchor = document.createElement(\"a\");\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n var href = this.selectAction.getHref();\r\n anchor.href = href ? href : \"\";\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(anchor);\r\n anchor.innerText = formattedText;\r\n element.appendChild(anchor);\r\n }\r\n else {\r\n element.innerText = formattedText;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextRun.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n if (this.italic) {\r\n targetElement.style.fontStyle = \"italic\";\r\n }\r\n if (this.strikethrough) {\r\n targetElement.style.textDecoration = \"line-through\";\r\n }\r\n if (this.highlight) {\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n var backgroundColor = Utils.stringToCssColor(this.effectiveIsSubtle\r\n ? colorDefinition.highlightColors.subtle\r\n : colorDefinition.highlightColors.default);\r\n if (backgroundColor) {\r\n targetElement.style.backgroundColor = backgroundColor;\r\n }\r\n }\r\n if (this.underline) {\r\n targetElement.style.textDecoration = \"underline\";\r\n }\r\n };\r\n TextRun.prototype.getJsonTypeName = function () {\r\n return \"TextRun\";\r\n };\r\n Object.defineProperty(TextRun.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TextRun.prototype, \"isInline\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextRun.italicProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"italic\", false);\r\n TextRun.strikethroughProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"strikethrough\", false);\r\n TextRun.highlightProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"highlight\", false);\r\n TextRun.underlineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"underline\", false);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.italicProperty)\r\n ], TextRun.prototype, \"italic\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.strikethroughProperty)\r\n ], TextRun.prototype, \"strikethrough\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.highlightProperty)\r\n ], TextRun.prototype, \"highlight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.underlineProperty)\r\n ], TextRun.prototype, \"underline\", void 0);\r\n return TextRun;\r\n}(BaseTextBlock));\r\nexports.TextRun = TextRun;\r\nvar RichTextBlock = /** @class */ (function (_super) {\r\n __extends(RichTextBlock, _super);\r\n function RichTextBlock() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._inlines = [];\r\n return _this;\r\n }\r\n RichTextBlock.prototype.internalAddInline = function (inline, forceAdd) {\r\n if (forceAdd === void 0) { forceAdd = false; }\r\n if (!inline.isInline) {\r\n throw new Error(strings_1.Strings.errors.elementCannotBeUsedAsInline());\r\n }\r\n var doAdd = inline.parent === undefined || forceAdd;\r\n if (!doAdd && inline.parent !== this) {\r\n throw new Error(strings_1.Strings.errors.inlineAlreadyParented());\r\n }\r\n else {\r\n inline.setParent(this);\r\n this._inlines.push(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._inlines = [];\r\n if (Array.isArray(source[\"inlines\"])) {\r\n for (var _i = 0, _a = source[\"inlines\"]; _i < _a.length; _i++) {\r\n var jsonInline = _a[_i];\r\n var inline = void 0;\r\n if (typeof jsonInline === \"string\") {\r\n var textRun = new TextRun();\r\n textRun.text = jsonInline;\r\n inline = textRun;\r\n }\r\n else {\r\n // No fallback for inlines in 1.2\r\n inline = context.parseElement(this, jsonInline, [], false);\r\n }\r\n if (inline) {\r\n this.internalAddInline(inline, true);\r\n }\r\n }\r\n }\r\n };\r\n RichTextBlock.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this._inlines.length > 0) {\r\n var jsonInlines = [];\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n jsonInlines.push(inline.toJSON(context));\r\n }\r\n context.serializeValue(target, \"inlines\", jsonInlines);\r\n }\r\n };\r\n RichTextBlock.prototype.internalRender = function () {\r\n if (this._inlines.length > 0) {\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.className = this.hostConfig.makeCssClassName(\"ac-richTextBlock\");\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.textAlign = \"end\";\r\n break;\r\n default:\r\n element.style.textAlign = \"start\";\r\n break;\r\n }\r\n var renderedInlines = 0;\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n var renderedInline = inline.render();\r\n if (renderedInline) {\r\n element.appendChild(renderedInline);\r\n renderedInlines++;\r\n }\r\n }\r\n if (renderedInlines > 0) {\r\n return element;\r\n }\r\n }\r\n return undefined;\r\n };\r\n RichTextBlock.prototype.asString = function () {\r\n var result = \"\";\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n result += inline.asString();\r\n }\r\n return result;\r\n };\r\n RichTextBlock.prototype.getJsonTypeName = function () {\r\n return \"RichTextBlock\";\r\n };\r\n RichTextBlock.prototype.getInlineCount = function () {\r\n return this._inlines.length;\r\n };\r\n RichTextBlock.prototype.getInlineAt = function (index) {\r\n if (index >= 0 && index < this._inlines.length) {\r\n return this._inlines[index];\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n }\r\n };\r\n RichTextBlock.prototype.addInline = function (inline) {\r\n if (typeof inline === \"string\") {\r\n this.internalAddInline(new TextRun(inline));\r\n }\r\n else {\r\n this.internalAddInline(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.removeInline = function (inline) {\r\n var index = this._inlines.indexOf(inline);\r\n if (index >= 0) {\r\n this._inlines[index].setParent(undefined);\r\n this._inlines.splice(index, 1);\r\n return true;\r\n }\r\n return false;\r\n };\r\n return RichTextBlock;\r\n}(CardElement));\r\nexports.RichTextBlock = RichTextBlock;\r\nvar Fact = /** @class */ (function (_super) {\r\n __extends(Fact, _super);\r\n function Fact(name, value) {\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Fact.prototype.getSchemaKey = function () {\r\n return \"Fact\";\r\n };\r\n //#region Schema\r\n Fact.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Fact.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(Fact.titleProperty)\r\n ], Fact.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Fact.valueProperty)\r\n ], Fact.prototype, \"value\", void 0);\r\n return Fact;\r\n}(serialization_1.SerializableObject));\r\nexports.Fact = Fact;\r\nvar FactSet = /** @class */ (function (_super) {\r\n __extends(FactSet, _super);\r\n function FactSet() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(FactSet.prototype, \"useDefaultSizing\", {\r\n //#endregion\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n FactSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n var hostConfig = this.hostConfig;\r\n if (this.facts.length > 0) {\r\n element = document.createElement(\"table\");\r\n element.style.borderWidth = \"0px\";\r\n element.style.borderSpacing = \"0px\";\r\n element.style.borderStyle = \"none\";\r\n element.style.borderCollapse = \"collapse\";\r\n element.style.display = \"block\";\r\n element.style.overflow = \"hidden\";\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-factset\"));\r\n element.setAttribute(\"role\", \"presentation\");\r\n for (var i = 0; i < this.facts.length; i++) {\r\n var trElement = document.createElement(\"tr\");\r\n if (i > 0) {\r\n trElement.style.marginTop = hostConfig.factSet.spacing + \"px\";\r\n }\r\n // Title column\r\n var tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-title\"));\r\n if (hostConfig.factSet.title.maxWidth) {\r\n tdElement.style.maxWidth = hostConfig.factSet.title.maxWidth + \"px\";\r\n }\r\n tdElement.style.verticalAlign = \"top\";\r\n var textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text =\r\n !this.facts[i].name && this.isDesignMode() ? \"Title\" : this.facts[i].name;\r\n textBlock.size = hostConfig.factSet.title.size;\r\n textBlock.color = hostConfig.factSet.title.color;\r\n textBlock.isSubtle = hostConfig.factSet.title.isSubtle;\r\n textBlock.weight = hostConfig.factSet.title.weight;\r\n textBlock.wrap = hostConfig.factSet.title.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n // Spacer column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.width = \"10px\";\r\n Utils.appendChild(trElement, tdElement);\r\n // Value column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.style.verticalAlign = \"top\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-value\"));\r\n textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text = this.facts[i].value;\r\n textBlock.size = hostConfig.factSet.value.size;\r\n textBlock.color = hostConfig.factSet.value.color;\r\n textBlock.isSubtle = hostConfig.factSet.value.isSubtle;\r\n textBlock.weight = hostConfig.factSet.value.weight;\r\n textBlock.wrap = hostConfig.factSet.value.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n Utils.appendChild(element, trElement);\r\n }\r\n }\r\n return element;\r\n };\r\n FactSet.prototype.getJsonTypeName = function () {\r\n return \"FactSet\";\r\n };\r\n //#region Schema\r\n FactSet.factsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"facts\", Fact);\r\n __decorate([\r\n (0, serialization_1.property)(FactSet.factsProperty)\r\n ], FactSet.prototype, \"facts\", void 0);\r\n return FactSet;\r\n}(CardElement));\r\nexports.FactSet = FactSet;\r\nvar ImageDimensionProperty = /** @class */ (function (_super) {\r\n __extends(ImageDimensionProperty, _super);\r\n function ImageDimensionProperty(targetVersion, name, internalName, fallbackProperty) {\r\n var _this = _super.call(this, targetVersion, name) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.internalName = internalName;\r\n _this.fallbackProperty = fallbackProperty;\r\n return _this;\r\n }\r\n ImageDimensionProperty.prototype.getInternalName = function () {\r\n return this.internalName;\r\n };\r\n ImageDimensionProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n var isValid = false;\r\n if (typeof sourceValue === \"string\") {\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(sourceValue, true);\r\n if (size.unit === Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Swallow the exception\r\n }\r\n // If the source value isn't valid per this property definition,\r\n // check its validity per the fallback property, if specified\r\n if (!isValid && this.fallbackProperty) {\r\n isValid = this.fallbackProperty.isValidValue(sourceValue, context);\r\n }\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n }\r\n return result;\r\n };\r\n ImageDimensionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return ImageDimensionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar Image = /** @class */ (function (_super) {\r\n __extends(Image, _super);\r\n function Image() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.size = Enums.Size.Auto;\r\n _this.style = Enums.ImageStyle.Default;\r\n return _this;\r\n }\r\n Image.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(CardElement.heightProperty);\r\n };\r\n //#endregion\r\n Image.prototype.applySize = function (element) {\r\n if (this.pixelWidth || this.pixelHeight) {\r\n if (this.pixelWidth) {\r\n element.style.width = this.pixelWidth + \"px\";\r\n }\r\n if (this.pixelHeight) {\r\n element.style.height = this.pixelHeight + \"px\";\r\n }\r\n }\r\n else {\r\n if (this.maxHeight) {\r\n // If the image is constrained in height, we set its height property and\r\n // auto and stretch are ignored (default to medium). THis is necessary for\r\n // ImageSet which uses a maximum image height as opposed to the cards width\r\n // as a constraining dimension\r\n switch (this.size) {\r\n case Enums.Size.Small:\r\n element.style.height = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.height = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n default:\r\n element.style.height = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = this.maxHeight + \"px\";\r\n }\r\n else {\r\n switch (this.size) {\r\n case Enums.Size.Stretch:\r\n element.style.width = \"100%\";\r\n break;\r\n case Enums.Size.Auto:\r\n element.style.maxWidth = \"100%\";\r\n break;\r\n case Enums.Size.Small:\r\n element.style.width = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.width = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n case Enums.Size.Medium:\r\n element.style.width = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = \"100%\";\r\n }\r\n }\r\n };\r\n Object.defineProperty(Image.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Image.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = undefined;\r\n if (this.url) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"flex-start\";\r\n // Cache hostConfig to avoid walking the parent hierarchy multiple times\r\n var hostConfig = this.hostConfig;\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var imageElement = document.createElement(\"img\");\r\n this.renderedImageElement = imageElement;\r\n imageElement.onload = function (_e) {\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.onerror = function (_e) {\r\n if (_this.renderedElement) {\r\n var card = _this.getRootElement();\r\n clearElement(_this.renderedElement);\r\n if (card && card.designMode) {\r\n var errorElement = document.createElement(\"div\");\r\n errorElement.style.display = \"flex\";\r\n errorElement.style.alignItems = \"center\";\r\n errorElement.style.justifyContent = \"center\";\r\n errorElement.style.backgroundColor = \"#EEEEEE\";\r\n errorElement.style.color = \"black\";\r\n errorElement.innerText = \":-(\";\r\n errorElement.style.padding = \"10px\";\r\n _this.applySize(errorElement);\r\n _this.renderedElement.appendChild(errorElement);\r\n }\r\n }\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.style.minWidth = \"0\";\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-image\"));\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n imageElement.onkeypress = function (e) {\r\n if (_this.selectAction &&\r\n _this.selectAction.isEffectivelyEnabled() &&\r\n (e.code === \"Enter\" || e.code === \"Space\")) {\r\n // enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n imageElement.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(imageElement);\r\n if (this.selectAction.isEffectivelyEnabled()) {\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n this.applySize(imageElement);\r\n if (this.style === Enums.ImageStyle.Person) {\r\n imageElement.style.borderRadius = \"50%\";\r\n imageElement.style.backgroundPosition = \"50% 50%\";\r\n imageElement.style.backgroundRepeat = \"no-repeat\";\r\n }\r\n var backgroundColor = Utils.stringToCssColor(this.backgroundColor);\r\n if (backgroundColor) {\r\n imageElement.style.backgroundColor = backgroundColor;\r\n }\r\n this.setImageSource(imageElement);\r\n var altTextProperty = this.preProcessPropertyValue(Image.altTextProperty);\r\n if (altTextProperty) {\r\n imageElement.alt = altTextProperty;\r\n }\r\n element.appendChild(imageElement);\r\n }\r\n return element;\r\n };\r\n Image.prototype.getJsonTypeName = function () {\r\n return \"Image\";\r\n };\r\n Image.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\r\n };\r\n Image.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n Image.prototype.getResourceInformation = function () {\r\n return this.url ? [{ url: this.url, mimeType: \"image\" }] : [];\r\n };\r\n Image.prototype.setImageSource = function (imageElement) {\r\n var imageForceLoader = new ImageForceLoader(this.forceLoad, this.url);\r\n imageForceLoader.configureImage(this);\r\n imageElement.src = this.preProcessPropertyValue(Image.urlProperty);\r\n imageForceLoader.resetImage(this);\r\n };\r\n Image.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n Image.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"altText\");\r\n Image.backgroundColorProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"backgroundColor\");\r\n Image.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.ImageStyle, Enums.ImageStyle.Default);\r\n Image.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.Size, Enums.Size.Auto);\r\n Image.pixelWidthProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"width\", \"pixelWidth\");\r\n Image.pixelHeightProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"height\", \"pixelHeight\", CardElement.heightProperty);\r\n Image.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n Image.shouldForceLoadProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"forceLoad\", false);\r\n __decorate([\r\n (0, serialization_1.property)(Image.urlProperty)\r\n ], Image.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.altTextProperty)\r\n ], Image.prototype, \"altText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.backgroundColorProperty)\r\n ], Image.prototype, \"backgroundColor\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.sizeProperty)\r\n ], Image.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.styleProperty)\r\n ], Image.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelWidthProperty)\r\n ], Image.prototype, \"pixelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelHeightProperty)\r\n ], Image.prototype, \"pixelHeight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.selectActionProperty)\r\n ], Image.prototype, \"selectAction\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.shouldForceLoadProperty)\r\n ], Image.prototype, \"forceLoad\", void 0);\r\n return Image;\r\n}(CardElement));\r\nexports.Image = Image;\r\n// configures Image element to fetch a new image data from url source instead of relying on cache\r\n// currently rudimentary refreshing scheme is used\r\n// by attaching unique query string to url, we bypass the cache usage\r\nvar ImageForceLoader = /** @class */ (function () {\r\n function ImageForceLoader(doForceLoad, url) {\r\n this.doForceLoad = doForceLoad;\r\n this.url = url;\r\n if (url && url.length && doForceLoad) {\r\n // we can do better by appending unique key such as uuid instead of epoch\r\n // however the current usage is for front-end ui and networking, \r\n // since ui is running in single main thread, this is sufficient mechanism\r\n // without needing to depend on external library for our small use cases.\r\n this.uniqueHash = '?' + Date.now();\r\n this.urlWithForceLoadOption = url + this.uniqueHash;\r\n }\r\n }\r\n ImageForceLoader.prototype.configureImage = function (image) {\r\n if (this.urlWithForceLoadOption && this.urlWithForceLoadOption.length) {\r\n image.url = this.urlWithForceLoadOption;\r\n }\r\n };\r\n ImageForceLoader.prototype.resetImage = function (image) {\r\n image.url = this.url;\r\n };\r\n return ImageForceLoader;\r\n}());\r\nvar CardElementContainer = /** @class */ (function (_super) {\r\n __extends(CardElementContainer, _super);\r\n function CardElementContainer() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.allowVerticalOverflow = false;\r\n return _this;\r\n }\r\n CardElementContainer.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n if (!this.isSelectable) {\r\n schema.remove(CardElementContainer.selectActionProperty);\r\n }\r\n };\r\n //#endregion\r\n CardElementContainer.prototype.isElementAllowed = function (element) {\r\n return this.hostConfig.supportsInteractivity || !element.isInteractive;\r\n };\r\n CardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n };\r\n Object.defineProperty(CardElementContainer.prototype, \"isSelectable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElementContainer.prototype.forbiddenChildElements = function () {\r\n return [];\r\n };\r\n CardElementContainer.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).releaseDOMResources();\r\n }\r\n };\r\n CardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var item = this.getItemAt(i);\r\n if (!this.hostConfig.supportsInteractivity && item.isInteractive) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n if (!this.isElementAllowed(item)) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n if (this._selectAction) {\r\n this._selectAction.internalValidateProperties(context);\r\n }\r\n };\r\n CardElementContainer.prototype.render = function () {\r\n var _this = this;\r\n var element = _super.prototype.render.call(this);\r\n if (element) {\r\n var hostConfig = this.hostConfig;\r\n if (this.allowVerticalOverflow) {\r\n element.style.overflowX = \"hidden\";\r\n element.style.overflowY = \"auto\";\r\n }\r\n if (element &&\r\n this.isSelectable &&\r\n this._selectAction &&\r\n hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this._selectAction && _this._selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n element.onkeypress = function (e) {\r\n if (_this._selectAction &&\r\n _this._selectAction.isEffectivelyEnabled() &&\r\n (e.code === \"Enter\" || e.code === \"Space\")) {\r\n // Enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n this._selectAction.setupElementForAccessibility(element);\r\n if (this._selectAction.isEffectivelyEnabled()) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n }\r\n return element;\r\n };\r\n CardElementContainer.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (processChildren) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).updateLayout();\r\n }\r\n }\r\n };\r\n CardElementContainer.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getAllActions());\r\n }\r\n if (this._selectAction) {\r\n result.push(this._selectAction);\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getResourceInformation());\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result = this.getItemAt(i).getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n CardElementContainer.prototype.findDOMNodeOwner = function (node) {\r\n var _a;\r\n var target = undefined;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n // recur through child elements\r\n target = this.getItemAt(i).findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // If not found in children, check the actions\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n target = (_a = this.getActionAt(i)) === null || _a === void 0 ? void 0 : _a.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // if not found in children or actions, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n CardElementContainer.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(CardElementContainer.selectActionProperty)\r\n ], CardElementContainer.prototype, \"_selectAction\", void 0);\r\n return CardElementContainer;\r\n}(CardElement));\r\nexports.CardElementContainer = CardElementContainer;\r\nvar ImageSet = /** @class */ (function (_super) {\r\n __extends(ImageSet, _super);\r\n function ImageSet() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._images = [];\r\n _this.imageSize = Enums.ImageSize.Medium;\r\n _this.presentationStyle = Enums.ImageSetPresentationStyle.Default;\r\n _this.pixelOffset = 0;\r\n return _this;\r\n }\r\n //#endregion\r\n ImageSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n if (this._images.length > 0) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.flexWrap = \"wrap\";\r\n for (var _i = 0, _a = this._images; _i < _a.length; _i++) {\r\n var image = _a[_i];\r\n switch (this.imageSize) {\r\n case Enums.ImageSize.Small:\r\n image.size = Enums.Size.Small;\r\n break;\r\n case Enums.ImageSize.Large:\r\n image.size = Enums.Size.Large;\r\n break;\r\n default:\r\n image.size = Enums.Size.Medium;\r\n break;\r\n }\r\n image.maxHeight = this.hostConfig.imageSet.maxImageHeight;\r\n var renderedImage = image.render();\r\n if (renderedImage) {\r\n renderedImage.style.display = \"inline-flex\";\r\n renderedImage.style.margin = \"0px\";\r\n if (this.presentationStyle == Enums.ImageSetPresentationStyle.Default) {\r\n renderedImage.style.marginRight = \"10px\";\r\n }\r\n Utils.appendChild(element, renderedImage);\r\n }\r\n }\r\n if (this.presentationStyle == Enums.ImageSetPresentationStyle.Stacked) {\r\n this.applyStackedPresentationStyle();\r\n }\r\n }\r\n return element;\r\n };\r\n ImageSet.prototype.applyStackedPresentationStyle = function () {\r\n if (this._images[0].renderedImageElement) {\r\n var dimension = StackedImageConfigurator.parseNumericPixelDimension(this._images[0].renderedImageElement.style.height);\r\n var bgColor = this.getEffectiveBackgroundColor();\r\n if (dimension) {\r\n var stackedImageConfigurator = new StackedImageConfigurator(this.pixelOffset, dimension, bgColor);\r\n stackedImageConfigurator.configureImagesArrayAsStackedLayout(this._images);\r\n }\r\n }\r\n };\r\n ImageSet.prototype.getEffectiveBackgroundColor = function () {\r\n var parentContainer = this.getParentContainer();\r\n var style = parentContainer === null || parentContainer === void 0 ? void 0 : parentContainer.getEffectiveStyle();\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n return Utils.stringToCssColor(styleDefinition.backgroundColor);\r\n };\r\n ImageSet.prototype.getItemCount = function () {\r\n return this._images.length;\r\n };\r\n ImageSet.prototype.getItemAt = function (index) {\r\n return this._images[index];\r\n };\r\n ImageSet.prototype.getFirstVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0 ? this._images[0] : undefined;\r\n };\r\n ImageSet.prototype.getLastVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0\r\n ? this._images[this._images.length - 1]\r\n : undefined;\r\n };\r\n ImageSet.prototype.removeItem = function (item) {\r\n if (item instanceof Image) {\r\n var itemIndex = this._images.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._images.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ImageSet.prototype.getJsonTypeName = function () {\r\n return \"ImageSet\";\r\n };\r\n ImageSet.prototype.addImage = function (image) {\r\n if (!image.parent) {\r\n this._images.push(image);\r\n image.setParent(this);\r\n }\r\n else {\r\n throw new Error(\"This image already belongs to another ImageSet\");\r\n }\r\n };\r\n ImageSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Image ? this._images.indexOf(cardElement) : -1;\r\n };\r\n ImageSet.imagesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"images\", Image, function (sender, item) {\r\n item.setParent(sender);\r\n });\r\n ImageSet.imageSizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"imageSize\", Enums.ImageSize, Enums.ImageSize.Medium);\r\n ImageSet.imagePresentationStyle = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"style\", Enums.ImageSetPresentationStyle, Enums.ImageSetPresentationStyle.Default);\r\n ImageSet.pixelOffset = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"offset\", 0, undefined);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagesProperty)\r\n ], ImageSet.prototype, \"_images\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imageSizeProperty)\r\n ], ImageSet.prototype, \"imageSize\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagePresentationStyle)\r\n ], ImageSet.prototype, \"presentationStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.pixelOffset)\r\n ], ImageSet.prototype, \"pixelOffset\", void 0);\r\n return ImageSet;\r\n}(CardElementContainer));\r\nexports.ImageSet = ImageSet;\r\nvar StackedImageConfigurator = /** @class */ (function () {\r\n function StackedImageConfigurator(offset, dimension, style) {\r\n this.sign45 = 0.7071;\r\n this.maxImageCounts = 2;\r\n this.offset = 0;\r\n this.normalizationConstant = 0;\r\n this.border = 5;\r\n this.dimension = 0;\r\n this.dimension = dimension;\r\n this.normalizationConstant = (dimension * this.sign45 - 0.5 * dimension) * 2;\r\n // offset determines how far images are placed from each other\r\n // at zero, images are separated only by the border\r\n // there is no restriction on how far they are apart in positive values, their actual\r\n // positioning is limited by maximum size imposed by Image renderer\r\n // a negative value can decrease upto the diameter of the image since a value less than the diameter\r\n // put the images past each other, and the use of such value is not reasonable request\r\n // users should change image positions in such case.\r\n this.offset = this.sign45 * (Math.max(offset, -dimension) - this.normalizationConstant);\r\n this.style = style ? style : \"\";\r\n }\r\n StackedImageConfigurator.prototype.moveImageRight = function (element) {\r\n element.style.marginLeft = this.offset + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageUp = function (element) {\r\n element.style.marginBottom = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageDown = function (element) {\r\n element.style.marginTop = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.makeImageRound = function (element) {\r\n element.style.borderRadius = \"50%\";\r\n element.style.backgroundPosition = \"50% 50%\";\r\n element.style.backgroundRepeat = \"no-repeat\";\r\n };\r\n StackedImageConfigurator.prototype.applyBorder = function (element) {\r\n element.style.height = (this.dimension + this.border * 2) + \"px\";\r\n element.style.border = this.border + \"px\" + \" solid \" + this.style;\r\n };\r\n StackedImageConfigurator.prototype.configureImageForBottomLeft = function (element) {\r\n this.moveImageDown(element);\r\n this.makeImageRound(element);\r\n this.applyBorder(element);\r\n element.style.zIndex = \"2\";\r\n };\r\n StackedImageConfigurator.prototype.configureImageForTopRight = function (element) {\r\n this.moveImageUp(element);\r\n this.moveImageRight(element);\r\n this.makeImageRound(element);\r\n element.style.zIndex = \"1\";\r\n };\r\n // stacked layout is applied when there are two images in ImageSet,\r\n // first image in the ImageSet is put bottom left of ImageSet,\r\n // second image is placed top right diagonally to the first image at 45 angle\r\n // first image is placed over the second image should the overlap to occur.\r\n StackedImageConfigurator.prototype.configureImagesArrayAsStackedLayout = function (elements) {\r\n if (elements.length == 1) {\r\n if (elements[0].renderedImageElement) {\r\n this.makeImageRound(elements[0].renderedImageElement);\r\n }\r\n }\r\n else if (elements.length <= this.maxImageCounts) {\r\n if (elements[0].renderedImageElement && elements[1].renderedImageElement) {\r\n this.configureImageForBottomLeft(elements[0].renderedImageElement);\r\n this.configureImageForTopRight(elements[1].renderedImageElement);\r\n }\r\n }\r\n };\r\n StackedImageConfigurator.parseNumericPixelDimension = function (dimension) {\r\n if ((dimension === null || dimension === void 0 ? void 0 : dimension.substring(dimension.length - 2)) == 'px') {\r\n return parseInt(dimension.substring(0, dimension.length - 2));\r\n }\r\n return undefined;\r\n };\r\n return StackedImageConfigurator;\r\n}());\r\nvar ContentSource = /** @class */ (function (_super) {\r\n __extends(ContentSource, _super);\r\n //#endregion\r\n function ContentSource(url, mimeType) {\r\n var _this = _super.call(this) || this;\r\n _this.url = url;\r\n _this.mimeType = mimeType;\r\n return _this;\r\n }\r\n ContentSource.prototype.isValid = function () {\r\n return this.mimeType && this.url ? true : false;\r\n };\r\n //#region Schema\r\n ContentSource.mimeTypeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"mimeType\");\r\n ContentSource.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"url\");\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.mimeTypeProperty)\r\n ], ContentSource.prototype, \"mimeType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.urlProperty)\r\n ], ContentSource.prototype, \"url\", void 0);\r\n return ContentSource;\r\n}(serialization_1.SerializableObject));\r\nexports.ContentSource = ContentSource;\r\nvar CaptionSource = /** @class */ (function (_super) {\r\n __extends(CaptionSource, _super);\r\n //#endregion\r\n function CaptionSource(url, mimeType, label) {\r\n var _this = _super.call(this, url, mimeType) || this;\r\n _this.label = label;\r\n return _this;\r\n }\r\n CaptionSource.prototype.getSchemaKey = function () {\r\n return \"CaptionSource\";\r\n };\r\n CaptionSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"track\");\r\n result.src = this.url;\r\n result.kind = \"captions\";\r\n result.label = this.label;\r\n }\r\n return result;\r\n };\r\n //#region Schema\r\n CaptionSource.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"label\");\r\n __decorate([\r\n (0, serialization_1.property)(CaptionSource.labelProperty)\r\n ], CaptionSource.prototype, \"label\", void 0);\r\n return CaptionSource;\r\n}(ContentSource));\r\nexports.CaptionSource = CaptionSource;\r\nvar MediaSource = /** @class */ (function (_super) {\r\n __extends(MediaSource, _super);\r\n function MediaSource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MediaSource.prototype.getSchemaKey = function () {\r\n return \"MediaSource\";\r\n };\r\n MediaSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"source\");\r\n result.src = this.url;\r\n result.type = this.mimeType;\r\n }\r\n return result;\r\n };\r\n return MediaSource;\r\n}(ContentSource));\r\nexports.MediaSource = MediaSource;\r\nvar MediaPlayer = /** @class */ (function () {\r\n function MediaPlayer() {\r\n }\r\n MediaPlayer.prototype.play = function () {\r\n // Do nothing in base implementation\r\n };\r\n Object.defineProperty(MediaPlayer.prototype, \"posterUrl\", {\r\n get: function () {\r\n return this._posterUrl;\r\n },\r\n set: function (value) {\r\n this._posterUrl = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MediaPlayer.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MediaPlayer;\r\n}());\r\nexports.MediaPlayer = MediaPlayer;\r\nvar HTML5MediaPlayer = /** @class */ (function (_super) {\r\n __extends(HTML5MediaPlayer, _super);\r\n function HTML5MediaPlayer(owner) {\r\n var _this = _super.call(this) || this;\r\n _this.owner = owner;\r\n _this._selectedSources = [];\r\n _this._captionSources = [];\r\n _this.processSources();\r\n return _this;\r\n }\r\n HTML5MediaPlayer.prototype.processSources = function () {\r\n var _a;\r\n this._selectedSources = [];\r\n this._captionSources = [];\r\n this._selectedMediaType = undefined;\r\n for (var _i = 0, _b = this.owner.sources; _i < _b.length; _i++) {\r\n var source = _b[_i];\r\n var mimeComponents = source.mimeType ? source.mimeType.split(\"/\") : [];\r\n if (mimeComponents.length === 2) {\r\n if (!this._selectedMediaType) {\r\n var index = HTML5MediaPlayer.supportedMediaTypes.indexOf(mimeComponents[0]);\r\n if (index >= 0) {\r\n this._selectedMediaType = HTML5MediaPlayer.supportedMediaTypes[index];\r\n }\r\n }\r\n if (mimeComponents[0] === this._selectedMediaType) {\r\n this._selectedSources.push(source);\r\n }\r\n }\r\n }\r\n (_a = this._captionSources).push.apply(_a, this.owner.captionSources);\r\n };\r\n HTML5MediaPlayer.prototype.canPlay = function () {\r\n return this._selectedSources.length > 0;\r\n };\r\n HTML5MediaPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n HTML5MediaPlayer.prototype.render = function () {\r\n if (this._selectedMediaType === \"video\") {\r\n this._mediaElement = document.createElement(\"video\");\r\n }\r\n else {\r\n this._mediaElement = document.createElement(\"audio\");\r\n }\r\n this._mediaElement.setAttribute(\"aria-label\", this.owner.altText ? this.owner.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n this._mediaElement.setAttribute(\"webkit-playsinline\", \"\");\r\n this._mediaElement.setAttribute(\"playsinline\", \"\");\r\n // We enable crossorigin for cases where the caption file has a different domain than\r\n // the video file. If the caption file lives in a different domain than the video file\r\n // and crossorigin is not set, then the caption file will fail to load.\r\n this._mediaElement.setAttribute(\"crossorigin\", \"\");\r\n this._mediaElement.autoplay = true;\r\n this._mediaElement.controls = true;\r\n if (Utils.isMobileOS()) {\r\n this._mediaElement.muted = true;\r\n }\r\n this._mediaElement.preload = \"none\";\r\n this._mediaElement.style.width = \"100%\";\r\n for (var _i = 0, _a = this.owner.sources; _i < _a.length; _i++) {\r\n var source = _a[_i];\r\n var renderedSource = source.render();\r\n Utils.appendChild(this._mediaElement, renderedSource);\r\n }\r\n for (var _b = 0, _c = this.owner.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.mimeType == \"vtt\") {\r\n var renderedCaptionSource = captionSource.render();\r\n Utils.appendChild(this._mediaElement, renderedCaptionSource);\r\n }\r\n }\r\n return this._mediaElement;\r\n };\r\n HTML5MediaPlayer.prototype.play = function () {\r\n if (this._mediaElement) {\r\n this._mediaElement.play();\r\n }\r\n };\r\n Object.defineProperty(HTML5MediaPlayer.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return this._selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n HTML5MediaPlayer.supportedMediaTypes = [\"audio\", \"video\"];\r\n return HTML5MediaPlayer;\r\n}(MediaPlayer));\r\nexports.HTML5MediaPlayer = HTML5MediaPlayer;\r\nvar CustomMediaPlayer = /** @class */ (function (_super) {\r\n __extends(CustomMediaPlayer, _super);\r\n function CustomMediaPlayer(matches) {\r\n return _super.call(this) || this;\r\n }\r\n return CustomMediaPlayer;\r\n}(MediaPlayer));\r\nexports.CustomMediaPlayer = CustomMediaPlayer;\r\nvar IFrameMediaMediaPlayer = /** @class */ (function (_super) {\r\n __extends(IFrameMediaMediaPlayer, _super);\r\n function IFrameMediaMediaPlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 2) {\r\n _this._videoId = matches[1];\r\n }\r\n return _this;\r\n }\r\n IFrameMediaMediaPlayer.prototype.canPlay = function () {\r\n return this._videoId !== undefined;\r\n };\r\n IFrameMediaMediaPlayer.prototype.render = function () {\r\n var container = document.createElement(\"div\");\r\n container.style.position = \"relative\";\r\n container.style.width = \"100%\";\r\n container.style.height = \"0\";\r\n container.style.paddingBottom = \"56.25%\";\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.style.position = \"absolute\";\r\n iFrame.style.top = \"0\";\r\n iFrame.style.left = \"0\";\r\n iFrame.style.width = \"100%\";\r\n iFrame.style.height = \"100%\";\r\n iFrame.src = this.getEmbedVideoUrl();\r\n iFrame.frameBorder = \"0\";\r\n if (this.iFrameTitle) {\r\n iFrame.title = this.iFrameTitle;\r\n }\r\n iFrame.allow =\r\n \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\";\r\n iFrame.allowFullscreen = true;\r\n container.appendChild(iFrame);\r\n return container;\r\n };\r\n Object.defineProperty(IFrameMediaMediaPlayer.prototype, \"videoId\", {\r\n get: function () {\r\n return this._videoId;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return IFrameMediaMediaPlayer;\r\n}(CustomMediaPlayer));\r\nexports.IFrameMediaMediaPlayer = IFrameMediaMediaPlayer;\r\nvar VimeoPlayer = /** @class */ (function (_super) {\r\n __extends(VimeoPlayer, _super);\r\n function VimeoPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VimeoPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var oEmbedUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n oEmbedUrl = \"https://vimeo.com/api/oembed.json?url=\".concat(this.getEmbedVideoUrl());\r\n return [4 /*yield*/, fetch(oEmbedUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n VimeoPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://player.vimeo.com/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return VimeoPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.VimeoPlayer = VimeoPlayer;\r\nvar DailymotionPlayer = /** @class */ (function (_super) {\r\n __extends(DailymotionPlayer, _super);\r\n function DailymotionPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DailymotionPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var apiUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n apiUrl = \"https://api.dailymotion.com/video/\".concat(this.videoId, \"?fields=thumbnail_720_url\");\r\n return [4 /*yield*/, fetch(apiUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_720_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n DailymotionPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://www.dailymotion.com/embed/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return DailymotionPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.DailymotionPlayer = DailymotionPlayer;\r\nvar YouTubePlayer = /** @class */ (function (_super) {\r\n __extends(YouTubePlayer, _super);\r\n function YouTubePlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches, iFrameTitle) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 3 && matches[2] !== undefined) {\r\n _this._startTimeIndex = parseInt(matches[2]);\r\n }\r\n return _this;\r\n }\r\n YouTubePlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n this.posterUrl = this.videoId\r\n ? \"https://img.youtube.com/vi/\".concat(this.videoId, \"/maxresdefault.jpg\")\r\n : undefined;\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n YouTubePlayer.prototype.getEmbedVideoUrl = function () {\r\n var url = \"https://www.youtube.com/embed/\".concat(this.videoId, \"?autoplay=1\");\r\n if (this._startTimeIndex !== undefined) {\r\n url += \"&start=\".concat(this._startTimeIndex);\r\n }\r\n return url;\r\n };\r\n return YouTubePlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.YouTubePlayer = YouTubePlayer;\r\nvar Media = /** @class */ (function (_super) {\r\n __extends(Media, _super);\r\n function Media() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.sources = [];\r\n _this.captionSources = [];\r\n return _this;\r\n }\r\n Media.prototype.createMediaPlayer = function () {\r\n for (var _i = 0, _a = Media.customMediaPlayers; _i < _a.length; _i++) {\r\n var provider = _a[_i];\r\n for (var _b = 0, _c = this.sources; _b < _c.length; _b++) {\r\n var source = _c[_b];\r\n if (source.url) {\r\n for (var _d = 0, _f = provider.urlPatterns; _d < _f.length; _d++) {\r\n var pattern = _f[_d];\r\n var matches = pattern.exec(source.url);\r\n if (matches !== null) {\r\n return provider.createMediaPlayer(matches);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return new HTML5MediaPlayer(this);\r\n };\r\n Media.prototype.handlePlayButtonInvoke = function (event) {\r\n if (this.hostConfig.media.allowInlinePlayback) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n if (this.renderedElement) {\r\n var mediaPlayerElement = this._mediaPlayer.render();\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(mediaPlayerElement);\r\n this._mediaPlayer.play();\r\n mediaPlayerElement.focus();\r\n }\r\n }\r\n else {\r\n if (Media.onPlay) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n Media.onPlay(this);\r\n }\r\n }\r\n };\r\n Media.prototype.displayPoster = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var playButtonArrowWidth, playButtonArrowHeight, posterRootElement_1, posterUrl, posterImageElement_1, playButtonOuterElement, playButtonInnerElement, playButtonContainer;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n if (this.renderedElement) {\r\n playButtonArrowWidth = 12;\r\n playButtonArrowHeight = 15;\r\n posterRootElement_1 = document.createElement(\"div\");\r\n posterRootElement_1.className = this.hostConfig.makeCssClassName(\"ac-media-poster\");\r\n posterRootElement_1.setAttribute(\"role\", \"contentinfo\");\r\n posterRootElement_1.setAttribute(\"aria-label\", this.altText ? this.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n posterRootElement_1.style.position = \"relative\";\r\n posterRootElement_1.style.display = \"flex\";\r\n posterUrl = this.poster ? this.poster : this._mediaPlayer.posterUrl;\r\n if (!posterUrl) {\r\n posterUrl = this.hostConfig.media.defaultPoster;\r\n }\r\n if (posterUrl) {\r\n posterImageElement_1 = document.createElement(\"img\");\r\n posterImageElement_1.style.width = \"100%\";\r\n posterImageElement_1.style.height = \"100%\";\r\n posterImageElement_1.setAttribute(\"role\", \"presentation\");\r\n posterImageElement_1.onerror = function (_e) {\r\n if (posterImageElement_1.parentNode) {\r\n posterImageElement_1.parentNode.removeChild(posterImageElement_1);\r\n }\r\n posterRootElement_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n };\r\n posterImageElement_1.src = posterUrl;\r\n posterRootElement_1.appendChild(posterImageElement_1);\r\n }\r\n else {\r\n posterRootElement_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n }\r\n if (this.hostConfig.supportsInteractivity && this._mediaPlayer.canPlay()) {\r\n playButtonOuterElement = document.createElement(\"div\");\r\n playButtonOuterElement.tabIndex = 0;\r\n playButtonOuterElement.setAttribute(\"role\", \"button\");\r\n playButtonOuterElement.setAttribute(\"aria-label\", strings_1.Strings.defaults.mediaPlayerPlayMedia());\r\n playButtonOuterElement.className =\r\n this.hostConfig.makeCssClassName(\"ac-media-playButton\");\r\n playButtonOuterElement.style.display = \"flex\";\r\n playButtonOuterElement.style.alignItems = \"center\";\r\n playButtonOuterElement.style.justifyContent = \"center\";\r\n playButtonOuterElement.onclick = function (e) {\r\n _this.handlePlayButtonInvoke(e);\r\n };\r\n playButtonOuterElement.onkeypress = function (e) {\r\n if (e.code === \"Enter\" || e.code === \"Space\") {\r\n // space or enter\r\n _this.handlePlayButtonInvoke(e);\r\n }\r\n };\r\n playButtonInnerElement = document.createElement(\"div\");\r\n playButtonInnerElement.className = this.hostConfig.makeCssClassName(\"ac-media-playButton-arrow\");\r\n playButtonInnerElement.style.width = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.height = playButtonArrowHeight + \"px\";\r\n playButtonInnerElement.style.borderTopWidth = playButtonArrowHeight / 2 + \"px\";\r\n playButtonInnerElement.style.borderBottomWidth = playButtonArrowHeight / 2 + \"px\";\r\n playButtonInnerElement.style.borderLeftWidth = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.borderRightWidth = \"0\";\r\n playButtonInnerElement.style.borderStyle = \"solid\";\r\n playButtonInnerElement.style.borderTopColor = \"transparent\";\r\n playButtonInnerElement.style.borderRightColor = \"transparent\";\r\n playButtonInnerElement.style.borderBottomColor = \"transparent\";\r\n playButtonInnerElement.style.transform =\r\n \"translate(\" + playButtonArrowWidth / 10 + \"px,0px)\";\r\n playButtonOuterElement.appendChild(playButtonInnerElement);\r\n playButtonContainer = document.createElement(\"div\");\r\n playButtonContainer.style.position = \"absolute\";\r\n playButtonContainer.style.left = \"0\";\r\n playButtonContainer.style.top = \"0\";\r\n playButtonContainer.style.width = \"100%\";\r\n playButtonContainer.style.height = \"100%\";\r\n playButtonContainer.style.display = \"flex\";\r\n playButtonContainer.style.justifyContent = \"center\";\r\n playButtonContainer.style.alignItems = \"center\";\r\n playButtonContainer.appendChild(playButtonOuterElement);\r\n posterRootElement_1.appendChild(playButtonContainer);\r\n }\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(posterRootElement_1);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n Media.prototype.internalRender = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-media\");\r\n return element;\r\n };\r\n Media.prototype.render = function () {\r\n var _this = this;\r\n var result = _super.prototype.render.call(this);\r\n if (result) {\r\n this._mediaPlayer = this.createMediaPlayer();\r\n this._mediaPlayer.fetchVideoDetails().then(function () { return _this.displayPoster(); });\r\n }\r\n return result;\r\n };\r\n Media.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.displayPoster();\r\n };\r\n Media.prototype.getJsonTypeName = function () {\r\n return \"Media\";\r\n };\r\n Media.prototype.getResourceInformation = function () {\r\n var result = [];\r\n if (this._mediaPlayer) {\r\n var posterUrl = this.poster ? this.poster : this.hostConfig.media.defaultPoster;\r\n if (posterUrl) {\r\n result.push({ url: posterUrl, mimeType: \"image\" });\r\n }\r\n }\r\n for (var _i = 0, _a = this.sources; _i < _a.length; _i++) {\r\n var mediaSource = _a[_i];\r\n if (mediaSource.isValid()) {\r\n result.push({\r\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `mediaSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: mediaSource.url,\r\n mimeType: mediaSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\r\n });\r\n }\r\n }\r\n for (var _b = 0, _c = this.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.isValid()) {\r\n result.push({\r\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `captionSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: captionSource.url,\r\n mimeType: captionSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\r\n });\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Media.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return this._mediaPlayer.selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Media.customMediaPlayers = [\r\n {\r\n urlPatterns: [\r\n /^(?:https?:\\/\\/)?(?:www.)?youtube.com\\/watch\\?(?=.*v=([\\w\\d-_]+))(?=(?:.*t=(\\d+))?).*/gi,\r\n /^(?:https?:\\/\\/)?youtu.be\\/([\\w\\d-_]+)(?:\\?t=(\\d+))?/gi\r\n ],\r\n createMediaPlayer: function (matches) {\r\n return new YouTubePlayer(matches, strings_1.Strings.defaults.youTubeVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?vimeo.com\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new VimeoPlayer(matches, strings_1.Strings.defaults.vimeoVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?(?:www.)?dailymotion.com\\/video\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new DailymotionPlayer(matches, strings_1.Strings.defaults.dailymotionVideoPlayer());\r\n }\r\n }\r\n ];\r\n //#region Schema\r\n Media.sourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_1, \"sources\", MediaSource);\r\n Media.captionSourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_6, \"captionSources\", CaptionSource);\r\n Media.posterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"poster\");\r\n Media.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"altText\");\r\n __decorate([\r\n (0, serialization_1.property)(Media.sourcesProperty)\r\n ], Media.prototype, \"sources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.captionSourcesProperty)\r\n ], Media.prototype, \"captionSources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.posterProperty)\r\n ], Media.prototype, \"poster\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.altTextProperty)\r\n ], Media.prototype, \"altText\", void 0);\r\n return Media;\r\n}(CardElement));\r\nexports.Media = Media;\r\nvar InputEventType;\r\n(function (InputEventType) {\r\n InputEventType[InputEventType[\"InitialRender\"] = 0] = \"InitialRender\";\r\n InputEventType[InputEventType[\"MouseEnterOnCard\"] = 1] = \"MouseEnterOnCard\";\r\n InputEventType[InputEventType[\"MouseLeaveOnCard\"] = 2] = \"MouseLeaveOnCard\";\r\n InputEventType[InputEventType[\"FocusLeave\"] = 3] = \"FocusLeave\";\r\n})(InputEventType || (InputEventType = {}));\r\nvar Input = /** @class */ (function (_super) {\r\n __extends(Input, _super);\r\n function Input() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.inputStyle = Enums.InputStyle.Default;\r\n return _this;\r\n }\r\n Input.prototype.getAllLabelIds = function () {\r\n var labelIds = [];\r\n if (this.labelledBy) {\r\n labelIds.push(this.labelledBy);\r\n }\r\n if (this._renderedLabelElement) {\r\n labelIds.push(this._renderedLabelElement.id);\r\n }\r\n if (this._renderedErrorMessageElement) {\r\n labelIds.push(this._renderedErrorMessageElement.id);\r\n }\r\n return labelIds;\r\n };\r\n Input.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._renderedInputControlElement) {\r\n var labelIds = this.getAllLabelIds();\r\n if (labelIds.length > 0) {\r\n this._renderedInputControlElement.setAttribute(\"aria-labelledby\", labelIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedInputControlElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n Object.defineProperty(Input.prototype, \"isNullable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"renderedInputControlElement\", {\r\n get: function () {\r\n return this._renderedInputControlElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"inputControlContainerElement\", {\r\n get: function () {\r\n return this._inputControlContainerElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.overrideInternalRender = function () {\r\n var _this = this;\r\n var hostConfig = this.hostConfig;\r\n this._outerContainerElement = document.createElement(\"div\");\r\n this._outerContainerElement.style.display = \"flex\";\r\n if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n this._outerContainerElement.style.flexDirection = \"row\";\r\n }\r\n else {\r\n this._outerContainerElement.style.flexDirection = \"column\";\r\n }\r\n var renderedInputControlId = Utils.generateUniqueId();\r\n if (this.label) {\r\n var labelRichTextBlock = new RichTextBlock();\r\n labelRichTextBlock.setParent(this);\r\n labelRichTextBlock.forElementId = renderedInputControlId;\r\n var labelInline = new TextRun(this.label);\r\n labelRichTextBlock.addInline(labelInline);\r\n if (this.isRequired) {\r\n labelInline.init(hostConfig.inputs.label.requiredInputs);\r\n var isRequiredCueInline = new TextRun(hostConfig.inputs.label.requiredInputs.suffix);\r\n isRequiredCueInline.color = hostConfig.inputs.label.requiredInputs.suffixColor;\r\n isRequiredCueInline.ariaHidden = true;\r\n labelRichTextBlock.addInline(isRequiredCueInline);\r\n }\r\n else {\r\n labelInline.init(hostConfig.inputs.label.optionalInputs);\r\n }\r\n this._renderedLabelElement = labelRichTextBlock.render();\r\n if (this._renderedLabelElement) {\r\n this._renderedLabelElement.id = Utils.generateUniqueId();\r\n if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n // For inline label position: label should be in center of the div and no extra spacing needed\r\n this._renderedLabelElement.style.alignSelf = \"center\";\r\n }\r\n else {\r\n this._renderedLabelElement.style.marginBottom =\r\n hostConfig.getEffectiveSpacing(hostConfig.inputs.label.inputSpacing) + \"px\";\r\n }\r\n this._outerContainerElement.appendChild(this._renderedLabelElement);\r\n }\r\n }\r\n this._inputControlContainerElement = document.createElement(\"div\");\r\n this._inputControlContainerElement.className =\r\n hostConfig.makeCssClassName(\"ac-input-container\");\r\n this._inputControlContainerElement.style.display = \"flex\";\r\n if (this.height === \"stretch\") {\r\n this._inputControlContainerElement.style.alignItems = \"stretch\";\r\n this._inputControlContainerElement.style.flex = \"1 1 auto\";\r\n }\r\n this._renderedInputControlElement = this.internalRender();\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.id = renderedInputControlId;\r\n this._renderedInputControlElement.style.minWidth = \"0px\";\r\n if (this.isNullable && this.isRequired) {\r\n this._renderedInputControlElement.setAttribute(\"aria-required\", \"true\");\r\n this._renderedInputControlElement.classList.add(hostConfig.makeCssClassName(\"ac-input-required\"));\r\n }\r\n this._inputControlContainerElement.appendChild(this._renderedInputControlElement);\r\n this._outerContainerElement.appendChild(this._inputControlContainerElement);\r\n if (this._renderedLabelElement && this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n if (!this.labelWidth) {\r\n var defaultLabelWidth = hostConfig.inputs.label.width;\r\n this._renderedLabelElement.style.width = defaultLabelWidth.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - defaultLabelWidth) + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Weight) {\r\n var labelWidthInPercent = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPercent.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - labelWidthInPercent).toString() + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Pixel) {\r\n var labelWidthInPixel = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPixel.toString() + \"px\";\r\n }\r\n }\r\n this.updateVisualState(InputEventType.InitialRender);\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.onblur = function (ev) {\r\n _this.updateVisualState(InputEventType.FocusLeave);\r\n };\r\n }\r\n this.updateInputControlAriaLabelledBy();\r\n return this._outerContainerElement;\r\n }\r\n this.resetDirtyState();\r\n return undefined;\r\n };\r\n Input.prototype.valueChanged = function () {\r\n this.getRootElement().updateActionsEnabledState();\r\n if (this.isValid()) {\r\n this.resetValidationFailureCue();\r\n }\r\n if (this.onValueChanged) {\r\n this.onValueChanged(this);\r\n }\r\n raiseInputValueChangedEvent(this);\r\n };\r\n Input.prototype.resetValidationFailureCue = function () {\r\n if (this.renderedInputControlElement) {\r\n if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.removeValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\r\n this.updateInputControlAriaLabelledBy();\r\n if (this._renderedErrorMessageElement) {\r\n this._outerContainerElement.removeChild(this._renderedErrorMessageElement);\r\n this._renderedErrorMessageElement = undefined;\r\n }\r\n }\r\n };\r\n Input.prototype.showValidationErrorMessage = function () {\r\n if (this.renderedElement &&\r\n this.errorMessage &&\r\n shared_1.GlobalSettings.displayInputValidationErrors) {\r\n var errorMessageTextBlock = new TextBlock();\r\n errorMessageTextBlock.setParent(this);\r\n errorMessageTextBlock.text = this.errorMessage;\r\n errorMessageTextBlock.wrap = true;\r\n errorMessageTextBlock.init(this.hostConfig.inputs.errorMessage);\r\n this._renderedErrorMessageElement = errorMessageTextBlock.render();\r\n if (this._renderedErrorMessageElement) {\r\n this._renderedErrorMessageElement.id = Utils.generateUniqueId();\r\n this._outerContainerElement.appendChild(this._renderedErrorMessageElement);\r\n this.updateInputControlAriaLabelledBy();\r\n }\r\n }\r\n };\r\n Object.defineProperty(Input.prototype, \"allowRevealOnHoverStyle\", {\r\n get: function () {\r\n return this.hostConfig.inputs && this.hostConfig.inputs.allowRevealOnHoverStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.shouldHideInputAdornersForRevealOnHover = function (input, eventType) {\r\n // show/hide input adorners (date picker, time picker, select dropdown picker) with inputStyle RevealOnHover\r\n // 1. intial render of card: hide input adorners\r\n // 2. mouse hover on the card: show input adorners\r\n // 3. mouse hover outside the card: hide input adorners unless input is still in focus state\r\n // 4. input loses focus: hide the input adorners unless mouse is still hovering on the card\r\n // check if input still has the focus\r\n var isInputInFocus = input === document.activeElement;\r\n // check if mouse is still on the card\r\n var inputHoverClassName = this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\");\r\n var isMouseOverCard = input.classList.contains(inputHoverClassName);\r\n var hideInputAdorners = (eventType === InputEventType.InitialRender) ||\r\n (eventType === InputEventType.FocusLeave && !isMouseOverCard) ||\r\n (eventType === InputEventType.MouseLeaveOnCard && !isInputInFocus);\r\n return hideInputAdorners;\r\n };\r\n Input.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle ||\r\n !this._renderedInputControlElement ||\r\n this.inputStyle !== Enums.InputStyle.RevealOnHover) {\r\n return;\r\n }\r\n if (eventType === InputEventType.InitialRender) {\r\n // on initial render, we will show input fields as read only view\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onrender\"));\r\n }\r\n else if (eventType === InputEventType.MouseEnterOnCard) {\r\n // on hover on the card, we will reveal the inputs by showing borders etc\r\n // ac-inputStyle-revealOnHover-onhover class is also used to identify if mouse is hovering on the card\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\r\n }\r\n else if (eventType === InputEventType.MouseLeaveOnCard) {\r\n this._renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\r\n }\r\n };\r\n Input.prototype.focus = function () {\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.focus();\r\n }\r\n };\r\n Input.prototype.isValid = function () {\r\n return true;\r\n };\r\n Input.prototype.isDirty = function () {\r\n return this.value !== this._oldValue;\r\n };\r\n Input.prototype.resetDirtyState = function () {\r\n this._oldValue = this.value;\r\n };\r\n Input.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.id) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.inputsMustHaveUniqueId());\r\n }\r\n if (this.isRequired) {\r\n if (!this.label) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveLabel, \"Required inputs should have a label\");\r\n }\r\n if (!this.errorMessage) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveErrorMessage, \"Required inputs should have an error message\");\r\n }\r\n }\r\n };\r\n Input.prototype.validateValue = function () {\r\n this.resetValidationFailureCue();\r\n var result = this.isRequired ? this.isSet() && this.isValid() : this.isValid();\r\n if (!result && this.renderedInputControlElement) {\r\n if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.showValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\r\n this.showValidationErrorMessage();\r\n }\r\n return result;\r\n };\r\n Input.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [this];\r\n };\r\n Input.prototype.render = function () {\r\n var result = _super.prototype.render.call(this);\r\n this.resetDirtyState();\r\n return result;\r\n };\r\n Object.defineProperty(Input.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Input.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"label\", true);\r\n Input.isRequiredProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"isRequired\", false);\r\n Input.errorMessageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"errorMessage\", true);\r\n Input.inputStyleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"inputStyle\", Enums.InputStyle, Enums.InputStyle.Default, [\r\n { value: Enums.InputStyle.RevealOnHover },\r\n { value: Enums.InputStyle.Default }\r\n ]);\r\n Input.labelWidthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_6, \"labelWidth\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidLabelWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n if (result.physicalSize < 0 || result.physicalSize > 100) {\r\n invalidLabelWidth = true;\r\n }\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n }\r\n catch (e) {\r\n invalidLabelWidth = true;\r\n }\r\n }\r\n else {\r\n invalidLabelWidth = true;\r\n }\r\n if (invalidLabelWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInputLabelWidth());\r\n result = undefined;\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value instanceof shared_1.SizeAndUnit) {\r\n if (value.unit === Enums.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"labelWidth\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"labelWidth\", value.physicalSize);\r\n }\r\n }\r\n }, undefined);\r\n Input.labelPositionProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"labelPosition\", Enums.InputLabelPosition, Enums.InputLabelPosition.Above, [\r\n { value: Enums.InputLabelPosition.Inline },\r\n { value: Enums.InputLabelPosition.Above }\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelProperty)\r\n ], Input.prototype, \"label\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.isRequiredProperty)\r\n ], Input.prototype, \"isRequired\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.errorMessageProperty)\r\n ], Input.prototype, \"errorMessage\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.inputStyleProperty)\r\n ], Input.prototype, \"inputStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelWidthProperty)\r\n ], Input.prototype, \"labelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelPositionProperty)\r\n ], Input.prototype, \"labelPosition\", void 0);\r\n return Input;\r\n}(CardElement));\r\nexports.Input = Input;\r\nvar TextInput = /** @class */ (function (_super) {\r\n __extends(TextInput, _super);\r\n function TextInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiline = false;\r\n _this.style = Enums.InputTextStyle.Text;\r\n return _this;\r\n }\r\n //#endregion\r\n TextInput.prototype.setupInput = function (input) {\r\n var _this = this;\r\n input.style.flex = \"1 1 auto\";\r\n input.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.placeholder) {\r\n input.placeholder = this.placeholder;\r\n input.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n if (this.defaultValue) {\r\n input.value = this.defaultValue;\r\n }\r\n if (this.maxLength && this.maxLength > 0) {\r\n input.maxLength = this.maxLength;\r\n }\r\n input.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n input.onkeypress = function (e) {\r\n // Ctrl+Enter pressed\r\n if (e.ctrlKey &&\r\n e.code === \"Enter\" &&\r\n _this.inlineAction &&\r\n _this.inlineAction.isEffectivelyEnabled()) {\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n };\r\n TextInput.prototype.internalRender = function () {\r\n var result;\r\n if (this.isMultiline && this.style !== Enums.InputTextStyle.Password) {\r\n result = document.createElement(\"textarea\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\", \"ac-multiline\");\r\n if (this.height === \"stretch\") {\r\n result.style.height = \"initial\";\r\n }\r\n }\r\n else {\r\n result = document.createElement(\"input\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\");\r\n result.type = Enums.InputTextStyle[this.style].toLowerCase();\r\n }\r\n this.setupInput(result);\r\n return result;\r\n };\r\n TextInput.prototype.overrideInternalRender = function () {\r\n var _this = this;\r\n var renderedInputControl = _super.prototype.overrideInternalRender.call(this);\r\n if (this.inlineAction) {\r\n var button_1 = document.createElement(\"button\");\r\n button_1.className = this.hostConfig.makeCssClassName(this.inlineAction.isEffectivelyEnabled()\r\n ? \"ac-inlineActionButton\"\r\n : \"ac-inlineActionButton-disabled\");\r\n button_1.onclick = function (e) {\r\n if (_this.inlineAction && _this.inlineAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n if (this.inlineAction.iconUrl) {\r\n button_1.classList.add(\"iconOnly\");\r\n var icon_1 = document.createElement(\"img\");\r\n icon_1.style.height = \"100%\";\r\n icon_1.setAttribute(\"role\", \"presentation\");\r\n // The below trick is necessary as a workaround in Chrome where the icon is initially displayed\r\n // at its native size then resized to 100% of the button's height. This cfreates an unpleasant\r\n // flicker. On top of that, Chrome's flex implementation fails to prperly re-layout the button\r\n // after the image has loaded and been gicven its final size. The below trick also fixes that.\r\n icon_1.style.display = \"none\";\r\n icon_1.onload = function () {\r\n icon_1.style.removeProperty(\"display\");\r\n };\r\n icon_1.onerror = function () {\r\n button_1.removeChild(icon_1);\r\n button_1.classList.remove(\"iconOnly\");\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent =\r\n _this.inlineAction && _this.inlineAction.title\r\n ? _this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n };\r\n icon_1.src = this.inlineAction.iconUrl;\r\n button_1.appendChild(icon_1);\r\n button_1.title = this.inlineAction.title\r\n ? this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n else {\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent = this.inlineAction.title\r\n ? this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n this.inlineAction.setupElementForAccessibility(button_1, true);\r\n button_1.style.marginLeft = \"8px\";\r\n this.inputControlContainerElement.appendChild(button_1);\r\n }\r\n return renderedInputControl;\r\n };\r\n TextInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!(this.inlineAction || this.isMultiline)) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n }\r\n };\r\n TextInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Text\";\r\n };\r\n TextInput.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.inlineAction) {\r\n result.push(this.inlineAction);\r\n }\r\n return result;\r\n };\r\n TextInput.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.inlineAction) {\r\n result = this.inlineAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n TextInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TextInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return true;\r\n }\r\n if (this.regex) {\r\n return new RegExp(this.regex, \"g\").test(this.value);\r\n }\r\n return true;\r\n };\r\n Object.defineProperty(TextInput.prototype, \"value\", {\r\n get: function () {\r\n if (this.renderedInputControlElement) {\r\n if (this.isMultiline) {\r\n return this.renderedInputControlElement.value;\r\n }\r\n else {\r\n return this.renderedInputControlElement.value;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n TextInput.maxLengthProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLength\");\r\n TextInput.isMultilineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiline\", false);\r\n TextInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TextInput.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.InputTextStyle, Enums.InputTextStyle.Text, [\r\n { value: Enums.InputTextStyle.Text },\r\n { value: Enums.InputTextStyle.Tel },\r\n { value: Enums.InputTextStyle.Url },\r\n { value: Enums.InputTextStyle.Email },\r\n { value: Enums.InputTextStyle.Password, targetVersion: serialization_1.Versions.v1_5 }\r\n ]);\r\n TextInput.inlineActionProperty = new ActionProperty(serialization_1.Versions.v1_0, \"inlineAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n TextInput.regexProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"regex\", true);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.valueProperty)\r\n ], TextInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.maxLengthProperty)\r\n ], TextInput.prototype, \"maxLength\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.isMultilineProperty)\r\n ], TextInput.prototype, \"isMultiline\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.placeholderProperty)\r\n ], TextInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.styleProperty)\r\n ], TextInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.inlineActionProperty)\r\n ], TextInput.prototype, \"inlineAction\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.regexProperty)\r\n ], TextInput.prototype, \"regex\", void 0);\r\n return TextInput;\r\n}(Input));\r\nexports.TextInput = TextInput;\r\nvar ToggleInput = /** @class */ (function (_super) {\r\n __extends(ToggleInput, _super);\r\n function ToggleInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.valueOn = \"true\";\r\n _this.valueOff = \"false\";\r\n _this.wrap = false;\r\n return _this;\r\n }\r\n ToggleInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._checkboxInputElement) {\r\n var joinedLabelIds = this.getAllLabelIds().join(\" \");\r\n if (this._checkboxInputLabelElement && this._checkboxInputLabelElement.id) {\r\n joinedLabelIds += \" \" + this._checkboxInputLabelElement.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._checkboxInputElement.setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._checkboxInputElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n ToggleInput.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-toggleInput\");\r\n element.style.width = \"100%\";\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"center\";\r\n this._checkboxInputElement = document.createElement(\"input\");\r\n this._checkboxInputElement.id = Utils.generateUniqueId();\r\n this._checkboxInputElement.type = \"checkbox\";\r\n this._checkboxInputElement.style.display = \"inline-block\";\r\n this._checkboxInputElement.style.verticalAlign = \"middle\";\r\n this._checkboxInputElement.style.margin = \"0\";\r\n this._checkboxInputElement.style.flex = \"0 0 auto\";\r\n if (this.title) {\r\n this._checkboxInputElement.setAttribute(\"aria-label\", this.title);\r\n }\r\n if (this.isRequired) {\r\n this._checkboxInputElement.setAttribute(\"aria-required\", \"true\");\r\n }\r\n this._checkboxInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue === this.valueOn) {\r\n this._checkboxInputElement.checked = true;\r\n }\r\n this._oldCheckboxValue = this._checkboxInputElement.checked;\r\n this._checkboxInputElement.onchange = function () {\r\n _this.valueChanged();\r\n };\r\n Utils.appendChild(element, this._checkboxInputElement);\r\n if (this.title || this.isDesignMode()) {\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = this._checkboxInputElement.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = !this.title ? this.getJsonTypeName() : this.title;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n this._checkboxInputLabelElement = label.render();\r\n if (this._checkboxInputLabelElement) {\r\n this._checkboxInputLabelElement.id = Utils.generateUniqueId();\r\n this._checkboxInputLabelElement.style.display = \"inline-block\";\r\n this._checkboxInputLabelElement.style.flex = \"1 1 auto\";\r\n this._checkboxInputLabelElement.style.marginLeft = \"6px\";\r\n this._checkboxInputLabelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(element, spacerElement);\r\n Utils.appendChild(element, this._checkboxInputLabelElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"isNullable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.prototype.updateVisualState = function (eventType) {\r\n };\r\n ToggleInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Toggle\";\r\n };\r\n ToggleInput.prototype.focus = function () {\r\n if (this._checkboxInputElement) {\r\n this._checkboxInputElement.focus();\r\n }\r\n };\r\n ToggleInput.prototype.isSet = function () {\r\n if (this.isRequired) {\r\n return this.value === this.valueOn;\r\n }\r\n return this.value ? true : false;\r\n };\r\n ToggleInput.prototype.isDirty = function () {\r\n return this._checkboxInputElement\r\n ? this._checkboxInputElement.checked !== this._oldCheckboxValue\r\n : false;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"value\", {\r\n get: function () {\r\n if (this._checkboxInputElement) {\r\n return this._checkboxInputElement.checked ? this.valueOn : this.valueOff;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ToggleInput.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n ToggleInput.valueOnProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOn\", true, undefined, \"true\", function (sender) {\r\n return \"true\";\r\n });\r\n ToggleInput.valueOffProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOff\", true, undefined, \"false\", function (sender) {\r\n return \"false\";\r\n });\r\n ToggleInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueProperty)\r\n ], ToggleInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.titleProperty)\r\n ], ToggleInput.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOnProperty)\r\n ], ToggleInput.prototype, \"valueOn\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOffProperty)\r\n ], ToggleInput.prototype, \"valueOff\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.wrapProperty)\r\n ], ToggleInput.prototype, \"wrap\", void 0);\r\n return ToggleInput;\r\n}(Input));\r\nexports.ToggleInput = ToggleInput;\r\nvar Choice = /** @class */ (function (_super) {\r\n __extends(Choice, _super);\r\n function Choice(title, value) {\r\n var _this = _super.call(this) || this;\r\n _this.title = title;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Choice.prototype.getSchemaKey = function () {\r\n return \"Choice\";\r\n };\r\n //#region Schema\r\n Choice.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Choice.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(Choice.titleProperty)\r\n ], Choice.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Choice.valueProperty)\r\n ], Choice.prototype, \"value\", void 0);\r\n return Choice;\r\n}(serialization_1.SerializableObject));\r\nexports.Choice = Choice;\r\n/**\r\n * DataQuery class is declared later in the file and derives from subsequent base classes\r\n * Hence, it cannot be used in ChoiceSetInput.\r\n * Refactor is needed to separate elements and actions in separate files.\r\n */\r\nvar ChoiceSetInputDataQuery = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInputDataQuery, _super);\r\n function ChoiceSetInputDataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ChoiceSetInputDataQuery.prototype.getSchemaKey = function () {\r\n return \"choices.data\";\r\n };\r\n //#region Schema\r\n ChoiceSetInputDataQuery.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"type\", true, new RegExp(\"^Data.Query$\"));\r\n ChoiceSetInputDataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n ChoiceSetInputDataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n ChoiceSetInputDataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.typeProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.datasetProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.countProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.skipProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"skip\", void 0);\r\n return ChoiceSetInputDataQuery;\r\n}(serialization_1.SerializableObject));\r\nexports.ChoiceSetInputDataQuery = ChoiceSetInputDataQuery;\r\nvar ChoiceSetInput = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInput, _super);\r\n function ChoiceSetInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiSelect = false;\r\n _this.wrap = false;\r\n _this.choices = [];\r\n return _this;\r\n }\r\n Object.defineProperty(ChoiceSetInput.prototype, \"isCompact\", {\r\n get: function () {\r\n return !this.style || this.style === \"compact\";\r\n },\r\n set: function (value) {\r\n this.style = value ? undefined : \"expanded\";\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.getUniqueCategoryName = function () {\r\n var uniqueCategoryName = \"__ac-category\" + ChoiceSetInput._uniqueCategoryCounter;\r\n ChoiceSetInput._uniqueCategoryCounter++;\r\n return uniqueCategoryName;\r\n };\r\n ChoiceSetInput.prototype.isDynamicTypeahead = function () {\r\n return (this.hostConfig.inputs.allowDynamicallyFilteredChoiceSet &&\r\n !!this.choicesData &&\r\n !!this.choicesData.dataset &&\r\n this.choicesData.type === \"Data.Query\");\r\n };\r\n ChoiceSetInput.prototype.getFilterForDynamicSearch = function () {\r\n var _a;\r\n return (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value;\r\n };\r\n ChoiceSetInput.prototype.getDropdownElement = function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dropdown;\r\n };\r\n ChoiceSetInput.prototype.renderChoices = function (filter, fetchedChoices) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.processResponse(filter, fetchedChoices);\r\n };\r\n ChoiceSetInput.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.removeLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.removeLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.showErrorIndicator = function (filter, error) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showErrorIndicator(filter, error);\r\n };\r\n ChoiceSetInput.prototype.showValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.removeValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.createPlaceholderOptionWhenValueDoesNotExist = function () {\r\n if (!this.value) {\r\n var placeholderOption = document.createElement(\"option\");\r\n placeholderOption.selected = true;\r\n placeholderOption.disabled = true;\r\n placeholderOption.hidden = true;\r\n placeholderOption.value = \"\";\r\n if (this.placeholder) {\r\n placeholderOption.text = this.placeholder;\r\n }\r\n return placeholderOption;\r\n }\r\n return undefined;\r\n };\r\n // Make sure `aria-current` is applied to the currently-selected item\r\n ChoiceSetInput.prototype.internalApplyAriaCurrent = function () {\r\n if (this._selectElement) {\r\n var options = this._selectElement.options;\r\n if (options) {\r\n for (var _i = 0, _a = Array.from(options); _i < _a.length; _i++) {\r\n var option = _a[_i];\r\n if (option.selected) {\r\n option.setAttribute(\"aria-current\", \"true\");\r\n }\r\n else {\r\n option.removeAttribute(\"aria-current\");\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.renderCompoundInput = function (cssClassName, type, defaultValues) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", cssClassName);\r\n element.style.width = \"100%\";\r\n element.tabIndex = this.isDesignMode() ? -1 : 0;\r\n this._toggleInputs = [];\r\n this._labels = [];\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var input = document.createElement(\"input\");\r\n input.id = Utils.generateUniqueId();\r\n input.type = type;\r\n input.style.margin = \"0\";\r\n input.style.display = \"inline-block\";\r\n input.style.verticalAlign = \"middle\";\r\n input.style.flex = \"0 0 auto\";\r\n input.name = this.id ? this.id : this._uniqueCategoryName;\r\n if (this.isRequired) {\r\n input.setAttribute(\"aria-required\", \"true\");\r\n }\r\n input.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (choice.value) {\r\n input.value = choice.value;\r\n }\r\n if (choice.title) {\r\n input.setAttribute(\"aria-label\", choice.title);\r\n }\r\n if (defaultValues && choice.value) {\r\n if (defaultValues.indexOf(choice.value) >= 0) {\r\n input.checked = true;\r\n }\r\n }\r\n input.onchange = function () {\r\n _this.valueChanged();\r\n };\r\n this._toggleInputs.push(input);\r\n var compoundInput = document.createElement(\"div\");\r\n compoundInput.style.display = \"flex\";\r\n compoundInput.style.alignItems = \"center\";\r\n Utils.appendChild(compoundInput, input);\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = input.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = choice.title ? choice.title : \"Choice \" + this._toggleInputs.length;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n var labelElement = label.render();\r\n this._labels.push(labelElement);\r\n if (labelElement) {\r\n labelElement.id = Utils.generateUniqueId();\r\n labelElement.style.display = \"inline-block\";\r\n labelElement.style.flex = \"1 1 auto\";\r\n labelElement.style.marginLeft = \"6px\";\r\n labelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(compoundInput, spacerElement);\r\n Utils.appendChild(compoundInput, labelElement);\r\n }\r\n Utils.appendChild(element, compoundInput);\r\n }\r\n return element;\r\n };\r\n ChoiceSetInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if ((this.isMultiSelect || this.style === \"expanded\") &&\r\n this._toggleInputs &&\r\n this._labels) {\r\n var labelIds = this.getAllLabelIds();\r\n for (var i = 0; i < this._toggleInputs.length; i++) {\r\n var joinedLabelIds = labelIds.join(\" \");\r\n var label = this._labels[i];\r\n if (label && label.id) {\r\n joinedLabelIds += \" \" + label.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._toggleInputs[i].setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._toggleInputs[i].removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n }\r\n else {\r\n _super.prototype.updateInputControlAriaLabelledBy.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._uniqueCategoryName = ChoiceSetInput.getUniqueCategoryName();\r\n if (this.isDynamicTypeahead()) {\r\n var filteredChoiceSet_1 = new FilteredChoiceSet(ChoiceSetInput._uniqueCategoryCounter, this.choices, this.hostConfig);\r\n filteredChoiceSet_1.render();\r\n if (filteredChoiceSet_1.textInput) {\r\n this._textInput = filteredChoiceSet_1.textInput;\r\n if (this.defaultValue) {\r\n this._textInput.value = this.defaultValue;\r\n }\r\n if (this.placeholder && !this._textInput.value) {\r\n this._textInput.placeholder = this.placeholder;\r\n this._textInput.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var onInputChangeEventHandler = Utils.debounce(function () {\r\n filteredChoiceSet_1.processChoices();\r\n _this.valueChanged();\r\n if (_this._textInput) {\r\n // Remove aria-label when value is not empty so narration software doesn't\r\n // read the placeholder\r\n if (_this.value) {\r\n _this._textInput.removeAttribute(\"placeholder\");\r\n _this._textInput.removeAttribute(\"aria-label\");\r\n }\r\n else if (_this.placeholder) {\r\n _this._textInput.placeholder = _this.placeholder;\r\n _this._textInput.setAttribute(\"aria-label\", _this.placeholder);\r\n }\r\n }\r\n }, this.hostConfig.inputs.debounceTimeInMilliSeconds);\r\n this._textInput.onclick = onInputChangeEventHandler;\r\n this._textInput.oninput = onInputChangeEventHandler;\r\n }\r\n filteredChoiceSet_1.parent = this;\r\n this._filteredChoiceSet = filteredChoiceSet_1;\r\n return filteredChoiceSet_1.renderedElement;\r\n }\r\n else if (this.isMultiSelect) {\r\n // Render as a list of toggle inputs\r\n return this.renderCompoundInput(\"ac-choiceSetInput-multiSelect\", \"checkbox\", this.defaultValue\r\n ? this.defaultValue.split(this.hostConfig.choiceSetInputValueSeparator)\r\n : undefined);\r\n }\r\n else {\r\n if (this.style === \"expanded\") {\r\n // Render as a series of radio buttons\r\n return this.renderCompoundInput(\"ac-choiceSetInput-expanded\", \"radio\", this.defaultValue ? [this.defaultValue] : undefined);\r\n }\r\n else if (this.style === \"filtered\") {\r\n // Render as a text input coupled with a datalist\r\n var inputContainer = document.createElement(\"div\");\r\n inputContainer.style.width = \"100%\";\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-filtered\");\r\n this._textInput.type = \"text\";\r\n this._textInput.style.width = \"100%\";\r\n this._textInput.oninput = function () {\r\n _this.valueChanged();\r\n if (_this._textInput) {\r\n // Remove aria-label when value is not empty so narration software doesn't\r\n // read the placeholder\r\n if (_this.value) {\r\n _this._textInput.removeAttribute(\"placeholder\");\r\n _this._textInput.removeAttribute(\"aria-label\");\r\n }\r\n else if (_this.placeholder) {\r\n _this._textInput.placeholder = _this.placeholder;\r\n _this._textInput.setAttribute(\"aria-label\", _this.placeholder);\r\n }\r\n }\r\n };\r\n if (this.defaultValue) {\r\n this._textInput.value = this.defaultValue;\r\n }\r\n if (this.placeholder && !this._textInput.value) {\r\n this._textInput.placeholder = this.placeholder;\r\n this._textInput.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var dataList = document.createElement(\"datalist\");\r\n dataList.id = Utils.generateUniqueId();\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var option = document.createElement(\"option\");\r\n // To fix https://stackoverflow.com/questions/29882361/show-datalist-labels-but-submit-the-actual-value\r\n // value is mapped to choice.title other than choice.value\r\n if (choice.title) {\r\n option.value = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\r\n dataList.appendChild(option);\r\n }\r\n this._textInput.setAttribute(\"list\", dataList.id);\r\n inputContainer.append(this._textInput, dataList);\r\n return inputContainer;\r\n }\r\n else {\r\n // Render as a combo box\r\n this._selectElement = document.createElement(\"select\");\r\n this._selectElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-compact\");\r\n this._selectElement.style.width = \"100%\";\r\n this._selectElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var placeholderOption = this.createPlaceholderOptionWhenValueDoesNotExist();\r\n Utils.appendChild(this._selectElement, placeholderOption);\r\n for (var _b = 0, _c = this.choices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n var option = document.createElement(\"option\");\r\n option.value = choice.value;\r\n if (choice.title) {\r\n option.text = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (choice.value === this.defaultValue) {\r\n option.selected = true;\r\n }\r\n Utils.appendChild(this._selectElement, option);\r\n }\r\n this._selectElement.onchange = function () {\r\n _this.internalApplyAriaCurrent();\r\n _this.valueChanged();\r\n };\r\n this.internalApplyAriaCurrent();\r\n return this._selectElement;\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!this.isMultiSelect && this.isCompact) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._selectElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDropDownPicker = this.shouldHideInputAdornersForRevealOnHover(this._selectElement, eventType);\r\n if (hideDropDownPicker) {\r\n this._selectElement.style.appearance = \"none\";\r\n this._selectElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._selectElement.style.appearance = \"auto\";\r\n this._selectElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.getJsonTypeName = function () {\r\n return \"Input.ChoiceSet\";\r\n };\r\n ChoiceSetInput.prototype.focus = function () {\r\n if (this._toggleInputs && (this.isMultiSelect || this.style === \"expanded\")) {\r\n if (this._toggleInputs.length > 0) {\r\n this._toggleInputs[0].focus();\r\n }\r\n }\r\n else if (this._textInput) {\r\n this._textInput.focus();\r\n }\r\n else {\r\n _super.prototype.focus.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.choices.length === 0) {\r\n context.addFailure(this, Enums.ValidationEvent.CollectionCantBeEmpty, strings_1.Strings.errors.choiceSetMustHaveAtLeastOneChoice());\r\n }\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (!choice.title || !choice.value) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.choiceSetChoicesMustHaveTitleAndValue());\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n ChoiceSetInput.prototype.isValid = function () {\r\n if (this._textInput) {\r\n if (this.value === \"\" || this.value === this.placeholder) {\r\n return true;\r\n }\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (this.value === choice.value) {\r\n return true;\r\n }\r\n }\r\n if (this.dynamicChoices) {\r\n for (var _b = 0, _c = this.dynamicChoices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n if (this.value === choice) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n return _super.prototype.isValid.call(this);\r\n };\r\n Object.defineProperty(ChoiceSetInput.prototype, \"value\", {\r\n get: function () {\r\n if (!this.isMultiSelect) {\r\n if (this._selectElement) {\r\n return this._selectElement.selectedIndex > 0\r\n ? this._selectElement.value\r\n : undefined;\r\n }\r\n else if (this._textInput) {\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (choice.title && this._textInput.value === choice.title) {\r\n return choice.value;\r\n }\r\n }\r\n return this._textInput.value;\r\n }\r\n else if (this._toggleInputs && this._toggleInputs.length > 0) {\r\n for (var _b = 0, _c = this._toggleInputs; _b < _c.length; _b++) {\r\n var toggleInput = _c[_b];\r\n if (toggleInput.checked) {\r\n return toggleInput.value;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n else {\r\n if (!this._toggleInputs || this._toggleInputs.length === 0) {\r\n return undefined;\r\n }\r\n var result = \"\";\r\n for (var _d = 0, _f = this._toggleInputs; _d < _f.length; _d++) {\r\n var toggleInput = _f[_d];\r\n if (toggleInput.checked) {\r\n if (result !== \"\") {\r\n result += this.hostConfig.choiceSetInputValueSeparator;\r\n }\r\n result += toggleInput.value;\r\n }\r\n }\r\n return result ? result : undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ChoiceSetInput.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dynamicChoices;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ChoiceSetInput.choicesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"choices\", Choice);\r\n ChoiceSetInput.choicesDataProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_6, \"choices.data\", ChoiceSetInputDataQuery);\r\n ChoiceSetInput.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_0, \"style\", [\r\n { value: \"compact\" },\r\n { value: \"expanded\" },\r\n { value: \"filtered\", targetVersion: serialization_1.Versions.v1_5 }\r\n ], \"compact\");\r\n ChoiceSetInput.isMultiSelectProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiSelect\", false);\r\n ChoiceSetInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n ChoiceSetInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n //#endregion\r\n ChoiceSetInput._uniqueCategoryCounter = 0;\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.valueProperty)\r\n ], ChoiceSetInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.styleProperty)\r\n ], ChoiceSetInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.isMultiSelectProperty)\r\n ], ChoiceSetInput.prototype, \"isMultiSelect\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.placeholderProperty)\r\n ], ChoiceSetInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.wrapProperty)\r\n ], ChoiceSetInput.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesProperty)\r\n ], ChoiceSetInput.prototype, \"choices\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesDataProperty)\r\n ], ChoiceSetInput.prototype, \"choicesData\", void 0);\r\n return ChoiceSetInput;\r\n}(Input));\r\nexports.ChoiceSetInput = ChoiceSetInput;\r\nvar FilteredChoiceSet = /** @class */ (function () {\r\n function FilteredChoiceSet(choiceSetId, choices, hostConfig) {\r\n this._choiceSetId = choiceSetId;\r\n this._choices = choices;\r\n this._dynamicChoices = [];\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n this._hostConfig = hostConfig;\r\n }\r\n FilteredChoiceSet.prototype.render = function () {\r\n var _this = this;\r\n var choiceSetContainer = document.createElement(\"div\");\r\n choiceSetContainer.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-container\");\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-textbox\");\r\n this._textInput.type = \"text\";\r\n this._textInput.onkeydown = function (event) {\r\n if (event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId + 1);\r\n }\r\n else if (event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId - 1);\r\n }\r\n else if (event.key === \"Enter\") {\r\n var choice = document.getElementById(\"ac-choiceSetInput-\".concat(_this._choiceSetId, \"-choice-\").concat(_this._highlightedChoiceId));\r\n choice === null || choice === void 0 ? void 0 : choice.click();\r\n }\r\n };\r\n this._dropdown = document.createElement(\"div\");\r\n this._dropdown.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-dropdown\");\r\n choiceSetContainer.append(this._textInput, this._dropdown);\r\n this._renderedElement = choiceSetContainer;\r\n };\r\n FilteredChoiceSet.prototype.createChoice = function (value, filter, id) {\r\n var _this = this;\r\n var choice = document.createElement(\"span\");\r\n choice.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-choice\");\r\n choice.id = \"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id);\r\n choice.innerHTML = value.replace(filter, \"\".concat(filter, \"\"));\r\n choice.tabIndex = -1;\r\n choice.onclick = function () {\r\n choice.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n _this._highlightedChoiceId = -1;\r\n if (_this._textInput) {\r\n _this._textInput.value = choice.innerText;\r\n _this._textInput.focus();\r\n }\r\n if (_this._dropdown) {\r\n _this._dropdown.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n choice.onmousemove = function () {\r\n if (_this._highlightedChoiceId !== id) {\r\n _this.highlightChoice(id, false);\r\n }\r\n };\r\n return choice;\r\n };\r\n FilteredChoiceSet.prototype.highlightChoice = function (id, scrollIntoView) {\r\n if (scrollIntoView === void 0) { scrollIntoView = true; }\r\n if (this._visibleChoiceCount > 0) {\r\n var currentHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(this._highlightedChoiceId));\r\n var nextHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id));\r\n if (nextHighlightedChoice) {\r\n currentHighlightedChoice === null || currentHighlightedChoice === void 0 ? void 0 : currentHighlightedChoice.classList.remove(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n nextHighlightedChoice.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n if (scrollIntoView) {\r\n nextHighlightedChoice.scrollIntoView();\r\n }\r\n this._highlightedChoiceId = id;\r\n }\r\n else if (currentHighlightedChoice && this._highlightedChoiceId !== 0) {\r\n this.highlightChoice(0);\r\n }\r\n else {\r\n this.highlightChoice(this._visibleChoiceCount - 1);\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.filterChoices = function () {\r\n var _a, _b;\r\n var filter = ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value.toLowerCase().trim()) || \"\";\r\n var choices = __spreadArray(__spreadArray([], this._choices, true), this._dynamicChoices, true);\r\n for (var _i = 0, choices_1 = choices; _i < choices_1.length; _i++) {\r\n var choice = choices_1[_i];\r\n if (choice.title) {\r\n var matchIndex = choice.title.toLowerCase().indexOf(filter);\r\n if (matchIndex !== -1) {\r\n var matchedText = choice.title.substring(matchIndex, matchIndex + filter.length);\r\n var choiceContainer = this.createChoice(choice.title, matchedText, this._visibleChoiceCount++);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(choiceContainer);\r\n }\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.getStatusIndicator = function (error) {\r\n if (error) {\r\n if (!this._errorIndicator) {\r\n var errorIndicator = document.createElement(\"div\");\r\n errorIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\", \"ac-choiceSetInput-errorIndicator\");\r\n this._errorIndicator = errorIndicator;\r\n }\r\n this._errorIndicator.innerText = error;\r\n return this._errorIndicator;\r\n }\r\n else {\r\n if (!this._loadingIndicator) {\r\n var loadingIndicator = document.createElement(\"div\");\r\n loadingIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\");\r\n this._loadingIndicator = loadingIndicator;\r\n }\r\n this._loadingIndicator.innerText =\r\n this._visibleChoiceCount === 0 ? \"Loading...\" : \"Loading more...\";\r\n return this._loadingIndicator;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.resetDropdown = function () {\r\n if (this._dropdown) {\r\n Utils.clearElementChildren(this._dropdown);\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showDropdown = function () {\r\n var _a;\r\n if ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.hasChildNodes()) {\r\n this._dropdown.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n FilteredChoiceSet.prototype.processChoices = function () {\r\n this.resetDropdown();\r\n this.filterChoices();\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.processResponse = function (filter, fetchedChoices) {\r\n var _a;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.resetDropdown();\r\n this._dynamicChoices = fetchedChoices;\r\n this.filterChoices();\r\n if (this._visibleChoiceCount === 0) {\r\n this.showErrorIndicator(filter, \"No results found\");\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n var loadingIndicator = this.getStatusIndicator();\r\n (_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.appendChild(loadingIndicator);\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.removeLoadingIndicator = function () {\r\n var _a, _b;\r\n if (this._loadingIndicator && ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.contains(this._loadingIndicator))) {\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.removeChild(this._loadingIndicator);\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showErrorIndicator = function (filter, error) {\r\n var _a, _b;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.processChoices();\r\n var errorIndicator = this.getStatusIndicator(error);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(errorIndicator);\r\n errorIndicator.scrollIntoView();\r\n }\r\n };\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._dynamicChoices) === null || _a === void 0 ? void 0 : _a.map(function (choice) { return choice.title; });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"hostConfig\", {\r\n get: function () {\r\n if (this._hostConfig) {\r\n return this._hostConfig;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.hostConfig;\r\n }\r\n else {\r\n return host_config_1.defaultHostConfig;\r\n }\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n set: function (value) {\r\n this._parent = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"renderedElement\", {\r\n get: function () {\r\n return this._renderedElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"textInput\", {\r\n get: function () {\r\n return this._textInput;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dropdown\", {\r\n get: function () {\r\n return this._dropdown;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return FilteredChoiceSet;\r\n}());\r\nexports.FilteredChoiceSet = FilteredChoiceSet;\r\nvar NumberInput = /** @class */ (function (_super) {\r\n __extends(NumberInput, _super);\r\n function NumberInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n NumberInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._numberInputElement = document.createElement(\"input\");\r\n this._numberInputElement.setAttribute(\"type\", \"number\");\r\n if (this.min !== undefined) {\r\n this._numberInputElement.setAttribute(\"min\", this.min.toString());\r\n }\r\n if (this.max !== undefined) {\r\n this._numberInputElement.setAttribute(\"max\", this.max.toString());\r\n }\r\n this._numberInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-numberInput\");\r\n this._numberInputElement.style.width = \"100%\";\r\n this._numberInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue !== undefined) {\r\n this._numberInputElement.valueAsNumber = this.defaultValue;\r\n }\r\n if (this.placeholder) {\r\n this._numberInputElement.placeholder = this.placeholder;\r\n this._numberInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._numberInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n return this._numberInputElement;\r\n };\r\n NumberInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Number\";\r\n };\r\n NumberInput.prototype.isSet = function () {\r\n return this.value !== undefined && !isNaN(this.value);\r\n };\r\n NumberInput.prototype.isValid = function () {\r\n if (this.value === undefined) {\r\n return !this.isRequired;\r\n }\r\n var result = true;\r\n if (this.min !== undefined) {\r\n result = result && this.value >= this.min;\r\n }\r\n if (this.max !== undefined) {\r\n result = result && this.value <= this.max;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(NumberInput.prototype, \"value\", {\r\n get: function () {\r\n return this._numberInputElement ? this._numberInputElement.valueAsNumber : undefined;\r\n },\r\n set: function (value) {\r\n if (value && this._numberInputElement) {\r\n this._numberInputElement.value = value.toString();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n NumberInput.valueProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"value\");\r\n NumberInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n NumberInput.minProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"min\");\r\n NumberInput.maxProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.valueProperty)\r\n ], NumberInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.minProperty)\r\n ], NumberInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.maxProperty)\r\n ], NumberInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.placeholderProperty)\r\n ], NumberInput.prototype, \"placeholder\", void 0);\r\n return NumberInput;\r\n}(Input));\r\nexports.NumberInput = NumberInput;\r\nvar DateInput = /** @class */ (function (_super) {\r\n __extends(DateInput, _super);\r\n function DateInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._dateInputElement = document.createElement(\"input\");\r\n this._dateInputElement.setAttribute(\"type\", \"date\");\r\n if (this.min) {\r\n this._dateInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._dateInputElement.setAttribute(\"max\", this.max);\r\n }\r\n if (this.placeholder) {\r\n this._dateInputElement.placeholder = this.placeholder;\r\n this._dateInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._dateInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n this._dateInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-dateInput\");\r\n this._dateInputElement.style.width = \"100%\";\r\n this._dateInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n if (this.defaultValue) {\r\n this._dateInputElement.value = this.defaultValue;\r\n }\r\n return this._dateInputElement;\r\n };\r\n DateInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._dateInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDatePicker = this.shouldHideInputAdornersForRevealOnHover(this._dateInputElement, eventType);\r\n if (hideDatePicker) {\r\n this._dateInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._dateInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._dateInputElement, hideDatePicker /*hide*/);\r\n }\r\n };\r\n DateInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Date\";\r\n };\r\n DateInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n DateInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = new Date(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = new Date(this.min);\r\n result = result && valueAsDate >= minDate;\r\n }\r\n if (this.max) {\r\n var maxDate = new Date(this.max);\r\n result = result && valueAsDate <= maxDate;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(DateInput.prototype, \"value\", {\r\n get: function () {\r\n return this._dateInputElement ? this._dateInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n DateInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n DateInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n DateInput.minProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"min\");\r\n DateInput.maxProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.valueProperty)\r\n ], DateInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.minProperty)\r\n ], DateInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.maxProperty)\r\n ], DateInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.placeholderProperty)\r\n ], DateInput.prototype, \"placeholder\", void 0);\r\n return DateInput;\r\n}(Input));\r\nexports.DateInput = DateInput;\r\nvar TimeProperty = /** @class */ (function (_super) {\r\n __extends(TimeProperty, _super);\r\n function TimeProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, function (sender, prop, source, context) {\r\n var value = source[prop.name];\r\n if (typeof value === \"string\" && value && /^[0-9]{2}:[0-9]{2}$/.test(value)) {\r\n return value;\r\n }\r\n return undefined;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, value);\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n return TimeProperty;\r\n}(serialization_1.CustomProperty));\r\nexports.TimeProperty = TimeProperty;\r\nvar TimeInput = /** @class */ (function (_super) {\r\n __extends(TimeInput, _super);\r\n function TimeInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeInput.convertTimeStringToDate = function (timeString) {\r\n return new Date(\"1973-09-04T\" + timeString + \":00Z\");\r\n };\r\n TimeInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._timeInputElement = document.createElement(\"input\");\r\n this._timeInputElement.setAttribute(\"type\", \"time\");\r\n if (this.min) {\r\n this._timeInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._timeInputElement.setAttribute(\"max\", this.max);\r\n }\r\n this._timeInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-timeInput\");\r\n this._timeInputElement.style.width = \"100%\";\r\n this._timeInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n if (this.placeholder) {\r\n this._timeInputElement.placeholder = this.placeholder;\r\n this._timeInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._timeInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue) {\r\n this._timeInputElement.value = this.defaultValue;\r\n }\r\n return this._timeInputElement;\r\n };\r\n TimeInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._timeInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideTimePicker = this.shouldHideInputAdornersForRevealOnHover(this._timeInputElement, eventType);\r\n if (hideTimePicker) {\r\n this._timeInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._timeInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._timeInputElement, hideTimePicker /*hide*/);\r\n }\r\n };\r\n TimeInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Time\";\r\n };\r\n TimeInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TimeInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = TimeInput.convertTimeStringToDate(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = TimeInput.convertTimeStringToDate(this.min);\r\n result = result && valueAsDate >= minDate;\r\n }\r\n if (this.max) {\r\n var maxDate = TimeInput.convertTimeStringToDate(this.max);\r\n result = result && valueAsDate <= maxDate;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(TimeInput.prototype, \"value\", {\r\n get: function () {\r\n return this._timeInputElement ? this._timeInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TimeInput.valueProperty = new TimeProperty(serialization_1.Versions.v1_0, \"value\");\r\n TimeInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TimeInput.minProperty = new TimeProperty(serialization_1.Versions.v1_0, \"min\");\r\n TimeInput.maxProperty = new TimeProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.valueProperty)\r\n ], TimeInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.minProperty)\r\n ], TimeInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.maxProperty)\r\n ], TimeInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.placeholderProperty)\r\n ], TimeInput.prototype, \"placeholder\", void 0);\r\n return TimeInput;\r\n}(Input));\r\nexports.TimeInput = TimeInput;\r\nvar Action = /** @class */ (function (_super) {\r\n __extends(Action, _super);\r\n function Action() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.style = Enums.ActionStyle.Default;\r\n _this.mode = Enums.ActionMode.Primary;\r\n _this._state = 0 /* Normal */;\r\n _this._isFocusable = true;\r\n return _this;\r\n }\r\n //#endregion\r\n Action.prototype.renderButtonContent = function () {\r\n if (this.renderedElement) {\r\n // Cache hostConfig for perf\r\n var hostConfig = this.hostConfig;\r\n var titleElement = document.createElement(\"div\");\r\n titleElement.style.overflow = \"hidden\";\r\n titleElement.style.textOverflow = \"ellipsis\";\r\n if (!(hostConfig.actions.iconPlacement === Enums.ActionIconPlacement.AboveTitle ||\r\n hostConfig.actions.allowTitleToWrap)) {\r\n titleElement.style.whiteSpace = \"nowrap\";\r\n }\r\n if (this.title) {\r\n titleElement.innerText = this.title;\r\n }\r\n if (!this.iconUrl) {\r\n this.renderedElement.classList.add(\"noIcon\");\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n else {\r\n var iconElement = document.createElement(\"img\");\r\n iconElement.src = this.iconUrl;\r\n iconElement.style.width = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.height = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.flex = \"0 0 auto\";\r\n if (hostConfig.actions.iconPlacement === Enums.ActionIconPlacement.AboveTitle) {\r\n this.renderedElement.classList.add(\"iconAbove\");\r\n this.renderedElement.style.flexDirection = \"column\";\r\n if (this.title) {\r\n iconElement.style.marginBottom = \"6px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.classList.add(\"iconLeft\");\r\n iconElement.style.maxHeight = \"100%\";\r\n if (this.title) {\r\n iconElement.style.marginRight = \"6px\";\r\n }\r\n }\r\n this.renderedElement.appendChild(iconElement);\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n }\r\n };\r\n Action.prototype.getParentContainer = function () {\r\n if (this.parent instanceof Container) {\r\n return this.parent;\r\n }\r\n return this.parent ? this.parent.getParentContainer() : undefined;\r\n };\r\n Action.prototype.isDesignMode = function () {\r\n var rootElement = this.getRootObject();\r\n return rootElement instanceof CardElement && rootElement.isDesignMode();\r\n };\r\n Action.prototype.updateCssClasses = function () {\r\n var _a, _b;\r\n if (this.parent && this.renderedElement) {\r\n var hostConfig = this.parent.hostConfig;\r\n this.renderedElement.className = hostConfig.makeCssClassName(this.isEffectivelyEnabled() ? \"ac-pushButton\" : \"ac-pushButton-disabled\");\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer) {\r\n var parentContainerStyle = parentContainer.getEffectiveStyle();\r\n if (parentContainerStyle) {\r\n this.renderedElement.classList.add(\"style-\" + parentContainerStyle);\r\n }\r\n }\r\n this.renderedElement.tabIndex = !this.isDesignMode() && this.isFocusable ? 0 : -1;\r\n switch (this._state) {\r\n case 0 /* Normal */:\r\n // No additional classes needed\r\n break;\r\n case 1 /* Expanded */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"expanded\"));\r\n break;\r\n case 2 /* Subdued */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"subdued\"));\r\n break;\r\n }\r\n if (this.style && this.isEffectivelyEnabled()) {\r\n if (this.style === Enums.ActionStyle.Positive) {\r\n (_a = this.renderedElement.classList).add.apply(_a, hostConfig.makeCssClassNames(\"primary\", \"style-positive\"));\r\n }\r\n else {\r\n (_b = this.renderedElement.classList).add.apply(_b, hostConfig.makeCssClassNames(\"style-\" + this.style.toLowerCase()));\r\n }\r\n }\r\n }\r\n };\r\n Action.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n Action.prototype.internalGetReferencedInputs = function () {\r\n return {};\r\n };\r\n Action.prototype.internalPrepareForExecution = function (_inputs) {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.internalValidateInputs = function (referencedInputs) {\r\n var result = [];\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n if (!input.validateValue()) {\r\n result.push(input);\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Action.prototype.shouldSerialize = function (context) {\r\n return context.actionRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Action.prototype.raiseExecuteActionEvent = function () {\r\n if (this.onExecute) {\r\n this.onExecute(this);\r\n }\r\n raiseExecuteActionEvent(this);\r\n };\r\n Action.prototype.internalAfterExecute = function () {\r\n var rootObject = this.getRootObject();\r\n if (rootObject instanceof CardElement) {\r\n rootObject.updateActionsEnabledState();\r\n }\r\n };\r\n Action.prototype.getHref = function () {\r\n return \"\";\r\n };\r\n Action.prototype.getAriaRole = function () {\r\n var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"button\";\r\n };\r\n Action.prototype.getAriaRoleFromEnum = function () {\r\n switch (this.role) {\r\n case Enums.ActionRole.Button:\r\n return \"button\";\r\n case Enums.ActionRole.Link:\r\n return \"link\";\r\n case Enums.ActionRole.Menu:\r\n return \"menu\";\r\n case Enums.ActionRole.MenuItem:\r\n return \"menuitem\";\r\n case Enums.ActionRole.Tab:\r\n return \"tab\";\r\n default:\r\n return undefined;\r\n }\r\n };\r\n Action.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n element.tabIndex = this.isEffectivelyEnabled() && !this.isDesignMode() ? 0 : -1;\r\n element.setAttribute(\"role\", this.getAriaRole());\r\n if (element instanceof HTMLButtonElement) {\r\n element.disabled = !this.isEffectivelyEnabled();\r\n }\r\n if (!this.isEffectivelyEnabled()) {\r\n element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n else {\r\n element.removeAttribute(\"aria-disabled\");\r\n element.classList.add(this.hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n if (this.title) {\r\n element.setAttribute(\"aria-label\", this.title);\r\n element.title = this.title;\r\n }\r\n else {\r\n element.removeAttribute(\"aria-label\");\r\n element.removeAttribute(\"title\");\r\n }\r\n if (this.tooltip) {\r\n if (promoteTooltipToLabel && !this.title) {\r\n element.setAttribute(\"aria-label\", this.tooltip);\r\n }\r\n element.title = this.tooltip;\r\n }\r\n };\r\n Action.prototype.parse = function (source, context) {\r\n return _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n Action.prototype.render = function () {\r\n var _this = this;\r\n var buttonElement = document.createElement(\"button\");\r\n buttonElement.type = \"button\";\r\n buttonElement.style.display = \"flex\";\r\n buttonElement.style.alignItems = \"center\";\r\n buttonElement.style.justifyContent = \"center\";\r\n buttonElement.onclick = function (e) {\r\n if (_this.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.execute();\r\n }\r\n };\r\n this._renderedElement = buttonElement;\r\n this.renderButtonContent();\r\n this.updateCssClasses();\r\n this.setupElementForAccessibility(buttonElement);\r\n };\r\n Action.prototype.execute = function () {\r\n if (this._actionCollection) {\r\n this._actionCollection.actionExecuted(this);\r\n }\r\n this.raiseExecuteActionEvent();\r\n this.internalAfterExecute();\r\n };\r\n Action.prototype.prepareForExecution = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n var invalidInputs = this.internalValidateInputs(referencedInputs);\r\n if (invalidInputs.length > 0) {\r\n invalidInputs[0].focus();\r\n return false;\r\n }\r\n this.internalPrepareForExecution(referencedInputs);\r\n return true;\r\n };\r\n Action.prototype.remove = function () {\r\n if (this._actionCollection) {\r\n return this._actionCollection.removeAction(this);\r\n }\r\n return false;\r\n };\r\n Action.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n Action.prototype.getAllActions = function () {\r\n return [this];\r\n };\r\n Action.prototype.getResourceInformation = function () {\r\n return this.iconUrl ? [{ url: this.iconUrl, mimeType: \"image\" }] : [];\r\n };\r\n Action.prototype.getActionById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n Action.prototype.getReferencedInputs = function () {\r\n return this.internalGetReferencedInputs();\r\n };\r\n /**\r\n * Validates the inputs associated with this action.\r\n *\r\n * @returns A list of inputs that failed validation, or an empty array if no input failed validation.\r\n */\r\n Action.prototype.validateInputs = function () {\r\n return this.internalValidateInputs(this.getReferencedInputs());\r\n };\r\n Action.prototype.updateEnabledState = function () {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.isEffectivelyEnabled = function () {\r\n return this.isEnabled;\r\n };\r\n Object.defineProperty(Action.prototype, \"isPrimary\", {\r\n get: function () {\r\n return this.style === Enums.ActionStyle.Positive;\r\n },\r\n set: function (value) {\r\n if (value) {\r\n this.style = Enums.ActionStyle.Positive;\r\n }\r\n else {\r\n if (this.style === Enums.ActionStyle.Positive) {\r\n this.style = Enums.ActionStyle.Default;\r\n }\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"state\", {\r\n get: function () {\r\n return this._state;\r\n },\r\n set: function (value) {\r\n if (this._state !== value) {\r\n this._state = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"isFocusable\", {\r\n get: function () {\r\n return this._isFocusable;\r\n },\r\n set: function (value) {\r\n if (this._isFocusable !== value) {\r\n this._isFocusable = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Action.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Action.iconUrlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"iconUrl\");\r\n Action.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_2, \"style\", [\r\n { value: Enums.ActionStyle.Default },\r\n { value: Enums.ActionStyle.Positive },\r\n { value: Enums.ActionStyle.Destructive }\r\n ], Enums.ActionStyle.Default);\r\n Action.modeProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"mode\", [{ value: Enums.ActionMode.Primary }, { value: Enums.ActionMode.Secondary }], Enums.ActionMode.Primary);\r\n Action.tooltipProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_5, \"tooltip\");\r\n Action.isEnabledProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"isEnabled\", true);\r\n Action.roleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"role\", Enums.ActionRole);\r\n __decorate([\r\n (0, serialization_1.property)(Action.titleProperty)\r\n ], Action.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.iconUrlProperty)\r\n ], Action.prototype, \"iconUrl\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.styleProperty)\r\n ], Action.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.modeProperty)\r\n ], Action.prototype, \"mode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.tooltipProperty)\r\n ], Action.prototype, \"tooltip\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.isEnabledProperty)\r\n ], Action.prototype, \"isEnabled\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.roleProperty)\r\n ], Action.prototype, \"role\", void 0);\r\n return Action;\r\n}(card_object_1.CardObject));\r\nexports.Action = Action;\r\nvar SubmitActionBase = /** @class */ (function (_super) {\r\n __extends(SubmitActionBase, _super);\r\n function SubmitActionBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.disabledUnlessAssociatedInputsChange = false;\r\n //#endregion\r\n _this._isPrepared = false;\r\n _this._areReferencedInputsDirty = false;\r\n return _this;\r\n }\r\n SubmitActionBase.prototype.internalGetReferencedInputs = function () {\r\n var result = {};\r\n if (this.associatedInputs !== \"none\") {\r\n var current = this.parent;\r\n var inputs = [];\r\n while (current) {\r\n inputs.push.apply(inputs, current.getAllInputs(false));\r\n current = current.parent;\r\n }\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n if (input.id) {\r\n result[input.id] = input;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n SubmitActionBase.prototype.internalPrepareForExecution = function (inputs) {\r\n if (this._originalData) {\r\n this._processedData = JSON.parse(JSON.stringify(this._originalData));\r\n }\r\n else {\r\n this._processedData = {};\r\n }\r\n if (this._processedData && inputs) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = inputs[key];\r\n if (input.id && input.isSet()) {\r\n this._processedData[input.id] =\r\n typeof input.value === \"string\" ? input.value : input.value.toString();\r\n }\r\n }\r\n }\r\n this._isPrepared = true;\r\n };\r\n SubmitActionBase.prototype.internalAfterExecute = function () {\r\n if (shared_1.GlobalSettings.resetInputsDirtyStateAfterActionExecution) {\r\n this.resetReferencedInputsDirtyState();\r\n }\r\n };\r\n SubmitActionBase.prototype.resetReferencedInputsDirtyState = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n this._areReferencedInputsDirty = false;\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n input.resetDirtyState();\r\n }\r\n }\r\n };\r\n SubmitActionBase.prototype.updateEnabledState = function () {\r\n this._areReferencedInputsDirty = false;\r\n var referencedInputs = this.getReferencedInputs();\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n if (input.isDirty()) {\r\n this._areReferencedInputsDirty = true;\r\n break;\r\n }\r\n }\r\n }\r\n this.updateCssClasses();\r\n if (this._renderedElement) {\r\n this.setupElementForAccessibility(this._renderedElement);\r\n }\r\n };\r\n SubmitActionBase.prototype.isEffectivelyEnabled = function () {\r\n var result = _super.prototype.isEffectivelyEnabled.call(this);\r\n return this.disabledUnlessAssociatedInputsChange\r\n ? result && this._areReferencedInputsDirty\r\n : result;\r\n };\r\n Object.defineProperty(SubmitActionBase.prototype, \"data\", {\r\n get: function () {\r\n return this._isPrepared ? this._processedData : this._originalData;\r\n },\r\n set: function (value) {\r\n this._originalData = value;\r\n this._isPrepared = false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SubmitActionBase.dataProperty = new serialization_1.PropertyDefinition(serialization_1.Versions.v1_0, \"data\");\r\n SubmitActionBase.associatedInputsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_3, \"associatedInputs\", function (sender, prop, source, context) {\r\n var value = source[prop.name];\r\n if (value !== undefined && typeof value === \"string\") {\r\n return value.toLowerCase() === \"none\" ? \"none\" : \"auto\";\r\n }\r\n return undefined;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, value);\r\n });\r\n SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"disabledUnlessAssociatedInputsChange\", false);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.dataProperty)\r\n ], SubmitActionBase.prototype, \"_originalData\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.associatedInputsProperty)\r\n ], SubmitActionBase.prototype, \"associatedInputs\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty)\r\n ], SubmitActionBase.prototype, \"disabledUnlessAssociatedInputsChange\", void 0);\r\n return SubmitActionBase;\r\n}(Action));\r\nexports.SubmitActionBase = SubmitActionBase;\r\nvar SubmitAction = /** @class */ (function (_super) {\r\n __extends(SubmitAction, _super);\r\n function SubmitAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SubmitAction.prototype.getJsonTypeName = function () {\r\n return SubmitAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n SubmitAction.JsonTypeName = \"Action.Submit\";\r\n return SubmitAction;\r\n}(SubmitActionBase));\r\nexports.SubmitAction = SubmitAction;\r\nvar UniversalAction = /** @class */ (function (_super) {\r\n __extends(UniversalAction, _super);\r\n function UniversalAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return UniversalAction;\r\n}(SubmitActionBase));\r\nexports.UniversalAction = UniversalAction;\r\nvar ExecuteAction = /** @class */ (function (_super) {\r\n __extends(ExecuteAction, _super);\r\n function ExecuteAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ExecuteAction.prototype.getJsonTypeName = function () {\r\n return ExecuteAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ExecuteAction.JsonTypeName = \"Action.Execute\";\r\n //#region Schema\r\n ExecuteAction.verbProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"verb\");\r\n __decorate([\r\n (0, serialization_1.property)(ExecuteAction.verbProperty)\r\n ], ExecuteAction.prototype, \"verb\", void 0);\r\n return ExecuteAction;\r\n}(UniversalAction));\r\nexports.ExecuteAction = ExecuteAction;\r\nvar DataQuery = /** @class */ (function (_super) {\r\n __extends(DataQuery, _super);\r\n function DataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n DataQuery.prototype.getJsonTypeName = function () {\r\n return DataQuery.JsonTypeName;\r\n };\r\n Object.defineProperty(DataQuery.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n DataQuery.JsonTypeName = \"Data.Query\";\r\n //#region Schema\r\n DataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n DataQuery.filterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"filter\");\r\n DataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n DataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.datasetProperty)\r\n ], DataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.filterProperty)\r\n ], DataQuery.prototype, \"filter\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.countProperty)\r\n ], DataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.skipProperty)\r\n ], DataQuery.prototype, \"skip\", void 0);\r\n return DataQuery;\r\n}(UniversalAction));\r\nexports.DataQuery = DataQuery;\r\nvar OpenUrlAction = /** @class */ (function (_super) {\r\n __extends(OpenUrlAction, _super);\r\n function OpenUrlAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n OpenUrlAction.prototype.getJsonTypeName = function () {\r\n return OpenUrlAction.JsonTypeName;\r\n };\r\n OpenUrlAction.prototype.getAriaRole = function () {\r\n var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"link\";\r\n };\r\n OpenUrlAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n };\r\n OpenUrlAction.prototype.getHref = function () {\r\n return this.url;\r\n };\r\n //#region Schema\r\n OpenUrlAction.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n OpenUrlAction.JsonTypeName = \"Action.OpenUrl\";\r\n __decorate([\r\n (0, serialization_1.property)(OpenUrlAction.urlProperty)\r\n ], OpenUrlAction.prototype, \"url\", void 0);\r\n return OpenUrlAction;\r\n}(Action));\r\nexports.OpenUrlAction = OpenUrlAction;\r\nvar ToggleVisibilityAction = /** @class */ (function (_super) {\r\n __extends(ToggleVisibilityAction, _super);\r\n function ToggleVisibilityAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.targetElements = {};\r\n return _this;\r\n }\r\n ToggleVisibilityAction.prototype.updateAriaControlsAttribute = function () {\r\n // apply aria labels to make it clear which elements this action will toggle\r\n if (this.targetElements) {\r\n var elementIds = Object.keys(this.targetElements);\r\n if (this._renderedElement) {\r\n if (elementIds.length > 0) {\r\n this._renderedElement.setAttribute(\"aria-controls\", elementIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedElement.removeAttribute(\"aria-controls\");\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.targetElements) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"targetElements\"));\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.getJsonTypeName = function () {\r\n return ToggleVisibilityAction.JsonTypeName;\r\n };\r\n ToggleVisibilityAction.prototype.render = function () {\r\n _super.prototype.render.call(this);\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.execute = function () {\r\n _super.prototype.execute.call(this);\r\n if (this.parent) {\r\n for (var _i = 0, _a = Object.keys(this.targetElements); _i < _a.length; _i++) {\r\n var elementId = _a[_i];\r\n var targetElement = this.parent.getRootElement().getElementById(elementId);\r\n if (targetElement) {\r\n if (typeof this.targetElements[elementId] === \"boolean\") {\r\n targetElement.isVisible = this.targetElements[elementId];\r\n }\r\n else {\r\n targetElement.isVisible = !targetElement.isVisible;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.addTargetElement = function (elementId, isVisible) {\r\n if (isVisible === void 0) { isVisible = undefined; }\r\n this.targetElements[elementId] = isVisible;\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.removeTargetElement = function (elementId) {\r\n delete this.targetElements[elementId];\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.targetElementsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_2, \"targetElements\", function (sender, prop, source, context) {\r\n var result = {};\r\n if (Array.isArray(source[prop.name])) {\r\n for (var _i = 0, _a = source[prop.name]; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (typeof item === \"string\") {\r\n result[item] = undefined;\r\n }\r\n else if (typeof item === \"object\") {\r\n var elementId = item[\"elementId\"];\r\n if (typeof elementId === \"string\") {\r\n result[elementId] = Utils.parseBool(item[\"isVisible\"]);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }, function (sender, prop, target, value, context) {\r\n var targetElements = [];\r\n for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {\r\n var id = _a[_i];\r\n if (typeof value[id] === \"boolean\") {\r\n targetElements.push({\r\n elementId: id,\r\n isVisible: value[id]\r\n });\r\n }\r\n else {\r\n targetElements.push(id);\r\n }\r\n }\r\n context.serializeArray(target, prop.name, targetElements);\r\n }, {}, function (sender) {\r\n return {};\r\n });\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ToggleVisibilityAction.JsonTypeName = \"Action.ToggleVisibility\";\r\n __decorate([\r\n (0, serialization_1.property)(ToggleVisibilityAction.targetElementsProperty)\r\n ], ToggleVisibilityAction.prototype, \"targetElements\", void 0);\r\n return ToggleVisibilityAction;\r\n}(Action));\r\nexports.ToggleVisibilityAction = ToggleVisibilityAction;\r\nvar StringWithSubstitutionProperty = /** @class */ (function (_super) {\r\n __extends(StringWithSubstitutionProperty, _super);\r\n function StringWithSubstitutionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function () {\r\n return new shared_1.StringWithSubstitutions();\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n StringWithSubstitutionProperty.prototype.parse = function (sender, source, context) {\r\n var result = new shared_1.StringWithSubstitutions();\r\n result.set(Utils.parseString(source[this.name]));\r\n return result;\r\n };\r\n StringWithSubstitutionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value.getOriginal());\r\n };\r\n return StringWithSubstitutionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar HttpHeader = /** @class */ (function (_super) {\r\n __extends(HttpHeader, _super);\r\n //#endregion\r\n function HttpHeader(name, value) {\r\n if (name === void 0) { name = \"\"; }\r\n if (value === void 0) { value = \"\"; }\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n HttpHeader.prototype.getSchemaKey = function () {\r\n return \"HttpHeader\";\r\n };\r\n HttpHeader.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n this._value.getReferencedInputs(inputs, referencedInputs);\r\n };\r\n HttpHeader.prototype.prepareForExecution = function (inputs) {\r\n this._value.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n };\r\n Object.defineProperty(HttpHeader.prototype, \"value\", {\r\n get: function () {\r\n return this._value.get();\r\n },\r\n set: function (newValue) {\r\n this._value.set(newValue);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n HttpHeader.nameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"name\");\r\n HttpHeader.valueProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(HttpHeader.nameProperty)\r\n ], HttpHeader.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpHeader.valueProperty)\r\n ], HttpHeader.prototype, \"_value\", void 0);\r\n return HttpHeader;\r\n}(serialization_1.SerializableObject));\r\nexports.HttpHeader = HttpHeader;\r\nvar HttpAction = /** @class */ (function (_super) {\r\n __extends(HttpAction, _super);\r\n function HttpAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._ignoreInputValidation = false;\r\n return _this;\r\n }\r\n HttpAction.prototype.internalGetReferencedInputs = function () {\r\n var allInputs = this.parent ? this.parent.getRootElement().getAllInputs() : [];\r\n var result = {};\r\n this._url.getReferencedInputs(allInputs, result);\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.getReferencedInputs(allInputs, result);\r\n }\r\n this._body.getReferencedInputs(allInputs, result);\r\n return result;\r\n };\r\n HttpAction.prototype.internalPrepareForExecution = function (inputs) {\r\n if (inputs) {\r\n this._url.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n var contentType = shared_1.ContentTypes.applicationJson;\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.prepareForExecution(inputs);\r\n if (header.name && header.name.toLowerCase() === \"content-type\") {\r\n contentType = header.value;\r\n }\r\n }\r\n this._body.substituteInputValues(inputs, contentType);\r\n }\r\n };\r\n HttpAction.prototype.getJsonTypeName = function () {\r\n return HttpAction.JsonTypeName;\r\n };\r\n HttpAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n if (this.headers.length > 0) {\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n if (!header.name) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.actionHttpHeadersMustHaveNameAndValue());\r\n }\r\n }\r\n }\r\n };\r\n Object.defineProperty(HttpAction.prototype, \"ignoreInputValidation\", {\r\n get: function () {\r\n return this._ignoreInputValidation;\r\n },\r\n set: function (value) {\r\n this._ignoreInputValidation = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"url\", {\r\n get: function () {\r\n return this._url.get();\r\n },\r\n set: function (value) {\r\n this._url.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"body\", {\r\n get: function () {\r\n return this._body.get();\r\n },\r\n set: function (value) {\r\n this._body.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n HttpAction.urlProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"url\");\r\n HttpAction.bodyProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"body\");\r\n HttpAction.methodProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"method\");\r\n HttpAction.headersProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"headers\", HttpHeader);\r\n HttpAction.ignoreInputValidationProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"ignoreInputValidation\", false);\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n HttpAction.JsonTypeName = \"Action.Http\";\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.urlProperty)\r\n ], HttpAction.prototype, \"_url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.bodyProperty)\r\n ], HttpAction.prototype, \"_body\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.methodProperty)\r\n ], HttpAction.prototype, \"method\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.headersProperty)\r\n ], HttpAction.prototype, \"headers\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.ignoreInputValidationProperty)\r\n ], HttpAction.prototype, \"_ignoreInputValidation\", void 0);\r\n return HttpAction;\r\n}(Action));\r\nexports.HttpAction = HttpAction;\r\nvar ShowCardAction = /** @class */ (function (_super) {\r\n __extends(ShowCardAction, _super);\r\n function ShowCardAction() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.card = new InlineAdaptiveCard();\r\n return _this;\r\n }\r\n ShowCardAction.prototype.updateCssClasses = function () {\r\n _super.prototype.updateCssClasses.call(this);\r\n if (this.renderedElement) {\r\n var effectiveHostConfig = this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n this.renderedElement.classList.add(effectiveHostConfig.makeCssClassName(\"expandable\"));\r\n this.renderedElement.setAttribute(\"aria-expanded\", (this.state === 1 /* Expanded */).toString());\r\n }\r\n };\r\n ShowCardAction.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n var jsonCard = source[\"card\"];\r\n if (jsonCard) {\r\n this.card.parse(jsonCard, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.showCardMustHaveCard());\r\n }\r\n };\r\n ShowCardAction.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this.card) {\r\n context.serializeValue(target, \"card\", this.card.toJSON(context));\r\n }\r\n };\r\n ShowCardAction.prototype.raiseExecuteActionEvent = function () {\r\n if (this.hostConfig.actions.showCard.actionMode === Enums.ShowCardActionMode.Popup) {\r\n // Only raise the event in Popup mode.\r\n _super.prototype.raiseExecuteActionEvent.call(this);\r\n }\r\n };\r\n ShowCardAction.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.card.releaseDOMResources();\r\n };\r\n ShowCardAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n ShowCardAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this.card.internalValidateProperties(context);\r\n };\r\n ShowCardAction.prototype.setParent = function (value) {\r\n _super.prototype.setParent.call(this, value);\r\n this.card.setParent(value);\r\n };\r\n ShowCardAction.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return this.card.getAllInputs(processActions);\r\n };\r\n ShowCardAction.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this.card.getAllActions());\r\n return result;\r\n };\r\n ShowCardAction.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this.card.getResourceInformation());\r\n return result;\r\n };\r\n ShowCardAction.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n result = this.card.getActionById(id);\r\n }\r\n return result;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ShowCardAction.JsonTypeName = \"Action.ShowCard\";\r\n return ShowCardAction;\r\n}(Action));\r\nexports.ShowCardAction = ShowCardAction;\r\nvar OverflowAction = /** @class */ (function (_super) {\r\n __extends(OverflowAction, _super);\r\n function OverflowAction(actions) {\r\n var _this = _super.call(this) || this;\r\n _this._actions = actions;\r\n _this.title = strings_1.Strings.defaults.overflowButtonText();\r\n _this.tooltip = strings_1.Strings.defaults.overflowButtonTooltip();\r\n return _this;\r\n }\r\n OverflowAction.prototype.getActions = function () {\r\n return this._actions;\r\n };\r\n OverflowAction.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this._actions);\r\n return result;\r\n };\r\n OverflowAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n OverflowAction.prototype.execute = function () {\r\n var _this = this;\r\n var _a;\r\n var shouldDisplayPopupMenu = !raiseDisplayOverflowActionMenuEvent(this, this.renderedElement);\r\n if (shouldDisplayPopupMenu && this.renderedElement) {\r\n var contextMenu_1 = new controls_1.PopupMenu();\r\n contextMenu_1.hostConfig = this.hostConfig;\r\n var _loop_2 = function (i) {\r\n var menuItem = new controls_1.MenuItem(i.toString(), (_a = this_1._actions[i].title) !== null && _a !== void 0 ? _a : \"\");\r\n menuItem.isEnabled = this_1._actions[i].isEnabled;\r\n menuItem.onClick = function () {\r\n var actionToExecute = _this._actions[i];\r\n contextMenu_1.closePopup(false);\r\n if (actionToExecute.isEnabled) {\r\n actionToExecute.execute();\r\n }\r\n };\r\n contextMenu_1.items.add(menuItem);\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this._actions.length; i++) {\r\n _loop_2(i);\r\n }\r\n contextMenu_1.onClose = function () {\r\n var _a, _b;\r\n (_a = _this.renderedElement) === null || _a === void 0 ? void 0 : _a.focus();\r\n (_b = _this.renderedElement) === null || _b === void 0 ? void 0 : _b.setAttribute(\"aria-expanded\", \"false\");\r\n };\r\n this.renderedElement.setAttribute(\"aria-expanded\", \"true\");\r\n contextMenu_1.popup(this.renderedElement);\r\n contextMenu_1.selectedIndex = 0;\r\n }\r\n };\r\n OverflowAction.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n _super.prototype.setupElementForAccessibility.call(this, element, promoteTooltipToLabel);\r\n element.setAttribute(\"aria-label\", strings_1.Strings.defaults.overflowButtonTooltip());\r\n element.setAttribute(\"aria-expanded\", \"false\");\r\n };\r\n OverflowAction.JsonTypeName = \"Action.Overflow\";\r\n return OverflowAction;\r\n}(Action));\r\nvar ActionCollection = /** @class */ (function () {\r\n function ActionCollection(owner) {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._owner = owner;\r\n }\r\n ActionCollection.prototype.isActionAllowed = function (action) {\r\n var forbiddenTypes = this._owner.getForbiddenActionTypes();\r\n if (forbiddenTypes) {\r\n for (var _i = 0, forbiddenTypes_1 = forbiddenTypes; _i < forbiddenTypes_1.length; _i++) {\r\n var forbiddenType = forbiddenTypes_1[_i];\r\n if (action.constructor === forbiddenType) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n ActionCollection.prototype.refreshContainer = function () {\r\n clearElement(this._actionCardContainer);\r\n if (!this._actionCard) {\r\n this._actionCardContainer.style.marginTop = \"0px\";\r\n return;\r\n }\r\n this._actionCardContainer.style.marginTop =\r\n this.renderedActionCount > 0\r\n ? this._owner.hostConfig.actions.showCard.inlineTopMargin + \"px\"\r\n : \"0px\";\r\n var padding = this._owner.getEffectivePadding();\r\n this._owner.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this._owner.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n if (this._actionCard) {\r\n this._actionCard.style.paddingLeft = physicalPadding.left + \"px\";\r\n this._actionCard.style.paddingRight = physicalPadding.right + \"px\";\r\n this._actionCard.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this._actionCard.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n if (physicalPadding.bottom !== 0 && !this._owner.isDesignMode()) {\r\n this._actionCard.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this._actionCard.style.marginBottom = \"-\" + physicalPadding.bottom + \"px\";\r\n }\r\n Utils.appendChild(this._actionCardContainer, this._actionCard);\r\n }\r\n };\r\n ActionCollection.prototype.layoutChanged = function () {\r\n this._owner.getRootElement().updateLayout();\r\n };\r\n ActionCollection.prototype.showActionCard = function (action, suppressStyle, raiseEvent) {\r\n if (suppressStyle === void 0) { suppressStyle = false; }\r\n if (raiseEvent === void 0) { raiseEvent = true; }\r\n action.card.suppressStyle = suppressStyle;\r\n // Always re-render a ShowCard action in design mode; reuse already rendered ShowCard (if available) otherwise\r\n var renderedCard = action.card.renderedElement && !this._owner.isDesignMode()\r\n ? action.card.renderedElement\r\n : action.card.render();\r\n this._actionCard = renderedCard;\r\n this._expandedAction = action;\r\n this.refreshContainer();\r\n if (raiseEvent) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(action, true);\r\n }\r\n };\r\n ActionCollection.prototype.collapseExpandedAction = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.state = 0 /* Normal */;\r\n }\r\n var previouslyExpandedAction = this._expandedAction;\r\n this._expandedAction = undefined;\r\n this._actionCard = undefined;\r\n this.refreshContainer();\r\n if (previouslyExpandedAction) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(previouslyExpandedAction, false);\r\n }\r\n };\r\n ActionCollection.prototype.expandShowCardAction = function (action, raiseEvent) {\r\n var _this = this;\r\n var afterSelectedAction = false;\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n // Remove actions after selected action from tabOrder if the actions are oriented horizontally, to skip focus directly to expanded card\r\n if (this._owner.hostConfig.actions.actionsOrientation == Enums.Orientation.Horizontal &&\r\n afterSelectedAction) {\r\n renderedAction.isFocusable = false;\r\n }\r\n if (renderedAction !== action) {\r\n renderedAction.state = 2 /* Subdued */;\r\n }\r\n else {\r\n renderedAction.state = 1 /* Expanded */;\r\n afterSelectedAction = true;\r\n if (renderedAction.renderedElement) {\r\n renderedAction.renderedElement.onblur = function (_e) {\r\n for (var _i = 0, _a = _this._renderedActions; _i < _a.length; _i++) {\r\n var ra = _a[_i];\r\n ra.isFocusable = true;\r\n }\r\n };\r\n }\r\n }\r\n }\r\n this.showActionCard(action, !(this._owner.isAtTheVeryLeft() && this._owner.isAtTheVeryRight()), raiseEvent);\r\n };\r\n ActionCollection.prototype.releaseDOMResources = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.releaseDOMResources();\r\n }\r\n };\r\n ActionCollection.prototype.actionExecuted = function (action) {\r\n if (!(action instanceof ShowCardAction)) {\r\n this.collapseExpandedAction();\r\n }\r\n else {\r\n if (action === this._expandedAction) {\r\n this.collapseExpandedAction();\r\n }\r\n else if (this._owner.hostConfig.actions.showCard.actionMode ===\r\n Enums.ShowCardActionMode.Inline) {\r\n this.expandShowCardAction(action, true);\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.parse = function (source, context) {\r\n this.clear();\r\n if (Array.isArray(source)) {\r\n for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {\r\n var jsonAction = source_1[_i];\r\n var forbiddenActions = [];\r\n // If the action owner is a ContainerWithActions, we should check for forbidden actions\r\n if (this._owner instanceof ContainerWithActions) {\r\n forbiddenActions = this._owner.getForbiddenActionNames();\r\n }\r\n var action = context.parseAction(this._owner, jsonAction, forbiddenActions, !this._owner.isDesignMode());\r\n if (action) {\r\n this.addAction(action);\r\n }\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.toJSON = function (target, propertyName, context) {\r\n context.serializeArray(target, propertyName, this._items);\r\n };\r\n ActionCollection.prototype.getActionAt = function (id) {\r\n return this._items[id];\r\n };\r\n ActionCollection.prototype.getActionCount = function () {\r\n return this._items.length;\r\n };\r\n ActionCollection.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.validateProperties = function (context) {\r\n if (this._owner.hostConfig.actions.maxActions &&\r\n this._items.length > this._owner.hostConfig.actions.maxActions) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.TooManyActions, strings_1.Strings.errors.tooManyActions(this._owner.hostConfig.actions.maxActions));\r\n }\r\n if (this._items.length > 0 && !this._owner.hostConfig.supportsInteractivity) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (!this.isActionAllowed(item)) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n };\r\n ActionCollection.prototype.render = function (orientation) {\r\n // Cache hostConfig for better perf\r\n var hostConfig = this._owner.hostConfig;\r\n if (!hostConfig.supportsInteractivity) {\r\n return undefined;\r\n }\r\n var element = document.createElement(\"div\");\r\n var maxActions = hostConfig.actions.maxActions\r\n ? Math.min(hostConfig.actions.maxActions, this._items.length)\r\n : this._items.length;\r\n this._actionCardContainer = document.createElement(\"div\");\r\n this._renderedActions = [];\r\n if (hostConfig.actions.preExpandSingleShowCardAction &&\r\n maxActions === 1 &&\r\n this._items[0] instanceof ShowCardAction &&\r\n this.isActionAllowed(this._items[0])) {\r\n this.showActionCard(this._items[0], true);\r\n this._renderedActions.push(this._items[0]);\r\n }\r\n else {\r\n var buttonStrip = document.createElement(\"div\");\r\n buttonStrip.className = hostConfig.makeCssClassName(\"ac-actionSet\");\r\n buttonStrip.style.display = \"flex\";\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n buttonStrip.style.flexDirection = \"row\";\r\n if (this._owner.horizontalAlignment &&\r\n hostConfig.actions.actionAlignment !== Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n buttonStrip.style.flexDirection = \"column\";\r\n if (this._owner.horizontalAlignment &&\r\n hostConfig.actions.actionAlignment !== Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n case Enums.ActionAlignment.Stretch:\r\n buttonStrip.style.alignItems = \"stretch\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n var allowedActions = this._items.filter(this.isActionAllowed.bind(this));\r\n var primaryActions_1 = [];\r\n var secondaryActions_1 = [];\r\n if (!this._owner.isDesignMode()) {\r\n allowedActions.forEach(function (action) {\r\n return action.mode === Enums.ActionMode.Secondary\r\n ? secondaryActions_1.push(action)\r\n : primaryActions_1.push(action);\r\n });\r\n // If primaryActions.length > maxActions, extra actions are moved to overflow\r\n var overflowPrimaryActions = primaryActions_1.splice(hostConfig.actions.maxActions);\r\n if (shared_1.GlobalSettings.allowMoreThanMaxActionsInOverflowMenu) {\r\n secondaryActions_1.push.apply(secondaryActions_1, overflowPrimaryActions);\r\n }\r\n var shouldRenderOverflowActionButton = true;\r\n if (secondaryActions_1.length > 0) {\r\n if (!this._overflowAction) {\r\n this._overflowAction = new OverflowAction(secondaryActions_1);\r\n this._overflowAction.setParent(this._owner);\r\n this._overflowAction[\"_actionCollection\"] = this;\r\n }\r\n var isRootAction = this._owner instanceof AdaptiveCard && !this._owner.parent;\r\n shouldRenderOverflowActionButton = !raiseRenderOverflowActionsEvent(this._overflowAction, isRootAction);\r\n }\r\n if (this._overflowAction && shouldRenderOverflowActionButton) {\r\n primaryActions_1.push(this._overflowAction);\r\n }\r\n }\r\n else {\r\n primaryActions_1 = allowedActions;\r\n }\r\n for (var i = 0; i < primaryActions_1.length; i++) {\r\n var action = primaryActions_1[i];\r\n action.render();\r\n if (action.renderedElement) {\r\n if (hostConfig.actions.actionsOrientation === Enums.Orientation.Horizontal &&\r\n hostConfig.actions.actionAlignment === Enums.ActionAlignment.Stretch) {\r\n action.renderedElement.style.flex = \"0 1 100%\";\r\n }\r\n else {\r\n action.renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n buttonStrip.appendChild(action.renderedElement);\r\n this._renderedActions.push(action);\r\n if (i < primaryActions_1.length - 1 && hostConfig.actions.buttonSpacing > 0) {\r\n var spacer = document.createElement(\"div\");\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n spacer.style.flex = \"0 0 auto\";\r\n spacer.style.width = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n else {\r\n spacer.style.height = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n Utils.appendChild(buttonStrip, spacer);\r\n }\r\n }\r\n }\r\n var buttonStripContainer = document.createElement(\"div\");\r\n buttonStripContainer.style.overflow = \"hidden\";\r\n buttonStripContainer.appendChild(buttonStrip);\r\n Utils.appendChild(element, buttonStripContainer);\r\n }\r\n Utils.appendChild(element, this._actionCardContainer);\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n if (renderedAction.state === 1 /* Expanded */) {\r\n this.expandShowCardAction(renderedAction, false);\r\n break;\r\n }\r\n }\r\n return this._renderedActions.length > 0 ? element : undefined;\r\n };\r\n ActionCollection.prototype.addAction = function (action) {\r\n if (!action) {\r\n throw new Error(\"The action parameter cannot be null.\");\r\n }\r\n if ((!action.parent || action.parent === this._owner) && this._items.indexOf(action) < 0) {\r\n this._items.push(action);\r\n if (!action.parent) {\r\n action.setParent(this._owner);\r\n }\r\n action[\"_actionCollection\"] = this;\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.actionAlreadyParented());\r\n }\r\n };\r\n ActionCollection.prototype.removeAction = function (action) {\r\n if (this.expandedAction && this._expandedAction === action) {\r\n this.collapseExpandedAction();\r\n }\r\n var actionIndex = this._items.indexOf(action);\r\n if (actionIndex >= 0) {\r\n this._items.splice(actionIndex, 1);\r\n action.setParent(undefined);\r\n action[\"_actionCollection\"] = undefined;\r\n for (var i = 0; i < this._renderedActions.length; i++) {\r\n if (this._renderedActions[i] === action) {\r\n this._renderedActions.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n ActionCollection.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._expandedAction = undefined;\r\n };\r\n ActionCollection.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n if (processActions) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result.push.apply(result, action.getAllInputs());\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result.push.apply(result, action.getResourceInformation());\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ActionCollection.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._renderedActions.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ActionCollection.prototype, \"expandedAction\", {\r\n get: function () {\r\n return this._expandedAction;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ActionCollection;\r\n}());\r\nvar ActionSet = /** @class */ (function (_super) {\r\n __extends(ActionSet, _super);\r\n function ActionSet() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ActionSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ActionSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ActionSet.prototype.internalRender = function () {\r\n return this._actionCollection.render(this.orientation !== undefined\r\n ? this.orientation\r\n : this.hostConfig.actions.actionsOrientation);\r\n };\r\n ActionSet.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\r\n };\r\n ActionSet.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount === 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ActionSet.prototype.getJsonTypeName = function () {\r\n return \"ActionSet\";\r\n };\r\n ActionSet.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ActionSet.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ActionSet.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ActionSet.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\r\n };\r\n ActionSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this._actionCollection.validateProperties(context);\r\n };\r\n ActionSet.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ActionSet.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return processActions ? this._actionCollection.getAllInputs() : [];\r\n };\r\n ActionSet.prototype.getResourceInformation = function () {\r\n return this._actionCollection.getResourceInformation();\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n ActionSet.prototype.findDOMNodeOwner = function (node) {\r\n var target = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n // recur through each Action\r\n target = action.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n }\r\n // if not found in any Action, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n ActionSet.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ActionSet.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n ActionSet.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"orientation\", Enums.Orientation);\r\n __decorate([\r\n (0, serialization_1.property)(ActionSet.orientationProperty)\r\n ], ActionSet.prototype, \"orientation\", void 0);\r\n return ActionSet;\r\n}(CardElement));\r\nexports.ActionSet = ActionSet;\r\nvar ContainerStyleProperty = /** @class */ (function (_super) {\r\n __extends(ContainerStyleProperty, _super);\r\n function ContainerStyleProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, [\r\n { value: Enums.ContainerStyle.Default },\r\n { value: Enums.ContainerStyle.Emphasis },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Accent },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Good },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Attention },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Warning }\r\n ], defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n return ContainerStyleProperty;\r\n}(serialization_1.ValueSetProperty));\r\nexports.ContainerStyleProperty = ContainerStyleProperty;\r\nvar StylableCardElementContainer = /** @class */ (function (_super) {\r\n __extends(StylableCardElementContainer, _super);\r\n function StylableCardElementContainer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"style\", {\r\n get: function () {\r\n if (this.allowCustomStyle) {\r\n var style = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(StylableCardElementContainer.styleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"allowCustomStyle\", {\r\n //#endregion\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"hasExplicitStyle\", {\r\n get: function () {\r\n return this.getValue(StylableCardElementContainer.styleProperty) !== undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n StylableCardElementContainer.prototype.applyBorder = function () {\r\n // No border in base implementation\r\n };\r\n StylableCardElementContainer.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = Utils.stringToCssColor(styleDefinition.backgroundColor);\r\n if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n if (this.isBleeding()) {\r\n // Bleed into the first parent that does have padding\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var surroundingPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.renderedElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n this.renderedElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n if (!this.isDesignMode()) {\r\n this.renderedElement.style.marginTop = \"-\" + surroundingPadding.top + \"px\";\r\n this.renderedElement.style.marginBottom = \"-\" + surroundingPadding.bottom + \"px\";\r\n }\r\n if (this.separatorElement &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n this.renderedElement.style.marginTop = \"0\";\r\n this.renderedElement.style.marginBottom = \"0\";\r\n if (this.separatorElement &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n var currentElementHasBackgroundImage = false;\r\n if (ignoreBackgroundImages) {\r\n currentElementHasBackgroundImage = false;\r\n }\r\n else {\r\n currentElementHasBackgroundImage =\r\n currentElement instanceof Container\r\n ? currentElement.backgroundImage.isValid()\r\n : false;\r\n }\r\n if (currentElement instanceof StylableCardElementContainer) {\r\n if (this.hasExplicitStyle &&\r\n (currentElement.getEffectiveStyle() !== this.getEffectiveStyle() ||\r\n currentElementHasBackgroundImage)) {\r\n return true;\r\n }\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return false;\r\n };\r\n StylableCardElementContainer.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder()\r\n ? new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding)\r\n : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n StylableCardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var explicitStyle = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (explicitStyle !== undefined) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(explicitStyle);\r\n if (!styleDefinition) {\r\n context.addFailure(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(explicitStyle, \"style\"));\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.render = function () {\r\n var renderedElement = _super.prototype.render.call(this);\r\n if (renderedElement && this.getHasBackground()) {\r\n this.applyBackground();\r\n }\r\n this.applyBorder();\r\n return renderedElement;\r\n };\r\n StylableCardElementContainer.prototype.getEffectiveStyle = function () {\r\n var effectiveStyle = this.style;\r\n return effectiveStyle ? effectiveStyle : _super.prototype.getEffectiveStyle.call(this);\r\n };\r\n //#region Schema\r\n StylableCardElementContainer.styleProperty = new ContainerStyleProperty(serialization_1.Versions.v1_0, \"style\");\r\n __decorate([\r\n (0, serialization_1.property)(StylableCardElementContainer.styleProperty)\r\n ], StylableCardElementContainer.prototype, \"style\", null);\r\n return StylableCardElementContainer;\r\n}(CardElementContainer));\r\nexports.StylableCardElementContainer = StylableCardElementContainer;\r\nvar ContainerBase = /** @class */ (function (_super) {\r\n __extends(ContainerBase, _super);\r\n function ContainerBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._bleed = false;\r\n return _this;\r\n }\r\n //#endregion\r\n ContainerBase.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n };\r\n ContainerBase.prototype.getHasExpandedAction = function () {\r\n return false;\r\n };\r\n ContainerBase.prototype.getBleed = function () {\r\n return this._bleed;\r\n };\r\n ContainerBase.prototype.setBleed = function (value) {\r\n this._bleed = value;\r\n };\r\n Object.defineProperty(ContainerBase.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerBase.prototype.isBleeding = function () {\r\n return (this.getHasBackground() || this.hostConfig.alwaysAllowBleed) && this.getBleed();\r\n };\r\n ContainerBase.bleedProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"bleed\", false);\r\n ContainerBase.minHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_2, \"minHeight\");\r\n __decorate([\r\n (0, serialization_1.property)(ContainerBase.bleedProperty)\r\n ], ContainerBase.prototype, \"_bleed\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ContainerBase.minHeightProperty)\r\n ], ContainerBase.prototype, \"minPixelHeight\", void 0);\r\n return ContainerBase;\r\n}(StylableCardElementContainer));\r\nexports.ContainerBase = ContainerBase;\r\nvar BackgroundImage = /** @class */ (function (_super) {\r\n __extends(BackgroundImage, _super);\r\n function BackgroundImage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n BackgroundImage.prototype.getSchemaKey = function () {\r\n return \"BackgroundImage\";\r\n };\r\n BackgroundImage.prototype.internalParse = function (source, context) {\r\n if (typeof source === \"string\") {\r\n this.resetDefaultValues();\r\n this.url = source;\r\n }\r\n else {\r\n return _super.prototype.internalParse.call(this, source, context);\r\n }\r\n };\r\n BackgroundImage.prototype.apply = function (element) {\r\n if (this.url && element.renderedElement) {\r\n element.renderedElement.style.backgroundImage =\r\n \"url('\" +\r\n element.preProcessPropertyValue(BackgroundImage.urlProperty, this.url) +\r\n \"')\";\r\n switch (this.fillMode) {\r\n case Enums.FillMode.Repeat:\r\n element.renderedElement.style.backgroundRepeat = \"repeat\";\r\n break;\r\n case Enums.FillMode.RepeatHorizontally:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-x\";\r\n break;\r\n case Enums.FillMode.RepeatVertically:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-y\";\r\n break;\r\n case Enums.FillMode.Cover:\r\n default:\r\n element.renderedElement.style.backgroundRepeat = \"no-repeat\";\r\n element.renderedElement.style.backgroundSize = \"cover\";\r\n break;\r\n }\r\n switch (this.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Left:\r\n break;\r\n case Enums.HorizontalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionX = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.renderedElement.style.backgroundPositionX = \"right\";\r\n break;\r\n }\r\n switch (this.verticalAlignment) {\r\n case Enums.VerticalAlignment.Top:\r\n break;\r\n case Enums.VerticalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionY = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.renderedElement.style.backgroundPositionY = \"bottom\";\r\n break;\r\n }\r\n }\r\n };\r\n BackgroundImage.prototype.isValid = function () {\r\n return this.url ? true : false;\r\n };\r\n //#region Schema\r\n BackgroundImage.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n BackgroundImage.fillModeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fillMode\", Enums.FillMode, Enums.FillMode.Cover);\r\n BackgroundImage.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"horizontalAlignment\", Enums.HorizontalAlignment, Enums.HorizontalAlignment.Left);\r\n BackgroundImage.verticalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"verticalAlignment\", Enums.VerticalAlignment, Enums.VerticalAlignment.Top);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.urlProperty)\r\n ], BackgroundImage.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.fillModeProperty)\r\n ], BackgroundImage.prototype, \"fillMode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.horizontalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.verticalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"verticalAlignment\", void 0);\r\n return BackgroundImage;\r\n}(serialization_1.SerializableObject));\r\nexports.BackgroundImage = BackgroundImage;\r\nvar Container = /** @class */ (function (_super) {\r\n __extends(Container, _super);\r\n function Container() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._items = [];\r\n _this._renderedItems = [];\r\n return _this;\r\n }\r\n Object.defineProperty(Container.prototype, \"backgroundImage\", {\r\n get: function () {\r\n return this.getValue(Container.backgroundImageProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.insertItemAt = function (item, index, forceInsert) {\r\n if (!item.parent || forceInsert) {\r\n if (item.isStandalone) {\r\n if (index < 0 || index >= this._items.length) {\r\n this._items.push(item);\r\n }\r\n else {\r\n this._items.splice(index, 0, item);\r\n }\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementTypeNotStandalone(item.getJsonTypeName()));\r\n }\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n Container.prototype.getItemsCollectionPropertyName = function () {\r\n return \"items\";\r\n };\r\n Container.prototype.applyBackground = function () {\r\n if (this.backgroundImage.isValid() && this.renderedElement) {\r\n this.backgroundImage.apply(this);\r\n }\r\n _super.prototype.applyBackground.call(this);\r\n };\r\n Container.prototype.applyRTL = function (element) {\r\n if (this.rtl !== undefined) {\r\n element.dir = this.rtl ? \"rtl\" : \"ltr\";\r\n }\r\n };\r\n Container.prototype.internalRender = function () {\r\n this._renderedItems = [];\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n this.applyRTL(element);\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-container\"));\r\n element.style.display = \"flex\";\r\n element.style.flexDirection = \"column\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // Forces the container to be at least as tall as its content.\r\n //\r\n // Fixes a quirk in Chrome where, for nested flex elements, the\r\n // inner element's height would never exceed the outer element's\r\n // height. This caused overflow truncation to break -- containers\r\n // would always be measured as not overflowing, since their heights\r\n // were constrained by their parents as opposed to truly reflecting\r\n // the height of their content.\r\n //\r\n // See the \"Browser Rendering Notes\" section of this answer:\r\n // https://stackoverflow.com/questions/36247140/why-doesnt-flex-item-shrink-past-content-size\r\n element.style.minHeight = \"-webkit-min-content\";\r\n }\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n if (this._items.length > 0) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n var renderedItem = this.isElementAllowed(item) ? item.render() : undefined;\r\n if (renderedItem) {\r\n if (this._renderedItems.length > 0 && item.separatorElement) {\r\n item.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, item.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedItem);\r\n this._renderedItems.push(item);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.isDesignMode()) {\r\n var placeholderElement = this.createPlaceholderElement();\r\n placeholderElement.style.width = \"100%\";\r\n placeholderElement.style.height = \"100%\";\r\n element.appendChild(placeholderElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Container.prototype.truncateOverflow = function (maxHeight) {\r\n if (this.renderedElement) {\r\n // Add 1 to account for rounding differences between browsers\r\n var boundary_1 = this.renderedElement.offsetTop + maxHeight + 1;\r\n var handleElement_1 = function (cardElement) {\r\n var elt = cardElement.renderedElement;\r\n if (elt) {\r\n switch (Utils.getFitStatus(elt, boundary_1)) {\r\n case Enums.ContainerFitStatus.FullyInContainer:\r\n var sizeChanged = cardElement[\"resetOverflow\"]();\r\n // If the element's size changed after resetting content,\r\n // we have to check if it still fits fully in the card\r\n if (sizeChanged) {\r\n handleElement_1(cardElement);\r\n }\r\n break;\r\n case Enums.ContainerFitStatus.Overflowing:\r\n var containerMaxHeight = boundary_1 - elt.offsetTop;\r\n cardElement[\"handleOverflow\"](containerMaxHeight);\r\n break;\r\n case Enums.ContainerFitStatus.FullyOutOfContainer:\r\n cardElement[\"handleOverflow\"](0);\r\n break;\r\n }\r\n }\r\n };\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n handleElement_1(item);\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n item[\"resetOverflow\"]();\r\n }\r\n };\r\n Container.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var result = ignoreBackgroundImages ? false : this.backgroundImage.isValid();\r\n return result || _super.prototype.getHasBackground.call(this, ignoreBackgroundImages);\r\n };\r\n Container.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.clear();\r\n this.setShouldFallback(false);\r\n var jsonItems = source[this.getItemsCollectionPropertyName()];\r\n if (Array.isArray(jsonItems)) {\r\n for (var _i = 0, jsonItems_1 = jsonItems; _i < jsonItems_1.length; _i++) {\r\n var item = jsonItems_1[_i];\r\n var element = context.parseElement(this, item, this.forbiddenChildElements(), !this.isDesignMode());\r\n if (element) {\r\n this.insertItemAt(element, -1, true);\r\n }\r\n }\r\n }\r\n };\r\n Container.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n var collectionPropertyName = this.getItemsCollectionPropertyName();\r\n context.serializeArray(target, collectionPropertyName, this._items);\r\n };\r\n Object.defineProperty(Container.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.getEffectivePadding = function () {\r\n if (shared_1.GlobalSettings.removePaddingFromContainersWithBackgroundImage &&\r\n !this.getHasBackground(true)) {\r\n return new shared_1.PaddingDefinition();\r\n }\r\n return _super.prototype.getEffectivePadding.call(this);\r\n };\r\n Container.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer\r\n ? parentContainer.getEffectiveVerticalContentAlignment()\r\n : Enums.VerticalAlignment.Top;\r\n };\r\n Container.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n Container.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n Container.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var _i = 0, _a = this._renderedItems; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible) {\r\n return item;\r\n }\r\n }\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var i = this._renderedItems.length - 1; i >= 0; i--) {\r\n if (this._renderedItems[i].isVisible) {\r\n return this._renderedItems[i];\r\n }\r\n }\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getJsonTypeName = function () {\r\n return \"Container\";\r\n };\r\n Container.prototype.isFirstElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible || designMode) {\r\n return item === element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isLastElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var i = this._items.length - 1; i >= 0; i--) {\r\n if (this._items[i].isVisible || designMode) {\r\n return this._items[i] === element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isRtl = function () {\r\n if (this.rtl !== undefined) {\r\n return this.rtl;\r\n }\r\n else {\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer ? parentContainer.isRtl() : false;\r\n }\r\n };\r\n Container.prototype.isBleedingAtTop = function () {\r\n var firstRenderedItem = this.getFirstVisibleRenderedItem();\r\n return (this.isBleeding() || (firstRenderedItem ? firstRenderedItem.isBleedingAtTop() : false));\r\n };\r\n Container.prototype.isBleedingAtBottom = function () {\r\n var lastRenderedItem = this.getLastVisibleRenderedItem();\r\n return (this.isBleeding() ||\r\n (lastRenderedItem\r\n ? lastRenderedItem.isBleedingAtBottom() &&\r\n lastRenderedItem.getEffectiveStyle() === this.getEffectiveStyle()\r\n : false));\r\n };\r\n Container.prototype.indexOf = function (cardElement) {\r\n return this._items.indexOf(cardElement);\r\n };\r\n Container.prototype.addItem = function (item) {\r\n this.insertItemAt(item, -1, false);\r\n };\r\n Container.prototype.insertItemBefore = function (item, insertBefore) {\r\n this.insertItemAt(item, this._items.indexOf(insertBefore), false);\r\n };\r\n Container.prototype.insertItemAfter = function (item, insertAfter) {\r\n this.insertItemAt(item, this._items.indexOf(insertAfter) + 1, false);\r\n };\r\n Container.prototype.removeItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedItems = [];\r\n };\r\n Container.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n if (this.backgroundImage.isValid()) {\r\n result.push({\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- validated by `isValid()`\r\n url: this.backgroundImage.url,\r\n mimeType: \"image\"\r\n });\r\n }\r\n return result;\r\n };\r\n Container.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n if (this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n if (!result) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Container.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Container.backgroundImageProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_0, \"backgroundImage\", BackgroundImage);\r\n Container.verticalContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"verticalContentAlignment\", Enums.VerticalAlignment);\r\n Container.rtlProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"rtl\");\r\n __decorate([\r\n (0, serialization_1.property)(Container.backgroundImageProperty)\r\n ], Container.prototype, \"backgroundImage\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Container.verticalContentAlignmentProperty)\r\n ], Container.prototype, \"verticalContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Container.rtlProperty)\r\n ], Container.prototype, \"rtl\", void 0);\r\n return Container;\r\n}(ContainerBase));\r\nexports.Container = Container;\r\nvar Column = /** @class */ (function (_super) {\r\n __extends(Column, _super);\r\n function Column(width) {\r\n if (width === void 0) { width = \"stretch\"; }\r\n var _this = _super.call(this) || this;\r\n _this.width = \"stretch\";\r\n //#endregion\r\n _this._computedWeight = 0;\r\n _this.width = width;\r\n return _this;\r\n }\r\n Column.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n var minDesignTimeColumnHeight = 20;\r\n if (this.isDesignMode()) {\r\n renderedElement.style.minWidth = \"20px\";\r\n renderedElement.style.minHeight =\r\n (!this.minPixelHeight\r\n ? minDesignTimeColumnHeight\r\n : Math.max(this.minPixelHeight, minDesignTimeColumnHeight)) + \"px\";\r\n }\r\n else {\r\n renderedElement.style.minWidth = \"0\";\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n }\r\n if (this.width === \"auto\") {\r\n renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n else if (this.width === \"stretch\") {\r\n renderedElement.style.flex = \"1 1 50px\";\r\n }\r\n else if (this.width instanceof shared_1.SizeAndUnit) {\r\n if (this.width.unit === Enums.SizeUnit.Pixel) {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n renderedElement.style.width = this.width.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedElement.style.flex =\r\n \"1 1 \" +\r\n (this._computedWeight > 0 ? this._computedWeight : this.width.physicalSize) +\r\n \"%\";\r\n }\r\n }\r\n };\r\n Column.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n Object.defineProperty(Column.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Vertical;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Column.prototype.getJsonTypeName = function () {\r\n return \"Column\";\r\n };\r\n Object.defineProperty(Column.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.parent instanceof ColumnSet) {\r\n return this.separatorElement !== undefined && !this.parent.isLeftMostElement(this);\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Column.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Column.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"width\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n }\r\n else if (value === \"auto\" || value === \"stretch\") {\r\n result = value;\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n if (result.unit === Enums.SizeUnit.Pixel &&\r\n prop.targetVersion.compareTo(context.targetVersion) > 0) {\r\n invalidWidth = true;\r\n }\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n result = \"auto\";\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value instanceof shared_1.SizeAndUnit) {\r\n if (value.unit === Enums.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }\r\n else {\r\n context.serializeValue(target, \"width\", value);\r\n }\r\n }, \"stretch\");\r\n __decorate([\r\n (0, serialization_1.property)(Column.widthProperty)\r\n ], Column.prototype, \"width\", void 0);\r\n return Column;\r\n}(Container));\r\nexports.Column = Column;\r\nvar ColumnSet = /** @class */ (function (_super) {\r\n __extends(ColumnSet, _super);\r\n function ColumnSet() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n return _this;\r\n }\r\n ColumnSet.prototype.createColumnInstance = function (source, context) {\r\n return context.parseCardObject(this, source, [], !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"Column\" ? new Column() : undefined;\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n ColumnSet.prototype.internalRender = function () {\r\n this._renderedColumns = [];\r\n if (this._columns.length > 0) {\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n element.className = hostConfig.makeCssClassName(\"ac-columnSet\");\r\n element.style.display = \"flex\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // See comment in Container.internalRender()\r\n element.style.minHeight = \"-webkit-min-content\";\r\n }\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var totalWeight = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width instanceof shared_1.SizeAndUnit &&\r\n column.width.unit === Enums.SizeUnit.Weight) {\r\n totalWeight += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width instanceof shared_1.SizeAndUnit &&\r\n column.width.unit === Enums.SizeUnit.Weight &&\r\n totalWeight > 0) {\r\n var computedWeight = (100 / totalWeight) * column.width.physicalSize;\r\n // Best way to emulate \"internal\" access I know of\r\n column[\"_computedWeight\"] = computedWeight;\r\n }\r\n var renderedColumn = column.render();\r\n if (renderedColumn) {\r\n if (this._renderedColumns.length > 0 && column.separatorElement) {\r\n column.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, column.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedColumn);\r\n this._renderedColumns.push(column);\r\n }\r\n }\r\n return this._renderedColumns.length > 0 ? element : undefined;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.truncateOverflow = function (maxHeight) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column[\"handleOverflow\"](maxHeight);\r\n }\r\n return true;\r\n };\r\n ColumnSet.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column[\"resetOverflow\"]();\r\n }\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ColumnSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._columns = [];\r\n this._renderedColumns = [];\r\n var jsonColumns = source[\"columns\"];\r\n if (Array.isArray(jsonColumns)) {\r\n for (var _i = 0, jsonColumns_1 = jsonColumns; _i < jsonColumns_1.length; _i++) {\r\n var item = jsonColumns_1[_i];\r\n var column = this.createColumnInstance(item, context);\r\n if (column) {\r\n this._columns.push(column);\r\n }\r\n }\r\n }\r\n };\r\n ColumnSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"columns\", this._columns);\r\n };\r\n ColumnSet.prototype.isFirstElement = function (element) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isVisible) {\r\n return column === element;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtTop = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtTop()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtBottom = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtBottom()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.getItemCount = function () {\r\n return this._columns.length;\r\n };\r\n ColumnSet.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[this._renderedColumns.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n ColumnSet.prototype.getItemAt = function (index) {\r\n return this.getColumnAt(index);\r\n };\r\n ColumnSet.prototype.getJsonTypeName = function () {\r\n return \"ColumnSet\";\r\n };\r\n ColumnSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var weightedColumns = 0;\r\n var stretchedColumns = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (typeof column.width === \"number\") {\r\n weightedColumns++;\r\n }\r\n else if (column.width === \"stretch\") {\r\n stretchedColumns++;\r\n }\r\n }\r\n if (weightedColumns > 0 && stretchedColumns > 0) {\r\n context.addFailure(this, Enums.ValidationEvent.Hint, strings_1.Strings.hints.dontUseWeightedAndStrecthedColumnsInSameSet());\r\n }\r\n };\r\n ColumnSet.prototype.addColumn = function (column) {\r\n if (!column.parent) {\r\n this._columns.push(column);\r\n column.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.columnAlreadyBelongsToAnotherSet());\r\n }\r\n };\r\n ColumnSet.prototype.removeItem = function (item) {\r\n if (item instanceof Column) {\r\n var itemIndex = this._columns.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._columns.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Column ? this._columns.indexOf(cardElement) : -1;\r\n };\r\n ColumnSet.prototype.isLeftMostElement = function (element) {\r\n return this._columns.indexOf(element) === 0;\r\n };\r\n ColumnSet.prototype.isRightMostElement = function (element) {\r\n return this._columns.indexOf(element) === this._columns.length - 1;\r\n };\r\n ColumnSet.prototype.isTopElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.isBottomElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n result = column.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ColumnSet;\r\n}(ContainerBase));\r\nexports.ColumnSet = ColumnSet;\r\nfunction raiseImageLoadedEvent(image) {\r\n var card = image.getRootElement();\r\n var onImageLoadedHandler = card && card.onImageLoaded ? card.onImageLoaded : AdaptiveCard.onImageLoaded;\r\n if (onImageLoadedHandler) {\r\n onImageLoadedHandler(image);\r\n }\r\n}\r\nfunction raiseAnchorClickedEvent(element, anchor, ev) {\r\n var card = element.getRootElement();\r\n var onAnchorClickedHandler = card && card.onAnchorClicked ? card.onAnchorClicked : AdaptiveCard.onAnchorClicked;\r\n return onAnchorClickedHandler !== undefined\r\n ? onAnchorClickedHandler(element, anchor, ev)\r\n : false;\r\n}\r\nfunction raiseExecuteActionEvent(action) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onExecuteActionHandler = card && card.onExecuteAction ? card.onExecuteAction : AdaptiveCard.onExecuteAction;\r\n if (action.prepareForExecution() && onExecuteActionHandler) {\r\n onExecuteActionHandler(action);\r\n }\r\n}\r\nfunction raiseInlineCardExpandedEvent(action, isExpanded) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onInlineCardExpandedHandler = card && card.onInlineCardExpanded\r\n ? card.onInlineCardExpanded\r\n : AdaptiveCard.onInlineCardExpanded;\r\n if (onInlineCardExpandedHandler) {\r\n onInlineCardExpandedHandler(action, isExpanded);\r\n }\r\n}\r\nfunction raiseInputValueChangedEvent(input) {\r\n var card = input.getRootElement();\r\n var onInputValueChangedHandler = card && card.onInputValueChanged\r\n ? card.onInputValueChanged\r\n : AdaptiveCard.onInputValueChanged;\r\n if (onInputValueChangedHandler) {\r\n onInputValueChangedHandler(input);\r\n }\r\n}\r\nfunction raiseElementVisibilityChangedEvent(element, shouldUpdateLayout) {\r\n if (shouldUpdateLayout === void 0) { shouldUpdateLayout = true; }\r\n var rootElement = element.getRootElement();\r\n if (shouldUpdateLayout) {\r\n rootElement.updateLayout();\r\n }\r\n var card = rootElement;\r\n var onElementVisibilityChangedHandler = card && card.onElementVisibilityChanged\r\n ? card.onElementVisibilityChanged\r\n : AdaptiveCard.onElementVisibilityChanged;\r\n if (onElementVisibilityChangedHandler !== undefined) {\r\n onElementVisibilityChangedHandler(element);\r\n }\r\n}\r\nfunction updateInputAdornersVisibility(input, hide) {\r\n if (!!hide) {\r\n // hides the time/date picker icon\r\n input.readOnly = true;\r\n // hides the cross button icon\r\n input.required = true;\r\n }\r\n else {\r\n // shows the time/date picker icon\r\n input.readOnly = false;\r\n // shows the cross button icon\r\n input.required = false;\r\n }\r\n}\r\n/**\r\n * @returns return false to continue with default context menu; return true to skip SDK default context menu\r\n */\r\nfunction raiseDisplayOverflowActionMenuEvent(action, target) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onDisplayOverflowActionMenuHandler = card && card.onDisplayOverflowActionMenu\r\n ? card.onDisplayOverflowActionMenu\r\n : AdaptiveCard.onDisplayOverflowActionMenu;\r\n return onDisplayOverflowActionMenuHandler !== undefined\r\n ? onDisplayOverflowActionMenuHandler(action.getActions(), target)\r\n : false;\r\n}\r\n/**\r\n * @returns return false to continue with default action button; return true to skip SDK default action button\r\n */\r\nfunction raiseRenderOverflowActionsEvent(action, isAtRootLevelActions) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onRenderOverflowActionsHandler = card && card.onRenderOverflowActions\r\n ? card.onRenderOverflowActions\r\n : AdaptiveCard.onRenderOverflowActions;\r\n return onRenderOverflowActionsHandler !== undefined\r\n ? onRenderOverflowActionsHandler(action.getActions(), isAtRootLevelActions)\r\n : false;\r\n}\r\nvar ContainerWithActions = /** @class */ (function (_super) {\r\n __extends(ContainerWithActions, _super);\r\n function ContainerWithActions() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ContainerWithActions.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.parseActions(source, context);\r\n };\r\n ContainerWithActions.prototype.parseActions = function (source, context) {\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ContainerWithActions.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ContainerWithActions.prototype.internalRender = function () {\r\n var element = _super.prototype.internalRender.call(this);\r\n if (element) {\r\n var renderedActions = this._actionCollection.render(this.hostConfig.actions.actionsOrientation);\r\n if (renderedActions) {\r\n Utils.appendChild(element, renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.hostConfig.actions.spacing)\r\n }, Enums.Orientation.Horizontal));\r\n Utils.appendChild(element, renderedActions);\r\n }\r\n if (this.renderIfEmpty) {\r\n return element;\r\n }\r\n else {\r\n return element.children.length > 0 ? element : undefined;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ContainerWithActions.prototype.getHasExpandedAction = function () {\r\n if (this.renderedActionCount === 0) {\r\n return false;\r\n }\r\n else if (this.renderedActionCount === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._actionCollection.renderedActionCount;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerWithActions.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\r\n };\r\n ContainerWithActions.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ContainerWithActions.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ContainerWithActions.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ContainerWithActions.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this._actionCollection) {\r\n this._actionCollection.validateProperties(context);\r\n }\r\n };\r\n ContainerWithActions.prototype.isLastElement = function (element) {\r\n return _super.prototype.isLastElement.call(this, element) && this._actionCollection.getActionCount() === 0;\r\n };\r\n ContainerWithActions.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ContainerWithActions.prototype.clear = function () {\r\n _super.prototype.clear.call(this);\r\n this._actionCollection.clear();\r\n };\r\n ContainerWithActions.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = _super.prototype.getAllInputs.call(this, processActions);\r\n if (processActions) {\r\n result.push.apply(result, this._actionCollection.getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n ContainerWithActions.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this._actionCollection.getResourceInformation());\r\n return result;\r\n };\r\n ContainerWithActions.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount === 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ContainerWithActions.prototype.getForbiddenActionNames = function () {\r\n return [];\r\n };\r\n ContainerWithActions.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerWithActions;\r\n}(Container));\r\nexports.ContainerWithActions = ContainerWithActions;\r\nvar RefreshActionProperty = /** @class */ (function (_super) {\r\n __extends(RefreshActionProperty, _super);\r\n function RefreshActionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n RefreshActionProperty.prototype.parse = function (sender, source, context) {\r\n var action = context.parseAction(sender.parent, source[this.name], [], false);\r\n if (action !== undefined) {\r\n if (action instanceof ExecuteAction) {\r\n return action;\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(action.getJsonTypeName()));\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"action\"));\r\n return undefined;\r\n };\r\n RefreshActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return RefreshActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.RefreshActionProperty = RefreshActionProperty;\r\nvar RefreshDefinition = /** @class */ (function (_super) {\r\n __extends(RefreshDefinition, _super);\r\n function RefreshDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(RefreshDefinition.prototype, \"action\", {\r\n get: function () {\r\n return this.getValue(RefreshDefinition.actionProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(RefreshDefinition.actionProperty, value);\r\n if (value) {\r\n value.setParent(this.parent);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n RefreshDefinition.prototype.getSchemaKey = function () {\r\n return \"RefreshDefinition\";\r\n };\r\n //#region Schema\r\n RefreshDefinition.actionProperty = new RefreshActionProperty(serialization_1.Versions.v1_4, \"action\");\r\n RefreshDefinition.userIdsProperty = new serialization_1.StringArrayProperty(serialization_1.Versions.v1_4, \"userIds\");\r\n __decorate([\r\n (0, serialization_1.property)(RefreshDefinition.actionProperty)\r\n ], RefreshDefinition.prototype, \"action\", null);\r\n __decorate([\r\n (0, serialization_1.property)(RefreshDefinition.userIdsProperty)\r\n ], RefreshDefinition.prototype, \"userIds\", void 0);\r\n return RefreshDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.RefreshDefinition = RefreshDefinition;\r\nvar AuthCardButton = /** @class */ (function (_super) {\r\n __extends(AuthCardButton, _super);\r\n function AuthCardButton() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n AuthCardButton.prototype.getSchemaKey = function () {\r\n return \"AuthCardButton\";\r\n };\r\n //#region Schema\r\n AuthCardButton.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"type\");\r\n AuthCardButton.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"title\");\r\n AuthCardButton.imageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"image\");\r\n AuthCardButton.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.typeProperty)\r\n ], AuthCardButton.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.titleProperty)\r\n ], AuthCardButton.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.imageProperty)\r\n ], AuthCardButton.prototype, \"image\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.valueProperty)\r\n ], AuthCardButton.prototype, \"value\", void 0);\r\n return AuthCardButton;\r\n}(serialization_1.SerializableObject));\r\nexports.AuthCardButton = AuthCardButton;\r\nvar TokenExchangeResource = /** @class */ (function (_super) {\r\n __extends(TokenExchangeResource, _super);\r\n function TokenExchangeResource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TokenExchangeResource.prototype.getSchemaKey = function () {\r\n return \"TokenExchangeResource\";\r\n };\r\n //#region Schema\r\n TokenExchangeResource.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"id\");\r\n TokenExchangeResource.uriProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"uri\");\r\n TokenExchangeResource.providerIdProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"providerId\");\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.idProperty)\r\n ], TokenExchangeResource.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.uriProperty)\r\n ], TokenExchangeResource.prototype, \"uri\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.providerIdProperty)\r\n ], TokenExchangeResource.prototype, \"providerId\", void 0);\r\n return TokenExchangeResource;\r\n}(serialization_1.SerializableObject));\r\nexports.TokenExchangeResource = TokenExchangeResource;\r\nvar Authentication = /** @class */ (function (_super) {\r\n __extends(Authentication, _super);\r\n function Authentication() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Authentication.prototype.getSchemaKey = function () {\r\n return \"Authentication\";\r\n };\r\n //#region Schema\r\n Authentication.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"text\");\r\n Authentication.connectionNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"connectionName\");\r\n Authentication.buttonsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_4, \"buttons\", AuthCardButton);\r\n Authentication.tokenExchangeResourceProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"tokenExchangeResource\", TokenExchangeResource, true);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.textProperty)\r\n ], Authentication.prototype, \"text\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.connectionNameProperty)\r\n ], Authentication.prototype, \"connectionName\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.buttonsProperty)\r\n ], Authentication.prototype, \"buttons\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.tokenExchangeResourceProperty)\r\n ], Authentication.prototype, \"tokenExchangeResource\", void 0);\r\n return Authentication;\r\n}(serialization_1.SerializableObject));\r\nexports.Authentication = Authentication;\r\n// @dynamic\r\nvar AdaptiveCard = /** @class */ (function (_super) {\r\n __extends(AdaptiveCard, _super);\r\n function AdaptiveCard() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.designMode = false;\r\n return _this;\r\n }\r\n Object.defineProperty(AdaptiveCard.prototype, \"refresh\", {\r\n get: function () {\r\n return this.getValue(AdaptiveCard.refreshProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(AdaptiveCard.refreshProperty, value);\r\n if (value) {\r\n value.parent = this;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard, \"processMarkdown\", {\r\n get: function () {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n set: function (_value) {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.applyMarkdown = function (text) {\r\n var result = {\r\n didProcess: false\r\n };\r\n if (AdaptiveCard.onProcessMarkdown) {\r\n AdaptiveCard.onProcessMarkdown(text, result);\r\n }\r\n else if (window.markdownit) {\r\n // Check for markdownit\r\n var markdownIt = window.markdownit;\r\n result.outputHtml = markdownIt().render(text);\r\n result.didProcess = true;\r\n }\r\n else if (!AdaptiveCard._haveWarnedAboutNoMarkdownProcessing) {\r\n // eslint-disable-next-line no-console\r\n console.warn(strings_1.Strings.errors.markdownProcessingNotEnabled);\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = true;\r\n }\r\n return result;\r\n };\r\n AdaptiveCard.prototype.isVersionSupported = function () {\r\n if (this.bypassVersionCheck) {\r\n return true;\r\n }\r\n else {\r\n var unsupportedVersion = !this.version ||\r\n !this.version.isValid ||\r\n this.maxVersion.major < this.version.major ||\r\n (this.maxVersion.major === this.version.major &&\r\n this.maxVersion.minor < this.version.minor);\r\n return !unsupportedVersion;\r\n }\r\n };\r\n AdaptiveCard.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext(this.version);\r\n };\r\n AdaptiveCard.prototype.getItemsCollectionPropertyName = function () {\r\n return \"body\";\r\n };\r\n AdaptiveCard.prototype.internalParse = function (source, context) {\r\n this._fallbackCard = undefined;\r\n var fallbackElement = context.parseElement(undefined, source[\"fallback\"], this.forbiddenChildElements(), !this.isDesignMode());\r\n if (fallbackElement) {\r\n this._fallbackCard = new AdaptiveCard();\r\n this._fallbackCard.addItem(fallbackElement);\r\n }\r\n _super.prototype.internalParse.call(this, source, context);\r\n };\r\n AdaptiveCard.prototype.internalToJSON = function (target, context) {\r\n this.setValue(AdaptiveCard.versionProperty, context.targetVersion);\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n };\r\n AdaptiveCard.prototype.internalRender = function () {\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && renderedElement) {\r\n // Unlike containers, the root card element should be allowed to\r\n // be shorter than its content (otherwise the overflow truncation\r\n // logic would never get triggered)\r\n renderedElement.style.removeProperty(\"minHeight\");\r\n }\r\n return renderedElement;\r\n };\r\n AdaptiveCard.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n return true;\r\n };\r\n AdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n AdaptiveCard.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"allowCustomStyle\", {\r\n get: function () {\r\n return this.hostConfig.adaptiveCard && this.hostConfig.adaptiveCard.allowCustomStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasBackground\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.prototype.getJsonTypeName = function () {\r\n return \"AdaptiveCard\";\r\n };\r\n AdaptiveCard.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.getValue(CardElement.typeNameProperty) !== \"AdaptiveCard\") {\r\n context.addFailure(this, Enums.ValidationEvent.MissingCardType, strings_1.Strings.errors.invalidCardType());\r\n }\r\n if (!this.bypassVersionCheck && !this.version) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"version\"));\r\n }\r\n else if (!this.isVersionSupported()) {\r\n context.addFailure(this, Enums.ValidationEvent.UnsupportedCardVersion, strings_1.Strings.errors.unsupportedCardVersion(this.version.toString(), this.maxVersion.toString()));\r\n }\r\n };\r\n AdaptiveCard.prototype.render = function (target) {\r\n var _this = this;\r\n var renderedCard;\r\n if (this.shouldFallback() && this._fallbackCard) {\r\n this._fallbackCard.hostConfig = this.hostConfig;\r\n renderedCard = this._fallbackCard.render();\r\n }\r\n else {\r\n renderedCard = _super.prototype.render.call(this);\r\n if (renderedCard) {\r\n renderedCard.classList.add(this.hostConfig.makeCssClassName(\"ac-adaptiveCard\"));\r\n // Having a tabIndex on the root container for a card can mess up accessibility in some scenarios.\r\n // However, we've shipped this behavior before, and so can't just turn it off in a point release. For\r\n // now, to unblock accessibility scenarios for our customers, we've got an option to turn it off. In a\r\n // future release, we should strongly consider flipping the default such that we *don't* emit a tabIndex\r\n // by default.\r\n if (shared_1.GlobalSettings.setTabIndexAtCardRoot) {\r\n renderedCard.tabIndex = 0;\r\n }\r\n if (this.speak) {\r\n renderedCard.setAttribute(\"aria-label\", this.speak);\r\n }\r\n renderedCard.onmouseenter = function (ev) {\r\n _this.updateInputsVisualState(true /* hover */);\r\n };\r\n renderedCard.onmouseleave = function (ev) {\r\n _this.updateInputsVisualState(false /* hover */);\r\n };\r\n this.getRootElement().updateActionsEnabledState();\r\n }\r\n }\r\n if (target) {\r\n Utils.appendChild(target, renderedCard);\r\n this.updateLayout();\r\n }\r\n var inputElements = this.getAllInputs();\r\n document.onclick = function (event) {\r\n inputElements.forEach(function (input) {\r\n var _a, _b;\r\n if (input instanceof ChoiceSetInput &&\r\n !((_a = input.renderedElement) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {\r\n (_b = input\r\n .getDropdownElement()) === null || _b === void 0 ? void 0 : _b.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n });\r\n };\r\n return renderedCard;\r\n };\r\n AdaptiveCard.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && this.isDisplayed()) {\r\n var padding = this.hostConfig.getEffectiveSpacing(Enums.Spacing.Default);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n this[\"handleOverflow\"](this.renderedElement.offsetHeight - padding);\r\n }\r\n };\r\n AdaptiveCard.prototype.shouldFallback = function () {\r\n return _super.prototype.shouldFallback.call(this) || !this.isVersionSupported();\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.schemaUrl = \"http://adaptivecards.io/schemas/adaptive-card.json\";\r\n //#region Schema\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n AdaptiveCard.$schemaProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"$schema\", function (sender, property, source, context) {\r\n return AdaptiveCard.schemaUrl;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, AdaptiveCard.schemaUrl);\r\n });\r\n AdaptiveCard.versionProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"version\", function (sender, prop, source, context) {\r\n var version = serialization_1.Version.parse(source[prop.name], context);\r\n if (version === undefined) {\r\n version = serialization_1.Versions.latest;\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidCardVersion(version.toString()));\r\n }\r\n return version;\r\n }, function (sender, prop, target, value, context) {\r\n if (value !== undefined) {\r\n context.serializeValue(target, prop.name, value.toString());\r\n }\r\n }, serialization_1.Versions.v1_0);\r\n AdaptiveCard.fallbackTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"fallbackText\");\r\n AdaptiveCard.speakProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"speak\");\r\n AdaptiveCard.refreshProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"refresh\", RefreshDefinition, true);\r\n AdaptiveCard.authenticationProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"authentication\", Authentication, true);\r\n //#endregion\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = false;\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.versionProperty)\r\n ], AdaptiveCard.prototype, \"version\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.fallbackTextProperty)\r\n ], AdaptiveCard.prototype, \"fallbackText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.speakProperty)\r\n ], AdaptiveCard.prototype, \"speak\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.refreshProperty)\r\n ], AdaptiveCard.prototype, \"refresh\", null);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.authenticationProperty)\r\n ], AdaptiveCard.prototype, \"authentication\", void 0);\r\n return AdaptiveCard;\r\n}(ContainerWithActions));\r\nexports.AdaptiveCard = AdaptiveCard;\r\nvar InlineAdaptiveCard = /** @class */ (function (_super) {\r\n __extends(InlineAdaptiveCard, _super);\r\n function InlineAdaptiveCard() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suppressStyle = false;\r\n return _this;\r\n }\r\n InlineAdaptiveCard.prototype.getSchemaKey = function () {\r\n return \"InlineAdaptiveCard\";\r\n };\r\n InlineAdaptiveCard.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(AdaptiveCard.$schemaProperty, AdaptiveCard.versionProperty);\r\n };\r\n //#endregion\r\n InlineAdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding, this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"defaultStyle\", {\r\n get: function () {\r\n if (this.suppressStyle) {\r\n return Enums.ContainerStyle.Default;\r\n }\r\n else {\r\n return this.hostConfig.actions.showCard.style\r\n ? this.hostConfig.actions.showCard.style\r\n : Enums.ContainerStyle.Emphasis;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n InlineAdaptiveCard.prototype.render = function (target) {\r\n var renderedCard = _super.prototype.render.call(this, target);\r\n if (renderedCard) {\r\n renderedCard.setAttribute(\"aria-live\", \"polite\");\r\n renderedCard.removeAttribute(\"tabindex\");\r\n }\r\n return renderedCard;\r\n };\r\n return InlineAdaptiveCard;\r\n}(AdaptiveCard));\r\nvar SerializationContext = /** @class */ (function (_super) {\r\n __extends(SerializationContext, _super);\r\n function SerializationContext() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._forbiddenTypes = new Set();\r\n return _this;\r\n }\r\n SerializationContext.prototype.internalParseCardObject = function (parent, source, forbiddenTypes, allowFallback, createInstanceCallback, logParseEvent) {\r\n var _this = this;\r\n var result = undefined;\r\n if (source && typeof source === \"object\") {\r\n var oldForbiddenTypes_1 = new Set();\r\n this._forbiddenTypes.forEach(function (type) {\r\n oldForbiddenTypes_1.add(type);\r\n });\r\n forbiddenTypes.forEach(function (type) {\r\n _this._forbiddenTypes.add(type);\r\n });\r\n var typeName = Utils.parseString(source[\"type\"]);\r\n if (typeName && this._forbiddenTypes.has(typeName)) {\r\n logParseEvent(typeName, Enums.TypeErrorType.ForbiddenType);\r\n }\r\n else {\r\n var tryToFallback = false;\r\n result = createInstanceCallback(typeName);\r\n if (!result) {\r\n tryToFallback = shared_1.GlobalSettings.enableFallback && allowFallback;\r\n logParseEvent(typeName, Enums.TypeErrorType.UnknownType);\r\n }\r\n else {\r\n result.setParent(parent);\r\n result.parse(source, this);\r\n tryToFallback =\r\n shared_1.GlobalSettings.enableFallback && allowFallback && result.shouldFallback();\r\n }\r\n if (tryToFallback) {\r\n var fallback = source[\"fallback\"];\r\n if (!fallback && parent) {\r\n parent.setShouldFallback(true);\r\n }\r\n if (typeof fallback === \"string\" && fallback.toLowerCase() === \"drop\") {\r\n result = undefined;\r\n }\r\n else if (typeof fallback === \"object\") {\r\n result = this.internalParseCardObject(parent, fallback, forbiddenTypes, true, createInstanceCallback, logParseEvent);\r\n }\r\n }\r\n }\r\n this._forbiddenTypes = oldForbiddenTypes_1;\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.cardObjectParsed = function (o, source) {\r\n if (o instanceof Action && this.onParseAction) {\r\n this.onParseAction(o, source, this);\r\n }\r\n else if (o instanceof CardElement && this.onParseElement) {\r\n this.onParseElement(o, source, this);\r\n }\r\n };\r\n SerializationContext.prototype.shouldSerialize = function (o) {\r\n if (o instanceof Action) {\r\n return this.actionRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else if (o instanceof CardElement) {\r\n return this.elementRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n SerializationContext.prototype.parseCardObject = function (parent, source, forbiddenTypeNames, allowFallback, createInstanceCallback, logParseEvent) {\r\n var forbiddenTypes = new Set(forbiddenTypeNames);\r\n var result = this.internalParseCardObject(parent, source, forbiddenTypes, allowFallback, createInstanceCallback, logParseEvent);\r\n if (result !== undefined) {\r\n this.cardObjectParsed(result, source);\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.parseElement = function (parent, source, forbiddenTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenTypes, allowFallback, function (typeName) {\r\n return _this.elementRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType === Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownElementType, strings_1.Strings.errors.unknownElementType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n SerializationContext.prototype.parseAction = function (parent, source, forbiddenActionTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenActionTypes, allowFallback, function (typeName) {\r\n return _this.actionRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType === Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownActionType, strings_1.Strings.errors.unknownActionType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"elementRegistry\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._elementRegistry) !== null && _a !== void 0 ? _a : registry_1.GlobalRegistry.elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setElementRegistry = function (value) {\r\n this._elementRegistry = value;\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"actionRegistry\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._actionRegistry) !== null && _a !== void 0 ? _a : registry_1.GlobalRegistry.actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setActionRegistry = function (value) {\r\n this._actionRegistry = value;\r\n };\r\n return SerializationContext;\r\n}(serialization_1.BaseSerializationContext));\r\nexports.SerializationContext = SerializationContext;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Container\", Container);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextBlock\", TextBlock);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"RichTextBlock\", RichTextBlock, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextRun\", TextRun, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Image\", Image);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ImageSet\", ImageSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Media\", Media, serialization_1.Versions.v1_1);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"FactSet\", FactSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ColumnSet\", ColumnSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ActionSet\", ActionSet, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Text\", TextInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Date\", DateInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Time\", TimeInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Number\", NumberInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.ChoiceSet\", ChoiceSetInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Toggle\", ToggleInput);\r\nregistry_1.GlobalRegistry.defaultActions.register(OpenUrlAction.JsonTypeName, OpenUrlAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(SubmitAction.JsonTypeName, SubmitAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ShowCardAction.JsonTypeName, ShowCardAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ToggleVisibilityAction.JsonTypeName, ToggleVisibilityAction, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultActions.register(ExecuteAction.JsonTypeName, ExecuteAction, serialization_1.Versions.v1_4);\r\n//# sourceMappingURL=card-elements.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CardObject = exports.ValidationResults = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar shared_1 = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar ValidationResults = /** @class */ (function () {\r\n function ValidationResults() {\r\n this.allIds = {};\r\n this.validationEvents = [];\r\n }\r\n ValidationResults.prototype.addFailure = function (cardObject, event, message) {\r\n this.validationEvents.push({\r\n phase: Enums.ValidationPhase.Validation,\r\n source: cardObject,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n return ValidationResults;\r\n}());\r\nexports.ValidationResults = ValidationResults;\r\nvar CardObject = /** @class */ (function (_super) {\r\n __extends(CardObject, _super);\r\n function CardObject() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._shouldFallback = false;\r\n return _this;\r\n }\r\n CardObject.prototype.getSchemaKey = function () {\r\n return this.getJsonTypeName();\r\n };\r\n Object.defineProperty(CardObject.prototype, \"requires\", {\r\n get: function () {\r\n return this.getValue(CardObject.requiresProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Checks if this CardObject contains the given DOM Node.\r\n * @param node The DOM Node to look for.\r\n * @returns `true` if the DOM Node was found, `false` otherwise.\r\n */\r\n CardObject.prototype.contains = function (node) {\r\n if (this._renderedElement) {\r\n return this._renderedElement.contains(node);\r\n }\r\n return false;\r\n };\r\n CardObject.prototype.preProcessPropertyValue = function (prop, propertyValue) {\r\n var value = propertyValue === undefined ? this.getValue(prop) : propertyValue;\r\n if (shared_1.GlobalSettings.allowPreProcessingPropertyValues) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n var currentObject = this;\r\n while (currentObject && !currentObject.onPreProcessPropertyValue) {\r\n currentObject = currentObject.parent;\r\n }\r\n if (currentObject && currentObject.onPreProcessPropertyValue) {\r\n return currentObject.onPreProcessPropertyValue(this, prop, value);\r\n }\r\n }\r\n return value;\r\n };\r\n CardObject.prototype.setParent = function (value) {\r\n this._parent = value;\r\n };\r\n CardObject.prototype.setShouldFallback = function (value) {\r\n this._shouldFallback = value;\r\n };\r\n CardObject.prototype.shouldFallback = function () {\r\n return this._shouldFallback || !this.requires.areAllMet(this.hostConfig.hostCapabilities);\r\n };\r\n CardObject.prototype.getRootObject = function () {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n var currentObject = this;\r\n while (currentObject.parent) {\r\n currentObject = currentObject.parent;\r\n }\r\n return currentObject;\r\n };\r\n CardObject.prototype.internalValidateProperties = function (context) {\r\n if (this.id) {\r\n if (context.allIds.hasOwnProperty(this.id)) {\r\n if (context.allIds[this.id] === 1) {\r\n context.addFailure(this, Enums.ValidationEvent.DuplicateId, strings_1.Strings.errors.duplicateId(this.id));\r\n }\r\n context.allIds[this.id] += 1;\r\n }\r\n else {\r\n context.allIds[this.id] = 1;\r\n }\r\n }\r\n };\r\n CardObject.prototype.validateProperties = function () {\r\n var result = new ValidationResults();\r\n this.internalValidateProperties(result);\r\n return result;\r\n };\r\n /**\r\n * Recursively searches this CardObject and any children to find the\r\n * innermost CardObject that owns the given DOM Node.\r\n *\r\n * @param node The DOM Node to look for.\r\n *\r\n * @returns The owner of the given DOM Node, or `undefined` if no owner was found.\r\n */\r\n CardObject.prototype.findDOMNodeOwner = function (node) {\r\n // default implementation for CardObjects with no associated children\r\n return this.contains(node) ? this : undefined;\r\n };\r\n CardObject.prototype.releaseDOMResources = function () {\r\n // Do nothing in base implementation\r\n };\r\n Object.defineProperty(CardObject.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardObject.prototype, \"renderedElement\", {\r\n get: function () {\r\n return this._renderedElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardObject.typeNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"type\", undefined, undefined, undefined, function (sender) {\r\n return sender.getJsonTypeName();\r\n });\r\n CardObject.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"id\");\r\n CardObject.requiresProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_2, \"requires\", host_capabilities_1.HostCapabilities, false, new host_capabilities_1.HostCapabilities());\r\n __decorate([\r\n (0, serialization_1.property)(CardObject.idProperty)\r\n ], CardObject.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardObject.requiresProperty)\r\n ], CardObject.prototype, \"requires\", null);\r\n return CardObject;\r\n}(serialization_1.SerializableObject));\r\nexports.CardObject = CardObject;\r\n//# sourceMappingURL=card-object.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CarouselEvent = exports.Carousel = exports.CarouselPage = void 0;\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar Enums = require(\"./enums\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar enums_1 = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar swiper_1 = require(\"swiper\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\n// Note: to function correctly, consumers need to have CSS from swiper/css, swiper/css/pagination, and\r\n// swiper/css/navigation\r\nvar CarouselPage = /** @class */ (function (_super) {\r\n __extends(CarouselPage, _super);\r\n function CarouselPage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#region Schema\r\n CarouselPage.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in CarouselPage\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n //#endregion\r\n CarouselPage.prototype.internalRender = function () {\r\n var carouselSlide = document.createElement(\"div\");\r\n carouselSlide.className = this.hostConfig.makeCssClassName(\"swiper-slide\");\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n Utils.appendChild(carouselSlide, renderedElement);\r\n return carouselSlide;\r\n };\r\n CarouselPage.prototype.getForbiddenActionTypes = function () {\r\n return [card_elements_1.ShowCardAction, card_elements_1.ToggleVisibilityAction];\r\n };\r\n CarouselPage.prototype.getForbiddenChildElements = function () {\r\n return this.forbiddenChildElements();\r\n };\r\n CarouselPage.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\",\r\n \"Carousel\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n CarouselPage.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.setShouldFallback(false);\r\n };\r\n CarouselPage.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n CarouselPage.prototype.getJsonTypeName = function () {\r\n return \"CarouselPage\";\r\n };\r\n Object.defineProperty(CarouselPage.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CarouselPage.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return CarouselPage;\r\n}(card_elements_1.Container));\r\nexports.CarouselPage = CarouselPage;\r\nvar Carousel = /** @class */ (function (_super) {\r\n __extends(Carousel, _super);\r\n function Carousel() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.carouselLoop = true;\r\n _this.carouselOrientation = Enums.Orientation.Horizontal;\r\n _this._pages = [];\r\n _this._currentIndex = 0;\r\n _this._previousEventType = Enums.CarouselInteractionEvent.Pagination;\r\n return _this;\r\n }\r\n //#region Schema\r\n Carousel.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in Carousel\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"timer\", {\r\n get: function () {\r\n var timer = this.getValue(Carousel.timerProperty);\r\n if (timer && timer < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n timer = this.hostConfig.carousel.minAutoplayDelay;\r\n }\r\n return timer;\r\n },\r\n set: function (value) {\r\n if (value && value < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n this.setValue(Carousel.timerProperty, this.hostConfig.carousel.minAutoplayDelay);\r\n }\r\n else {\r\n this.setValue(Carousel.timerProperty, value);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"initialPageIndex\", {\r\n get: function () {\r\n return this.getValue(Carousel.initialPageProperty);\r\n },\r\n set: function (value) {\r\n if (this.isValidParsedPageIndex(value)) {\r\n this.setValue(Carousel.initialPageProperty, value);\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(value));\r\n this.setValue(Carousel.initialPageProperty, 0);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.isValidParsedPageIndex = function (index) {\r\n return this._pages ? this.isValidPageIndex(index, this._pages.length) : false;\r\n };\r\n Carousel.prototype.isValidRenderedPageIndex = function (index) {\r\n return this._renderedPages ? this.isValidPageIndex(index, this._renderedPages.length) : false;\r\n };\r\n Carousel.prototype.isValidPageIndex = function (index, collectionSize) {\r\n return (collectionSize > 0 && 0 <= index && index < collectionSize);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"previousEventType\", {\r\n //#endregion\r\n get: function () {\r\n return this._previousEventType;\r\n },\r\n set: function (eventType) {\r\n this._previousEventType = eventType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Question: Why do we place this on the Carousel instead of the CarouselPage?\r\n Carousel.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n Carousel.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.height == \"stretch\" && this._containerForAdorners !== undefined) {\r\n this._containerForAdorners.style.height = \"100%\";\r\n }\r\n // Assign the explicit height to carouselPageContainer if given\r\n if (this.carouselHeight) {\r\n this._carouselPageContainer.style.height = this.carouselHeight + \"px\";\r\n }\r\n };\r\n Carousel.prototype.getJsonTypeName = function () {\r\n return \"Carousel\";\r\n };\r\n Carousel.prototype.getItemCount = function () {\r\n return this._pages.length;\r\n };\r\n Carousel.prototype.getItemAt = function (index) {\r\n return this._pages[index];\r\n };\r\n Carousel.prototype.addPage = function (page) {\r\n this._pages.push(page);\r\n page.setParent(this);\r\n };\r\n Carousel.prototype.removeItem = function (item) {\r\n if (item instanceof CarouselPage) {\r\n var itemIndex = this._pages.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._pages.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n Carousel.prototype.getFirstVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Carousel.prototype.getLastVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[this._renderedPages.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Object.defineProperty(Carousel.prototype, \"currentPageId\", {\r\n get: function () {\r\n var _a, _b;\r\n if ((_b = (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slides) === null || _b === void 0 ? void 0 : _b.length) {\r\n var activeSlide = this._carousel.slides[this._carousel.activeIndex];\r\n return activeSlide.id;\r\n }\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentPageIndex\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.realIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._pages = [];\r\n var jsonPages = source[\"pages\"];\r\n if (Array.isArray(jsonPages)) {\r\n for (var _i = 0, jsonPages_1 = jsonPages; _i < jsonPages_1.length; _i++) {\r\n var item = jsonPages_1[_i];\r\n var page = this.createCarouselPageInstance(item, context);\r\n if (page) {\r\n this._pages.push(page);\r\n }\r\n }\r\n }\r\n // everything is parsed do validate on initial page index\r\n this.validateParsing(context);\r\n };\r\n Carousel.prototype.validateParsing = function (context) {\r\n if (!this.isValidParsedPageIndex(this.initialPageIndex)) {\r\n context.logParseEvent(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n }\r\n };\r\n Carousel.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"pages\", this._pages);\r\n };\r\n Carousel.prototype.internalRender = function () {\r\n var _a;\r\n this._renderedPages = [];\r\n if (this._pages.length <= 0) {\r\n return undefined;\r\n }\r\n this.validateOrientationProperties();\r\n var cardLevelContainer = document.createElement(\"div\");\r\n cardLevelContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-card-level-container\");\r\n var carouselContainer = document.createElement(\"div\");\r\n carouselContainer.className = this.hostConfig.makeCssClassName(\"swiper\", \"ac-carousel\");\r\n this._carouselPageContainer = carouselContainer;\r\n var containerForAdorners = document.createElement(\"div\");\r\n containerForAdorners.className = this.hostConfig.makeCssClassName(\"ac-carousel-container\");\r\n this._containerForAdorners = containerForAdorners;\r\n cardLevelContainer.appendChild(containerForAdorners);\r\n var carouselWrapper = document.createElement(\"div\");\r\n carouselWrapper.className = this.hostConfig.makeCssClassName(\"swiper-wrapper\", \"ac-carousel-card-container\");\r\n carouselWrapper.style.display = \"flex\";\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Top:\r\n carouselWrapper.style.alignItems = \"flex-start\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n carouselWrapper.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n carouselWrapper.style.alignItems = \"center\";\r\n break;\r\n }\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // Forces the container to be at least as tall as its content.\r\n //\r\n // Fixes a quirk in Chrome where, for nested flex elements, the\r\n // inner element's height would never exceed the outer element's\r\n // height. This caused overflow truncation to break -- containers\r\n // would always be measured as not overflowing, since their heights\r\n // were constrained by their parents as opposed to truly reflecting\r\n // the height of their content.\r\n //\r\n // See the \"Browser Rendering Notes\" section of this answer:\r\n // https://stackoverflow.com/questions/36247140/why-doesnt-flex-item-shrink-past-content-size\r\n carouselWrapper.style.minHeight = \"-webkit-min-content\";\r\n }\r\n var navigationContainer = document.createElement(\"div\");\r\n navigationContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-navigation\");\r\n var prevElementDiv = document.createElement(\"div\");\r\n prevElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-prev\");\r\n var nextElementDiv = document.createElement(\"div\");\r\n nextElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-next\");\r\n if (this.carouselOrientation === Enums.Orientation.Horizontal) {\r\n this.updateCssForHorizontalCarousel(prevElementDiv, nextElementDiv);\r\n }\r\n else {\r\n this.updateCssForVerticalCarousel(navigationContainer, prevElementDiv, nextElementDiv);\r\n }\r\n var pagination = document.createElement(\"div\");\r\n pagination.className = this.hostConfig.makeCssClassName(\"swiper-pagination\", \"ac-carousel-pagination\");\r\n navigationContainer.appendChild(prevElementDiv);\r\n Utils.addCancelSelectActionEventHandler(prevElementDiv);\r\n navigationContainer.appendChild(pagination);\r\n Utils.addCancelSelectActionEventHandler(pagination);\r\n navigationContainer.appendChild(nextElementDiv);\r\n Utils.addCancelSelectActionEventHandler(nextElementDiv);\r\n if (this.isDesignMode()) {\r\n // If we are in design mode, we need to ensure these elements are in front of the peers\r\n prevElementDiv.style.zIndex = \"20\";\r\n nextElementDiv.style.zIndex = \"20\";\r\n pagination.style.zIndex = \"20\";\r\n }\r\n var requestedNumberOfPages = Math.min(this._pages.length, this.hostConfig.carousel.maxCarouselPages);\r\n if (this._pages.length > this.hostConfig.carousel.maxCarouselPages) {\r\n console.warn(strings_1.Strings.errors.tooManyCarouselPages);\r\n }\r\n if (this._pages.length > 0) {\r\n for (var i = 0; i < requestedNumberOfPages; i++) {\r\n var page = this._pages[i];\r\n var renderedItem = this.isElementAllowed(page) ? page.render() : undefined;\r\n renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.classList.add(\"ac-carousel-page\");\r\n (_a = renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.children[0]) === null || _a === void 0 ? void 0 : _a.classList.add(\"ac-carousel-page-container\");\r\n if (renderedItem) {\r\n Utils.appendChild(carouselWrapper, renderedItem);\r\n this._renderedPages.push(page);\r\n }\r\n }\r\n }\r\n carouselContainer.appendChild(carouselWrapper);\r\n carouselContainer.tabIndex = this.isDesignMode() ? -1 : 0;\r\n containerForAdorners.appendChild(carouselContainer);\r\n containerForAdorners.appendChild(navigationContainer);\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n this.applyRTL(pagination);\r\n if (!this.isDesignMode()) {\r\n if (this.isValidRenderedPageIndex(this.initialPageIndex)) {\r\n this._currentIndex = this.initialPageIndex;\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n this._currentIndex = 0;\r\n }\r\n }\r\n this.initializeCarouselControl(carouselContainer, nextElementDiv, prevElementDiv, pagination, this.rtl);\r\n return this._renderedPages.length > 0 ? cardLevelContainer : undefined;\r\n };\r\n Carousel.prototype.applyRTL = function (pagination) {\r\n _super.prototype.applyRTL.call(this, this._carouselPageContainer);\r\n if (this.rtl) {\r\n pagination.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-pagination-rtl\"));\r\n }\r\n };\r\n Carousel.prototype.validateOrientationProperties = function () {\r\n if (!this.carouselHeight) {\r\n this.carouselOrientation = Enums.Orientation.Horizontal;\r\n }\r\n };\r\n Carousel.prototype.updateCssForHorizontalCarousel = function (prevElementDiv, nextElementDiv) {\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-left\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-right\"));\r\n };\r\n Carousel.prototype.updateCssForVerticalCarousel = function (navigationContainer, prevElementDiv, nextElementDiv) {\r\n this._containerForAdorners.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-container-vertical\"));\r\n navigationContainer.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-navigation-vertical\"));\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-up\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-down\"));\r\n };\r\n Carousel.prototype.initializeCarouselControl = function (carouselContainer, nextElement, prevElement, paginationElement, rtl) {\r\n var _this = this;\r\n var _a, _b, _c;\r\n var nextElementAdjustedForRtl = (rtl === undefined || !rtl ? nextElement : prevElement);\r\n var prevElementAdjustedForRtl = (rtl === undefined || !rtl ? prevElement : nextElement);\r\n var prevElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? prevElementAdjustedForRtl : prevElement;\r\n var nextElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? nextElementAdjustedForRtl : nextElement;\r\n var swiperOptions = {\r\n loop: !this.isDesignMode() && this.carouselLoop,\r\n modules: [swiper_1.Navigation, swiper_1.Pagination, swiper_1.Scrollbar, swiper_1.A11y, swiper_1.History, swiper_1.Keyboard],\r\n pagination: {\r\n el: paginationElement,\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevElementAdjustedForOrientation,\r\n nextEl: nextElementAdjustedForOrientation\r\n },\r\n a11y: {\r\n enabled: true\r\n },\r\n keyboard: {\r\n enabled: false,\r\n onlyInViewport: true\r\n },\r\n direction: this.carouselOrientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\",\r\n resizeObserver: false,\r\n initialSlide: this._currentIndex\r\n };\r\n if (this.timer && !this.isDesignMode()) {\r\n (_a = swiperOptions.modules) === null || _a === void 0 ? void 0 : _a.push(swiper_1.Autoplay);\r\n swiperOptions.autoplay = { delay: this.timer, pauseOnMouseEnter: true };\r\n }\r\n var carousel = new swiper_1.Swiper(carouselContainer, swiperOptions);\r\n // While the 'pauseOnMouseEnter' option should resume autoplay on\r\n // mouse exit it doesn't do it, so adding custom events to handle it\r\n carouselContainer.addEventListener(\"mouseenter\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.stop();\r\n });\r\n carouselContainer.addEventListener(\"mouseleave\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.start();\r\n });\r\n carousel.on('navigationNext', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationNext);\r\n });\r\n carousel.on('navigationPrev', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationPrevious);\r\n });\r\n carousel.on('slideChangeTransitionEnd', function (swiper) {\r\n _this.currentIndex = swiper.realIndex;\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Pagination);\r\n });\r\n carousel.on('autoplay', function () {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Autoplay);\r\n });\r\n carousel.on('paginationRender', function (swiper, paginationEl) {\r\n swiper.pagination.bullets.forEach(function (bullet, index) {\r\n bullet.addEventListener(\"keypress\", function (event) {\r\n if (event.key == \"Enter\") {\r\n event.preventDefault();\r\n swiper.slideTo(index + 1);\r\n }\r\n });\r\n });\r\n });\r\n carousel.on('destroy', function () {\r\n _this.destroyResizeObserver();\r\n });\r\n prevElement.title = (_b = prevElement.ariaLabel) !== null && _b !== void 0 ? _b : strings_1.Strings.defaults.carouselNavigationPreviousTooltip();\r\n nextElement.title = (_c = nextElement.ariaLabel) !== null && _c !== void 0 ? _c : strings_1.Strings.defaults.carouselNavigationNextTooltip();\r\n this._carousel = carousel;\r\n this.createResizeObserver();\r\n };\r\n Carousel.prototype.createCarouselPageInstance = function (source, context) {\r\n return context.parseCardObject(this, source, this.forbiddenChildElements(), !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"CarouselPage\" ? new CarouselPage() : undefined;\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, enums_1.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n Carousel.prototype.slideTo = function (index) {\r\n var _a;\r\n (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slideTo(index);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"carouselPageContainer\", {\r\n get: function () {\r\n return this._carouselPageContainer;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentIndex\", {\r\n get: function () {\r\n return this._currentIndex;\r\n },\r\n set: function (currentIndex) {\r\n this._currentIndex = currentIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.createCarouselEvent = function (type) {\r\n var currentPageId;\r\n if (this.currentPageIndex != undefined) {\r\n currentPageId = this.getItemAt(this.currentPageIndex).id;\r\n }\r\n return new CarouselEvent(type, this.id, currentPageId, this.currentPageIndex);\r\n };\r\n Carousel.prototype.raiseCarouselEvent = function (eventType) {\r\n var card = this.parent ? this.parent.getRootElement() : undefined;\r\n var onCarouselEventHandler = card && card.onCarouselEvent\r\n ? card.onCarouselEvent\r\n : card_elements_1.AdaptiveCard.onCarouselEvent;\r\n // pagination event is triggered on slide transition end event \r\n if (onCarouselEventHandler && eventType == Enums.CarouselInteractionEvent.Pagination) {\r\n // returns the event type that causes slide transition\r\n onCarouselEventHandler(this.createCarouselEvent(this.previousEventType));\r\n }\r\n this.previousEventType = eventType;\r\n };\r\n /// Swiper version 8 added requestAnimationFrame() call in its resize observer code\r\n /// The new call causes flickering issue,\r\n /// We've copied resize observer code from Swiper version 7 with some modifications\r\n Carousel.prototype.createResizeObserver = function () {\r\n var _this = this;\r\n var _a;\r\n if (!this.checkIfCarouselInValidStateForResizeEvent()) {\r\n return;\r\n }\r\n this._observer = new ResizeObserver(function (entries) {\r\n var _a, _b, _c, _d;\r\n var width = (_a = _this._carousel) === null || _a === void 0 ? void 0 : _a.width;\r\n var height = (_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.height;\r\n var newWidth = width;\r\n var newHeight = height;\r\n entries.forEach(function (_a) {\r\n var _b;\r\n var contentBoxSize = _a.contentBoxSize, contentRect = _a.contentRect, target = _a.target;\r\n if (target && target !== ((_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.el)) {\r\n return;\r\n }\r\n newWidth = contentRect\r\n ? contentRect.width\r\n : (contentBoxSize[0] || contentBoxSize).inlineSize;\r\n newHeight = contentRect\r\n ? contentRect.height\r\n : (contentBoxSize[0] || contentBoxSize).blockSize;\r\n });\r\n if (newWidth !== width || newHeight !== height) {\r\n if (_this.checkIfCarouselInValidStateForResizeEvent()) {\r\n (_c = _this._carousel) === null || _c === void 0 ? void 0 : _c.emit('beforeResize');\r\n (_d = _this._carousel) === null || _d === void 0 ? void 0 : _d.emit('resize');\r\n }\r\n }\r\n });\r\n this._observer.observe((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el);\r\n };\r\n Carousel.prototype.destroyResizeObserver = function () {\r\n var _a;\r\n if (this._observer && this._observer.unobserve && ((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el)) {\r\n this._observer.unobserve(this._carousel.el);\r\n this._observer = null;\r\n }\r\n };\r\n ;\r\n Carousel.prototype.checkIfCarouselInValidStateForResizeEvent = function () {\r\n return this._carousel && !this._carousel.destroyed;\r\n };\r\n Carousel.timerProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"timer\", undefined);\r\n Carousel.initialPageProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"initialPage\", 0);\r\n Carousel.loopProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"loop\", true);\r\n Carousel.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"orientation\", Enums.Orientation, Enums.Orientation.Horizontal);\r\n Carousel.carouselHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_6, \"heightInPixels\");\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.timerProperty)\r\n ], Carousel.prototype, \"timer\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.initialPageProperty)\r\n ], Carousel.prototype, \"initialPageIndex\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.loopProperty)\r\n ], Carousel.prototype, \"carouselLoop\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.orientationProperty)\r\n ], Carousel.prototype, \"carouselOrientation\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.carouselHeightProperty)\r\n ], Carousel.prototype, \"carouselHeight\", void 0);\r\n return Carousel;\r\n}(card_elements_1.Container));\r\nexports.Carousel = Carousel;\r\nvar CarouselEvent = /** @class */ (function () {\r\n function CarouselEvent(type, carouselId, activeCarouselPageId, activeCarouselPageIndex) {\r\n this.type = type;\r\n this.carouselId = carouselId;\r\n this.activeCarouselPageId = activeCarouselPageId;\r\n this.activeCarouselPageIndex = activeCarouselPageIndex;\r\n }\r\n return CarouselEvent;\r\n}());\r\nexports.CarouselEvent = CarouselEvent;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Carousel\", Carousel, serialization_1.Versions.v1_6);\r\n//# sourceMappingURL=carousel.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ChannelAdapter = void 0;\r\nvar ChannelAdapter = /** @class */ (function () {\r\n function ChannelAdapter() {\r\n }\r\n return ChannelAdapter;\r\n}());\r\nexports.ChannelAdapter = ChannelAdapter;\r\n//# sourceMappingURL=channel-adapter.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Collection = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Collection = /** @class */ (function () {\r\n function Collection() {\r\n this._items = [];\r\n }\r\n Collection.prototype.get = function (index) {\r\n return this._items[index];\r\n };\r\n Collection.prototype.add = function (item) {\r\n this._items.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(item);\r\n }\r\n };\r\n Collection.prototype.remove = function (item) {\r\n var i = this._items.indexOf(item);\r\n if (i >= 0) {\r\n this._items = this._items.splice(i, 1);\r\n if (this.onItemRemoved) {\r\n this.onItemRemoved(item);\r\n }\r\n }\r\n };\r\n Collection.prototype.indexOf = function (item) {\r\n return this._items.indexOf(item);\r\n };\r\n Object.defineProperty(Collection.prototype, \"length\", {\r\n get: function () {\r\n return this._items.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Collection;\r\n}());\r\nexports.Collection = Collection;\r\n//# sourceMappingURL=collection.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Constants = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Constants = /** @class */ (function () {\r\n function Constants() {\r\n }\r\n Constants.keys = {\r\n tab: \"Tab\",\r\n enter: \"Enter\",\r\n escape: \"Escape\",\r\n space: \" \",\r\n up: \"ArrowUp\",\r\n down: \"ArrowDown\",\r\n delete: \"Delete\"\r\n };\r\n return Constants;\r\n}());\r\nexports.Constants = Constants;\r\n//# sourceMappingURL=constants.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n__exportStar(require(\"./menu-item\"), exports);\r\n__exportStar(require(\"./popup-menu\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MenuItem = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar host_config_1 = require(\"../host-config\");\r\nvar constants_1 = require(\"./constants\");\r\nvar MenuItem = /** @class */ (function () {\r\n function MenuItem(key, value) {\r\n this._isEnabled = true;\r\n this.key = key;\r\n this._value = value;\r\n }\r\n MenuItem.prototype.click = function () {\r\n if (this.isEnabled && this.onClick) {\r\n this.onClick(this);\r\n }\r\n };\r\n MenuItem.prototype.updateCssClasses = function () {\r\n if (this._element) {\r\n var effectiveHostConfig = this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n this._element.className = effectiveHostConfig.makeCssClassName(\"ac-ctrl\");\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(this.isEnabled ? \"ac-ctrl-dropdown-item\" : \"ac-ctrl-dropdown-item-disabled\"));\r\n if (!this.isEnabled) {\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(\"ac-disabled\"));\r\n }\r\n }\r\n };\r\n MenuItem.prototype.toString = function () {\r\n return this.value;\r\n };\r\n MenuItem.prototype.render = function (hostConfig) {\r\n var _this = this;\r\n this._hostConfig = hostConfig;\r\n if (!this._element) {\r\n this._element = document.createElement(\"span\");\r\n this._element.innerText = this.value;\r\n this._element.setAttribute(\"role\", \"menuitem\");\r\n if (!this.isEnabled) {\r\n this._element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n this._element.setAttribute(\"aria-current\", \"false\");\r\n this._element.onmouseup = function (_e) {\r\n _this.click();\r\n };\r\n this._element.onkeydown = function (e) {\r\n if (e.key === constants_1.Constants.keys.enter) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n _this.click();\r\n }\r\n };\r\n this.updateCssClasses();\r\n }\r\n return this._element;\r\n };\r\n Object.defineProperty(MenuItem.prototype, \"value\", {\r\n get: function () {\r\n return this._value;\r\n },\r\n set: function (newValue) {\r\n this._value = newValue;\r\n if (this._element) {\r\n this._element.innerText = newValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MenuItem.prototype, \"isEnabled\", {\r\n get: function () {\r\n return this._isEnabled;\r\n },\r\n set: function (value) {\r\n if (this._isEnabled !== value) {\r\n this._isEnabled = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MenuItem;\r\n}());\r\nexports.MenuItem = MenuItem;\r\n//# sourceMappingURL=menu-item.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupControl = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar Utils = require(\"../utils\");\r\nvar host_config_1 = require(\"../host-config\");\r\nvar PopupControl = /** @class */ (function () {\r\n function PopupControl() {\r\n this._isOpen = false;\r\n }\r\n PopupControl.prototype.keyDown = function (e) {\r\n switch (e.key) {\r\n case constants_1.Constants.keys.escape:\r\n this.closePopup(true);\r\n break;\r\n }\r\n };\r\n PopupControl.prototype.render = function (_rootElementBounds) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.tabIndex = 0;\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl\", \"ac-ctrl-popup-container\");\r\n element.setAttribute(\"role\", \"dialog\");\r\n element.setAttribute(\"aria-modal\", \"true\");\r\n element.onkeydown = function (e) {\r\n _this.keyDown(e);\r\n return !e.cancelBubble;\r\n };\r\n element.appendChild(this.renderContent());\r\n return element;\r\n };\r\n PopupControl.prototype.focus = function () {\r\n if (this._popupElement) {\r\n this._popupElement.firstElementChild.focus();\r\n }\r\n };\r\n PopupControl.prototype.popup = function (rootElement) {\r\n var _a, _b, _c, _d, _f;\r\n var _this = this;\r\n if (!this._isOpen) {\r\n this._overlayElement = document.createElement(\"div\");\r\n this._overlayElement.className = this.hostConfig.makeCssClassName(\"ac-ctrl-overlay\");\r\n this._overlayElement.tabIndex = 0;\r\n this._overlayElement.style.width = document.documentElement.scrollWidth + \"px\";\r\n this._overlayElement.style.height = document.documentElement.scrollHeight + \"px\";\r\n this._overlayElement.onfocus = function (_e) {\r\n _this.closePopup(true);\r\n };\r\n document.body.appendChild(this._overlayElement);\r\n var rootElementBounds = rootElement.getBoundingClientRect();\r\n this._popupElement = this.render(rootElementBounds);\r\n (_a = this._popupElement.classList).remove.apply(_a, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\", \"ac-ctrl-slideRightToLeft\", \"ac-ctrl-slideTopToBottom\", \"ac-ctrl-slideRightToLeft\"));\r\n window.addEventListener(\"resize\", function (_e) {\r\n _this.closePopup(true);\r\n });\r\n var rootElementLabel = rootElement.getAttribute(\"aria-label\");\r\n if (rootElementLabel) {\r\n this._popupElement.setAttribute(\"aria-label\", rootElementLabel);\r\n }\r\n this._overlayElement.appendChild(this._popupElement);\r\n var popupElementBounds = this._popupElement.getBoundingClientRect();\r\n var availableSpaceBelow = window.innerHeight - rootElementBounds.bottom;\r\n var availableSpaceAbove = rootElementBounds.top;\r\n var availableSpaceRight = window.innerWidth - rootElementBounds.right;\r\n var availableSpaceLeft = rootElementBounds.left;\r\n var left = rootElementBounds.left + Utils.getScrollX();\r\n var top_1;\r\n if (availableSpaceAbove < popupElementBounds.height &&\r\n availableSpaceBelow < popupElementBounds.height) {\r\n // Not enough space above or below root element\r\n var actualPopupHeight = Math.min(popupElementBounds.height, window.innerHeight);\r\n this._popupElement.style.maxHeight = actualPopupHeight + \"px\";\r\n if (actualPopupHeight < popupElementBounds.height) {\r\n top_1 = Utils.getScrollY();\r\n }\r\n else {\r\n top_1 =\r\n Utils.getScrollY() +\r\n rootElementBounds.top +\r\n (rootElementBounds.height - actualPopupHeight) / 2;\r\n }\r\n if (availableSpaceLeft < popupElementBounds.width &&\r\n availableSpaceRight < popupElementBounds.width) {\r\n // Not enough space left or right of root element\r\n var actualPopupWidth = Math.min(popupElementBounds.width, window.innerWidth);\r\n this._popupElement.style.maxWidth = actualPopupWidth + \"px\";\r\n if (actualPopupWidth < popupElementBounds.width) {\r\n left = Utils.getScrollX();\r\n }\r\n else {\r\n left =\r\n Utils.getScrollX() +\r\n rootElementBounds.left +\r\n (rootElementBounds.width - actualPopupWidth) / 2;\r\n }\r\n }\r\n else {\r\n // Enough space on the left or right of the root element\r\n if (availableSpaceRight >= popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right;\r\n (_b = this._popupElement.classList).add.apply(_b, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\"));\r\n }\r\n else {\r\n left =\r\n Utils.getScrollX() + rootElementBounds.left - popupElementBounds.width;\r\n (_c = this._popupElement.classList).add.apply(_c, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideRightToLeft\"));\r\n }\r\n }\r\n }\r\n else {\r\n // Enough space above or below root element\r\n if (availableSpaceBelow >= popupElementBounds.height) {\r\n top_1 = Utils.getScrollY() + rootElementBounds.bottom;\r\n (_d = this._popupElement.classList).add.apply(_d, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideTopToBottom\"));\r\n }\r\n else {\r\n top_1 = Utils.getScrollY() + rootElementBounds.top - popupElementBounds.height;\r\n (_f = this._popupElement.classList).add.apply(_f, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideBottomToTop\"));\r\n }\r\n if (availableSpaceRight < popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right - popupElementBounds.width;\r\n }\r\n }\r\n this._popupElement.style.left = left + \"px\";\r\n this._popupElement.style.top = top_1 + \"px\";\r\n this._popupElement.focus();\r\n this._isOpen = true;\r\n }\r\n };\r\n PopupControl.prototype.closePopup = function (wasCancelled) {\r\n if (this._isOpen) {\r\n document.body.removeChild(this._overlayElement);\r\n this._isOpen = false;\r\n if (this.onClose) {\r\n this.onClose(this, wasCancelled);\r\n }\r\n }\r\n };\r\n Object.defineProperty(PopupControl.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupControl.prototype, \"isOpen\", {\r\n get: function () {\r\n return this._isOpen;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return PopupControl;\r\n}());\r\nexports.PopupControl = PopupControl;\r\n//# sourceMappingURL=popup-control.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupMenu = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar collection_1 = require(\"./collection\");\r\nvar popup_control_1 = require(\"./popup-control\");\r\nvar PopupMenu = /** @class */ (function (_super) {\r\n __extends(PopupMenu, _super);\r\n function PopupMenu() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._items = new collection_1.Collection();\r\n _this._renderedItems = [];\r\n _this._selectedIndex = -1;\r\n return _this;\r\n }\r\n PopupMenu.prototype.renderContent = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl ac-popup\");\r\n element.setAttribute(\"role\", \"listbox\");\r\n for (var i = 0; i < this._items.length; i++) {\r\n var renderedItem = this._items.get(i).render(this.hostConfig);\r\n renderedItem.tabIndex = 0;\r\n element.appendChild(renderedItem);\r\n if (i == 0) {\r\n renderedItem.setAttribute(\"aria-expanded\", \"true\");\r\n }\r\n if (i === this.selectedIndex) {\r\n renderedItem.focus();\r\n }\r\n this._renderedItems.push(renderedItem);\r\n }\r\n return element;\r\n };\r\n PopupMenu.prototype.keyDown = function (e) {\r\n _super.prototype.keyDown.call(this, e);\r\n var selectedItemIndex = this._selectedIndex;\r\n switch (e.key) {\r\n case constants_1.Constants.keys.tab:\r\n this.closePopup(true);\r\n break;\r\n /*\r\n case Constants.keys.enter:\r\n if (this.selectedIndex >= 0) {\r\n this.selectedIndex = this.selectedIndex;\r\n\r\n this.close();\r\n }\r\n\r\n break;\r\n */\r\n case constants_1.Constants.keys.up:\r\n if (selectedItemIndex <= 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n else {\r\n selectedItemIndex--;\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n this.removeAriaExpanded(selectedItemIndex);\r\n e.cancelBubble = true;\r\n break;\r\n case constants_1.Constants.keys.down:\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = 0;\r\n }\r\n else {\r\n selectedItemIndex++;\r\n if (selectedItemIndex >= this._renderedItems.length) {\r\n selectedItemIndex = 0;\r\n }\r\n this.removeAriaExpanded(selectedItemIndex);\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n e.cancelBubble = true;\r\n break;\r\n }\r\n };\r\n Object.defineProperty(PopupMenu.prototype, \"items\", {\r\n get: function () {\r\n return this._items;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupMenu.prototype, \"selectedIndex\", {\r\n get: function () {\r\n return this._selectedIndex;\r\n },\r\n set: function (index) {\r\n if (index >= 0 && index < this._renderedItems.length) {\r\n this._renderedItems[index].focus();\r\n this._selectedIndex = index;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // remove aria-expanded attribute from menu item\r\n PopupMenu.prototype.removeAriaExpanded = function (index) {\r\n if (this._renderedItems[index].getAttribute(\"aria-expanded\") === \"true\") {\r\n this._renderedItems[index].removeAttribute(\"aria-expanded\");\r\n }\r\n };\r\n return PopupMenu;\r\n}(popup_control_1.PopupControl));\r\nexports.PopupMenu = PopupMenu;\r\n//# sourceMappingURL=popup-menu.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ActionRole = exports.CarouselInteractionEvent = exports.LogLevel = exports.RefreshMode = exports.TypeErrorType = exports.ContainerFitStatus = exports.ValidationEvent = exports.ValidationPhase = exports.InputLabelPosition = exports.InputTextStyle = exports.ActionIconPlacement = exports.FillMode = exports.Orientation = exports.ShowCardActionMode = exports.ImageStyle = exports.ActionAlignment = exports.VerticalAlignment = exports.HorizontalAlignment = exports.TextColor = exports.Spacing = exports.FontType = exports.TextWeight = exports.InputStyle = exports.TextSize = exports.SizeUnit = exports.ImageSetPresentationStyle = exports.ImageSize = exports.Size = exports.ActionMode = exports.ActionStyle = exports.ContainerStyle = void 0;\r\n/*\r\n This should really be a string enum, e.g.\r\n\r\n export enum ContainerStyle {\r\n Default = \"default\",\r\n Emphasis = \"emphasis\"\r\n }\r\n\r\n However, some hosts do not use a version of TypeScript\r\n recent enough to understand string enums. This is\r\n a compatible construct that does not require using\r\n a more recent version of TypeScript.\r\n\r\n Also note the \"weird\" way these readonly fields are declared is to work around\r\n a breaking change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n and adopt this syntax for all other static readonly fields.\r\n*/\r\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\r\nvar ContainerStyle = /** @class */ (function () {\r\n function ContainerStyle() {\r\n }\r\n ContainerStyle.Default = \"default\";\r\n ContainerStyle.Emphasis = \"emphasis\";\r\n ContainerStyle.Accent = \"accent\";\r\n ContainerStyle.Good = \"good\";\r\n ContainerStyle.Attention = \"attention\";\r\n ContainerStyle.Warning = \"warning\";\r\n return ContainerStyle;\r\n}());\r\nexports.ContainerStyle = ContainerStyle;\r\nvar ActionStyle = /** @class */ (function () {\r\n function ActionStyle() {\r\n }\r\n ActionStyle.Default = \"default\";\r\n ActionStyle.Positive = \"positive\";\r\n ActionStyle.Destructive = \"destructive\";\r\n return ActionStyle;\r\n}());\r\nexports.ActionStyle = ActionStyle;\r\nvar ActionMode = /** @class */ (function () {\r\n function ActionMode() {\r\n }\r\n ActionMode.Primary = \"primary\";\r\n ActionMode.Secondary = \"secondary\";\r\n return ActionMode;\r\n}());\r\nexports.ActionMode = ActionMode;\r\n/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\r\nvar Size;\r\n(function (Size) {\r\n Size[Size[\"Auto\"] = 0] = \"Auto\";\r\n Size[Size[\"Stretch\"] = 1] = \"Stretch\";\r\n Size[Size[\"Small\"] = 2] = \"Small\";\r\n Size[Size[\"Medium\"] = 3] = \"Medium\";\r\n Size[Size[\"Large\"] = 4] = \"Large\";\r\n})(Size = exports.Size || (exports.Size = {}));\r\nvar ImageSize;\r\n(function (ImageSize) {\r\n ImageSize[ImageSize[\"Small\"] = 0] = \"Small\";\r\n ImageSize[ImageSize[\"Medium\"] = 1] = \"Medium\";\r\n ImageSize[ImageSize[\"Large\"] = 2] = \"Large\";\r\n})(ImageSize = exports.ImageSize || (exports.ImageSize = {}));\r\nvar ImageSetPresentationStyle;\r\n(function (ImageSetPresentationStyle) {\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Default\"] = 0] = \"Default\";\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Stacked\"] = 1] = \"Stacked\";\r\n})(ImageSetPresentationStyle = exports.ImageSetPresentationStyle || (exports.ImageSetPresentationStyle = {}));\r\nvar SizeUnit;\r\n(function (SizeUnit) {\r\n SizeUnit[SizeUnit[\"Weight\"] = 0] = \"Weight\";\r\n SizeUnit[SizeUnit[\"Pixel\"] = 1] = \"Pixel\";\r\n})(SizeUnit = exports.SizeUnit || (exports.SizeUnit = {}));\r\nvar TextSize;\r\n(function (TextSize) {\r\n TextSize[TextSize[\"Small\"] = 0] = \"Small\";\r\n TextSize[TextSize[\"Default\"] = 1] = \"Default\";\r\n TextSize[TextSize[\"Medium\"] = 2] = \"Medium\";\r\n TextSize[TextSize[\"Large\"] = 3] = \"Large\";\r\n TextSize[TextSize[\"ExtraLarge\"] = 4] = \"ExtraLarge\";\r\n})(TextSize = exports.TextSize || (exports.TextSize = {}));\r\nvar InputStyle;\r\n(function (InputStyle) {\r\n InputStyle[InputStyle[\"RevealOnHover\"] = 0] = \"RevealOnHover\";\r\n InputStyle[InputStyle[\"Default\"] = 1] = \"Default\";\r\n})(InputStyle = exports.InputStyle || (exports.InputStyle = {}));\r\nvar TextWeight;\r\n(function (TextWeight) {\r\n TextWeight[TextWeight[\"Lighter\"] = 0] = \"Lighter\";\r\n TextWeight[TextWeight[\"Default\"] = 1] = \"Default\";\r\n TextWeight[TextWeight[\"Bolder\"] = 2] = \"Bolder\";\r\n})(TextWeight = exports.TextWeight || (exports.TextWeight = {}));\r\nvar FontType;\r\n(function (FontType) {\r\n FontType[FontType[\"Default\"] = 0] = \"Default\";\r\n FontType[FontType[\"Monospace\"] = 1] = \"Monospace\";\r\n})(FontType = exports.FontType || (exports.FontType = {}));\r\nvar Spacing;\r\n(function (Spacing) {\r\n Spacing[Spacing[\"None\"] = 0] = \"None\";\r\n Spacing[Spacing[\"Small\"] = 1] = \"Small\";\r\n Spacing[Spacing[\"Default\"] = 2] = \"Default\";\r\n Spacing[Spacing[\"Medium\"] = 3] = \"Medium\";\r\n Spacing[Spacing[\"Large\"] = 4] = \"Large\";\r\n Spacing[Spacing[\"ExtraLarge\"] = 5] = \"ExtraLarge\";\r\n Spacing[Spacing[\"Padding\"] = 6] = \"Padding\";\r\n})(Spacing = exports.Spacing || (exports.Spacing = {}));\r\nvar TextColor;\r\n(function (TextColor) {\r\n TextColor[TextColor[\"Default\"] = 0] = \"Default\";\r\n TextColor[TextColor[\"Dark\"] = 1] = \"Dark\";\r\n TextColor[TextColor[\"Light\"] = 2] = \"Light\";\r\n TextColor[TextColor[\"Accent\"] = 3] = \"Accent\";\r\n TextColor[TextColor[\"Good\"] = 4] = \"Good\";\r\n TextColor[TextColor[\"Warning\"] = 5] = \"Warning\";\r\n TextColor[TextColor[\"Attention\"] = 6] = \"Attention\";\r\n})(TextColor = exports.TextColor || (exports.TextColor = {}));\r\nvar HorizontalAlignment;\r\n(function (HorizontalAlignment) {\r\n HorizontalAlignment[HorizontalAlignment[\"Left\"] = 0] = \"Left\";\r\n HorizontalAlignment[HorizontalAlignment[\"Center\"] = 1] = \"Center\";\r\n HorizontalAlignment[HorizontalAlignment[\"Right\"] = 2] = \"Right\";\r\n})(HorizontalAlignment = exports.HorizontalAlignment || (exports.HorizontalAlignment = {}));\r\nvar VerticalAlignment;\r\n(function (VerticalAlignment) {\r\n VerticalAlignment[VerticalAlignment[\"Top\"] = 0] = \"Top\";\r\n VerticalAlignment[VerticalAlignment[\"Center\"] = 1] = \"Center\";\r\n VerticalAlignment[VerticalAlignment[\"Bottom\"] = 2] = \"Bottom\";\r\n})(VerticalAlignment = exports.VerticalAlignment || (exports.VerticalAlignment = {}));\r\nvar ActionAlignment;\r\n(function (ActionAlignment) {\r\n ActionAlignment[ActionAlignment[\"Left\"] = 0] = \"Left\";\r\n ActionAlignment[ActionAlignment[\"Center\"] = 1] = \"Center\";\r\n ActionAlignment[ActionAlignment[\"Right\"] = 2] = \"Right\";\r\n ActionAlignment[ActionAlignment[\"Stretch\"] = 3] = \"Stretch\";\r\n})(ActionAlignment = exports.ActionAlignment || (exports.ActionAlignment = {}));\r\nvar ImageStyle;\r\n(function (ImageStyle) {\r\n ImageStyle[ImageStyle[\"Default\"] = 0] = \"Default\";\r\n ImageStyle[ImageStyle[\"Person\"] = 1] = \"Person\";\r\n})(ImageStyle = exports.ImageStyle || (exports.ImageStyle = {}));\r\nvar ShowCardActionMode;\r\n(function (ShowCardActionMode) {\r\n ShowCardActionMode[ShowCardActionMode[\"Inline\"] = 0] = \"Inline\";\r\n ShowCardActionMode[ShowCardActionMode[\"Popup\"] = 1] = \"Popup\";\r\n})(ShowCardActionMode = exports.ShowCardActionMode || (exports.ShowCardActionMode = {}));\r\nvar Orientation;\r\n(function (Orientation) {\r\n Orientation[Orientation[\"Horizontal\"] = 0] = \"Horizontal\";\r\n Orientation[Orientation[\"Vertical\"] = 1] = \"Vertical\";\r\n})(Orientation = exports.Orientation || (exports.Orientation = {}));\r\nvar FillMode;\r\n(function (FillMode) {\r\n FillMode[FillMode[\"Cover\"] = 0] = \"Cover\";\r\n FillMode[FillMode[\"RepeatHorizontally\"] = 1] = \"RepeatHorizontally\";\r\n FillMode[FillMode[\"RepeatVertically\"] = 2] = \"RepeatVertically\";\r\n FillMode[FillMode[\"Repeat\"] = 3] = \"Repeat\";\r\n})(FillMode = exports.FillMode || (exports.FillMode = {}));\r\nvar ActionIconPlacement;\r\n(function (ActionIconPlacement) {\r\n ActionIconPlacement[ActionIconPlacement[\"LeftOfTitle\"] = 0] = \"LeftOfTitle\";\r\n ActionIconPlacement[ActionIconPlacement[\"AboveTitle\"] = 1] = \"AboveTitle\";\r\n})(ActionIconPlacement = exports.ActionIconPlacement || (exports.ActionIconPlacement = {}));\r\nvar InputTextStyle;\r\n(function (InputTextStyle) {\r\n InputTextStyle[InputTextStyle[\"Text\"] = 0] = \"Text\";\r\n InputTextStyle[InputTextStyle[\"Tel\"] = 1] = \"Tel\";\r\n InputTextStyle[InputTextStyle[\"Url\"] = 2] = \"Url\";\r\n InputTextStyle[InputTextStyle[\"Email\"] = 3] = \"Email\";\r\n InputTextStyle[InputTextStyle[\"Password\"] = 4] = \"Password\";\r\n})(InputTextStyle = exports.InputTextStyle || (exports.InputTextStyle = {}));\r\nvar InputLabelPosition;\r\n(function (InputLabelPosition) {\r\n InputLabelPosition[InputLabelPosition[\"Inline\"] = 0] = \"Inline\";\r\n InputLabelPosition[InputLabelPosition[\"Above\"] = 1] = \"Above\";\r\n})(InputLabelPosition = exports.InputLabelPosition || (exports.InputLabelPosition = {}));\r\nvar ValidationPhase;\r\n(function (ValidationPhase) {\r\n ValidationPhase[ValidationPhase[\"Parse\"] = 0] = \"Parse\";\r\n ValidationPhase[ValidationPhase[\"ToJSON\"] = 1] = \"ToJSON\";\r\n ValidationPhase[ValidationPhase[\"Validation\"] = 2] = \"Validation\";\r\n})(ValidationPhase = exports.ValidationPhase || (exports.ValidationPhase = {}));\r\nvar ValidationEvent;\r\n(function (ValidationEvent) {\r\n ValidationEvent[ValidationEvent[\"Hint\"] = 0] = \"Hint\";\r\n ValidationEvent[ValidationEvent[\"ActionTypeNotAllowed\"] = 1] = \"ActionTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"CollectionCantBeEmpty\"] = 2] = \"CollectionCantBeEmpty\";\r\n ValidationEvent[ValidationEvent[\"Deprecated\"] = 3] = \"Deprecated\";\r\n ValidationEvent[ValidationEvent[\"ElementTypeNotAllowed\"] = 4] = \"ElementTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InteractivityNotAllowed\"] = 5] = \"InteractivityNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InvalidPropertyValue\"] = 6] = \"InvalidPropertyValue\";\r\n ValidationEvent[ValidationEvent[\"MissingCardType\"] = 7] = \"MissingCardType\";\r\n ValidationEvent[ValidationEvent[\"PropertyCantBeNull\"] = 8] = \"PropertyCantBeNull\";\r\n ValidationEvent[ValidationEvent[\"TooManyActions\"] = 9] = \"TooManyActions\";\r\n ValidationEvent[ValidationEvent[\"UnknownActionType\"] = 10] = \"UnknownActionType\";\r\n ValidationEvent[ValidationEvent[\"UnknownElementType\"] = 11] = \"UnknownElementType\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedCardVersion\"] = 12] = \"UnsupportedCardVersion\";\r\n ValidationEvent[ValidationEvent[\"DuplicateId\"] = 13] = \"DuplicateId\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedProperty\"] = 14] = \"UnsupportedProperty\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveLabel\"] = 15] = \"RequiredInputsShouldHaveLabel\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveErrorMessage\"] = 16] = \"RequiredInputsShouldHaveErrorMessage\";\r\n ValidationEvent[ValidationEvent[\"Other\"] = 17] = \"Other\";\r\n})(ValidationEvent = exports.ValidationEvent || (exports.ValidationEvent = {}));\r\nvar ContainerFitStatus;\r\n(function (ContainerFitStatus) {\r\n ContainerFitStatus[ContainerFitStatus[\"FullyInContainer\"] = 0] = \"FullyInContainer\";\r\n ContainerFitStatus[ContainerFitStatus[\"Overflowing\"] = 1] = \"Overflowing\";\r\n ContainerFitStatus[ContainerFitStatus[\"FullyOutOfContainer\"] = 2] = \"FullyOutOfContainer\";\r\n})(ContainerFitStatus = exports.ContainerFitStatus || (exports.ContainerFitStatus = {}));\r\nvar TypeErrorType;\r\n(function (TypeErrorType) {\r\n TypeErrorType[TypeErrorType[\"UnknownType\"] = 0] = \"UnknownType\";\r\n TypeErrorType[TypeErrorType[\"ForbiddenType\"] = 1] = \"ForbiddenType\";\r\n})(TypeErrorType = exports.TypeErrorType || (exports.TypeErrorType = {}));\r\nvar RefreshMode;\r\n(function (RefreshMode) {\r\n RefreshMode[RefreshMode[\"Disabled\"] = 0] = \"Disabled\";\r\n RefreshMode[RefreshMode[\"Manual\"] = 1] = \"Manual\";\r\n RefreshMode[RefreshMode[\"Automatic\"] = 2] = \"Automatic\";\r\n})(RefreshMode = exports.RefreshMode || (exports.RefreshMode = {}));\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Info\"] = 0] = \"Info\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Error\"] = 2] = \"Error\";\r\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\r\nvar CarouselInteractionEvent;\r\n(function (CarouselInteractionEvent) {\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationNext\"] = 0] = \"NavigationNext\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationPrevious\"] = 1] = \"NavigationPrevious\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Pagination\"] = 2] = \"Pagination\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Autoplay\"] = 3] = \"Autoplay\";\r\n})(CarouselInteractionEvent = exports.CarouselInteractionEvent || (exports.CarouselInteractionEvent = {}));\r\nvar ActionRole;\r\n(function (ActionRole) {\r\n ActionRole[ActionRole[\"Button\"] = 0] = \"Button\";\r\n ActionRole[ActionRole[\"Link\"] = 1] = \"Link\";\r\n ActionRole[ActionRole[\"Tab\"] = 2] = \"Tab\";\r\n ActionRole[ActionRole[\"Menu\"] = 3] = \"Menu\";\r\n ActionRole[ActionRole[\"MenuItem\"] = 4] = \"MenuItem\";\r\n})(ActionRole = exports.ActionRole || (exports.ActionRole = {}));\r\n//# sourceMappingURL=enums.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.HostCapabilities = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar serialization_1 = require(\"./serialization\");\r\nvar HostCapabilities = /** @class */ (function (_super) {\r\n __extends(HostCapabilities, _super);\r\n function HostCapabilities() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._capabilities = {};\r\n return _this;\r\n }\r\n HostCapabilities.prototype.getSchemaKey = function () {\r\n return \"HostCapabilities\";\r\n };\r\n HostCapabilities.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n if (source) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var name_1 in source) {\r\n var jsonVersion = source[name_1];\r\n if (typeof jsonVersion === \"string\") {\r\n if (jsonVersion === \"*\") {\r\n this.addCapability(name_1, \"*\");\r\n }\r\n else {\r\n var version = serialization_1.Version.parse(jsonVersion, context);\r\n if (version === null || version === void 0 ? void 0 : version.isValid) {\r\n this.addCapability(name_1, version);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n HostCapabilities.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in this._capabilities) {\r\n target[key] = this._capabilities[key];\r\n }\r\n };\r\n HostCapabilities.prototype.addCapability = function (name, version) {\r\n this._capabilities[name] = version;\r\n };\r\n HostCapabilities.prototype.removeCapability = function (name) {\r\n delete this._capabilities[name];\r\n };\r\n HostCapabilities.prototype.clear = function () {\r\n this._capabilities = {};\r\n };\r\n HostCapabilities.prototype.hasCapability = function (name, version) {\r\n if (this._capabilities.hasOwnProperty(name)) {\r\n if (version === \"*\" || this._capabilities[name] === \"*\") {\r\n return true;\r\n }\r\n return version.compareTo(this._capabilities[name]) <= 0;\r\n }\r\n return false;\r\n };\r\n HostCapabilities.prototype.areAllMet = function (hostCapabilities) {\r\n for (var capabilityName in this._capabilities) {\r\n if (!hostCapabilities.hasCapability(capabilityName, this._capabilities[capabilityName])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return HostCapabilities;\r\n}(serialization_1.SerializableObject));\r\nexports.HostCapabilities = HostCapabilities;\r\n//# sourceMappingURL=host-capabilities.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultHostConfig = exports.HostConfig = exports.CarouselConfig = exports.FontTypeSet = exports.FontTypeDefinition = exports.ContainerStyleSet = exports.ContainerStyleDefinition = exports.ColorSetDefinition = exports.ActionsConfig = exports.ShowCardActionConfig = exports.FactSetConfig = exports.FactTitleDefinition = exports.FactTextDefinition = exports.InputConfig = exports.InputLabelConfig = exports.RequiredInputLabelTextDefinition = exports.TextBlockConfig = exports.TextStyleSet = exports.TextStyleDefinition = exports.BaseTextDefinition = exports.TableConfig = exports.MediaConfig = exports.ImageSetConfig = exports.AdaptiveCardConfig = exports.TextColorDefinition = exports.ColorDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar Shared = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nfunction parseHostConfigEnum(targetEnum, value, defaultValue) {\r\n if (typeof value === \"string\") {\r\n var parsedValue = Utils.parseEnum(targetEnum, value, defaultValue);\r\n return parsedValue !== undefined ? parsedValue : defaultValue;\r\n }\r\n else if (typeof value === \"number\") {\r\n return value;\r\n }\r\n else {\r\n return defaultValue;\r\n }\r\n}\r\nvar ColorDefinition = /** @class */ (function () {\r\n function ColorDefinition(defaultColor, subtleColor) {\r\n this.default = \"#000000\";\r\n this.subtle = \"#666666\";\r\n if (defaultColor) {\r\n this.default = defaultColor;\r\n }\r\n if (subtleColor) {\r\n this.subtle = subtleColor;\r\n }\r\n }\r\n ColorDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.default = obj[\"default\"] || this.default;\r\n this.subtle = obj[\"subtle\"] || this.subtle;\r\n }\r\n };\r\n return ColorDefinition;\r\n}());\r\nexports.ColorDefinition = ColorDefinition;\r\nvar TextColorDefinition = /** @class */ (function (_super) {\r\n __extends(TextColorDefinition, _super);\r\n function TextColorDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.highlightColors = new ColorDefinition(\"#22000000\", \"#11000000\");\r\n return _this;\r\n }\r\n TextColorDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.highlightColors.parse(obj[\"highlightColors\"]);\r\n }\r\n };\r\n return TextColorDefinition;\r\n}(ColorDefinition));\r\nexports.TextColorDefinition = TextColorDefinition;\r\nvar AdaptiveCardConfig = /** @class */ (function () {\r\n function AdaptiveCardConfig(obj) {\r\n this.allowCustomStyle = false;\r\n if (obj) {\r\n this.allowCustomStyle = obj[\"allowCustomStyle\"] || this.allowCustomStyle;\r\n }\r\n }\r\n return AdaptiveCardConfig;\r\n}());\r\nexports.AdaptiveCardConfig = AdaptiveCardConfig;\r\nvar ImageSetConfig = /** @class */ (function () {\r\n function ImageSetConfig(obj) {\r\n this.imageSize = Enums.Size.Medium;\r\n this.maxImageHeight = 100;\r\n if (obj) {\r\n this.imageSize = obj[\"imageSize\"] != null ? obj[\"imageSize\"] : this.imageSize;\r\n this.maxImageHeight = Utils.parseNumber(obj[\"maxImageHeight\"], 100);\r\n }\r\n }\r\n ImageSetConfig.prototype.toJSON = function () {\r\n return {\r\n imageSize: Enums.Size[this.imageSize],\r\n maxImageHeight: this.maxImageHeight\r\n };\r\n };\r\n return ImageSetConfig;\r\n}());\r\nexports.ImageSetConfig = ImageSetConfig;\r\nvar MediaConfig = /** @class */ (function () {\r\n function MediaConfig(obj) {\r\n this.allowInlinePlayback = true;\r\n if (obj) {\r\n this.defaultPoster = obj[\"defaultPoster\"];\r\n this.allowInlinePlayback = obj[\"allowInlinePlayback\"] || this.allowInlinePlayback;\r\n }\r\n }\r\n MediaConfig.prototype.toJSON = function () {\r\n return {\r\n defaultPoster: this.defaultPoster,\r\n allowInlinePlayback: this.allowInlinePlayback\r\n };\r\n };\r\n return MediaConfig;\r\n}());\r\nexports.MediaConfig = MediaConfig;\r\nvar TableConfig = /** @class */ (function () {\r\n function TableConfig(obj) {\r\n this.cellSpacing = 8;\r\n if (obj) {\r\n this.cellSpacing =\r\n obj.cellSpacing && typeof obj.cellSpacing === \"number\"\r\n ? obj.cellSpacing\r\n : this.cellSpacing;\r\n }\r\n }\r\n TableConfig.prototype.toJSON = function () {\r\n return {\r\n cellSpacing: this.cellSpacing\r\n };\r\n };\r\n return TableConfig;\r\n}());\r\nexports.TableConfig = TableConfig;\r\nvar BaseTextDefinition = /** @class */ (function () {\r\n function BaseTextDefinition(obj) {\r\n this.size = Enums.TextSize.Default;\r\n this.color = Enums.TextColor.Default;\r\n this.isSubtle = false;\r\n this.weight = Enums.TextWeight.Default;\r\n this.parse(obj);\r\n }\r\n BaseTextDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.size = parseHostConfigEnum(Enums.TextSize, obj[\"size\"], this.size);\r\n this.color = parseHostConfigEnum(Enums.TextColor, obj[\"color\"], this.color);\r\n this.isSubtle =\r\n obj.isSubtle !== undefined && typeof obj.isSubtle === \"boolean\"\r\n ? obj.isSubtle\r\n : this.isSubtle;\r\n this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], this.getDefaultWeight());\r\n }\r\n };\r\n BaseTextDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Default;\r\n };\r\n BaseTextDefinition.prototype.toJSON = function () {\r\n return {\r\n size: Enums.TextSize[this.size],\r\n color: Enums.TextColor[this.color],\r\n isSubtle: this.isSubtle,\r\n weight: Enums.TextWeight[this.weight]\r\n };\r\n };\r\n return BaseTextDefinition;\r\n}());\r\nexports.BaseTextDefinition = BaseTextDefinition;\r\nvar TextStyleDefinition = /** @class */ (function (_super) {\r\n __extends(TextStyleDefinition, _super);\r\n function TextStyleDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.fontType = Enums.FontType.Default;\r\n return _this;\r\n }\r\n TextStyleDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.fontType = parseHostConfigEnum(Enums.FontType, obj.fontType, this.fontType);\r\n }\r\n };\r\n return TextStyleDefinition;\r\n}(BaseTextDefinition));\r\nexports.TextStyleDefinition = TextStyleDefinition;\r\nvar TextStyleSet = /** @class */ (function () {\r\n function TextStyleSet(obj) {\r\n this.default = new TextStyleDefinition();\r\n this.heading = new TextStyleDefinition({\r\n size: \"Large\",\r\n weight: \"Bolder\"\r\n });\r\n this.columnHeader = new TextStyleDefinition({\r\n weight: \"Bolder\"\r\n });\r\n if (obj) {\r\n this.heading.parse(obj.heading);\r\n this.columnHeader.parse(obj.columnHeader);\r\n }\r\n }\r\n TextStyleSet.prototype.getStyleByName = function (name) {\r\n switch (name.toLowerCase()) {\r\n case \"heading\":\r\n return this.heading;\r\n case \"columnHeader\":\r\n return this.columnHeader;\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return TextStyleSet;\r\n}());\r\nexports.TextStyleSet = TextStyleSet;\r\nvar TextBlockConfig = /** @class */ (function () {\r\n function TextBlockConfig(obj) {\r\n if (obj) {\r\n this.headingLevel = Utils.parseNumber(obj.headingLevel);\r\n }\r\n }\r\n return TextBlockConfig;\r\n}());\r\nexports.TextBlockConfig = TextBlockConfig;\r\nvar RequiredInputLabelTextDefinition = /** @class */ (function (_super) {\r\n __extends(RequiredInputLabelTextDefinition, _super);\r\n function RequiredInputLabelTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suffix = \" *\";\r\n _this.suffixColor = Enums.TextColor.Attention;\r\n return _this;\r\n }\r\n RequiredInputLabelTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.suffix = obj[\"suffix\"] || this.suffix;\r\n this.suffixColor = parseHostConfigEnum(Enums.TextColor, obj[\"suffixColor\"], this.suffixColor);\r\n }\r\n };\r\n RequiredInputLabelTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"suffix\"] = this.suffix;\r\n result[\"suffixColor\"] = Enums.TextColor[this.suffixColor];\r\n return result;\r\n };\r\n return RequiredInputLabelTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.RequiredInputLabelTextDefinition = RequiredInputLabelTextDefinition;\r\nvar InputLabelConfig = /** @class */ (function () {\r\n function InputLabelConfig(obj) {\r\n this.inputSpacing = Enums.Spacing.Small;\r\n this.width = 30;\r\n this.requiredInputs = new RequiredInputLabelTextDefinition();\r\n this.optionalInputs = new BaseTextDefinition();\r\n if (obj) {\r\n this.inputSpacing = parseHostConfigEnum(Enums.Spacing, obj[\"inputSpacing\"], this.inputSpacing);\r\n this.requiredInputs = new RequiredInputLabelTextDefinition(obj[\"requiredInputs\"]);\r\n this.optionalInputs = new BaseTextDefinition(obj[\"optionalInputs\"]);\r\n this.width =\r\n obj[\"width\"] != null ? obj[\"width\"] : this.width;\r\n }\r\n }\r\n return InputLabelConfig;\r\n}());\r\nexports.InputLabelConfig = InputLabelConfig;\r\nvar InputConfig = /** @class */ (function () {\r\n function InputConfig(obj) {\r\n this.label = new InputLabelConfig();\r\n this.errorMessage = new BaseTextDefinition({\r\n color: Enums.TextColor.Attention\r\n });\r\n this.debounceTimeInMilliSeconds = 0;\r\n this.allowDynamicallyFilteredChoiceSet = true;\r\n this.allowRevealOnHoverStyle = false;\r\n if (obj) {\r\n this.label = new InputLabelConfig(obj[\"label\"]);\r\n this.errorMessage = new BaseTextDefinition(obj[\"errorMessage\"]);\r\n this.allowRevealOnHoverStyle =\r\n obj[\"allowRevealOnHoverStyle\"] || this.allowRevealOnHoverStyle;\r\n this.allowDynamicallyFilteredChoiceSet =\r\n obj[\"allowDynamicallyFilteredChoiceSet\"] || this.allowDynamicallyFilteredChoiceSet;\r\n this.debounceTimeInMilliSeconds =\r\n obj[\"debounceTimeInMilliSeconds\"] || this.debounceTimeInMilliSeconds;\r\n }\r\n }\r\n return InputConfig;\r\n}());\r\nexports.InputConfig = InputConfig;\r\nvar FactTextDefinition = /** @class */ (function (_super) {\r\n __extends(FactTextDefinition, _super);\r\n function FactTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = true;\r\n return _this;\r\n }\r\n FactTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.wrap = obj[\"wrap\"] != null ? obj[\"wrap\"] : this.wrap;\r\n }\r\n };\r\n FactTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"wrap\"] = this.wrap;\r\n return result;\r\n };\r\n return FactTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.FactTextDefinition = FactTextDefinition;\r\nvar FactTitleDefinition = /** @class */ (function (_super) {\r\n __extends(FactTitleDefinition, _super);\r\n function FactTitleDefinition(obj) {\r\n var _this = _super.call(this, obj) || this;\r\n _this.maxWidth = 150;\r\n _this.weight = Enums.TextWeight.Bolder;\r\n if (obj) {\r\n _this.maxWidth = obj[\"maxWidth\"] != null ? obj[\"maxWidth\"] : _this.maxWidth;\r\n _this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], Enums.TextWeight.Bolder);\r\n }\r\n return _this;\r\n }\r\n FactTitleDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Bolder;\r\n };\r\n return FactTitleDefinition;\r\n}(FactTextDefinition));\r\nexports.FactTitleDefinition = FactTitleDefinition;\r\nvar FactSetConfig = /** @class */ (function () {\r\n function FactSetConfig(obj) {\r\n this.title = new FactTitleDefinition();\r\n this.value = new FactTextDefinition();\r\n this.spacing = 10;\r\n if (obj) {\r\n this.title = new FactTitleDefinition(obj[\"title\"]);\r\n this.value = new FactTextDefinition(obj[\"value\"]);\r\n this.spacing =\r\n obj.spacing && obj.spacing != null ? obj.spacing && obj.spacing : this.spacing;\r\n }\r\n }\r\n return FactSetConfig;\r\n}());\r\nexports.FactSetConfig = FactSetConfig;\r\nvar ShowCardActionConfig = /** @class */ (function () {\r\n function ShowCardActionConfig(obj) {\r\n this.actionMode = Enums.ShowCardActionMode.Inline;\r\n this.inlineTopMargin = 16;\r\n this.style = Enums.ContainerStyle.Emphasis;\r\n if (obj) {\r\n this.actionMode = parseHostConfigEnum(Enums.ShowCardActionMode, obj[\"actionMode\"], Enums.ShowCardActionMode.Inline);\r\n this.inlineTopMargin =\r\n obj[\"inlineTopMargin\"] != null ? obj[\"inlineTopMargin\"] : this.inlineTopMargin;\r\n this.style =\r\n obj[\"style\"] && typeof obj[\"style\"] === \"string\"\r\n ? obj[\"style\"]\r\n : Enums.ContainerStyle.Emphasis;\r\n }\r\n }\r\n ShowCardActionConfig.prototype.toJSON = function () {\r\n return {\r\n actionMode: Enums.ShowCardActionMode[this.actionMode],\r\n inlineTopMargin: this.inlineTopMargin,\r\n style: this.style\r\n };\r\n };\r\n return ShowCardActionConfig;\r\n}());\r\nexports.ShowCardActionConfig = ShowCardActionConfig;\r\nvar ActionsConfig = /** @class */ (function () {\r\n function ActionsConfig(obj) {\r\n this.maxActions = 5;\r\n this.spacing = Enums.Spacing.Default;\r\n this.buttonSpacing = 20;\r\n this.showCard = new ShowCardActionConfig();\r\n this.preExpandSingleShowCardAction = false;\r\n this.actionsOrientation = Enums.Orientation.Horizontal;\r\n this.actionAlignment = Enums.ActionAlignment.Left;\r\n this.iconPlacement = Enums.ActionIconPlacement.LeftOfTitle;\r\n this.allowTitleToWrap = false;\r\n this.iconSize = 16;\r\n if (obj) {\r\n this.maxActions = obj[\"maxActions\"] != null ? obj[\"maxActions\"] : this.maxActions;\r\n this.spacing = parseHostConfigEnum(Enums.Spacing, obj.spacing && obj.spacing, Enums.Spacing.Default);\r\n this.buttonSpacing =\r\n obj[\"buttonSpacing\"] != null ? obj[\"buttonSpacing\"] : this.buttonSpacing;\r\n this.showCard = new ShowCardActionConfig(obj[\"showCard\"]);\r\n this.preExpandSingleShowCardAction = Utils.parseBool(obj[\"preExpandSingleShowCardAction\"], false);\r\n this.actionsOrientation = parseHostConfigEnum(Enums.Orientation, obj[\"actionsOrientation\"], Enums.Orientation.Horizontal);\r\n this.actionAlignment = parseHostConfigEnum(Enums.ActionAlignment, obj[\"actionAlignment\"], Enums.ActionAlignment.Left);\r\n this.iconPlacement = parseHostConfigEnum(Enums.ActionIconPlacement, obj[\"iconPlacement\"], Enums.ActionIconPlacement.LeftOfTitle);\r\n this.allowTitleToWrap =\r\n obj[\"allowTitleToWrap\"] != null ? obj[\"allowTitleToWrap\"] : this.allowTitleToWrap;\r\n try {\r\n var sizeAndUnit = Shared.SizeAndUnit.parse(obj[\"iconSize\"]);\r\n if (sizeAndUnit.unit === Enums.SizeUnit.Pixel) {\r\n this.iconSize = sizeAndUnit.physicalSize;\r\n }\r\n }\r\n catch (e) {\r\n // Swallow this, keep default icon size\r\n }\r\n }\r\n }\r\n ActionsConfig.prototype.toJSON = function () {\r\n return {\r\n maxActions: this.maxActions,\r\n spacing: Enums.Spacing[this.spacing],\r\n buttonSpacing: this.buttonSpacing,\r\n showCard: this.showCard,\r\n preExpandSingleShowCardAction: this.preExpandSingleShowCardAction,\r\n actionsOrientation: Enums.Orientation[this.actionsOrientation],\r\n actionAlignment: Enums.ActionAlignment[this.actionAlignment]\r\n };\r\n };\r\n return ActionsConfig;\r\n}());\r\nexports.ActionsConfig = ActionsConfig;\r\nvar ColorSetDefinition = /** @class */ (function () {\r\n function ColorSetDefinition(obj) {\r\n this.default = new TextColorDefinition();\r\n this.dark = new TextColorDefinition();\r\n this.light = new TextColorDefinition();\r\n this.accent = new TextColorDefinition();\r\n this.good = new TextColorDefinition();\r\n this.warning = new TextColorDefinition();\r\n this.attention = new TextColorDefinition();\r\n this.parse(obj);\r\n }\r\n ColorSetDefinition.prototype.parseSingleColor = function (obj, propertyName) {\r\n if (obj) {\r\n this[propertyName].parse(obj[propertyName]);\r\n }\r\n };\r\n ColorSetDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.parseSingleColor(obj, \"default\");\r\n this.parseSingleColor(obj, \"dark\");\r\n this.parseSingleColor(obj, \"light\");\r\n this.parseSingleColor(obj, \"accent\");\r\n this.parseSingleColor(obj, \"good\");\r\n this.parseSingleColor(obj, \"warning\");\r\n this.parseSingleColor(obj, \"attention\");\r\n }\r\n };\r\n return ColorSetDefinition;\r\n}());\r\nexports.ColorSetDefinition = ColorSetDefinition;\r\nvar ContainerStyleDefinition = /** @class */ (function () {\r\n function ContainerStyleDefinition(obj) {\r\n this.foregroundColors = new ColorSetDefinition({\r\n \"default\": { default: \"#333333\", subtle: \"#EE333333\" },\r\n \"dark\": { default: \"#000000\", subtle: \"#66000000\" },\r\n \"light\": { default: \"#FFFFFF\", subtle: \"#33000000\" },\r\n \"accent\": { default: \"#2E89FC\", subtle: \"#882E89FC\" },\r\n \"good\": { default: \"#028A02\", subtle: \"#DD027502\" },\r\n \"warning\": { default: \"#E69500\", subtle: \"#DDE69500\" },\r\n \"attention\": { default: \"#CC3300\", subtle: \"#DDCC3300\" }\r\n });\r\n this.parse(obj);\r\n }\r\n ContainerStyleDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.backgroundColor = obj[\"backgroundColor\"];\r\n this.foregroundColors.parse(obj[\"foregroundColors\"]);\r\n this.highlightBackgroundColor = obj[\"highlightBackgroundColor\"];\r\n this.highlightForegroundColor = obj[\"highlightForegroundColor\"];\r\n this.borderColor = obj[\"borderColor\"];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleDefinition;\r\n}());\r\nexports.ContainerStyleDefinition = ContainerStyleDefinition;\r\nvar BuiltInContainerStyleDefinition = /** @class */ (function (_super) {\r\n __extends(BuiltInContainerStyleDefinition, _super);\r\n function BuiltInContainerStyleDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(BuiltInContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BuiltInContainerStyleDefinition;\r\n}(ContainerStyleDefinition));\r\nvar ContainerStyleSet = /** @class */ (function () {\r\n function ContainerStyleSet(obj) {\r\n this._allStyles = {};\r\n this._allStyles[Enums.ContainerStyle.Default] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Emphasis] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Accent] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Good] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Attention] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Warning] = new BuiltInContainerStyleDefinition();\r\n if (obj) {\r\n this._allStyles[Enums.ContainerStyle.Default].parse(obj[Enums.ContainerStyle.Default]);\r\n this._allStyles[Enums.ContainerStyle.Emphasis].parse(obj[Enums.ContainerStyle.Emphasis]);\r\n this._allStyles[Enums.ContainerStyle.Accent].parse(obj[Enums.ContainerStyle.Accent]);\r\n this._allStyles[Enums.ContainerStyle.Good].parse(obj[Enums.ContainerStyle.Good]);\r\n this._allStyles[Enums.ContainerStyle.Attention].parse(obj[Enums.ContainerStyle.Attention]);\r\n this._allStyles[Enums.ContainerStyle.Warning].parse(obj[Enums.ContainerStyle.Warning]);\r\n var customStyleArray = obj[\"customStyles\"];\r\n if (customStyleArray && Array.isArray(customStyleArray)) {\r\n for (var _i = 0, customStyleArray_1 = customStyleArray; _i < customStyleArray_1.length; _i++) {\r\n var customStyle = customStyleArray_1[_i];\r\n if (customStyle) {\r\n var styleName = customStyle[\"name\"];\r\n if (styleName && typeof styleName === \"string\") {\r\n if (this._allStyles.hasOwnProperty(styleName)) {\r\n this._allStyles[styleName].parse(customStyle[\"style\"]);\r\n }\r\n else {\r\n this._allStyles[styleName] = new ContainerStyleDefinition(customStyle[\"style\"]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ContainerStyleSet.prototype.toJSON = function () {\r\n var _this = this;\r\n var customStyleArray = [];\r\n Object.keys(this._allStyles).forEach(function (key) {\r\n if (!_this._allStyles[key].isBuiltIn) {\r\n customStyleArray.push({\r\n name: key,\r\n style: _this._allStyles[key]\r\n });\r\n }\r\n });\r\n var result = {\r\n default: this.default,\r\n emphasis: this.emphasis\r\n };\r\n if (customStyleArray.length > 0) {\r\n result.customStyles = customStyleArray;\r\n }\r\n return result;\r\n };\r\n ContainerStyleSet.prototype.getStyleByName = function (name, defaultValue) {\r\n if (name && this._allStyles.hasOwnProperty(name)) {\r\n return this._allStyles[name];\r\n }\r\n else {\r\n return defaultValue ? defaultValue : this._allStyles[Enums.ContainerStyle.Default];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleSet.prototype, \"default\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Default];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerStyleSet.prototype, \"emphasis\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Emphasis];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleSet;\r\n}());\r\nexports.ContainerStyleSet = ContainerStyleSet;\r\nvar FontTypeDefinition = /** @class */ (function () {\r\n function FontTypeDefinition(fontFamily) {\r\n this.fontFamily = \"Segoe UI,Segoe,Segoe WP,Helvetica Neue,Helvetica,sans-serif\";\r\n this.fontSizes = {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n };\r\n this.fontWeights = {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n };\r\n if (fontFamily) {\r\n this.fontFamily = fontFamily;\r\n }\r\n }\r\n FontTypeDefinition.prototype.parse = function (obj) {\r\n this.fontFamily = obj[\"fontFamily\"] || this.fontFamily;\r\n this.fontSizes = {\r\n small: (obj.fontSizes && obj.fontSizes[\"small\"]) || this.fontSizes.small,\r\n default: (obj.fontSizes && obj.fontSizes[\"default\"]) || this.fontSizes.default,\r\n medium: (obj.fontSizes && obj.fontSizes[\"medium\"]) || this.fontSizes.medium,\r\n large: (obj.fontSizes && obj.fontSizes[\"large\"]) || this.fontSizes.large,\r\n extraLarge: (obj.fontSizes && obj.fontSizes[\"extraLarge\"]) || this.fontSizes.extraLarge\r\n };\r\n this.fontWeights = {\r\n lighter: (obj.fontWeights && obj.fontWeights[\"lighter\"]) || this.fontWeights.lighter,\r\n default: (obj.fontWeights && obj.fontWeights[\"default\"]) || this.fontWeights.default,\r\n bolder: (obj.fontWeights && obj.fontWeights[\"bolder\"]) || this.fontWeights.bolder\r\n };\r\n };\r\n FontTypeDefinition.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n return FontTypeDefinition;\r\n}());\r\nexports.FontTypeDefinition = FontTypeDefinition;\r\nvar FontTypeSet = /** @class */ (function () {\r\n function FontTypeSet(obj) {\r\n this.default = new FontTypeDefinition();\r\n this.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n if (obj) {\r\n this.default.parse(obj[\"default\"]);\r\n this.monospace.parse(obj[\"monospace\"]);\r\n }\r\n }\r\n FontTypeSet.prototype.getStyleDefinition = function (style) {\r\n switch (style) {\r\n case Enums.FontType.Monospace:\r\n return this.monospace;\r\n case Enums.FontType.Default:\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return FontTypeSet;\r\n}());\r\nexports.FontTypeSet = FontTypeSet;\r\nvar CarouselConfig = /** @class */ (function () {\r\n function CarouselConfig(obj) {\r\n this.maxCarouselPages = 10;\r\n this.minAutoplayDelay = 5000.0;\r\n if (obj) {\r\n this.maxCarouselPages =\r\n obj[\"maxCarouselPages\"] != null ? obj[\"maxCarouselPages\"] : this.maxCarouselPages;\r\n this.minAutoplayDelay =\r\n obj[\"minAutoplayDelay\"] != null ? obj[\"minAutoplayDelay\"] : this.minAutoplayDelay;\r\n }\r\n }\r\n CarouselConfig.prototype.toJSON = function () {\r\n return {\r\n maxCarouselPages: this.maxCarouselPages,\r\n minAutoplayDelay: this.minAutoplayDelay\r\n };\r\n };\r\n return CarouselConfig;\r\n}());\r\nexports.CarouselConfig = CarouselConfig;\r\nvar HostConfig = /** @class */ (function () {\r\n function HostConfig(obj) {\r\n this.hostCapabilities = new host_capabilities_1.HostCapabilities();\r\n this.choiceSetInputValueSeparator = \",\";\r\n this.supportsInteractivity = true;\r\n this.spacing = {\r\n small: 3,\r\n default: 8,\r\n medium: 20,\r\n large: 30,\r\n extraLarge: 40,\r\n padding: 15\r\n };\r\n this.separator = {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n };\r\n this.imageSizes = {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n };\r\n this.containerStyles = new ContainerStyleSet();\r\n this.inputs = new InputConfig();\r\n this.actions = new ActionsConfig();\r\n this.adaptiveCard = new AdaptiveCardConfig();\r\n this.imageSet = new ImageSetConfig();\r\n this.media = new MediaConfig();\r\n this.factSet = new FactSetConfig();\r\n this.table = new TableConfig();\r\n this.textStyles = new TextStyleSet();\r\n this.textBlock = new TextBlockConfig();\r\n this.carousel = new CarouselConfig();\r\n this.alwaysAllowBleed = false;\r\n if (obj) {\r\n if (typeof obj === \"string\" || obj instanceof String) {\r\n obj = JSON.parse(obj);\r\n }\r\n this.choiceSetInputValueSeparator =\r\n obj && typeof obj[\"choiceSetInputValueSeparator\"] === \"string\"\r\n ? obj[\"choiceSetInputValueSeparator\"]\r\n : this.choiceSetInputValueSeparator;\r\n this.supportsInteractivity =\r\n obj && typeof obj[\"supportsInteractivity\"] === \"boolean\"\r\n ? obj[\"supportsInteractivity\"]\r\n : this.supportsInteractivity;\r\n this._legacyFontType = new FontTypeDefinition();\r\n this._legacyFontType.parse(obj);\r\n if (obj.fontTypes) {\r\n this.fontTypes = new FontTypeSet(obj.fontTypes);\r\n }\r\n if (obj.lineHeights) {\r\n this.lineHeights = {\r\n small: obj.lineHeights[\"small\"],\r\n default: obj.lineHeights[\"default\"],\r\n medium: obj.lineHeights[\"medium\"],\r\n large: obj.lineHeights[\"large\"],\r\n extraLarge: obj.lineHeights[\"extraLarge\"]\r\n };\r\n }\r\n this.imageSizes = {\r\n small: (obj.imageSizes && obj.imageSizes[\"small\"]) || this.imageSizes.small,\r\n medium: (obj.imageSizes && obj.imageSizes[\"medium\"]) || this.imageSizes.medium,\r\n large: (obj.imageSizes && obj.imageSizes[\"large\"]) || this.imageSizes.large\r\n };\r\n this.containerStyles = new ContainerStyleSet(obj[\"containerStyles\"]);\r\n this.spacing = {\r\n small: (obj.spacing && obj.spacing[\"small\"]) || this.spacing.small,\r\n default: (obj.spacing && obj.spacing[\"default\"]) || this.spacing.default,\r\n medium: (obj.spacing && obj.spacing[\"medium\"]) || this.spacing.medium,\r\n large: (obj.spacing && obj.spacing[\"large\"]) || this.spacing.large,\r\n extraLarge: (obj.spacing && obj.spacing[\"extraLarge\"]) || this.spacing.extraLarge,\r\n padding: (obj.spacing && obj.spacing[\"padding\"]) || this.spacing.padding\r\n };\r\n this.separator = {\r\n lineThickness: (obj.separator && obj.separator[\"lineThickness\"]) ||\r\n this.separator.lineThickness,\r\n lineColor: (obj.separator && obj.separator[\"lineColor\"]) || this.separator.lineColor\r\n };\r\n this.inputs = new InputConfig(obj.inputs || this.inputs);\r\n this.actions = new ActionsConfig(obj.actions || this.actions);\r\n this.adaptiveCard = new AdaptiveCardConfig(obj.adaptiveCard || this.adaptiveCard);\r\n this.imageSet = new ImageSetConfig(obj[\"imageSet\"]);\r\n this.factSet = new FactSetConfig(obj[\"factSet\"]);\r\n this.textStyles = new TextStyleSet(obj[\"textStyles\"]);\r\n this.textBlock = new TextBlockConfig(obj[\"textBlock\"]);\r\n this.carousel = new CarouselConfig(obj[\"carousel\"]);\r\n }\r\n }\r\n HostConfig.prototype.getFontTypeDefinition = function (style) {\r\n if (this.fontTypes) {\r\n return this.fontTypes.getStyleDefinition(style);\r\n }\r\n else {\r\n return style === Enums.FontType.Monospace\r\n ? FontTypeDefinition.monospace\r\n : this._legacyFontType;\r\n }\r\n };\r\n HostConfig.prototype.getEffectiveSpacing = function (spacing) {\r\n switch (spacing) {\r\n case Enums.Spacing.Small:\r\n return this.spacing.small;\r\n case Enums.Spacing.Default:\r\n return this.spacing.default;\r\n case Enums.Spacing.Medium:\r\n return this.spacing.medium;\r\n case Enums.Spacing.Large:\r\n return this.spacing.large;\r\n case Enums.Spacing.ExtraLarge:\r\n return this.spacing.extraLarge;\r\n case Enums.Spacing.Padding:\r\n return this.spacing.padding;\r\n default:\r\n return 0;\r\n }\r\n };\r\n HostConfig.prototype.paddingDefinitionToSpacingDefinition = function (paddingDefinition) {\r\n return new Shared.SpacingDefinition(this.getEffectiveSpacing(paddingDefinition.top), this.getEffectiveSpacing(paddingDefinition.right), this.getEffectiveSpacing(paddingDefinition.bottom), this.getEffectiveSpacing(paddingDefinition.left));\r\n };\r\n HostConfig.prototype.makeCssClassNames = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = [];\r\n for (var _a = 0, classNames_1 = classNames; _a < classNames_1.length; _a++) {\r\n var className = classNames_1[_a];\r\n result.push((this.cssClassNamePrefix ? this.cssClassNamePrefix + \"-\" : \"\") + className);\r\n }\r\n return result;\r\n };\r\n HostConfig.prototype.makeCssClassName = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = this.makeCssClassNames.apply(this, classNames).join(\" \");\r\n return result ? result : \"\";\r\n };\r\n Object.defineProperty(HostConfig.prototype, \"fontFamily\", {\r\n get: function () {\r\n return this._legacyFontType.fontFamily;\r\n },\r\n set: function (value) {\r\n this._legacyFontType.fontFamily = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontSizes\", {\r\n get: function () {\r\n return this._legacyFontType.fontSizes;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontWeights\", {\r\n get: function () {\r\n return this._legacyFontType.fontWeights;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return HostConfig;\r\n}());\r\nexports.HostConfig = HostConfig;\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexports.defaultHostConfig = new HostConfig({\r\n supportsInteractivity: true,\r\n spacing: {\r\n small: 10,\r\n default: 20,\r\n medium: 30,\r\n large: 40,\r\n extraLarge: 50,\r\n padding: 20\r\n },\r\n separator: {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n },\r\n fontTypes: {\r\n default: {\r\n fontFamily: \"'Segoe UI', Tahoma, Geneva, Verdana, sans-serif\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n },\r\n monospace: {\r\n fontFamily: \"'Courier New', Courier, monospace\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n }\r\n },\r\n imageSizes: {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n },\r\n containerStyles: {\r\n default: {\r\n backgroundColor: \"#FFFFFF\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n emphasis: {\r\n backgroundColor: \"#08000000\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n accent: {\r\n backgroundColor: \"#C7DEF9\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n good: {\r\n backgroundColor: \"#CCFFCC\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n attention: {\r\n backgroundColor: \"#FFC5B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n warning: {\r\n backgroundColor: \"#FFE2B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n }\r\n },\r\n inputs: {\r\n label: {\r\n requiredInputs: {\r\n weight: Enums.TextWeight.Bolder,\r\n suffix: \" *\",\r\n suffixColor: Enums.TextColor.Attention\r\n },\r\n optionalInputs: {\r\n weight: Enums.TextWeight.Bolder\r\n }\r\n },\r\n errorMessage: {\r\n color: Enums.TextColor.Attention,\r\n weight: Enums.TextWeight.Bolder\r\n },\r\n debounceTimeInMilliSeconds: 250\r\n },\r\n actions: {\r\n maxActions: 5,\r\n spacing: Enums.Spacing.Default,\r\n buttonSpacing: 10,\r\n showCard: {\r\n actionMode: Enums.ShowCardActionMode.Inline,\r\n inlineTopMargin: 16\r\n },\r\n actionsOrientation: Enums.Orientation.Horizontal,\r\n actionAlignment: Enums.ActionAlignment.Left\r\n },\r\n adaptiveCard: {\r\n allowCustomStyle: false\r\n },\r\n imageSet: {\r\n imageSize: Enums.Size.Medium,\r\n maxImageHeight: 100\r\n },\r\n factSet: {\r\n title: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Bolder,\r\n wrap: true,\r\n maxWidth: 150\r\n },\r\n value: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Default,\r\n wrap: true\r\n },\r\n spacing: 10\r\n },\r\n carousel: {\r\n maxCarouselPages: 10,\r\n minAutoplayDuration: 5000\r\n },\r\n textBlock: {\r\n headingLevel: 2\r\n }\r\n});\r\n//# sourceMappingURL=host-config.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.GlobalRegistry = exports.CardObjectRegistry = void 0;\r\nvar serialization_1 = require(\"./serialization\");\r\nvar CardObjectRegistry = /** @class */ (function () {\r\n function CardObjectRegistry() {\r\n this._items = {};\r\n }\r\n CardObjectRegistry.prototype.findByName = function (typeName) {\r\n return this._items.hasOwnProperty(typeName) ? this._items[typeName] : undefined;\r\n };\r\n CardObjectRegistry.prototype.clear = function () {\r\n this._items = {};\r\n };\r\n CardObjectRegistry.prototype.copyTo = function (target) {\r\n var keys = Object.keys(this._items);\r\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\r\n var key = keys_1[_i];\r\n var typeRegistration = this._items[key];\r\n target.register(typeRegistration.typeName, typeRegistration.objectType, typeRegistration.schemaVersion);\r\n }\r\n };\r\n CardObjectRegistry.prototype.register = function (typeName, objectType, schemaVersion) {\r\n if (schemaVersion === void 0) { schemaVersion = serialization_1.Versions.v1_0; }\r\n var registrationInfo = this.findByName(typeName);\r\n if (registrationInfo !== undefined) {\r\n registrationInfo.objectType = objectType;\r\n }\r\n else {\r\n registrationInfo = {\r\n typeName: typeName,\r\n objectType: objectType,\r\n schemaVersion: schemaVersion\r\n };\r\n }\r\n this._items[typeName] = registrationInfo;\r\n };\r\n CardObjectRegistry.prototype.unregister = function (typeName) {\r\n delete this._items[typeName];\r\n };\r\n CardObjectRegistry.prototype.createInstance = function (typeName, targetVersion) {\r\n var registrationInfo = this.findByName(typeName);\r\n return registrationInfo && registrationInfo.schemaVersion.compareTo(targetVersion) <= 0\r\n ? new registrationInfo.objectType()\r\n : undefined;\r\n };\r\n CardObjectRegistry.prototype.getItemCount = function () {\r\n return Object.keys(this._items).length;\r\n };\r\n CardObjectRegistry.prototype.getItemAt = function (index) {\r\n var _this = this;\r\n return Object.keys(this._items).map(function (e) { return _this._items[e]; })[index];\r\n };\r\n return CardObjectRegistry;\r\n}());\r\nexports.CardObjectRegistry = CardObjectRegistry;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar GlobalRegistry = /** @class */ (function () {\r\n function GlobalRegistry() {\r\n }\r\n GlobalRegistry.populateWithDefaultElements = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultElements.copyTo(registry);\r\n };\r\n GlobalRegistry.populateWithDefaultActions = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultActions.copyTo(registry);\r\n };\r\n Object.defineProperty(GlobalRegistry, \"elements\", {\r\n get: function () {\r\n if (!GlobalRegistry._elements) {\r\n GlobalRegistry._elements = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultElements(GlobalRegistry._elements);\r\n }\r\n return GlobalRegistry._elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(GlobalRegistry, \"actions\", {\r\n get: function () {\r\n if (!GlobalRegistry._actions) {\r\n GlobalRegistry._actions = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultActions(GlobalRegistry._actions);\r\n }\r\n return GlobalRegistry._actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n GlobalRegistry.reset = function () {\r\n GlobalRegistry._elements = undefined;\r\n GlobalRegistry._actions = undefined;\r\n };\r\n GlobalRegistry.defaultElements = new CardObjectRegistry();\r\n GlobalRegistry.defaultActions = new CardObjectRegistry();\r\n return GlobalRegistry;\r\n}());\r\nexports.GlobalRegistry = GlobalRegistry;\r\n//# sourceMappingURL=registry.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SerializableObject = exports.property = exports.SerializableObjectSchema = exports.CustomProperty = exports.SerializableObjectCollectionProperty = exports.SerializableObjectProperty = exports.EnumProperty = exports.ValueSetProperty = exports.StringArrayProperty = exports.PixelSizeProperty = exports.NumProperty = exports.BoolProperty = exports.StringProperty = exports.PropertyDefinition = exports.BaseSerializationContext = exports.isVersionLessOrEqual = exports.Versions = exports.Version = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar Version = /** @class */ (function () {\r\n function Version(major, minor, label) {\r\n if (major === void 0) { major = 1; }\r\n if (minor === void 0) { minor = 1; }\r\n this._isValid = true;\r\n this._major = major;\r\n this._minor = minor;\r\n this._label = label;\r\n }\r\n Version.parse = function (versionString, context) {\r\n if (!versionString) {\r\n return undefined;\r\n }\r\n var result = new Version();\r\n result._versionString = versionString;\r\n var regEx = /(\\d+).(\\d+)/gi;\r\n var matches = regEx.exec(versionString);\r\n if (matches != null && matches.length === 3) {\r\n result._major = parseInt(matches[1]);\r\n result._minor = parseInt(matches[2]);\r\n }\r\n else {\r\n result._isValid = false;\r\n }\r\n if (!result._isValid) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidVersionString(result._versionString));\r\n }\r\n return result;\r\n };\r\n Version.prototype.toString = function () {\r\n return !this._isValid ? this._versionString : this._major + \".\" + this._minor;\r\n };\r\n Version.prototype.toJSON = function () {\r\n return this.toString();\r\n };\r\n Version.prototype.compareTo = function (otherVersion) {\r\n if (!this.isValid || !otherVersion.isValid) {\r\n throw new Error(\"Cannot compare invalid version.\");\r\n }\r\n if (this.major > otherVersion.major) {\r\n return 1;\r\n }\r\n else if (this.major < otherVersion.major) {\r\n return -1;\r\n }\r\n else if (this.minor > otherVersion.minor) {\r\n return 1;\r\n }\r\n else if (this.minor < otherVersion.minor) {\r\n return -1;\r\n }\r\n return 0;\r\n };\r\n Object.defineProperty(Version.prototype, \"label\", {\r\n get: function () {\r\n return this._label ? this._label : this.toString();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"major\", {\r\n get: function () {\r\n return this._major;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"minor\", {\r\n get: function () {\r\n return this._minor;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"isValid\", {\r\n get: function () {\r\n return this._isValid;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Version;\r\n}());\r\nexports.Version = Version;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Versions = /** @class */ (function () {\r\n function Versions() {\r\n }\r\n // If preview tag is added/removed from any version,\r\n // don't forget to update .ac-schema-version-1-?::after too in adaptivecards-site\\themes\\adaptivecards\\source\\css\\style.css\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n Versions.getAllDeclaredVersions = function () {\r\n var ctor = Versions;\r\n var properties = [];\r\n for (var propertyName in ctor) {\r\n if (propertyName.match(/^v[0-9_]*$/)) {\r\n // filter latest\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof Version) {\r\n properties.push(propertyValue);\r\n }\r\n }\r\n catch (_a) {\r\n // If a property happens to have a getter function and\r\n // it throws an exception, we need to catch it here\r\n }\r\n }\r\n }\r\n return properties.sort(function (v1, v2) { return v1.compareTo(v2); });\r\n };\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n Versions.v1_0 = new Version(1, 0);\r\n Versions.v1_1 = new Version(1, 1);\r\n Versions.v1_2 = new Version(1, 2);\r\n Versions.v1_3 = new Version(1, 3);\r\n Versions.v1_4 = new Version(1, 4);\r\n Versions.v1_5 = new Version(1, 5);\r\n Versions.v1_6 = new Version(1, 6);\r\n Versions.latest = Versions.v1_6;\r\n return Versions;\r\n}());\r\nexports.Versions = Versions;\r\nfunction isVersionLessOrEqual(version, targetVersion) {\r\n if (version instanceof Version) {\r\n if (targetVersion instanceof Version) {\r\n return targetVersion.compareTo(version) >= 0;\r\n }\r\n else {\r\n // Target version is *\r\n return true;\r\n }\r\n }\r\n else {\r\n // Version is *\r\n return true;\r\n }\r\n}\r\nexports.isVersionLessOrEqual = isVersionLessOrEqual;\r\nvar BaseSerializationContext = /** @class */ (function () {\r\n function BaseSerializationContext(targetVersion) {\r\n if (targetVersion === void 0) { targetVersion = Versions.latest; }\r\n this._validationEvents = [];\r\n this.targetVersion = targetVersion;\r\n }\r\n BaseSerializationContext.prototype.isTemplateString = function (value) {\r\n if (typeof value === \"string\") {\r\n return value.startsWith(\"${\");\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip) {\r\n delete target[propertyName];\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteDefaultValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeValue = function (target, propertyName, propertyValue, defaultValue, forceDeleteIfNullOrDefault) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (forceDeleteIfNullOrDefault === void 0) { forceDeleteIfNullOrDefault = false; }\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else if (propertyValue === defaultValue) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeString = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeBool = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeNumber = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined ||\r\n isNaN(propertyValue)) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeEnum = function (enumType, target, propertyName, propertyValue, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = enumType[propertyValue];\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeArray = function (target, propertyName, propertyValue) {\r\n var items = [];\r\n if (propertyValue) {\r\n for (var _i = 0, propertyValue_1 = propertyValue; _i < propertyValue_1.length; _i++) {\r\n var item = propertyValue_1[_i];\r\n var serializedItem = undefined;\r\n if (item instanceof SerializableObject) {\r\n serializedItem = item.toJSON(this);\r\n }\r\n else if (item.toJSON) {\r\n serializedItem = item.toJSON();\r\n }\r\n else {\r\n serializedItem = item;\r\n }\r\n if (serializedItem !== undefined) {\r\n items.push(serializedItem);\r\n }\r\n }\r\n }\r\n if (items.length === 0) {\r\n if (target.hasOwnProperty(propertyName) && Array.isArray(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else {\r\n this.serializeValue(target, propertyName, items);\r\n }\r\n };\r\n BaseSerializationContext.prototype.clearEvents = function () {\r\n this._validationEvents = [];\r\n };\r\n BaseSerializationContext.prototype.logEvent = function (source, phase, event, message) {\r\n this._validationEvents.push({\r\n source: source,\r\n phase: phase,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n BaseSerializationContext.prototype.logParseEvent = function (source, event, message) {\r\n this.logEvent(source, Enums.ValidationPhase.Parse, event, message);\r\n };\r\n BaseSerializationContext.prototype.getEventAt = function (index) {\r\n return this._validationEvents[index];\r\n };\r\n Object.defineProperty(BaseSerializationContext.prototype, \"eventCount\", {\r\n get: function () {\r\n return this._validationEvents.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BaseSerializationContext;\r\n}());\r\nexports.BaseSerializationContext = BaseSerializationContext;\r\nvar SimpleSerializationContext = /** @class */ (function (_super) {\r\n __extends(SimpleSerializationContext, _super);\r\n function SimpleSerializationContext() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return SimpleSerializationContext;\r\n}(BaseSerializationContext));\r\nvar PropertyDefinition = /** @class */ (function () {\r\n function PropertyDefinition(targetVersion, name, defaultValue, onGetInitialValue) {\r\n this.targetVersion = targetVersion;\r\n this.name = name;\r\n this.defaultValue = defaultValue;\r\n this.onGetInitialValue = onGetInitialValue;\r\n this.isSerializationEnabled = true;\r\n this.sequentialNumber = PropertyDefinition._sequentialNumber;\r\n PropertyDefinition._sequentialNumber++;\r\n }\r\n PropertyDefinition.prototype.getInternalName = function () {\r\n return this.name;\r\n };\r\n PropertyDefinition.prototype.parse = function (sender, source, context) {\r\n return source[this.name];\r\n };\r\n PropertyDefinition.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value, this.defaultValue);\r\n };\r\n PropertyDefinition._sequentialNumber = 0;\r\n return PropertyDefinition;\r\n}());\r\nexports.PropertyDefinition = PropertyDefinition;\r\nvar StringProperty = /** @class */ (function (_super) {\r\n __extends(StringProperty, _super);\r\n function StringProperty(targetVersion, name, treatEmptyAsUndefined, regEx, defaultValue, onGetInitialValue) {\r\n if (treatEmptyAsUndefined === void 0) { treatEmptyAsUndefined = true; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.treatEmptyAsUndefined = treatEmptyAsUndefined;\r\n _this.regEx = regEx;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringProperty.prototype.parse = function (sender, source, context) {\r\n var parsedValue = Utils.parseString(source[this.name], this.defaultValue);\r\n var isUndefined = parsedValue === undefined || (parsedValue === \"\" && this.treatEmptyAsUndefined);\r\n if (!isUndefined && this.regEx !== undefined) {\r\n var matches = this.regEx.exec(parsedValue);\r\n if (!matches) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(parsedValue, this.name));\r\n return undefined;\r\n }\r\n }\r\n return parsedValue;\r\n };\r\n StringProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeString(target, this.name, value === \"\" && this.treatEmptyAsUndefined ? undefined : value, this.defaultValue);\r\n };\r\n return StringProperty;\r\n}(PropertyDefinition));\r\nexports.StringProperty = StringProperty;\r\nvar BoolProperty = /** @class */ (function (_super) {\r\n __extends(BoolProperty, _super);\r\n function BoolProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n BoolProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseBool(source[this.name], this.defaultValue);\r\n };\r\n BoolProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeBool(target, this.name, value, this.defaultValue);\r\n };\r\n return BoolProperty;\r\n}(PropertyDefinition));\r\nexports.BoolProperty = BoolProperty;\r\nvar NumProperty = /** @class */ (function (_super) {\r\n __extends(NumProperty, _super);\r\n function NumProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n NumProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseNumber(source[this.name], this.defaultValue);\r\n };\r\n NumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeNumber(target, this.name, value, this.defaultValue);\r\n };\r\n return NumProperty;\r\n}(PropertyDefinition));\r\nexports.NumProperty = NumProperty;\r\nvar PixelSizeProperty = /** @class */ (function (_super) {\r\n __extends(PixelSizeProperty, _super);\r\n function PixelSizeProperty() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n PixelSizeProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var value = source[this.name];\r\n if (typeof value === \"string\") {\r\n var isValid = false;\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(value, true);\r\n if (size.unit === Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Do nothing. A parse error is emitted below\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(source[this.name], this.name));\r\n }\r\n }\r\n return result;\r\n };\r\n PixelSizeProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return PixelSizeProperty;\r\n}(PropertyDefinition));\r\nexports.PixelSizeProperty = PixelSizeProperty;\r\nvar StringArrayProperty = /** @class */ (function (_super) {\r\n __extends(StringArrayProperty, _super);\r\n function StringArrayProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringArrayProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined || !Array.isArray(sourceValue)) {\r\n return this.defaultValue;\r\n }\r\n var result = [];\r\n for (var _i = 0, sourceValue_1 = sourceValue; _i < sourceValue_1.length; _i++) {\r\n var value = sourceValue_1[_i];\r\n if (typeof value === \"string\") {\r\n result.push(value);\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, \"Invalid array value \\\"\".concat(JSON.stringify(value), \"\\\" of type \\\"\").concat(typeof value, \"\\\" ignored for \\\"\").concat(this.name, \"\\\".\"));\r\n }\r\n }\r\n return result;\r\n };\r\n StringArrayProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return StringArrayProperty;\r\n}(PropertyDefinition));\r\nexports.StringArrayProperty = StringArrayProperty;\r\nvar ValueSetProperty = /** @class */ (function (_super) {\r\n __extends(ValueSetProperty, _super);\r\n function ValueSetProperty(targetVersion, name, values, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.values = values;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n ValueSetProperty.prototype.isValidValue = function (value, context) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (value.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n return targetVersion.compareTo(context.targetVersion) <= 0;\r\n }\r\n }\r\n return false;\r\n };\r\n ValueSetProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n if (typeof sourceValue === \"string\") {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (sourceValue.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return versionedValue.value;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n ValueSetProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(value, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeValue(target, this.name, value, this.defaultValue, true);\r\n }\r\n };\r\n return ValueSetProperty;\r\n}(PropertyDefinition));\r\nexports.ValueSetProperty = ValueSetProperty;\r\nvar EnumProperty = /** @class */ (function (_super) {\r\n __extends(EnumProperty, _super);\r\n function EnumProperty(targetVersion, name, enumType, defaultValue, values, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.enumType = enumType;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n _this._values = [];\r\n if (!values) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n _this._values.push({ value: keyAsNumber });\r\n }\r\n }\r\n }\r\n else {\r\n _this._values = values;\r\n }\r\n return _this;\r\n }\r\n EnumProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (typeof sourceValue !== \"string\") {\r\n return this.defaultValue;\r\n }\r\n var enumValue = Utils.getEnumValueByName(this.enumType, sourceValue);\r\n if (enumValue !== undefined) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === enumValue) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return enumValue;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n EnumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(value, this.name));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeEnum(this.enumType, target, this.name, value, this.defaultValue);\r\n }\r\n };\r\n Object.defineProperty(EnumProperty.prototype, \"values\", {\r\n get: function () {\r\n return this._values;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return EnumProperty;\r\n}(PropertyDefinition));\r\nexports.EnumProperty = EnumProperty;\r\nvar SerializableObjectProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectProperty, _super);\r\n function SerializableObjectProperty(targetVersion, name, objectType, nullable, defaultValue) {\r\n if (nullable === void 0) { nullable = false; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, function (sender) {\r\n return _this.nullable ? undefined : new _this.objectType();\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.nullable = nullable;\r\n return _this;\r\n }\r\n SerializableObjectProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.onGetInitialValue ? this.onGetInitialValue(sender) : this.defaultValue;\r\n }\r\n var result = new this.objectType();\r\n result.parse(sourceValue, context);\r\n return result;\r\n };\r\n SerializableObjectProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var serializedValue = undefined;\r\n if (value !== undefined && !value.hasAllDefaultValues()) {\r\n serializedValue = value.toJSON(context);\r\n }\r\n if (typeof serializedValue === \"object\" && Object.keys(serializedValue).length === 0) {\r\n serializedValue = undefined;\r\n }\r\n context.serializeValue(target, this.name, serializedValue, this.defaultValue, true);\r\n };\r\n return SerializableObjectProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectProperty = SerializableObjectProperty;\r\nvar SerializableObjectCollectionProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectCollectionProperty, _super);\r\n function SerializableObjectCollectionProperty(targetVersion, name, objectType, onItemAdded) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function (sender) {\r\n return [];\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.onItemAdded = onItemAdded;\r\n return _this;\r\n }\r\n SerializableObjectCollectionProperty.prototype.parse = function (sender, source, context) {\r\n var result = [];\r\n var sourceCollection = source[this.name];\r\n if (Array.isArray(sourceCollection)) {\r\n for (var _i = 0, sourceCollection_1 = sourceCollection; _i < sourceCollection_1.length; _i++) {\r\n var sourceItem = sourceCollection_1[_i];\r\n var item = new this.objectType();\r\n item.parse(sourceItem, context);\r\n result.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(sender, item);\r\n }\r\n }\r\n }\r\n return result.length > 0\r\n ? result\r\n : this.onGetInitialValue\r\n ? this.onGetInitialValue(sender)\r\n : undefined;\r\n };\r\n SerializableObjectCollectionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return SerializableObjectCollectionProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectCollectionProperty = SerializableObjectCollectionProperty;\r\nvar CustomProperty = /** @class */ (function (_super) {\r\n __extends(CustomProperty, _super);\r\n function CustomProperty(targetVersion, name, onParse, onToJSON, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.onParse = onParse;\r\n _this.onToJSON = onToJSON;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n if (!_this.onParse) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onParse handler.\");\r\n }\r\n if (!_this.onToJSON) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onToJSON handler.\");\r\n }\r\n return _this;\r\n }\r\n CustomProperty.prototype.parse = function (sender, source, context) {\r\n return this.onParse(sender, this, source, context);\r\n };\r\n CustomProperty.prototype.toJSON = function (sender, target, value, context) {\r\n this.onToJSON(sender, this, target, value, context);\r\n };\r\n return CustomProperty;\r\n}(PropertyDefinition));\r\nexports.CustomProperty = CustomProperty;\r\nvar SerializableObjectSchema = /** @class */ (function () {\r\n function SerializableObjectSchema() {\r\n this._properties = [];\r\n }\r\n SerializableObjectSchema.prototype.indexOf = function (prop) {\r\n for (var i = 0; i < this._properties.length; i++) {\r\n if (this._properties[i] === prop) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n SerializableObjectSchema.prototype.add = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, properties_1 = properties; _a < properties_1.length; _a++) {\r\n var prop = properties_1[_a];\r\n if (this.indexOf(prop) === -1) {\r\n this._properties.push(prop);\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.remove = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, properties_2 = properties; _a < properties_2.length; _a++) {\r\n var prop = properties_2[_a];\r\n while (true) {\r\n var index = this.indexOf(prop);\r\n if (index >= 0) {\r\n this._properties.splice(index, 1);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.getItemAt = function (index) {\r\n return this._properties[index];\r\n };\r\n SerializableObjectSchema.prototype.getCount = function () {\r\n return this._properties.length;\r\n };\r\n return SerializableObjectSchema;\r\n}());\r\nexports.SerializableObjectSchema = SerializableObjectSchema;\r\n// This is a decorator function, used to map SerializableObject descendant class members to\r\n// schema properties\r\nfunction property(prop) {\r\n return function (target, propertyKey) {\r\n var descriptor = Object.getOwnPropertyDescriptor(target, propertyKey) || {};\r\n if (!descriptor.get && !descriptor.set) {\r\n descriptor.get = function () {\r\n return this.getValue(prop);\r\n };\r\n descriptor.set = function (value) {\r\n this.setValue(prop, value);\r\n };\r\n Object.defineProperty(target, propertyKey, descriptor);\r\n }\r\n };\r\n}\r\nexports.property = property;\r\nvar SerializableObject = /** @class */ (function () {\r\n function SerializableObject() {\r\n this._propertyBag = {};\r\n this._rawProperties = {};\r\n this.maxVersion = SerializableObject.defaultMaxVersion;\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (prop.onGetInitialValue) {\r\n this.setValue(prop, prop.onGetInitialValue(this));\r\n }\r\n }\r\n }\r\n SerializableObject.prototype.getDefaultSerializationContext = function () {\r\n return new SimpleSerializationContext();\r\n };\r\n SerializableObject.prototype.populateSchema = function (schema) {\r\n var ctor = this.constructor;\r\n var properties = [];\r\n // eslint-disable-next-line guard-for-in\r\n for (var propertyName in ctor) {\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof PropertyDefinition) {\r\n properties.push(propertyValue);\r\n }\r\n }\r\n catch (_a) {\r\n // If a property happens to have a getter function and\r\n // it throws an exception, we need to catch it here\r\n }\r\n }\r\n if (properties.length > 0) {\r\n var sortedProperties = properties.sort(function (p1, p2) {\r\n if (p1.sequentialNumber > p2.sequentialNumber) {\r\n return 1;\r\n }\r\n else if (p1.sequentialNumber < p2.sequentialNumber) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n schema.add.apply(schema, sortedProperties);\r\n }\r\n if (SerializableObject.onRegisterCustomProperties) {\r\n SerializableObject.onRegisterCustomProperties(this, schema);\r\n }\r\n };\r\n SerializableObject.prototype.getValue = function (prop) {\r\n return this._propertyBag.hasOwnProperty(prop.getInternalName())\r\n ? this._propertyBag[prop.getInternalName()]\r\n : prop.defaultValue;\r\n };\r\n SerializableObject.prototype.setValue = function (prop, value) {\r\n if (value === undefined || value === null) {\r\n delete this._propertyBag[prop.getInternalName()];\r\n }\r\n else {\r\n this._propertyBag[prop.getInternalName()] = value;\r\n }\r\n };\r\n SerializableObject.prototype.internalParse = function (source, context) {\r\n this._propertyBag = {};\r\n this._rawProperties = shared_1.GlobalSettings.enableFullJsonRoundTrip ? (source ? source : {}) : {};\r\n if (source) {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (prop.isSerializationEnabled) {\r\n var propertyValue = prop.onGetInitialValue\r\n ? prop.onGetInitialValue(this)\r\n : undefined;\r\n if (source.hasOwnProperty(prop.name)) {\r\n if (prop.targetVersion.compareTo(context.targetVersion) <= 0) {\r\n propertyValue = prop.parse(this, source, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.UnsupportedProperty, strings_1.Strings.errors.propertyNotSupported(prop.name, prop.targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n this.setValue(prop, propertyValue);\r\n }\r\n }\r\n }\r\n else {\r\n this.resetDefaultValues();\r\n }\r\n };\r\n SerializableObject.prototype.internalToJSON = function (target, context) {\r\n var s = this.getSchema();\r\n var serializedProperties = [];\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n // Avoid serializing the same property multiple times. This is necessary\r\n // because some property definitions map to the same underlying schema\r\n // property\r\n if (prop.isSerializationEnabled &&\r\n prop.targetVersion.compareTo(context.targetVersion) <= 0 &&\r\n serializedProperties.indexOf(prop.name) === -1) {\r\n prop.toJSON(this, target, this.getValue(prop), context);\r\n serializedProperties.push(prop.name);\r\n }\r\n }\r\n };\r\n SerializableObject.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n SerializableObject.prototype.parse = function (source, context) {\r\n this.internalParse(source, context ? context : new SimpleSerializationContext());\r\n };\r\n SerializableObject.prototype.toJSON = function (context) {\r\n var effectiveContext;\r\n if (context && context instanceof BaseSerializationContext) {\r\n effectiveContext = context;\r\n }\r\n else {\r\n effectiveContext = this.getDefaultSerializationContext();\r\n effectiveContext.toJSONOriginalParam = context;\r\n }\r\n if (this.shouldSerialize(effectiveContext)) {\r\n var result = void 0;\r\n if (shared_1.GlobalSettings.enableFullJsonRoundTrip &&\r\n this._rawProperties &&\r\n typeof this._rawProperties === \"object\") {\r\n result = this._rawProperties;\r\n }\r\n else {\r\n result = {};\r\n }\r\n this.internalToJSON(result, effectiveContext);\r\n return result;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n SerializableObject.prototype.hasDefaultValue = function (prop) {\r\n return this.getValue(prop) === prop.defaultValue;\r\n };\r\n SerializableObject.prototype.hasAllDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (!this.hasDefaultValue(prop)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n SerializableObject.prototype.resetDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n this.setValue(prop, prop.defaultValue);\r\n }\r\n };\r\n SerializableObject.prototype.setCustomProperty = function (name, value) {\r\n var shouldDeleteProperty = (typeof value === \"string\" && !value) || value === undefined || value === null;\r\n if (shouldDeleteProperty) {\r\n delete this._rawProperties[name];\r\n }\r\n else {\r\n this._rawProperties[name] = value;\r\n }\r\n };\r\n SerializableObject.prototype.getCustomProperty = function (name) {\r\n return this._rawProperties[name];\r\n };\r\n SerializableObject.prototype.getSchema = function () {\r\n var schema = SerializableObject._schemaCache[this.getSchemaKey()];\r\n if (!schema) {\r\n schema = new SerializableObjectSchema();\r\n this.populateSchema(schema);\r\n SerializableObject._schemaCache[this.getSchemaKey()] = schema;\r\n }\r\n return schema;\r\n };\r\n SerializableObject.defaultMaxVersion = Versions.latest;\r\n SerializableObject._schemaCache = {};\r\n return SerializableObject;\r\n}());\r\nexports.SerializableObject = SerializableObject;\r\n//# sourceMappingURL=serialization.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.UUID = exports.SizeAndUnit = exports.PaddingDefinition = exports.SpacingDefinition = exports.StringWithSubstitutions = exports.ContentTypes = exports.GlobalSettings = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar GlobalSettings = /** @class */ (function () {\r\n function GlobalSettings() {\r\n }\r\n GlobalSettings.useAdvancedTextBlockTruncation = true;\r\n GlobalSettings.useAdvancedCardBottomTruncation = false;\r\n GlobalSettings.useMarkdownInRadioButtonAndCheckbox = true;\r\n GlobalSettings.allowMarkForTextHighlighting = false;\r\n GlobalSettings.alwaysBleedSeparators = false;\r\n GlobalSettings.enableFullJsonRoundTrip = false;\r\n GlobalSettings.displayInputValidationErrors = true;\r\n GlobalSettings.allowPreProcessingPropertyValues = false;\r\n GlobalSettings.setTabIndexAtCardRoot = true;\r\n GlobalSettings.enableFallback = true;\r\n GlobalSettings.useWebkitLineClamp = true;\r\n GlobalSettings.allowMoreThanMaxActionsInOverflowMenu = false;\r\n GlobalSettings.removePaddingFromContainersWithBackgroundImage = false;\r\n GlobalSettings.resetInputsDirtyStateAfterActionExecution = true;\r\n GlobalSettings.applets = {\r\n logEnabled: true,\r\n logLevel: Enums.LogLevel.Error,\r\n maximumRetryAttempts: 3,\r\n defaultTimeBetweenRetryAttempts: 3000,\r\n authPromptWidth: 400,\r\n authPromptHeight: 600,\r\n refresh: {\r\n mode: Enums.RefreshMode.Manual,\r\n timeBetweenAutomaticRefreshes: 3000,\r\n maximumConsecutiveAutomaticRefreshes: 3,\r\n allowManualRefreshesAfterAutomaticRefreshes: true\r\n }\r\n };\r\n return GlobalSettings;\r\n}());\r\nexports.GlobalSettings = GlobalSettings;\r\nexports.ContentTypes = {\r\n applicationJson: \"application/json\",\r\n applicationXWwwFormUrlencoded: \"application/x-www-form-urlencoded\"\r\n};\r\nvar StringWithSubstitutions = /** @class */ (function () {\r\n function StringWithSubstitutions() {\r\n this._isProcessed = false;\r\n }\r\n StringWithSubstitutions.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n if (!referencedInputs) {\r\n throw new Error(\"The referencedInputs parameter cannot be null.\");\r\n }\r\n if (this._original) {\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n var matches = new RegExp(\"\\\\{{2}(\" + input.id + \").value\\\\}{2}\", \"gi\").exec(this._original);\r\n if (matches != null && input.id) {\r\n referencedInputs[input.id] = input;\r\n }\r\n }\r\n }\r\n };\r\n StringWithSubstitutions.prototype.substituteInputValues = function (inputs, contentType) {\r\n this._processed = this._original;\r\n if (this._original) {\r\n var regEx = /\\{{2}([a-z0-9_$@]+).value\\}{2}/gi;\r\n var matches = void 0;\r\n while ((matches = regEx.exec(this._original)) !== null && this._processed) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key.toLowerCase() === matches[1].toLowerCase()) {\r\n var matchedInput = inputs[key];\r\n var valueForReplace = \"\";\r\n if (matchedInput.value) {\r\n valueForReplace = matchedInput.value;\r\n }\r\n if (contentType === exports.ContentTypes.applicationJson) {\r\n valueForReplace = JSON.stringify(valueForReplace);\r\n valueForReplace = valueForReplace.slice(1, -1);\r\n }\r\n else if (contentType === exports.ContentTypes.applicationXWwwFormUrlencoded) {\r\n valueForReplace = encodeURIComponent(valueForReplace);\r\n }\r\n this._processed = this._processed.replace(matches[0], valueForReplace);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this._isProcessed = true;\r\n };\r\n StringWithSubstitutions.prototype.getOriginal = function () {\r\n return this._original;\r\n };\r\n StringWithSubstitutions.prototype.get = function () {\r\n if (!this._isProcessed) {\r\n return this._original;\r\n }\r\n else {\r\n return this._processed;\r\n }\r\n };\r\n StringWithSubstitutions.prototype.set = function (value) {\r\n this._original = value;\r\n this._isProcessed = false;\r\n };\r\n return StringWithSubstitutions;\r\n}());\r\nexports.StringWithSubstitutions = StringWithSubstitutions;\r\nvar SpacingDefinition = /** @class */ (function () {\r\n function SpacingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = 0; }\r\n if (right === void 0) { right = 0; }\r\n if (bottom === void 0) { bottom = 0; }\r\n if (left === void 0) { left = 0; }\r\n this.left = 0;\r\n this.top = 0;\r\n this.right = 0;\r\n this.bottom = 0;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return SpacingDefinition;\r\n}());\r\nexports.SpacingDefinition = SpacingDefinition;\r\nvar PaddingDefinition = /** @class */ (function () {\r\n function PaddingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = Enums.Spacing.None; }\r\n if (right === void 0) { right = Enums.Spacing.None; }\r\n if (bottom === void 0) { bottom = Enums.Spacing.None; }\r\n if (left === void 0) { left = Enums.Spacing.None; }\r\n this.top = Enums.Spacing.None;\r\n this.right = Enums.Spacing.None;\r\n this.bottom = Enums.Spacing.None;\r\n this.left = Enums.Spacing.None;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return PaddingDefinition;\r\n}());\r\nexports.PaddingDefinition = PaddingDefinition;\r\nvar SizeAndUnit = /** @class */ (function () {\r\n function SizeAndUnit(physicalSize, unit) {\r\n this.physicalSize = physicalSize;\r\n this.unit = unit;\r\n }\r\n SizeAndUnit.parse = function (input, requireUnitSpecifier) {\r\n if (requireUnitSpecifier === void 0) { requireUnitSpecifier = false; }\r\n var result = new SizeAndUnit(0, Enums.SizeUnit.Weight);\r\n if (typeof input === \"number\") {\r\n result.physicalSize = input;\r\n return result;\r\n }\r\n else if (typeof input === \"string\") {\r\n var regExp = /^([0-9]+)(px|\\*)?$/g;\r\n var matches = regExp.exec(input);\r\n var expectedMatchCount = requireUnitSpecifier ? 3 : 2;\r\n if (matches && matches.length >= expectedMatchCount) {\r\n result.physicalSize = parseInt(matches[1]);\r\n if (matches.length === 3) {\r\n if (matches[2] === \"px\") {\r\n result.unit = Enums.SizeUnit.Pixel;\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n throw new Error(\"Invalid size: \" + input);\r\n };\r\n return SizeAndUnit;\r\n}());\r\nexports.SizeAndUnit = SizeAndUnit;\r\n/**\r\n * Fast UUID generator, RFC4122 version 4 compliant.\r\n * @author Jeff Ward (jcward.com).\r\n * @license MIT license\r\n * @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\r\n **/\r\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\r\nvar UUID = /** @class */ (function () {\r\n function UUID() {\r\n }\r\n UUID.generate = function () {\r\n var d0 = (Math.random() * 0xffffffff) | 0;\r\n var d1 = (Math.random() * 0xffffffff) | 0;\r\n var d2 = (Math.random() * 0xffffffff) | 0;\r\n var d3 = (Math.random() * 0xffffffff) | 0;\r\n return (UUID.lut[d0 & 0xff] +\r\n UUID.lut[(d0 >> 8) & 0xff] +\r\n UUID.lut[(d0 >> 16) & 0xff] +\r\n UUID.lut[(d0 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[d1 & 0xff] +\r\n UUID.lut[(d1 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[((d1 >> 16) & 0x0f) | 0x40] +\r\n UUID.lut[(d1 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 & 0x3f) | 0x80] +\r\n UUID.lut[(d2 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 >> 16) & 0xff] +\r\n UUID.lut[(d2 >> 24) & 0xff] +\r\n UUID.lut[d3 & 0xff] +\r\n UUID.lut[(d3 >> 8) & 0xff] +\r\n UUID.lut[(d3 >> 16) & 0xff] +\r\n UUID.lut[(d3 >> 24) & 0xff]);\r\n };\r\n UUID.initialize = function () {\r\n for (var i = 0; i < 256; i++) {\r\n UUID.lut[i] = (i < 16 ? \"0\" : \"\") + i.toString(16);\r\n }\r\n };\r\n UUID.lut = [];\r\n return UUID;\r\n}());\r\nexports.UUID = UUID;\r\nUUID.initialize();\r\n/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\r\n//# sourceMappingURL=shared.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Strings = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Strings = /** @class */ (function () {\r\n function Strings() {\r\n }\r\n Strings.errors = {\r\n unknownElementType: function (typeName) {\r\n return \"Unknown element type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n unknownActionType: function (typeName) {\r\n return \"Unknown action type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n elementTypeNotAllowed: function (typeName) {\r\n return \"Element type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n actionTypeNotAllowed: function (typeName) {\r\n return \"Action type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n invalidPropertyValue: function (value, propertyName) {\r\n return \"Invalid value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\".\");\r\n },\r\n showCardMustHaveCard: function () {\r\n return \"\\\"An Action.ShowCard must have its \\\"card\\\" property set to a valid AdaptiveCard object.\";\r\n },\r\n invalidColumnWidth: function (invalidWidth) {\r\n return \"Invalid column width \\\"\".concat(invalidWidth, \"\\\" - defaulting to \\\"auto\\\".\");\r\n },\r\n invalidCardVersion: function (defaultingToVersion) {\r\n return \"Invalid card version. Defaulting to \\\"\".concat(defaultingToVersion, \"\\\".\");\r\n },\r\n invalidVersionString: function (versionString) {\r\n return \"Invalid version string \\\"\".concat(versionString, \"\\\".\");\r\n },\r\n propertyValueNotSupported: function (value, propertyName, supportedInVersion, versionUsed) {\r\n return \"Value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n propertyNotSupported: function (propertyName, supportedInVersion, versionUsed) {\r\n return \"Property \\\"\".concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n indexOutOfRange: function (index) { return \"Index out of range (\".concat(index, \").\"); },\r\n elementCannotBeUsedAsInline: function () {\r\n return \"RichTextBlock.addInline: the specified card element cannot be used as a RichTextBlock inline.\";\r\n },\r\n inlineAlreadyParented: function () {\r\n return \"RichTextBlock.addInline: the specified inline already belongs to another RichTextBlock.\";\r\n },\r\n interactivityNotAllowed: function () { return \"Interactivity is not allowed.\"; },\r\n inputsMustHaveUniqueId: function () { return \"All inputs must have a unique Id.\"; },\r\n choiceSetMustHaveAtLeastOneChoice: function () {\r\n return \"An Input.ChoiceSet must have at least one choice defined.\";\r\n },\r\n choiceSetChoicesMustHaveTitleAndValue: function () {\r\n return \"All choices in an Input.ChoiceSet must have their title and value properties set.\";\r\n },\r\n propertyMustBeSet: function (propertyName) { return \"Property \\\"\".concat(propertyName, \"\\\" must be set.\"); },\r\n actionHttpHeadersMustHaveNameAndValue: function () {\r\n return \"All headers of an Action.Http must have their name and value properties set.\";\r\n },\r\n tooManyActions: function (maximumActions) {\r\n return \"Maximum number of actions exceeded (\".concat(maximumActions, \").\");\r\n },\r\n tooLittleTimeDelay: function (minAutoplayDelay) {\r\n return \"Autoplay Delay is too short (\".concat(minAutoplayDelay, \").\");\r\n },\r\n tooManyCarouselPages: function (maxCarouselPages) {\r\n return \"Maximum number of Carousel pages exceeded (\".concat(maxCarouselPages, \").\");\r\n },\r\n invalidInitialPageIndex: function (initialPageIndex) {\r\n return \"InitialPage for carousel is invalid (\".concat(initialPageIndex, \").\");\r\n },\r\n columnAlreadyBelongsToAnotherSet: function () { return \"This column already belongs to another ColumnSet.\"; },\r\n invalidCardType: function () {\r\n return \"Invalid or missing card type. Make sure the card's type property is set to \\\"AdaptiveCard\\\".\";\r\n },\r\n unsupportedCardVersion: function (version, maxSupportedVersion) {\r\n return \"The specified card version (\".concat(version, \") is not supported or still in preview. The latest released card version is \").concat(maxSupportedVersion, \".\");\r\n },\r\n duplicateId: function (id) { return \"Duplicate Id \\\"\".concat(id, \"\\\".\"); },\r\n markdownProcessingNotEnabled: function () {\r\n return \"Markdown processing isn't enabled. Please see https://www.npmjs.com/package/adaptivecards#supporting-markdown\";\r\n },\r\n processMarkdownEventRemoved: function () {\r\n return \"The processMarkdown event has been removed. Please update your code and set onProcessMarkdown instead.\";\r\n },\r\n elementAlreadyParented: function () { return \"The element already belongs to another container.\"; },\r\n actionAlreadyParented: function () { return \"The action already belongs to another element.\"; },\r\n elementTypeNotStandalone: function (typeName) {\r\n return \"Elements of type \".concat(typeName, \" cannot be used as standalone elements.\");\r\n },\r\n invalidInputLabelWidth: function () {\r\n return \"Invalid input label width. Defaulting to label width from host config.\";\r\n },\r\n };\r\n Strings.magicCodeInputCard = {\r\n tryAgain: function () { return \"That didn't work... let's try again.\"; },\r\n pleaseLogin: function () {\r\n return 'Please login in the popup. You will obtain a magic code. Paste that code below and select \"Submit\"';\r\n },\r\n enterMagicCode: function () { return \"Enter magic code\"; },\r\n pleaseEnterMagicCodeYouReceived: function () { return \"Please enter the magic code you received.\"; },\r\n submit: function () { return \"Submit\"; },\r\n cancel: function () { return \"Cancel\"; },\r\n somethingWentWrong: function () { return \"Something went wrong. This action can't be handled.\"; },\r\n authenticationFailed: function () { return \"Authentication failed.\"; }\r\n };\r\n Strings.runtime = {\r\n automaticRefreshPaused: function () { return \"Automatic refresh paused.\"; },\r\n clckToRestartAutomaticRefresh: function () { return \"Click to restart.\"; },\r\n refreshThisCard: function () { return \"Refresh this card\"; }\r\n };\r\n Strings.hints = {\r\n dontUseWeightedAndStrecthedColumnsInSameSet: function () {\r\n return \"It is not recommended to use weighted and stretched columns in the same ColumnSet, because in such a situation stretched columns will always get the minimum amount of space.\";\r\n }\r\n };\r\n Strings.defaults = {\r\n inlineActionTitle: function () { return \"Inline Action\"; },\r\n overflowButtonText: function () { return \"...\"; },\r\n overflowButtonTooltip: function () { return \"More options\"; },\r\n emptyElementText: function (elementType) { return \"Empty \".concat(elementType); },\r\n mediaPlayerAriaLabel: function () { return \"Media content\"; },\r\n mediaPlayerPlayMedia: function () { return \"Play media\"; },\r\n youTubeVideoPlayer: function () { return \"YouTube video player\"; },\r\n vimeoVideoPlayer: function () { return \"Vimeo video player\"; },\r\n dailymotionVideoPlayer: function () { return \"Dailymotion video player\"; },\r\n carouselNavigationPreviousTooltip: function () { return \"Previous carousel page\"; },\r\n carouselNavigationNextTooltip: function () { return \"Next carousel page\"; }\r\n };\r\n return Strings;\r\n}());\r\nexports.Strings = Strings;\r\n//# sourceMappingURL=strings.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Table = exports.TableRow = exports.TableCell = exports.StylableContainer = exports.TableColumnDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar enums_1 = require(\"./enums\");\r\nvar registry_1 = require(\"./registry\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar shared_1 = require(\"./shared\");\r\nvar strings_1 = require(\"./strings\");\r\nvar utils_1 = require(\"./utils\");\r\nvar TableColumnDefinition = /** @class */ (function (_super) {\r\n __extends(TableColumnDefinition, _super);\r\n function TableColumnDefinition() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.width = new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight);\r\n return _this;\r\n }\r\n TableColumnDefinition.prototype.getSchemaKey = function () {\r\n return \"ColumnDefinition\";\r\n };\r\n TableColumnDefinition.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableColumnDefinition.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n TableColumnDefinition.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_5, \"width\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, enums_1.SizeUnit.Weight);\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, enums_1.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value.unit === enums_1.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }, new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight));\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.horizontalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.verticalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"verticalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.widthProperty)\r\n ], TableColumnDefinition.prototype, \"width\", void 0);\r\n return TableColumnDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.TableColumnDefinition = TableColumnDefinition;\r\nvar StylableContainer = /** @class */ (function (_super) {\r\n __extends(StylableContainer, _super);\r\n function StylableContainer() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._items = [];\r\n return _this;\r\n }\r\n StylableContainer.prototype.parseItem = function (source, context) {\r\n var _this = this;\r\n return context.parseCardObject(this, source, [], // Forbidden types not supported for elements for now\r\n !this.isDesignMode(), function (typeName) {\r\n return _this.createItemInstance(typeName);\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, enums_1.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n StylableContainer.prototype.internalAddItem = function (item) {\r\n if (!item.parent) {\r\n this._items.push(item);\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n StylableContainer.prototype.internalRemoveItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n StylableContainer.prototype.internalIndexOf = function (item) {\r\n return this._items.indexOf(item);\r\n };\r\n StylableContainer.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._items = [];\r\n var items = source[this.getCollectionPropertyName()];\r\n if (Array.isArray(items)) {\r\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\r\n var item = items_1[_i];\r\n var instance = this.parseItem(item, context);\r\n if (instance) {\r\n this._items.push(instance);\r\n }\r\n }\r\n }\r\n };\r\n StylableContainer.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, this.getCollectionPropertyName(), this._items);\r\n };\r\n StylableContainer.prototype.removeItem = function (item) {\r\n return this.internalRemoveItem(item);\r\n };\r\n StylableContainer.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n StylableContainer.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n StylableContainer.prototype.getFirstVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(0) : undefined;\r\n };\r\n StylableContainer.prototype.getLastVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(this.getItemCount() - 1) : undefined;\r\n };\r\n return StylableContainer;\r\n}(card_elements_1.StylableCardElementContainer));\r\nexports.StylableContainer = StylableContainer;\r\nvar TableCell = /** @class */ (function (_super) {\r\n __extends(TableCell, _super);\r\n function TableCell() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columnIndex = -1;\r\n _this._cellType = \"data\";\r\n return _this;\r\n }\r\n TableCell.prototype.getHasBorder = function () {\r\n return this.parentRow.parentTable.showGridLines;\r\n };\r\n TableCell.prototype.applyBorder = function () {\r\n if (this.renderedElement && this.getHasBorder()) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.parentRow.parentTable.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = (0, utils_1.stringToCssColor)(styleDefinition.borderColor);\r\n if (borderColor) {\r\n this.renderedElement.style.borderRight = \"1px solid \" + borderColor;\r\n this.renderedElement.style.borderBottom = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n };\r\n TableCell.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder()\r\n ? new shared_1.PaddingDefinition(enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small)\r\n : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n TableCell.prototype.internalRender = function () {\r\n var cellElement = _super.prototype.internalRender.call(this);\r\n if (cellElement) {\r\n cellElement.setAttribute(\"role\", this.cellType === \"data\" ? \"cell\" : \"columnheader\");\r\n cellElement.style.minWidth = \"0\";\r\n if (this.cellType === \"header\") {\r\n cellElement.setAttribute(\"scope\", \"col\");\r\n }\r\n }\r\n return cellElement;\r\n };\r\n TableCell.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n TableCell.prototype.getJsonTypeName = function () {\r\n return \"TableCell\";\r\n };\r\n TableCell.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.cellType === \"header\") {\r\n return this.hostConfig.textStyles.columnHeader;\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TableCell.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parentRow.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.horizontalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var horizontalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).horizontalCellContentAlignment;\r\n if (horizontalAlignment !== undefined) {\r\n return horizontalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.horizontalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveHorizontalAlignment.call(this);\r\n };\r\n TableCell.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n if (this.parentRow.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.verticalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var verticalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).verticalCellContentAlignment;\r\n if (verticalAlignment !== undefined) {\r\n return verticalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.verticalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveVerticalContentAlignment.call(this);\r\n };\r\n Object.defineProperty(TableCell.prototype, \"columnIndex\", {\r\n get: function () {\r\n return this._columnIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"cellType\", {\r\n get: function () {\r\n return this._cellType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"parentRow\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return TableCell;\r\n}(card_elements_1.Container));\r\nexports.TableCell = TableCell;\r\nvar TableRow = /** @class */ (function (_super) {\r\n __extends(TableRow, _super);\r\n function TableRow() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n TableRow.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None);\r\n };\r\n TableRow.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = (0, utils_1.stringToCssColor)(styleDefinition.backgroundColor);\r\n if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n }\r\n };\r\n TableRow.prototype.getCollectionPropertyName = function () {\r\n return \"cells\";\r\n };\r\n TableRow.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableCell\" ? new TableCell() : undefined;\r\n };\r\n TableRow.prototype.internalRender = function () {\r\n var isFirstRow = this.getIsFirstRow();\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n var rowElement = document.createElement(\"div\");\r\n rowElement.setAttribute(\"role\", \"row\");\r\n rowElement.style.display = \"flex\";\r\n rowElement.style.flexDirection = \"row\";\r\n for (var i = 0; i < Math.min(this.getItemCount(), this.parentTable.getColumnCount()); i++) {\r\n var cell = this.getItemAt(i);\r\n // Cheating a bit in order to keep cellType read-only\r\n cell[\"_columnIndex\"] = i;\r\n cell[\"_cellType\"] =\r\n this.parentTable.firstRowAsHeaders && isFirstRow ? \"header\" : \"data\";\r\n var renderedCell = cell.render();\r\n if (renderedCell) {\r\n var column = this.parentTable.getColumnAt(i);\r\n if (column.computedWidth.unit === enums_1.SizeUnit.Pixel) {\r\n renderedCell.style.flex = \"0 0 \" + column.computedWidth.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedCell.style.flex = \"1 1 \" + column.computedWidth.physicalSize + \"%\";\r\n }\r\n if (i > 0 && !this.parentTable.showGridLines && cellSpacing > 0) {\r\n renderedCell.style.marginLeft = cellSpacing + \"px\";\r\n }\r\n rowElement.appendChild(renderedCell);\r\n }\r\n }\r\n return rowElement.children.length > 0 ? rowElement : undefined;\r\n };\r\n TableRow.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n TableRow.prototype.addCell = function (cell) {\r\n this.internalAddItem(cell);\r\n };\r\n TableRow.prototype.removeCellAt = function (columnIndex) {\r\n if (columnIndex >= 0 && columnIndex < this.getItemCount()) {\r\n return this.removeItem(this.getItemAt(columnIndex));\r\n }\r\n return false;\r\n };\r\n TableRow.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof TableCell ? this.internalIndexOf(cardElement) : -1;\r\n };\r\n TableRow.prototype.ensureHasEnoughCells = function (cellCount) {\r\n while (this.getItemCount() < cellCount) {\r\n this.addCell(new TableCell());\r\n }\r\n };\r\n TableRow.prototype.getJsonTypeName = function () {\r\n return \"TableRow\";\r\n };\r\n TableRow.prototype.getIsFirstRow = function () {\r\n return this.parentTable.getItemAt(0) === this;\r\n };\r\n Object.defineProperty(TableRow.prototype, \"parentTable\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableRow.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TableRow.styleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"style\");\r\n TableRow.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableRow.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n (0, serialization_1.property)(TableRow.horizontalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableRow.verticalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"verticalCellContentAlignment\", void 0);\r\n return TableRow;\r\n}(StylableContainer));\r\nexports.TableRow = TableRow;\r\nvar Table = /** @class */ (function (_super) {\r\n __extends(Table, _super);\r\n function Table() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n _this.firstRowAsHeaders = true;\r\n _this.showGridLines = true;\r\n return _this;\r\n }\r\n Object.defineProperty(Table.prototype, \"gridStyle\", {\r\n get: function () {\r\n var style = this.getValue(Table.gridStyleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(Table.gridStyleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n Table.prototype.ensureRowsHaveEnoughCells = function () {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).ensureHasEnoughCells(this.getColumnCount());\r\n }\r\n };\r\n Table.prototype.removeCellsFromColumn = function (columnIndex) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).removeCellAt(columnIndex);\r\n }\r\n };\r\n Table.prototype.getCollectionPropertyName = function () {\r\n return \"rows\";\r\n };\r\n Table.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableRow\" ? new TableRow() : undefined;\r\n };\r\n Table.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.internalRender = function () {\r\n if (this.getItemCount() > 0) {\r\n var totalWeights = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width.unit === enums_1.SizeUnit.Weight) {\r\n totalWeights += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width.unit === enums_1.SizeUnit.Pixel) {\r\n column.computedWidth = new shared_1.SizeAndUnit(column.width.physicalSize, enums_1.SizeUnit.Pixel);\r\n }\r\n else {\r\n column.computedWidth = new shared_1.SizeAndUnit((100 / totalWeights) * column.width.physicalSize, enums_1.SizeUnit.Weight);\r\n }\r\n }\r\n var tableElement = document.createElement(\"div\");\r\n tableElement.setAttribute(\"role\", \"table\");\r\n tableElement.style.display = \"flex\";\r\n tableElement.style.flexDirection = \"column\";\r\n if (this.showGridLines) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = (0, utils_1.stringToCssColor)(styleDefinition.borderColor);\r\n if (borderColor) {\r\n tableElement.style.borderTop = \"1px solid \" + borderColor;\r\n tableElement.style.borderLeft = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var renderedRow = this.getItemAt(i).render();\r\n if (renderedRow) {\r\n if (i > 0 && !this.showGridLines && cellSpacing > 0) {\r\n var separatorRow = document.createElement(\"div\");\r\n separatorRow.setAttribute(\"aria-hidden\", \"true\");\r\n separatorRow.style.height = cellSpacing + \"px\";\r\n tableElement.appendChild(separatorRow);\r\n }\r\n tableElement.appendChild(renderedRow);\r\n }\r\n }\r\n return tableElement;\r\n }\r\n return undefined;\r\n };\r\n Table.prototype.addColumn = function (column) {\r\n this._columns.push(column);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.removeColumn = function (column) {\r\n var index = this._columns.indexOf(column);\r\n if (index >= 0) {\r\n this.removeCellsFromColumn(index);\r\n this._columns.splice(index, 1);\r\n }\r\n };\r\n Table.prototype.getColumnCount = function () {\r\n return this._columns.length;\r\n };\r\n Table.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n Table.prototype.addRow = function (row) {\r\n this.internalAddItem(row);\r\n row.ensureHasEnoughCells(this.getColumnCount());\r\n };\r\n Table.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof TableRow ? this.internalIndexOf(cardElement) : -1;\r\n };\r\n Table.prototype.getJsonTypeName = function () {\r\n return \"Table\";\r\n };\r\n Table._columnsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_5, \"columns\", TableColumnDefinition);\r\n Table.firstRowAsHeadersProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"firstRowAsHeaders\", true);\r\n Table.showGridLinesProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"showGridLines\", true);\r\n Table.gridStyleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"gridStyle\");\r\n Table.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n Table.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n (0, serialization_1.property)(Table._columnsProperty)\r\n ], Table.prototype, \"_columns\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.firstRowAsHeadersProperty)\r\n ], Table.prototype, \"firstRowAsHeaders\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.showGridLinesProperty)\r\n ], Table.prototype, \"showGridLines\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.gridStyleProperty)\r\n ], Table.prototype, \"gridStyle\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Table.horizontalCellContentAlignmentProperty)\r\n ], Table.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.verticalCellContentAlignmentProperty)\r\n ], Table.prototype, \"verticalCellContentAlignment\", void 0);\r\n return Table;\r\n}(StylableContainer));\r\nexports.Table = Table;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Table\", Table, serialization_1.Versions.v1_5);\r\n//# sourceMappingURL=table.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.formatText = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar AbstractTextFormatter = /** @class */ (function () {\r\n function AbstractTextFormatter(regularExpression) {\r\n this._regularExpression = regularExpression;\r\n }\r\n AbstractTextFormatter.prototype.format = function (lang, input) {\r\n var matches;\r\n if (input) {\r\n var result = input;\r\n while ((matches = this._regularExpression.exec(input)) != null) {\r\n result = result.replace(matches[0], this.internalFormat(lang, matches));\r\n }\r\n return result;\r\n }\r\n else {\r\n return input;\r\n }\r\n };\r\n return AbstractTextFormatter;\r\n}());\r\nvar DateFormatter = /** @class */ (function (_super) {\r\n __extends(DateFormatter, _super);\r\n function DateFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n var format = matches[2] !== undefined ? matches[2].toLowerCase() : \"compact\";\r\n if (format !== \"compact\") {\r\n return date.toLocaleDateString(lang, {\r\n day: \"numeric\",\r\n weekday: format,\r\n month: format,\r\n year: \"numeric\"\r\n });\r\n }\r\n else {\r\n return date.toLocaleDateString();\r\n }\r\n };\r\n return DateFormatter;\r\n}(AbstractTextFormatter));\r\nvar TimeFormatter = /** @class */ (function (_super) {\r\n __extends(TimeFormatter, _super);\r\n function TimeFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n return date.toLocaleTimeString(lang, { hour: \"numeric\", minute: \"2-digit\" });\r\n };\r\n return TimeFormatter;\r\n}(AbstractTextFormatter));\r\nfunction formatText(lang, text) {\r\n var formatters = [\r\n new DateFormatter(/\\{{2}DATE\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))(?:, ?(COMPACT|LONG|SHORT))?\\)\\}{2}/g),\r\n new TimeFormatter(/\\{{2}TIME\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))\\)\\}{2}/g)\r\n ];\r\n var result = text;\r\n for (var _i = 0, formatters_1 = formatters; _i < formatters_1.length; _i++) {\r\n var formatter = formatters_1[_i];\r\n result = formatter.format(lang, result);\r\n }\r\n return result;\r\n}\r\nexports.formatText = formatText;\r\n//# sourceMappingURL=text-formatters.js.map","\"use strict\";\r\nvar _a;\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.debounce = exports.addCancelSelectActionEventHandler = exports.clearElementChildren = exports.getScrollY = exports.getScrollX = exports.getFitStatus = exports.truncate = exports.truncateText = exports.stringToCssColor = exports.parseEnum = exports.getEnumValueByName = exports.parseBool = exports.parseNumber = exports.parseString = exports.appendChild = exports.generateUniqueId = exports.isMobileOS = exports.isInternetExplorer = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Shared = require(\"./shared\");\r\nfunction isInternetExplorer() {\r\n // The documentMode property only exists in IE\r\n return window.document.documentMode !== undefined;\r\n}\r\nexports.isInternetExplorer = isInternetExplorer;\r\nfunction isMobileOS() {\r\n var userAgent = window.navigator.userAgent;\r\n return (!!userAgent.match(/Android/i) || !!userAgent.match(/iPad/i) || !!userAgent.match(/iPhone/i));\r\n}\r\nexports.isMobileOS = isMobileOS;\r\n/**\r\n * Generate a UUID prepended with \"__ac-\"\r\n */\r\nfunction generateUniqueId() {\r\n return \"__ac-\" + Shared.UUID.generate();\r\n}\r\nexports.generateUniqueId = generateUniqueId;\r\nfunction appendChild(node, child) {\r\n if (child) {\r\n node.appendChild(child);\r\n }\r\n}\r\nexports.appendChild = appendChild;\r\nfunction parseString(obj, defaultValue) {\r\n return typeof obj === \"string\" ? obj : defaultValue;\r\n}\r\nexports.parseString = parseString;\r\nfunction parseNumber(obj, defaultValue) {\r\n return typeof obj === \"number\" ? obj : defaultValue;\r\n}\r\nexports.parseNumber = parseNumber;\r\nfunction parseBool(value, defaultValue) {\r\n if (typeof value === \"boolean\") {\r\n return value;\r\n }\r\n else if (typeof value === \"string\") {\r\n switch (value.toLowerCase()) {\r\n case \"true\":\r\n return true;\r\n case \"false\":\r\n return false;\r\n default:\r\n return defaultValue;\r\n }\r\n }\r\n return defaultValue;\r\n}\r\nexports.parseBool = parseBool;\r\nfunction getEnumValueByName(enumType, name) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n var value = enumType[key];\r\n if (value && typeof value === \"string\" && value.toLowerCase() === name.toLowerCase()) {\r\n return keyAsNumber;\r\n }\r\n }\r\n }\r\n return undefined;\r\n}\r\nexports.getEnumValueByName = getEnumValueByName;\r\nfunction parseEnum(enumType, name, defaultValue) {\r\n if (!name) {\r\n return defaultValue;\r\n }\r\n var enumValue = getEnumValueByName(enumType, name);\r\n return enumValue !== undefined ? enumValue : defaultValue;\r\n}\r\nexports.parseEnum = parseEnum;\r\nfunction stringToCssColor(color) {\r\n if (color) {\r\n var regEx = /#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?/gi;\r\n var matches = regEx.exec(color);\r\n if (matches && matches[4]) {\r\n var a = parseInt(matches[1], 16) / 255;\r\n var r = parseInt(matches[2], 16);\r\n var g = parseInt(matches[3], 16);\r\n var b = parseInt(matches[4], 16);\r\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + a + \")\";\r\n }\r\n }\r\n return color;\r\n}\r\nexports.stringToCssColor = stringToCssColor;\r\nfunction truncateWorker(element, maxHeight, fullText, truncateAt, lineHeight) {\r\n var fits = function () {\r\n // Allow a one pixel overflow to account for rounding differences\r\n // between browsers\r\n return maxHeight - element.scrollHeight >= -1.0;\r\n };\r\n if (fits()) {\r\n return;\r\n }\r\n var breakableIndices = findBreakableIndices(fullText);\r\n var lo = 0;\r\n var hi = breakableIndices.length;\r\n var bestBreakIdx = 0;\r\n // Do a binary search for the longest string that fits\r\n while (lo < hi) {\r\n var mid = Math.floor((lo + hi) / 2);\r\n truncateAt(fullText, breakableIndices[mid]);\r\n if (fits()) {\r\n bestBreakIdx = breakableIndices[mid];\r\n lo = mid + 1;\r\n }\r\n else {\r\n hi = mid;\r\n }\r\n }\r\n truncateAt(fullText, bestBreakIdx);\r\n // If we have extra room, try to expand the string letter by letter\r\n // (covers the case where we have to break in the middle of a long word)\r\n if (lineHeight && maxHeight - element.scrollHeight >= lineHeight - 1.0) {\r\n var idx = findNextCharacter(fullText, bestBreakIdx);\r\n while (idx < fullText.length) {\r\n truncateAt(fullText, idx);\r\n if (fits()) {\r\n bestBreakIdx = idx;\r\n idx = findNextCharacter(fullText, idx);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n truncateAt(fullText, bestBreakIdx);\r\n }\r\n}\r\nfunction truncateText(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerText, function (text, idx) {\r\n element.innerText = text.substring(0, idx) + \"...\";\r\n }, lineHeight);\r\n}\r\nexports.truncateText = truncateText;\r\n/**\r\n * {@link truncate} has been deprecated and is no longer in use internally. This policy passes\r\n * content through as it always has, which is _supposed_ to be dealing with text only (see {@link\r\n * TextBlock.truncateIfSupported}), but had a bug where it might actually pass through an element\r\n * for which innerHTML yielded actual HTML (since fixed).\r\n */\r\nvar ttDeprecatedPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#deprecatedExportedFunctionPolicy\", {\r\n createHTML: function (value) { return value; }\r\n});\r\n/** @deprecated Use {@link truncateText} instead. */\r\nfunction truncate(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerHTML, function (text, idx) {\r\n var _a;\r\n var truncatedString = text.substring(0, idx) + \"...\";\r\n var truncatedHTML = (_a = ttDeprecatedPolicy === null || ttDeprecatedPolicy === void 0 ? void 0 : ttDeprecatedPolicy.createHTML(truncatedString)) !== null && _a !== void 0 ? _a : truncatedString;\r\n element.innerHTML = truncatedHTML;\r\n }, lineHeight);\r\n}\r\nexports.truncate = truncate;\r\nfunction findBreakableIndices(html) {\r\n var results = [];\r\n var idx = findNextCharacter(html, -1);\r\n while (idx < html.length) {\r\n if (html[idx] === \" \") {\r\n results.push(idx);\r\n }\r\n idx = findNextCharacter(html, idx);\r\n }\r\n return results;\r\n}\r\nfunction findNextCharacter(html, currIdx) {\r\n currIdx += 1;\r\n // If we found the start of an HTML tag, keep advancing until we get\r\n // past it, so we don't end up truncating in the middle of the tag\r\n while (currIdx < html.length && html[currIdx] === \"<\") {\r\n while (currIdx < html.length && html[currIdx++] !== \">\") {\r\n continue;\r\n }\r\n }\r\n return currIdx;\r\n}\r\nfunction getFitStatus(element, containerEnd) {\r\n var start = element.offsetTop;\r\n var end = start + element.clientHeight;\r\n if (end <= containerEnd) {\r\n return Enums.ContainerFitStatus.FullyInContainer;\r\n }\r\n else if (start < containerEnd) {\r\n return Enums.ContainerFitStatus.Overflowing;\r\n }\r\n else {\r\n return Enums.ContainerFitStatus.FullyOutOfContainer;\r\n }\r\n}\r\nexports.getFitStatus = getFitStatus;\r\nfunction getScrollX() {\r\n return window.pageXOffset;\r\n}\r\nexports.getScrollX = getScrollX;\r\nfunction getScrollY() {\r\n return window.pageYOffset;\r\n}\r\nexports.getScrollY = getScrollY;\r\nfunction clearElementChildren(element) {\r\n while (element.firstChild) {\r\n element.removeChild(element.firstChild);\r\n }\r\n}\r\nexports.clearElementChildren = clearElementChildren;\r\nfunction addCancelSelectActionEventHandler(element) {\r\n element.onclick = function (e) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n };\r\n}\r\nexports.addCancelSelectActionEventHandler = addCancelSelectActionEventHandler;\r\nfunction debounce(fn, delay) {\r\n var timer;\r\n function debouncedFn() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(function () {\r\n fn.apply(void 0, args);\r\n }, delay);\r\n }\r\n return debouncedFn;\r\n}\r\nexports.debounce = debounce;\r\n//# sourceMappingURL=utils.js.map","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction createDeferred() {\n var deferred = {};\n deferred.promise = new Promise(function (resolve, reject) {\n deferred.reject = reject;\n deferred.resolve = resolve;\n });\n return deferred;\n}\n\nvar _default = createDeferred;\nexports[\"default\"] = _default;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVEZWZlcnJlZC50cyJdLCJuYW1lcyI6WyJjcmVhdGVEZWZlcnJlZCIsImRlZmVycmVkIiwicHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsU0FBU0EsY0FBVCxHQUEwQztBQUN4QyxNQUFNQyxRQUE4QixHQUFHLEVBQXZDO0FBRUFBLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBVCxHQUFtQixJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ2xESixJQUFBQSxRQUFRLENBQUNJLE1BQVQsR0FBa0JBLE1BQWxCO0FBQ0FKLElBQUFBLFFBQVEsQ0FBQ0csT0FBVCxHQUFtQkEsT0FBbkI7QUFDRCxHQUhrQixDQUFuQjtBQUtBLFNBQU9ILFFBQVA7QUFDRDs7ZUFFY0QsYyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRGVmZXJyZWQ8VD4gPSB7XG4gIHByb21pc2U6IFByb21pc2U8VD47XG4gIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbiAgcmVzb2x2ZTogKHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pID0+IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVEZWZlcnJlZDxUPigpOiBEZWZlcnJlZDxUPiB7XG4gIGNvbnN0IGRlZmVycmVkOiBQYXJ0aWFsPERlZmVycmVkPFQ+PiA9IHt9O1xuXG4gIGRlZmVycmVkLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgZGVmZXJyZWQucmVqZWN0ID0gcmVqZWN0O1xuICAgIGRlZmVycmVkLnJlc29sdmUgPSByZXNvbHZlO1xuICB9KTtcblxuICByZXR1cm4gZGVmZXJyZWQgYXMgRGVmZXJyZWQ8VD47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZURlZmVycmVkO1xuZXhwb3J0IHR5cGUgeyBEZWZlcnJlZCB9O1xuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = dedupeFilenames;\n\nvar _parseFilename2 = _interopRequireDefault(require(\"./parseFilename\"));\n\nfunction dedupeFilenames(array) {\n var nextArray = [];\n array.forEach(function (value) {\n var _parseFilename = (0, _parseFilename2[\"default\"])(value),\n extname = _parseFilename.extname,\n name = _parseFilename.name;\n\n var count = 0;\n var nextValue = value;\n\n while (nextArray.includes(nextValue)) {\n nextValue = [name, \"(\".concat(++count, \")\")].filter(function (segment) {\n return segment;\n }).join(' ') + extname;\n }\n\n nextArray.push(nextValue);\n });\n return nextArray;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWR1cGVGaWxlbmFtZXMudHMiXSwibmFtZXMiOlsiZGVkdXBlRmlsZW5hbWVzIiwiYXJyYXkiLCJuZXh0QXJyYXkiLCJmb3JFYWNoIiwidmFsdWUiLCJleHRuYW1lIiwibmFtZSIsImNvdW50IiwibmV4dFZhbHVlIiwiaW5jbHVkZXMiLCJmaWx0ZXIiLCJzZWdtZW50Iiwiam9pbiIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVlLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTBDO0FBQ3JELE1BQU1DLFNBQW1CLEdBQUcsRUFBNUI7QUFFQUQsRUFBQUEsS0FBSyxDQUFDRSxPQUFOLENBQWMsVUFBQUMsS0FBSyxFQUFJO0FBQ25CLHlCQUEwQixnQ0FBY0EsS0FBZCxDQUExQjtBQUFBLFFBQVFDLE9BQVIsa0JBQVFBLE9BQVI7QUFBQSxRQUFpQkMsSUFBakIsa0JBQWlCQSxJQUFqQjs7QUFDQSxRQUFJQyxLQUFLLEdBQUcsQ0FBWjtBQUNBLFFBQUlDLFNBQVMsR0FBR0osS0FBaEI7O0FBRUEsV0FBT0YsU0FBUyxDQUFDTyxRQUFWLENBQW1CRCxTQUFuQixDQUFQLEVBQXNDO0FBQ2xDQSxNQUFBQSxTQUFTLEdBQUcsQ0FBQ0YsSUFBRCxhQUFhLEVBQUVDLEtBQWYsUUFBMkJHLE1BQTNCLENBQWtDLFVBQUFDLE9BQU87QUFBQSxlQUFJQSxPQUFKO0FBQUEsT0FBekMsRUFBc0RDLElBQXRELENBQTJELEdBQTNELElBQWtFUCxPQUE5RTtBQUNIOztBQUVESCxJQUFBQSxTQUFTLENBQUNXLElBQVYsQ0FBZUwsU0FBZjtBQUNILEdBVkQ7QUFZQSxTQUFPTixTQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGFyc2VGaWxlbmFtZSBmcm9tICcuL3BhcnNlRmlsZW5hbWUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWR1cGVGaWxlbmFtZXMoYXJyYXk6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV4dEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgYXJyYXkuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZXh0bmFtZSwgbmFtZSB9ID0gcGFyc2VGaWxlbmFtZSh2YWx1ZSk7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGxldCBuZXh0VmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB3aGlsZSAobmV4dEFycmF5LmluY2x1ZGVzKG5leHRWYWx1ZSkpIHtcbiAgICAgICAgICAgIG5leHRWYWx1ZSA9IFtuYW1lLCBgKCR7ICgrK2NvdW50KSB9KWBdLmZpbHRlcihzZWdtZW50ID0+IHNlZ21lbnQpLmpvaW4oJyAnKSArIGV4dG5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBuZXh0QXJyYXkucHVzaChuZXh0VmFsdWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5leHRBcnJheTtcbn1cbiJdfQ==","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DirectLineStreaming\", {\n enumerable: true,\n get: function get() {\n return _directLineStreaming.DirectLineStreaming;\n }\n});\nexports.DirectLine = exports.ConnectionStatus = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nrequire(\"core-js/features/promise\");\n\nrequire(\"url-search-params-polyfill\");\n\nvar _BehaviorSubject = require(\"rxjs/BehaviorSubject\");\n\nvar _Observable = require(\"rxjs/Observable\");\n\nvar _async = require(\"rxjs/scheduler/async\");\n\nvar _jwtDecode = _interopRequireWildcard(require(\"jwt-decode\"));\n\nrequire(\"rxjs/add/operator/catch\");\n\nrequire(\"rxjs/add/operator/combineLatest\");\n\nrequire(\"rxjs/add/operator/count\");\n\nrequire(\"rxjs/add/operator/delay\");\n\nrequire(\"rxjs/add/operator/do\");\n\nrequire(\"rxjs/add/operator/filter\");\n\nrequire(\"rxjs/add/operator/map\");\n\nrequire(\"rxjs/add/operator/mergeMap\");\n\nrequire(\"rxjs/add/operator/concatMap\");\n\nrequire(\"rxjs/add/operator/retryWhen\");\n\nrequire(\"rxjs/add/operator/share\");\n\nrequire(\"rxjs/add/operator/take\");\n\nrequire(\"rxjs/add/observable/dom/ajax\");\n\nrequire(\"rxjs/add/observable/empty\");\n\nrequire(\"rxjs/add/observable/from\");\n\nrequire(\"rxjs/add/observable/interval\");\n\nrequire(\"rxjs/add/observable/of\");\n\nrequire(\"rxjs/add/observable/throw\");\n\nvar _dedupeFilenames = _interopRequireDefault(require(\"./dedupeFilenames\"));\n\nvar _directLineStreaming = require(\"./directLineStreaming\");\n\nvar _excluded = [\"contentUrl\"];\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar DIRECT_LINE_VERSION = 'DirectLine/3.0';\n// These types are specific to this client library, not to Direct Line 3.0\nvar ConnectionStatus;\nexports.ConnectionStatus = ConnectionStatus;\n\n(function (ConnectionStatus) {\n ConnectionStatus[ConnectionStatus[\"Uninitialized\"] = 0] = \"Uninitialized\";\n ConnectionStatus[ConnectionStatus[\"Connecting\"] = 1] = \"Connecting\";\n ConnectionStatus[ConnectionStatus[\"Online\"] = 2] = \"Online\";\n ConnectionStatus[ConnectionStatus[\"ExpiredToken\"] = 3] = \"ExpiredToken\";\n ConnectionStatus[ConnectionStatus[\"FailedToConnect\"] = 4] = \"FailedToConnect\";\n ConnectionStatus[ConnectionStatus[\"Ended\"] = 5] = \"Ended\";\n})(ConnectionStatus || (exports.ConnectionStatus = ConnectionStatus = {}));\n\nvar wrapAjaxWithRetry = function wrapAjaxWithRetry(source, scheduler) {\n var notImplemented = function notImplemented() {\n throw new Error('not implemented');\n };\n\n var inner = function inner(response$) {\n return response$[\"catch\"](function (err) {\n if (err.status === 429) {\n var retryAfterValue = err.xhr.getResponseHeader('Retry-After');\n var retryAfter = Number(retryAfterValue);\n\n if (!isNaN(retryAfter)) {\n return _Observable.Observable.timer(retryAfter, scheduler).flatMap(function (_) {\n return _Observable.Observable[\"throw\"](err, scheduler);\n });\n }\n }\n\n return _Observable.Observable[\"throw\"](err, scheduler);\n });\n };\n\n var outer = function outer(urlOrRequest) {\n return inner(source(urlOrRequest));\n };\n\n return Object.assign(outer, {\n get: function get(url, headers) {\n return notImplemented();\n },\n post: function post(url, body, headers) {\n return notImplemented();\n },\n put: function put(url, body, headers) {\n return notImplemented();\n },\n patch: function patch(url, body, headers) {\n return notImplemented();\n },\n \"delete\": function _delete(url, headers) {\n return notImplemented();\n },\n getJSON: function getJSON(url, headers) {\n return notImplemented();\n }\n });\n};\n\nvar makeServices = function makeServices(services) {\n var scheduler = services.scheduler || _async.async;\n return {\n scheduler: scheduler,\n ajax: wrapAjaxWithRetry(services.ajax || _Observable.Observable.ajax, scheduler),\n WebSocket: services.WebSocket || WebSocket,\n random: services.random || Math.random\n };\n};\n\nvar lifetimeRefreshToken = 30 * 60 * 1000;\nvar intervalRefreshToken = lifetimeRefreshToken / 2;\nvar POLLING_INTERVAL_LOWER_BOUND = 200; //ms\n\nvar errorExpiredToken = new Error(\"expired token\");\nvar errorConversationEnded = new Error(\"conversation ended\");\nvar errorFailedToConnect = new Error(\"failed to connect\");\nvar konsole = {\n log: function log(message) {\n var _console;\n\n for (var _len = arguments.length, optionalParams = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n optionalParams[_key - 1] = arguments[_key];\n }\n\n if (typeof window !== 'undefined' && window[\"botchatDebug\"] && message) (_console = console).log.apply(_console, [message].concat(optionalParams));\n }\n};\n\nvar DirectLine = /*#__PURE__*/function () {\n function DirectLine(options) {\n (0, _classCallCheck2[\"default\"])(this, DirectLine);\n (0, _defineProperty2[\"default\"])(this, \"connectionStatus$\", new _BehaviorSubject.BehaviorSubject(ConnectionStatus.Uninitialized));\n (0, _defineProperty2[\"default\"])(this, \"domain\", \"https://directline.botframework.com/v3/directline\");\n (0, _defineProperty2[\"default\"])(this, \"watermark\", '');\n (0, _defineProperty2[\"default\"])(this, \"_botAgent\", '');\n (0, _defineProperty2[\"default\"])(this, \"timeout\", 20 * 1000);\n (0, _defineProperty2[\"default\"])(this, \"pollingInterval\", 1000);\n this.secret = options.secret;\n this.token = options.secret || options.token;\n this.webSocket = (options.webSocket === undefined ? true : options.webSocket) && typeof WebSocket !== 'undefined' && WebSocket !== undefined;\n\n if (options.conversationStartProperties && options.conversationStartProperties.locale) {\n if (Object.prototype.toString.call(options.conversationStartProperties.locale) === '[object String]') {\n this.localeOnStartConversation = options.conversationStartProperties.locale;\n } else {\n console.warn('DirectLineJS: conversationStartProperties.locale was ignored: the locale name may be a BCP 47 language tag');\n }\n }\n\n if (options.domain) {\n this.domain = options.domain;\n }\n\n if (options.conversationId) {\n this.conversationId = options.conversationId;\n }\n\n if (options.watermark) {\n this.watermark = options.watermark;\n }\n\n if (options.streamUrl) {\n if (options.token && options.conversationId) {\n this.streamUrl = options.streamUrl;\n } else {\n console.warn('DirectLineJS: streamUrl was ignored: you need to provide a token and a conversationid');\n }\n }\n\n if (options.timeout !== undefined) {\n this.timeout = options.timeout;\n }\n\n this.retries = (lifetimeRefreshToken - intervalRefreshToken) / this.timeout;\n this._botAgent = this.getBotAgent(options.botAgent);\n this.services = makeServices(options);\n var parsedPollingInterval = ~~options.pollingInterval;\n\n if (parsedPollingInterval < POLLING_INTERVAL_LOWER_BOUND) {\n if (typeof options.pollingInterval !== 'undefined') {\n console.warn(\"DirectLineJS: provided pollingInterval (\".concat(options.pollingInterval, \") is under lower bound (200ms), using default of 1000ms\"));\n }\n } else {\n this.pollingInterval = parsedPollingInterval;\n }\n\n this.expiredTokenExhaustion = this.setConnectionStatusFallback(ConnectionStatus.ExpiredToken, ConnectionStatus.FailedToConnect, 5);\n this.activity$ = (this.webSocket ? this.webSocketActivity$() : this.pollingGetActivity$()).share();\n } // Every time we're about to make a Direct Line REST call, we call this first to see check the current connection status.\n // Either throws an error (indicating an error state) or emits a null, indicating a (presumably) healthy connection\n\n\n (0, _createClass2[\"default\"])(DirectLine, [{\n key: \"checkConnection\",\n value: function checkConnection() {\n var _this = this;\n\n var once = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var obs = this.connectionStatus$.flatMap(function (connectionStatus) {\n if (connectionStatus === ConnectionStatus.Uninitialized) {\n _this.connectionStatus$.next(ConnectionStatus.Connecting); //if token and streamUrl are defined it means reconnect has already been done. Skipping it.\n\n\n if (_this.token && _this.streamUrl) {\n _this.connectionStatus$.next(ConnectionStatus.Online);\n\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n } else {\n return _this.startConversation()[\"do\"](function (conversation) {\n _this.conversationId = conversation.conversationId;\n _this.token = _this.secret || conversation.token;\n _this.streamUrl = conversation.streamUrl;\n _this.referenceGrammarId = conversation.referenceGrammarId;\n if (!_this.secret) _this.refreshTokenLoop();\n\n _this.connectionStatus$.next(ConnectionStatus.Online);\n }, function (error) {\n _this.connectionStatus$.next(ConnectionStatus.FailedToConnect);\n }).map(function (_) {\n return connectionStatus;\n });\n }\n } else {\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n }\n }).filter(function (connectionStatus) {\n return connectionStatus != ConnectionStatus.Uninitialized && connectionStatus != ConnectionStatus.Connecting;\n }).flatMap(function (connectionStatus) {\n switch (connectionStatus) {\n case ConnectionStatus.Ended:\n return _Observable.Observable[\"throw\"](errorConversationEnded, _this.services.scheduler);\n\n case ConnectionStatus.FailedToConnect:\n return _Observable.Observable[\"throw\"](errorFailedToConnect, _this.services.scheduler);\n\n case ConnectionStatus.ExpiredToken:\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n\n default:\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n }\n });\n return once ? obs.take(1) : obs;\n }\n }, {\n key: \"setConnectionStatusFallback\",\n value: function setConnectionStatusFallback(connectionStatusFrom, connectionStatusTo) {\n var maxAttempts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n maxAttempts--;\n var attempts = 0;\n var currStatus = null;\n return function (status) {\n if (status === connectionStatusFrom && currStatus === status && attempts >= maxAttempts) {\n attempts = 0;\n return connectionStatusTo;\n }\n\n attempts++;\n currStatus = status;\n return status;\n };\n }\n }, {\n key: \"expiredToken\",\n value: function expiredToken() {\n var connectionStatus = this.connectionStatus$.getValue();\n if (connectionStatus != ConnectionStatus.Ended && connectionStatus != ConnectionStatus.FailedToConnect) this.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n var protectedConnectionStatus = this.expiredTokenExhaustion(this.connectionStatus$.getValue());\n this.connectionStatus$.next(protectedConnectionStatus);\n }\n }, {\n key: \"startConversation\",\n value: function startConversation() {\n var _this2 = this;\n\n //if conversationid is set here, it means we need to call the reconnect api, else it is a new conversation\n var url = this.conversationId ? \"\".concat(this.domain, \"/conversations/\").concat(this.conversationId, \"?watermark=\").concat(this.watermark) : \"\".concat(this.domain, \"/conversations\");\n var method = this.conversationId ? \"GET\" : \"POST\";\n var body = this.conversationId ? undefined : {\n user: {\n id: this.userIdOnStartConversation\n },\n locale: this.localeOnStartConversation\n };\n return this.services.ajax({\n method: method,\n url: url,\n body: body,\n timeout: this.timeout,\n headers: _objectSpread({\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\"\n }, this.commonHeaders())\n }) // .do(ajaxResponse => konsole.log(\"conversation ajaxResponse\", ajaxResponse.response))\n .map(function (ajaxResponse) {\n return ajaxResponse.response;\n }).retryWhen(function (error$) {\n return (// for now we deem 4xx and 5xx errors as unrecoverable\n // for everything else (timeouts), retry for a while\n error$.mergeMap(function (error) {\n return error.status >= 400 && error.status < 600 ? _Observable.Observable[\"throw\"](error, _this2.services.scheduler) : _Observable.Observable.of(error, _this2.services.scheduler);\n }).delay(_this2.timeout, _this2.services.scheduler).take(_this2.retries)\n );\n });\n }\n }, {\n key: \"refreshTokenLoop\",\n value: function refreshTokenLoop() {\n var _this3 = this;\n\n this.tokenRefreshSubscription = _Observable.Observable.interval(intervalRefreshToken, this.services.scheduler).flatMap(function (_) {\n return _this3.refreshToken();\n }).subscribe(function (token) {\n konsole.log(\"refreshing token\", token, \"at\", new Date());\n _this3.token = token;\n });\n }\n }, {\n key: \"refreshToken\",\n value: function refreshToken() {\n var _this4 = this;\n\n return this.checkConnection(true).flatMap(function (_) {\n return _this4.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this4.domain, \"/tokens/refresh\"),\n timeout: _this4.timeout,\n headers: _objectSpread({}, _this4.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.token;\n }).retryWhen(function (error$) {\n return error$.mergeMap(function (error) {\n if (error.status === 403) {\n // if the token is expired there's no reason to keep trying\n _this4.expiredToken();\n\n return _Observable.Observable[\"throw\"](error, _this4.services.scheduler);\n } else if (error.status === 404) {\n // If the bot is gone, we should stop retrying\n return _Observable.Observable[\"throw\"](error, _this4.services.scheduler);\n }\n\n return _Observable.Observable.of(error, _this4.services.scheduler);\n }).delay(_this4.timeout, _this4.services.scheduler).take(_this4.retries);\n });\n });\n }\n }, {\n key: \"reconnect\",\n value: function reconnect(conversation) {\n this.token = conversation.token;\n this.streamUrl = conversation.streamUrl;\n if (this.connectionStatus$.getValue() === ConnectionStatus.ExpiredToken) this.connectionStatus$.next(ConnectionStatus.Online);\n }\n }, {\n key: \"end\",\n value: function end() {\n if (this.tokenRefreshSubscription) this.tokenRefreshSubscription.unsubscribe();\n\n try {\n this.connectionStatus$.next(ConnectionStatus.Ended);\n } catch (e) {\n if (e === errorConversationEnded) return;\n throw e;\n }\n }\n }, {\n key: \"getSessionId\",\n value: function getSessionId() {\n var _this5 = this;\n\n // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n konsole.log(\"getSessionId\");\n return this.checkConnection(true).flatMap(function (_) {\n return _this5.services.ajax({\n method: \"GET\",\n url: \"\".concat(_this5.domain, \"/session/getsessionid\"),\n withCredentials: true,\n timeout: _this5.timeout,\n headers: _objectSpread({\n \"Content-Type\": \"application/json\"\n }, _this5.commonHeaders())\n }).map(function (ajaxResponse) {\n if (ajaxResponse && ajaxResponse.response && ajaxResponse.response.sessionId) {\n konsole.log(\"getSessionId response: \" + ajaxResponse.response.sessionId);\n return ajaxResponse.response.sessionId;\n }\n\n return '';\n })[\"catch\"](function (error) {\n konsole.log(\"getSessionId error: \" + error.status);\n return _Observable.Observable.of('', _this5.services.scheduler);\n });\n })[\"catch\"](function (error) {\n return _this5.catchExpiredToken(error);\n });\n }\n }, {\n key: \"postActivity\",\n value: function postActivity(activity) {\n var _this6 = this;\n\n // If user id is set, check if it match activity.from.id and always override it in activity\n if (this.userIdOnStartConversation && activity.from && activity.from.id !== this.userIdOnStartConversation) {\n console.warn('DirectLineJS: Activity.from.id does not match with user id, ignoring activity.from.id');\n activity.from.id = this.userIdOnStartConversation;\n } // Use postMessageWithAttachments for messages with attachments that are local files (e.g. an image to upload)\n // Technically we could use it for *all* activities, but postActivity is much lighter weight\n // So, since WebChat is partially a reference implementation of Direct Line, we implement both.\n\n\n if (activity.type === \"message\" && activity.attachments && activity.attachments.length > 0) return this.postMessageWithAttachments(activity); // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n\n konsole.log(\"postActivity\", activity);\n return this.checkConnection(true).flatMap(function (_) {\n return _this6.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this6.domain, \"/conversations/\").concat(_this6.conversationId, \"/activities\"),\n body: activity,\n timeout: _this6.timeout,\n headers: _objectSpread({\n \"Content-Type\": \"application/json\"\n }, _this6.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.id;\n })[\"catch\"](function (error) {\n return _this6.catchPostError(error);\n });\n })[\"catch\"](function (error) {\n return _this6.catchExpiredToken(error);\n });\n }\n }, {\n key: \"postMessageWithAttachments\",\n value: function postMessageWithAttachments(message) {\n var _this7 = this;\n\n var attachments = message.attachments; // We clean the attachments but making sure every attachment has unique name.\n // If the file do not have a name, Chrome will assign \"blob\" when it is appended to FormData.\n\n var attachmentNames = (0, _dedupeFilenames[\"default\"])(attachments.map(function (media) {\n return media.name || 'blob';\n }));\n var cleansedAttachments = attachments.map(function (attachment, index) {\n return _objectSpread(_objectSpread({}, attachment), {}, {\n name: attachmentNames[index]\n });\n });\n var formData; // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n\n return this.checkConnection(true).flatMap(function (_) {\n // To send this message to DirectLine we need to deconstruct it into a \"template\" activity\n // and one blob for each attachment.\n formData = new FormData();\n formData.append('activity', new Blob([JSON.stringify(_objectSpread(_objectSpread({}, message), {}, {\n // Removing contentUrl from attachment, we will send it via multipart\n attachments: cleansedAttachments.map(function (_ref) {\n var string = _ref.contentUrl,\n others = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n return _objectSpread({}, others);\n })\n }))], {\n type: 'application/vnd.microsoft.activity'\n }));\n return _Observable.Observable.from(cleansedAttachments, _this7.services.scheduler).flatMap(function (media) {\n return _this7.services.ajax({\n method: \"GET\",\n url: media.contentUrl,\n responseType: 'arraybuffer'\n })[\"do\"](function (ajaxResponse) {\n return formData.append('file', new Blob([ajaxResponse.response], {\n type: media.contentType\n }), media.name);\n });\n }).count();\n }).flatMap(function (_) {\n return _this7.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this7.domain, \"/conversations/\").concat(_this7.conversationId, \"/upload?userId=\").concat(message.from.id),\n body: formData,\n timeout: _this7.timeout,\n headers: _objectSpread({}, _this7.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.id;\n })[\"catch\"](function (error) {\n return _this7.catchPostError(error);\n });\n })[\"catch\"](function (error) {\n return _this7.catchPostError(error);\n });\n }\n }, {\n key: \"catchPostError\",\n value: function catchPostError(error) {\n if (error.status === 403) // token has expired (will fall through to return \"retry\")\n this.expiredToken();else if (error.status >= 400 && error.status < 500) // more unrecoverable errors\n return _Observable.Observable[\"throw\"](error, this.services.scheduler);\n return _Observable.Observable.of(\"retry\", this.services.scheduler);\n }\n }, {\n key: \"catchExpiredToken\",\n value: function catchExpiredToken(error) {\n return error === errorExpiredToken ? _Observable.Observable.of(\"retry\", this.services.scheduler) : _Observable.Observable[\"throw\"](error, this.services.scheduler);\n }\n }, {\n key: \"pollingGetActivity$\",\n value: function pollingGetActivity$() {\n var _this8 = this;\n\n var poller$ = _Observable.Observable.create(function (subscriber) {\n // A BehaviorSubject to trigger polling. Since it is a BehaviorSubject\n // the first event is produced immediately.\n var trigger$ = new _BehaviorSubject.BehaviorSubject({}); // TODO: remove Date.now, use reactive interval to space out every request\n\n trigger$.subscribe(function () {\n if (_this8.connectionStatus$.getValue() === ConnectionStatus.Online) {\n var startTimestamp = Date.now();\n\n _this8.services.ajax({\n headers: _objectSpread({\n Accept: 'application/json'\n }, _this8.commonHeaders()),\n method: 'GET',\n url: \"\".concat(_this8.domain, \"/conversations/\").concat(_this8.conversationId, \"/activities?watermark=\").concat(_this8.watermark),\n timeout: _this8.timeout\n }).subscribe(function (result) {\n subscriber.next(result);\n setTimeout(function () {\n return trigger$.next(null);\n }, Math.max(0, _this8.pollingInterval - Date.now() + startTimestamp));\n }, function (error) {\n switch (error.status) {\n case 403:\n _this8.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n\n setTimeout(function () {\n return trigger$.next(null);\n }, _this8.pollingInterval);\n break;\n\n case 404:\n _this8.connectionStatus$.next(ConnectionStatus.Ended);\n\n break;\n\n default:\n // propagate the error\n subscriber.error(error);\n break;\n }\n });\n }\n });\n });\n\n return this.checkConnection().flatMap(function (_) {\n return poller$[\"catch\"](function () {\n return _Observable.Observable.empty();\n }).map(function (ajaxResponse) {\n return ajaxResponse.response;\n }).flatMap(function (activityGroup) {\n return _this8.observableFromActivityGroup(activityGroup);\n });\n });\n }\n }, {\n key: \"observableFromActivityGroup\",\n value: function observableFromActivityGroup(activityGroup) {\n if (activityGroup.watermark) this.watermark = activityGroup.watermark;\n return _Observable.Observable.from(activityGroup.activities, this.services.scheduler);\n }\n }, {\n key: \"webSocketActivity$\",\n value: function webSocketActivity$() {\n var _this9 = this;\n\n return this.checkConnection().flatMap(function (_) {\n return _this9.observableWebSocket() // WebSockets can be closed by the server or the browser. In the former case we need to\n // retrieve a new streamUrl. In the latter case we could first retry with the current streamUrl,\n // but it's simpler just to always fetch a new one.\n .retryWhen(function (error$) {\n return error$.delay(_this9.getRetryDelay(), _this9.services.scheduler).mergeMap(function (error) {\n return _this9.reconnectToConversation();\n });\n });\n }).flatMap(function (activityGroup) {\n return _this9.observableFromActivityGroup(activityGroup);\n });\n } // Returns the delay duration in milliseconds\n\n }, {\n key: \"getRetryDelay\",\n value: function getRetryDelay() {\n return Math.floor(3000 + this.services.random() * 12000);\n } // Originally we used Observable.webSocket, but it's fairly opinionated and I ended up writing\n // a lot of code to work around their implementation details. Since WebChat is meant to be a reference\n // implementation, I decided roll the below, where the logic is more purposeful. - @billba\n\n }, {\n key: \"observableWebSocket\",\n value: function observableWebSocket() {\n var _this10 = this;\n\n return _Observable.Observable.create(function (subscriber) {\n konsole.log(\"creating WebSocket\", _this10.streamUrl);\n var ws = new _this10.services.WebSocket(_this10.streamUrl);\n var sub;\n var closed;\n\n ws.onopen = function (open) {\n konsole.log(\"WebSocket open\", open); // Chrome is pretty bad at noticing when a WebSocket connection is broken.\n // If we periodically ping the server with empty messages, it helps Chrome\n // realize when connection breaks, and close the socket. We then throw an\n // error, and that give us the opportunity to attempt to reconnect.\n\n sub = _Observable.Observable.interval(_this10.timeout, _this10.services.scheduler).subscribe(function (_) {\n try {\n ws.send(\"\");\n } catch (e) {\n konsole.log(\"Ping error\", e);\n }\n });\n };\n\n ws.onclose = function (close) {\n konsole.log(\"WebSocket close\", close);\n if (sub) sub.unsubscribe(); // RxJS.retryWhen has a bug that would cause \"error\" signal to be sent after the observable is completed/errored.\n // We need to guard against extraneous \"error\" signal to workaround the bug.\n\n closed || subscriber.error(close);\n closed = true;\n };\n\n ws.onerror = function (error) {\n konsole.log(\"WebSocket error\", error);\n if (sub) sub.unsubscribe(); // RxJS.retryWhen has a bug that would cause \"error\" signal to be sent after the observable is completed/errored.\n // We need to guard against extraneous \"error\" signal to workaround the bug.\n\n closed || subscriber.error(error);\n closed = true;\n };\n\n ws.onmessage = function (message) {\n return message.data && subscriber.next(JSON.parse(message.data));\n }; // This is the 'unsubscribe' method, which is called when this observable is disposed.\n // When the WebSocket closes itself, we throw an error, and this function is eventually called.\n // When the observable is closed first (e.g. when tearing down a WebChat instance) then\n // we need to manually close the WebSocket.\n\n\n return function () {\n if (ws.readyState === 0 || ws.readyState === 1) ws.close();\n };\n });\n }\n }, {\n key: \"reconnectToConversation\",\n value: function reconnectToConversation() {\n var _this11 = this;\n\n return this.checkConnection(true).flatMap(function (_) {\n return _this11.services.ajax({\n method: \"GET\",\n url: \"\".concat(_this11.domain, \"/conversations/\").concat(_this11.conversationId, \"?watermark=\").concat(_this11.watermark),\n timeout: _this11.timeout,\n headers: _objectSpread({\n \"Accept\": \"application/json\"\n }, _this11.commonHeaders())\n })[\"do\"](function (result) {\n if (!_this11.secret) _this11.token = result.response.token;\n _this11.streamUrl = result.response.streamUrl;\n }).map(function (_) {\n return null;\n }).retryWhen(function (error$) {\n return error$.mergeMap(function (error) {\n if (error.status === 403) {\n // token has expired. We can't recover from this here, but the embedding\n // website might eventually call reconnect() with a new token and streamUrl.\n _this11.expiredToken();\n } else if (error.status === 404) {\n return _Observable.Observable[\"throw\"](errorConversationEnded, _this11.services.scheduler);\n }\n\n return _Observable.Observable.of(error, _this11.services.scheduler);\n }).delay(_this11.timeout, _this11.services.scheduler).take(_this11.retries);\n });\n });\n }\n }, {\n key: \"commonHeaders\",\n value: function commonHeaders() {\n return {\n \"Authorization\": \"Bearer \".concat(this.token),\n \"x-ms-bot-agent\": this._botAgent\n };\n }\n }, {\n key: \"getBotAgent\",\n value: function getBotAgent() {\n var customAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var clientAgent = 'directlinejs';\n\n if (customAgent) {\n clientAgent += \"; \".concat(customAgent);\n }\n\n return \"\".concat(DIRECT_LINE_VERSION, \" (\").concat(clientAgent, \" \").concat(\"0.15.5\", \")\");\n }\n }, {\n key: \"setUserId\",\n value: function setUserId(userId) {\n if (this.connectionStatus$.getValue() === ConnectionStatus.Online) {\n throw new Error('DirectLineJS: It is connected, we cannot set user id.');\n }\n\n var userIdFromToken = this.parseToken(this.token);\n\n if (userIdFromToken) {\n return console.warn('DirectLineJS: user id is already set in token, will ignore this user id.');\n }\n\n if (/^dl_/.test(userId)) {\n return console.warn('DirectLineJS: user id prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.');\n }\n\n this.userIdOnStartConversation = userId;\n }\n }, {\n key: \"parseToken\",\n value: function parseToken(token) {\n try {\n var _ref2 = (0, _jwtDecode[\"default\"])(token),\n user = _ref2.user;\n\n return user;\n } catch (e) {\n if (e instanceof _jwtDecode.InvalidTokenError) {\n return undefined;\n }\n }\n }\n }]);\n return DirectLine;\n}();\n\nexports.DirectLine = DirectLine;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJDb25uZWN0aW9uU3RhdHVzIiwid3JhcEFqYXhXaXRoUmV0cnkiLCJzb3VyY2UiLCJzY2hlZHVsZXIiLCJub3RJbXBsZW1lbnRlZCIsIkVycm9yIiwiaW5uZXIiLCJyZXNwb25zZSQiLCJlcnIiLCJzdGF0dXMiLCJyZXRyeUFmdGVyVmFsdWUiLCJ4aHIiLCJnZXRSZXNwb25zZUhlYWRlciIsInJldHJ5QWZ0ZXIiLCJOdW1iZXIiLCJpc05hTiIsIk9ic2VydmFibGUiLCJ0aW1lciIsImZsYXRNYXAiLCJfIiwib3V0ZXIiLCJ1cmxPclJlcXVlc3QiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXQiLCJ1cmwiLCJoZWFkZXJzIiwicG9zdCIsImJvZHkiLCJwdXQiLCJwYXRjaCIsImdldEpTT04iLCJtYWtlU2VydmljZXMiLCJzZXJ2aWNlcyIsIkFzeW5jU2NoZWR1bGVyIiwiYWpheCIsIldlYlNvY2tldCIsInJhbmRvbSIsIk1hdGgiLCJsaWZldGltZVJlZnJlc2hUb2tlbiIsImludGVydmFsUmVmcmVzaFRva2VuIiwiUE9MTElOR19JTlRFUlZBTF9MT1dFUl9CT1VORCIsImVycm9yRXhwaXJlZFRva2VuIiwiZXJyb3JDb252ZXJzYXRpb25FbmRlZCIsImVycm9yRmFpbGVkVG9Db25uZWN0Iiwia29uc29sZSIsImxvZyIsIm1lc3NhZ2UiLCJvcHRpb25hbFBhcmFtcyIsIndpbmRvdyIsImNvbnNvbGUiLCJEaXJlY3RMaW5lIiwib3B0aW9ucyIsIkJlaGF2aW9yU3ViamVjdCIsIlVuaW5pdGlhbGl6ZWQiLCJzZWNyZXQiLCJ0b2tlbiIsIndlYlNvY2tldCIsInVuZGVmaW5lZCIsImNvbnZlcnNhdGlvblN0YXJ0UHJvcGVydGllcyIsImxvY2FsZSIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImxvY2FsZU9uU3RhcnRDb252ZXJzYXRpb24iLCJ3YXJuIiwiZG9tYWluIiwiY29udmVyc2F0aW9uSWQiLCJ3YXRlcm1hcmsiLCJzdHJlYW1VcmwiLCJ0aW1lb3V0IiwicmV0cmllcyIsIl9ib3RBZ2VudCIsImdldEJvdEFnZW50IiwiYm90QWdlbnQiLCJwYXJzZWRQb2xsaW5nSW50ZXJ2YWwiLCJwb2xsaW5nSW50ZXJ2YWwiLCJleHBpcmVkVG9rZW5FeGhhdXN0aW9uIiwic2V0Q29ubmVjdGlvblN0YXR1c0ZhbGxiYWNrIiwiRXhwaXJlZFRva2VuIiwiRmFpbGVkVG9Db25uZWN0IiwiYWN0aXZpdHkkIiwid2ViU29ja2V0QWN0aXZpdHkkIiwicG9sbGluZ0dldEFjdGl2aXR5JCIsInNoYXJlIiwib25jZSIsIm9icyIsImNvbm5lY3Rpb25TdGF0dXMkIiwiY29ubmVjdGlvblN0YXR1cyIsIm5leHQiLCJDb25uZWN0aW5nIiwiT25saW5lIiwib2YiLCJzdGFydENvbnZlcnNhdGlvbiIsImNvbnZlcnNhdGlvbiIsInJlZmVyZW5jZUdyYW1tYXJJZCIsInJlZnJlc2hUb2tlbkxvb3AiLCJlcnJvciIsIm1hcCIsImZpbHRlciIsIkVuZGVkIiwidGFrZSIsImNvbm5lY3Rpb25TdGF0dXNGcm9tIiwiY29ubmVjdGlvblN0YXR1c1RvIiwibWF4QXR0ZW1wdHMiLCJhdHRlbXB0cyIsImN1cnJTdGF0dXMiLCJnZXRWYWx1ZSIsInByb3RlY3RlZENvbm5lY3Rpb25TdGF0dXMiLCJtZXRob2QiLCJ1c2VyIiwiaWQiLCJ1c2VySWRPblN0YXJ0Q29udmVyc2F0aW9uIiwiY29tbW9uSGVhZGVycyIsImFqYXhSZXNwb25zZSIsInJlc3BvbnNlIiwicmV0cnlXaGVuIiwiZXJyb3IkIiwibWVyZ2VNYXAiLCJkZWxheSIsInRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbiIsImludGVydmFsIiwicmVmcmVzaFRva2VuIiwic3Vic2NyaWJlIiwiRGF0ZSIsImNoZWNrQ29ubmVjdGlvbiIsImV4cGlyZWRUb2tlbiIsInVuc3Vic2NyaWJlIiwiZSIsIndpdGhDcmVkZW50aWFscyIsInNlc3Npb25JZCIsImNhdGNoRXhwaXJlZFRva2VuIiwiYWN0aXZpdHkiLCJmcm9tIiwidHlwZSIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwicG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMiLCJjYXRjaFBvc3RFcnJvciIsImF0dGFjaG1lbnROYW1lcyIsIm1lZGlhIiwibmFtZSIsImNsZWFuc2VkQXR0YWNobWVudHMiLCJhdHRhY2htZW50IiwiaW5kZXgiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiQmxvYiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdHJpbmciLCJjb250ZW50VXJsIiwib3RoZXJzIiwicmVzcG9uc2VUeXBlIiwiY29udGVudFR5cGUiLCJjb3VudCIsInBvbGxlciQiLCJjcmVhdGUiLCJzdWJzY3JpYmVyIiwidHJpZ2dlciQiLCJzdGFydFRpbWVzdGFtcCIsIm5vdyIsIkFjY2VwdCIsInJlc3VsdCIsInNldFRpbWVvdXQiLCJtYXgiLCJlbXB0eSIsImFjdGl2aXR5R3JvdXAiLCJvYnNlcnZhYmxlRnJvbUFjdGl2aXR5R3JvdXAiLCJhY3Rpdml0aWVzIiwib2JzZXJ2YWJsZVdlYlNvY2tldCIsImdldFJldHJ5RGVsYXkiLCJyZWNvbm5lY3RUb0NvbnZlcnNhdGlvbiIsImZsb29yIiwid3MiLCJzdWIiLCJjbG9zZWQiLCJvbm9wZW4iLCJvcGVuIiwic2VuZCIsIm9uY2xvc2UiLCJjbG9zZSIsIm9uZXJyb3IiLCJvbm1lc3NhZ2UiLCJkYXRhIiwicGFyc2UiLCJyZWFkeVN0YXRlIiwiY3VzdG9tQWdlbnQiLCJjbGllbnRBZ2VudCIsInVzZXJJZCIsInVzZXJJZEZyb21Ub2tlbiIsInBhcnNlVG9rZW4iLCJ0ZXN0IiwiSW52YWxpZFRva2VuRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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QUNIOzs7V0FFRCxtQkFBVUMsTUFBVixFQUEwQjtBQUN0QixVQUFJLEtBQUt2RyxpQkFBTCxDQUF1Qm9CLFFBQXZCLE9BQXNDM0csZ0JBQWdCLENBQUMyRixNQUEzRCxFQUFtRTtBQUMvRCxjQUFNLElBQUl0RixLQUFKLENBQVUsdURBQVYsQ0FBTjtBQUNIOztBQUVELFVBQU0wTCxlQUFlLEdBQUcsS0FBS0MsVUFBTCxDQUFnQixLQUFLeEksS0FBckIsQ0FBeEI7O0FBQ0EsVUFBSXVJLGVBQUosRUFBcUI7QUFDakIsZUFBTzdJLE9BQU8sQ0FBQ2UsSUFBUixDQUFhLDBFQUFiLENBQVA7QUFDSDs7QUFFRCxVQUFJLE9BQVFnSSxJQUFSLENBQWFILE1BQWIsQ0FBSixFQUEwQjtBQUN0QixlQUFPNUksT0FBTyxDQUFDZSxJQUFSLENBQWEsMkhBQWIsQ0FBUDtBQUNIOztBQUVELFdBQUsrQyx5QkFBTCxHQUFpQzhFLE1BQWpDO0FBQ0g7OztXQUVELG9CQUFtQnRJLEtBQW5CLEVBQWtDO0FBQzlCLFVBQUk7QUFDQSxvQkFBaUIsMkJBQXNCQSxLQUF0QixDQUFqQjtBQUFBLFlBQVFzRCxJQUFSLFNBQVFBLElBQVI7O0FBQ0EsZUFBT0EsSUFBUDtBQUNILE9BSEQsQ0FHRSxPQUFPa0IsQ0FBUCxFQUFVO0FBQ1IsWUFBSUEsQ0FBQyxZQUFZa0UsNEJBQWpCLEVBQW9DO0FBQ2hDLGlCQUFPeEksU0FBUDtBQUNIO0FBQ0o7QUFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEluIG9yZGVyIHRvIGtlZXAgZmlsZSBzaXplIGRvd24sIG9ubHkgaW1wb3J0IHRoZSBwYXJ0cyBvZiByeGpzIHRoYXQgd2UgdXNlXG5cbmltcG9ydCAnY29yZS1qcy9mZWF0dXJlcy9wcm9taXNlJztcbmltcG9ydCAndXJsLXNlYXJjaC1wYXJhbXMtcG9seWZpbGwnO1xuaW1wb3J0IHsgQWpheFJlc3BvbnNlLCBBamF4Q3JlYXRpb25NZXRob2QsIEFqYXhSZXF1ZXN0LCBBamF4RXJyb3IgfSBmcm9tICdyeGpzL29ic2VydmFibGUvZG9tL0FqYXhPYnNlcnZhYmxlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHsgSVNjaGVkdWxlciB9IGZyb20gJ3J4anMvU2NoZWR1bGVyJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgYXN5bmMgYXMgQXN5bmNTY2hlZHVsZXIgfSBmcm9tICdyeGpzL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgand0RGVjb2RlLCB7IEp3dFBheWxvYWQsIEludmFsaWRUb2tlbkVycm9yIH0gZnJvbSAnand0LWRlY29kZSc7XG5cbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY2F0Y2gnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9jb21iaW5lTGF0ZXN0JztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY291bnQnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9kZWxheSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL2RvJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWVyZ2VNYXAnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9jb25jYXRNYXAnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9yZXRyeVdoZW4nO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9zaGFyZSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rha2UnO1xuXG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZG9tL2FqYXgnO1xuaW1wb3J0ICdyeGpzL2FkZC9vYnNlcnZhYmxlL2VtcHR5JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS9mcm9tJztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS9pbnRlcnZhbCc7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvb2YnO1xuaW1wb3J0ICdyeGpzL2FkZC9vYnNlcnZhYmxlL3Rocm93JztcblxuaW1wb3J0IGRlZHVwZUZpbGVuYW1lcyBmcm9tICcuL2RlZHVwZUZpbGVuYW1lcyc7XG5pbXBvcnQgeyBvYmplY3RFeHByZXNzaW9uIH0gZnJvbSAnQGJhYmVsL3R5cGVzJztcblxuaW1wb3J0IHsgRGlyZWN0TGluZVN0cmVhbWluZyB9IGZyb20gJy4vZGlyZWN0TGluZVN0cmVhbWluZyc7XG5leHBvcnQgeyBEaXJlY3RMaW5lU3RyZWFtaW5nIH07XG5cbmNvbnN0IERJUkVDVF9MSU5FX1ZFUlNJT04gPSAnRGlyZWN0TGluZS8zLjAnO1xuXG5kZWNsYXJlIHZhciBwcm9jZXNzOiB7XG4gICAgYXJjaDogc3RyaW5nO1xuICAgIGVudjoge1xuICAgICAgICBWRVJTSU9OOiBzdHJpbmc7XG4gICAgICAgIG5wbV9wYWNrYWdlX3ZlcnNpb246IHN0cmluZztcbiAgICB9O1xuICAgIHBsYXRmb3JtOiBzdHJpbmc7XG4gICAgcmVsZWFzZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbn07XG5cbi8vIERpcmVjdCBMaW5lIDMuMCB0eXBlc1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gICAgY29udmVyc2F0aW9uSWQ6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIGVUYWc/OiBzdHJpbmcsXG4gICAgc3RyZWFtVXJsPzogc3RyaW5nLFxuICAgIHJlZmVyZW5jZUdyYW1tYXJJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBNZWRpYVR5cGUgPSBcImltYWdlL3BuZ1wiIHwgXCJpbWFnZS9qcGdcIiB8IFwiaW1hZ2UvanBlZ1wiIHwgXCJpbWFnZS9naWZcIiB8IFwiaW1hZ2Uvc3ZnK3htbFwiIHwgXCJhdWRpby9tcGVnXCIgfCBcImF1ZGlvL21wNFwiIHwgXCJ2aWRlby9tcDRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYSB7XG4gICAgY29udGVudFR5cGU6IE1lZGlhVHlwZSxcbiAgICBjb250ZW50VXJsOiBzdHJpbmcsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICB0aHVtYm5haWxVcmw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmtub3duTWVkaWF7XG4gICAgY29udGVudFR5cGU6IHN0cmluZyxcbiAgICBjb250ZW50VXJsOiBzdHJpbmcsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICB0aHVtYm5haWxVcmw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2FyZEFjdGlvblR5cGVzID0gXCJjYWxsXCIgfCBcImRvd25sb2FkRmlsZVwifCBcImltQmFja1wiIHwgXCJtZXNzYWdlQmFja1wiIHwgXCJvcGVuVXJsXCIgfCBcInBsYXlBdWRpb1wiIHwgXCJwbGF5VmlkZW9cIiB8IFwicG9zdEJhY2tcIiB8IFwic2lnbmluXCIgfCBcInNob3dJbWFnZVwiO1xuXG5leHBvcnQgdHlwZSBDYXJkQWN0aW9uID0gQ2FsbENhcmRBY3Rpb24gfCBEb3dubG9hZEZpbGVDYXJkQWN0aW9uIHwgSU1CYWNrQ2FyZEFjdGlvbiB8IE1lc3NhZ2VCYWNrQ2FyZEFjdGlvbiB8IE9wZW5VUkxDYXJkQWN0aW9uIHwgUGxheUF1ZGlvQ2FyZEFjdGlvbiB8IFBsYXlWaWRlb0NhcmRBY3Rpb24gfCBQb3N0QmFja0NhcmRBY3Rpb24gfCBTaWduSW5DYXJkQWN0aW9uIHwgU2hvd0ltYWdlQ2FyZEFjdGlvbjtcblxuZXhwb3J0IGludGVyZmFjZSBDYWxsQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcImNhbGxcIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcImRvd25sb2FkRmlsZVwiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTUJhY2tDYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZT86IHN0cmluZyxcbiAgICB0eXBlOiBcImltQmFja1wiLFxuICAgIHZhbHVlOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZUJhY2tDYXJkQWN0aW9uID0gTWVzc2FnZUJhY2tXaXRoSW1hZ2UgfCBNZXNzYWdlQmFja1dpdGhUaXRsZVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCYWNrV2l0aEltYWdlIHtcbiAgICBkaXNwbGF5VGV4dD86IHN0cmluZyxcbiAgICBpbWFnZTogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgdHlwZTogXCJtZXNzYWdlQmFja1wiLFxuICAgIHZhbHVlPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUJhY2tXaXRoVGl0bGUge1xuICAgIGRpc3BsYXlUZXh0Pzogc3RyaW5nLFxuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcIm1lc3NhZ2VCYWNrXCIsXG4gICAgdmFsdWU/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVuVVJMQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcIm9wZW5VcmxcIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheUF1ZGlvQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcInBsYXlBdWRpb1wiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5VmlkZW9DYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHR5cGU6IFwicGxheVZpZGVvXCIsXG4gICAgdmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RCYWNrQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgdHlwZTogXCJwb3N0QmFja1wiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG93SW1hZ2VDYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHR5cGU6IFwic2hvd0ltYWdlXCIsXG4gICAgdmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbkNhcmRBY3Rpb24ge1xuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgdHlwZTogXCJzaWduaW5cIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZEltYWdlIHtcbiAgICBhbHQ/OiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdGFwPzogQ2FyZEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuaGVyb1wiLFxuICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHN1YnRpdGxlPzogc3RyaW5nLFxuICAgICAgICB0ZXh0Pzogc3RyaW5nLFxuICAgICAgICBpbWFnZXM/OiBDYXJkSW1hZ2VbXSxcbiAgICAgICAgYnV0dG9ucz86IENhcmRBY3Rpb25bXSxcbiAgICAgICAgdGFwPzogQ2FyZEFjdGlvblxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHVtYm5haWwge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC50aHVtYm5haWxcIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZyxcbiAgICAgICAgdGV4dD86IHN0cmluZyxcbiAgICAgICAgaW1hZ2VzPzogQ2FyZEltYWdlW10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIHRhcD86IENhcmRBY3Rpb25cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuc2lnbmluXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0ZXh0Pzogc3RyaW5nLFxuICAgICAgICBidXR0b25zPzogQ2FyZEFjdGlvbltdXG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQub2F1dGhcIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIGNvbm5lY3Rpb25uYW1lOiBzdHJpbmcsXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW11cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWlwdEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nLFxuICAgIHN1YnRpdGxlPzogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgaW1hZ2U/OiBDYXJkSW1hZ2UsXG4gICAgcHJpY2U/OiBzdHJpbmcsXG4gICAgcXVhbnRpdHk/OiBzdHJpbmcsXG4gICAgdGFwPzogQ2FyZEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpcHQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5yZWNlaXB0XCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgZmFjdHM/OiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXSxcbiAgICAgICAgaXRlbXM/OiBSZWNlaXB0SXRlbVtdLFxuICAgICAgICB0YXA/OiBDYXJkQWN0aW9uLFxuICAgICAgICB0YXg/OiBzdHJpbmcsXG4gICAgICAgIHZhdD86IHN0cmluZyxcbiAgICAgICAgdG90YWw/OiBzdHJpbmcsXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW11cbiAgICB9XG59XG5cbi8vIERlcHJlY2F0ZWQgZm9ybWF0IGZvciBTa3lwZSBjaGFubmVscy4gRm9yIHRlc3RpbmcgbGVnYWN5IGJvdHMgaW4gRW11bGF0b3Igb25seS5cbmV4cG9ydCBpbnRlcmZhY2UgRmxleENhcmQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5mbGV4XCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIGltYWdlcz86IENhcmRJbWFnZVtdLFxuICAgICAgICBidXR0b25zPzogQ2FyZEFjdGlvbltdLFxuICAgICAgICBhc3BlY3Q/OiBzdHJpbmdcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXVkaW9DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuYXVkaW9cIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZyxcbiAgICAgICAgdGV4dD86IHN0cmluZyxcbiAgICAgICAgbWVkaWE/OiB7IHVybDogc3RyaW5nLCBwcm9maWxlPzogc3RyaW5nIH1bXSxcbiAgICAgICAgYnV0dG9ucz86IENhcmRBY3Rpb25bXSxcbiAgICAgICAgYXV0b2xvb3A/OiBib29sZWFuLFxuICAgICAgICBhdXRvc3RhcnQ/OiBib29sZWFuXG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvQ2FyZCB7XG4gICAgY29udGVudFR5cGU6IFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5jYXJkLnZpZGVvXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIG1lZGlhPzogeyB1cmw6IHN0cmluZywgcHJvZmlsZT86IHN0cmluZyB9W10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIGltYWdlPzogeyB1cmw6IHN0cmluZywgYWx0Pzogc3RyaW5nIH0sXG4gICAgICAgIGF1dG9sb29wPzogYm9vbGVhbixcbiAgICAgICAgYXV0b3N0YXJ0PzogYm9vbGVhblxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUNhcmQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5hZGFwdGl2ZVwiLFxuICAgIGNvbnRlbnQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuYW5pbWF0aW9uXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIG1lZGlhPzogeyB1cmw6IHN0cmluZywgcHJvZmlsZT86IHN0cmluZyB9W10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIGltYWdlPzogeyB1cmw6IHN0cmluZywgYWx0Pzogc3RyaW5nIH0sXG4gICAgICAgIGF1dG9sb29wPzogYm9vbGVhbixcbiAgICAgICAgYXV0b3N0YXJ0PzogYm9vbGVhblxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgS25vd25NZWRpYSA9IE1lZGlhIHwgSGVyb0NhcmQgfCBUaHVtYm5haWwgfCBTaWduaW4gfCBPQXV0aCB8IFJlY2VpcHQgfCBBdWRpb0NhcmQgfCBWaWRlb0NhcmQgfCBBbmltYXRpb25DYXJkIHwgRmxleENhcmQgfCBBZGFwdGl2ZUNhcmQ7XG5leHBvcnQgdHlwZSBBdHRhY2htZW50ID0gS25vd25NZWRpYSB8IFVua25vd25NZWRpYTtcblxuZXhwb3J0IHR5cGUgVXNlclJvbGUgPSBcImJvdFwiIHwgXCJjaGFubmVsXCIgfCBcInVzZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgaWNvblVybD86IHN0cmluZyxcbiAgICByb2xlPzogVXNlclJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWN0aXZpdHkge1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjaGFubmVsRGF0YT86IGFueSxcbiAgICBjaGFubmVsSWQ/OiBzdHJpbmcsXG4gICAgY29udmVyc2F0aW9uPzogeyBpZDogc3RyaW5nIH0sXG4gICAgZVRhZz86IHN0cmluZyxcbiAgICBmcm9tOiBVc2VyLFxuICAgIGlkPzogc3RyaW5nLFxuICAgIHRpbWVzdGFtcD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50TGF5b3V0ID0gXCJsaXN0XCIgfCBcImNhcm91c2VsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSBleHRlbmRzIElBY3Rpdml0eSB7XG4gICAgdHlwZTogXCJtZXNzYWdlXCIsXG4gICAgdGV4dD86IHN0cmluZyxcbiAgICBsb2NhbGU/OiBzdHJpbmcsXG4gICAgdGV4dEZvcm1hdD86IFwicGxhaW5cIiB8IFwibWFya2Rvd25cIiB8IFwieG1sXCIsXG4gICAgYXR0YWNobWVudExheW91dD86IEF0dGFjaG1lbnRMYXlvdXQsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50W10sXG4gICAgZW50aXRpZXM/OiBhbnlbXSxcbiAgICBzdWdnZXN0ZWRBY3Rpb25zPzogeyBhY3Rpb25zOiBDYXJkQWN0aW9uW10sIHRvPzogc3RyaW5nW10gfSxcbiAgICBzcGVhaz86IHN0cmluZyxcbiAgICBpbnB1dEhpbnQ/OiBzdHJpbmcsXG4gICAgdmFsdWU/OiBvYmplY3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBpbmcgZXh0ZW5kcyBJQWN0aXZpdHkge1xuICAgIHR5cGU6IFwidHlwaW5nXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEFjdGl2aXR5IGV4dGVuZHMgSUFjdGl2aXR5IHtcbiAgICB0eXBlOiBcImV2ZW50XCIsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IHR5cGUgQWN0aXZpdHkgPSBNZXNzYWdlIHwgVHlwaW5nIHwgRXZlbnRBY3Rpdml0eTtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUdyb3VwIHtcbiAgICBhY3Rpdml0aWVzOiBBY3Rpdml0eVtdLFxuICAgIHdhdGVybWFyazogc3RyaW5nXG59XG5cbi8vIFRoZXNlIHR5cGVzIGFyZSBzcGVjaWZpYyB0byB0aGlzIGNsaWVudCBsaWJyYXJ5LCBub3QgdG8gRGlyZWN0IExpbmUgMy4wXG5cbmV4cG9ydCBlbnVtIENvbm5lY3Rpb25TdGF0dXMge1xuICAgIFVuaW5pdGlhbGl6ZWQsICAgICAgICAgICAgICAvLyB0aGUgc3RhdHVzIHdoZW4gdGhlIERpcmVjdExpbmUgb2JqZWN0IGlzIGZpcnN0IGNyZWF0ZWQvY29uc3RydWN0ZWRcbiAgICBDb25uZWN0aW5nLCAgICAgICAgICAgICAgICAgLy8gY3VycmVudGx5IHRyeWluZyB0byBjb25uZWN0IHRvIHRoZSBjb252ZXJzYXRpb25cbiAgICBPbmxpbmUsICAgICAgICAgICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byB0aGUgY29udmVyc2F0aW9uLiBDb25uZWN0aW9uIGlzIGhlYWx0aHkgc28gZmFyIGFzIHdlIGtub3cuXG4gICAgRXhwaXJlZFRva2VuLCAgICAgICAgICAgICAgIC8vIGxhc3Qgb3BlcmF0aW9uIGVycm9yZWQgb3V0IHdpdGggYW4gZXhwaXJlZCB0b2tlbi4gUG9zc2libHkgd2FpdGluZyBmb3Igc29tZW9uZSB0byBzdXBwbHkgYSBuZXcgb25lLlxuICAgIEZhaWxlZFRvQ29ubmVjdCwgICAgICAgICAgICAvLyB0aGUgaW5pdGlhbCBhdHRlbXB0IHRvIGNvbm5lY3QgdG8gdGhlIGNvbnZlcnNhdGlvbiBmYWlsZWQuIE5vIHJlY292ZXJ5IHBvc3NpYmxlLlxuICAgIEVuZGVkICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgYm90IGVuZGVkIHRoZSBjb252ZXJzYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RMaW5lT3B0aW9ucyB7XG4gICAgc2VjcmV0Pzogc3RyaW5nLFxuICAgIHRva2VuPzogc3RyaW5nLFxuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nLFxuICAgIHdhdGVybWFyaz86IHN0cmluZyxcbiAgICBkb21haW4/OiBzdHJpbmcsXG4gICAgd2ViU29ja2V0PzogYm9vbGVhbixcbiAgICBwb2xsaW5nSW50ZXJ2YWw/OiBudW1iZXIsXG4gICAgc3RyZWFtVXJsPzogc3RyaW5nLFxuICAgIHRpbWVvdXQ/OiBudW1iZXIsXG4gICAgLy8gQXR0YWNoZWQgdG8gYWxsIHJlcXVlc3RzIHRvIGlkZW50aWZ5IHJlcXVlc3RpbmcgYWdlbnQuXG4gICAgYm90QWdlbnQ/OiBzdHJpbmcsXG4gICAgY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZXMge1xuICAgIHNjaGVkdWxlcjogSVNjaGVkdWxlcjtcbiAgICBXZWJTb2NrZXQ6IHR5cGVvZiBXZWJTb2NrZXQ7XG4gICAgYWpheDogQWpheENyZWF0aW9uTWV0aG9kO1xuICAgIHJhbmRvbTogKCkgPT4gbnVtYmVyO1xufVxuXG5jb25zdCB3cmFwQWpheFdpdGhSZXRyeSA9IChzb3VyY2U6IEFqYXhDcmVhdGlvbk1ldGhvZCwgc2NoZWR1bGVyOiBJU2NoZWR1bGVyKTogQWpheENyZWF0aW9uTWV0aG9kID0+e1xuXG4gICAgY29uc3Qgbm90SW1wbGVtZW50ZWQgPSAoKTogbmV2ZXIgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpOyB9O1xuXG4gICAgY29uc3QgaW5uZXIgPSAocmVzcG9uc2UkIDogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZSRcbiAgICAgICAgLmNhdGNoPEFqYXhSZXNwb25zZSwgQWpheFJlc3BvbnNlPigoZXJyKSA9PiB7XG4gICAgICAgICAgICBpZihlcnIuc3RhdHVzID09PSA0Mjkpe1xuICAgICAgICAgICAgICAgIGNvbnN0IHJldHJ5QWZ0ZXJWYWx1ZSA9IGVyci54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ1JldHJ5LUFmdGVyJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmV0cnlBZnRlciA9IE51bWJlcihyZXRyeUFmdGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmKCFpc05hTihyZXRyeUFmdGVyKSl7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLnRpbWVyKHJldHJ5QWZ0ZXIsIHNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICAgICAgLmZsYXRNYXAoXyA9PiBPYnNlcnZhYmxlLnRocm93KGVyciwgc2NoZWR1bGVyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnIsIHNjaGVkdWxlcik7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvdXRlciA9ICh1cmxPclJlcXVlc3Q6IHN0cmluZ3wgQWpheFJlcXVlc3QpID0+IHtcbiAgICAgICAgcmV0dXJuIGlubmVyKHNvdXJjZSh1cmxPclJlcXVlc3QpKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ob3V0ZXIsIHtcbiAgICAgICAgZ2V0OiAodXJsOiBzdHJpbmcsIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgcG9zdDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgICAgIHB1dDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgICAgIHBhdGNoOiAodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgZGVsZXRlOiAodXJsOiBzdHJpbmcsIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgZ2V0SlNPTjogPFQ+KHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxUPiA9PiBub3RJbXBsZW1lbnRlZCgpXG4gICAgfSk7XG59XG5cbmNvbnN0IG1ha2VTZXJ2aWNlcyA9IChzZXJ2aWNlczogUGFydGlhbDxTZXJ2aWNlcz4pOiBTZXJ2aWNlcyA9PiB7XG4gICAgY29uc3Qgc2NoZWR1bGVyID0gc2VydmljZXMuc2NoZWR1bGVyIHx8IEFzeW5jU2NoZWR1bGVyO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjaGVkdWxlcixcbiAgICAgICAgYWpheDogd3JhcEFqYXhXaXRoUmV0cnkoc2VydmljZXMuYWpheCB8fCBPYnNlcnZhYmxlLmFqYXgsIHNjaGVkdWxlciksXG4gICAgICAgIFdlYlNvY2tldDogc2VydmljZXMuV2ViU29ja2V0IHx8IFdlYlNvY2tldCxcbiAgICAgICAgcmFuZG9tOiBzZXJ2aWNlcy5yYW5kb20gfHwgTWF0aC5yYW5kb20sXG4gICAgfVxufVxuXG5jb25zdCBsaWZldGltZVJlZnJlc2hUb2tlbiA9IDMwICogNjAgKiAxMDAwO1xuY29uc3QgaW50ZXJ2YWxSZWZyZXNoVG9rZW4gPSBsaWZldGltZVJlZnJlc2hUb2tlbiAvIDI7XG5cbmNvbnN0IFBPTExJTkdfSU5URVJWQUxfTE9XRVJfQk9VTkQ6IG51bWJlciA9IDIwMDsgLy9tc1xuXG5jb25zdCBlcnJvckV4cGlyZWRUb2tlbiA9IG5ldyBFcnJvcihcImV4cGlyZWQgdG9rZW5cIik7XG5jb25zdCBlcnJvckNvbnZlcnNhdGlvbkVuZGVkID0gbmV3IEVycm9yKFwiY29udmVyc2F0aW9uIGVuZGVkXCIpO1xuY29uc3QgZXJyb3JGYWlsZWRUb0Nvbm5lY3QgPSBuZXcgRXJyb3IoXCJmYWlsZWQgdG8gY29ubmVjdFwiKTtcblxuY29uc3Qga29uc29sZSA9IHtcbiAgICBsb2c6IChtZXNzYWdlPzogYW55LCAuLi4gb3B0aW9uYWxQYXJhbXM6IGFueVtdKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAod2luZG93IGFzIGFueSlbXCJib3RjaGF0RGVidWdcIl0gJiYgbWVzc2FnZSlcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIC4uLiBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb3RDb25uZWN0aW9uIHtcbiAgICBjb25uZWN0aW9uU3RhdHVzJDogQmVoYXZpb3JTdWJqZWN0PENvbm5lY3Rpb25TdGF0dXM+LFxuICAgIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT4sXG4gICAgZW5kKCk6IHZvaWQsXG4gICAgcmVmZXJlbmNlR3JhbW1hcklkPzogc3RyaW5nLFxuICAgIHBvc3RBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgZ2V0U2Vzc2lvbklkPyA6ICgpID0+IE9ic2VydmFibGU8c3RyaW5nPlxufVxuXG5leHBvcnQgY2xhc3MgRGlyZWN0TGluZSBpbXBsZW1lbnRzIElCb3RDb25uZWN0aW9uIHtcbiAgICBwdWJsaWMgY29ubmVjdGlvblN0YXR1cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KENvbm5lY3Rpb25TdGF0dXMuVW5pbml0aWFsaXplZCk7XG4gICAgcHVibGljIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT47XG5cbiAgICBwcml2YXRlIGRvbWFpbiA9IFwiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vdjMvZGlyZWN0bGluZVwiO1xuICAgIHByaXZhdGUgd2ViU29ja2V0OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHByaXZhdGUgZXhwaXJlZFRva2VuRXhoYXVzdGlvbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBzZWNyZXQ6IHN0cmluZztcbiAgICBwcml2YXRlIHRva2VuOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB3YXRlcm1hcmsgPSAnJztcbiAgICBwcml2YXRlIHN0cmVhbVVybDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JvdEFnZW50ID0gJyc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlczogU2VydmljZXM7XG4gICAgcHJpdmF0ZSBfdXNlckFnZW50OiBzdHJpbmc7XG4gICAgcHVibGljIHJlZmVyZW5jZUdyYW1tYXJJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgdGltZW91dCA9IDIwICogMTAwMDtcbiAgICBwcml2YXRlIHJldHJpZXM6IG51bWJlcjtcblxuICAgIHByaXZhdGUgbG9jYWxlT25TdGFydENvbnZlcnNhdGlvbjogc3RyaW5nO1xuICAgIHByaXZhdGUgdXNlcklkT25TdGFydENvbnZlcnNhdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBwb2xsaW5nSW50ZXJ2YWw6IG51bWJlciA9IDEwMDA7IC8vbXNcblxuICAgIHByaXZhdGUgdG9rZW5SZWZyZXNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEaXJlY3RMaW5lT3B0aW9ucyAmIFBhcnRpYWw8U2VydmljZXM+KSB7XG4gICAgICAgIHRoaXMuc2VjcmV0ID0gb3B0aW9ucy5zZWNyZXQ7XG4gICAgICAgIHRoaXMudG9rZW4gPSBvcHRpb25zLnNlY3JldCB8fCBvcHRpb25zLnRva2VuO1xuICAgICAgICB0aGlzLndlYlNvY2tldCA9IChvcHRpb25zLndlYlNvY2tldCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMud2ViU29ja2V0KSAmJiB0eXBlb2YgV2ViU29ja2V0ICE9PSAndW5kZWZpbmVkJyAmJiBXZWJTb2NrZXQgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAob3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMgJiYgb3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMubG9jYWxlKSB7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9wdGlvbnMuY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzLmxvY2FsZSkgPT09ICdbb2JqZWN0IFN0cmluZ10nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGVPblN0YXJ0Q29udmVyc2F0aW9uID0gb3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMubG9jYWxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0RpcmVjdExpbmVKUzogY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzLmxvY2FsZSB3YXMgaWdub3JlZDogdGhlIGxvY2FsZSBuYW1lIG1heSBiZSBhIEJDUCA0NyBsYW5ndWFnZSB0YWcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmRvbWFpbikge1xuICAgICAgICAgICAgdGhpcy5kb21haW4gPSBvcHRpb25zLmRvbWFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmNvbnZlcnNhdGlvbklkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gb3B0aW9ucy5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLndhdGVybWFyaykge1xuICAgICAgICAgICAgdGhpcy53YXRlcm1hcmsgPSAgb3B0aW9ucy53YXRlcm1hcms7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5zdHJlYW1VcmwpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRva2VuICYmIG9wdGlvbnMuY29udmVyc2F0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0cmVhbVVybCA9IG9wdGlvbnMuc3RyZWFtVXJsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0RpcmVjdExpbmVKUzogc3RyZWFtVXJsIHdhcyBpZ25vcmVkOiB5b3UgbmVlZCB0byBwcm92aWRlIGEgdG9rZW4gYW5kIGEgY29udmVyc2F0aW9uaWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLnRpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gb3B0aW9ucy50aW1lb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXRyaWVzID0gKGxpZmV0aW1lUmVmcmVzaFRva2VuIC0gaW50ZXJ2YWxSZWZyZXNoVG9rZW4pIC8gdGhpcy50aW1lb3V0O1xuXG4gICAgICAgIHRoaXMuX2JvdEFnZW50ID0gdGhpcy5nZXRCb3RBZ2VudChvcHRpb25zLmJvdEFnZW50KTtcblxuICAgICAgICB0aGlzLnNlcnZpY2VzID0gbWFrZVNlcnZpY2VzKG9wdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZFBvbGxpbmdJbnRlcnZhbCA9IH5+b3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWw7XG5cbiAgICAgICAgaWYgKHBhcnNlZFBvbGxpbmdJbnRlcnZhbCA8IFBPTExJTkdfSU5URVJWQUxfTE9XRVJfQk9VTkQpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBEaXJlY3RMaW5lSlM6IHByb3ZpZGVkIHBvbGxpbmdJbnRlcnZhbCAoJHsgb3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWwgfSkgaXMgdW5kZXIgbG93ZXIgYm91bmQgKDIwMG1zKSwgdXNpbmcgZGVmYXVsdCBvZiAxMDAwbXNgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9sbGluZ0ludGVydmFsID0gcGFyc2VkUG9sbGluZ0ludGVydmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBpcmVkVG9rZW5FeGhhdXN0aW9uID0gdGhpcy5zZXRDb25uZWN0aW9uU3RhdHVzRmFsbGJhY2soXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbixcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0LFxuICAgICAgICAgICAgNVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYWN0aXZpdHkkID0gKHRoaXMud2ViU29ja2V0XG4gICAgICAgICAgICA/IHRoaXMud2ViU29ja2V0QWN0aXZpdHkkKClcbiAgICAgICAgICAgIDogdGhpcy5wb2xsaW5nR2V0QWN0aXZpdHkkKClcbiAgICAgICAgKS5zaGFyZSgpO1xuICAgIH1cblxuICAgIC8vIEV2ZXJ5IHRpbWUgd2UncmUgYWJvdXQgdG8gbWFrZSBhIERpcmVjdCBMaW5lIFJFU1QgY2FsbCwgd2UgY2FsbCB0aGlzIGZpcnN0IHRvIHNlZSBjaGVjayB0aGUgY3VycmVudCBjb25uZWN0aW9uIHN0YXR1cy5cbiAgICAvLyBFaXRoZXIgdGhyb3dzIGFuIGVycm9yIChpbmRpY2F0aW5nIGFuIGVycm9yIHN0YXRlKSBvciBlbWl0cyBhIG51bGwsIGluZGljYXRpbmcgYSAocHJlc3VtYWJseSkgaGVhbHRoeSBjb25uZWN0aW9uXG4gICAgcHJpdmF0ZSBjaGVja0Nvbm5lY3Rpb24ob25jZSA9IGZhbHNlKSB7XG4gICAgICAgIGxldCBvYnMgPSAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJFxuICAgICAgICAuZmxhdE1hcChjb25uZWN0aW9uU3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLlVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nKTtcblxuICAgICAgICAgICAgICAgIC8vaWYgdG9rZW4gYW5kIHN0cmVhbVVybCBhcmUgZGVmaW5lZCBpdCBtZWFucyByZWNvbm5lY3QgaGFzIGFscmVhZHkgYmVlbiBkb25lLiBTa2lwcGluZyBpdC5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50b2tlbiAmJiB0aGlzLnN0cmVhbVVybCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZihjb25uZWN0aW9uU3RhdHVzLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRDb252ZXJzYXRpb24oKS5kbyhjb252ZXJzYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzYXRpb25JZCA9IGNvbnZlcnNhdGlvbi5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW4gPSB0aGlzLnNlY3JldCB8fCBjb252ZXJzYXRpb24udG9rZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0cmVhbVVybCA9IGNvbnZlcnNhdGlvbi5zdHJlYW1Vcmw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZUdyYW1tYXJJZCA9IGNvbnZlcnNhdGlvbi5yZWZlcmVuY2VHcmFtbWFySWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VjcmV0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuTG9vcCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5GYWlsZWRUb0Nvbm5lY3QpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAubWFwKF8gPT4gY29ubmVjdGlvblN0YXR1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKGNvbm5lY3Rpb25TdGF0dXMgPT4gY29ubmVjdGlvblN0YXR1cyAhPSBDb25uZWN0aW9uU3RhdHVzLlVuaW5pdGlhbGl6ZWQgJiYgY29ubmVjdGlvblN0YXR1cyAhPSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpXG4gICAgICAgIC5mbGF0TWFwKGNvbm5lY3Rpb25TdGF0dXMgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChjb25uZWN0aW9uU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvckNvbnZlcnNhdGlvbkVuZGVkLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG5cbiAgICAgICAgICAgICAgICBjYXNlIENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvckZhaWxlZFRvQ29ubmVjdCwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBvbmNlID8gb2JzLnRha2UoMSkgOiBvYnM7XG4gICAgfVxuXG4gICAgc2V0Q29ubmVjdGlvblN0YXR1c0ZhbGxiYWNrKFxuICAgICAgICBjb25uZWN0aW9uU3RhdHVzRnJvbTogQ29ubmVjdGlvblN0YXR1cyxcbiAgICAgICAgY29ubmVjdGlvblN0YXR1c1RvOiBDb25uZWN0aW9uU3RhdHVzLFxuICAgICAgICBtYXhBdHRlbXB0cyA9IDVcbiAgICApIHtcbiAgICAgICAgbWF4QXR0ZW1wdHMtLTtcbiAgICAgICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICAgICAgbGV0IGN1cnJTdGF0dXMgPSBudWxsO1xuICAgICAgICByZXR1cm4gKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyk6IENvbm5lY3Rpb25TdGF0dXMgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gY29ubmVjdGlvblN0YXR1c0Zyb20gJiYgY3VyclN0YXR1cyA9PT0gc3RhdHVzICYmIGF0dGVtcHRzID49IG1heEF0dGVtcHRzKSB7XG4gICAgICAgICAgICAgICAgYXR0ZW1wdHMgPSAwXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb25TdGF0dXNUbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF0dGVtcHRzKys7XG4gICAgICAgICAgICBjdXJyU3RhdHVzID0gc3RhdHVzO1xuICAgICAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGlyZWRUb2tlbigpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblN0YXR1cyA9IHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGNvbm5lY3Rpb25TdGF0dXMgIT0gQ29ubmVjdGlvblN0YXR1cy5FbmRlZCAmJiBjb25uZWN0aW9uU3RhdHVzICE9IENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0KVxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRXhwaXJlZFRva2VuKTtcblxuICAgICAgICBjb25zdCBwcm90ZWN0ZWRDb25uZWN0aW9uU3RhdHVzID0gdGhpcy5leHBpcmVkVG9rZW5FeGhhdXN0aW9uKHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChwcm90ZWN0ZWRDb25uZWN0aW9uU3RhdHVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0Q29udmVyc2F0aW9uKCkge1xuICAgICAgICAvL2lmIGNvbnZlcnNhdGlvbmlkIGlzIHNldCBoZXJlLCBpdCBtZWFucyB3ZSBuZWVkIHRvIGNhbGwgdGhlIHJlY29ubmVjdCBhcGksIGVsc2UgaXQgaXMgYSBuZXcgY29udmVyc2F0aW9uXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29udmVyc2F0aW9uSWRcbiAgICAgICAgICAgID8gYCR7dGhpcy5kb21haW59L2NvbnZlcnNhdGlvbnMvJHt0aGlzLmNvbnZlcnNhdGlvbklkfT93YXRlcm1hcms9JHt0aGlzLndhdGVybWFya31gXG4gICAgICAgICAgICA6IGAke3RoaXMuZG9tYWlufS9jb252ZXJzYXRpb25zYDtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gdGhpcy5jb252ZXJzYXRpb25JZCA/IFwiR0VUXCIgOiBcIlBPU1RcIjtcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuY29udmVyc2F0aW9uSWRcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLnVzZXJJZE9uU3RhcnRDb252ZXJzYXRpb25cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGVPblN0YXJ0Q29udmVyc2F0aW9uXG4gICAgICAgICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VzLmFqYXgoe1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAuLi50aGlzLmNvbW1vbkhlYWRlcnMoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuLy8gICAgICAuZG8oYWpheFJlc3BvbnNlID0+IGtvbnNvbGUubG9nKFwiY29udmVyc2F0aW9uIGFqYXhSZXNwb25zZVwiLCBhamF4UmVzcG9uc2UucmVzcG9uc2UpKVxuICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UgYXMgQ29udmVyc2F0aW9uKVxuICAgICAgICAucmV0cnlXaGVuKGVycm9yJCA9PlxuICAgICAgICAgICAgLy8gZm9yIG5vdyB3ZSBkZWVtIDR4eCBhbmQgNXh4IGVycm9ycyBhcyB1bnJlY292ZXJhYmxlXG4gICAgICAgICAgICAvLyBmb3IgZXZlcnl0aGluZyBlbHNlICh0aW1lb3V0cyksIHJldHJ5IGZvciBhIHdoaWxlXG4gICAgICAgICAgICBlcnJvciQubWVyZ2VNYXAoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yLnN0YXR1cyA+PSA0MDAgJiYgZXJyb3Iuc3RhdHVzIDwgNjAwXG4gICAgICAgICAgICAgICAgPyBPYnNlcnZhYmxlLnRocm93KGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICA6IE9ic2VydmFibGUub2YoZXJyb3IsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZWxheSh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgLnRha2UodGhpcy5yZXRyaWVzKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoVG9rZW5Mb29wKCkge1xuICAgICAgICB0aGlzLnRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbiA9IE9ic2VydmFibGUuaW50ZXJ2YWwoaW50ZXJ2YWxSZWZyZXNoVG9rZW4sIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAuZmxhdE1hcChfID0+IHRoaXMucmVmcmVzaFRva2VuKCkpXG4gICAgICAgIC5zdWJzY3JpYmUodG9rZW4gPT4ge1xuICAgICAgICAgICAga29uc29sZS5sb2coXCJyZWZyZXNoaW5nIHRva2VuXCIsIHRva2VuLCBcImF0XCIsIG5ldyBEYXRlKCkpO1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS90b2tlbnMvcmVmcmVzaGAsXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tb25IZWFkZXJzKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcChhamF4UmVzcG9uc2UgPT4gYWpheFJlc3BvbnNlLnJlc3BvbnNlLnRva2VuIGFzIHN0cmluZylcbiAgICAgICAgICAgIC5yZXRyeVdoZW4oZXJyb3IkID0+IGVycm9yJFxuICAgICAgICAgICAgICAgIC5tZXJnZU1hcChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHRva2VuIGlzIGV4cGlyZWQgdGhlcmUncyBubyByZWFzb24gdG8ga2VlcCB0cnlpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZFRva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYm90IGlzIGdvbmUsIHdlIHNob3VsZCBzdG9wIHJldHJ5aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoZXJyb3IsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5kZWxheSh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgICAgIC50YWtlKHRoaXMucmV0cmllcylcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIH1cblxuICAgIHB1YmxpYyByZWNvbm5lY3QoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb24pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IGNvbnZlcnNhdGlvbi50b2tlbjtcbiAgICAgICAgdGhpcy5zdHJlYW1VcmwgPSBjb252ZXJzYXRpb24uc3RyZWFtVXJsO1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbilcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLk9ubGluZSk7XG4gICAgfVxuXG4gICAgZW5kKCkge1xuICAgICAgICBpZiAodGhpcy50b2tlblJlZnJlc2hTdWJzY3JpcHRpb24pXG4gICAgICAgICAgICB0aGlzLnRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZSA9PT0gZXJyb3JDb252ZXJzYXRpb25FbmRlZClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aHJvdyhlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlc3Npb25JZCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICAvLyBJZiB3ZSdyZSBub3QgY29ubmVjdGVkIHRvIHRoZSBib3QsIGdldCBjb25uZWN0ZWRcbiAgICAgICAgLy8gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB3ZSBhcmUgbm90IGNvbm5lY3RlZFxuICAgICAgICBrb25zb2xlLmxvZyhcImdldFNlc3Npb25JZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgICAgICAuZmxhdE1hcChfID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS9zZXNzaW9uL2dldHNlc3Npb25pZGAsXG4gICAgICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5tYXAoYWpheFJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFqYXhSZXNwb25zZSAmJiBhamF4UmVzcG9uc2UucmVzcG9uc2UgJiYgYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJnZXRTZXNzaW9uSWQgcmVzcG9uc2U6IFwiICsgYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJnZXRTZXNzaW9uSWQgZXJyb3I6IFwiICsgZXJyb3Iuc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoJycsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hFeHBpcmVkVG9rZW4oZXJyb3IpKTtcbiAgICB9XG5cbiAgICBwb3N0QWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KSB7XG4gICAgICAgIC8vIElmIHVzZXIgaWQgaXMgc2V0LCBjaGVjayBpZiBpdCBtYXRjaCBhY3Rpdml0eS5mcm9tLmlkIGFuZCBhbHdheXMgb3ZlcnJpZGUgaXQgaW4gYWN0aXZpdHlcbiAgICAgICAgaWYgKHRoaXMudXNlcklkT25TdGFydENvbnZlcnNhdGlvbiAmJiBhY3Rpdml0eS5mcm9tICYmIGFjdGl2aXR5LmZyb20uaWQgIT09IHRoaXMudXNlcklkT25TdGFydENvbnZlcnNhdGlvbikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdEaXJlY3RMaW5lSlM6IEFjdGl2aXR5LmZyb20uaWQgZG9lcyBub3QgbWF0Y2ggd2l0aCB1c2VyIGlkLCBpZ25vcmluZyBhY3Rpdml0eS5mcm9tLmlkJyk7XG4gICAgICAgICAgICBhY3Rpdml0eS5mcm9tLmlkID0gdGhpcy51c2VySWRPblN0YXJ0Q29udmVyc2F0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC8vIFVzZSBwb3N0TWVzc2FnZVdpdGhBdHRhY2htZW50cyBmb3IgbWVzc2FnZXMgd2l0aCBhdHRhY2htZW50cyB0aGF0IGFyZSBsb2NhbCBmaWxlcyAoZS5nLiBhbiBpbWFnZSB0byB1cGxvYWQpXG4gICAgICAgIC8vIFRlY2huaWNhbGx5IHdlIGNvdWxkIHVzZSBpdCBmb3IgKmFsbCogYWN0aXZpdGllcywgYnV0IHBvc3RBY3Rpdml0eSBpcyBtdWNoIGxpZ2h0ZXIgd2VpZ2h0XG4gICAgICAgIC8vIFNvLCBzaW5jZSBXZWJDaGF0IGlzIHBhcnRpYWxseSBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBEaXJlY3QgTGluZSwgd2UgaW1wbGVtZW50IGJvdGguXG4gICAgICAgIGlmIChhY3Rpdml0eS50eXBlID09PSBcIm1lc3NhZ2VcIiAmJiBhY3Rpdml0eS5hdHRhY2htZW50cyAmJiBhY3Rpdml0eS5hdHRhY2htZW50cy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMoYWN0aXZpdHkpO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGJvdCwgZ2V0IGNvbm5lY3RlZFxuICAgICAgICAvLyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHdlIGFyZSBub3QgY29ubmVjdGVkXG4gICAgICAgIGtvbnNvbGUubG9nKFwicG9zdEFjdGl2aXR5XCIsIGFjdGl2aXR5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS9jb252ZXJzYXRpb25zLyR7dGhpcy5jb252ZXJzYXRpb25JZH0vYWN0aXZpdGllc2AsXG4gICAgICAgICAgICAgICAgYm9keTogYWN0aXZpdHksXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UuaWQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hQb3N0RXJyb3IoZXJyb3IpKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB0aGlzLmNhdGNoRXhwaXJlZFRva2VuKGVycm9yKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3N0TWVzc2FnZVdpdGhBdHRhY2htZW50cyhtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IHsgYXR0YWNobWVudHMgfSA9IG1lc3NhZ2U7XG4gICAgICAgIC8vIFdlIGNsZWFuIHRoZSBhdHRhY2htZW50cyBidXQgbWFraW5nIHN1cmUgZXZlcnkgYXR0YWNobWVudCBoYXMgdW5pcXVlIG5hbWUuXG4gICAgICAgIC8vIElmIHRoZSBmaWxlIGRvIG5vdCBoYXZlIGEgbmFtZSwgQ2hyb21lIHdpbGwgYXNzaWduIFwiYmxvYlwiIHdoZW4gaXQgaXMgYXBwZW5kZWQgdG8gRm9ybURhdGEuXG4gICAgICAgIGNvbnN0IGF0dGFjaG1lbnROYW1lczogc3RyaW5nW10gPSBkZWR1cGVGaWxlbmFtZXMoYXR0YWNobWVudHMubWFwKChtZWRpYTogTWVkaWEpID0+IG1lZGlhLm5hbWUgfHwgJ2Jsb2InKSk7XG4gICAgICAgIGNvbnN0IGNsZWFuc2VkQXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5tYXAoKGF0dGFjaG1lbnQ6IE1lZGlhLCBpbmRleDogbnVtYmVyKSA9PiAoe1xuICAgICAgICAgICAgLi4uYXR0YWNobWVudCxcbiAgICAgICAgICAgIG5hbWU6IGF0dGFjaG1lbnROYW1lc1tpbmRleF1cbiAgICAgICAgfSkpO1xuICAgICAgICBsZXQgZm9ybURhdGE6IEZvcm1EYXRhO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGJvdCwgZ2V0IGNvbm5lY3RlZFxuICAgICAgICAvLyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHdlIGFyZSBub3QgY29ubmVjdGVkXG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrQ29ubmVjdGlvbih0cnVlKVxuICAgICAgICAuZmxhdE1hcChfID0+IHtcbiAgICAgICAgICAgIC8vIFRvIHNlbmQgdGhpcyBtZXNzYWdlIHRvIERpcmVjdExpbmUgd2UgbmVlZCB0byBkZWNvbnN0cnVjdCBpdCBpbnRvIGEgXCJ0ZW1wbGF0ZVwiIGFjdGl2aXR5XG4gICAgICAgICAgICAvLyBhbmQgb25lIGJsb2IgZm9yIGVhY2ggYXR0YWNobWVudC5cbiAgICAgICAgICAgIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FjdGl2aXR5JywgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAuLi5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIC8vIFJlbW92aW5nIGNvbnRlbnRVcmwgZnJvbSBhdHRhY2htZW50LCB3ZSB3aWxsIHNlbmQgaXQgdmlhIG11bHRpcGFydFxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBjbGVhbnNlZEF0dGFjaG1lbnRzLm1hcCgoeyBjb250ZW50VXJsOiBzdHJpbmcsIC4uLm90aGVycyB9KSA9PiAoeyAuLi5vdGhlcnMgfSkpXG4gICAgICAgICAgICB9KV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuYWN0aXZpdHknIH0pKTtcblxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuZnJvbShjbGVhbnNlZEF0dGFjaG1lbnRzLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgIC5mbGF0TWFwKChtZWRpYTogTWVkaWEpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgICAgICAgICB1cmw6IG1lZGlhLmNvbnRlbnRVcmwsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmRvKGFqYXhSZXNwb25zZSA9PlxuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBuZXcgQmxvYihbYWpheFJlc3BvbnNlLnJlc3BvbnNlXSwgeyB0eXBlOiBtZWRpYS5jb250ZW50VHlwZSB9KSwgbWVkaWEubmFtZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuY291bnQoKVxuICAgICAgICB9KVxuICAgICAgICAuZmxhdE1hcChfID0+XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2VzLmFqYXgoe1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLmRvbWFpbn0vY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9L3VwbG9hZD91c2VySWQ9JHttZXNzYWdlLmZyb20uaWR9YCxcbiAgICAgICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiB0aGlzLnRpbWVvdXQsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbW1vbkhlYWRlcnMoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UuaWQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hQb3N0RXJyb3IoZXJyb3IpKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB0aGlzLmNhdGNoUG9zdEVycm9yKGVycm9yKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXRjaFBvc3RFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMylcbiAgICAgICAgICAgIC8vIHRva2VuIGhhcyBleHBpcmVkICh3aWxsIGZhbGwgdGhyb3VnaCB0byByZXR1cm4gXCJyZXRyeVwiKVxuICAgICAgICAgICAgdGhpcy5leHBpcmVkVG9rZW4oKTtcbiAgICAgICAgZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCAmJiBlcnJvci5zdGF0dXMgPCA1MDApXG4gICAgICAgICAgICAvLyBtb3JlIHVucmVjb3ZlcmFibGUgZXJyb3JzXG4gICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZihcInJldHJ5XCIsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhdGNoRXhwaXJlZFRva2VuKGVycm9yOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yID09PSBlcnJvckV4cGlyZWRUb2tlblxuICAgICAgICA/IE9ic2VydmFibGUub2YoXCJyZXRyeVwiLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgOiBPYnNlcnZhYmxlLnRocm93KGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb2xsaW5nR2V0QWN0aXZpdHkkKCkge1xuICAgICAgICBjb25zdCBwb2xsZXIkOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPSBPYnNlcnZhYmxlLmNyZWF0ZSgoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICAvLyBBIEJlaGF2aW9yU3ViamVjdCB0byB0cmlnZ2VyIHBvbGxpbmcuIFNpbmNlIGl0IGlzIGEgQmVoYXZpb3JTdWJqZWN0XG4gICAgICAgICAgICAvLyB0aGUgZmlyc3QgZXZlbnQgaXMgcHJvZHVjZWQgaW1tZWRpYXRlbHkuXG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSBEYXRlLm5vdywgdXNlIHJlYWN0aXZlIGludGVydmFsIHRvIHNwYWNlIG91dCBldmVyeSByZXF1ZXN0XG5cbiAgICAgICAgICAgIHRyaWdnZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKSA9PT0gQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tb25IZWFkZXJzKClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHsgdGhpcy5kb21haW4gfS9jb252ZXJzYXRpb25zLyR7IHRoaXMuY29udmVyc2F0aW9uSWQgfS9hY3Rpdml0aWVzP3dhdGVybWFyaz0keyB0aGlzLndhdGVybWFyayB9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dFxuICAgICAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0OiBBamF4UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRyaWdnZXIkLm5leHQobnVsbCksIE1hdGgubWF4KDAsIHRoaXMucG9sbGluZ0ludGVydmFsIC0gRGF0ZS5ub3coKSArIHN0YXJ0VGltZXN0YW1wKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRyaWdnZXIkLm5leHQobnVsbCksIHRoaXMucG9sbGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByb3BhZ2F0ZSB0aGUgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Nvbm5lY3Rpb24oKVxuICAgICAgICAuZmxhdE1hcChfID0+IHBvbGxlciRcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiBPYnNlcnZhYmxlLmVtcHR5PEFqYXhSZXNwb25zZT4oKSlcbiAgICAgICAgICAgIC5tYXAoYWpheFJlc3BvbnNlID0+IGFqYXhSZXNwb25zZS5yZXNwb25zZSBhcyBBY3Rpdml0eUdyb3VwKVxuICAgICAgICAgICAgLmZsYXRNYXAoYWN0aXZpdHlHcm91cCA9PiB0aGlzLm9ic2VydmFibGVGcm9tQWN0aXZpdHlHcm91cChhY3Rpdml0eUdyb3VwKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2YWJsZUZyb21BY3Rpdml0eUdyb3VwKGFjdGl2aXR5R3JvdXA6IEFjdGl2aXR5R3JvdXApIHtcbiAgICAgICAgaWYgKGFjdGl2aXR5R3JvdXAud2F0ZXJtYXJrKVxuICAgICAgICAgICAgdGhpcy53YXRlcm1hcmsgPSBhY3Rpdml0eUdyb3VwLndhdGVybWFyaztcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuZnJvbShhY3Rpdml0eUdyb3VwLmFjdGl2aXRpZXMsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdlYlNvY2tldEFjdGl2aXR5JCgpOiBPYnNlcnZhYmxlPEFjdGl2aXR5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrQ29ubmVjdGlvbigpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWJsZVdlYlNvY2tldDxBY3Rpdml0eUdyb3VwPigpXG4gICAgICAgICAgICAvLyBXZWJTb2NrZXRzIGNhbiBiZSBjbG9zZWQgYnkgdGhlIHNlcnZlciBvciB0aGUgYnJvd3Nlci4gSW4gdGhlIGZvcm1lciBjYXNlIHdlIG5lZWQgdG9cbiAgICAgICAgICAgIC8vIHJldHJpZXZlIGEgbmV3IHN0cmVhbVVybC4gSW4gdGhlIGxhdHRlciBjYXNlIHdlIGNvdWxkIGZpcnN0IHJldHJ5IHdpdGggdGhlIGN1cnJlbnQgc3RyZWFtVXJsLFxuICAgICAgICAgICAgLy8gYnV0IGl0J3Mgc2ltcGxlciBqdXN0IHRvIGFsd2F5cyBmZXRjaCBhIG5ldyBvbmUuXG4gICAgICAgICAgICAucmV0cnlXaGVuKGVycm9yJCA9PiBlcnJvciQuZGVsYXkodGhpcy5nZXRSZXRyeURlbGF5KCksIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKS5tZXJnZU1hcChlcnJvciA9PiB0aGlzLnJlY29ubmVjdFRvQ29udmVyc2F0aW9uKCkpKVxuICAgICAgICApXG4gICAgICAgIC5mbGF0TWFwKGFjdGl2aXR5R3JvdXAgPT4gdGhpcy5vYnNlcnZhYmxlRnJvbUFjdGl2aXR5R3JvdXAoYWN0aXZpdHlHcm91cCkpXG4gICAgfVxuXG4gICAgLy8gUmV0dXJucyB0aGUgZGVsYXkgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzXG4gICAgcHJpdmF0ZSBnZXRSZXRyeURlbGF5KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigzMDAwICsgdGhpcy5zZXJ2aWNlcy5yYW5kb20oKSAqIDEyMDAwKTtcbiAgICB9XG5cbiAgICAvLyBPcmlnaW5hbGx5IHdlIHVzZWQgT2JzZXJ2YWJsZS53ZWJTb2NrZXQsIGJ1dCBpdCdzIGZhaXJseSBvcGluaW9uYXRlZCBhbmQgSSBlbmRlZCB1cCB3cml0aW5nXG4gICAgLy8gYSBsb3Qgb2YgY29kZSB0byB3b3JrIGFyb3VuZCB0aGVpciBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiBTaW5jZSBXZWJDaGF0IGlzIG1lYW50IHRvIGJlIGEgcmVmZXJlbmNlXG4gICAgLy8gaW1wbGVtZW50YXRpb24sIEkgZGVjaWRlZCByb2xsIHRoZSBiZWxvdywgd2hlcmUgdGhlIGxvZ2ljIGlzIG1vcmUgcHVycG9zZWZ1bC4gLSBAYmlsbGJhXG4gICAgcHJpdmF0ZSBvYnNlcnZhYmxlV2ViU29ja2V0PFQ+KCkge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pID0+IHtcbiAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiY3JlYXRpbmcgV2ViU29ja2V0XCIsIHRoaXMuc3RyZWFtVXJsKTtcbiAgICAgICAgICAgIGNvbnN0IHdzID0gbmV3IHRoaXMuc2VydmljZXMuV2ViU29ja2V0KHRoaXMuc3RyZWFtVXJsKTtcbiAgICAgICAgICAgIGxldCBzdWI6IFN1YnNjcmlwdGlvbjtcbiAgICAgICAgICAgIGxldCBjbG9zZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgICAgIHdzLm9ub3BlbiA9IG9wZW4gPT4ge1xuICAgICAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiV2ViU29ja2V0IG9wZW5cIiwgb3Blbik7XG4gICAgICAgICAgICAgICAgLy8gQ2hyb21lIGlzIHByZXR0eSBiYWQgYXQgbm90aWNpbmcgd2hlbiBhIFdlYlNvY2tldCBjb25uZWN0aW9uIGlzIGJyb2tlbi5cbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBwZXJpb2RpY2FsbHkgcGluZyB0aGUgc2VydmVyIHdpdGggZW1wdHkgbWVzc2FnZXMsIGl0IGhlbHBzIENocm9tZVxuICAgICAgICAgICAgICAgIC8vIHJlYWxpemUgd2hlbiBjb25uZWN0aW9uIGJyZWFrcywgYW5kIGNsb3NlIHRoZSBzb2NrZXQuIFdlIHRoZW4gdGhyb3cgYW5cbiAgICAgICAgICAgICAgICAvLyBlcnJvciwgYW5kIHRoYXQgZ2l2ZSB1cyB0aGUgb3Bwb3J0dW5pdHkgdG8gYXR0ZW1wdCB0byByZWNvbm5lY3QuXG4gICAgICAgICAgICAgICAgc3ViID0gT2JzZXJ2YWJsZS5pbnRlcnZhbCh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cy5zZW5kKFwiXCIpXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJQaW5nIGVycm9yXCIsIGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdzLm9uY2xvc2UgPSBjbG9zZSA9PiB7XG4gICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJXZWJTb2NrZXQgY2xvc2VcIiwgY2xvc2UpO1xuICAgICAgICAgICAgICAgIGlmIChzdWIpIHN1Yi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAgICAgLy8gUnhKUy5yZXRyeVdoZW4gaGFzIGEgYnVnIHRoYXQgd291bGQgY2F1c2UgXCJlcnJvclwiIHNpZ25hbCB0byBiZSBzZW50IGFmdGVyIHRoZSBvYnNlcnZhYmxlIGlzIGNvbXBsZXRlZC9lcnJvcmVkLlxuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZ3VhcmQgYWdhaW5zdCBleHRyYW5lb3VzIFwiZXJyb3JcIiBzaWduYWwgdG8gd29ya2Fyb3VuZCB0aGUgYnVnLlxuICAgICAgICAgICAgICAgIGNsb3NlZCB8fCBzdWJzY3JpYmVyLmVycm9yKGNsb3NlKTtcbiAgICAgICAgICAgICAgICBjbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB3cy5vbmVycm9yID0gZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiV2ViU29ja2V0IGVycm9yXCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICBpZiAoc3ViKSBzdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgICAgIC8vIFJ4SlMucmV0cnlXaGVuIGhhcyBhIGJ1ZyB0aGF0IHdvdWxkIGNhdXNlIFwiZXJyb3JcIiBzaWduYWwgdG8gYmUgc2VudCBhZnRlciB0aGUgb2JzZXJ2YWJsZSBpcyBjb21wbGV0ZWQvZXJyb3JlZC5cbiAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGd1YXJkIGFnYWluc3QgZXh0cmFuZW91cyBcImVycm9yXCIgc2lnbmFsIHRvIHdvcmthcm91bmQgdGhlIGJ1Zy5cbiAgICAgICAgICAgICAgICBjbG9zZWQgfHwgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgd3Mub25tZXNzYWdlID0gbWVzc2FnZSA9PiBtZXNzYWdlLmRhdGEgJiYgc3Vic2NyaWJlci5uZXh0KEpTT04ucGFyc2UobWVzc2FnZS5kYXRhKSk7XG5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlICd1bnN1YnNjcmliZScgbWV0aG9kLCB3aGljaCBpcyBjYWxsZWQgd2hlbiB0aGlzIG9ic2VydmFibGUgaXMgZGlzcG9zZWQuXG4gICAgICAgICAgICAvLyBXaGVuIHRoZSBXZWJTb2NrZXQgY2xvc2VzIGl0c2VsZiwgd2UgdGhyb3cgYW4gZXJyb3IsIGFuZCB0aGlzIGZ1bmN0aW9uIGlzIGV2ZW50dWFsbHkgY2FsbGVkLlxuICAgICAgICAgICAgLy8gV2hlbiB0aGUgb2JzZXJ2YWJsZSBpcyBjbG9zZWQgZmlyc3QgKGUuZy4gd2hlbiB0ZWFyaW5nIGRvd24gYSBXZWJDaGF0IGluc3RhbmNlKSB0aGVuXG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIG1hbnVhbGx5IGNsb3NlIHRoZSBXZWJTb2NrZXQuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh3cy5yZWFkeVN0YXRlID09PSAwIHx8IHdzLnJlYWR5U3RhdGUgPT09IDEpIHdzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pIGFzIE9ic2VydmFibGU8VD5cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY29ubmVjdFRvQ29udmVyc2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Nvbm5lY3Rpb24odHJ1ZSlcbiAgICAgICAgLmZsYXRNYXAoXyA9PlxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLmRvbWFpbn0vY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9P3dhdGVybWFyaz0ke3RoaXMud2F0ZXJtYXJrfWAsXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJBY2NlcHRcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kbyhyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zZWNyZXQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW4gPSByZXN1bHQucmVzcG9uc2UudG9rZW47XG4gICAgICAgICAgICAgICAgdGhpcy5zdHJlYW1VcmwgPSByZXN1bHQucmVzcG9uc2Uuc3RyZWFtVXJsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoXyA9PiBudWxsKVxuICAgICAgICAgICAgLnJldHJ5V2hlbihlcnJvciQgPT4gZXJyb3IkXG4gICAgICAgICAgICAgICAgLm1lcmdlTWFwKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0b2tlbiBoYXMgZXhwaXJlZC4gV2UgY2FuJ3QgcmVjb3ZlciBmcm9tIHRoaXMgaGVyZSwgYnV0IHRoZSBlbWJlZGRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlYnNpdGUgbWlnaHQgZXZlbnR1YWxseSBjYWxsIHJlY29ubmVjdCgpIHdpdGggYSBuZXcgdG9rZW4gYW5kIHN0cmVhbVVybC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZFRva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLnRocm93KGVycm9yQ29udmVyc2F0aW9uRW5kZWQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLm9mKGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuZGVsYXkodGhpcy50aW1lb3V0LCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICAudGFrZSh0aGlzLnJldHJpZXMpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbW1vbkhlYWRlcnMoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogYEJlYXJlciAke3RoaXMudG9rZW59YCxcbiAgICAgICAgICAgIFwieC1tcy1ib3QtYWdlbnRcIjogdGhpcy5fYm90QWdlbnRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvdEFnZW50KGN1c3RvbUFnZW50OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjbGllbnRBZ2VudCA9ICdkaXJlY3RsaW5lanMnXG5cbiAgICAgICAgaWYgKGN1c3RvbUFnZW50KSB7XG4gICAgICAgICAgICBjbGllbnRBZ2VudCArPSBgOyAke2N1c3RvbUFnZW50fWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtESVJFQ1RfTElORV9WRVJTSU9OfSAoJHtjbGllbnRBZ2VudH0gJHtwcm9jZXNzLmVudi5ucG1fcGFja2FnZV92ZXJzaW9ufSlgO1xuICAgIH1cblxuICAgIHNldFVzZXJJZCh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLk9ubGluZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaXJlY3RMaW5lSlM6IEl0IGlzIGNvbm5lY3RlZCwgd2UgY2Fubm90IHNldCB1c2VyIGlkLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXNlcklkRnJvbVRva2VuID0gdGhpcy5wYXJzZVRva2VuKHRoaXMudG9rZW4pO1xuICAgICAgICBpZiAodXNlcklkRnJvbVRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKCdEaXJlY3RMaW5lSlM6IHVzZXIgaWQgaXMgYWxyZWFkeSBzZXQgaW4gdG9rZW4sIHdpbGwgaWdub3JlIHRoaXMgdXNlciBpZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgvXmRsXy91LnRlc3QodXNlcklkKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignRGlyZWN0TGluZUpTOiB1c2VyIGlkIHByZWZpeGVkIHdpdGggXCJkbF9cIiBpcyByZXNlcnZlZCBhbmQgbXVzdCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBEaXJlY3QgTGluZSB0b2tlbiB0byBwcmV2ZW50IGZvcmdlcnkuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVzZXJJZE9uU3RhcnRDb252ZXJzYXRpb24gPSB1c2VySWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdXNlciB9ID0gand0RGVjb2RlPEp3dFBheWxvYWQ+KHRva2VuKSBhcyB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcbiAgICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEludmFsaWRUb2tlbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectLineStreaming = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _classPrivateFieldGet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldGet\"));\n\nvar _classPrivateFieldSet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldSet\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _BehaviorSubject = require(\"rxjs/BehaviorSubject\");\n\nvar _buffer = require(\"buffer\");\n\nvar _Observable = require(\"rxjs/Observable\");\n\nvar BFSE = _interopRequireWildcard(require(\"botframework-streaming\"));\n\nvar _createDeferred = _interopRequireDefault(require(\"./createDeferred\"));\n\nvar _crossFetch = _interopRequireDefault(require(\"cross-fetch\"));\n\nvar _directLine = require(\"./directLine\");\n\nvar _WebSocketClientWithNetworkInformation = _interopRequireDefault(require(\"./streaming/WebSocketClientWithNetworkInformation\"));\n\nvar _excluded = [\"attachments\"];\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar DIRECT_LINE_VERSION = 'DirectLine/3.0';\nvar MAX_RETRY_COUNT = 3;\nvar refreshTokenLifetime = 30 * 60 * 1000; //const refreshTokenLifetime = 5000;\n// const timeout = 20 * 1000;\n\nvar refreshTokenInterval = refreshTokenLifetime / 2;\n\nvar StreamHandler = /*#__PURE__*/function () {\n function StreamHandler(s, c$, sq) {\n (0, _classCallCheck2[\"default\"])(this, StreamHandler);\n (0, _defineProperty2[\"default\"])(this, \"activityQueue\", []);\n this.subscriber = s;\n this.connectionStatus$ = c$;\n this.shouldQueue = sq;\n }\n\n (0, _createClass2[\"default\"])(StreamHandler, [{\n key: \"setSubscriber\",\n value: function setSubscriber(s) {\n this.subscriber = s;\n }\n }, {\n key: \"processRequest\",\n value: function () {\n var _processRequest = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(request, logger) {\n var streams, stream0, activitySetJson, activitySet, activity, attachments, stream, attachment, dataUri;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n streams = (0, _toConsumableArray2[\"default\"])(request.streams);\n stream0 = streams.shift();\n _context.next = 4;\n return stream0.readAsString();\n\n case 4:\n activitySetJson = _context.sent;\n activitySet = JSON.parse(activitySetJson);\n\n if (!(activitySet.activities.length !== 1)) {\n _context.next = 9;\n break;\n }\n\n // Only one activity is expected in a set in streaming\n this.subscriber.error(new Error('there should be exactly one activity'));\n return _context.abrupt(\"return\", BFSE.StreamingResponse.create(500));\n\n case 9:\n activity = activitySet.activities[0];\n\n if (!(streams.length > 0)) {\n _context.next = 21;\n break;\n }\n\n attachments = (0, _toConsumableArray2[\"default\"])(activity.attachments);\n\n case 12:\n if (!(stream = streams.shift())) {\n _context.next = 20;\n break;\n }\n\n _context.next = 15;\n return stream.readAsString();\n\n case 15:\n attachment = _context.sent;\n dataUri = 'data:text/plain;base64,' + attachment;\n attachments.push({\n contentType: stream.contentType,\n contentUrl: dataUri\n });\n _context.next = 12;\n break;\n\n case 20:\n activity.attachments = attachments;\n\n case 21:\n if (this.shouldQueue()) {\n this.activityQueue.push(activity);\n } else {\n this.subscriber.next(activity);\n }\n\n return _context.abrupt(\"return\", BFSE.StreamingResponse.create(200));\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function processRequest(_x, _x2) {\n return _processRequest.apply(this, arguments);\n }\n\n return processRequest;\n }()\n }, {\n key: \"flush\",\n value: function flush() {\n var _this = this;\n\n this.connectionStatus$.subscribe(function () {});\n this.activityQueue.forEach(function (a) {\n return _this.subscriber.next(a);\n });\n this.activityQueue = [];\n }\n }, {\n key: \"end\",\n value: function end() {\n this.subscriber.complete();\n }\n }]);\n return StreamHandler;\n}();\n\nvar _networkInformation = /*#__PURE__*/new WeakMap();\n\nvar DirectLineStreaming = /*#__PURE__*/function () {\n function DirectLineStreaming(options) {\n var _this2 = this;\n\n (0, _classCallCheck2[\"default\"])(this, DirectLineStreaming);\n (0, _defineProperty2[\"default\"])(this, \"connectionStatus$\", new _BehaviorSubject.BehaviorSubject(_directLine.ConnectionStatus.Uninitialized));\n (0, _defineProperty2[\"default\"])(this, \"_botAgent\", '');\n\n _networkInformation.set(this, {\n writable: true,\n value: void 0\n });\n\n // Rectifies `options.networkInformation`.\n var networkInformation = options === null || options === void 0 ? void 0 : options.networkInformation;\n\n if (typeof networkInformation === 'undefined' || typeof networkInformation.addEventListener === 'function' && typeof networkInformation.removeEventListener === 'function' && typeof networkInformation.type === 'string') {\n (0, _classPrivateFieldSet2[\"default\"])(this, _networkInformation, networkInformation);\n } else {\n console.warn('botframework-directlinejs: \"networkInformation\" option specified must be a `NetworkInformation`-like instance extending `EventTarget` interface with a `type` property returning a string.');\n }\n\n this.token = options.token;\n this.refreshToken()[\"catch\"](function () {\n _this2.connectionStatus$.next(_directLine.ConnectionStatus.ExpiredToken);\n });\n this.domain = options.domain;\n\n if (options.conversationId) {\n this.conversationId = options.conversationId;\n }\n\n this._botAgent = this.getBotAgent(options.botAgent);\n this.queueActivities = true;\n this.activity$ = _Observable.Observable.create( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(subscriber) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.activitySubscriber = subscriber;\n _this2.theStreamHandler = new StreamHandler(subscriber, _this2.connectionStatus$, function () {\n return _this2.queueActivities;\n }); // Resolving connectDeferred will kick-off the connection.\n\n _this2.connectDeferred.resolve();\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x3) {\n return _ref.apply(this, arguments);\n };\n }()).share(); // connectWithRetryAsync() will create the connectDeferred object required in activity$.\n\n this.connectWithRetryAsync();\n }\n\n (0, _createClass2[\"default\"])(DirectLineStreaming, [{\n key: \"reconnect\",\n value: function reconnect(_ref2) {\n var conversationId = _ref2.conversationId,\n token = _ref2.token;\n\n if (this.connectionStatus$.getValue() === _directLine.ConnectionStatus.Ended) {\n throw new Error('Connection has ended.');\n }\n\n this.conversationId = conversationId;\n this.token = token;\n this.connectDeferred.resolve();\n }\n }, {\n key: \"end\",\n value: function end() {\n // Once end() is called, no reconnection can be made.\n this.activitySubscriber.complete();\n this.connectionStatus$.next(_directLine.ConnectionStatus.Ended);\n this.connectionStatus$.complete();\n this.streamConnection.disconnect();\n }\n }, {\n key: \"commonHeaders\",\n value: function commonHeaders() {\n return {\n Authorization: \"Bearer \".concat(this.token),\n 'x-ms-bot-agent': this._botAgent\n };\n }\n }, {\n key: \"getBotAgent\",\n value: function getBotAgent() {\n var customAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var clientAgent = 'directlineStreaming';\n\n if (customAgent) {\n clientAgent += \"; \".concat(customAgent);\n }\n\n return \"\".concat(DIRECT_LINE_VERSION, \" (\").concat(clientAgent, \")\");\n }\n }, {\n key: \"refreshToken\",\n value: function () {\n var _refreshToken = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var firstCall,\n retryCount,\n numberOfAttempts,\n res,\n _yield$res$json,\n token,\n _args3 = arguments;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n firstCall = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : true;\n retryCount = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 0;\n _context3.next = 4;\n return this.waitUntilOnline();\n\n case 4:\n numberOfAttempts = 0;\n\n case 5:\n if (!(numberOfAttempts < MAX_RETRY_COUNT)) {\n _context3.next = 30;\n break;\n }\n\n numberOfAttempts++;\n _context3.next = 9;\n return new Promise(function (r) {\n return setTimeout(r, refreshTokenInterval);\n });\n\n case 9:\n _context3.prev = 9;\n _context3.next = 12;\n return (0, _crossFetch[\"default\"])(\"\".concat(this.domain, \"/tokens/refresh\"), {\n method: 'POST',\n headers: this.commonHeaders()\n });\n\n case 12:\n res = _context3.sent;\n\n if (!res.ok) {\n _context3.next = 22;\n break;\n }\n\n numberOfAttempts = 0;\n _context3.next = 17;\n return res.json();\n\n case 17:\n _yield$res$json = _context3.sent;\n token = _yield$res$json.token;\n this.token = token;\n _context3.next = 23;\n break;\n\n case 22:\n if (res.status === 403 || res.status === 403) {\n console.error(\"Fatal error while refreshing the token: \".concat(res.status, \" \").concat(res.statusText));\n this.streamConnection.disconnect();\n } else {\n console.warn(\"Refresh attempt #\".concat(numberOfAttempts, \" failed: \").concat(res.status, \" \").concat(res.statusText));\n }\n\n case 23:\n _context3.next = 28;\n break;\n\n case 25:\n _context3.prev = 25;\n _context3.t0 = _context3[\"catch\"](9);\n console.warn(\"Refresh attempt #\".concat(numberOfAttempts, \" threw an exception: \").concat(_context3.t0));\n\n case 28:\n _context3.next = 5;\n break;\n\n case 30:\n console.error('Retries exhausted');\n this.streamConnection.disconnect();\n\n case 32:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[9, 25]]);\n }));\n\n function refreshToken() {\n return _refreshToken.apply(this, arguments);\n }\n\n return refreshToken;\n }()\n }, {\n key: \"postActivity\",\n value: function postActivity(activity) {\n var _this3 = this;\n\n if (this.connectionStatus$.value === _directLine.ConnectionStatus.Ended || this.connectionStatus$.value === _directLine.ConnectionStatus.FailedToConnect) {\n return _Observable.Observable[\"throw\"](new Error('Connection is closed'));\n }\n\n if (activity.type === 'message' && activity.attachments && activity.attachments.length > 0) {\n return this.postMessageWithAttachments(activity);\n }\n\n var resp$ = _Observable.Observable.create( /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(subscriber) {\n var request, resp, numberOfStreams, idString, _JSON$parse, id;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n request = BFSE.StreamingRequest.create('POST', '/v3/directline/conversations/' + _this3.conversationId + '/activities');\n request.setBody(JSON.stringify(activity));\n _context4.prev = 2;\n _context4.next = 5;\n return _this3.streamConnection.send(request);\n\n case 5:\n resp = _context4.sent;\n\n if (!(resp.statusCode !== 200)) {\n _context4.next = 8;\n break;\n }\n\n throw new Error('PostActivity returned ' + resp.statusCode);\n\n case 8:\n numberOfStreams = resp.streams.length;\n\n if (!(numberOfStreams !== 1)) {\n _context4.next = 11;\n break;\n }\n\n throw new Error('Expected one stream but got ' + numberOfStreams);\n\n case 11:\n _context4.next = 13;\n return resp.streams[0].readAsString();\n\n case 13:\n idString = _context4.sent;\n _JSON$parse = JSON.parse(idString), id = _JSON$parse.Id;\n subscriber.next(id);\n return _context4.abrupt(\"return\", subscriber.complete());\n\n case 19:\n _context4.prev = 19;\n _context4.t0 = _context4[\"catch\"](2);\n // If there is a network issue then its handled by\n // the disconnectionHandler. Everything else can\n // be retried\n console.warn(_context4.t0);\n\n _this3.streamConnection.disconnect();\n\n return _context4.abrupt(\"return\", subscriber.error(_context4.t0));\n\n case 24:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[2, 19]]);\n }));\n\n return function (_x4) {\n return _ref3.apply(this, arguments);\n };\n }());\n\n return resp$;\n }\n }, {\n key: \"postMessageWithAttachments\",\n value: function postMessageWithAttachments(message) {\n var _this4 = this;\n\n var attachments = message.attachments,\n messageWithoutAttachments = (0, _objectWithoutProperties2[\"default\"])(message, _excluded);\n return _Observable.Observable.create(function (subscriber) {\n var httpContentList = [];\n (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6() {\n var arrayBuffers, url, request, activityStream, resp, _yield$resp$streams$, id;\n\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.prev = 0;\n _context6.next = 3;\n return Promise.all(attachments.map( /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(attachment) {\n var media, res;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n media = attachment;\n _context5.next = 3;\n return (0, _crossFetch[\"default\"])(media.contentUrl);\n\n case 3:\n res = _context5.sent;\n\n if (!res.ok) {\n _context5.next = 12;\n break;\n }\n\n _context5.next = 7;\n return res.arrayBuffer();\n\n case 7:\n _context5.t0 = _context5.sent;\n _context5.t1 = media;\n return _context5.abrupt(\"return\", {\n arrayBuffer: _context5.t0,\n media: _context5.t1\n });\n\n case 12:\n throw new Error('...');\n\n case 13:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function (_x5) {\n return _ref5.apply(this, arguments);\n };\n }()));\n\n case 3:\n arrayBuffers = _context6.sent;\n arrayBuffers.forEach(function (_ref6) {\n var arrayBuffer = _ref6.arrayBuffer,\n media = _ref6.media;\n\n var buffer = _buffer.Buffer.from(arrayBuffer);\n\n var stream = new BFSE.SubscribableStream();\n stream.write(buffer);\n var httpContent = new BFSE.HttpContent({\n type: media.contentType,\n contentLength: buffer.length\n }, stream);\n httpContentList.push(httpContent);\n });\n url = \"/v3/directline/conversations/\".concat(_this4.conversationId, \"/users/\").concat(messageWithoutAttachments.from.id, \"/upload\");\n request = BFSE.StreamingRequest.create('PUT', url);\n activityStream = new BFSE.SubscribableStream();\n activityStream.write(JSON.stringify(messageWithoutAttachments), 'utf-8');\n request.addStream(new BFSE.HttpContent({\n type: 'application/vnd.microsoft.activity',\n contentLength: activityStream.length\n }, activityStream));\n httpContentList.forEach(function (e) {\n return request.addStream(e);\n });\n _context6.next = 13;\n return _this4.streamConnection.send(request);\n\n case 13:\n resp = _context6.sent;\n\n if (!(resp.streams && resp.streams.length !== 1)) {\n _context6.next = 18;\n break;\n }\n\n subscriber.error(new Error(\"Invalid stream count \".concat(resp.streams.length)));\n _context6.next = 24;\n break;\n\n case 18:\n _context6.next = 20;\n return resp.streams[0].readAsJson();\n\n case 20:\n _yield$resp$streams$ = _context6.sent;\n id = _yield$resp$streams$.Id;\n subscriber.next(id);\n subscriber.complete();\n\n case 24:\n _context6.next = 29;\n break;\n\n case 26:\n _context6.prev = 26;\n _context6.t0 = _context6[\"catch\"](0);\n subscriber.error(_context6.t0);\n\n case 29:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[0, 26]]);\n }))();\n });\n }\n }, {\n key: \"waitUntilOnline\",\n value: function () {\n var _waitUntilOnline = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7() {\n var _this5 = this;\n\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", new Promise(function (resolve, reject) {\n _this5.connectionStatus$.subscribe(function (cs) {\n if (cs === _directLine.ConnectionStatus.Online) {\n return resolve();\n }\n }, function (e) {\n return reject(e);\n });\n }));\n\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n\n function waitUntilOnline() {\n return _waitUntilOnline.apply(this, arguments);\n }\n\n return waitUntilOnline;\n }()\n }, {\n key: \"connectAsync\",\n value: function () {\n var _connectAsync = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee9() {\n var _this6 = this;\n\n var re, params, abortController, urlSearchParams, wsUrl;\n return _regenerator[\"default\"].wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n re = new RegExp('^http(s?)');\n\n if (re.test(this.domain)) {\n _context9.next = 3;\n break;\n }\n\n throw 'Domain must begin with http or https';\n\n case 3:\n params = {\n token: this.token\n };\n\n if (this.conversationId) {\n params['conversationId'] = this.conversationId;\n }\n\n abortController = new AbortController();\n urlSearchParams = new URLSearchParams(params).toString();\n wsUrl = \"\".concat(this.domain.replace(re, 'ws$1'), \"/conversations/connect?\").concat(urlSearchParams); // This promise will resolve when it is disconnected.\n\n return _context9.abrupt(\"return\", new Promise( /*#__PURE__*/function () {\n var _ref7 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee8(resolve, reject) {\n var request, response, responseString, conversation;\n return _regenerator[\"default\"].wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.prev = 0;\n _this6.streamConnection = new _WebSocketClientWithNetworkInformation[\"default\"]({\n disconnectionHandler: resolve,\n networkInformation: (0, _classPrivateFieldGet2[\"default\"])(_this6, _networkInformation),\n requestHandler: {\n processRequest: function processRequest(streamingRequest) {\n // If `streamConnection` is still current, allow call to `processRequest()`, otherwise, ignore calls to `processRequest()`.\n // This prevents zombie connections from sending us requests.\n if (abortController.signal.aborted) {\n throw new Error('Cannot process streaming request, `streamingConnection` should be disconnected.');\n }\n\n return _this6.theStreamHandler.processRequest(streamingRequest);\n }\n },\n url: wsUrl\n });\n _this6.queueActivities = true;\n _context8.next = 5;\n return _this6.streamConnection.connect();\n\n case 5:\n request = BFSE.StreamingRequest.create('POST', '/v3/directline/conversations');\n _context8.next = 8;\n return _this6.streamConnection.send(request);\n\n case 8:\n response = _context8.sent;\n\n if (!(response.statusCode !== 200)) {\n _context8.next = 11;\n break;\n }\n\n throw new Error('Connection response code ' + response.statusCode);\n\n case 11:\n if (!(response.streams.length !== 1)) {\n _context8.next = 13;\n break;\n }\n\n throw new Error('Expected 1 stream but got ' + response.streams.length);\n\n case 13:\n _context8.next = 15;\n return response.streams[0].readAsString();\n\n case 15:\n responseString = _context8.sent;\n conversation = JSON.parse(responseString);\n _this6.conversationId = conversation.conversationId;\n\n _this6.connectionStatus$.next(_directLine.ConnectionStatus.Online); // Wait until DL consumers have had a chance to be notified\n // of the connection status change.\n // This is specific to RxJS implementation of observable, which calling subscribe() after next() will still get the value.\n\n\n _context8.next = 21;\n return _this6.waitUntilOnline();\n\n case 21:\n _this6.theStreamHandler.flush();\n\n _this6.queueActivities = false;\n _context8.next = 28;\n break;\n\n case 25:\n _context8.prev = 25;\n _context8.t0 = _context8[\"catch\"](0);\n reject(_context8.t0);\n\n case 28:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[0, 25]]);\n }));\n\n return function (_x6, _x7) {\n return _ref7.apply(this, arguments);\n };\n }())[\"finally\"](function () {\n return abortController.abort();\n }));\n\n case 9:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function connectAsync() {\n return _connectAsync.apply(this, arguments);\n }\n\n return connectAsync;\n }()\n }, {\n key: \"connectWithRetryAsync\",\n value: function () {\n var _connectWithRetryAsync = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee10() {\n var _this7 = this;\n\n var numRetries, start;\n return _regenerator[\"default\"].wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return (this.connectDeferred = (0, _createDeferred[\"default\"])()).promise;\n\n case 2:\n numRetries = MAX_RETRY_COUNT;\n this.connectionStatus$.next(_directLine.ConnectionStatus.Connecting);\n\n case 4:\n if (!(numRetries > 0)) {\n _context10.next = 27;\n break;\n }\n\n numRetries--;\n start = Date.now();\n _context10.prev = 7;\n _context10.next = 10;\n return this.connectAsync();\n\n case 10:\n _context10.next = 15;\n break;\n\n case 12:\n _context10.prev = 12;\n _context10.t0 = _context10[\"catch\"](7);\n console.error(_context10.t0);\n\n case 15:\n if (!(this.connectionStatus$.getValue() === _directLine.ConnectionStatus.Ended)) {\n _context10.next = 17;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 17:\n // Make sure we don't signal ConnectionStatus.Connecting twice or more without an actual connection.\n // Subsequent retries should be transparent.\n if (this.connectionStatus$.getValue() !== _directLine.ConnectionStatus.Connecting) {\n this.connectionStatus$.next(_directLine.ConnectionStatus.Connecting);\n } // If the current connection lasted for more than a minute, the previous connection is good, which means:\n // - we should reset the retry counter, and;\n // - we should reconnect immediately.\n\n\n if (!(60000 < Date.now() - start)) {\n _context10.next = 22;\n break;\n }\n\n numRetries = MAX_RETRY_COUNT;\n _context10.next = 25;\n break;\n\n case 22:\n if (!(numRetries > 0)) {\n _context10.next = 25;\n break;\n }\n\n _context10.next = 25;\n return new Promise(function (r) {\n return setTimeout(r, _this7.getRetryDelay());\n });\n\n case 25:\n _context10.next = 4;\n break;\n\n case 27:\n // TODO: [TEST] Make sure FailedToConnect is reported immediately after last disconnection, should be no getRetryDelay().\n // Failed to reconnect after multiple retries.\n this.connectionStatus$.next(_directLine.ConnectionStatus.FailedToConnect);\n\n case 28:\n _context10.next = 0;\n break;\n\n case 30:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this, [[7, 12]]);\n }));\n\n function connectWithRetryAsync() {\n return _connectWithRetryAsync.apply(this, arguments);\n }\n\n return connectWithRetryAsync;\n }() // Returns the delay duration in milliseconds\n\n }, {\n key: \"getRetryDelay\",\n value: function getRetryDelay() {\n return Math.floor(3000 + Math.random() * 12000);\n }\n }]);\n return DirectLineStreaming;\n}();\n\nexports.DirectLineStreaming = DirectLineStreaming;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lU3RyZWFtaW5nLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJNQVhfUkVUUllfQ09VTlQiLCJyZWZyZXNoVG9rZW5MaWZldGltZSIsInJlZnJlc2hUb2tlbkludGVydmFsIiwiU3RyZWFtSGFuZGxlciIsInMiLCJjJCIsInNxIiwic3Vic2NyaWJlciIsImNvbm5lY3Rpb25TdGF0dXMkIiwic2hvdWxkUXVldWUiLCJyZXF1ZXN0IiwibG9nZ2VyIiwic3RyZWFtcyIsInN0cmVhbTAiLCJzaGlmdCIsInJlYWRBc1N0cmluZyIsImFjdGl2aXR5U2V0SnNvbiIsImFjdGl2aXR5U2V0IiwiSlNPTiIsInBhcnNlIiwiYWN0aXZpdGllcyIsImxlbmd0aCIsImVycm9yIiwiRXJyb3IiLCJCRlNFIiwiU3RyZWFtaW5nUmVzcG9uc2UiLCJjcmVhdGUiLCJhY3Rpdml0eSIsImF0dGFjaG1lbnRzIiwic3RyZWFtIiwiYXR0YWNobWVudCIsImRhdGFVcmkiLCJwdXNoIiwiY29udGVudFR5cGUiLCJjb250ZW50VXJsIiwiYWN0aXZpdHlRdWV1ZSIsIm5leHQiLCJzdWJzY3JpYmUiLCJmb3JFYWNoIiwiYSIsImNvbXBsZXRlIiwiRGlyZWN0TGluZVN0cmVhbWluZyIsIm9wdGlvbnMiLCJCZWhhdmlvclN1YmplY3QiLCJDb25uZWN0aW9uU3RhdHVzIiwiVW5pbml0aWFsaXplZCIsIm5ldHdvcmtJbmZvcm1hdGlvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidHlwZSIsImNvbnNvbGUiLCJ3YXJuIiwidG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJFeHBpcmVkVG9rZW4iLCJkb21haW4iLCJjb252ZXJzYXRpb25JZCIsIl9ib3RBZ2VudCIsImdldEJvdEFnZW50IiwiYm90QWdlbnQiLCJxdWV1ZUFjdGl2aXRpZXMiLCJhY3Rpdml0eSQiLCJPYnNlcnZhYmxlIiwiYWN0aXZpdHlTdWJzY3JpYmVyIiwidGhlU3RyZWFtSGFuZGxlciIsImNvbm5lY3REZWZlcnJlZCIsInJlc29sdmUiLCJzaGFyZSIsImNvbm5lY3RXaXRoUmV0cnlBc3luYyIsImdldFZhbHVlIiwiRW5kZWQiLCJzdHJlYW1Db25uZWN0aW9uIiwiZGlzY29ubmVjdCIsIkF1dGhvcml6YXRpb24iLCJjdXN0b21BZ2VudCIsImNsaWVudEFnZW50IiwiZmlyc3RDYWxsIiwicmV0cnlDb3VudCIsIndhaXRVbnRpbE9ubGluZSIsIm51bWJlck9mQXR0ZW1wdHMiLCJQcm9taXNlIiwiciIsInNldFRpbWVvdXQiLCJtZXRob2QiLCJoZWFkZXJzIiwiY29tbW9uSGVhZGVycyIsInJlcyIsIm9rIiwianNvbiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ2YWx1ZSIsIkZhaWxlZFRvQ29ubmVjdCIsInBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzIiwicmVzcCQiLCJTdHJlYW1pbmdSZXF1ZXN0Iiwic2V0Qm9keSIsInN0cmluZ2lmeSIsInNlbmQiLCJyZXNwIiwic3RhdHVzQ29kZSIsIm51bWJlck9mU3RyZWFtcyIsImlkU3RyaW5nIiwiaWQiLCJJZCIsIm1lc3NhZ2UiLCJtZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzIiwiaHR0cENvbnRlbnRMaXN0IiwiYWxsIiwibWFwIiwibWVkaWEiLCJhcnJheUJ1ZmZlciIsImFycmF5QnVmZmVycyIsImJ1ZmZlciIsIkJ1ZmZlciIsImZyb20iLCJTdWJzY3JpYmFibGVTdHJlYW0iLCJ3cml0ZSIsImh0dHBDb250ZW50IiwiSHR0cENvbnRlbnQiLCJjb250ZW50TGVuZ3RoIiwidXJsIiwiYWN0aXZpdHlTdHJlYW0iLCJhZGRTdHJlYW0iLCJlIiwicmVhZEFzSnNvbiIsInJlamVjdCIsImNzIiwiT25saW5lIiwicmUiLCJSZWdFeHAiLCJ0ZXN0IiwicGFyYW1zIiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwidXJsU2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwidG9TdHJpbmciLCJ3c1VybCIsInJlcGxhY2UiLCJXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uIiwiZGlzY29ubmVjdGlvbkhhbmRsZXIiLCJyZXF1ZXN0SGFuZGxlciIsInByb2Nlc3NSZXF1ZXN0Iiwic3RyZWFtaW5nUmVxdWVzdCIsInNpZ25hbCIsImFib3J0ZWQiLCJjb25uZWN0IiwicmVzcG9uc2UiLCJyZXNwb25zZVN0cmluZyIsImNvbnZlcnNhdGlvbiIsImZsdXNoIiwiYWJvcnQiLCJwcm9taXNlIiwibnVtUmV0cmllcyIsIkNvbm5lY3RpbmciLCJzdGFydCIsIkRhdGUiLCJub3ciLCJjb25uZWN0QXN5bmMiLCJnZXRSZXRyeURlbGF5IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7OztBQUdBLElBQU1BLG1CQUFtQixHQUFHLGdCQUE1QjtBQUNBLElBQU1DLGVBQWUsR0FBRyxDQUF4QjtBQUNBLElBQU1DLG9CQUFvQixHQUFHLEtBQUssRUFBTCxHQUFVLElBQXZDLEMsQ0FDQTtBQUNBOztBQUNBLElBQU1DLG9CQUFvQixHQUFHRCxvQkFBb0IsR0FBRyxDQUFwRDs7SUFnQk1FLGE7QUFNSix5QkFBWUMsQ0FBWixFQUFxQ0MsRUFBckMsRUFBdUVDLEVBQXZFLEVBQTBGO0FBQUE7QUFBQSw0REFGakQsRUFFaUQ7QUFDeEYsU0FBS0MsVUFBTCxHQUFrQkgsQ0FBbEI7QUFDQSxTQUFLSSxpQkFBTCxHQUF5QkgsRUFBekI7QUFDQSxTQUFLSSxXQUFMLEdBQW1CSCxFQUFuQjtBQUNEOzs7O1dBRUQsdUJBQXFCRixDQUFyQixFQUE4QztBQUM1QyxXQUFLRyxVQUFMLEdBQWtCSCxDQUFsQjtBQUNEOzs7OzBHQUVELGlCQUFxQk0sT0FBckIsRUFBb0RDLE1BQXBEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNRQyxnQkFBQUEsT0FEUix1Q0FDc0JGLE9BQU8sQ0FBQ0UsT0FEOUI7QUFFUUMsZ0JBQUFBLE9BRlIsR0FFa0JELE9BQU8sQ0FBQ0UsS0FBUixFQUZsQjtBQUFBO0FBQUEsdUJBR2dDRCxPQUFPLENBQUNFLFlBQVIsRUFIaEM7O0FBQUE7QUFHUUMsZ0JBQUFBLGVBSFI7QUFJUUMsZ0JBQUFBLFdBSlIsR0FJc0JDLElBQUksQ0FBQ0MsS0FBTCxDQUFXSCxlQUFYLENBSnRCOztBQUFBLHNCQU1NQyxXQUFXLENBQUNHLFVBQVosQ0FBdUJDLE1BQXZCLEtBQWtDLENBTnhDO0FBQUE7QUFBQTtBQUFBOztBQU9JO0FBQ0EscUJBQUtkLFVBQUwsQ0FBZ0JlLEtBQWhCLENBQXNCLElBQUlDLEtBQUosQ0FBVSxzQ0FBVixDQUF0QjtBQVJKLGlEQVNXQyxJQUFJLENBQUNDLGlCQUFMLENBQXVCQyxNQUF2QixDQUE4QixHQUE5QixDQVRYOztBQUFBO0FBWVFDLGdCQUFBQSxRQVpSLEdBWW1CVixXQUFXLENBQUNHLFVBQVosQ0FBdUIsQ0FBdkIsQ0FabkI7O0FBQUEsc0JBY01SLE9BQU8sQ0FBQ1MsTUFBUixHQUFpQixDQWR2QjtBQUFBO0FBQUE7QUFBQTs7QUFlVU8sZ0JBQUFBLFdBZlYsdUNBZTRCRCxRQUFRLENBQUNDLFdBZnJDOztBQUFBO0FBQUEsc0JBa0JZQyxNQUFNLEdBQUdqQixPQUFPLENBQUNFLEtBQVIsRUFsQnJCO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEsdUJBbUIrQmUsTUFBTSxDQUFDZCxZQUFQLEVBbkIvQjs7QUFBQTtBQW1CWWUsZ0JBQUFBLFVBbkJaO0FBb0JZQyxnQkFBQUEsT0FwQlosR0FvQnNCLDRCQUE0QkQsVUFwQmxEO0FBcUJNRixnQkFBQUEsV0FBVyxDQUFDSSxJQUFaLENBQWlCO0FBQUVDLGtCQUFBQSxXQUFXLEVBQUVKLE1BQU0sQ0FBQ0ksV0FBdEI7QUFBbUNDLGtCQUFBQSxVQUFVLEVBQUVIO0FBQS9DLGlCQUFqQjtBQXJCTjtBQUFBOztBQUFBO0FBd0JJSixnQkFBQUEsUUFBUSxDQUFDQyxXQUFULEdBQXVCQSxXQUF2Qjs7QUF4Qko7QUEyQkUsb0JBQUksS0FBS25CLFdBQUwsRUFBSixFQUF3QjtBQUN0Qix1QkFBSzBCLGFBQUwsQ0FBbUJILElBQW5CLENBQXdCTCxRQUF4QjtBQUNELGlCQUZELE1BRU87QUFDTCx1QkFBS3BCLFVBQUwsQ0FBZ0I2QixJQUFoQixDQUFxQlQsUUFBckI7QUFDRDs7QUEvQkgsaURBaUNTSCxJQUFJLENBQUNDLGlCQUFMLENBQXVCQyxNQUF2QixDQUE4QixHQUE5QixDQWpDVDs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPOzs7Ozs7Ozs7O1dBb0NBLGlCQUFlO0FBQUE7O0FBQ2IsV0FBS2xCLGlCQUFMLENBQXVCNkIsU0FBdkIsQ0FBaUMsWUFBTSxDQUFFLENBQXpDO0FBQ0EsV0FBS0YsYUFBTCxDQUFtQkcsT0FBbkIsQ0FBMkIsVUFBQUMsQ0FBQztBQUFBLGVBQUksS0FBSSxDQUFDaEMsVUFBTCxDQUFnQjZCLElBQWhCLENBQXFCRyxDQUFyQixDQUFKO0FBQUEsT0FBNUI7QUFDQSxXQUFLSixhQUFMLEdBQXFCLEVBQXJCO0FBQ0Q7OztXQUVELGVBQWE7QUFDWCxXQUFLNUIsVUFBTCxDQUFnQmlDLFFBQWhCO0FBQ0Q7Ozs7Ozs7SUFHVUMsbUI7QUFtQlgsK0JBQVlDLE9BQVosRUFBaUQ7QUFBQTs7QUFBQTtBQUFBLGdFQWxCdEIsSUFBSUMsZ0NBQUosQ0FBb0JDLDZCQUFpQkMsYUFBckMsQ0FrQnNCO0FBQUEsd0RBSjdCLEVBSTZCOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUMvQztBQUNBLFFBQU1DLGtCQUFrQixHQUFHSixPQUFILGFBQUdBLE9BQUgsdUJBQUdBLE9BQU8sQ0FBRUksa0JBQXBDOztBQUVBLFFBQ0UsT0FBT0Esa0JBQVAsS0FBOEIsV0FBOUIsSUFDQyxPQUFPQSxrQkFBa0IsQ0FBQ0MsZ0JBQTFCLEtBQStDLFVBQS9DLElBQ0MsT0FBT0Qsa0JBQWtCLENBQUNFLG1CQUExQixLQUFrRCxVQURuRCxJQUVDLE9BQU9GLGtCQUFrQixDQUFDRyxJQUExQixLQUFtQyxRQUp2QyxFQUtFO0FBQ0Esd0VBQTJCSCxrQkFBM0I7QUFDRCxLQVBELE1BT087QUFDTEksTUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQ0UsNExBREY7QUFHRDs7QUFFRCxTQUFLQyxLQUFMLEdBQWFWLE9BQU8sQ0FBQ1UsS0FBckI7QUFFQSxTQUFLQyxZQUFMLFlBQTBCLFlBQU07QUFDOUIsTUFBQSxNQUFJLENBQUM3QyxpQkFBTCxDQUF1QjRCLElBQXZCLENBQTRCUSw2QkFBaUJVLFlBQTdDO0FBQ0QsS0FGRDtBQUlBLFNBQUtDLE1BQUwsR0FBY2IsT0FBTyxDQUFDYSxNQUF0Qjs7QUFFQSxRQUFJYixPQUFPLENBQUNjLGNBQVosRUFBNEI7QUFDMUIsV0FBS0EsY0FBTCxHQUFzQmQsT0FBTyxDQUFDYyxjQUE5QjtBQUNEOztBQUVELFNBQUtDLFNBQUwsR0FBaUIsS0FBS0MsV0FBTCxDQUFpQmhCLE9BQU8sQ0FBQ2lCLFFBQXpCLENBQWpCO0FBRUEsU0FBS0MsZUFBTCxHQUF1QixJQUF2QjtBQUNBLFNBQUtDLFNBQUwsR0FBaUJDLHVCQUFXcEMsTUFBWDtBQUFBLCtGQUFrQixrQkFBT25CLFVBQVA7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNqQyxnQkFBQSxNQUFJLENBQUN3RCxrQkFBTCxHQUEwQnhELFVBQTFCO0FBQ0EsZ0JBQUEsTUFBSSxDQUFDeUQsZ0JBQUwsR0FBd0IsSUFBSTdELGFBQUosQ0FBa0JJLFVBQWxCLEVBQThCLE1BQUksQ0FBQ0MsaUJBQW5DLEVBQXNEO0FBQUEseUJBQU0sTUFBSSxDQUFDb0QsZUFBWDtBQUFBLGlCQUF0RCxDQUF4QixDQUZpQyxDQUlqQzs7QUFDQSxnQkFBQSxNQUFJLENBQUNLLGVBQUwsQ0FBcUJDLE9BQXJCOztBQUxpQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxPQUFsQjs7QUFBQTtBQUFBO0FBQUE7QUFBQSxTQU1kQyxLQU5jLEVBQWpCLENBaEMrQyxDQXdDL0M7O0FBQ0EsU0FBS0MscUJBQUw7QUFDRDs7OztXQUVELDBCQUEwRDtBQUFBLFVBQXZDWixjQUF1QyxTQUF2Q0EsY0FBdUM7QUFBQSxVQUF2QkosS0FBdUIsU0FBdkJBLEtBQXVCOztBQUN4RCxVQUFJLEtBQUs1QyxpQkFBTCxDQUF1QjZELFFBQXZCLE9BQXNDekIsNkJBQWlCMEIsS0FBM0QsRUFBa0U7QUFDaEUsY0FBTSxJQUFJL0MsS0FBSixDQUFVLHVCQUFWLENBQU47QUFDRDs7QUFFRCxXQUFLaUMsY0FBTCxHQUFzQkEsY0FBdEI7QUFDQSxXQUFLSixLQUFMLEdBQWFBLEtBQWI7QUFFQSxXQUFLYSxlQUFMLENBQXFCQyxPQUFyQjtBQUNEOzs7V0FFRCxlQUFNO0FBQ0o7QUFDQSxXQUFLSCxrQkFBTCxDQUF3QnZCLFFBQXhCO0FBRUEsV0FBS2hDLGlCQUFMLENBQXVCNEIsSUFBdkIsQ0FBNEJRLDZCQUFpQjBCLEtBQTdDO0FBQ0EsV0FBSzlELGlCQUFMLENBQXVCZ0MsUUFBdkI7QUFFQSxXQUFLK0IsZ0JBQUwsQ0FBc0JDLFVBQXRCO0FBQ0Q7OztXQUVELHlCQUF3QjtBQUN0QixhQUFPO0FBQ0xDLFFBQUFBLGFBQWEsbUJBQVksS0FBS3JCLEtBQWpCLENBRFI7QUFFTCwwQkFBa0IsS0FBS0s7QUFGbEIsT0FBUDtBQUlEOzs7V0FFRCx1QkFBc0Q7QUFBQSxVQUFsQ2lCLFdBQWtDLHVFQUFaLEVBQVk7QUFDcEQsVUFBSUMsV0FBVyxHQUFHLHFCQUFsQjs7QUFFQSxVQUFJRCxXQUFKLEVBQWlCO0FBQ2ZDLFFBQUFBLFdBQVcsZ0JBQVNELFdBQVQsQ0FBWDtBQUNEOztBQUVELHVCQUFVM0UsbUJBQVYsZUFBa0M0RSxXQUFsQztBQUNEOzs7O3dHQUVEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBMkJDLGdCQUFBQSxTQUEzQiw4REFBdUMsSUFBdkM7QUFBNkNDLGdCQUFBQSxVQUE3Qyw4REFBMEQsQ0FBMUQ7QUFBQTtBQUFBLHVCQUNRLEtBQUtDLGVBQUwsRUFEUjs7QUFBQTtBQUdNQyxnQkFBQUEsZ0JBSE4sR0FHeUIsQ0FIekI7O0FBQUE7QUFBQSxzQkFJU0EsZ0JBQWdCLEdBQUcvRSxlQUo1QjtBQUFBO0FBQUE7QUFBQTs7QUFLSStFLGdCQUFBQSxnQkFBZ0I7QUFMcEI7QUFBQSx1QkFNVSxJQUFJQyxPQUFKLENBQVksVUFBQUMsQ0FBQztBQUFBLHlCQUFJQyxVQUFVLENBQUNELENBQUQsRUFBSS9FLG9CQUFKLENBQWQ7QUFBQSxpQkFBYixDQU5WOztBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQVF3QixzQ0FBUyxLQUFLcUQsTUFBZCxzQkFBdUM7QUFBRTRCLGtCQUFBQSxNQUFNLEVBQUUsTUFBVjtBQUFrQkMsa0JBQUFBLE9BQU8sRUFBRSxLQUFLQyxhQUFMO0FBQTNCLGlCQUF2QyxDQVJ4Qjs7QUFBQTtBQVFZQyxnQkFBQUEsR0FSWjs7QUFBQSxxQkFTVUEsR0FBRyxDQUFDQyxFQVRkO0FBQUE7QUFBQTtBQUFBOztBQVVRUixnQkFBQUEsZ0JBQWdCLEdBQUcsQ0FBbkI7QUFWUjtBQUFBLHVCQVdnQ08sR0FBRyxDQUFDRSxJQUFKLEVBWGhDOztBQUFBO0FBQUE7QUFXZ0JwQyxnQkFBQUEsS0FYaEIsbUJBV2dCQSxLQVhoQjtBQVlRLHFCQUFLQSxLQUFMLEdBQWFBLEtBQWI7QUFaUjtBQUFBOztBQUFBO0FBY1Esb0JBQUlrQyxHQUFHLENBQUNHLE1BQUosS0FBZSxHQUFmLElBQXNCSCxHQUFHLENBQUNHLE1BQUosS0FBZSxHQUF6QyxFQUE4QztBQUM1Q3ZDLGtCQUFBQSxPQUFPLENBQUM1QixLQUFSLG1EQUF5RGdFLEdBQUcsQ0FBQ0csTUFBN0QsY0FBdUVILEdBQUcsQ0FBQ0ksVUFBM0U7QUFDQSx1QkFBS25CLGdCQUFMLENBQXNCQyxVQUF0QjtBQUNELGlCQUhELE1BR087QUFDTHRCLGtCQUFBQSxPQUFPLENBQUNDLElBQVIsNEJBQWlDNEIsZ0JBQWpDLHNCQUE2RE8sR0FBRyxDQUFDRyxNQUFqRSxjQUEyRUgsR0FBRyxDQUFDSSxVQUEvRTtBQUNEOztBQW5CVDtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBc0JNeEMsZ0JBQUFBLE9BQU8sQ0FBQ0MsSUFBUiw0QkFBaUM0QixnQkFBakM7O0FBdEJOO0FBQUE7QUFBQTs7QUFBQTtBQTBCRTdCLGdCQUFBQSxPQUFPLENBQUM1QixLQUFSLENBQWMsbUJBQWQ7QUFDQSxxQkFBS2lELGdCQUFMLENBQXNCQyxVQUF0Qjs7QUEzQkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7Ozs7OztXQThCQSxzQkFBYTdDLFFBQWIsRUFBaUM7QUFBQTs7QUFDL0IsVUFDRSxLQUFLbkIsaUJBQUwsQ0FBdUJtRixLQUF2QixLQUFpQy9DLDZCQUFpQjBCLEtBQWxELElBQ0EsS0FBSzlELGlCQUFMLENBQXVCbUYsS0FBdkIsS0FBaUMvQyw2QkFBaUJnRCxlQUZwRCxFQUdFO0FBQ0EsZUFBTzlCLGdDQUFpQixJQUFJdkMsS0FBSixDQUFVLHNCQUFWLENBQWpCLENBQVA7QUFDRDs7QUFFRCxVQUFJSSxRQUFRLENBQUNzQixJQUFULEtBQWtCLFNBQWxCLElBQStCdEIsUUFBUSxDQUFDQyxXQUF4QyxJQUF1REQsUUFBUSxDQUFDQyxXQUFULENBQXFCUCxNQUFyQixHQUE4QixDQUF6RixFQUE0RjtBQUMxRixlQUFPLEtBQUt3RSwwQkFBTCxDQUFnQ2xFLFFBQWhDLENBQVA7QUFDRDs7QUFFRCxVQUFNbUUsS0FBSyxHQUFHaEMsdUJBQVdwQyxNQUFYO0FBQUEsa0dBQWtCLGtCQUFNbkIsVUFBTjtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQ3hCRyxrQkFBQUEsT0FEd0IsR0FDZGMsSUFBSSxDQUFDdUUsZ0JBQUwsQ0FBc0JyRSxNQUF0QixDQUNkLE1BRGMsRUFFZCxrQ0FBa0MsTUFBSSxDQUFDOEIsY0FBdkMsR0FBd0QsYUFGMUMsQ0FEYztBQUs5QjlDLGtCQUFBQSxPQUFPLENBQUNzRixPQUFSLENBQWdCOUUsSUFBSSxDQUFDK0UsU0FBTCxDQUFldEUsUUFBZixDQUFoQjtBQUw4QjtBQUFBO0FBQUEseUJBUVQsTUFBSSxDQUFDNEMsZ0JBQUwsQ0FBc0IyQixJQUF0QixDQUEyQnhGLE9BQTNCLENBUlM7O0FBQUE7QUFRdEJ5RixrQkFBQUEsSUFSc0I7O0FBQUEsd0JBU3hCQSxJQUFJLENBQUNDLFVBQUwsS0FBb0IsR0FUSTtBQUFBO0FBQUE7QUFBQTs7QUFBQSx3QkFTTyxJQUFJN0UsS0FBSixDQUFVLDJCQUEyQjRFLElBQUksQ0FBQ0MsVUFBMUMsQ0FUUDs7QUFBQTtBQVV0QkMsa0JBQUFBLGVBVnNCLEdBVUpGLElBQUksQ0FBQ3ZGLE9BQUwsQ0FBYVMsTUFWVDs7QUFBQSx3QkFXeEJnRixlQUFlLEtBQUssQ0FYSTtBQUFBO0FBQUE7QUFBQTs7QUFBQSx3QkFXSyxJQUFJOUUsS0FBSixDQUFVLGlDQUFpQzhFLGVBQTNDLENBWEw7O0FBQUE7QUFBQTtBQUFBLHlCQVlMRixJQUFJLENBQUN2RixPQUFMLENBQWEsQ0FBYixFQUFnQkcsWUFBaEIsRUFaSzs7QUFBQTtBQVl0QnVGLGtCQUFBQSxRQVpzQjtBQUFBLGdDQWFUcEYsSUFBSSxDQUFDQyxLQUFMLENBQVdtRixRQUFYLENBYlMsRUFhaEJDLEVBYmdCLGVBYXBCQyxFQWJvQjtBQWM1QmpHLGtCQUFBQSxVQUFVLENBQUM2QixJQUFYLENBQWdCbUUsRUFBaEI7QUFkNEIsb0RBZXJCaEcsVUFBVSxDQUFDaUMsUUFBWCxFQWZxQjs7QUFBQTtBQUFBO0FBQUE7QUFpQjVCO0FBQ0E7QUFDQTtBQUNBVSxrQkFBQUEsT0FBTyxDQUFDQyxJQUFSOztBQUNBLGtCQUFBLE1BQUksQ0FBQ29CLGdCQUFMLENBQXNCQyxVQUF0Qjs7QUFyQjRCLG9EQXNCckJqRSxVQUFVLENBQUNlLEtBQVgsY0F0QnFCOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFNBQWxCOztBQUFBO0FBQUE7QUFBQTtBQUFBLFVBQWQ7O0FBeUJBLGFBQU93RSxLQUFQO0FBQ0Q7OztXQUVELG9DQUFtQ1csT0FBbkMsRUFBcUQ7QUFBQTs7QUFDbkQsVUFBUTdFLFdBQVIsR0FBc0Q2RSxPQUF0RCxDQUFRN0UsV0FBUjtBQUFBLFVBQXdCOEUseUJBQXhCLDZDQUFzREQsT0FBdEQ7QUFFQSxhQUFPM0MsdUJBQVdwQyxNQUFYLENBQWtCLFVBQUFuQixVQUFVLEVBQUk7QUFDckMsWUFBTW9HLGVBQWUsR0FBRyxFQUF4QjtBQUNBLHNGQUFDO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEseUJBRThCM0IsT0FBTyxDQUFDNEIsR0FBUixDQUN6QmhGLFdBQVcsQ0FBQ2lGLEdBQVo7QUFBQSw4R0FBZ0Isa0JBQU0vRSxVQUFOO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNSZ0YsOEJBQUFBLEtBRFEsR0FDQWhGLFVBREE7QUFBQTtBQUFBLHFDQUVJLDRCQUFNZ0YsS0FBSyxDQUFDNUUsVUFBWixDQUZKOztBQUFBO0FBRVJvRCw4QkFBQUEsR0FGUTs7QUFBQSxtQ0FHVkEsR0FBRyxDQUFDQyxFQUhNO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUEscUNBSWdCRCxHQUFHLENBQUN5QixXQUFKLEVBSmhCOztBQUFBO0FBQUE7QUFBQSw2Q0FJbUNELEtBSm5DO0FBQUE7QUFJSEMsZ0NBQUFBLFdBSkc7QUFJbUNELGdDQUFBQSxLQUpuQztBQUFBOztBQUFBO0FBQUEsb0NBTU4sSUFBSXZGLEtBQUosQ0FBVSxLQUFWLENBTk07O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEscUJBQWhCOztBQUFBO0FBQUE7QUFBQTtBQUFBLHNCQUR5QixDQUY5Qjs7QUFBQTtBQUVTeUYsa0JBQUFBLFlBRlQ7QUFjR0Esa0JBQUFBLFlBQVksQ0FBQzFFLE9BQWIsQ0FBcUIsaUJBQTRCO0FBQUEsd0JBQXpCeUUsV0FBeUIsU0FBekJBLFdBQXlCO0FBQUEsd0JBQVpELEtBQVksU0FBWkEsS0FBWTs7QUFDL0Msd0JBQU1HLE1BQU0sR0FBR0MsZUFBT0MsSUFBUCxDQUFZSixXQUFaLENBQWY7O0FBQ0Esd0JBQU1sRixNQUFNLEdBQUcsSUFBSUwsSUFBSSxDQUFDNEYsa0JBQVQsRUFBZjtBQUNBdkYsb0JBQUFBLE1BQU0sQ0FBQ3dGLEtBQVAsQ0FBYUosTUFBYjtBQUNBLHdCQUFNSyxXQUFXLEdBQUcsSUFBSTlGLElBQUksQ0FBQytGLFdBQVQsQ0FBcUI7QUFBRXRFLHNCQUFBQSxJQUFJLEVBQUU2RCxLQUFLLENBQUM3RSxXQUFkO0FBQTJCdUYsc0JBQUFBLGFBQWEsRUFBRVAsTUFBTSxDQUFDNUY7QUFBakQscUJBQXJCLEVBQWdGUSxNQUFoRixDQUFwQjtBQUNBOEUsb0JBQUFBLGVBQWUsQ0FBQzNFLElBQWhCLENBQXFCc0YsV0FBckI7QUFDRCxtQkFORDtBQVFNRyxrQkFBQUEsR0F0QlQsMENBc0IrQyxNQUFJLENBQUNqRSxjQXRCcEQsb0JBc0I0RWtELHlCQUF5QixDQUFDUyxJQUExQixDQUErQlosRUF0QjNHO0FBdUJTN0Ysa0JBQUFBLE9BdkJULEdBdUJtQmMsSUFBSSxDQUFDdUUsZ0JBQUwsQ0FBc0JyRSxNQUF0QixDQUE2QixLQUE3QixFQUFvQytGLEdBQXBDLENBdkJuQjtBQXdCU0Msa0JBQUFBLGNBeEJULEdBd0IwQixJQUFJbEcsSUFBSSxDQUFDNEYsa0JBQVQsRUF4QjFCO0FBeUJHTSxrQkFBQUEsY0FBYyxDQUFDTCxLQUFmLENBQXFCbkcsSUFBSSxDQUFDK0UsU0FBTCxDQUFlUyx5QkFBZixDQUFyQixFQUFnRSxPQUFoRTtBQUNBaEcsa0JBQUFBLE9BQU8sQ0FBQ2lILFNBQVIsQ0FDRSxJQUFJbkcsSUFBSSxDQUFDK0YsV0FBVCxDQUNFO0FBQUV0RSxvQkFBQUEsSUFBSSxFQUFFLG9DQUFSO0FBQThDdUUsb0JBQUFBLGFBQWEsRUFBRUUsY0FBYyxDQUFDckc7QUFBNUUsbUJBREYsRUFFRXFHLGNBRkYsQ0FERjtBQU1BZixrQkFBQUEsZUFBZSxDQUFDckUsT0FBaEIsQ0FBd0IsVUFBQXNGLENBQUM7QUFBQSwyQkFBSWxILE9BQU8sQ0FBQ2lILFNBQVIsQ0FBa0JDLENBQWxCLENBQUo7QUFBQSxtQkFBekI7QUFoQ0g7QUFBQSx5QkFrQ3NCLE1BQUksQ0FBQ3JELGdCQUFMLENBQXNCMkIsSUFBdEIsQ0FBMkJ4RixPQUEzQixDQWxDdEI7O0FBQUE7QUFrQ1N5RixrQkFBQUEsSUFsQ1Q7O0FBQUEsd0JBbUNPQSxJQUFJLENBQUN2RixPQUFMLElBQWdCdUYsSUFBSSxDQUFDdkYsT0FBTCxDQUFhUyxNQUFiLEtBQXdCLENBbkMvQztBQUFBO0FBQUE7QUFBQTs7QUFvQ0tkLGtCQUFBQSxVQUFVLENBQUNlLEtBQVgsQ0FBaUIsSUFBSUMsS0FBSixnQ0FBa0M0RSxJQUFJLENBQUN2RixPQUFMLENBQWFTLE1BQS9DLEVBQWpCO0FBcENMO0FBQUE7O0FBQUE7QUFBQTtBQUFBLHlCQXNDOEI4RSxJQUFJLENBQUN2RixPQUFMLENBQWEsQ0FBYixFQUFnQmlILFVBQWhCLEVBdEM5Qjs7QUFBQTtBQUFBO0FBc0NpQnRCLGtCQUFBQSxFQXRDakIsd0JBc0NhQyxFQXRDYjtBQXVDS2pHLGtCQUFBQSxVQUFVLENBQUM2QixJQUFYLENBQWdCbUUsRUFBaEI7QUFDQWhHLGtCQUFBQSxVQUFVLENBQUNpQyxRQUFYOztBQXhDTDtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBMkNHakMsa0JBQUFBLFVBQVUsQ0FBQ2UsS0FBWDs7QUEzQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsU0FBRDtBQThDRCxPQWhETSxDQUFQO0FBaUREOzs7OzJHQUVEO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxrREFDUyxJQUFJMEQsT0FBSixDQUFrQixVQUFDZCxPQUFELEVBQVU0RCxNQUFWLEVBQXFCO0FBQzVDLGtCQUFBLE1BQUksQ0FBQ3RILGlCQUFMLENBQXVCNkIsU0FBdkIsQ0FDRSxVQUFBMEYsRUFBRSxFQUFJO0FBQ0osd0JBQUlBLEVBQUUsS0FBS25GLDZCQUFpQm9GLE1BQTVCLEVBQW9DO0FBQ2xDLDZCQUFPOUQsT0FBTyxFQUFkO0FBQ0Q7QUFDRixtQkFMSCxFQU1FLFVBQUEwRCxDQUFDO0FBQUEsMkJBQUlFLE1BQU0sQ0FBQ0YsQ0FBRCxDQUFWO0FBQUEsbUJBTkg7QUFRRCxpQkFUTSxDQURUOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE87Ozs7Ozs7Ozs7O3dHQWFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNRSyxnQkFBQUEsRUFEUixHQUNhLElBQUlDLE1BQUosQ0FBVyxXQUFYLENBRGI7O0FBQUEsb0JBR09ELEVBQUUsQ0FBQ0UsSUFBSCxDQUFRLEtBQUs1RSxNQUFiLENBSFA7QUFBQTtBQUFBO0FBQUE7O0FBQUEsc0JBSVUsc0NBSlY7O0FBQUE7QUFPUTZFLGdCQUFBQSxNQVBSLEdBT2lCO0FBQUVoRixrQkFBQUEsS0FBSyxFQUFFLEtBQUtBO0FBQWQsaUJBUGpCOztBQVNFLG9CQUFJLEtBQUtJLGNBQVQsRUFBeUI7QUFDdkI0RSxrQkFBQUEsTUFBTSxDQUFDLGdCQUFELENBQU4sR0FBMkIsS0FBSzVFLGNBQWhDO0FBQ0Q7O0FBRUs2RSxnQkFBQUEsZUFiUixHQWEwQixJQUFJQyxlQUFKLEVBYjFCO0FBY1FDLGdCQUFBQSxlQWRSLEdBYzBCLElBQUlDLGVBQUosQ0FBb0JKLE1BQXBCLEVBQTRCSyxRQUE1QixFQWQxQjtBQWVRQyxnQkFBQUEsS0FmUixhQWVtQixLQUFLbkYsTUFBTCxDQUFZb0YsT0FBWixDQUFvQlYsRUFBcEIsRUFBd0IsTUFBeEIsQ0FmbkIsb0NBZTRFTSxlQWY1RSxHQWlCRTs7QUFqQkYsa0RBa0JTLElBQUl2RCxPQUFKO0FBQUEsNEdBQVksa0JBQU9kLE9BQVAsRUFBZ0I0RCxNQUFoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVmLDRCQUFBLE1BQUksQ0FBQ3ZELGdCQUFMLEdBQXdCLElBQUlxRSxpREFBSixDQUEwQztBQUNoRUMsOEJBQUFBLG9CQUFvQixFQUFFM0UsT0FEMEM7QUFFaEVwQiw4QkFBQUEsa0JBQWtCLHlDQUFFLE1BQUYsc0JBRjhDO0FBR2hFZ0csOEJBQUFBLGNBQWMsRUFBRTtBQUNkQyxnQ0FBQUEsY0FBYyxFQUFFLHdCQUFBQyxnQkFBZ0IsRUFBSTtBQUNsQztBQUNBO0FBQ0Esc0NBQUlYLGVBQWUsQ0FBQ1ksTUFBaEIsQ0FBdUJDLE9BQTNCLEVBQW9DO0FBQ2xDLDBDQUFNLElBQUkzSCxLQUFKLENBQVUsaUZBQVYsQ0FBTjtBQUNEOztBQUVELHlDQUFPLE1BQUksQ0FBQ3lDLGdCQUFMLENBQXNCK0UsY0FBdEIsQ0FBcUNDLGdCQUFyQyxDQUFQO0FBQ0Q7QUFUYSwrQkFIZ0Q7QUFjaEV2Qiw4QkFBQUEsR0FBRyxFQUFFaUI7QUFkMkQsNkJBQTFDLENBQXhCO0FBaUJBLDRCQUFBLE1BQUksQ0FBQzlFLGVBQUwsR0FBdUIsSUFBdkI7QUFuQmU7QUFBQSxtQ0FxQlQsTUFBSSxDQUFDVyxnQkFBTCxDQUFzQjRFLE9BQXRCLEVBckJTOztBQUFBO0FBdUJUekksNEJBQUFBLE9BdkJTLEdBdUJDYyxJQUFJLENBQUN1RSxnQkFBTCxDQUFzQnJFLE1BQXRCLENBQTZCLE1BQTdCLEVBQXFDLDhCQUFyQyxDQXZCRDtBQUFBO0FBQUEsbUNBd0JRLE1BQUksQ0FBQzZDLGdCQUFMLENBQXNCMkIsSUFBdEIsQ0FBMkJ4RixPQUEzQixDQXhCUjs7QUFBQTtBQXdCVDBJLDRCQUFBQSxRQXhCUzs7QUFBQSxrQ0EwQlhBLFFBQVEsQ0FBQ2hELFVBQVQsS0FBd0IsR0ExQmI7QUFBQTtBQUFBO0FBQUE7O0FBQUEsa0NBMkJQLElBQUk3RSxLQUFKLENBQVUsOEJBQThCNkgsUUFBUSxDQUFDaEQsVUFBakQsQ0EzQk87O0FBQUE7QUFBQSxrQ0E4QlhnRCxRQUFRLENBQUN4SSxPQUFULENBQWlCUyxNQUFqQixLQUE0QixDQTlCakI7QUFBQTtBQUFBO0FBQUE7O0FBQUEsa0NBK0JQLElBQUlFLEtBQUosQ0FBVSwrQkFBK0I2SCxRQUFRLENBQUN4SSxPQUFULENBQWlCUyxNQUExRCxDQS9CTzs7QUFBQTtBQUFBO0FBQUEsbUNBa0NjK0gsUUFBUSxDQUFDeEksT0FBVCxDQUFpQixDQUFqQixFQUFvQkcsWUFBcEIsRUFsQ2Q7O0FBQUE7QUFrQ1RzSSw0QkFBQUEsY0FsQ1M7QUFtQ1RDLDRCQUFBQSxZQW5DUyxHQW1DTXBJLElBQUksQ0FBQ0MsS0FBTCxDQUFXa0ksY0FBWCxDQW5DTjtBQXFDZiw0QkFBQSxNQUFJLENBQUM3RixjQUFMLEdBQXNCOEYsWUFBWSxDQUFDOUYsY0FBbkM7O0FBQ0EsNEJBQUEsTUFBSSxDQUFDaEQsaUJBQUwsQ0FBdUI0QixJQUF2QixDQUE0QlEsNkJBQWlCb0YsTUFBN0MsRUF0Q2UsQ0F3Q2Y7QUFDQTtBQUNBOzs7QUExQ2U7QUFBQSxtQ0EyQ1QsTUFBSSxDQUFDbEQsZUFBTCxFQTNDUzs7QUFBQTtBQTZDZiw0QkFBQSxNQUFJLENBQUNkLGdCQUFMLENBQXNCdUYsS0FBdEI7O0FBQ0EsNEJBQUEsTUFBSSxDQUFDM0YsZUFBTCxHQUF1QixLQUF2QjtBQTlDZTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWdEZmtFLDRCQUFBQSxNQUFNLGNBQU47O0FBaERlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUFaOztBQUFBO0FBQUE7QUFBQTtBQUFBLGdDQWtESTtBQUFBLHlCQUFNTyxlQUFlLENBQUNtQixLQUFoQixFQUFOO0FBQUEsaUJBbERKLENBbEJUOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLE87Ozs7Ozs7Ozs7O2lIQXVFQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHVCQU1VLENBQUMsS0FBS3ZGLGVBQUwsR0FBdUIsaUNBQXhCLEVBQTBDd0YsT0FOcEQ7O0FBQUE7QUFRUUMsZ0JBQUFBLFVBUlIsR0FRcUIxSixlQVJyQjtBQVVJLHFCQUFLUSxpQkFBTCxDQUF1QjRCLElBQXZCLENBQTRCUSw2QkFBaUIrRyxVQUE3Qzs7QUFWSjtBQUFBLHNCQVlXRCxVQUFVLEdBQUcsQ0FaeEI7QUFBQTtBQUFBO0FBQUE7O0FBYU1BLGdCQUFBQSxVQUFVO0FBRUpFLGdCQUFBQSxLQWZaLEdBZW9CQyxJQUFJLENBQUNDLEdBQUwsRUFmcEI7QUFBQTtBQUFBO0FBQUEsdUJBbUJjLEtBQUtDLFlBQUwsRUFuQmQ7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQXFCUTdHLGdCQUFBQSxPQUFPLENBQUM1QixLQUFSOztBQXJCUjtBQUFBLHNCQXlCVSxLQUFLZCxpQkFBTCxDQUF1QjZELFFBQXZCLE9BQXNDekIsNkJBQWlCMEIsS0F6QmpFO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBOEJNO0FBQ0E7QUFDQSxvQkFBSSxLQUFLOUQsaUJBQUwsQ0FBdUI2RCxRQUF2QixPQUFzQ3pCLDZCQUFpQitHLFVBQTNELEVBQXVFO0FBQ3JFLHVCQUFLbkosaUJBQUwsQ0FBdUI0QixJQUF2QixDQUE0QlEsNkJBQWlCK0csVUFBN0M7QUFDRCxpQkFsQ1AsQ0FvQ007QUFDQTtBQUNBOzs7QUF0Q04sc0JBdUNVLFFBQVFFLElBQUksQ0FBQ0MsR0FBTCxLQUFhRixLQXZDL0I7QUFBQTtBQUFBO0FBQUE7O0FBd0NRRixnQkFBQUEsVUFBVSxHQUFHMUosZUFBYjtBQXhDUjtBQUFBOztBQUFBO0FBQUEsc0JBeUNpQjBKLFVBQVUsR0FBRyxDQXpDOUI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSx1QkEyQ2MsSUFBSTFFLE9BQUosQ0FBWSxVQUFBQyxDQUFDO0FBQUEseUJBQUlDLFVBQVUsQ0FBQ0QsQ0FBRCxFQUFJLE1BQUksQ0FBQytFLGFBQUwsRUFBSixDQUFkO0FBQUEsaUJBQWIsQ0EzQ2Q7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBK0NJO0FBQ0E7QUFDQSxxQkFBS3hKLGlCQUFMLENBQXVCNEIsSUFBdkIsQ0FBNEJRLDZCQUFpQmdELGVBQTdDOztBQWpESjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7OztRQXVEQTs7OztXQUNBLHlCQUF3QjtBQUN0QixhQUFPcUUsSUFBSSxDQUFDQyxLQUFMLENBQVcsT0FBT0QsSUFBSSxDQUFDRSxNQUFMLEtBQWdCLEtBQWxDLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEluIG9yZGVyIHRvIGtlZXAgZmlsZSBzaXplIGRvd24sIG9ubHkgaW1wb3J0IHRoZSBwYXJ0cyBvZiByeGpzIHRoYXQgd2UgdXNlXG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzL1N1YnNjcmliZXInO1xuaW1wb3J0ICogYXMgQkZTRSBmcm9tICdib3RmcmFtZXdvcmstc3RyZWFtaW5nJztcbmltcG9ydCBjcmVhdGVEZWZlcnJlZCBmcm9tICcuL2NyZWF0ZURlZmVycmVkJztcbmltcG9ydCBmZXRjaCBmcm9tICdjcm9zcy1mZXRjaCc7XG5cbmltcG9ydCB7IEFjdGl2aXR5LCBDb25uZWN0aW9uU3RhdHVzLCBDb252ZXJzYXRpb24sIERpcmVjdExpbmUsIElCb3RDb25uZWN0aW9uLCBNZWRpYSwgTWVzc2FnZSB9IGZyb20gJy4vZGlyZWN0TGluZSc7XG5pbXBvcnQgV2ViU29ja2V0Q2xpZW50V2l0aE5ldHdvcmtJbmZvcm1hdGlvbiBmcm9tICcuL3N0cmVhbWluZy9XZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uJztcbmltcG9ydCB0eXBlIHsgRGVmZXJyZWQgfSBmcm9tICcuL2NyZWF0ZURlZmVycmVkJztcblxuY29uc3QgRElSRUNUX0xJTkVfVkVSU0lPTiA9ICdEaXJlY3RMaW5lLzMuMCc7XG5jb25zdCBNQVhfUkVUUllfQ09VTlQgPSAzO1xuY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSAzMCAqIDYwICogMTAwMDtcbi8vY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSA1MDAwO1xuLy8gY29uc3QgdGltZW91dCA9IDIwICogMTAwMDtcbmNvbnN0IHJlZnJlc2hUb2tlbkludGVydmFsID0gcmVmcmVzaFRva2VuTGlmZXRpbWUgLyAyO1xuXG5pbnRlcmZhY2UgRGlyZWN0TGluZVN0cmVhbWluZ09wdGlvbnMge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgZG9tYWluOiBzdHJpbmc7XG4gIC8vIEF0dGFjaGVkIHRvIGFsbCByZXF1ZXN0cyB0byBpZGVudGlmeSByZXF1ZXN0aW5nIGFnZW50LlxuICBib3RBZ2VudD86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0cyB0aGUgW2BOZXR3b3JrSW5mb3JtYXRpb25gIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL05ldHdvcmtfSW5mb3JtYXRpb25fQVBJKS5cbiAgICogV2hlbiB0aGUgYE5ldHdvcmtJbmZvcm1hdGlvbmAgZGV0ZWN0IG5ldHdvcmsgY2hhbmdlcyBvciBvZmZsaW5lLCBpdCB3aWxsIGRpc2Nvbm5lY3QgdGhlIFdlYiBTb2NrZXQgYW5kIHJlY29ubmVjdCBpdC5cbiAgICovXG4gIG5ldHdvcmtJbmZvcm1hdGlvbj86IE5ldHdvcmtJbmZvcm1hdGlvbjtcbn1cblxuY2xhc3MgU3RyZWFtSGFuZGxlciBpbXBsZW1lbnRzIEJGU0UuUmVxdWVzdEhhbmRsZXIge1xuICBwcml2YXRlIGNvbm5lY3Rpb25TdGF0dXMkO1xuICBwcml2YXRlIHN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+O1xuICBwcml2YXRlIHNob3VsZFF1ZXVlOiAoKSA9PiBib29sZWFuO1xuICBwcml2YXRlIGFjdGl2aXR5UXVldWU6IEFycmF5PEFjdGl2aXR5PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHM6IFN1YnNjcmliZXI8QWN0aXZpdHk+LCBjJDogT2JzZXJ2YWJsZTxDb25uZWN0aW9uU3RhdHVzPiwgc3E6ICgpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN1YnNjcmliZXIgPSBzO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQgPSBjJDtcbiAgICB0aGlzLnNob3VsZFF1ZXVlID0gc3E7XG4gIH1cblxuICBwdWJsaWMgc2V0U3Vic2NyaWJlcihzOiBTdWJzY3JpYmVyPEFjdGl2aXR5Pikge1xuICAgIHRoaXMuc3Vic2NyaWJlciA9IHM7XG4gIH1cblxuICBhc3luYyBwcm9jZXNzUmVxdWVzdChyZXF1ZXN0OiBCRlNFLklSZWNlaXZlUmVxdWVzdCwgbG9nZ2VyPzogYW55KTogUHJvbWlzZTxCRlNFLlN0cmVhbWluZ1Jlc3BvbnNlPiB7XG4gICAgY29uc3Qgc3RyZWFtcyA9IFsuLi5yZXF1ZXN0LnN0cmVhbXNdO1xuICAgIGNvbnN0IHN0cmVhbTAgPSBzdHJlYW1zLnNoaWZ0KCk7XG4gICAgY29uc3QgYWN0aXZpdHlTZXRKc29uID0gYXdhaXQgc3RyZWFtMC5yZWFkQXNTdHJpbmcoKTtcbiAgICBjb25zdCBhY3Rpdml0eVNldCA9IEpTT04ucGFyc2UoYWN0aXZpdHlTZXRKc29uKTtcblxuICAgIGlmIChhY3Rpdml0eVNldC5hY3Rpdml0aWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgLy8gT25seSBvbmUgYWN0aXZpdHkgaXMgZXhwZWN0ZWQgaW4gYSBzZXQgaW4gc3RyZWFtaW5nXG4gICAgICB0aGlzLnN1YnNjcmliZXIuZXJyb3IobmV3IEVycm9yKCd0aGVyZSBzaG91bGQgYmUgZXhhY3RseSBvbmUgYWN0aXZpdHknKSk7XG4gICAgICByZXR1cm4gQkZTRS5TdHJlYW1pbmdSZXNwb25zZS5jcmVhdGUoNTAwKTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpdml0eSA9IGFjdGl2aXR5U2V0LmFjdGl2aXRpZXNbMF07XG5cbiAgICBpZiAoc3RyZWFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhdHRhY2htZW50cyA9IFsuLi5hY3Rpdml0eS5hdHRhY2htZW50c107XG5cbiAgICAgIGxldCBzdHJlYW06IEJGU0UuQ29udGVudFN0cmVhbTtcbiAgICAgIHdoaWxlICgoc3RyZWFtID0gc3RyZWFtcy5zaGlmdCgpKSkge1xuICAgICAgICBjb25zdCBhdHRhY2htZW50ID0gYXdhaXQgc3RyZWFtLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBkYXRhVXJpID0gJ2RhdGE6dGV4dC9wbGFpbjtiYXNlNjQsJyArIGF0dGFjaG1lbnQ7XG4gICAgICAgIGF0dGFjaG1lbnRzLnB1c2goeyBjb250ZW50VHlwZTogc3RyZWFtLmNvbnRlbnRUeXBlLCBjb250ZW50VXJsOiBkYXRhVXJpIH0pO1xuICAgICAgfVxuXG4gICAgICBhY3Rpdml0eS5hdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3VsZFF1ZXVlKCkpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlRdWV1ZS5wdXNoKGFjdGl2aXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpYmVyLm5leHQoYWN0aXZpdHkpO1xuICAgIH1cblxuICAgIHJldHVybiBCRlNFLlN0cmVhbWluZ1Jlc3BvbnNlLmNyZWF0ZSgyMDApO1xuICB9XG5cbiAgcHVibGljIGZsdXNoKCkge1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICB0aGlzLmFjdGl2aXR5UXVldWUuZm9yRWFjaChhID0+IHRoaXMuc3Vic2NyaWJlci5uZXh0KGEpKTtcbiAgICB0aGlzLmFjdGl2aXR5UXVldWUgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBlbmQoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpcmVjdExpbmVTdHJlYW1pbmcgaW1wbGVtZW50cyBJQm90Q29ubmVjdGlvbiB7XG4gIHB1YmxpYyBjb25uZWN0aW9uU3RhdHVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoQ29ubmVjdGlvblN0YXR1cy5VbmluaXRpYWxpemVkKTtcbiAgcHVibGljIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT47XG5cbiAgcHJpdmF0ZSBhY3Rpdml0eVN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+O1xuICBwcml2YXRlIGNvbm5lY3REZWZlcnJlZDogRGVmZXJyZWQ8dm9pZD47XG4gIHByaXZhdGUgdGhlU3RyZWFtSGFuZGxlcjogU3RyZWFtSGFuZGxlcjtcblxuICBwcml2YXRlIGRvbWFpbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHN0cmVhbUNvbm5lY3Rpb246IEJGU0UuV2ViU29ja2V0Q2xpZW50O1xuICBwcml2YXRlIHF1ZXVlQWN0aXZpdGllczogYm9vbGVhbjtcblxuICBwcml2YXRlIF9ib3RBZ2VudCA9ICcnO1xuXG4gICNuZXR3b3JrSW5mb3JtYXRpb246IE5ldHdvcmtJbmZvcm1hdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEaXJlY3RMaW5lU3RyZWFtaW5nT3B0aW9ucykge1xuICAgIC8vIFJlY3RpZmllcyBgb3B0aW9ucy5uZXR3b3JrSW5mb3JtYXRpb25gLlxuICAgIGNvbnN0IG5ldHdvcmtJbmZvcm1hdGlvbiA9IG9wdGlvbnM/Lm5ldHdvcmtJbmZvcm1hdGlvbjtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBuZXR3b3JrSW5mb3JtYXRpb24gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAodHlwZW9mIG5ldHdvcmtJbmZvcm1hdGlvbi5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHR5cGVvZiBuZXR3b3JrSW5mb3JtYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0eXBlb2YgbmV0d29ya0luZm9ybWF0aW9uLnR5cGUgPT09ICdzdHJpbmcnKVxuICAgICkge1xuICAgICAgdGhpcy4jbmV0d29ya0luZm9ybWF0aW9uID0gbmV0d29ya0luZm9ybWF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdib3RmcmFtZXdvcmstZGlyZWN0bGluZWpzOiBcIm5ldHdvcmtJbmZvcm1hdGlvblwiIG9wdGlvbiBzcGVjaWZpZWQgbXVzdCBiZSBhIGBOZXR3b3JrSW5mb3JtYXRpb25gLWxpa2UgaW5zdGFuY2UgZXh0ZW5kaW5nIGBFdmVudFRhcmdldGAgaW50ZXJmYWNlIHdpdGggYSBgdHlwZWAgcHJvcGVydHkgcmV0dXJuaW5nIGEgc3RyaW5nLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50b2tlbiA9IG9wdGlvbnMudG9rZW47XG5cbiAgICB0aGlzLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvbWFpbiA9IG9wdGlvbnMuZG9tYWluO1xuXG4gICAgaWYgKG9wdGlvbnMuY29udmVyc2F0aW9uSWQpIHtcbiAgICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBvcHRpb25zLmNvbnZlcnNhdGlvbklkO1xuICAgIH1cblxuICAgIHRoaXMuX2JvdEFnZW50ID0gdGhpcy5nZXRCb3RBZ2VudChvcHRpb25zLmJvdEFnZW50KTtcblxuICAgIHRoaXMucXVldWVBY3Rpdml0aWVzID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5JCA9IE9ic2VydmFibGUuY3JlYXRlKGFzeW5jIChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPEFjdGl2aXR5PikgPT4ge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmliZXIgPSBzdWJzY3JpYmVyO1xuICAgICAgdGhpcy50aGVTdHJlYW1IYW5kbGVyID0gbmV3IFN0cmVhbUhhbmRsZXIoc3Vic2NyaWJlciwgdGhpcy5jb25uZWN0aW9uU3RhdHVzJCwgKCkgPT4gdGhpcy5xdWV1ZUFjdGl2aXRpZXMpO1xuXG4gICAgICAvLyBSZXNvbHZpbmcgY29ubmVjdERlZmVycmVkIHdpbGwga2ljay1vZmYgdGhlIGNvbm5lY3Rpb24uXG4gICAgICB0aGlzLmNvbm5lY3REZWZlcnJlZC5yZXNvbHZlKCk7XG4gICAgfSkuc2hhcmUoKTtcblxuICAgIC8vIGNvbm5lY3RXaXRoUmV0cnlBc3luYygpIHdpbGwgY3JlYXRlIHRoZSBjb25uZWN0RGVmZXJyZWQgb2JqZWN0IHJlcXVpcmVkIGluIGFjdGl2aXR5JC5cbiAgICB0aGlzLmNvbm5lY3RXaXRoUmV0cnlBc3luYygpO1xuICB9XG5cbiAgcHVibGljIHJlY29ubmVjdCh7IGNvbnZlcnNhdGlvbklkLCB0b2tlbiB9OiBDb252ZXJzYXRpb24pIHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaGFzIGVuZGVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBjb252ZXJzYXRpb25JZDtcbiAgICB0aGlzLnRva2VuID0gdG9rZW47XG5cbiAgICB0aGlzLmNvbm5lY3REZWZlcnJlZC5yZXNvbHZlKCk7XG4gIH1cblxuICBlbmQoKSB7XG4gICAgLy8gT25jZSBlbmQoKSBpcyBjYWxsZWQsIG5vIHJlY29ubmVjdGlvbiBjYW4gYmUgbWFkZS5cbiAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQuY29tcGxldGUoKTtcblxuICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1vbkhlYWRlcnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLnRva2VufWAsXG4gICAgICAneC1tcy1ib3QtYWdlbnQnOiB0aGlzLl9ib3RBZ2VudFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEJvdEFnZW50KGN1c3RvbUFnZW50OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgbGV0IGNsaWVudEFnZW50ID0gJ2RpcmVjdGxpbmVTdHJlYW1pbmcnO1xuXG4gICAgaWYgKGN1c3RvbUFnZW50KSB7XG4gICAgICBjbGllbnRBZ2VudCArPSBgOyAke2N1c3RvbUFnZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke0RJUkVDVF9MSU5FX1ZFUlNJT059ICgke2NsaWVudEFnZW50fSlgO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWZyZXNoVG9rZW4oZmlyc3RDYWxsID0gdHJ1ZSwgcmV0cnlDb3VudCA9IDApIHtcbiAgICBhd2FpdCB0aGlzLndhaXRVbnRpbE9ubGluZSgpO1xuXG4gICAgbGV0IG51bWJlck9mQXR0ZW1wdHMgPSAwO1xuICAgIHdoaWxlIChudW1iZXJPZkF0dGVtcHRzIDwgTUFYX1JFVFJZX0NPVU5UKSB7XG4gICAgICBudW1iZXJPZkF0dGVtcHRzKys7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgcmVmcmVzaFRva2VuSW50ZXJ2YWwpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke3RoaXMuZG9tYWlufS90b2tlbnMvcmVmcmVzaGAsIHsgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHRoaXMuY29tbW9uSGVhZGVycygpIH0pO1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgbnVtYmVyT2ZBdHRlbXB0cyA9IDA7XG4gICAgICAgICAgY29uc3QgeyB0b2tlbiB9ID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDQwMyB8fCByZXMuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhdGFsIGVycm9yIHdoaWxlIHJlZnJlc2hpbmcgdGhlIHRva2VuOiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9YCk7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFJlZnJlc2ggYXR0ZW1wdCAjJHtudW1iZXJPZkF0dGVtcHRzfSBmYWlsZWQ6ICR7cmVzLnN0YXR1c30gJHtyZXMuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBSZWZyZXNoIGF0dGVtcHQgIyR7bnVtYmVyT2ZBdHRlbXB0c30gdGhyZXcgYW4gZXhjZXB0aW9uOiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcignUmV0cmllcyBleGhhdXN0ZWQnKTtcbiAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcG9zdEFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQudmFsdWUgPT09IENvbm5lY3Rpb25TdGF0dXMuRW5kZWQgfHxcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQudmFsdWUgPT09IENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0XG4gICAgKSB7XG4gICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaXMgY2xvc2VkJykpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpdml0eS50eXBlID09PSAnbWVzc2FnZScgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMoYWN0aXZpdHkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3AkID0gT2JzZXJ2YWJsZS5jcmVhdGUoYXN5bmMgc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZShcbiAgICAgICAgJ1BPU1QnLFxuICAgICAgICAnL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8nICsgdGhpcy5jb252ZXJzYXRpb25JZCArICcvYWN0aXZpdGllcydcbiAgICAgICk7XG4gICAgICByZXF1ZXN0LnNldEJvZHkoSlNPTi5zdHJpbmdpZnkoYWN0aXZpdHkpKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5zZW5kKHJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcC5zdGF0dXNDb2RlICE9PSAyMDApIHRocm93IG5ldyBFcnJvcignUG9zdEFjdGl2aXR5IHJldHVybmVkICcgKyByZXNwLnN0YXR1c0NvZGUpO1xuICAgICAgICBjb25zdCBudW1iZXJPZlN0cmVhbXMgPSByZXNwLnN0cmVhbXMubGVuZ3RoO1xuICAgICAgICBpZiAobnVtYmVyT2ZTdHJlYW1zICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIG9uZSBzdHJlYW0gYnV0IGdvdCAnICsgbnVtYmVyT2ZTdHJlYW1zKTtcbiAgICAgICAgY29uc3QgaWRTdHJpbmcgPSBhd2FpdCByZXNwLnN0cmVhbXNbMF0ucmVhZEFzU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgSWQ6IGlkIH0gPSBKU09OLnBhcnNlKGlkU3RyaW5nKTtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGlkKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBuZXR3b3JrIGlzc3VlIHRoZW4gaXRzIGhhbmRsZWQgYnlcbiAgICAgICAgLy8gdGhlIGRpc2Nvbm5lY3Rpb25IYW5kbGVyLiBFdmVyeXRoaW5nIGVsc2UgY2FuXG4gICAgICAgIC8vIGJlIHJldHJpZWRcbiAgICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcCQ7XG4gIH1cblxuICBwcml2YXRlIHBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICBjb25zdCB7IGF0dGFjaG1lbnRzLCAuLi5tZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzIH0gPSBtZXNzYWdlO1xuXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgY29uc3QgaHR0cENvbnRlbnRMaXN0ID0gW107XG4gICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVycyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgYXR0YWNobWVudHMubWFwKGFzeW5jIGF0dGFjaG1lbnQgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtZWRpYSA9IGF0dGFjaG1lbnQgYXMgTWVkaWE7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKG1lZGlhLmNvbnRlbnRVcmwpO1xuICAgICAgICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgYXJyYXlCdWZmZXI6IGF3YWl0IHJlcy5hcnJheUJ1ZmZlcigpLCBtZWRpYSB9O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGFycmF5QnVmZmVycy5mb3JFYWNoKCh7IGFycmF5QnVmZmVyLCBtZWRpYSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlcik7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgQkZTRS5TdWJzY3JpYmFibGVTdHJlYW0oKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZShidWZmZXIpO1xuICAgICAgICAgICAgY29uc3QgaHR0cENvbnRlbnQgPSBuZXcgQkZTRS5IdHRwQ29udGVudCh7IHR5cGU6IG1lZGlhLmNvbnRlbnRUeXBlLCBjb250ZW50TGVuZ3RoOiBidWZmZXIubGVuZ3RoIH0sIHN0cmVhbSk7XG4gICAgICAgICAgICBodHRwQ29udGVudExpc3QucHVzaChodHRwQ29udGVudCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCB1cmwgPSBgL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9L3VzZXJzLyR7bWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cy5mcm9tLmlkfS91cGxvYWRgO1xuICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBCRlNFLlN0cmVhbWluZ1JlcXVlc3QuY3JlYXRlKCdQVVQnLCB1cmwpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2aXR5U3RyZWFtID0gbmV3IEJGU0UuU3Vic2NyaWJhYmxlU3RyZWFtKCk7XG4gICAgICAgICAgYWN0aXZpdHlTdHJlYW0ud3JpdGUoSlNPTi5zdHJpbmdpZnkobWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cyksICd1dGYtOCcpO1xuICAgICAgICAgIHJlcXVlc3QuYWRkU3RyZWFtKFxuICAgICAgICAgICAgbmV3IEJGU0UuSHR0cENvbnRlbnQoXG4gICAgICAgICAgICAgIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuYWN0aXZpdHknLCBjb250ZW50TGVuZ3RoOiBhY3Rpdml0eVN0cmVhbS5sZW5ndGggfSxcbiAgICAgICAgICAgICAgYWN0aXZpdHlTdHJlYW1cbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIGh0dHBDb250ZW50TGlzdC5mb3JFYWNoKGUgPT4gcmVxdWVzdC5hZGRTdHJlYW0oZSkpO1xuXG4gICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5zZW5kKHJlcXVlc3QpO1xuICAgICAgICAgIGlmIChyZXNwLnN0cmVhbXMgJiYgcmVzcC5zdHJlYW1zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihuZXcgRXJyb3IoYEludmFsaWQgc3RyZWFtIGNvdW50ICR7cmVzcC5zdHJlYW1zLmxlbmd0aH1gKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHsgSWQ6IGlkIH0gPSBhd2FpdCByZXNwLnN0cmVhbXNbMF0ucmVhZEFzSnNvbjx7IElkOiBzdHJpbmcgfT4oKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpZCk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgd2FpdFVudGlsT25saW5lKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLnN1YnNjcmliZShcbiAgICAgICAgY3MgPT4ge1xuICAgICAgICAgIGlmIChjcyA9PT0gQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlID0+IHJlamVjdChlKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdEFzeW5jKCkge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCgnXmh0dHAocz8pJyk7XG5cbiAgICBpZiAoIXJlLnRlc3QodGhpcy5kb21haW4pKSB7XG4gICAgICB0aHJvdyAnRG9tYWluIG11c3QgYmVnaW4gd2l0aCBodHRwIG9yIGh0dHBzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7IHRva2VuOiB0aGlzLnRva2VuIH07XG5cbiAgICBpZiAodGhpcy5jb252ZXJzYXRpb25JZCkge1xuICAgICAgcGFyYW1zWydjb252ZXJzYXRpb25JZCddID0gdGhpcy5jb252ZXJzYXRpb25JZDtcbiAgICB9XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMpLnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgd3NVcmwgPSBgJHt0aGlzLmRvbWFpbi5yZXBsYWNlKHJlLCAnd3MkMScpfS9jb252ZXJzYXRpb25zL2Nvbm5lY3Q/JHt1cmxTZWFyY2hQYXJhbXN9YDtcblxuICAgIC8vIFRoaXMgcHJvbWlzZSB3aWxsIHJlc29sdmUgd2hlbiBpdCBpcyBkaXNjb25uZWN0ZWQuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbiA9IG5ldyBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uKHtcbiAgICAgICAgICBkaXNjb25uZWN0aW9uSGFuZGxlcjogcmVzb2x2ZSxcbiAgICAgICAgICBuZXR3b3JrSW5mb3JtYXRpb246IHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbixcbiAgICAgICAgICByZXF1ZXN0SGFuZGxlcjoge1xuICAgICAgICAgICAgcHJvY2Vzc1JlcXVlc3Q6IHN0cmVhbWluZ1JlcXVlc3QgPT4ge1xuICAgICAgICAgICAgICAvLyBJZiBgc3RyZWFtQ29ubmVjdGlvbmAgaXMgc3RpbGwgY3VycmVudCwgYWxsb3cgY2FsbCB0byBgcHJvY2Vzc1JlcXVlc3QoKWAsIG90aGVyd2lzZSwgaWdub3JlIGNhbGxzIHRvIGBwcm9jZXNzUmVxdWVzdCgpYC5cbiAgICAgICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyB6b21iaWUgY29ubmVjdGlvbnMgZnJvbSBzZW5kaW5nIHVzIHJlcXVlc3RzLlxuICAgICAgICAgICAgICBpZiAoYWJvcnRDb250cm9sbGVyLnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHJvY2VzcyBzdHJlYW1pbmcgcmVxdWVzdCwgYHN0cmVhbWluZ0Nvbm5lY3Rpb25gIHNob3VsZCBiZSBkaXNjb25uZWN0ZWQuJyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy50aGVTdHJlYW1IYW5kbGVyLnByb2Nlc3NSZXF1ZXN0KHN0cmVhbWluZ1JlcXVlc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXJsOiB3c1VybFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnF1ZXVlQWN0aXZpdGllcyA9IHRydWU7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmNvbm5lY3QoKTtcblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZSgnUE9TVCcsICcvdjMvZGlyZWN0bGluZS9jb252ZXJzYXRpb25zJyk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLnNlbmQocmVxdWVzdCk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29ubmVjdGlvbiByZXNwb25zZSBjb2RlICcgKyByZXNwb25zZS5zdGF0dXNDb2RlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXNwb25zZS5zdHJlYW1zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgMSBzdHJlYW0gYnV0IGdvdCAnICsgcmVzcG9uc2Uuc3RyZWFtcy5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2VTdHJpbmcgPSBhd2FpdCByZXNwb25zZS5zdHJlYW1zWzBdLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBjb252ZXJzYXRpb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlU3RyaW5nKTtcblxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gY29udmVyc2F0aW9uLmNvbnZlcnNhdGlvbklkO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuXG4gICAgICAgIC8vIFdhaXQgdW50aWwgREwgY29uc3VtZXJzIGhhdmUgaGFkIGEgY2hhbmNlIHRvIGJlIG5vdGlmaWVkXG4gICAgICAgIC8vIG9mIHRoZSBjb25uZWN0aW9uIHN0YXR1cyBjaGFuZ2UuXG4gICAgICAgIC8vIFRoaXMgaXMgc3BlY2lmaWMgdG8gUnhKUyBpbXBsZW1lbnRhdGlvbiBvZiBvYnNlcnZhYmxlLCB3aGljaCBjYWxsaW5nIHN1YnNjcmliZSgpIGFmdGVyIG5leHQoKSB3aWxsIHN0aWxsIGdldCB0aGUgdmFsdWUuXG4gICAgICAgIGF3YWl0IHRoaXMud2FpdFVudGlsT25saW5lKCk7XG5cbiAgICAgICAgdGhpcy50aGVTdHJlYW1IYW5kbGVyLmZsdXNoKCk7XG4gICAgICAgIHRoaXMucXVldWVBY3Rpdml0aWVzID0gZmFsc2U7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KS5maW5hbGx5KCgpID0+IGFib3J0Q29udHJvbGxlci5hYm9ydCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdFdpdGhSZXRyeUFzeW5jKCkge1xuICAgIC8vIFRoaXMgZm9yLWxvb3Agd2lsbCBicmVhayB3aGVuIHNvbWVvbmUgY2FsbCBlbmQoKSBhbmQgaXQgd2lsbCBzaWduYWwgQ29ubmVjdGlvblN0YXR1cy5FbmRlZC5cbiAgICBmb3IgKDs7KSB7XG4gICAgICAvLyBDcmVhdGUgYSBuZXcgc2lnbmFsIGFuZCB3YWl0IGZvciBzb21lb25lIGtpY2tpbmcgb2ZmIHRoZSBjb25uZWN0aW9uOlxuICAgICAgLy8gLSBzdWJzY3JpYmUgdG8gYWN0aXZpdHkkLCBvcjtcbiAgICAgIC8vIC0gcmV0cmllcyBleGhhdXN0ZWQgKEZhaWxlZFRvQ29ubmVjdCksIHRoZW4sIHNvbWVvbmUgY2FsbCByZWNvbm5lY3QoKVxuICAgICAgYXdhaXQgKHRoaXMuY29ubmVjdERlZmVycmVkID0gY3JlYXRlRGVmZXJyZWQoKSkucHJvbWlzZTtcblxuICAgICAgbGV0IG51bVJldHJpZXMgPSBNQVhfUkVUUllfQ09VTlQ7XG5cbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpO1xuXG4gICAgICB3aGlsZSAobnVtUmV0cmllcyA+IDApIHtcbiAgICAgICAgbnVtUmV0cmllcy0tO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgcHJvbWlzZSB3aWxsIHJlamVjdC9yZXNvbHZlIHdoZW4gZGlzY29ubmVjdGVkLlxuICAgICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdEFzeW5jKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHNvbWVvbmUgY2FsbCBlbmQoKSB0byBicmVhayB0aGUgY29ubmVjdGlvbiwgd2Ugd2lsbCBuZXZlciBsaXN0ZW4gdG8gYW55IHJlY29ubmVjdCgpLlxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBwbGFjZSB0aGUgbG9vcCBpbiB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgYnJva2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHNpZ25hbCBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcgdHdpY2Ugb3IgbW9yZSB3aXRob3V0IGFuIGFjdHVhbCBjb25uZWN0aW9uLlxuICAgICAgICAvLyBTdWJzZXF1ZW50IHJldHJpZXMgc2hvdWxkIGJlIHRyYW5zcGFyZW50LlxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpICE9PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpIHtcbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gbGFzdGVkIGZvciBtb3JlIHRoYW4gYSBtaW51dGUsIHRoZSBwcmV2aW91cyBjb25uZWN0aW9uIGlzIGdvb2QsIHdoaWNoIG1lYW5zOlxuICAgICAgICAvLyAtIHdlIHNob3VsZCByZXNldCB0aGUgcmV0cnkgY291bnRlciwgYW5kO1xuICAgICAgICAvLyAtIHdlIHNob3VsZCByZWNvbm5lY3QgaW1tZWRpYXRlbHkuXG4gICAgICAgIGlmICg2MDAwMCA8IERhdGUubm93KCkgLSBzdGFydCkge1xuICAgICAgICAgIG51bVJldHJpZXMgPSBNQVhfUkVUUllfQ09VTlQ7XG4gICAgICAgIH0gZWxzZSBpZiAobnVtUmV0cmllcyA+IDApIHtcbiAgICAgICAgICAvLyBTbGVlcCBvbmx5IGlmIHdlIGFyZSBkb2luZyByZXRyeS4gT3RoZXJ3aXNlLCB3ZSBhcmUgZ29pbmcgdG8gYnJlYWsgdGhlIGxvb3AgYW5kIHNpZ25hbCBGYWlsZWRUb0Nvbm5lY3QuXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIHRoaXMuZ2V0UmV0cnlEZWxheSgpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVE9ETzogW1RFU1RdIE1ha2Ugc3VyZSBGYWlsZWRUb0Nvbm5lY3QgaXMgcmVwb3J0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgbGFzdCBkaXNjb25uZWN0aW9uLCBzaG91bGQgYmUgbm8gZ2V0UmV0cnlEZWxheSgpLlxuICAgICAgLy8gRmFpbGVkIHRvIHJlY29ubmVjdCBhZnRlciBtdWx0aXBsZSByZXRyaWVzLlxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0KTtcbiAgICB9XG5cbiAgICAvLyBOb3RlOiBObyBjb2RlIHdpbGwgaGl0IHRoaXMgbGluZS5cbiAgfVxuXG4gIC8vIFJldHVybnMgdGhlIGRlbGF5IGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kc1xuICBwcml2YXRlIGdldFJldHJ5RGVsYXkoKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoMzAwMCArIE1hdGgucmFuZG9tKCkgKiAxMjAwMCk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = parseFilename;\n\nvar _toArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toArray\"));\n\nfunction parseFilename(filename) {\n if (!filename) {\n return {\n extname: '',\n name: ''\n };\n } else if (~filename.indexOf('.')) {\n var _filename$split$rever = filename.split('.').reverse(),\n _filename$split$rever2 = (0, _toArray2[\"default\"])(_filename$split$rever),\n extensionWithoutDot = _filename$split$rever2[0],\n nameSegments = _filename$split$rever2.slice(1);\n\n return {\n extname: '.' + extensionWithoutDot,\n name: nameSegments.reverse().join('.')\n };\n } else {\n return {\n extname: '',\n name: filename\n };\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZUZpbGVuYW1lLmpzIl0sIm5hbWVzIjpbInBhcnNlRmlsZW5hbWUiLCJmaWxlbmFtZSIsImV4dG5hbWUiLCJuYW1lIiwiaW5kZXhPZiIsInNwbGl0IiwicmV2ZXJzZSIsImV4dGVuc2lvbldpdGhvdXREb3QiLCJuYW1lU2VnbWVudHMiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFlLFNBQVNBLGFBQVQsQ0FBdUJDLFFBQXZCLEVBQWlDO0FBQzVDLE1BQUksQ0FBQ0EsUUFBTCxFQUFlO0FBQ1gsV0FBTztBQUNIQyxNQUFBQSxPQUFPLEVBQUUsRUFETjtBQUVIQyxNQUFBQSxJQUFJLEVBQUU7QUFGSCxLQUFQO0FBSUgsR0FMRCxNQUtPLElBQUksQ0FBQ0YsUUFBUSxDQUFDRyxPQUFULENBQWlCLEdBQWpCLENBQUwsRUFBNEI7QUFDL0IsZ0NBQStDSCxRQUFRLENBQUNJLEtBQVQsQ0FBZSxHQUFmLEVBQW9CQyxPQUFwQixFQUEvQztBQUFBO0FBQUEsUUFBT0MsbUJBQVA7QUFBQSxRQUErQkMsWUFBL0I7O0FBRUEsV0FBTztBQUNITixNQUFBQSxPQUFPLEVBQUUsTUFBTUssbUJBRFo7QUFFSEosTUFBQUEsSUFBSSxFQUFFSyxZQUFZLENBQUNGLE9BQWIsR0FBdUJHLElBQXZCLENBQTRCLEdBQTVCO0FBRkgsS0FBUDtBQUlILEdBUE0sTUFPQTtBQUNILFdBQU87QUFDSFAsTUFBQUEsT0FBTyxFQUFFLEVBRE47QUFFSEMsTUFBQUEsSUFBSSxFQUFFRjtBQUZILEtBQVA7QUFJSDtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyc2VGaWxlbmFtZShmaWxlbmFtZSkge1xuICAgIGlmICghZmlsZW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGV4dG5hbWU6ICcnLFxuICAgICAgICAgICAgbmFtZTogJydcbiAgICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKH5maWxlbmFtZS5pbmRleE9mKCcuJykpIHtcbiAgICAgICAgY29uc3QgW2V4dGVuc2lvbldpdGhvdXREb3QsIC4uLm5hbWVTZWdtZW50c10gPSBmaWxlbmFtZS5zcGxpdCgnLicpLnJldmVyc2UoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXh0bmFtZTogJy4nICsgZXh0ZW5zaW9uV2l0aG91dERvdCxcbiAgICAgICAgICAgIG5hbWU6IG5hbWVTZWdtZW50cy5yZXZlcnNlKCkuam9pbignLicpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGV4dG5hbWU6ICcnLFxuICAgICAgICAgICAgbmFtZTogZmlsZW5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _get2 = _interopRequireDefault(require(\"@babel/runtime/helpers/get\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _classPrivateFieldGet4 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldGet\"));\n\nvar _classPrivateFieldSet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldSet\"));\n\nvar _botframeworkStreaming = require(\"botframework-streaming\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _connectCalled = /*#__PURE__*/new WeakMap();\n\nvar _handleNetworkInformationChange = /*#__PURE__*/new WeakMap();\n\nvar _initialNetworkInformationType = /*#__PURE__*/new WeakMap();\n\nvar _networkInformation = /*#__PURE__*/new WeakMap();\n\nvar WebSocketClientWithNetworkInformation = /*#__PURE__*/function (_WebSocketClient) {\n (0, _inherits2[\"default\"])(WebSocketClientWithNetworkInformation, _WebSocketClient);\n\n var _super = _createSuper(WebSocketClientWithNetworkInformation);\n\n function WebSocketClientWithNetworkInformation(_ref) {\n var _this;\n\n var disconnectionHandler = _ref.disconnectionHandler,\n networkInformation = _ref.networkInformation,\n requestHandler = _ref.requestHandler,\n url = _ref.url;\n (0, _classCallCheck2[\"default\"])(this, WebSocketClientWithNetworkInformation);\n _this = _super.call(this, {\n disconnectionHandler: disconnectionHandler,\n requestHandler: requestHandler,\n url: url\n });\n\n _connectCalled.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: false\n });\n\n _handleNetworkInformationChange.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: function value() {\n return (0, _classPrivateFieldGet4[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _initialNetworkInformationType) === (0, _classPrivateFieldGet4[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _networkInformation).type || _this.disconnect();\n }\n });\n\n _initialNetworkInformationType.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: void 0\n });\n\n _networkInformation.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: void 0\n });\n\n (0, _classPrivateFieldSet2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _networkInformation, networkInformation);\n return _this;\n }\n\n (0, _createClass2[\"default\"])(WebSocketClientWithNetworkInformation, [{\n key: \"connect\",\n value: // TODO: Better, the `NetworkInformation` instance should be passed to `BrowserWebSocketClient` -> `BrowserWebSocket`.\n // `BrowserWebSocket` is where it creates `WebSocket` object.\n // The `NetworkInformation` instance should accompany `WebSocket` and forcibly close it on abort.\n // Maybe `botframework-streaming` should accept ponyfills.\n function connect() {\n if ((0, _classPrivateFieldGet4[\"default\"])(this, _connectCalled)) {\n console.warn('botframework-directlinejs: connect() can only be called once.');\n return Promise.resolve();\n }\n\n (0, _classPrivateFieldSet2[\"default\"])(this, _connectCalled, true);\n\n if ((0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation)) {\n var _classPrivateFieldGet2 = (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation),\n initialType = _classPrivateFieldGet2.type;\n\n (0, _classPrivateFieldSet2[\"default\"])(this, _initialNetworkInformationType, initialType);\n\n if (initialType === 'none') {\n console.warn('botframework-directlinejs: Failed to connect while offline.');\n return Promise.reject(new Error('botframework-directlinejs: Failed to connect while offline.'));\n }\n\n (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation).addEventListener('change', (0, _classPrivateFieldGet4[\"default\"])(this, _handleNetworkInformationChange));\n }\n\n return (0, _get2[\"default\"])((0, _getPrototypeOf2[\"default\"])(WebSocketClientWithNetworkInformation.prototype), \"connect\", this).call(this);\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n var _classPrivateFieldGet3;\n\n (_classPrivateFieldGet3 = (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.removeEventListener('change', (0, _classPrivateFieldGet4[\"default\"])(this, _handleNetworkInformationChange));\n (0, _get2[\"default\"])((0, _getPrototypeOf2[\"default\"])(WebSocketClientWithNetworkInformation.prototype), \"disconnect\", this).call(this);\n }\n }]);\n return WebSocketClientWithNetworkInformation;\n}(_botframeworkStreaming.WebSocketClient);\n\nexports[\"default\"] = WebSocketClientWithNetworkInformation;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW1pbmcvV2ViU29ja2V0Q2xpZW50V2l0aE5ldHdvcmtJbmZvcm1hdGlvbi50cyJdLCJuYW1lcyI6WyJXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uIiwiZGlzY29ubmVjdGlvbkhhbmRsZXIiLCJuZXR3b3JrSW5mb3JtYXRpb24iLCJyZXF1ZXN0SGFuZGxlciIsInVybCIsInR5cGUiLCJkaXNjb25uZWN0IiwiY29uc29sZSIsIndhcm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImluaXRpYWxUeXBlIiwicmVqZWN0IiwiRXJyb3IiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIldlYlNvY2tldENsaWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7O0lBZ0JxQkEscUM7Ozs7O0FBQ25CLHVEQUs4QztBQUFBOztBQUFBLFFBSjVDQyxvQkFJNEMsUUFKNUNBLG9CQUk0QztBQUFBLFFBSDVDQyxrQkFHNEMsUUFINUNBLGtCQUc0QztBQUFBLFFBRjVDQyxjQUU0QyxRQUY1Q0EsY0FFNEM7QUFBQSxRQUQ1Q0MsR0FDNEMsUUFENUNBLEdBQzRDO0FBQUE7QUFDNUMsOEJBQU07QUFDSkgsTUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFESTtBQUVKRSxNQUFBQSxjQUFjLEVBQWRBLGNBRkk7QUFHSkMsTUFBQUEsR0FBRyxFQUFIQTtBQUhJLEtBQU47O0FBRDRDO0FBQUE7QUFBQSxhQVVwQjtBQVZvQjs7QUFBQTtBQUFBO0FBQUEsYUFhWjtBQUFBLGVBQ2hDLDJIQUF3Qyw0R0FBeUJDLElBQWpFLElBQXlFLE1BQUtDLFVBQUwsRUFEekM7QUFBQTtBQWJZOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQU81QyxnSEFBMkJKLGtCQUEzQjtBQVA0QztBQVE3Qzs7OztXQVVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXlCO0FBQ3ZCLGlEQUFJLElBQUosbUJBQXlCO0FBQ3ZCSyxRQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSwrREFBYjtBQUVBLGVBQU9DLE9BQU8sQ0FBQ0MsT0FBUixFQUFQO0FBQ0Q7O0FBRUQsbUVBQXNCLElBQXRCOztBQUVBLGlEQUFJLElBQUosd0JBQThCO0FBQzVCLDRFQUE4QixJQUE5QjtBQUFBLFlBQWNDLFdBQWQsMEJBQVFOLElBQVI7O0FBRUEscUZBQXNDTSxXQUF0Qzs7QUFFQSxZQUFJQSxXQUFXLEtBQUssTUFBcEIsRUFBNEI7QUFDMUJKLFVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLDZEQUFiO0FBRUEsaUJBQU9DLE9BQU8sQ0FBQ0csTUFBUixDQUFlLElBQUlDLEtBQUosQ0FBVSw2REFBVixDQUFmLENBQVA7QUFDRDs7QUFFRCwwRUFBeUJDLGdCQUF6QixDQUEwQyxRQUExQyx5Q0FBb0QsSUFBcEQ7QUFDRDs7QUFFRDtBQUNEOzs7V0FFRCxzQkFBYTtBQUFBOztBQUNYLG1MQUEwQkMsbUJBQTFCLENBQThDLFFBQTlDLHlDQUF3RCxJQUF4RDtBQUNBO0FBQ0Q7OztFQXpEZ0VDLHNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXN0cmVhbWluZyc7XG5cbmltcG9ydCB0eXBlIHsgUmVxdWVzdEhhbmRsZXIgfSBmcm9tICdib3RmcmFtZXdvcmstc3RyZWFtaW5nJztcblxudHlwZSBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uSW5pdCA9IHtcbiAgLyoqXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgb2JzZXJ2ZXIgZnVuY3Rpb24gZm9yIGRpc2Nvbm5lY3Rpb24gb3IgZXJyb3Igc2VuZGluZy9yZWNlaXZpbmcgdGhyb3VnaCBXZWJTb2NrZXQuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gY291bGQgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCB0aGUgY2FsbGVlIGlzIGV4cGVjdGVkIHRvIGlnbm9yZSBzdWJzZXF1ZW50IGNhbGxzLlxuICAgKi9cbiAgZGlzY29ubmVjdGlvbkhhbmRsZXI6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG5ldHdvcmtJbmZvcm1hdGlvbj86IE5ldHdvcmtJbmZvcm1hdGlvbiB8IHVuZGVmaW5lZDtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyO1xuICB1cmw6IHN0cmluZztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYlNvY2tldENsaWVudFdpdGhOZXR3b3JrSW5mb3JtYXRpb24gZXh0ZW5kcyBXZWJTb2NrZXRDbGllbnQge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgZGlzY29ubmVjdGlvbkhhbmRsZXIsXG4gICAgbmV0d29ya0luZm9ybWF0aW9uLFxuICAgIHJlcXVlc3RIYW5kbGVyLFxuICAgIHVybFxuICB9OiBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uSW5pdCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGRpc2Nvbm5lY3Rpb25IYW5kbGVyLFxuICAgICAgcmVxdWVzdEhhbmRsZXIsXG4gICAgICB1cmxcbiAgICB9KTtcblxuICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbiA9IG5ldHdvcmtJbmZvcm1hdGlvbjtcbiAgfVxuXG4gICNjb25uZWN0Q2FsbGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIEFjY29yZGluZyB0byBXM0MgTmV0d29yayBJbmZvcm1hdGlvbiBBUEksIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbmV0aW5mby8jaGFuZGxpbmctY2hhbmdlcy10by10aGUtdW5kZXJseWluZy1jb25uZWN0aW9uLlxuICAvLyBOZXR3b3JrSW5mb3JtYXRpb24ub25DaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBvbiBhbnkgY2hhbmdlcyB0bzogYGRvd25saW5rTWF4YCwgYHR5cGVgLCBgZG93bmxpbmtgLCBvciBgcnR0YC5cbiAgI2hhbmRsZU5ldHdvcmtJbmZvcm1hdGlvbkNoYW5nZSA9ICgpID0+XG4gICAgdGhpcy4jaW5pdGlhbE5ldHdvcmtJbmZvcm1hdGlvblR5cGUgPT09IHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbi50eXBlIHx8IHRoaXMuZGlzY29ubmVjdCgpO1xuICAjaW5pdGlhbE5ldHdvcmtJbmZvcm1hdGlvblR5cGU6IE5ldHdvcmtJbmZvcm1hdGlvblsndHlwZSddO1xuICAjbmV0d29ya0luZm9ybWF0aW9uOiBOZXR3b3JrSW5mb3JtYXRpb247XG5cbiAgLy8gVE9ETzogQmV0dGVyLCB0aGUgYE5ldHdvcmtJbmZvcm1hdGlvbmAgaW5zdGFuY2Ugc2hvdWxkIGJlIHBhc3NlZCB0byBgQnJvd3NlcldlYlNvY2tldENsaWVudGAgLT4gYEJyb3dzZXJXZWJTb2NrZXRgLlxuICAvLyAgICAgICBgQnJvd3NlcldlYlNvY2tldGAgaXMgd2hlcmUgaXQgY3JlYXRlcyBgV2ViU29ja2V0YCBvYmplY3QuXG4gIC8vICAgICAgIFRoZSBgTmV0d29ya0luZm9ybWF0aW9uYCBpbnN0YW5jZSBzaG91bGQgYWNjb21wYW55IGBXZWJTb2NrZXRgIGFuZCBmb3JjaWJseSBjbG9zZSBpdCBvbiBhYm9ydC5cbiAgLy8gICAgICAgTWF5YmUgYGJvdGZyYW1ld29yay1zdHJlYW1pbmdgIHNob3VsZCBhY2NlcHQgcG9ueWZpbGxzLlxuICBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLiNjb25uZWN0Q2FsbGVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay1kaXJlY3RsaW5lanM6IGNvbm5lY3QoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZS4nKTtcblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI2Nvbm5lY3RDYWxsZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbikge1xuICAgICAgY29uc3QgeyB0eXBlOiBpbml0aWFsVHlwZSB9ID0gdGhpcy4jbmV0d29ya0luZm9ybWF0aW9uO1xuXG4gICAgICB0aGlzLiNpbml0aWFsTmV0d29ya0luZm9ybWF0aW9uVHlwZSA9IGluaXRpYWxUeXBlO1xuXG4gICAgICBpZiAoaW5pdGlhbFR5cGUgPT09ICdub25lJykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay1kaXJlY3RsaW5lanM6IEZhaWxlZCB0byBjb25uZWN0IHdoaWxlIG9mZmxpbmUuJyk7XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignYm90ZnJhbWV3b3JrLWRpcmVjdGxpbmVqczogRmFpbGVkIHRvIGNvbm5lY3Qgd2hpbGUgb2ZmbGluZS4nKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLiNoYW5kbGVOZXR3b3JrSW5mb3JtYXRpb25DaGFuZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5jb25uZWN0KCk7XG4gIH1cblxuICBkaXNjb25uZWN0KCkge1xuICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy4jaGFuZGxlTmV0d29ya0luZm9ybWF0aW9uQ2hhbmdlKTtcbiAgICBzdXBlci5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiJdfQ==","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n\n return descriptor.value;\n}\n\nmodule.exports = _classApplyDescriptorGet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n}\n\nmodule.exports = _classApplyDescriptorSet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\n\nmodule.exports = _classExtractFieldDescriptor;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var classApplyDescriptorGet = require(\"./classApplyDescriptorGet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}\n\nmodule.exports = _classPrivateFieldGet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var classApplyDescriptorSet = require(\"./classApplyDescriptorSet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}\n\nmodule.exports = _classPrivateFieldSet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var parent = require('../../es/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.15.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n // eslint-disable-next-line unicorn/error-message -- expected\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.any');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","function e(e){this.message=e}e.prototype=new Error,e.prototype.name=\"InvalidCharacterError\";var r=\"undefined\"!=typeof window&&window.atob&&window.atob.bind(window)||function(r){var t=String(r).replace(/=+$/,\"\");if(t.length%4==1)throw new e(\"'atob' failed: The string to be decoded is not correctly encoded.\");for(var n,o,a=0,i=0,c=\"\";o=t.charAt(i++);~o&&(n=a%4?64*n+o:o,a++%4)?c+=String.fromCharCode(255&n>>(-2*a&6)):0)o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\".indexOf(o);return c};function t(e){var t=e.replace(/-/g,\"+\").replace(/_/g,\"/\");switch(t.length%4){case 0:break;case 2:t+=\"==\";break;case 3:t+=\"=\";break;default:throw\"Illegal base64url string!\"}try{return function(e){return decodeURIComponent(r(e).replace(/(.)/g,(function(e,r){var t=r.charCodeAt(0).toString(16).toUpperCase();return t.length<2&&(t=\"0\"+t),\"%\"+t})))}(t)}catch(e){return r(t)}}function n(e){this.message=e}function o(e,r){if(\"string\"!=typeof e)throw new n(\"Invalid token specified\");var o=!0===(r=r||{}).header?0:1;try{return JSON.parse(t(e.split(\".\")[o]))}catch(e){throw new n(\"Invalid token specified: \"+e.message)}}n.prototype=new Error,n.prototype.name=\"InvalidTokenError\";export default o;export{n as InvalidTokenError};\n//# sourceMappingURL=jwt-decode.esm.js.map\n","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\n","/**\n *\n *\n * @author Jerry Bendy \n * @licence MIT\n *\n */\n\n(function(self) {\n 'use strict';\n\n var nativeURLSearchParams = (function() {\n // #41 Fix issue in RN\n try {\n if (self.URLSearchParams && (new self.URLSearchParams('foo=bar')).get('foo') === 'bar') {\n return self.URLSearchParams;\n }\n } catch (e) {}\n return null;\n })(),\n isSupportObjectConstructor = nativeURLSearchParams && (new nativeURLSearchParams({a: 1})).toString() === 'a=1',\n // There is a bug in safari 10.1 (and earlier) that incorrectly decodes `%2B` as an empty space and not a plus.\n decodesPlusesCorrectly = nativeURLSearchParams && (new nativeURLSearchParams('s=%2B').get('s') === '+'),\n __URLSearchParams__ = \"__URLSearchParams__\",\n // Fix bug in Edge which cannot encode ' &' correctly\n encodesAmpersandsCorrectly = nativeURLSearchParams ? (function() {\n var ampersandTest = new nativeURLSearchParams();\n ampersandTest.append('s', ' &');\n return ampersandTest.toString() === 's=+%26';\n })() : true,\n prototype = URLSearchParamsPolyfill.prototype,\n iterable = !!(self.Symbol && self.Symbol.iterator);\n\n if (nativeURLSearchParams && isSupportObjectConstructor && decodesPlusesCorrectly && encodesAmpersandsCorrectly) {\n return;\n }\n\n\n /**\n * Make a URLSearchParams instance\n *\n * @param {object|string|URLSearchParams} search\n * @constructor\n */\n function URLSearchParamsPolyfill(search) {\n search = search || \"\";\n\n // support construct object with another URLSearchParams instance\n if (search instanceof URLSearchParams || search instanceof URLSearchParamsPolyfill) {\n search = search.toString();\n }\n this [__URLSearchParams__] = parseToDict(search);\n }\n\n\n /**\n * Appends a specified key/value pair as a new search parameter.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.append = function(name, value) {\n appendTo(this [__URLSearchParams__], name, value);\n };\n\n /**\n * Deletes the given search parameter, and its associated value,\n * from the list of all search parameters.\n *\n * @param {string} name\n */\n prototype['delete'] = function(name) {\n delete this [__URLSearchParams__] [name];\n };\n\n /**\n * Returns the first value associated to the given search parameter.\n *\n * @param {string} name\n * @returns {string|null}\n */\n prototype.get = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict[name][0] : null;\n };\n\n /**\n * Returns all the values association with a given search parameter.\n *\n * @param {string} name\n * @returns {Array}\n */\n prototype.getAll = function(name) {\n var dict = this [__URLSearchParams__];\n return this.has(name) ? dict [name].slice(0) : [];\n };\n\n /**\n * Returns a Boolean indicating if such a search parameter exists.\n *\n * @param {string} name\n * @returns {boolean}\n */\n prototype.has = function(name) {\n return hasOwnProperty(this [__URLSearchParams__], name);\n };\n\n /**\n * Sets the value associated to a given search parameter to\n * the given value. If there were several values, delete the\n * others.\n *\n * @param {string} name\n * @param {string} value\n */\n prototype.set = function set(name, value) {\n this [__URLSearchParams__][name] = ['' + value];\n };\n\n /**\n * Returns a string containg a query string suitable for use in a URL.\n *\n * @returns {string}\n */\n prototype.toString = function() {\n var dict = this[__URLSearchParams__], query = [], i, key, name, value;\n for (key in dict) {\n name = encode(key);\n for (i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]));\n }\n }\n return query.join('&');\n };\n\n // There is a bug in Safari 10.1 and `Proxy`ing it is not enough.\n var forSureUsePolyfill = !decodesPlusesCorrectly;\n var useProxy = (!forSureUsePolyfill && nativeURLSearchParams && !isSupportObjectConstructor && self.Proxy);\n var propValue; \n if (useProxy) {\n // Safari 10.0 doesn't support Proxy, so it won't extend URLSearchParams on safari 10.0\n propValue = new Proxy(nativeURLSearchParams, {\n construct: function (target, args) {\n return new target((new URLSearchParamsPolyfill(args[0]).toString()));\n }\n })\n // Chrome <=60 .toString() on a function proxy got error \"Function.prototype.toString is not generic\"\n propValue.toString = Function.prototype.toString.bind(URLSearchParamsPolyfill);\n } else {\n propValue = URLSearchParamsPolyfill;\n }\n /*\n * Apply polifill to global object and append other prototype into it\n */\n Object.defineProperty(self, 'URLSearchParams', {\n value: propValue\n });\n\n var USPProto = self.URLSearchParams.prototype;\n\n USPProto.polyfill = true;\n\n /**\n *\n * @param {function} callback\n * @param {object} thisArg\n */\n USPProto.forEach = USPProto.forEach || function(callback, thisArg) {\n var dict = parseToDict(this.toString());\n Object.getOwnPropertyNames(dict).forEach(function(name) {\n dict[name].forEach(function(value) {\n callback.call(thisArg, value, name, this);\n }, this);\n }, this);\n };\n\n /**\n * Sort all name-value pairs\n */\n USPProto.sort = USPProto.sort || function() {\n var dict = parseToDict(this.toString()), keys = [], k, i, j;\n for (k in dict) {\n keys.push(k);\n }\n keys.sort();\n\n for (i = 0; i < keys.length; i++) {\n this['delete'](keys[i]);\n }\n for (i = 0; i < keys.length; i++) {\n var key = keys[i], values = dict[key];\n for (j = 0; j < values.length; j++) {\n this.append(key, values[j]);\n }\n }\n };\n\n /**\n * Returns an iterator allowing to go through all keys of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.keys = USPProto.keys || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push(name);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all values of\n * the key/value pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.values = USPProto.values || function() {\n var items = [];\n this.forEach(function(item) {\n items.push(item);\n });\n return makeIterator(items);\n };\n\n /**\n * Returns an iterator allowing to go through all key/value\n * pairs contained in this object.\n *\n * @returns {function}\n */\n USPProto.entries = USPProto.entries || function() {\n var items = [];\n this.forEach(function(item, name) {\n items.push([name, item]);\n });\n return makeIterator(items);\n };\n\n\n if (iterable) {\n USPProto[self.Symbol.iterator] = USPProto[self.Symbol.iterator] || USPProto.entries;\n }\n\n\n function encode(str) {\n var replace = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'\\(\\)~]|%20|%00/g, function(match) {\n return replace[match];\n });\n }\n\n function decode(str) {\n return str\n .replace(/[ +]/g, '%20')\n .replace(/(%[a-f0-9]{2})+/ig, function(match) {\n return decodeURIComponent(match);\n });\n }\n\n function makeIterator(arr) {\n var iterator = {\n next: function() {\n var value = arr.shift();\n return {done: value === undefined, value: value};\n }\n };\n\n if (iterable) {\n iterator[self.Symbol.iterator] = function() {\n return iterator;\n };\n }\n\n return iterator;\n }\n\n function parseToDict(search) {\n var dict = {};\n\n if (typeof search === \"object\") {\n // if `search` is an array, treat it as a sequence\n if (isArray(search)) {\n for (var i = 0; i < search.length; i++) {\n var item = search[i];\n if (isArray(item) && item.length === 2) {\n appendTo(dict, item[0], item[1]);\n } else {\n throw new TypeError(\"Failed to construct 'URLSearchParams': Sequence initializer must only contain pair elements\");\n }\n }\n\n } else {\n for (var key in search) {\n if (search.hasOwnProperty(key)) {\n appendTo(dict, key, search[key]);\n }\n }\n }\n\n } else {\n // remove first '?'\n if (search.indexOf(\"?\") === 0) {\n search = search.slice(1);\n }\n\n var pairs = search.split(\"&\");\n for (var j = 0; j < pairs.length; j++) {\n var value = pairs [j],\n index = value.indexOf('=');\n\n if (-1 < index) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)));\n\n } else {\n if (value) {\n appendTo(dict, decode(value), '');\n }\n }\n }\n }\n\n return dict;\n }\n\n function appendTo(dict, name, value) {\n var val = typeof value === 'string' ? value : (\n value !== null && value !== undefined && typeof value.toString === 'function' ? value.toString() : JSON.stringify(value)\n );\n\n // #47 Prevent using `hasOwnProperty` as a property name\n if (hasOwnProperty(dict, name)) {\n dict[name].push(val);\n } else {\n dict[name] = [val];\n }\n }\n\n function isArray(val) {\n return !!val && '[object Array]' === Object.prototype.toString.call(val);\n }\n\n function hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n }\n\n})(typeof global !== 'undefined' ? global : (typeof window !== 'undefined' ? window : this));\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.BFSE = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadAssembler = void 0;\nvar subscribableStream_1 = require(\"../subscribableStream\");\nvar payloads_1 = require(\"../payloads\");\nvar contentStream_1 = require(\"../contentStream\");\n/**\n * Assembles payloads for streaming library.\n *\n * @internal\n */\nvar PayloadAssembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) class.\n *\n * @param streamManager The [StreamManager](xref:botframework-streaming.StreamManager) managing the stream being assembled.\n * @param params Parameters for a streaming assembler.\n */\n function PayloadAssembler(streamManager, params) {\n this.streamManager = streamManager;\n this._byteOrderMark = 0xfeff;\n this._utf = 'utf8';\n if (params.header) {\n this.id = params.header.id;\n this.payloadType = params.header.payloadType;\n this.contentLength = params.header.payloadLength;\n this.end = params.header.end;\n }\n else {\n this.id = params.id;\n }\n if (!this.id) {\n throw Error('An ID must be supplied when creating an assembler.');\n }\n this._onCompleted = params.onCompleted;\n }\n /**\n * Retrieves the assembler's payload as a stream.\n *\n * @returns A [SubscribableStream](xref:botframework-streaming.SubscribableStream) of the assembler's payload.\n */\n PayloadAssembler.prototype.getPayloadStream = function () {\n if (!this.stream) {\n this.stream = this.createPayloadStream();\n }\n return this.stream;\n };\n /**\n * The action the assembler executes when new bytes are received on the incoming stream.\n *\n * @param header The stream's Header.\n * @param stream The incoming stream being assembled.\n * @param _contentLength The length of the stream, if finite.\n */\n PayloadAssembler.prototype.onReceive = function (header, stream, _contentLength) {\n this.end = header.end;\n if (header.payloadType === payloads_1.PayloadTypes.response || header.payloadType === payloads_1.PayloadTypes.request) {\n this.process(stream).then().catch();\n }\n else if (header.end) {\n stream.end();\n }\n };\n /**\n * Closes the assembler.\n */\n PayloadAssembler.prototype.close = function () {\n this.streamManager.closeStream(this.id);\n };\n /**\n * Creates a new [SubscribableStream](xref:botframework-streaming.SubscribableStream) instance.\n *\n * @returns The new stream ready for consumption.\n */\n PayloadAssembler.prototype.createPayloadStream = function () {\n return new subscribableStream_1.SubscribableStream();\n };\n PayloadAssembler.prototype.payloadFromJson = function (json) {\n return JSON.parse(json.charCodeAt(0) === this._byteOrderMark ? json.slice(1) : json);\n };\n PayloadAssembler.prototype.stripBOM = function (input) {\n return input.charCodeAt(0) === this._byteOrderMark ? input.slice(1) : input;\n };\n PayloadAssembler.prototype.process = function (stream) {\n return __awaiter(this, void 0, void 0, function () {\n var streamData, streamDataAsString;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n streamData = stream.read(stream.length);\n if (!streamData) {\n return [2 /*return*/];\n }\n streamDataAsString = streamData.toString(this._utf);\n if (!(this.payloadType === payloads_1.PayloadTypes.request)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.processRequest(streamDataAsString)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2:\n if (!(this.payloadType === payloads_1.PayloadTypes.response)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.processResponse(streamDataAsString)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processResponse = function (streamDataAsString) {\n return __awaiter(this, void 0, void 0, function () {\n var responsePayload, receiveResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n responsePayload = this.payloadFromJson(this.stripBOM(streamDataAsString));\n receiveResponse = { streams: [], statusCode: responsePayload.statusCode };\n return [4 /*yield*/, this.processStreams(responsePayload, receiveResponse)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processRequest = function (streamDataAsString) {\n return __awaiter(this, void 0, void 0, function () {\n var requestPayload, receiveRequest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n requestPayload = this.payloadFromJson(streamDataAsString);\n receiveRequest = { streams: [], path: requestPayload.path, verb: requestPayload.verb };\n return [4 /*yield*/, this.processStreams(requestPayload, receiveRequest)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processStreams = function (responsePayload, receiveResponse) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n (_a = responsePayload.streams) === null || _a === void 0 ? void 0 : _a.forEach(function (responseStream) {\n var _a;\n // There was a bug in how streams were handled. In .NET, the StreamDescription definiton mapped the\n // \"type\" JSON property to `contentType`, but in Typescript there was no mapping. This is a workaround\n // to resolve this inconsistency.\n //\n // .NET code:\n // https://github.com/microsoft/botbuilder-dotnet/blob/a79036ddf6625ec3fd68a6f7295886eb7831bc1c/libraries/Microsoft.Bot.Streaming/Payloads/Models/StreamDescription.cs#L28-L29\n var contentType = (_a = responseStream.type) !== null && _a !== void 0 ? _a : responseStream.contentType;\n var contentAssembler = _this.streamManager.getPayloadAssembler(responseStream.id);\n contentAssembler.payloadType = contentType;\n contentAssembler.contentLength = responseStream.length;\n receiveResponse.streams.push(new contentStream_1.ContentStream(responseStream.id, contentAssembler));\n });\n return [4 /*yield*/, this._onCompleted(this.id, receiveResponse)];\n case 1:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return PayloadAssembler;\n}());\nexports.PayloadAssembler = PayloadAssembler;\n\n},{\"../contentStream\":2,\"../payloads\":16,\"../subscribableStream\":27}],2:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContentStream = void 0;\n/**\n * A stream of fixed or infinite length containing content to be decoded.\n */\nvar ContentStream = /** @class */ (function () {\n /**\n * Initializes a new instance of the [ContentStream](xref:botframework-streaming.ContentStream) class.\n *\n * @param id The ID assigned to this instance.\n * @param assembler The [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) assigned to this instance.\n */\n function ContentStream(id, assembler) {\n if (!assembler) {\n throw Error('Null Argument Exception');\n }\n this.id = id;\n this.assembler = assembler;\n }\n Object.defineProperty(ContentStream.prototype, \"contentType\", {\n /**\n * Gets the name of the type of the object contained within this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns The [PayloadType](xref:botframework-streaming.PayloadType) of this [ContentStream](xref:botframework-streaming.ContentStream).\n */\n get: function () {\n return this.assembler.payloadType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ContentStream.prototype, \"length\", {\n /**\n * Gets the length of this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns A number representing the length of this [ContentStream](xref:botframework-streaming.ContentStream).\n */\n get: function () {\n return this.assembler.contentLength;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Gets the data contained within this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns This [ContentStream's](xref:botframework-streaming.ContentStream) [SubscribableStream](xref:botframework-streaming.SubscribableStream).\n */\n ContentStream.prototype.getStream = function () {\n if (!this.stream) {\n this.stream = this.assembler.getPayloadStream();\n }\n return this.stream;\n };\n /**\n * Closes the assembler.\n */\n ContentStream.prototype.cancel = function () {\n this.assembler.close();\n };\n /**\n * Gets the [SubscribableStream](xref:botframework-streaming.SubscribableStream) content as a string.\n *\n * @returns A string Promise with [SubscribableStream](xref:botframework-streaming.SubscribableStream) content.\n */\n ContentStream.prototype.readAsString = function () {\n return __awaiter(this, void 0, void 0, function () {\n var bufferArray;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.readAll()];\n case 1:\n bufferArray = (_a.sent()).bufferArray;\n return [2 /*return*/, (bufferArray || []).map(function (result) { return result.toString('utf8'); }).join('')];\n }\n });\n });\n };\n /**\n * Gets the [SubscribableStream](xref:botframework-streaming.SubscribableStream) content as a typed JSON object.\n *\n * @returns A typed object Promise with `SubscribableStream` content.\n */\n ContentStream.prototype.readAsJson = function () {\n return __awaiter(this, void 0, void 0, function () {\n var stringToParse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.readAsString()];\n case 1:\n stringToParse = _a.sent();\n return [2 /*return*/, JSON.parse(stringToParse)];\n }\n });\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ContentStream.prototype.readAll = function () {\n return __awaiter(this, void 0, void 0, function () {\n var allData, count, stream, chunk, readToEnd;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n allData = [];\n count = 0;\n stream = this.getStream();\n // populate the array with any existing buffers\n while (count < stream.length) {\n chunk = stream.read(stream.length);\n allData.push(chunk);\n count += chunk.length;\n }\n if (!(count < this.length)) return [3 /*break*/, 2];\n readToEnd = new Promise(function (resolve) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var callback = function (cs) { return function (chunk) {\n allData.push(chunk);\n count += chunk.length;\n if (count === cs.length) {\n resolve(true);\n }\n }; };\n stream.subscribe(callback(_this));\n });\n return [4 /*yield*/, readToEnd];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, { bufferArray: allData, size: count }];\n }\n });\n });\n };\n return ContentStream;\n}());\nexports.ContentStream = ContentStream;\n\n},{}],3:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancelDisassembler = void 0;\n/**\n * Streaming cancel disassembler.\n */\nvar CancelDisassembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [CancelDisassembler](xref:botframework-streaming.CancelDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) that this Cancel request will be sent by.\n * @param id The ID of the Stream to cancel.\n * @param payloadType The type of the Stream that is being cancelled.\n */\n function CancelDisassembler(sender, id, payloadType) {\n this.sender = sender;\n this.id = id;\n this.payloadType = payloadType;\n }\n /**\n * Initiates the process of disassembling the request and signals the [PayloadSender](xref:botframework-streaming.PayloadSender) to begin sending.\n */\n CancelDisassembler.prototype.disassemble = function () {\n var header = {\n payloadType: this.payloadType,\n payloadLength: 0,\n id: this.id,\n end: true,\n };\n this.sender.sendPayload(header);\n };\n return CancelDisassembler;\n}());\nexports.CancelDisassembler = CancelDisassembler;\n\n},{}],4:[function(require,module,exports){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpContentStreamDisassembler = void 0;\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\nvar payloads_1 = require(\"../payloads\");\n/**\n * Disassembler for Http content stream\n */\nvar HttpContentStreamDisassembler = /** @class */ (function (_super) {\n __extends(HttpContentStreamDisassembler, _super);\n /**\n * Initializes a new instance of the [HttpContentStreamDisassembler](xref:botframework-streaming.HttpContentStreamDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param contentStream The [HttpContentStream](xref:botframework-streaming.HttpContentStream) to be disassembled.\n */\n function HttpContentStreamDisassembler(sender, contentStream) {\n var _this = _super.call(this, sender, contentStream.id) || this;\n _this.payloadType = payloads_1.PayloadTypes.stream;\n _this.contentStream = contentStream;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Strea.\n */\n HttpContentStreamDisassembler.prototype.getStream = function () {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n stream = this.contentStream.content.getStream();\n return [2 /*return*/, { stream: stream, streamLength: stream.length }];\n });\n });\n };\n return HttpContentStreamDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.HttpContentStreamDisassembler = HttpContentStreamDisassembler;\n\n},{\"../payloads\":16,\"./payloadDisassembler\":5}],5:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadDisassembler = void 0;\nvar subscribableStream_1 = require(\"../subscribableStream\");\n/**\n * Base class streaming payload disassembling.\n */\nvar PayloadDisassembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadDisassembler](xref:botframework-streaming.PayloadDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) used to send the disassembled payload chunks.\n * @param id The ID of this disassembler.\n */\n function PayloadDisassembler(sender, id) {\n this.sender = sender;\n this.id = id;\n }\n /**\n * Serializes the item into the [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) that exposes the stream and length of the result.\n *\n * @param item The item to be serialized.\n * @returns The stream containing the serialized item and the length of the stream.\n */\n PayloadDisassembler.serialize = function (item) {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(JSON.stringify(item));\n stream.end();\n return { stream: stream, streamLength: stream.length };\n };\n /**\n * Begins the process of disassembling a payload and sending the resulting chunks to the [PayloadSender](xref:botframework-streaming.PayloadSender) to dispatch over the transport.\n *\n * @returns A completed Promise after the disassembled payload has been sent.\n */\n PayloadDisassembler.prototype.disassemble = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, stream, streamLength;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getStream()];\n case 1:\n _a = _b.sent(), stream = _a.stream, streamLength = _a.streamLength;\n this.stream = stream;\n this.streamLength = streamLength;\n return [2 /*return*/, this.send()];\n }\n });\n });\n };\n /**\n * Begins the process of disassembling a payload and signals the [PayloadSender](xref:botframework-streaming.PayloadSender).\n */\n PayloadDisassembler.prototype.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var header;\n return __generator(this, function (_a) {\n header = {\n payloadType: this.payloadType,\n payloadLength: this.streamLength,\n id: this.id,\n end: true,\n };\n this.sender.sendPayload(header, this.stream);\n return [2 /*return*/];\n });\n });\n };\n return PayloadDisassembler;\n}());\nexports.PayloadDisassembler = PayloadDisassembler;\n\n},{\"../subscribableStream\":27}],6:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestDisassembler = void 0;\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\n/**\n * Streaming request disassembler.\n */\nvar RequestDisassembler = /** @class */ (function (_super) {\n __extends(RequestDisassembler, _super);\n /**\n * Initializes a new instance of the [RequestDisassembler](xref:botframework-streaming.RequestDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param id The ID of this disassembler.\n * @param request The request to be disassembled.\n */\n function RequestDisassembler(sender, id, request) {\n var _this = _super.call(this, sender, id) || this;\n _this.request = request;\n _this.payloadType = payloadTypes_1.PayloadTypes.request;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Stream.\n */\n RequestDisassembler.prototype.getStream = function () {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_e) {\n payload = { verb: (_a = this.request) === null || _a === void 0 ? void 0 : _a.verb, path: (_b = this.request) === null || _b === void 0 ? void 0 : _b.path, streams: [] };\n (_d = (_c = this.request) === null || _c === void 0 ? void 0 : _c.streams) === null || _d === void 0 ? void 0 : _d.forEach(function (stream) {\n payload.streams.push(stream.description);\n });\n return [2 /*return*/, payloadDisassembler_1.PayloadDisassembler.serialize(payload)];\n });\n });\n };\n return RequestDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.RequestDisassembler = RequestDisassembler;\n\n},{\"../payloads/payloadTypes\":19,\"./payloadDisassembler\":5}],7:[function(require,module,exports){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseDisassembler = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\n/**\n * Streaming response disassembler.\n */\nvar ResponseDisassembler = /** @class */ (function (_super) {\n __extends(ResponseDisassembler, _super);\n /**\n * Initializes a new instance of the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param id The ID of this disassembler.\n * @param response The response to be disassembled.\n */\n function ResponseDisassembler(sender, id, response) {\n var _this = _super.call(this, sender, id) || this;\n _this.payloadType = payloadTypes_1.PayloadTypes.response;\n _this.response = response;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Stream.\n */\n ResponseDisassembler.prototype.getStream = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_b) {\n payload = { statusCode: this.response.statusCode, streams: [] };\n (_a = this.response.streams) === null || _a === void 0 ? void 0 : _a.forEach(function (_a) {\n var description = _a.description;\n payload.streams.push({\n id: description.id,\n contentType: description.type,\n length: description.length,\n });\n });\n return [2 /*return*/, payloadDisassembler_1.PayloadDisassembler.serialize(payload)];\n });\n });\n };\n return ResponseDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.ResponseDisassembler = ResponseDisassembler;\n\n},{\"../payloads/payloadTypes\":19,\"./payloadDisassembler\":5}],8:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpContent = exports.HttpContentStream = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar protocol_base_1 = require(\"./utilities/protocol-base\");\n/**\n * An attachment contained within a StreamingRequest's stream collection, which itself contains any form of media item.\n */\nvar HttpContentStream = /** @class */ (function () {\n /**\n * Initializes a new instance of the [HttpContentStream](xref:botframework-streaming.HttpContentStream) class.\n *\n * @param content The [HttpContent](xref:botframework-streaming.HttpContent) to assign to the [HttpContentStream](xref:botframework-streaming.HttpContentStream).\n */\n function HttpContentStream(content) {\n var _a, _b, _c, _d, _e, _f;\n this.content = content;\n this.id = (0, protocol_base_1.generateGuid)();\n this.description = {\n id: this.id,\n type: (_c = (_b = (_a = this.content) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : 'unknown',\n length: (_f = (_e = (_d = this.content) === null || _d === void 0 ? void 0 : _d.headers) === null || _e === void 0 ? void 0 : _e.contentLength) !== null && _f !== void 0 ? _f : 0,\n };\n }\n return HttpContentStream;\n}());\nexports.HttpContentStream = HttpContentStream;\n/**\n * The HttpContent class that contains a [SubscribableStream](xref:botframework-streaming.SubscribableStream).\n */\nvar HttpContent = /** @class */ (function () {\n /**\n * Initializes a new instance of the [HttpContent](xref:botframework-streaming.HttpContent) class.\n *\n * @param headers The Streaming Http content header definition.\n * @param stream The stream of buffered data.\n */\n function HttpContent(headers, stream) {\n this.headers = headers;\n this.stream = stream;\n }\n /**\n * Gets the data contained within this [HttpContent](xref:botframework-streaming.HttpContent).\n *\n * @returns This [HttpContent's](xref:botframework-streaming.HttpContent) [SubscribableStream](xref:botframework-streaming.SubscribableStream) member.\n */\n HttpContent.prototype.getStream = function () {\n return this.stream;\n };\n return HttpContent;\n}());\nexports.HttpContent = HttpContent;\n\n},{\"./utilities/protocol-base\":28}],9:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketClient = exports.BrowserWebSocket = exports.SubscribableStream = exports.StreamingResponse = exports.StreamingRequest = exports.RequestHandler = exports.HttpContent = exports.ContentStream = void 0;\nvar contentStream_1 = require(\"./contentStream\");\nObject.defineProperty(exports, \"ContentStream\", { enumerable: true, get: function () { return contentStream_1.ContentStream; } });\nvar httpContentStream_1 = require(\"./httpContentStream\");\nObject.defineProperty(exports, \"HttpContent\", { enumerable: true, get: function () { return httpContentStream_1.HttpContent; } });\nvar requestHandler_1 = require(\"./requestHandler\");\nObject.defineProperty(exports, \"RequestHandler\", { enumerable: true, get: function () { return requestHandler_1.RequestHandler; } });\nvar streamingRequest_1 = require(\"./streamingRequest\");\nObject.defineProperty(exports, \"StreamingRequest\", { enumerable: true, get: function () { return streamingRequest_1.StreamingRequest; } });\nvar streamingResponse_1 = require(\"./streamingResponse\");\nObject.defineProperty(exports, \"StreamingResponse\", { enumerable: true, get: function () { return streamingResponse_1.StreamingResponse; } });\nvar subscribableStream_1 = require(\"./subscribableStream\");\nObject.defineProperty(exports, \"SubscribableStream\", { enumerable: true, get: function () { return subscribableStream_1.SubscribableStream; } });\nvar index_browser_1 = require(\"./webSocket/index-browser\");\nObject.defineProperty(exports, \"BrowserWebSocket\", { enumerable: true, get: function () { return index_browser_1.BrowserWebSocket; } });\nObject.defineProperty(exports, \"WebSocketClient\", { enumerable: true, get: function () { return index_browser_1.WebSocketClient; } });\n\n},{\"./contentStream\":2,\"./httpContentStream\":8,\"./requestHandler\":24,\"./streamingRequest\":25,\"./streamingResponse\":26,\"./subscribableStream\":27,\"./webSocket/index-browser\":31}],10:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./payloadReceiver\"), exports);\n__exportStar(require(\"./payloadSender\"), exports);\n__exportStar(require(\"./transportDisconnectedEvent\"), exports);\n__exportStar(require(\"./transportDisconnectedEventHandler\"), exports);\n\n},{\"./payloadReceiver\":11,\"./payloadSender\":12,\"./transportDisconnectedEvent\":13,\"./transportDisconnectedEventHandler\":14}],11:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadReceiver = void 0;\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar headerSerializer_1 = require(\"../payloads/headerSerializer\");\nvar payloadConstants_1 = require(\"../payloads/payloadConstants\");\nvar transportDisconnectedEvent_1 = require(\"./transportDisconnectedEvent\");\n/**\n * Payload receiver for streaming.\n */\nvar PayloadReceiver = /** @class */ (function () {\n function PayloadReceiver() {\n }\n Object.defineProperty(PayloadReceiver.prototype, \"isConnected\", {\n /**\n * Get current connected state\n *\n * @returns true if connected to a transport sender.\n */\n get: function () {\n return this._receiver != null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Connects to a transport receiver\n *\n * @param receiver The [ITransportReceiver](xref:botframework-streaming.ITransportReceiver) object to pull incoming data from.\n * @returns a promise that resolves when the receiver is complete\n */\n PayloadReceiver.prototype.connect = function (receiver) {\n this._receiver = receiver;\n return this.receivePackets();\n };\n /**\n * Allows subscribing to this receiver in order to be notified when new data comes in.\n *\n * @param getStream Callback when a new stream has been received.\n * @param receiveAction Callback when a new message has been received.\n */\n PayloadReceiver.prototype.subscribe = function (getStream, receiveAction) {\n this._getStream = getStream;\n this._receiveAction = receiveAction;\n };\n /**\n * Force this receiver to disconnect.\n *\n * @param event Event arguments to include when broadcasting disconnection event.\n */\n PayloadReceiver.prototype.disconnect = function (event) {\n var _a, _b;\n if (event === void 0) { event = transportDisconnectedEvent_1.TransportDisconnectedEvent.Empty; }\n if (!this.isConnected) {\n return;\n }\n try {\n this._receiver.close();\n (_a = this.disconnected) === null || _a === void 0 ? void 0 : _a.call(this, this, event);\n }\n catch (err) {\n (_b = this.disconnected) === null || _b === void 0 ? void 0 : _b.call(this, this, new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n finally {\n this._receiver = null;\n }\n };\n PayloadReceiver.prototype.receivePackets = function () {\n return __awaiter(this, void 0, void 0, function () {\n var readSoFar, _a, header, isStream, bytesActuallyRead, contentStream, count, _b, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.isConnected) return [3 /*break*/, 11];\n _c.label = 1;\n case 1:\n _c.trys.push([1, 9, , 10]);\n readSoFar = 0;\n _c.label = 2;\n case 2:\n if (!(readSoFar < payloadConstants_1.PayloadConstants.MaxHeaderLength)) return [3 /*break*/, 4];\n _a = this;\n return [4 /*yield*/, this._receiver.receive(payloadConstants_1.PayloadConstants.MaxHeaderLength - readSoFar)];\n case 3:\n _a._receiveHeaderBuffer = _c.sent();\n if (this._receiveHeaderBuffer) {\n readSoFar += this._receiveHeaderBuffer.length;\n }\n return [3 /*break*/, 2];\n case 4:\n header = headerSerializer_1.HeaderSerializer.deserialize(this._receiveHeaderBuffer);\n isStream = header.payloadType === payloadTypes_1.PayloadTypes.stream;\n if (!(header.payloadLength > 0)) return [3 /*break*/, 8];\n bytesActuallyRead = 0;\n contentStream = this._getStream(header);\n _c.label = 5;\n case 5:\n if (!(bytesActuallyRead < header.payloadLength &&\n bytesActuallyRead < payloadConstants_1.PayloadConstants.MaxPayloadLength)) return [3 /*break*/, 7];\n count = Math.min(header.payloadLength - bytesActuallyRead, payloadConstants_1.PayloadConstants.MaxPayloadLength);\n _b = this;\n return [4 /*yield*/, this._receiver.receive(count)];\n case 6:\n _b._receivePayloadBuffer = _c.sent();\n bytesActuallyRead += this._receivePayloadBuffer.byteLength;\n contentStream.write(this._receivePayloadBuffer);\n // If this is a stream we want to keep handing it up as it comes in\n if (isStream) {\n this._receiveAction(header, contentStream, bytesActuallyRead);\n }\n return [3 /*break*/, 5];\n case 7:\n if (!isStream) {\n this._receiveAction(header, contentStream, bytesActuallyRead);\n }\n _c.label = 8;\n case 8: return [3 /*break*/, 10];\n case 9:\n err_1 = _c.sent();\n this.disconnect(new transportDisconnectedEvent_1.TransportDisconnectedEvent(err_1.message));\n return [3 /*break*/, 10];\n case 10: return [3 /*break*/, 0];\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n return PayloadReceiver;\n}());\nexports.PayloadReceiver = PayloadReceiver;\n\n},{\"../payloads/headerSerializer\":15,\"../payloads/payloadConstants\":18,\"../payloads/payloadTypes\":19,\"./transportDisconnectedEvent\":13}],12:[function(require,module,exports){\n(function (Buffer){(function (){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadSender = void 0;\nvar headerSerializer_1 = require(\"../payloads/headerSerializer\");\nvar payloadConstants_1 = require(\"../payloads/payloadConstants\");\nvar transportDisconnectedEvent_1 = require(\"./transportDisconnectedEvent\");\n/**\n * Streaming payload sender.\n */\nvar PayloadSender = /** @class */ (function () {\n function PayloadSender() {\n }\n Object.defineProperty(PayloadSender.prototype, \"isConnected\", {\n /**\n * Get current connected state\n *\n * @returns true if connected to a transport sender.\n */\n get: function () {\n return this._sender != null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Connects to the given transport sender.\n *\n * @param sender The transport sender to connect this payload sender to.\n */\n PayloadSender.prototype.connect = function (sender) {\n this._sender = sender;\n };\n /**\n * Sends a payload out over the connected transport sender.\n *\n * @param header The header to attach to the outgoing payload.\n * @param payload The stream of buffered data to send.\n * @param sentCallback The function to execute when the send has completed.\n */\n PayloadSender.prototype.sendPayload = function (header, payload, sentCallback) {\n var packet = { header: header, payload: payload, sentCallback: sentCallback };\n this.writePacket(packet);\n };\n /**\n * Disconnects this payload sender.\n *\n * @param event The disconnected event arguments to include in the disconnected event broadcast.\n */\n PayloadSender.prototype.disconnect = function (event) {\n var _a, _b;\n if (event === void 0) { event = transportDisconnectedEvent_1.TransportDisconnectedEvent.Empty; }\n if (!this.isConnected) {\n return;\n }\n try {\n this._sender.close();\n (_a = this.disconnected) === null || _a === void 0 ? void 0 : _a.call(this, this, event);\n }\n catch (err) {\n (_b = this.disconnected) === null || _b === void 0 ? void 0 : _b.call(this, this, new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n finally {\n this._sender = null;\n }\n };\n PayloadSender.prototype.writePacket = function (packet) {\n try {\n if (packet.header.payloadLength > 0 && packet.payload) {\n var leftOver = packet.header.payloadLength;\n while (leftOver > 0) {\n var count = leftOver <= payloadConstants_1.PayloadConstants.MaxPayloadLength ? leftOver : payloadConstants_1.PayloadConstants.MaxPayloadLength;\n var chunk = packet.payload.read(count);\n var header = packet.header;\n header.payloadLength = count;\n header.end = leftOver <= payloadConstants_1.PayloadConstants.MaxPayloadLength;\n var sendHeaderBuffer = Buffer.alloc(payloadConstants_1.PayloadConstants.MaxHeaderLength);\n headerSerializer_1.HeaderSerializer.serialize(header, sendHeaderBuffer);\n this._sender.send(sendHeaderBuffer);\n this._sender.send(chunk);\n leftOver -= chunk.length;\n }\n if (packet.sentCallback) {\n packet.sentCallback();\n }\n }\n }\n catch (err) {\n this.disconnect(new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n };\n return PayloadSender;\n}());\nexports.PayloadSender = PayloadSender;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"../payloads/headerSerializer\":15,\"../payloads/payloadConstants\":18,\"./transportDisconnectedEvent\":13,\"buffer\":35}],13:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TransportDisconnectedEvent = void 0;\n/**\n * Event to be included when disconnection events are fired.\n */\nvar TransportDisconnectedEvent = /** @class */ (function () {\n /**\n * Indicates a transport disconnected with the reason provided via the constructor.\n *\n * @remarks\n * This class is used for communicating disconnection events between the\n * PayloadReceiver and PayloadSender.\n * @param reason The reason the disconnection event fired, in plain text.\n */\n function TransportDisconnectedEvent(reason) {\n this.reason = reason;\n }\n /**\n * A new and empty TransportDisconnectedEvent.\n */\n TransportDisconnectedEvent.Empty = new TransportDisconnectedEvent();\n return TransportDisconnectedEvent;\n}());\nexports.TransportDisconnectedEvent = TransportDisconnectedEvent;\n\n},{}],14:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n},{}],15:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeaderSerializer = void 0;\nvar payloadConstants_1 = require(\"./payloadConstants\");\n/**\n * Streaming header serializer\n */\nvar HeaderSerializer = /** @class */ (function () {\n function HeaderSerializer() {\n }\n /**\n * Serializes the header into a buffer\n *\n * @param header The header to serialize.\n * @param buffer The buffer into which to serialize the header.\n */\n HeaderSerializer.serialize = function (header, buffer) {\n buffer.write(header.payloadType, this.TypeOffset, 1, this.Encoding);\n buffer.write(this.Delimiter, this.TypeDelimiterOffset, 1, this.Encoding);\n buffer.write(this.headerLengthPadder(header.payloadLength, this.LengthLength, '0'), this.LengthOffset, this.LengthLength, this.Encoding);\n buffer.write(this.Delimiter, this.LengthDelimeterOffset, 1, this.Encoding);\n buffer.write(header.id, this.IdOffset);\n buffer.write(this.Delimiter, this.IdDelimeterOffset, 1, this.Encoding);\n buffer.write(header.end ? this.End : this.NotEnd, this.EndOffset);\n buffer.write(this.Terminator, this.TerminatorOffset);\n };\n /**\n * Deserializes a buffer containing header information.\n *\n * @param buffer The buffer from which to obtain the data to deserialize.\n * @returns The deserialized header from the buffer.\n */\n HeaderSerializer.deserialize = function (buffer) {\n var jsonBuffer = buffer.toString(this.Encoding);\n var headerArray = jsonBuffer.split(this.Delimiter);\n if (headerArray.length !== 4) {\n throw Error(\"Cannot parse header, header is malformed. Header: \".concat(jsonBuffer));\n }\n var payloadType = headerArray[0], length = headerArray[1], id = headerArray[2], headerEnd = headerArray[3];\n var end = headerEnd === '1\\n';\n var payloadLength = Number(length);\n var header = { end: end, payloadLength: payloadLength, payloadType: payloadType, id: id };\n if (!(header.payloadLength <= payloadConstants_1.PayloadConstants.MaxPayloadLength &&\n header.payloadLength >= payloadConstants_1.PayloadConstants.MinLength)) {\n throw Error(\"Header length of \".concat(header.payloadLength, \" is missing or malformed\"));\n }\n if (header.payloadType.length !== this.TypeDelimiterOffset) {\n throw Error(\"Header type '\".concat(header.payloadType.length, \"' is missing or malformed.\"));\n }\n if (!header.id ||\n !header.id.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i) ||\n header.id.length !== this.IdLength) {\n throw Error(\"Header ID '\".concat(header.id, \"' is missing or malformed.\"));\n }\n if (!(headerEnd === '0\\n' || headerEnd === '1\\n')) {\n throw Error(\"Header End is missing or not a valid value. Header end: '\".concat(headerEnd, \"'\"));\n }\n return header;\n };\n /**\n * Creates a padded string based on a length and character to be padded to.\n *\n * @param lengthValue The value to be assingned on the result.\n * @param totalLength The length of the padded string result.\n * @param padChar The character value to use as filling.\n * @returns The padded string.\n */\n HeaderSerializer.headerLengthPadder = function (lengthValue, totalLength, padChar) {\n var result = Array(totalLength + 1).join(padChar);\n var lengthString = lengthValue.toString();\n return (result + lengthString).slice(lengthString.length);\n };\n HeaderSerializer.Delimiter = '.';\n HeaderSerializer.Terminator = '\\n';\n HeaderSerializer.End = '1';\n HeaderSerializer.NotEnd = '0';\n HeaderSerializer.TypeOffset = 0;\n HeaderSerializer.TypeDelimiterOffset = 1;\n HeaderSerializer.LengthOffset = 2;\n HeaderSerializer.LengthLength = 6;\n HeaderSerializer.LengthDelimeterOffset = 8;\n HeaderSerializer.IdOffset = 9;\n HeaderSerializer.IdLength = 36;\n HeaderSerializer.IdDelimeterOffset = 45;\n HeaderSerializer.EndOffset = 46;\n HeaderSerializer.TerminatorOffset = 47;\n HeaderSerializer.Encoding = 'utf8';\n return HeaderSerializer;\n}());\nexports.HeaderSerializer = HeaderSerializer;\n\n},{\"./payloadConstants\":18}],16:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./headerSerializer\"), exports);\n__exportStar(require(\"./streamManager\"), exports);\n__exportStar(require(\"./payloadAssemblerManager\"), exports);\n__exportStar(require(\"./payloadTypes\"), exports);\n__exportStar(require(\"./requestManager\"), exports);\n__exportStar(require(\"./sendOperations\"), exports);\n__exportStar(require(\"./streamManager\"), exports);\n\n},{\"./headerSerializer\":15,\"./payloadAssemblerManager\":17,\"./payloadTypes\":19,\"./requestManager\":20,\"./sendOperations\":21,\"./streamManager\":22}],17:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadAssemblerManager = void 0;\nvar payloadAssembler_1 = require(\"../assemblers/payloadAssembler\");\nvar payloadTypes_1 = require(\"./payloadTypes\");\n/**\n * Orchestrates assembly of payloads.\n */\nvar PayloadAssemblerManager = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadAssemblerManager](xref:botframework-streaming.PayloadAssemblerManager) class.\n *\n * @param streamManager The [StreamManager](xref:botframework-streaming.StreamManager) managing the stream being assembled.\n * @param onReceiveResponse Function that executes when new bytes are received on a `response` stream.\n * @param onReceiveRequest Function that executes when new bytes are received on a `request` stream.\n */\n function PayloadAssemblerManager(streamManager, onReceiveResponse, onReceiveRequest) {\n this.streamManager = streamManager;\n this.onReceiveResponse = onReceiveResponse;\n this.onReceiveRequest = onReceiveRequest;\n this.activeAssemblers = {};\n }\n /**\n * Retrieves the assembler's payload as a stream.\n *\n * @param header The Header of the Stream to retrieve.\n * @returns A [SubscribableStream](xref:botframework-streaming.SubscribableStream) of the assembler's payload.\n */\n PayloadAssemblerManager.prototype.getPayloadStream = function (header) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.stream) {\n return this.streamManager.getPayloadStream(header);\n }\n else if (!this.activeAssemblers[header.id]) {\n var assembler = this.createPayloadAssembler(header);\n if (assembler) {\n this.activeAssemblers[header.id] = assembler;\n return assembler.getPayloadStream();\n }\n }\n };\n /**\n * The action the assembler executes when new bytes are received on the incoming stream.\n *\n * @param header The stream's Header.\n * @param contentStream The incoming stream being assembled.\n * @param contentLength The length of the stream, if finite.\n */\n PayloadAssemblerManager.prototype.onReceive = function (header, contentStream, contentLength) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.stream) {\n this.streamManager.onReceive(header, contentStream, contentLength);\n }\n else {\n if (this.activeAssemblers && this.activeAssemblers[header.id]) {\n var assembler = this.activeAssemblers[header.id];\n assembler.onReceive(header, contentStream, contentLength);\n }\n if (header.end) {\n delete this.activeAssemblers[header.id];\n }\n }\n };\n PayloadAssemblerManager.prototype.createPayloadAssembler = function (header) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.request) {\n return new payloadAssembler_1.PayloadAssembler(this.streamManager, {\n header: header,\n onCompleted: this.onReceiveRequest,\n });\n }\n else if (header.payloadType === payloadTypes_1.PayloadTypes.response) {\n return new payloadAssembler_1.PayloadAssembler(this.streamManager, {\n header: header,\n onCompleted: this.onReceiveResponse,\n });\n }\n };\n return PayloadAssemblerManager;\n}());\nexports.PayloadAssemblerManager = PayloadAssemblerManager;\n\n},{\"../assemblers/payloadAssembler\":1,\"./payloadTypes\":19}],18:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadConstants = void 0;\n/**\n * Constants for streaming payloads.\n */\nvar PayloadConstants;\n(function (PayloadConstants) {\n PayloadConstants[PayloadConstants[\"MaxPayloadLength\"] = 4096] = \"MaxPayloadLength\";\n PayloadConstants[PayloadConstants[\"MaxHeaderLength\"] = 48] = \"MaxHeaderLength\";\n PayloadConstants[PayloadConstants[\"MaxLength\"] = 999999] = \"MaxLength\";\n PayloadConstants[PayloadConstants[\"MinLength\"] = 0] = \"MinLength\";\n})(PayloadConstants = exports.PayloadConstants || (exports.PayloadConstants = {}));\n\n},{}],19:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadTypes = void 0;\n/**\n * Typess of payloads supported in the streaming library.\n */\nvar PayloadTypes;\n(function (PayloadTypes) {\n PayloadTypes[\"request\"] = \"A\";\n PayloadTypes[\"response\"] = \"B\";\n PayloadTypes[\"stream\"] = \"S\";\n PayloadTypes[\"cancelAll\"] = \"X\";\n PayloadTypes[\"cancelStream\"] = \"C\";\n})(PayloadTypes = exports.PayloadTypes || (exports.PayloadTypes = {}));\n\n},{}],20:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestManager = void 0;\n/**\n * A streaming pending request.\n */\nvar PendingRequest = /** @class */ (function () {\n function PendingRequest() {\n }\n return PendingRequest;\n}());\n/**\n * Orchestrates and manages pending streaming requests.\n */\nvar RequestManager = /** @class */ (function () {\n function RequestManager() {\n this._pendingRequests = {};\n }\n /**\n * Gets the count of the pending requests.\n *\n * @returns Number with the pending requests count.\n */\n RequestManager.prototype.pendingRequestCount = function () {\n return Object.keys(this._pendingRequests).length;\n };\n /**\n * Signal fired when all response tasks have completed.\n *\n * @param requestId The ID of the StreamingRequest.\n * @param response The [IReceiveResponse](xref:botframework-streaming.IReceiveResponse) in response to the request.\n * @returns A Promise that when completed returns `true` if the `requestId`'s pending response task was completed, otherwise `false`.\n */\n RequestManager.prototype.signalResponse = function (requestId, response) {\n return __awaiter(this, void 0, void 0, function () {\n var pendingRequest;\n return __generator(this, function (_a) {\n pendingRequest = this._pendingRequests[requestId];\n if (pendingRequest) {\n pendingRequest.resolve(response);\n delete this._pendingRequests[requestId];\n return [2 /*return*/, true];\n }\n return [2 /*return*/, false];\n });\n });\n };\n /**\n * Constructs and returns a response for this request.\n *\n * @param requestId The ID of the StreamingRequest being responded to.\n * @returns The response to the specified request.\n */\n RequestManager.prototype.getResponse = function (requestId) {\n var pendingRequest = this._pendingRequests[requestId];\n if (pendingRequest) {\n return Promise.reject(\"requestId '\".concat(requestId, \"' already exists in RequestManager\"));\n }\n pendingRequest = new PendingRequest();\n pendingRequest.requestId = requestId;\n var promise = new Promise(function (resolve, reject) {\n pendingRequest.resolve = resolve;\n pendingRequest.reject = reject;\n });\n this._pendingRequests[requestId] = pendingRequest;\n return promise;\n };\n /**\n * Rejects all requests pending a response.\n *\n * @param reason The reason for rejection.\n */\n RequestManager.prototype.rejectAllResponses = function (reason) {\n var _this = this;\n Object.entries(this._pendingRequests).forEach(function (_a) {\n var requestId = _a[0], reject = _a[1].reject;\n reject(reason);\n delete _this._pendingRequests[requestId];\n });\n };\n return RequestManager;\n}());\nexports.RequestManager = RequestManager;\n\n},{}],21:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SendOperations = void 0;\nvar cancelDisassembler_1 = require(\"../disassemblers/cancelDisassembler\");\nvar httpContentStreamDisassembler_1 = require(\"../disassemblers/httpContentStreamDisassembler\");\nvar requestDisassembler_1 = require(\"../disassemblers/requestDisassembler\");\nvar responseDisassembler_1 = require(\"../disassemblers/responseDisassembler\");\nvar payloadTypes_1 = require(\"./payloadTypes\");\n/**\n * Send operations for streaming payloads.\n */\nvar SendOperations = /** @class */ (function () {\n /**\n * Initializes a new instance of the [SendOperations](xref:botframework-streaming.SendOperations) class.\n *\n * @param payloadSender The [PayloadSender](xref:botframework-streaming.PayloadSender) that will send the disassembled data from all of this instance's send operations.\n */\n function SendOperations(payloadSender) {\n this.payloadSender = payloadSender;\n }\n /**\n * The send operation used to send a [StreamingRequest](xref:botframework-streaming.StreamingRequest).\n *\n * @param id The ID to assign to the [RequestDisassembler](xref:botframework-streaming.RequestDisassembler) used by this operation.\n * @param request The request to send.\n */\n SendOperations.prototype.sendRequest = function (id, request) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n disassembler = new requestDisassembler_1.RequestDisassembler(this.payloadSender, id, request);\n return [4 /*yield*/, disassembler.disassemble()];\n case 1:\n _a.sent();\n if (request.streams) {\n request.streams.forEach(function (contentStream) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * The send operation used to send a [PayloadTypes.response](xref:botframework-streaming.PayloadTypes.response).\n *\n * @param id The ID to assign to the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) used by this operation.\n * @param response The response to send.\n */\n SendOperations.prototype.sendResponse = function (id, response) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n disassembler = new responseDisassembler_1.ResponseDisassembler(this.payloadSender, id, response);\n return [4 /*yield*/, disassembler.disassemble()];\n case 1:\n _a.sent();\n if (response.streams) {\n response.streams.forEach(function (contentStream) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * The send operation used to send a [PayloadTypes.cancelStream](xref:botframework-streaming.PayloadTypes.cancelStream).\n *\n * @param id The ID to assign to the [CancelDisassembler](xref:botframework-streaming.CancelDisassembler) used by this operation.\n */\n SendOperations.prototype.sendCancelStream = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n return __generator(this, function (_a) {\n disassembler = new cancelDisassembler_1.CancelDisassembler(this.payloadSender, id, payloadTypes_1.PayloadTypes.cancelStream);\n disassembler.disassemble();\n return [2 /*return*/];\n });\n });\n };\n return SendOperations;\n}());\nexports.SendOperations = SendOperations;\n\n},{\"../disassemblers/cancelDisassembler\":3,\"../disassemblers/httpContentStreamDisassembler\":4,\"../disassemblers/requestDisassembler\":6,\"../disassemblers/responseDisassembler\":7,\"./payloadTypes\":19}],22:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamManager = void 0;\nvar payloadAssembler_1 = require(\"../assemblers/payloadAssembler\");\n/**\n * Orchestrates and manages streams.\n */\nvar StreamManager = /** @class */ (function () {\n /**\n * Initializes a new instance of the [StreamManager](xref:botframework-streaming.StreamManager) class.\n *\n * @param onCancelStream Function to trigger if the managed stream is cancelled.\n */\n function StreamManager(onCancelStream) {\n this.onCancelStream = onCancelStream;\n this.activeAssemblers = [];\n }\n /**\n * Retrieves a [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) with the given ID if one exists, otherwise a new instance is created and assigned the given ID.\n *\n * @param id The ID of the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) to retrieve or create.\n * @returns The [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) with the given ID.\n */\n StreamManager.prototype.getPayloadAssembler = function (id) {\n if (!this.activeAssemblers[id]) {\n // A new id has come in, kick off the process of tracking it.\n var assembler = new payloadAssembler_1.PayloadAssembler(this, { id: id });\n this.activeAssemblers[id] = assembler;\n return assembler;\n }\n else {\n return this.activeAssemblers[id];\n }\n };\n /**\n * Retrieves the [SubscribableStream](xref:botframework-streaming.SubscribableStream) from the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) this manager manages.\n *\n * @param header The Header of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) to retrieve.\n * @returns The [SubscribableStream](xref:botframework-streaming.SubscribableStream) with the given header.\n */\n StreamManager.prototype.getPayloadStream = function (header) {\n var assembler = this.getPayloadAssembler(header.id);\n return assembler.getPayloadStream();\n };\n /**\n * Used to set the behavior of the managed [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) when data is received.\n *\n * @param header The Header of the stream.\n * @param contentStream The [SubscribableStream](xref:botframework-streaming.SubscribableStream) to write incoming data to.\n * @param contentLength The amount of data to write to the contentStream.\n */\n StreamManager.prototype.onReceive = function (header, contentStream, contentLength) {\n if (!this.activeAssemblers[header.id]) {\n return;\n }\n this.activeAssemblers[header.id].onReceive(header, contentStream, contentLength);\n };\n /**\n * Closes the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) assigned to the [SubscribableStream](xref:botframework-streaming.SubscribableStream) with the given ID.\n *\n * @param id The ID of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) to close.\n */\n StreamManager.prototype.closeStream = function (id) {\n if (!this.activeAssemblers[id]) {\n return;\n }\n else {\n var assembler = this.activeAssemblers[id];\n this.activeAssemblers.splice(this.activeAssemblers.indexOf(id), 1);\n var targetStream = assembler.getPayloadStream();\n if ((assembler.contentLength && targetStream.length < assembler.contentLength) || !assembler.end) {\n this.onCancelStream(assembler);\n }\n }\n };\n return StreamManager;\n}());\nexports.StreamManager = StreamManager;\n\n},{\"../assemblers/payloadAssembler\":1}],23:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProtocolAdapter = void 0;\nvar payloadAssemblerManager_1 = require(\"./payloads/payloadAssemblerManager\");\nvar sendOperations_1 = require(\"./payloads/sendOperations\");\nvar streamManager_1 = require(\"./payloads/streamManager\");\nvar protocol_base_1 = require(\"./utilities/protocol-base\");\n/**\n * Creates a protocol adapter for Streaming.\n */\nvar ProtocolAdapter = /** @class */ (function () {\n /**\n * Creates a new instance of the protocol adapter class.\n *\n * @param requestHandler The [RequestHandler](xref:botframework-streaming.RequestHandler) that will process incoming requests.\n * @param requestManager The [RequestManager](xref:botframework-streaming.RequestManager) that will process outgoing requests.\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) for use with outgoing requests.\n * @param receiver The [PayloadReceiver](xref:botframework-streaming.PayloadReceiver) for use with incoming requests.\n */\n function ProtocolAdapter(requestHandler, requestManager, sender, receiver) {\n var _this = this;\n this.requestHandler = requestHandler;\n this.requestManager = requestManager;\n this.payloadSender = sender;\n this.payloadReceiver = receiver;\n this.sendOperations = new sendOperations_1.SendOperations(this.payloadSender);\n this.streamManager = new streamManager_1.StreamManager(this.onCancelStream);\n this.assemblerManager = new payloadAssemblerManager_1.PayloadAssemblerManager(this.streamManager, function (id, response) { return _this.onReceiveResponse(id, response); }, function (id, request) { return _this.onReceiveRequest(id, request); });\n this.payloadReceiver.subscribe(function (header) { return _this.assemblerManager.getPayloadStream(header); }, function (header, contentStream, contentLength) {\n return _this.assemblerManager.onReceive(header, contentStream, contentLength);\n });\n }\n /**\n * Sends a request over the attached request manager.\n *\n * @param request The outgoing request to send.\n * @returns The response to the specified request.\n */\n ProtocolAdapter.prototype.sendRequest = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var requestId, getResponsePromise;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n requestId = (0, protocol_base_1.generateGuid)();\n getResponsePromise = this.requestManager.getResponse(requestId);\n return [4 /*yield*/, this.sendOperations.sendRequest(requestId, request)];\n case 1:\n _a.sent();\n return [2 /*return*/, getResponsePromise];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a request comes in.\n *\n * @param id The id the resources created for the response will be assigned.\n * @param request The incoming request to process.\n */\n ProtocolAdapter.prototype.onReceiveRequest = function (id, request) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.requestHandler) return [3 /*break*/, 3];\n return [4 /*yield*/, this.requestHandler.processRequest(request)];\n case 1:\n response = _a.sent();\n if (!response) return [3 /*break*/, 3];\n return [4 /*yield*/, this.sendOperations.sendResponse(id, response)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a response comes in.\n *\n * @param id The id the resources created for the response will be assigned.\n * @param response The incoming response to process.\n */\n ProtocolAdapter.prototype.onReceiveResponse = function (id, response) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.requestManager.signalResponse(id, response)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a cancellation comes in.\n *\n * @param contentStreamAssembler The payload assembler processing the incoming data that this cancellation request targets.\n */\n ProtocolAdapter.prototype.onCancelStream = function (contentStreamAssembler) {\n this.sendOperations.sendCancelStream(contentStreamAssembler.id).catch();\n };\n return ProtocolAdapter;\n}());\nexports.ProtocolAdapter = ProtocolAdapter;\n\n},{\"./payloads/payloadAssemblerManager\":17,\"./payloads/sendOperations\":21,\"./payloads/streamManager\":22,\"./utilities/protocol-base\":28}],24:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestHandler = void 0;\n/**\n * Implemented by classes used to process incoming streaming requests sent over an [IStreamingTransport](xref:botframework-streaming.IStreamingTransport).\n */\nvar RequestHandler = /** @class */ (function () {\n function RequestHandler() {\n }\n return RequestHandler;\n}());\nexports.RequestHandler = RequestHandler;\n\n},{}],25:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingRequest = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar httpContentStream_1 = require(\"./httpContentStream\");\nvar subscribableStream_1 = require(\"./subscribableStream\");\n/**\n * The basic request type sent over Bot Framework Protocol 3 with Streaming Extensions transports, equivalent to HTTP request messages.\n */\nvar StreamingRequest = /** @class */ (function () {\n function StreamingRequest() {\n /**\n * List of associated streams.\n */\n this.streams = [];\n }\n /**\n * Creates a streaming request with the passed in method, path, and body.\n *\n * @param method The HTTP verb to use for this request.\n * @param path Optional path where the resource can be found on the remote server.\n * @param body Optional body to send to the remote server.\n * @returns On success returns a streaming request with appropriate status code and body.\n */\n StreamingRequest.create = function (method, path, body) {\n var request = new StreamingRequest();\n request.verb = method;\n request.path = path;\n if (body) {\n request.setBody(body);\n }\n return request;\n };\n /**\n * Adds a new stream attachment to this streaming request.\n *\n * @param content The Http content to include in the new stream attachment.\n */\n StreamingRequest.prototype.addStream = function (content) {\n if (!content) {\n throw new Error('Argument Undefined Exception: content undefined.');\n }\n this.streams.push(new httpContentStream_1.HttpContentStream(content));\n };\n /**\n * Sets the contents of the body of this streamingRequest.\n *\n * @param body The JSON text to write to the body of the streamingRequest.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n StreamingRequest.prototype.setBody = function (body) {\n if (typeof body === 'string') {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(body, 'utf8');\n this.addStream(new httpContentStream_1.HttpContent({\n type: 'application/json; charset=utf-8',\n contentLength: stream.length,\n }, stream));\n }\n else if (typeof body === 'object') {\n this.addStream(body);\n }\n };\n return StreamingRequest;\n}());\nexports.StreamingRequest = StreamingRequest;\n\n},{\"./httpContentStream\":8,\"./subscribableStream\":27}],26:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingResponse = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar httpContentStream_1 = require(\"./httpContentStream\");\nvar subscribableStream_1 = require(\"./subscribableStream\");\n/**\n * The basic response type sent over Bot Framework Protocol 3 with Streaming Extensions transports, equivalent to HTTP response messages.\n */\nvar StreamingResponse = /** @class */ (function () {\n function StreamingResponse() {\n this.streams = [];\n }\n /**\n * Creates a streaming response with the passed in method, path, and body.\n *\n * @param statusCode The HTTP verb to use for this request.\n * @param body Optional body containing additional information.\n * @returns A streaming response with the appropriate statuscode and passed in body.\n */\n StreamingResponse.create = function (statusCode, body) {\n var response = new StreamingResponse();\n response.statusCode = statusCode;\n if (body) {\n response.addStream(body);\n }\n return response;\n };\n /**\n * Adds a new stream attachment to this streaming request.\n *\n * @param content The Http content to include in the new stream attachment.\n */\n StreamingResponse.prototype.addStream = function (content) {\n this.streams.push(new httpContentStream_1.HttpContentStream(content));\n };\n /**\n * Sets the contents of the body of this streaming response.\n *\n * @param body The JSON text to write to the body of the streaming response.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n StreamingResponse.prototype.setBody = function (body) {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(JSON.stringify(body), 'utf8');\n this.addStream(new httpContentStream_1.HttpContent({\n type: 'application/json; charset=utf-8',\n contentLength: stream.length,\n }, stream));\n };\n return StreamingResponse;\n}());\nexports.StreamingResponse = StreamingResponse;\n\n},{\"./httpContentStream\":8,\"./subscribableStream\":27}],27:[function(require,module,exports){\n(function (Buffer){(function (){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 });\nexports.SubscribableStream = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar stream_1 = require(\"stream\");\n/**\n * An extension of `Duplex` that operates in conjunction with a `PayloadAssembler` to convert raw bytes into a consumable form.\n */\nvar SubscribableStream = /** @class */ (function (_super) {\n __extends(SubscribableStream, _super);\n /**\n * Initializes a new instance of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) class.\n *\n * @param options The `DuplexOptions` to use when constructing this stream.\n */\n function SubscribableStream(options) {\n var _this = _super.call(this, options) || this;\n _this.length = 0;\n _this.bufferList = [];\n return _this;\n }\n /**\n * Writes data to the buffered list.\n * All calls to writable.write() that occur between the time writable._write() is called and the callback is called will cause the written data to be buffered.\n *\n * @param chunk The Buffer to be written.\n * @param _encoding The encoding. Unused in the implementation of Duplex.\n * @param callback Callback for when this chunk of data is flushed.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n SubscribableStream.prototype._write = function (chunk, _encoding, callback) {\n var buffer = Buffer.from(chunk);\n this.bufferList.push(buffer);\n this.length += chunk.length;\n if (this._onData) {\n this._onData(buffer);\n }\n callback();\n };\n /**\n * Reads the buffered list.\n * Once the readable._read() method has been called, it will not be called again until more data is pushed through the readable.push() method.\n * Empty data such as empty buffers and strings will not cause readable._read() to be called.\n *\n * @param size Number of bytes to read.\n */\n SubscribableStream.prototype._read = function (size) {\n if (this.bufferList.length === 0) {\n // null signals end of stream\n this.push(null);\n }\n else {\n var total = 0;\n while (total < size && this.bufferList.length > 0) {\n var buffer = this.bufferList[0];\n this.push(buffer);\n this.bufferList.splice(0, 1);\n total += buffer.length;\n }\n }\n };\n /**\n * Subscribes to the stream when receives data.\n *\n * @param onData Callback to be called when onData is executed.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n SubscribableStream.prototype.subscribe = function (onData) {\n this._onData = onData;\n };\n return SubscribableStream;\n}(stream_1.Duplex));\nexports.SubscribableStream = SubscribableStream;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"buffer\":35,\"stream\":41}],28:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateGuid = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar uuid_1 = require(\"uuid\");\n/**\n * Generates an uuid v4 string.\n *\n * @returns An uuidv4 string.\n */\nfunction generateGuid() {\n return (0, uuid_1.v4)();\n}\nexports.generateGuid = generateGuid;\n\n},{\"uuid\":58}],29:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserWebSocket = void 0;\n/**\n * Represents a WebSocket that implements [ISocket](xref:botframework-streaming.ISocket).\n */\nvar BrowserWebSocket = /** @class */ (function () {\n /**\n * Creates a new instance of the [BrowserWebSocket](xref:botframework-streaming.BrowserWebSocket) class.\n *\n * @param socket The socket object to build this connection on.\n */\n function BrowserWebSocket(socket) {\n if (socket) {\n this.webSocket = socket;\n }\n }\n /**\n * Connects to the supporting socket using WebSocket protocol.\n *\n * @param serverAddress The address the server is listening on.\n * @returns A Promise that resolves the websocket is open and rejects if an error is encountered.\n */\n BrowserWebSocket.prototype.connect = function (serverAddress) {\n return __awaiter(this, void 0, void 0, function () {\n var resolver, rejector;\n return __generator(this, function (_a) {\n if (!this.webSocket) {\n this.webSocket = new WebSocket(serverAddress);\n }\n this.webSocket.onerror = function (e) {\n rejector(e);\n };\n this.webSocket.onopen = function (e) {\n resolver(e);\n };\n return [2 /*return*/, new Promise(function (resolve, reject) {\n resolver = resolve;\n rejector = reject;\n })];\n });\n });\n };\n Object.defineProperty(BrowserWebSocket.prototype, \"isConnected\", {\n /**\n * Indicates if the [BrowserWebSocket's](xref:botframework-streaming.BrowserWebSocket) underlying websocket is currently connected.\n *\n * @returns `true` if the underlying websocket is ready and availble to send messages, otherwise `false`.\n */\n get: function () {\n return this.webSocket.readyState === 1;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Writes a buffer to the socket and sends it.\n *\n * @param buffer The buffer of data to send across the connection.\n */\n BrowserWebSocket.prototype.write = function (buffer) {\n this.webSocket.send(buffer);\n };\n /**\n * Close the socket.\n */\n BrowserWebSocket.prototype.close = function () {\n this.webSocket.close();\n };\n /**\n * Set the handler for text and binary messages received on the socket.\n *\n * @param handler The callback to handle the \"message\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnMessageHandler = function (handler) {\n var bufferKey = 'buffer';\n var packets = [];\n this.webSocket.onmessage = function (evt) {\n var fileReader = new FileReader();\n var queueEntry = { buffer: null };\n packets.push(queueEntry);\n fileReader.onload = function (e) {\n var t = e.target;\n queueEntry[bufferKey] = t.result;\n if (packets[0] === queueEntry) {\n while (0 < packets.length && packets[0][bufferKey]) {\n handler(packets[0][bufferKey]);\n packets.splice(0, 1);\n }\n }\n };\n fileReader.readAsArrayBuffer(evt.data);\n };\n };\n /**\n * Set the callback to call when encountering errors.\n *\n * @param handler The callback to handle the \"error\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnErrorHandler = function (handler) {\n this.webSocket.onerror = function (error) {\n if (error) {\n handler(error);\n }\n };\n };\n /**\n * Set the callback to call when encountering socket closures.\n *\n * @param handler The callback to handle the \"close\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnCloseHandler = function (handler) {\n this.webSocket.onclose = handler;\n };\n return BrowserWebSocket;\n}());\nexports.BrowserWebSocket = BrowserWebSocket;\n\n},{}],30:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketClient = void 0;\nvar browserWebSocket_1 = require(\"./browserWebSocket\");\nvar payloadTransport_1 = require(\"../payloadTransport\");\nvar protocolAdapter_1 = require(\"../protocolAdapter\");\nvar payloads_1 = require(\"../payloads\");\nvar webSocketTransport_1 = require(\"./webSocketTransport\");\n/**\n * Web socket based client to be used as streaming transport.\n */\nvar WebSocketClient = /** @class */ (function () {\n /**\n * Creates a new instance of the [WebSocketClient](xref:botframework-streaming.WebSocketClient) class.\n *\n * @param config For configuring a [WebSocketClient](xref:botframework-streaming.WebSocketClient) instance to communicate with a WebSocket server.\n * @param config.url The URL of the remote server to connect to.\n * @param config.requestHandler The [RequestHandler](xref:botframework-streaming.RequestHandler) used to process incoming messages received by this client.\n * @param config.disconnectionHandler Optional function to handle the disconnection message.\n */\n function WebSocketClient(_a) {\n var url = _a.url, requestHandler = _a.requestHandler, _b = _a.disconnectionHandler, disconnectionHandler = _b === void 0 ? null : _b;\n this._url = url;\n this._requestHandler = requestHandler;\n this._disconnectionHandler = disconnectionHandler;\n this._requestManager = new payloads_1.RequestManager();\n this._sender = new payloadTransport_1.PayloadSender();\n this._sender.disconnected = this.onConnectionDisconnected.bind(this);\n this._receiver = new payloadTransport_1.PayloadReceiver();\n this._receiver.disconnected = this.onConnectionDisconnected.bind(this);\n this._protocolAdapter = new protocolAdapter_1.ProtocolAdapter(this._requestHandler, this._requestManager, this._sender, this._receiver);\n }\n /**\n * Establish a connection with no custom headers.\n *\n * @returns A promise that will not resolve until the client stops listening for incoming messages.\n */\n WebSocketClient.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ws, transport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ws = new browserWebSocket_1.BrowserWebSocket();\n return [4 /*yield*/, ws.connect(this._url)];\n case 1:\n _a.sent();\n transport = new webSocketTransport_1.WebSocketTransport(ws);\n this._sender.connect(transport);\n this._receiver.connect(transport);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Stop this client from listening.\n */\n WebSocketClient.prototype.disconnect = function () {\n this._sender.disconnect(new payloadTransport_1.TransportDisconnectedEvent('Disconnect was called.'));\n this._receiver.disconnect(new payloadTransport_1.TransportDisconnectedEvent('Disconnect was called.'));\n };\n /**\n * Task used to send data over this client connection.\n *\n * @param request The streaming request to send.\n * @returns A promise that will produce an instance of receive response on completion of the send operation.\n */\n WebSocketClient.prototype.send = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._protocolAdapter.sendRequest(request)];\n });\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n WebSocketClient.prototype.onConnectionDisconnected = function (sender, args) {\n // Rejects all pending requests on disconnect.\n this._requestManager.rejectAllResponses(new Error('Disconnect was called.'));\n if (this._disconnectionHandler != null) {\n this._disconnectionHandler('Disconnected');\n return;\n }\n throw new Error(\"Unable to re-connect client to transport for url \".concat(this._url, \". Sender: '\").concat(JSON.stringify(sender), \"'. Args:' \").concat(JSON.stringify(args)));\n };\n return WebSocketClient;\n}());\nexports.WebSocketClient = WebSocketClient;\n\n},{\"../payloadTransport\":10,\"../payloads\":16,\"../protocolAdapter\":23,\"./browserWebSocket\":29,\"./webSocketTransport\":32}],31:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketTransport = exports.WebSocketClient = exports.BrowserWebSocket = void 0;\nvar browserWebSocket_1 = require(\"./browserWebSocket\");\nObject.defineProperty(exports, \"BrowserWebSocket\", { enumerable: true, get: function () { return browserWebSocket_1.BrowserWebSocket; } });\nvar browserWebSocketClient_1 = require(\"./browserWebSocketClient\");\nObject.defineProperty(exports, \"WebSocketClient\", { enumerable: true, get: function () { return browserWebSocketClient_1.WebSocketClient; } });\n/** @internal */\nvar webSocketTransport_1 = require(\"./webSocketTransport\");\nObject.defineProperty(exports, \"WebSocketTransport\", { enumerable: true, get: function () { return webSocketTransport_1.WebSocketTransport; } });\n\n},{\"./browserWebSocket\":29,\"./browserWebSocketClient\":30,\"./webSocketTransport\":32}],32:[function(require,module,exports){\n(function (Buffer){(function (){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketTransport = void 0;\n/**\n * Web socket based transport.\n */\nvar WebSocketTransport = /** @class */ (function () {\n /**\n * Creates a new instance of the [WebSocketTransport](xref:botframework-streaming.WebSocketTransport) class.\n *\n * @param ws The ISocket to build this transport on top of.\n */\n function WebSocketTransport(ws) {\n var _this = this;\n this.ws = ws;\n this._queue = [];\n this._activeOffset = 0;\n this._activeReceiveCount = 0;\n this.ws.setOnMessageHandler(function (data) {\n _this.onReceive(data);\n });\n this.ws.setOnErrorHandler(function (err) {\n _this.onError(err);\n });\n this.ws.setOnCloseHandler(function () {\n _this.onClose();\n });\n }\n /**\n * Sends the given buffer out over the socket's connection.\n *\n * @param buffer The buffered data to send out over the connection.\n * @returns A number indicating the length of the sent data if the data was successfully sent, otherwise 0.\n */\n WebSocketTransport.prototype.send = function (buffer) {\n var _a;\n if ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.ws.write(buffer);\n return buffer.length;\n }\n return 0;\n };\n Object.defineProperty(WebSocketTransport.prototype, \"isConnected\", {\n /**\n * Returns true if the transport is connected to a socket.\n *\n * @returns `true` if the the transport is connected and ready to send data, `false` otherwise.\n */\n get: function () {\n var _a;\n return !!((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Close the socket this transport is connected to.\n */\n WebSocketTransport.prototype.close = function () {\n var _a;\n if ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.ws.close();\n }\n };\n /**\n * Attempt to receive incoming data from the connected socket.\n *\n * @param count The number of bytes to attempt to receive.\n * @returns A buffer populated with the received data.\n */\n WebSocketTransport.prototype.receive = function (count) {\n return __awaiter(this, void 0, void 0, function () {\n var promise;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._activeReceiveResolve) {\n throw new Error('Cannot call receive more than once before it has returned.');\n }\n this._activeReceiveCount = count;\n promise = new Promise(function (resolve, reject) {\n _this._activeReceiveResolve = resolve;\n _this._activeReceiveReject = reject;\n });\n this.trySignalData();\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Sets the transport to attempt to receive incoming data that has not yet arrived.\n *\n * @param data A buffer to store incoming data in.\n */\n WebSocketTransport.prototype.onReceive = function (data) {\n if (this._queue && data && data.byteLength > 0) {\n this._queue.push(Buffer.from(data));\n this.trySignalData();\n }\n };\n WebSocketTransport.prototype.onClose = function () {\n if (this._activeReceiveReject) {\n this._activeReceiveReject(new Error('Socket was closed.'));\n }\n this._active = null;\n this._activeOffset = 0;\n this._activeReceiveResolve = null;\n this._activeReceiveReject = null;\n this._activeReceiveCount = 0;\n this.ws = null;\n };\n WebSocketTransport.prototype.onError = function (err) {\n if (this._activeReceiveReject) {\n this._activeReceiveReject(err);\n }\n this.onClose();\n };\n WebSocketTransport.prototype.trySignalData = function () {\n if (this._activeReceiveResolve) {\n if (!this._active && this._queue.length > 0) {\n this._active = this._queue.shift();\n this._activeOffset = 0;\n }\n if (this._active) {\n if (this._activeOffset === 0 && this._active.length === this._activeReceiveCount) {\n // can send the entire _active buffer\n var buffer = this._active;\n this._active = null;\n this._activeReceiveResolve(buffer);\n }\n else {\n // create a Buffer.from and copy some of the contents into it\n var available = Math.min(this._activeReceiveCount, this._active.length - this._activeOffset);\n var buffer = Buffer.alloc(available);\n this._active.copy(buffer, 0, this._activeOffset, this._activeOffset + available);\n this._activeOffset += available;\n // if we used all of active, set it to undefined\n if (this._activeOffset >= this._active.length) {\n this._active = null;\n this._activeOffset = 0;\n }\n this._activeReceiveResolve(buffer);\n }\n this._activeReceiveCount = 0;\n this._activeReceiveReject = null;\n this._activeReceiveResolve = null;\n }\n }\n };\n return WebSocketTransport;\n}());\nexports.WebSocketTransport = WebSocketTransport;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"buffer\":35}],33:[function(require,module,exports){\n'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n},{}],34:[function(require,module,exports){\n\n},{}],35:[function(require,module,exports){\n(function (Buffer){(function (){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayLike(value)\n }\n\n if (value == null) {\n throw TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n buf = Buffer.from(buf)\n }\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (var i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"base64-js\":33,\"buffer\":35,\"ieee754\":37}],36:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n\n},{}],37:[function(require,module,exports){\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n},{}],38:[function(require,module,exports){\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n},{}],39:[function(require,module,exports){\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],40:[function(require,module,exports){\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n},{\"buffer\":35}],41:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n},{\"events\":36,\"inherits\":38,\"readable-stream/lib/_stream_duplex.js\":43,\"readable-stream/lib/_stream_passthrough.js\":44,\"readable-stream/lib/_stream_readable.js\":45,\"readable-stream/lib/_stream_transform.js\":46,\"readable-stream/lib/_stream_writable.js\":47,\"readable-stream/lib/internal/streams/end-of-stream.js\":51,\"readable-stream/lib/internal/streams/pipeline.js\":53}],42:[function(require,module,exports){\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n\n},{}],43:[function(require,module,exports){\n(function (process){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n}).call(this)}).call(this,require('_process'))\n\n},{\"./_stream_readable\":45,\"./_stream_writable\":47,\"_process\":39,\"inherits\":38}],44:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n},{\"./_stream_transform\":46,\"inherits\":38}],45:[function(require,module,exports){\n(function (process,global){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}\n}).call(this)}).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../errors\":42,\"./_stream_duplex\":43,\"./internal/streams/async_iterator\":48,\"./internal/streams/buffer_list\":49,\"./internal/streams/destroy\":50,\"./internal/streams/from\":52,\"./internal/streams/state\":54,\"./internal/streams/stream\":55,\"_process\":39,\"buffer\":35,\"events\":36,\"inherits\":38,\"string_decoder/\":56,\"util\":34}],46:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n},{\"../errors\":42,\"./_stream_duplex\":43,\"inherits\":38}],47:[function(require,module,exports){\n(function (process,global){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n}).call(this)}).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../errors\":42,\"./_stream_duplex\":43,\"./internal/streams/destroy\":50,\"./internal/streams/state\":54,\"./internal/streams/stream\":55,\"_process\":39,\"buffer\":35,\"inherits\":38,\"util-deprecate\":57}],48:[function(require,module,exports){\n(function (process){(function (){\n'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;\n}).call(this)}).call(this,require('_process'))\n\n},{\"./end-of-stream\":51,\"_process\":39}],49:[function(require,module,exports){\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();\n},{\"buffer\":35,\"util\":34}],50:[function(require,module,exports){\n(function (process){(function (){\n'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n}).call(this)}).call(this,require('_process'))\n\n},{\"_process\":39}],51:[function(require,module,exports){\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;\n},{\"../../../errors\":42}],52:[function(require,module,exports){\nmodule.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n\n},{}],53:[function(require,module,exports){\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;\n},{\"../../../errors\":42,\"./end-of-stream\":51}],54:[function(require,module,exports){\n'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};\n},{\"../../../errors\":42}],55:[function(require,module,exports){\nmodule.exports = require('events').EventEmitter;\n\n},{\"events\":36}],56:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n},{\"safe-buffer\":40}],57:[function(require,module,exports){\n(function (global){(function (){\n\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],58:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n},{\"./nil.js\":60,\"./parse.js\":61,\"./stringify.js\":65,\"./v1.js\":66,\"./v3.js\":67,\"./v4.js\":69,\"./v5.js\":70,\"./validate.js\":71,\"./version.js\":72}],59:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;\n},{}],60:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;\n},{}],61:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;\n},{\"./validate.js\":71}],62:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;\n},{}],63:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}\n},{}],64:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;\n},{}],65:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;\n},{\"./validate.js\":71}],66:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;\n},{\"./rng.js\":63,\"./stringify.js\":65}],67:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;\n},{\"./md5.js\":59,\"./v35.js\":68}],68:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}\n},{\"./parse.js\":61,\"./stringify.js\":65}],69:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;\n},{\"./rng.js\":63,\"./stringify.js\":65}],70:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;\n},{\"./sha1.js\":64,\"./v35.js\":68}],71:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;\n},{\"./regex.js\":62}],72:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;\n},{\"./validate.js\":71}]},{},[9])(9)\n});\n//# sourceMappingURL=index-browser.js.map\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","module.exports = function deepFreeze (o) {\n Object.freeze(o);\n\n var oIsFunction = typeof o === \"function\";\n var hasOwnProp = Object.prototype.hasOwnProperty;\n\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (hasOwnProp.call(o, prop)\n && (oIsFunction ? prop !== 'caller' && prop !== 'callee' && prop !== 'arguments' : true )\n && o[prop] !== null\n && (typeof o[prop] === \"object\" || typeof o[prop] === \"function\")\n && !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n \n return o;\n};\n","'use strict';\n\nvar isMergeableObject = function isMergeableObject(value) {\n\treturn isNonNullObject(value)\n\t\t&& !isSpecial(value)\n};\n\nfunction isNonNullObject(value) {\n\treturn !!value && typeof value === 'object'\n}\n\nfunction isSpecial(value) {\n\tvar stringValue = Object.prototype.toString.call(value);\n\n\treturn stringValue === '[object RegExp]'\n\t\t|| stringValue === '[object Date]'\n\t\t|| isReactElement(value)\n}\n\n// see https://github.com/facebook/react/blob/b5ac963fb791d1298e7f396236383bc955f916c1/src/isomorphic/classic/element/ReactElement.js#L21-L25\nvar canUseSymbol = typeof Symbol === 'function' && Symbol.for;\nvar REACT_ELEMENT_TYPE = canUseSymbol ? Symbol.for('react.element') : 0xeac7;\n\nfunction isReactElement(value) {\n\treturn value.$$typeof === REACT_ELEMENT_TYPE\n}\n\nfunction emptyTarget(val) {\n\treturn Array.isArray(val) ? [] : {}\n}\n\nfunction cloneUnlessOtherwiseSpecified(value, options) {\n\treturn (options.clone !== false && options.isMergeableObject(value))\n\t\t? deepmerge(emptyTarget(value), value, options)\n\t\t: value\n}\n\nfunction defaultArrayMerge(target, source, options) {\n\treturn target.concat(source).map(function(element) {\n\t\treturn cloneUnlessOtherwiseSpecified(element, options)\n\t})\n}\n\nfunction getMergeFunction(key, options) {\n\tif (!options.customMerge) {\n\t\treturn deepmerge\n\t}\n\tvar customMerge = options.customMerge(key);\n\treturn typeof customMerge === 'function' ? customMerge : deepmerge\n}\n\nfunction getEnumerableOwnPropertySymbols(target) {\n\treturn Object.getOwnPropertySymbols\n\t\t? Object.getOwnPropertySymbols(target).filter(function(symbol) {\n\t\t\treturn Object.propertyIsEnumerable.call(target, symbol)\n\t\t})\n\t\t: []\n}\n\nfunction getKeys(target) {\n\treturn Object.keys(target).concat(getEnumerableOwnPropertySymbols(target))\n}\n\nfunction propertyIsOnObject(object, property) {\n\ttry {\n\t\treturn property in object\n\t} catch(_) {\n\t\treturn false\n\t}\n}\n\n// Protects from prototype poisoning and unexpected merging up the prototype chain.\nfunction propertyIsUnsafe(target, key) {\n\treturn propertyIsOnObject(target, key) // Properties are safe to merge if they don't exist in the target yet,\n\t\t&& !(Object.hasOwnProperty.call(target, key) // unsafe if they exist up the prototype chain,\n\t\t\t&& Object.propertyIsEnumerable.call(target, key)) // and also unsafe if they're nonenumerable.\n}\n\nfunction mergeObject(target, source, options) {\n\tvar destination = {};\n\tif (options.isMergeableObject(target)) {\n\t\tgetKeys(target).forEach(function(key) {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(target[key], options);\n\t\t});\n\t}\n\tgetKeys(source).forEach(function(key) {\n\t\tif (propertyIsUnsafe(target, key)) {\n\t\t\treturn\n\t\t}\n\n\t\tif (propertyIsOnObject(target, key) && options.isMergeableObject(source[key])) {\n\t\t\tdestination[key] = getMergeFunction(key, options)(target[key], source[key], options);\n\t\t} else {\n\t\t\tdestination[key] = cloneUnlessOtherwiseSpecified(source[key], options);\n\t\t}\n\t});\n\treturn destination\n}\n\nfunction deepmerge(target, source, options) {\n\toptions = options || {};\n\toptions.arrayMerge = options.arrayMerge || defaultArrayMerge;\n\toptions.isMergeableObject = options.isMergeableObject || isMergeableObject;\n\t// cloneUnlessOtherwiseSpecified is added to `options` so that custom arrayMerge()\n\t// implementations can use it. The caller may not replace it.\n\toptions.cloneUnlessOtherwiseSpecified = cloneUnlessOtherwiseSpecified;\n\n\tvar sourceIsArray = Array.isArray(source);\n\tvar targetIsArray = Array.isArray(target);\n\tvar sourceAndTargetTypesMatch = sourceIsArray === targetIsArray;\n\n\tif (!sourceAndTargetTypesMatch) {\n\t\treturn cloneUnlessOtherwiseSpecified(source, options)\n\t} else if (sourceIsArray) {\n\t\treturn options.arrayMerge(target, source, options)\n\t} else {\n\t\treturn mergeObject(target, source, options)\n\t}\n}\n\ndeepmerge.all = function deepmergeAll(array, options) {\n\tif (!Array.isArray(array)) {\n\t\tthrow new Error('first argument should be an array')\n\t}\n\n\treturn array.reduce(function(prev, next) {\n\t\treturn deepmerge(prev, next, options)\n\t}, {})\n};\n\nvar deepmerge_1 = deepmerge;\n\nmodule.exports = deepmerge_1;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.attributeNames = exports.elementNames = void 0;\nexports.elementNames = new Map([\n \"altGlyph\",\n \"altGlyphDef\",\n \"altGlyphItem\",\n \"animateColor\",\n \"animateMotion\",\n \"animateTransform\",\n \"clipPath\",\n \"feBlend\",\n \"feColorMatrix\",\n \"feComponentTransfer\",\n \"feComposite\",\n \"feConvolveMatrix\",\n \"feDiffuseLighting\",\n \"feDisplacementMap\",\n \"feDistantLight\",\n \"feDropShadow\",\n \"feFlood\",\n \"feFuncA\",\n \"feFuncB\",\n \"feFuncG\",\n \"feFuncR\",\n \"feGaussianBlur\",\n \"feImage\",\n \"feMerge\",\n \"feMergeNode\",\n \"feMorphology\",\n \"feOffset\",\n \"fePointLight\",\n \"feSpecularLighting\",\n \"feSpotLight\",\n \"feTile\",\n \"feTurbulence\",\n \"foreignObject\",\n \"glyphRef\",\n \"linearGradient\",\n \"radialGradient\",\n \"textPath\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\nexports.attributeNames = new Map([\n \"definitionURL\",\n \"attributeName\",\n \"attributeType\",\n \"baseFrequency\",\n \"baseProfile\",\n \"calcMode\",\n \"clipPathUnits\",\n \"diffuseConstant\",\n \"edgeMode\",\n \"filterUnits\",\n \"glyphRef\",\n \"gradientTransform\",\n \"gradientUnits\",\n \"kernelMatrix\",\n \"kernelUnitLength\",\n \"keyPoints\",\n \"keySplines\",\n \"keyTimes\",\n \"lengthAdjust\",\n \"limitingConeAngle\",\n \"markerHeight\",\n \"markerUnits\",\n \"markerWidth\",\n \"maskContentUnits\",\n \"maskUnits\",\n \"numOctaves\",\n \"pathLength\",\n \"patternContentUnits\",\n \"patternTransform\",\n \"patternUnits\",\n \"pointsAtX\",\n \"pointsAtY\",\n \"pointsAtZ\",\n \"preserveAlpha\",\n \"preserveAspectRatio\",\n \"primitiveUnits\",\n \"refX\",\n \"refY\",\n \"repeatCount\",\n \"repeatDur\",\n \"requiredExtensions\",\n \"requiredFeatures\",\n \"specularConstant\",\n \"specularExponent\",\n \"spreadMethod\",\n \"startOffset\",\n \"stdDeviation\",\n \"stitchTiles\",\n \"surfaceScale\",\n \"systemLanguage\",\n \"tableValues\",\n \"targetX\",\n \"targetY\",\n \"textLength\",\n \"viewBox\",\n \"viewTarget\",\n \"xChannelSelector\",\n \"yChannelSelector\",\n \"zoomAndPan\",\n].map(function (val) { return [val.toLowerCase(), val]; }));\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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.render = void 0;\n/*\n * Module dependencies\n */\nvar ElementType = __importStar(require(\"domelementtype\"));\nvar entities_1 = require(\"entities\");\n/**\n * Mixed-case SVG and MathML tags & attributes\n * recognized by the HTML parser.\n *\n * @see https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n */\nvar foreignNames_js_1 = require(\"./foreignNames.js\");\nvar unencodedElements = new Set([\n \"style\",\n \"script\",\n \"xmp\",\n \"iframe\",\n \"noembed\",\n \"noframes\",\n \"plaintext\",\n \"noscript\",\n]);\nfunction replaceQuotes(value) {\n return value.replace(/\"/g, \""\");\n}\n/**\n * Format attributes\n */\nfunction formatAttributes(attributes, opts) {\n var _a;\n if (!attributes)\n return;\n var encode = ((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) === false\n ? replaceQuotes\n : opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? entities_1.encodeXML\n : entities_1.escapeAttribute;\n return Object.keys(attributes)\n .map(function (key) {\n var _a, _b;\n var value = (_a = attributes[key]) !== null && _a !== void 0 ? _a : \"\";\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case attribute names */\n key = (_b = foreignNames_js_1.attributeNames.get(key)) !== null && _b !== void 0 ? _b : key;\n }\n if (!opts.emptyAttrs && !opts.xmlMode && value === \"\") {\n return key;\n }\n return \"\".concat(key, \"=\\\"\").concat(encode(value), \"\\\"\");\n })\n .join(\" \");\n}\n/**\n * Self-enclosing tags\n */\nvar singleTag = new Set([\n \"area\",\n \"base\",\n \"basefont\",\n \"br\",\n \"col\",\n \"command\",\n \"embed\",\n \"frame\",\n \"hr\",\n \"img\",\n \"input\",\n \"isindex\",\n \"keygen\",\n \"link\",\n \"meta\",\n \"param\",\n \"source\",\n \"track\",\n \"wbr\",\n]);\n/**\n * Renders a DOM node or an array of DOM nodes to a string.\n *\n * Can be thought of as the equivalent of the `outerHTML` of the passed node(s).\n *\n * @param node Node to be rendered.\n * @param options Changes serialization behavior\n */\nfunction render(node, options) {\n if (options === void 0) { options = {}; }\n var nodes = \"length\" in node ? node : [node];\n var output = \"\";\n for (var i = 0; i < nodes.length; i++) {\n output += renderNode(nodes[i], options);\n }\n return output;\n}\nexports.render = render;\nexports.default = render;\nfunction renderNode(node, options) {\n switch (node.type) {\n case ElementType.Root:\n return render(node.children, options);\n // @ts-expect-error We don't use `Doctype` yet\n case ElementType.Doctype:\n case ElementType.Directive:\n return renderDirective(node);\n case ElementType.Comment:\n return renderComment(node);\n case ElementType.CDATA:\n return renderCdata(node);\n case ElementType.Script:\n case ElementType.Style:\n case ElementType.Tag:\n return renderTag(node, options);\n case ElementType.Text:\n return renderText(node, options);\n }\n}\nvar foreignModeIntegrationPoints = new Set([\n \"mi\",\n \"mo\",\n \"mn\",\n \"ms\",\n \"mtext\",\n \"annotation-xml\",\n \"foreignObject\",\n \"desc\",\n \"title\",\n]);\nvar foreignElements = new Set([\"svg\", \"math\"]);\nfunction renderTag(elem, opts) {\n var _a;\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === \"foreign\") {\n /* Fix up mixed-case element names */\n elem.name = (_a = foreignNames_js_1.elementNames.get(elem.name)) !== null && _a !== void 0 ? _a : elem.name;\n /* Exit foreign mode at integration points */\n if (elem.parent &&\n foreignModeIntegrationPoints.has(elem.parent.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: false });\n }\n }\n if (!opts.xmlMode && foreignElements.has(elem.name)) {\n opts = __assign(__assign({}, opts), { xmlMode: \"foreign\" });\n }\n var tag = \"<\".concat(elem.name);\n var attribs = formatAttributes(elem.attribs, opts);\n if (attribs) {\n tag += \" \".concat(attribs);\n }\n if (elem.children.length === 0 &&\n (opts.xmlMode\n ? // In XML mode or foreign mode, and user hasn't explicitly turned off self-closing tags\n opts.selfClosingTags !== false\n : // User explicitly asked for self-closing tags, even in HTML mode\n opts.selfClosingTags && singleTag.has(elem.name))) {\n if (!opts.xmlMode)\n tag += \" \";\n tag += \"/>\";\n }\n else {\n tag += \">\";\n if (elem.children.length > 0) {\n tag += render(elem.children, opts);\n }\n if (opts.xmlMode || !singleTag.has(elem.name)) {\n tag += \"\");\n }\n }\n return tag;\n}\nfunction renderDirective(elem) {\n return \"<\".concat(elem.data, \">\");\n}\nfunction renderText(elem, opts) {\n var _a;\n var data = elem.data || \"\";\n // If entities weren't decoded, no need to encode them back\n if (((_a = opts.encodeEntities) !== null && _a !== void 0 ? _a : opts.decodeEntities) !== false &&\n !(!opts.xmlMode &&\n elem.parent &&\n unencodedElements.has(elem.parent.name))) {\n data =\n opts.xmlMode || opts.encodeEntities !== \"utf8\"\n ? (0, entities_1.encodeXML)(data)\n : (0, entities_1.escapeText)(data);\n }\n return data;\n}\nfunction renderCdata(elem) {\n return \"\");\n}\nfunction renderComment(elem) {\n return \"\");\n}\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, 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 });\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(require(\"./generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(require(\"./generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(require(\"./decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = require(\"./decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports.default = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.encodeNonAsciiHTML = exports.encodeHTML = void 0;\nvar encode_html_js_1 = __importDefault(require(\"./generated/encode-html.js\"));\nvar escape_js_1 = require(\"./escape.js\");\nvar htmlReplacer = /[\\t\\n!-,./:-@[-`\\f{-}$\\x80-\\uFFFF]/g;\n/**\n * Encodes all characters in the input using HTML entities. This includes\n * characters that are valid ASCII characters in HTML documents, such as `#`.\n *\n * To get a more compact output, consider using the `encodeNonAsciiHTML`\n * function, which will only encode characters that are not valid in HTML\n * documents, as well as non-ASCII characters.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeHTML(data) {\n return encodeHTMLTrieRe(htmlReplacer, data);\n}\nexports.encodeHTML = encodeHTML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities. This function will not encode characters that\n * are valid in HTML documents, such as `#`.\n *\n * If a character has no equivalent entity, a numeric hexadecimal reference\n * (eg. `ü`) will be used.\n */\nfunction encodeNonAsciiHTML(data) {\n return encodeHTMLTrieRe(escape_js_1.xmlReplacer, data);\n}\nexports.encodeNonAsciiHTML = encodeNonAsciiHTML;\nfunction encodeHTMLTrieRe(regExp, str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = regExp.exec(str)) !== null) {\n var i = match.index;\n ret += str.substring(lastIdx, i);\n var char = str.charCodeAt(i);\n var next = encode_html_js_1.default.get(char);\n if (typeof next === \"object\") {\n // We are in a branch. Try to match the next char.\n if (i + 1 < str.length) {\n var nextChar = str.charCodeAt(i + 1);\n var value = typeof next.n === \"number\"\n ? next.n === nextChar\n ? next.o\n : undefined\n : next.n.get(nextChar);\n if (value !== undefined) {\n ret += value;\n lastIdx = regExp.lastIndex += 1;\n continue;\n }\n }\n next = next.v;\n }\n // We might have a tree node without a value; skip and use a numeric entity.\n if (next !== undefined) {\n ret += next;\n lastIdx = i + 1;\n }\n else {\n var cp = (0, escape_js_1.getCodePoint)(str, i);\n ret += \"&#x\".concat(cp.toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = regExp.lastIndex += Number(cp !== char);\n }\n }\n return ret + str.substr(lastIdx);\n}\n//# sourceMappingURL=encode.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.getCodePoint = exports.xmlReplacer = void 0;\nexports.xmlReplacer = /[\"&'<>$\\x80-\\uFFFF]/g;\nvar xmlCodeMap = new Map([\n [34, \""\"],\n [38, \"&\"],\n [39, \"'\"],\n [60, \"<\"],\n [62, \">\"],\n]);\n// For compatibility with node < 4, we wrap `codePointAt`\nexports.getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? function (str, index) { return str.codePointAt(index); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c, index) {\n return (c.charCodeAt(index) & 0xfc00) === 0xd800\n ? (c.charCodeAt(index) - 0xd800) * 0x400 +\n c.charCodeAt(index + 1) -\n 0xdc00 +\n 0x10000\n : c.charCodeAt(index);\n };\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nfunction encodeXML(str) {\n var ret = \"\";\n var lastIdx = 0;\n var match;\n while ((match = exports.xmlReplacer.exec(str)) !== null) {\n var i = match.index;\n var char = str.charCodeAt(i);\n var next = xmlCodeMap.get(char);\n if (next !== undefined) {\n ret += str.substring(lastIdx, i) + next;\n lastIdx = i + 1;\n }\n else {\n ret += \"\".concat(str.substring(lastIdx, i), \"&#x\").concat((0, exports.getCodePoint)(str, i).toString(16), \";\");\n // Increase by 1 if we have a surrogate pair\n lastIdx = exports.xmlReplacer.lastIndex += Number((char & 0xfc00) === 0xd800);\n }\n }\n return ret + str.substr(lastIdx);\n}\nexports.encodeXML = encodeXML;\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nexports.escape = encodeXML;\n/**\n * Creates a function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n *\n * @param regex Regular expression to match characters to escape.\n * @param map Map of characters to escape to their entities.\n *\n * @returns Function that escapes all characters matched by the given regular\n * expression using the given map of characters to escape to their entities.\n */\nfunction getEscaper(regex, map) {\n return function escape(data) {\n var match;\n var lastIdx = 0;\n var result = \"\";\n while ((match = regex.exec(data))) {\n if (lastIdx !== match.index) {\n result += data.substring(lastIdx, match.index);\n }\n // We know that this character will be in the map.\n result += map.get(match[0].charCodeAt(0));\n // Every match will be of length 1\n lastIdx = match.index + 1;\n }\n return result + data.substring(lastIdx);\n };\n}\n/**\n * Encodes all characters not valid in XML documents using XML entities.\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nexports.escapeUTF8 = getEscaper(/[&<>'\"]/g, xmlCodeMap);\n/**\n * Encodes all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeAttribute = getEscaper(/[\"&\\u00A0]/g, new Map([\n [34, \""\"],\n [38, \"&\"],\n [160, \" \"],\n]));\n/**\n * Encodes all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n *\n * @param data String to escape.\n */\nexports.escapeText = getEscaper(/[&<>\\u00A0]/g, new Map([\n [38, \"&\"],\n [60, \"<\"],\n [62, \">\"],\n [160, \" \"],\n]));\n//# sourceMappingURL=escape.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-html.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-xml.js.map","\"use strict\";\n// Generated using scripts/write-encode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction restoreDiff(arr) {\n for (var i = 1; i < arr.length; i++) {\n arr[i][0] += arr[i - 1][0] + 1;\n }\n return arr;\n}\n// prettier-ignore\nexports.default = new Map(/* #__PURE__ */ restoreDiff([[9, \" \"], [0, \" \"], [22, \"!\"], [0, \""\"], [0, \"#\"], [0, \"$\"], [0, \"%\"], [0, \"&\"], [0, \"'\"], [0, \"(\"], [0, \")\"], [0, \"*\"], [0, \"+\"], [0, \",\"], [1, \".\"], [0, \"/\"], [10, \":\"], [0, \";\"], [0, { v: \"<\", n: 8402, o: \"<⃒\" }], [0, { v: \"=\", n: 8421, o: \"=⃥\" }], [0, { v: \">\", n: 8402, o: \">⃒\" }], [0, \"?\"], [0, \"@\"], [26, \"[\"], [0, \"\\"], [0, \"]\"], [0, \"^\"], [0, \"_\"], [0, \"`\"], [5, { n: 106, o: \"fj\" }], [20, \"{\"], [0, \"|\"], [0, \"}\"], [34, \" \"], [0, \"¡\"], [0, \"¢\"], [0, \"£\"], [0, \"¤\"], [0, \"¥\"], [0, \"¦\"], [0, \"§\"], [0, \"¨\"], [0, \"©\"], [0, \"ª\"], [0, \"«\"], [0, \"¬\"], [0, \"­\"], [0, \"®\"], [0, \"¯\"], [0, \"°\"], [0, \"±\"], [0, \"²\"], [0, \"³\"], [0, \"´\"], [0, \"µ\"], [0, \"¶\"], [0, \"·\"], [0, \"¸\"], [0, \"¹\"], [0, \"º\"], [0, \"»\"], [0, \"¼\"], [0, \"½\"], [0, \"¾\"], [0, \"¿\"], [0, \"À\"], [0, \"Á\"], [0, \"Â\"], [0, \"Ã\"], [0, \"Ä\"], [0, \"Å\"], [0, \"Æ\"], [0, \"Ç\"], [0, \"È\"], [0, \"É\"], [0, \"Ê\"], [0, \"Ë\"], [0, \"Ì\"], [0, \"Í\"], [0, \"Î\"], [0, \"Ï\"], [0, \"Ð\"], [0, \"Ñ\"], [0, \"Ò\"], [0, \"Ó\"], [0, \"Ô\"], [0, \"Õ\"], [0, \"Ö\"], [0, \"×\"], [0, \"Ø\"], [0, \"Ù\"], [0, \"Ú\"], [0, \"Û\"], [0, \"Ü\"], [0, \"Ý\"], [0, \"Þ\"], [0, \"ß\"], [0, \"à\"], [0, \"á\"], [0, \"â\"], [0, \"ã\"], [0, \"ä\"], [0, \"å\"], [0, \"æ\"], [0, \"ç\"], [0, \"è\"], [0, \"é\"], [0, \"ê\"], [0, \"ë\"], [0, \"ì\"], [0, \"í\"], [0, \"î\"], [0, \"ï\"], [0, \"ð\"], [0, \"ñ\"], [0, \"ò\"], [0, \"ó\"], [0, \"ô\"], [0, \"õ\"], [0, \"ö\"], [0, \"÷\"], [0, \"ø\"], [0, \"ù\"], [0, \"ú\"], [0, \"û\"], [0, \"ü\"], [0, \"ý\"], [0, \"þ\"], [0, \"ÿ\"], [0, \"Ā\"], [0, \"ā\"], [0, \"Ă\"], [0, \"ă\"], [0, \"Ą\"], [0, \"ą\"], [0, \"Ć\"], [0, \"ć\"], [0, \"Ĉ\"], [0, \"ĉ\"], [0, \"Ċ\"], [0, \"ċ\"], [0, \"Č\"], [0, \"č\"], [0, \"Ď\"], [0, \"ď\"], [0, \"Đ\"], [0, \"đ\"], [0, \"Ē\"], [0, \"ē\"], [2, \"Ė\"], [0, \"ė\"], [0, \"Ę\"], [0, \"ę\"], [0, \"Ě\"], [0, \"ě\"], [0, \"Ĝ\"], [0, \"ĝ\"], [0, \"Ğ\"], [0, \"ğ\"], [0, \"Ġ\"], [0, \"ġ\"], [0, \"Ģ\"], [1, \"Ĥ\"], [0, \"ĥ\"], [0, \"Ħ\"], [0, \"ħ\"], [0, \"Ĩ\"], [0, \"ĩ\"], [0, \"Ī\"], [0, \"ī\"], [2, \"Į\"], [0, \"į\"], [0, \"İ\"], [0, \"ı\"], [0, \"IJ\"], [0, \"ij\"], [0, \"Ĵ\"], [0, \"ĵ\"], [0, \"Ķ\"], [0, \"ķ\"], [0, \"ĸ\"], [0, \"Ĺ\"], [0, \"ĺ\"], [0, \"Ļ\"], [0, \"ļ\"], [0, \"Ľ\"], [0, \"ľ\"], [0, \"Ŀ\"], [0, \"ŀ\"], [0, \"Ł\"], [0, \"ł\"], [0, \"Ń\"], [0, \"ń\"], [0, \"Ņ\"], [0, \"ņ\"], [0, \"Ň\"], [0, \"ň\"], [0, \"ʼn\"], [0, \"Ŋ\"], [0, \"ŋ\"], [0, \"Ō\"], [0, \"ō\"], [2, \"Ő\"], [0, \"ő\"], [0, \"Œ\"], [0, \"œ\"], [0, \"Ŕ\"], [0, \"ŕ\"], [0, \"Ŗ\"], [0, \"ŗ\"], [0, \"Ř\"], [0, \"ř\"], [0, \"Ś\"], [0, \"ś\"], [0, \"Ŝ\"], [0, \"ŝ\"], [0, \"Ş\"], [0, \"ş\"], [0, \"Š\"], [0, \"š\"], [0, \"Ţ\"], [0, \"ţ\"], [0, \"Ť\"], [0, \"ť\"], [0, \"Ŧ\"], [0, \"ŧ\"], [0, \"Ũ\"], [0, \"ũ\"], [0, \"Ū\"], [0, \"ū\"], [0, \"Ŭ\"], [0, \"ŭ\"], [0, \"Ů\"], [0, \"ů\"], [0, \"Ű\"], [0, \"ű\"], [0, \"Ų\"], [0, \"ų\"], [0, \"Ŵ\"], [0, \"ŵ\"], [0, \"Ŷ\"], [0, \"ŷ\"], [0, \"Ÿ\"], [0, \"Ź\"], [0, \"ź\"], [0, \"Ż\"], [0, \"ż\"], [0, \"Ž\"], [0, \"ž\"], [19, \"ƒ\"], [34, \"Ƶ\"], [63, \"ǵ\"], [65, \"ȷ\"], [142, \"ˆ\"], [0, \"ˇ\"], [16, \"˘\"], [0, \"˙\"], [0, \"˚\"], [0, \"˛\"], [0, \"˜\"], [0, \"˝\"], [51, \"̑\"], [127, \"Α\"], [0, \"Β\"], [0, \"Γ\"], [0, \"Δ\"], [0, \"Ε\"], [0, \"Ζ\"], [0, \"Η\"], [0, \"Θ\"], [0, \"Ι\"], [0, \"Κ\"], [0, \"Λ\"], [0, \"Μ\"], [0, \"Ν\"], [0, \"Ξ\"], [0, \"Ο\"], [0, \"Π\"], [0, \"Ρ\"], [1, \"Σ\"], [0, \"Τ\"], [0, \"Υ\"], [0, \"Φ\"], [0, \"Χ\"], [0, \"Ψ\"], [0, \"Ω\"], [7, \"α\"], [0, \"β\"], [0, \"γ\"], [0, \"δ\"], [0, \"ε\"], [0, \"ζ\"], [0, \"η\"], [0, \"θ\"], [0, \"ι\"], [0, \"κ\"], [0, \"λ\"], [0, \"μ\"], [0, \"ν\"], [0, \"ξ\"], [0, \"ο\"], [0, \"π\"], [0, \"ρ\"], [0, \"ς\"], [0, \"σ\"], [0, \"τ\"], [0, \"υ\"], [0, \"φ\"], [0, \"χ\"], [0, \"ψ\"], [0, \"ω\"], [7, \"ϑ\"], [0, \"ϒ\"], [2, \"ϕ\"], [0, \"ϖ\"], [5, \"Ϝ\"], [0, \"ϝ\"], [18, \"ϰ\"], [0, \"ϱ\"], [3, \"ϵ\"], [0, \"϶\"], [10, \"Ё\"], [0, \"Ђ\"], [0, \"Ѓ\"], [0, \"Є\"], [0, \"Ѕ\"], [0, \"І\"], [0, \"Ї\"], [0, \"Ј\"], [0, \"Љ\"], [0, \"Њ\"], [0, \"Ћ\"], [0, \"Ќ\"], [1, \"Ў\"], [0, \"Џ\"], [0, \"А\"], [0, \"Б\"], [0, \"В\"], [0, \"Г\"], [0, \"Д\"], [0, \"Е\"], [0, \"Ж\"], [0, \"З\"], [0, \"И\"], [0, \"Й\"], [0, \"К\"], [0, \"Л\"], [0, \"М\"], [0, \"Н\"], [0, \"О\"], [0, \"П\"], [0, \"Р\"], [0, \"С\"], [0, \"Т\"], [0, \"У\"], [0, \"Ф\"], [0, \"Х\"], [0, \"Ц\"], [0, \"Ч\"], [0, \"Ш\"], [0, \"Щ\"], [0, \"Ъ\"], [0, \"Ы\"], [0, \"Ь\"], [0, \"Э\"], [0, \"Ю\"], [0, \"Я\"], [0, \"а\"], [0, \"б\"], [0, \"в\"], [0, \"г\"], [0, \"д\"], [0, \"е\"], [0, \"ж\"], [0, \"з\"], [0, \"и\"], [0, \"й\"], [0, \"к\"], [0, \"л\"], [0, \"м\"], [0, \"н\"], [0, \"о\"], [0, \"п\"], [0, \"р\"], [0, \"с\"], [0, \"т\"], [0, \"у\"], [0, \"ф\"], [0, \"х\"], [0, \"ц\"], [0, \"ч\"], [0, \"ш\"], [0, \"щ\"], [0, \"ъ\"], [0, \"ы\"], [0, \"ь\"], [0, \"э\"], [0, \"ю\"], [0, \"я\"], [1, \"ё\"], [0, \"ђ\"], [0, \"ѓ\"], [0, \"є\"], [0, \"ѕ\"], [0, \"і\"], [0, \"ї\"], [0, \"ј\"], [0, \"љ\"], [0, \"њ\"], [0, \"ћ\"], [0, \"ќ\"], [1, \"ў\"], [0, \"џ\"], [7074, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [1, \" \"], [0, \" \"], [0, \" \"], [0, \" \"], [0, \"​\"], [0, \"‌\"], [0, \"‍\"], [0, \"‎\"], [0, \"‏\"], [0, \"‐\"], [2, \"–\"], [0, \"—\"], [0, \"―\"], [0, \"‖\"], [1, \"‘\"], [0, \"’\"], [0, \"‚\"], [1, \"“\"], [0, \"”\"], [0, \"„\"], [1, \"†\"], [0, \"‡\"], [0, \"•\"], [2, \"‥\"], [0, \"…\"], [9, \"‰\"], [0, \"‱\"], [0, \"′\"], [0, \"″\"], [0, \"‴\"], [0, \"‵\"], [3, \"‹\"], [0, \"›\"], [3, \"‾\"], [2, \"⁁\"], [1, \"⁃\"], [0, \"⁄\"], [10, \"⁏\"], [7, \"⁗\"], [7, { v: \" \", n: 8202, o: \"  \" }], [0, \"⁠\"], [0, \"⁡\"], [0, \"⁢\"], [0, \"⁣\"], [72, \"€\"], [46, \"⃛\"], [0, \"⃜\"], [37, \"ℂ\"], [2, \"℅\"], [4, \"ℊ\"], [0, \"ℋ\"], [0, \"ℌ\"], [0, \"ℍ\"], [0, \"ℎ\"], [0, \"ℏ\"], [0, \"ℐ\"], [0, \"ℑ\"], [0, \"ℒ\"], [0, \"ℓ\"], [1, \"ℕ\"], [0, \"№\"], [0, \"℗\"], [0, \"℘\"], [0, \"ℙ\"], [0, \"ℚ\"], [0, \"ℛ\"], [0, \"ℜ\"], [0, \"ℝ\"], [0, \"℞\"], [3, \"™\"], [1, \"ℤ\"], [2, \"℧\"], [0, \"ℨ\"], [0, \"℩\"], [2, \"ℬ\"], [0, \"ℭ\"], [1, \"ℯ\"], [0, \"ℰ\"], [0, \"ℱ\"], [1, \"ℳ\"], [0, \"ℴ\"], [0, \"ℵ\"], [0, \"ℶ\"], [0, \"ℷ\"], [0, \"ℸ\"], [12, \"ⅅ\"], [0, \"ⅆ\"], [0, \"ⅇ\"], [0, \"ⅈ\"], [10, \"⅓\"], [0, \"⅔\"], [0, \"⅕\"], [0, \"⅖\"], [0, \"⅗\"], [0, \"⅘\"], [0, \"⅙\"], [0, \"⅚\"], [0, \"⅛\"], [0, \"⅜\"], [0, \"⅝\"], [0, \"⅞\"], [49, \"←\"], [0, \"↑\"], [0, \"→\"], [0, \"↓\"], [0, \"↔\"], [0, \"↕\"], [0, \"↖\"], [0, \"↗\"], [0, \"↘\"], [0, \"↙\"], [0, \"↚\"], [0, \"↛\"], [1, { v: \"↝\", n: 824, o: \"↝̸\" }], [0, \"↞\"], [0, \"↟\"], [0, \"↠\"], [0, \"↡\"], [0, \"↢\"], [0, \"↣\"], [0, \"↤\"], [0, \"↥\"], [0, \"↦\"], [0, \"↧\"], [1, \"↩\"], [0, \"↪\"], [0, \"↫\"], [0, \"↬\"], [0, \"↭\"], [0, \"↮\"], [1, \"↰\"], [0, \"↱\"], [0, \"↲\"], [0, \"↳\"], [1, \"↵\"], [0, \"↶\"], [0, \"↷\"], [2, \"↺\"], [0, \"↻\"], [0, \"↼\"], [0, \"↽\"], [0, \"↾\"], [0, \"↿\"], [0, \"⇀\"], [0, \"⇁\"], [0, \"⇂\"], [0, \"⇃\"], [0, \"⇄\"], [0, \"⇅\"], [0, \"⇆\"], [0, \"⇇\"], [0, \"⇈\"], [0, \"⇉\"], [0, \"⇊\"], [0, \"⇋\"], [0, \"⇌\"], [0, \"⇍\"], [0, \"⇎\"], [0, \"⇏\"], [0, \"⇐\"], [0, \"⇑\"], [0, \"⇒\"], [0, \"⇓\"], [0, \"⇔\"], [0, \"⇕\"], [0, \"⇖\"], [0, \"⇗\"], [0, \"⇘\"], [0, \"⇙\"], [0, \"⇚\"], [0, \"⇛\"], [1, \"⇝\"], [6, \"⇤\"], [0, \"⇥\"], [15, \"⇵\"], [7, \"⇽\"], [0, \"⇾\"], [0, \"⇿\"], [0, \"∀\"], [0, \"∁\"], [0, { v: \"∂\", n: 824, o: \"∂̸\" }], [0, \"∃\"], [0, \"∄\"], [0, \"∅\"], [1, \"∇\"], [0, \"∈\"], [0, \"∉\"], [1, \"∋\"], [0, \"∌\"], [2, \"∏\"], [0, \"∐\"], [0, \"∑\"], [0, \"−\"], [0, \"∓\"], [0, \"∔\"], [1, \"∖\"], [0, \"∗\"], [0, \"∘\"], [1, \"√\"], [2, \"∝\"], [0, \"∞\"], [0, \"∟\"], [0, { v: \"∠\", n: 8402, o: \"∠⃒\" }], [0, \"∡\"], [0, \"∢\"], [0, \"∣\"], [0, \"∤\"], [0, \"∥\"], [0, \"∦\"], [0, \"∧\"], [0, \"∨\"], [0, { v: \"∩\", n: 65024, o: \"∩︀\" }], [0, { v: \"∪\", n: 65024, o: \"∪︀\" }], [0, \"∫\"], [0, \"∬\"], [0, \"∭\"], [0, \"∮\"], [0, \"∯\"], [0, \"∰\"], [0, \"∱\"], [0, \"∲\"], [0, \"∳\"], [0, \"∴\"], [0, \"∵\"], [0, \"∶\"], [0, \"∷\"], [0, \"∸\"], [1, \"∺\"], [0, \"∻\"], [0, { v: \"∼\", n: 8402, o: \"∼⃒\" }], [0, { v: \"∽\", n: 817, o: \"∽̱\" }], [0, { v: \"∾\", n: 819, o: \"∾̳\" }], [0, \"∿\"], [0, \"≀\"], [0, \"≁\"], [0, { v: \"≂\", n: 824, o: \"≂̸\" }], [0, \"≃\"], [0, \"≄\"], [0, \"≅\"], [0, \"≆\"], [0, \"≇\"], [0, \"≈\"], [0, \"≉\"], [0, \"≊\"], [0, { v: \"≋\", n: 824, o: \"≋̸\" }], [0, \"≌\"], [0, { v: \"≍\", n: 8402, o: \"≍⃒\" }], [0, { v: \"≎\", n: 824, o: \"≎̸\" }], [0, { v: \"≏\", n: 824, o: \"≏̸\" }], [0, { v: \"≐\", n: 824, o: \"≐̸\" }], [0, \"≑\"], [0, \"≒\"], [0, \"≓\"], [0, \"≔\"], [0, \"≕\"], [0, \"≖\"], [0, \"≗\"], [1, \"≙\"], [0, \"≚\"], [1, \"≜\"], [2, \"≟\"], [0, \"≠\"], [0, { v: \"≡\", n: 8421, o: \"≡⃥\" }], [0, \"≢\"], [1, { v: \"≤\", n: 8402, o: \"≤⃒\" }], [0, { v: \"≥\", n: 8402, o: \"≥⃒\" }], [0, { v: \"≦\", n: 824, o: \"≦̸\" }], [0, { v: \"≧\", n: 824, o: \"≧̸\" }], [0, { v: \"≨\", n: 65024, o: \"≨︀\" }], [0, { v: \"≩\", n: 65024, o: \"≩︀\" }], [0, { v: \"≪\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≪̸\"], [7577, \"≪⃒\"]])) }], [0, { v: \"≫\", n: new Map(/* #__PURE__ */ restoreDiff([[824, \"≫̸\"], [7577, \"≫⃒\"]])) }], [0, \"≬\"], [0, \"≭\"], [0, \"≮\"], [0, \"≯\"], [0, \"≰\"], [0, \"≱\"], [0, \"≲\"], [0, \"≳\"], [0, \"≴\"], [0, \"≵\"], [0, \"≶\"], [0, \"≷\"], [0, \"≸\"], [0, \"≹\"], [0, \"≺\"], [0, \"≻\"], [0, \"≼\"], [0, \"≽\"], [0, \"≾\"], [0, { v: \"≿\", n: 824, o: \"≿̸\" }], [0, \"⊀\"], [0, \"⊁\"], [0, { v: \"⊂\", n: 8402, o: \"⊂⃒\" }], [0, { v: \"⊃\", n: 8402, o: \"⊃⃒\" }], [0, \"⊄\"], [0, \"⊅\"], [0, \"⊆\"], [0, \"⊇\"], [0, \"⊈\"], [0, \"⊉\"], [0, { v: \"⊊\", n: 65024, o: \"⊊︀\" }], [0, { v: \"⊋\", n: 65024, o: \"⊋︀\" }], [1, \"⊍\"], [0, \"⊎\"], [0, { v: \"⊏\", n: 824, o: \"⊏̸\" }], [0, { v: \"⊐\", n: 824, o: \"⊐̸\" }], [0, \"⊑\"], [0, \"⊒\"], [0, { v: \"⊓\", n: 65024, o: \"⊓︀\" }], [0, { v: \"⊔\", n: 65024, o: \"⊔︀\" }], [0, \"⊕\"], [0, \"⊖\"], [0, \"⊗\"], [0, \"⊘\"], [0, \"⊙\"], [0, \"⊚\"], [0, \"⊛\"], [1, \"⊝\"], [0, \"⊞\"], [0, \"⊟\"], [0, \"⊠\"], [0, \"⊡\"], [0, \"⊢\"], [0, \"⊣\"], [0, \"⊤\"], [0, \"⊥\"], [1, \"⊧\"], [0, \"⊨\"], [0, \"⊩\"], [0, \"⊪\"], [0, \"⊫\"], [0, \"⊬\"], [0, \"⊭\"], [0, \"⊮\"], [0, \"⊯\"], [0, \"⊰\"], [1, \"⊲\"], [0, \"⊳\"], [0, { v: \"⊴\", n: 8402, o: \"⊴⃒\" }], [0, { v: \"⊵\", n: 8402, o: \"⊵⃒\" }], [0, \"⊶\"], [0, \"⊷\"], [0, \"⊸\"], [0, \"⊹\"], [0, \"⊺\"], [0, \"⊻\"], [1, \"⊽\"], [0, \"⊾\"], [0, \"⊿\"], [0, \"⋀\"], [0, \"⋁\"], [0, \"⋂\"], [0, \"⋃\"], [0, \"⋄\"], [0, \"⋅\"], [0, \"⋆\"], [0, \"⋇\"], [0, \"⋈\"], [0, \"⋉\"], [0, \"⋊\"], [0, \"⋋\"], [0, \"⋌\"], [0, \"⋍\"], [0, \"⋎\"], [0, \"⋏\"], [0, \"⋐\"], [0, \"⋑\"], [0, \"⋒\"], [0, \"⋓\"], [0, \"⋔\"], [0, \"⋕\"], [0, \"⋖\"], [0, \"⋗\"], [0, { v: \"⋘\", n: 824, o: \"⋘̸\" }], [0, { v: \"⋙\", n: 824, o: \"⋙̸\" }], [0, { v: \"⋚\", n: 65024, o: \"⋚︀\" }], [0, { v: \"⋛\", n: 65024, o: \"⋛︀\" }], [2, \"⋞\"], [0, \"⋟\"], [0, \"⋠\"], [0, \"⋡\"], [0, \"⋢\"], [0, \"⋣\"], [2, \"⋦\"], [0, \"⋧\"], [0, \"⋨\"], [0, \"⋩\"], [0, \"⋪\"], [0, \"⋫\"], [0, \"⋬\"], [0, \"⋭\"], [0, \"⋮\"], [0, \"⋯\"], [0, \"⋰\"], [0, \"⋱\"], [0, \"⋲\"], [0, \"⋳\"], [0, \"⋴\"], [0, { v: \"⋵\", n: 824, o: \"⋵̸\" }], [0, \"⋶\"], [0, \"⋷\"], [1, { v: \"⋹\", n: 824, o: \"⋹̸\" }], [0, \"⋺\"], [0, \"⋻\"], [0, \"⋼\"], [0, \"⋽\"], [0, \"⋾\"], [6, \"⌅\"], [0, \"⌆\"], [1, \"⌈\"], [0, \"⌉\"], [0, \"⌊\"], [0, \"⌋\"], [0, \"⌌\"], [0, \"⌍\"], [0, \"⌎\"], [0, \"⌏\"], [0, \"⌐\"], [1, \"⌒\"], [0, \"⌓\"], [1, \"⌕\"], [0, \"⌖\"], [5, \"⌜\"], [0, \"⌝\"], [0, \"⌞\"], [0, \"⌟\"], [2, \"⌢\"], [0, \"⌣\"], [9, \"⌭\"], [0, \"⌮\"], [7, \"⌶\"], [6, \"⌽\"], [1, \"⌿\"], [60, \"⍼\"], [51, \"⎰\"], [0, \"⎱\"], [2, \"⎴\"], [0, \"⎵\"], [0, \"⎶\"], [37, \"⏜\"], [0, \"⏝\"], [0, \"⏞\"], [0, \"⏟\"], [2, \"⏢\"], [4, \"⏧\"], [59, \"␣\"], [164, \"Ⓢ\"], [55, \"─\"], [1, \"│\"], [9, \"┌\"], [3, \"┐\"], [3, \"└\"], [3, \"┘\"], [3, \"├\"], [7, \"┤\"], [7, \"┬\"], [7, \"┴\"], [7, \"┼\"], [19, \"═\"], [0, \"║\"], [0, \"╒\"], [0, \"╓\"], [0, \"╔\"], [0, \"╕\"], [0, \"╖\"], [0, \"╗\"], [0, \"╘\"], [0, \"╙\"], [0, \"╚\"], [0, \"╛\"], [0, \"╜\"], [0, \"╝\"], [0, \"╞\"], [0, \"╟\"], [0, \"╠\"], [0, \"╡\"], [0, \"╢\"], [0, \"╣\"], [0, \"╤\"], [0, \"╥\"], [0, \"╦\"], [0, \"╧\"], [0, \"╨\"], [0, \"╩\"], [0, \"╪\"], [0, \"╫\"], [0, \"╬\"], [19, \"▀\"], [3, \"▄\"], [3, \"█\"], [8, \"░\"], [0, \"▒\"], [0, \"▓\"], [13, \"□\"], [8, \"▪\"], [0, \"▫\"], [1, \"▭\"], [0, \"▮\"], [2, \"▱\"], [1, \"△\"], [0, \"▴\"], [0, \"▵\"], [2, \"▸\"], [0, \"▹\"], [3, \"▽\"], [0, \"▾\"], [0, \"▿\"], [2, \"◂\"], [0, \"◃\"], [6, \"◊\"], [0, \"○\"], [32, \"◬\"], [2, \"◯\"], [8, \"◸\"], [0, \"◹\"], [0, \"◺\"], [0, \"◻\"], [0, \"◼\"], [8, \"★\"], [0, \"☆\"], [7, \"☎\"], [49, \"♀\"], [1, \"♂\"], [29, \"♠\"], [2, \"♣\"], [1, \"♥\"], [0, \"♦\"], [3, \"♪\"], [2, \"♭\"], [0, \"♮\"], [0, \"♯\"], [163, \"✓\"], [3, \"✗\"], [8, \"✠\"], [21, \"✶\"], [33, \"❘\"], [25, \"❲\"], [0, \"❳\"], [84, \"⟈\"], [0, \"⟉\"], [28, \"⟦\"], [0, \"⟧\"], [0, \"⟨\"], [0, \"⟩\"], [0, \"⟪\"], [0, \"⟫\"], [0, \"⟬\"], [0, \"⟭\"], [7, \"⟵\"], [0, \"⟶\"], [0, \"⟷\"], [0, \"⟸\"], [0, \"⟹\"], [0, \"⟺\"], [1, \"⟼\"], [2, \"⟿\"], [258, \"⤂\"], [0, \"⤃\"], [0, \"⤄\"], [0, \"⤅\"], [6, \"⤌\"], [0, \"⤍\"], [0, \"⤎\"], [0, \"⤏\"], [0, \"⤐\"], [0, \"⤑\"], [0, \"⤒\"], [0, \"⤓\"], [2, \"⤖\"], [2, \"⤙\"], [0, \"⤚\"], [0, \"⤛\"], [0, \"⤜\"], [0, \"⤝\"], [0, \"⤞\"], [0, \"⤟\"], [0, \"⤠\"], [2, \"⤣\"], [0, \"⤤\"], [0, \"⤥\"], [0, \"⤦\"], [0, \"⤧\"], [0, \"⤨\"], [0, \"⤩\"], [0, \"⤪\"], [8, { v: \"⤳\", n: 824, o: \"⤳̸\" }], [1, \"⤵\"], [0, \"⤶\"], [0, \"⤷\"], [0, \"⤸\"], [0, \"⤹\"], [2, \"⤼\"], [0, \"⤽\"], [7, \"⥅\"], [2, \"⥈\"], [0, \"⥉\"], [0, \"⥊\"], [0, \"⥋\"], [2, \"⥎\"], [0, \"⥏\"], [0, \"⥐\"], [0, \"⥑\"], [0, \"⥒\"], [0, \"⥓\"], [0, \"⥔\"], [0, \"⥕\"], [0, \"⥖\"], [0, \"⥗\"], [0, \"⥘\"], [0, \"⥙\"], [0, \"⥚\"], [0, \"⥛\"], [0, \"⥜\"], [0, \"⥝\"], [0, \"⥞\"], [0, \"⥟\"], [0, \"⥠\"], [0, \"⥡\"], [0, \"⥢\"], [0, \"⥣\"], [0, \"⥤\"], [0, \"⥥\"], [0, \"⥦\"], [0, \"⥧\"], [0, \"⥨\"], [0, \"⥩\"], [0, \"⥪\"], [0, \"⥫\"], [0, \"⥬\"], [0, \"⥭\"], [0, \"⥮\"], [0, \"⥯\"], [0, \"⥰\"], [0, \"⥱\"], [0, \"⥲\"], [0, \"⥳\"], [0, \"⥴\"], [0, \"⥵\"], [0, \"⥶\"], [1, \"⥸\"], [0, \"⥹\"], [1, \"⥻\"], [0, \"⥼\"], [0, \"⥽\"], [0, \"⥾\"], [0, \"⥿\"], [5, \"⦅\"], [0, \"⦆\"], [4, \"⦋\"], [0, \"⦌\"], [0, \"⦍\"], [0, \"⦎\"], [0, \"⦏\"], [0, \"⦐\"], [0, \"⦑\"], [0, \"⦒\"], [0, \"⦓\"], [0, \"⦔\"], [0, \"⦕\"], [0, \"⦖\"], [3, \"⦚\"], [1, \"⦜\"], [0, \"⦝\"], [6, \"⦤\"], [0, \"⦥\"], [0, \"⦦\"], [0, \"⦧\"], [0, \"⦨\"], [0, \"⦩\"], [0, \"⦪\"], [0, \"⦫\"], [0, \"⦬\"], [0, \"⦭\"], [0, \"⦮\"], [0, \"⦯\"], [0, \"⦰\"], [0, \"⦱\"], [0, \"⦲\"], [0, \"⦳\"], [0, \"⦴\"], [0, \"⦵\"], [0, \"⦶\"], [0, \"⦷\"], [1, \"⦹\"], [1, \"⦻\"], [0, \"⦼\"], [1, \"⦾\"], [0, \"⦿\"], [0, \"⧀\"], [0, \"⧁\"], [0, \"⧂\"], [0, \"⧃\"], [0, \"⧄\"], [0, \"⧅\"], [3, \"⧉\"], [3, \"⧍\"], [0, \"⧎\"], [0, { v: \"⧏\", n: 824, o: \"⧏̸\" }], [0, { v: \"⧐\", n: 824, o: \"⧐̸\" }], [11, \"⧜\"], [0, \"⧝\"], [0, \"⧞\"], [4, \"⧣\"], [0, \"⧤\"], [0, \"⧥\"], [5, \"⧫\"], [8, \"⧴\"], [1, \"⧶\"], [9, \"⨀\"], [0, \"⨁\"], [0, \"⨂\"], [1, \"⨄\"], [1, \"⨆\"], [5, \"⨌\"], [0, \"⨍\"], [2, \"⨐\"], [0, \"⨑\"], [0, \"⨒\"], [0, \"⨓\"], [0, \"⨔\"], [0, \"⨕\"], [0, \"⨖\"], [0, \"⨗\"], [10, \"⨢\"], [0, \"⨣\"], [0, \"⨤\"], [0, \"⨥\"], [0, \"⨦\"], [0, \"⨧\"], [1, \"⨩\"], [0, \"⨪\"], [2, \"⨭\"], [0, \"⨮\"], [0, \"⨯\"], [0, \"⨰\"], [0, \"⨱\"], [1, \"⨳\"], [0, \"⨴\"], [0, \"⨵\"], [0, \"⨶\"], [0, \"⨷\"], [0, \"⨸\"], [0, \"⨹\"], [0, \"⨺\"], [0, \"⨻\"], [0, \"⨼\"], [2, \"⨿\"], [0, \"⩀\"], [1, \"⩂\"], [0, \"⩃\"], [0, \"⩄\"], [0, \"⩅\"], [0, \"⩆\"], [0, \"⩇\"], [0, \"⩈\"], [0, \"⩉\"], [0, \"⩊\"], [0, \"⩋\"], [0, \"⩌\"], [0, \"⩍\"], [2, \"⩐\"], [2, \"⩓\"], [0, \"⩔\"], [0, \"⩕\"], [0, \"⩖\"], [0, \"⩗\"], [0, \"⩘\"], [1, \"⩚\"], [0, \"⩛\"], [0, \"⩜\"], [0, \"⩝\"], [1, \"⩟\"], [6, \"⩦\"], [3, \"⩪\"], [2, { v: \"⩭\", n: 824, o: \"⩭̸\" }], [0, \"⩮\"], [0, \"⩯\"], [0, { v: \"⩰\", n: 824, o: \"⩰̸\" }], [0, \"⩱\"], [0, \"⩲\"], [0, \"⩳\"], [0, \"⩴\"], [0, \"⩵\"], [1, \"⩷\"], [0, \"⩸\"], [0, \"⩹\"], [0, \"⩺\"], [0, \"⩻\"], [0, \"⩼\"], [0, { v: \"⩽\", n: 824, o: \"⩽̸\" }], [0, { v: \"⩾\", n: 824, o: \"⩾̸\" }], [0, \"⩿\"], [0, \"⪀\"], [0, \"⪁\"], [0, \"⪂\"], [0, \"⪃\"], [0, \"⪄\"], [0, \"⪅\"], [0, \"⪆\"], [0, \"⪇\"], [0, \"⪈\"], [0, \"⪉\"], [0, \"⪊\"], [0, \"⪋\"], [0, \"⪌\"], [0, \"⪍\"], [0, \"⪎\"], [0, \"⪏\"], [0, \"⪐\"], [0, \"⪑\"], [0, \"⪒\"], [0, \"⪓\"], [0, \"⪔\"], [0, \"⪕\"], [0, \"⪖\"], [0, \"⪗\"], [0, \"⪘\"], [0, \"⪙\"], [0, \"⪚\"], [2, \"⪝\"], [0, \"⪞\"], [0, \"⪟\"], [0, \"⪠\"], [0, { v: \"⪡\", n: 824, o: \"⪡̸\" }], [0, { v: \"⪢\", n: 824, o: \"⪢̸\" }], [1, \"⪤\"], [0, \"⪥\"], [0, \"⪦\"], [0, \"⪧\"], [0, \"⪨\"], [0, \"⪩\"], [0, \"⪪\"], [0, \"⪫\"], [0, { v: \"⪬\", n: 65024, o: \"⪬︀\" }], [0, { v: \"⪭\", n: 65024, o: \"⪭︀\" }], [0, \"⪮\"], [0, { v: \"⪯\", n: 824, o: \"⪯̸\" }], [0, { v: \"⪰\", n: 824, o: \"⪰̸\" }], [2, \"⪳\"], [0, \"⪴\"], [0, \"⪵\"], [0, \"⪶\"], [0, \"⪷\"], [0, \"⪸\"], [0, \"⪹\"], [0, \"⪺\"], [0, \"⪻\"], [0, \"⪼\"], [0, \"⪽\"], [0, \"⪾\"], [0, \"⪿\"], [0, \"⫀\"], [0, \"⫁\"], [0, \"⫂\"], [0, \"⫃\"], [0, \"⫄\"], [0, { v: \"⫅\", n: 824, o: \"⫅̸\" }], [0, { v: \"⫆\", n: 824, o: \"⫆̸\" }], [0, \"⫇\"], [0, \"⫈\"], [2, { v: \"⫋\", n: 65024, o: \"⫋︀\" }], [0, { v: \"⫌\", n: 65024, o: \"⫌︀\" }], [2, \"⫏\"], [0, \"⫐\"], [0, \"⫑\"], [0, \"⫒\"], [0, \"⫓\"], [0, \"⫔\"], [0, \"⫕\"], [0, \"⫖\"], [0, \"⫗\"], [0, \"⫘\"], [0, \"⫙\"], [0, \"⫚\"], [0, \"⫛\"], [8, \"⫤\"], [1, \"⫦\"], [0, \"⫧\"], [0, \"⫨\"], [0, \"⫩\"], [1, \"⫫\"], [0, \"⫬\"], [0, \"⫭\"], [0, \"⫮\"], [0, \"⫯\"], [0, \"⫰\"], [0, \"⫱\"], [0, \"⫲\"], [0, \"⫳\"], [9, { v: \"⫽\", n: 8421, o: \"⫽⃥\" }], [44343, { n: new Map(/* #__PURE__ */ restoreDiff([[56476, \"𝒜\"], [1, \"𝒞\"], [0, \"𝒟\"], [2, \"𝒢\"], [2, \"𝒥\"], [0, \"𝒦\"], [2, \"𝒩\"], [0, \"𝒪\"], [0, \"𝒫\"], [0, \"𝒬\"], [1, \"𝒮\"], [0, \"𝒯\"], [0, \"𝒰\"], [0, \"𝒱\"], [0, \"𝒲\"], [0, \"𝒳\"], [0, \"𝒴\"], [0, \"𝒵\"], [0, \"𝒶\"], [0, \"𝒷\"], [0, \"𝒸\"], [0, \"𝒹\"], [1, \"𝒻\"], [1, \"𝒽\"], [0, \"𝒾\"], [0, \"𝒿\"], [0, \"𝓀\"], [0, \"𝓁\"], [0, \"𝓂\"], [0, \"𝓃\"], [1, \"𝓅\"], [0, \"𝓆\"], [0, \"𝓇\"], [0, \"𝓈\"], [0, \"𝓉\"], [0, \"𝓊\"], [0, \"𝓋\"], [0, \"𝓌\"], [0, \"𝓍\"], [0, \"𝓎\"], [0, \"𝓏\"], [52, \"𝔄\"], [0, \"𝔅\"], [1, \"𝔇\"], [0, \"𝔈\"], [0, \"𝔉\"], [0, \"𝔊\"], [2, \"𝔍\"], [0, \"𝔎\"], [0, \"𝔏\"], [0, \"𝔐\"], [0, \"𝔑\"], [0, \"𝔒\"], [0, \"𝔓\"], [0, \"𝔔\"], [1, \"𝔖\"], [0, \"𝔗\"], [0, \"𝔘\"], [0, \"𝔙\"], [0, \"𝔚\"], [0, \"𝔛\"], [0, \"𝔜\"], [1, \"𝔞\"], [0, \"𝔟\"], [0, \"𝔠\"], [0, \"𝔡\"], [0, \"𝔢\"], [0, \"𝔣\"], [0, \"𝔤\"], [0, \"𝔥\"], [0, \"𝔦\"], [0, \"𝔧\"], [0, \"𝔨\"], [0, \"𝔩\"], [0, \"𝔪\"], [0, \"𝔫\"], [0, \"𝔬\"], [0, \"𝔭\"], [0, \"𝔮\"], [0, \"𝔯\"], [0, \"𝔰\"], [0, \"𝔱\"], [0, \"𝔲\"], [0, \"𝔳\"], [0, \"𝔴\"], [0, \"𝔵\"], [0, \"𝔶\"], [0, \"𝔷\"], [0, \"𝔸\"], [0, \"𝔹\"], [1, \"𝔻\"], [0, \"𝔼\"], [0, \"𝔽\"], [0, \"𝔾\"], [1, \"𝕀\"], [0, \"𝕁\"], [0, \"𝕂\"], [0, \"𝕃\"], [0, \"𝕄\"], [1, \"𝕆\"], [3, \"𝕊\"], [0, \"𝕋\"], [0, \"𝕌\"], [0, \"𝕍\"], [0, \"𝕎\"], [0, \"𝕏\"], [0, \"𝕐\"], [1, \"𝕒\"], [0, \"𝕓\"], [0, \"𝕔\"], [0, \"𝕕\"], [0, \"𝕖\"], [0, \"𝕗\"], [0, \"𝕘\"], [0, \"𝕙\"], [0, \"𝕚\"], [0, \"𝕛\"], [0, \"𝕜\"], [0, \"𝕝\"], [0, \"𝕞\"], [0, \"𝕟\"], [0, \"𝕠\"], [0, \"𝕡\"], [0, \"𝕢\"], [0, \"𝕣\"], [0, \"𝕤\"], [0, \"𝕥\"], [0, \"𝕦\"], [0, \"𝕧\"], [0, \"𝕨\"], [0, \"𝕩\"], [0, \"𝕪\"], [0, \"𝕫\"]])) }], [8906, \"ff\"], [0, \"fi\"], [0, \"fl\"], [0, \"ffi\"], [0, \"ffl\"]]));\n//# sourceMappingURL=encode-html.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLAttribute = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.DecodingMode = exports.EntityDecoder = exports.encodeHTML5 = exports.encodeHTML4 = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.escapeText = exports.escapeAttribute = exports.escapeUTF8 = exports.escape = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = exports.EncodingMode = exports.EntityLevel = void 0;\nvar decode_js_1 = require(\"./decode.js\");\nvar encode_js_1 = require(\"./encode.js\");\nvar escape_js_1 = require(\"./escape.js\");\n/** The level of entities to support. */\nvar EntityLevel;\n(function (EntityLevel) {\n /** Support only XML entities. */\n EntityLevel[EntityLevel[\"XML\"] = 0] = \"XML\";\n /** Support HTML entities, which are a superset of XML entities. */\n EntityLevel[EntityLevel[\"HTML\"] = 1] = \"HTML\";\n})(EntityLevel = exports.EntityLevel || (exports.EntityLevel = {}));\nvar EncodingMode;\n(function (EncodingMode) {\n /**\n * The output is UTF-8 encoded. Only characters that need escaping within\n * XML will be escaped.\n */\n EncodingMode[EncodingMode[\"UTF8\"] = 0] = \"UTF8\";\n /**\n * The output consists only of ASCII characters. Characters that need\n * escaping within HTML, and characters that aren't ASCII characters will\n * be escaped.\n */\n EncodingMode[EncodingMode[\"ASCII\"] = 1] = \"ASCII\";\n /**\n * Encode all characters that have an equivalent entity, as well as all\n * characters that are not ASCII characters.\n */\n EncodingMode[EncodingMode[\"Extensive\"] = 2] = \"Extensive\";\n /**\n * Encode all characters that have to be escaped in HTML attributes,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Attribute\"] = 3] = \"Attribute\";\n /**\n * Encode all characters that have to be escaped in HTML text,\n * following {@link https://html.spec.whatwg.org/multipage/parsing.html#escapingString}.\n */\n EncodingMode[EncodingMode[\"Text\"] = 4] = \"Text\";\n})(EncodingMode = exports.EncodingMode || (exports.EncodingMode = {}));\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n */\nfunction decode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var level = typeof options === \"number\" ? options : options.level;\n if (level === EntityLevel.HTML) {\n var mode = typeof options === \"object\" ? options.mode : undefined;\n return (0, decode_js_1.decodeHTML)(data, mode);\n }\n return (0, decode_js_1.decodeXML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param options Decoding options.\n * @deprecated Use `decode` with the `mode` set to `Strict`.\n */\nfunction decodeStrict(data, options) {\n var _a;\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n (_a = opts.mode) !== null && _a !== void 0 ? _a : (opts.mode = decode_js_1.DecodingMode.Strict);\n return decode(data, opts);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param options Encoding options.\n */\nfunction encode(data, options) {\n if (options === void 0) { options = EntityLevel.XML; }\n var opts = typeof options === \"number\" ? { level: options } : options;\n // Mode `UTF8` just escapes XML entities\n if (opts.mode === EncodingMode.UTF8)\n return (0, escape_js_1.escapeUTF8)(data);\n if (opts.mode === EncodingMode.Attribute)\n return (0, escape_js_1.escapeAttribute)(data);\n if (opts.mode === EncodingMode.Text)\n return (0, escape_js_1.escapeText)(data);\n if (opts.level === EntityLevel.HTML) {\n if (opts.mode === EncodingMode.ASCII) {\n return (0, encode_js_1.encodeNonAsciiHTML)(data);\n }\n return (0, encode_js_1.encodeHTML)(data);\n }\n // ASCII and Extensive are equivalent\n return (0, escape_js_1.encodeXML)(data);\n}\nexports.encode = encode;\nvar escape_js_2 = require(\"./escape.js\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return escape_js_2.encodeXML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return escape_js_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return escape_js_2.escapeUTF8; } });\nObject.defineProperty(exports, \"escapeAttribute\", { enumerable: true, get: function () { return escape_js_2.escapeAttribute; } });\nObject.defineProperty(exports, \"escapeText\", { enumerable: true, get: function () { return escape_js_2.escapeText; } });\nvar encode_js_2 = require(\"./encode.js\");\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_js_2.encodeNonAsciiHTML; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_js_2.encodeHTML; } });\nvar decode_js_2 = require(\"./decode.js\");\nObject.defineProperty(exports, \"EntityDecoder\", { enumerable: true, get: function () { return decode_js_2.EntityDecoder; } });\nObject.defineProperty(exports, \"DecodingMode\", { enumerable: true, get: function () { return decode_js_2.DecodingMode; } });\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTMLAttribute\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLAttribute; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_js_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_js_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_js_2.decodeXML; } });\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for `.\n this.sequenceIndex = Number(c === CharCodes.Lt);\n }\n };\n Tokenizer.prototype.stateCDATASequence = function (c) {\n if (c === Sequences.Cdata[this.sequenceIndex]) {\n if (++this.sequenceIndex === Sequences.Cdata.length) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CdataEnd;\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n }\n }\n else {\n this.sequenceIndex = 0;\n this.state = State.InDeclaration;\n this.stateInDeclaration(c); // Reconsume the character\n }\n };\n /**\n * When we wait for one specific character, we can speed things up\n * by skipping through the buffer until we find it.\n *\n * @returns Whether the character was found.\n */\n Tokenizer.prototype.fastForwardTo = function (c) {\n while (++this.index < this.buffer.length + this.offset) {\n if (this.buffer.charCodeAt(this.index - this.offset) === c) {\n return true;\n }\n }\n /*\n * We increment the index at the end of the `parse` loop,\n * so set it to `buffer.length - 1` here.\n *\n * TODO: Refactor `parse` to increment index before calling states.\n */\n this.index = this.buffer.length + this.offset - 1;\n return false;\n };\n /**\n * Comments and CDATA end with `-->` and `]]>`.\n *\n * Their common qualities are:\n * - Their end sequences have a distinct character they start with.\n * - That character is then repeated, so we have to check multiple repeats.\n * - All characters but the start character of the sequence can be skipped.\n */\n Tokenizer.prototype.stateInCommentLike = function (c) {\n if (c === this.currentSequence[this.sequenceIndex]) {\n if (++this.sequenceIndex === this.currentSequence.length) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, this.index, 2);\n }\n else {\n this.cbs.oncomment(this.sectionStart, this.index, 2);\n }\n this.sequenceIndex = 0;\n this.sectionStart = this.index + 1;\n this.state = State.Text;\n }\n }\n else if (this.sequenceIndex === 0) {\n // Fast-forward to the first character of the sequence\n if (this.fastForwardTo(this.currentSequence[0])) {\n this.sequenceIndex = 1;\n }\n }\n else if (c !== this.currentSequence[this.sequenceIndex - 1]) {\n // Allow long sequences, eg. --->, ]]]>\n this.sequenceIndex = 0;\n }\n };\n /**\n * HTML only allows ASCII alpha characters (a-z and A-Z) at the beginning of a tag name.\n *\n * XML allows a lot more characters here (@see https://www.w3.org/TR/REC-xml/#NT-NameStartChar).\n * We allow anything that wouldn't end the tag.\n */\n Tokenizer.prototype.isTagStartChar = function (c) {\n return this.xmlMode ? !isEndOfTagSection(c) : isASCIIAlpha(c);\n };\n Tokenizer.prototype.startSpecial = function (sequence, offset) {\n this.isSpecial = true;\n this.currentSequence = sequence;\n this.sequenceIndex = offset;\n this.state = State.SpecialStartSequence;\n };\n Tokenizer.prototype.stateBeforeTagName = function (c) {\n if (c === CharCodes.ExclamationMark) {\n this.state = State.BeforeDeclaration;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Questionmark) {\n this.state = State.InProcessingInstruction;\n this.sectionStart = this.index + 1;\n }\n else if (this.isTagStartChar(c)) {\n var lower = c | 0x20;\n this.sectionStart = this.index;\n if (!this.xmlMode && lower === Sequences.TitleEnd[2]) {\n this.startSpecial(Sequences.TitleEnd, 3);\n }\n else {\n this.state =\n !this.xmlMode && lower === Sequences.ScriptEnd[2]\n ? State.BeforeSpecialS\n : State.InTagName;\n }\n }\n else if (c === CharCodes.Slash) {\n this.state = State.BeforeClosingTagName;\n }\n else {\n this.state = State.Text;\n this.stateText(c);\n }\n };\n Tokenizer.prototype.stateInTagName = function (c) {\n if (isEndOfTagSection(c)) {\n this.cbs.onopentagname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateBeforeClosingTagName = function (c) {\n if (isWhitespace(c)) {\n // Ignore\n }\n else if (c === CharCodes.Gt) {\n this.state = State.Text;\n }\n else {\n this.state = this.isTagStartChar(c)\n ? State.InClosingTagName\n : State.InSpecialComment;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInClosingTagName = function (c) {\n if (c === CharCodes.Gt || isWhitespace(c)) {\n this.cbs.onclosetag(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterClosingTagName;\n this.stateAfterClosingTagName(c);\n }\n };\n Tokenizer.prototype.stateAfterClosingTagName = function (c) {\n // Skip everything until \">\"\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeName = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onopentagend(this.index);\n if (this.isSpecial) {\n this.state = State.InSpecialTag;\n this.sequenceIndex = 0;\n }\n else {\n this.state = State.Text;\n }\n this.baseState = this.state;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.Slash) {\n this.state = State.InSelfClosingTag;\n }\n else if (!isWhitespace(c)) {\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateInSelfClosingTag = function (c) {\n if (c === CharCodes.Gt) {\n this.cbs.onselfclosingtag(this.index);\n this.state = State.Text;\n this.baseState = State.Text;\n this.sectionStart = this.index + 1;\n this.isSpecial = false; // Reset special state, in case of self-closing special tags\n }\n else if (!isWhitespace(c)) {\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n };\n Tokenizer.prototype.stateInAttributeName = function (c) {\n if (c === CharCodes.Eq || isEndOfTagSection(c)) {\n this.cbs.onattribname(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.state = State.AfterAttributeName;\n this.stateAfterAttributeName(c);\n }\n };\n Tokenizer.prototype.stateAfterAttributeName = function (c) {\n if (c === CharCodes.Eq) {\n this.state = State.BeforeAttributeValue;\n }\n else if (c === CharCodes.Slash || c === CharCodes.Gt) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (!isWhitespace(c)) {\n this.cbs.onattribend(QuoteType.NoValue, this.index);\n this.state = State.InAttributeName;\n this.sectionStart = this.index;\n }\n };\n Tokenizer.prototype.stateBeforeAttributeValue = function (c) {\n if (c === CharCodes.DoubleQuote) {\n this.state = State.InAttributeValueDq;\n this.sectionStart = this.index + 1;\n }\n else if (c === CharCodes.SingleQuote) {\n this.state = State.InAttributeValueSq;\n this.sectionStart = this.index + 1;\n }\n else if (!isWhitespace(c)) {\n this.sectionStart = this.index;\n this.state = State.InAttributeValueNq;\n this.stateInAttributeValueNoQuotes(c); // Reconsume token\n }\n };\n Tokenizer.prototype.handleInAttributeValue = function (c, quote) {\n if (c === quote ||\n (!this.decodeEntities && this.fastForwardTo(quote))) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(quote === CharCodes.DoubleQuote\n ? QuoteType.Double\n : QuoteType.Single, this.index);\n this.state = State.BeforeAttributeName;\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateInAttributeValueDoubleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.DoubleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueSingleQuotes = function (c) {\n this.handleInAttributeValue(c, CharCodes.SingleQuote);\n };\n Tokenizer.prototype.stateInAttributeValueNoQuotes = function (c) {\n if (isWhitespace(c) || c === CharCodes.Gt) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = -1;\n this.cbs.onattribend(QuoteType.Unquoted, this.index);\n this.state = State.BeforeAttributeName;\n this.stateBeforeAttributeName(c);\n }\n else if (this.decodeEntities && c === CharCodes.Amp) {\n this.baseState = this.state;\n this.state = State.BeforeEntity;\n }\n };\n Tokenizer.prototype.stateBeforeDeclaration = function (c) {\n if (c === CharCodes.OpeningSquareBracket) {\n this.state = State.CDATASequence;\n this.sequenceIndex = 0;\n }\n else {\n this.state =\n c === CharCodes.Dash\n ? State.BeforeComment\n : State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInDeclaration = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.ondeclaration(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateInProcessingInstruction = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.onprocessinginstruction(this.sectionStart, this.index);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeComment = function (c) {\n if (c === CharCodes.Dash) {\n this.state = State.InCommentLike;\n this.currentSequence = Sequences.CommentEnd;\n // Allow short comments (eg. )\n this.sequenceIndex = 2;\n this.sectionStart = this.index + 1;\n }\n else {\n this.state = State.InDeclaration;\n }\n };\n Tokenizer.prototype.stateInSpecialComment = function (c) {\n if (c === CharCodes.Gt || this.fastForwardTo(CharCodes.Gt)) {\n this.cbs.oncomment(this.sectionStart, this.index, 0);\n this.state = State.Text;\n this.sectionStart = this.index + 1;\n }\n };\n Tokenizer.prototype.stateBeforeSpecialS = function (c) {\n var lower = c | 0x20;\n if (lower === Sequences.ScriptEnd[3]) {\n this.startSpecial(Sequences.ScriptEnd, 4);\n }\n else if (lower === Sequences.StyleEnd[3]) {\n this.startSpecial(Sequences.StyleEnd, 4);\n }\n else {\n this.state = State.InTagName;\n this.stateInTagName(c); // Consume the token again\n }\n };\n Tokenizer.prototype.stateBeforeEntity = function (c) {\n // Start excess with 1 to include the '&'\n this.entityExcess = 1;\n this.entityResult = 0;\n if (c === CharCodes.Number) {\n this.state = State.BeforeNumericEntity;\n }\n else if (c === CharCodes.Amp) {\n // We have two `&` characters in a row. Stay in the current state.\n }\n else {\n this.trieIndex = 0;\n this.trieCurrent = this.entityTrie[0];\n this.state = State.InNamedEntity;\n this.stateInNamedEntity(c);\n }\n };\n Tokenizer.prototype.stateInNamedEntity = function (c) {\n this.entityExcess += 1;\n this.trieIndex = (0, decode_js_1.determineBranch)(this.entityTrie, this.trieCurrent, this.trieIndex + 1, c);\n if (this.trieIndex < 0) {\n this.emitNamedEntity();\n this.index--;\n return;\n }\n this.trieCurrent = this.entityTrie[this.trieIndex];\n var masked = this.trieCurrent & decode_js_1.BinTrieFlags.VALUE_LENGTH;\n // If the branch is a value, store it and continue\n if (masked) {\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (masked >> 14) - 1;\n // If we have a legacy entity while parsing strictly, just skip the number of bytes\n if (!this.allowLegacyEntity() && c !== CharCodes.Semi) {\n this.trieIndex += valueLength;\n }\n else {\n // Add 1 as we have already incremented the excess\n var entityStart = this.index - this.entityExcess + 1;\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n // If this is a surrogate pair, consume the next two bytes\n this.entityResult = this.trieIndex;\n this.trieIndex += valueLength;\n this.entityExcess = 0;\n this.sectionStart = this.index + 1;\n if (valueLength === 0) {\n this.emitNamedEntity();\n }\n }\n }\n };\n Tokenizer.prototype.emitNamedEntity = function () {\n this.state = this.baseState;\n if (this.entityResult === 0) {\n return;\n }\n var valueLength = (this.entityTrie[this.entityResult] & decode_js_1.BinTrieFlags.VALUE_LENGTH) >>\n 14;\n switch (valueLength) {\n case 1: {\n this.emitCodePoint(this.entityTrie[this.entityResult] &\n ~decode_js_1.BinTrieFlags.VALUE_LENGTH);\n break;\n }\n case 2: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n break;\n }\n case 3: {\n this.emitCodePoint(this.entityTrie[this.entityResult + 1]);\n this.emitCodePoint(this.entityTrie[this.entityResult + 2]);\n }\n }\n };\n Tokenizer.prototype.stateBeforeNumericEntity = function (c) {\n if ((c | 0x20) === CharCodes.LowerX) {\n this.entityExcess++;\n this.state = State.InHexEntity;\n }\n else {\n this.state = State.InNumericEntity;\n this.stateInNumericEntity(c);\n }\n };\n Tokenizer.prototype.emitNumericEntity = function (strict) {\n var entityStart = this.index - this.entityExcess - 1;\n var numberStart = entityStart + 2 + Number(this.state === State.InHexEntity);\n if (numberStart !== this.index) {\n // Emit leading data if any\n if (entityStart > this.sectionStart) {\n this.emitPartial(this.sectionStart, entityStart);\n }\n this.sectionStart = this.index + Number(strict);\n this.emitCodePoint((0, decode_js_1.replaceCodePoint)(this.entityResult));\n }\n this.state = this.baseState;\n };\n Tokenizer.prototype.stateInNumericEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 10 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.stateInHexEntity = function (c) {\n if (c === CharCodes.Semi) {\n this.emitNumericEntity(true);\n }\n else if (isNumber(c)) {\n this.entityResult = this.entityResult * 16 + (c - CharCodes.Zero);\n this.entityExcess++;\n }\n else if (isHexDigit(c)) {\n this.entityResult =\n this.entityResult * 16 + ((c | 0x20) - CharCodes.LowerA + 10);\n this.entityExcess++;\n }\n else {\n if (this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n }\n else {\n this.state = this.baseState;\n }\n this.index--;\n }\n };\n Tokenizer.prototype.allowLegacyEntity = function () {\n return (!this.xmlMode &&\n (this.baseState === State.Text ||\n this.baseState === State.InSpecialTag));\n };\n /**\n * Remove data that has already been consumed from the buffer.\n */\n Tokenizer.prototype.cleanup = function () {\n // If we are inside of text or attributes, emit what we already have.\n if (this.running && this.sectionStart !== this.index) {\n if (this.state === State.Text ||\n (this.state === State.InSpecialTag && this.sequenceIndex === 0)) {\n this.cbs.ontext(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n else if (this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueNq) {\n this.cbs.onattribdata(this.sectionStart, this.index);\n this.sectionStart = this.index;\n }\n }\n };\n Tokenizer.prototype.shouldContinue = function () {\n return this.index < this.buffer.length + this.offset && this.running;\n };\n /**\n * Iterates through the buffer, calling the function corresponding to the current state.\n *\n * States that are more likely to be hit are higher up, as a performance improvement.\n */\n Tokenizer.prototype.parse = function () {\n while (this.shouldContinue()) {\n var c = this.buffer.charCodeAt(this.index - this.offset);\n switch (this.state) {\n case State.Text: {\n this.stateText(c);\n break;\n }\n case State.SpecialStartSequence: {\n this.stateSpecialStartSequence(c);\n break;\n }\n case State.InSpecialTag: {\n this.stateInSpecialTag(c);\n break;\n }\n case State.CDATASequence: {\n this.stateCDATASequence(c);\n break;\n }\n case State.InAttributeValueDq: {\n this.stateInAttributeValueDoubleQuotes(c);\n break;\n }\n case State.InAttributeName: {\n this.stateInAttributeName(c);\n break;\n }\n case State.InCommentLike: {\n this.stateInCommentLike(c);\n break;\n }\n case State.InSpecialComment: {\n this.stateInSpecialComment(c);\n break;\n }\n case State.BeforeAttributeName: {\n this.stateBeforeAttributeName(c);\n break;\n }\n case State.InTagName: {\n this.stateInTagName(c);\n break;\n }\n case State.InClosingTagName: {\n this.stateInClosingTagName(c);\n break;\n }\n case State.BeforeTagName: {\n this.stateBeforeTagName(c);\n break;\n }\n case State.AfterAttributeName: {\n this.stateAfterAttributeName(c);\n break;\n }\n case State.InAttributeValueSq: {\n this.stateInAttributeValueSingleQuotes(c);\n break;\n }\n case State.BeforeAttributeValue: {\n this.stateBeforeAttributeValue(c);\n break;\n }\n case State.BeforeClosingTagName: {\n this.stateBeforeClosingTagName(c);\n break;\n }\n case State.AfterClosingTagName: {\n this.stateAfterClosingTagName(c);\n break;\n }\n case State.BeforeSpecialS: {\n this.stateBeforeSpecialS(c);\n break;\n }\n case State.InAttributeValueNq: {\n this.stateInAttributeValueNoQuotes(c);\n break;\n }\n case State.InSelfClosingTag: {\n this.stateInSelfClosingTag(c);\n break;\n }\n case State.InDeclaration: {\n this.stateInDeclaration(c);\n break;\n }\n case State.BeforeDeclaration: {\n this.stateBeforeDeclaration(c);\n break;\n }\n case State.BeforeComment: {\n this.stateBeforeComment(c);\n break;\n }\n case State.InProcessingInstruction: {\n this.stateInProcessingInstruction(c);\n break;\n }\n case State.InNamedEntity: {\n this.stateInNamedEntity(c);\n break;\n }\n case State.BeforeEntity: {\n this.stateBeforeEntity(c);\n break;\n }\n case State.InHexEntity: {\n this.stateInHexEntity(c);\n break;\n }\n case State.InNumericEntity: {\n this.stateInNumericEntity(c);\n break;\n }\n default: {\n // `this._state === State.BeforeNumericEntity`\n this.stateBeforeNumericEntity(c);\n }\n }\n this.index++;\n }\n this.cleanup();\n };\n Tokenizer.prototype.finish = function () {\n if (this.state === State.InNamedEntity) {\n this.emitNamedEntity();\n }\n // If there is remaining data, emit it in a reasonable way\n if (this.sectionStart < this.index) {\n this.handleTrailingData();\n }\n this.cbs.onend();\n };\n /** Handle any trailing data. */\n Tokenizer.prototype.handleTrailingData = function () {\n var endIndex = this.buffer.length + this.offset;\n if (this.state === State.InCommentLike) {\n if (this.currentSequence === Sequences.CdataEnd) {\n this.cbs.oncdata(this.sectionStart, endIndex, 0);\n }\n else {\n this.cbs.oncomment(this.sectionStart, endIndex, 0);\n }\n }\n else if (this.state === State.InNumericEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InHexEntity &&\n this.allowLegacyEntity()) {\n this.emitNumericEntity(false);\n // All trailing data will have been consumed\n }\n else if (this.state === State.InTagName ||\n this.state === State.BeforeAttributeName ||\n this.state === State.BeforeAttributeValue ||\n this.state === State.AfterAttributeName ||\n this.state === State.InAttributeName ||\n this.state === State.InAttributeValueSq ||\n this.state === State.InAttributeValueDq ||\n this.state === State.InAttributeValueNq ||\n this.state === State.InClosingTagName) {\n /*\n * If we are currently in an opening or closing tag, us not calling the\n * respective callback signals that the tag should be ignored.\n */\n }\n else {\n this.cbs.ontext(this.sectionStart, endIndex);\n }\n };\n Tokenizer.prototype.emitPartial = function (start, endIndex) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribdata(start, endIndex);\n }\n else {\n this.cbs.ontext(start, endIndex);\n }\n };\n Tokenizer.prototype.emitCodePoint = function (cp) {\n if (this.baseState !== State.Text &&\n this.baseState !== State.InSpecialTag) {\n this.cbs.onattribentity(cp);\n }\n else {\n this.cbs.ontextentity(cp);\n }\n };\n return Tokenizer;\n}());\nexports.default = Tokenizer;\n//# sourceMappingURL=Tokenizer.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, 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 });\nexports.DomUtils = exports.parseFeed = exports.getFeed = exports.ElementType = exports.Tokenizer = exports.createDomStream = exports.parseDOM = exports.parseDocument = exports.DefaultHandler = exports.DomHandler = exports.Parser = void 0;\nvar Parser_js_1 = require(\"./Parser.js\");\nvar Parser_js_2 = require(\"./Parser.js\");\nObject.defineProperty(exports, \"Parser\", { enumerable: true, get: function () { return Parser_js_2.Parser; } });\nvar domhandler_1 = require(\"domhandler\");\nvar domhandler_2 = require(\"domhandler\");\nObject.defineProperty(exports, \"DomHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Old name for DomHandler\nObject.defineProperty(exports, \"DefaultHandler\", { enumerable: true, get: function () { return domhandler_2.DomHandler; } });\n// Helper methods\n/**\n * Parses the data, returns the resulting document.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n */\nfunction parseDocument(data, options) {\n var handler = new domhandler_1.DomHandler(undefined, options);\n new Parser_js_1.Parser(handler, options).end(data);\n return handler.root;\n}\nexports.parseDocument = parseDocument;\n/**\n * Parses data, returns an array of the root nodes.\n *\n * Note that the root nodes still have a `Document` node as their parent.\n * Use `parseDocument` to get the `Document` node instead.\n *\n * @param data The data that should be parsed.\n * @param options Optional options for the parser and DOM builder.\n * @deprecated Use `parseDocument` instead.\n */\nfunction parseDOM(data, options) {\n return parseDocument(data, options).children;\n}\nexports.parseDOM = parseDOM;\n/**\n * Creates a parser instance, with an attached DOM handler.\n *\n * @param callback A callback that will be called once parsing has been completed.\n * @param options Optional options for the parser and DOM builder.\n * @param elementCallback An optional callback that will be called every time a tag has been completed inside of the DOM.\n */\nfunction createDomStream(callback, options, elementCallback) {\n var handler = new domhandler_1.DomHandler(callback, options, elementCallback);\n return new Parser_js_1.Parser(handler, options);\n}\nexports.createDomStream = createDomStream;\nvar Tokenizer_js_1 = require(\"./Tokenizer.js\");\nObject.defineProperty(exports, \"Tokenizer\", { enumerable: true, get: function () { return __importDefault(Tokenizer_js_1).default; } });\n/*\n * All of the following exports exist for backwards-compatibility.\n * They should probably be removed eventually.\n */\nexports.ElementType = __importStar(require(\"domelementtype\"));\nvar domutils_1 = require(\"domutils\");\nvar domutils_2 = require(\"domutils\");\nObject.defineProperty(exports, \"getFeed\", { enumerable: true, get: function () { return domutils_2.getFeed; } });\nvar parseFeedDefaultOptions = { xmlMode: true };\n/**\n * Parse a feed.\n *\n * @param feed The feed that should be parsed, as a string.\n * @param options Optionally, options for parsing. When using this, you should set `xmlMode` to `true`.\n */\nfunction parseFeed(feed, options) {\n if (options === void 0) { options = parseFeedDefaultOptions; }\n return (0, domutils_1.getFeed)(parseDOM(feed, options));\n}\nexports.parseFeed = parseFeed;\nexports.DomUtils = __importStar(require(\"domutils\"));\n//# sourceMappingURL=index.js.map","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, 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 });\nexports.decodeXML = exports.decodeHTMLStrict = exports.decodeHTMLAttribute = exports.decodeHTML = exports.determineBranch = exports.EntityDecoder = exports.DecodingMode = exports.BinTrieFlags = exports.fromCodePoint = exports.replaceCodePoint = exports.decodeCodePoint = exports.xmlDecodeTree = exports.htmlDecodeTree = void 0;\nvar decode_data_html_js_1 = __importDefault(require(\"./generated/decode-data-html.js\"));\nexports.htmlDecodeTree = decode_data_html_js_1.default;\nvar decode_data_xml_js_1 = __importDefault(require(\"./generated/decode-data-xml.js\"));\nexports.xmlDecodeTree = decode_data_xml_js_1.default;\nvar decode_codepoint_js_1 = __importStar(require(\"./decode_codepoint.js\"));\nexports.decodeCodePoint = decode_codepoint_js_1.default;\nvar decode_codepoint_js_2 = require(\"./decode_codepoint.js\");\nObject.defineProperty(exports, \"replaceCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.replaceCodePoint; } });\nObject.defineProperty(exports, \"fromCodePoint\", { enumerable: true, get: function () { return decode_codepoint_js_2.fromCodePoint; } });\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"NUM\"] = 35] = \"NUM\";\n CharCodes[CharCodes[\"SEMI\"] = 59] = \"SEMI\";\n CharCodes[CharCodes[\"EQUALS\"] = 61] = \"EQUALS\";\n CharCodes[CharCodes[\"ZERO\"] = 48] = \"ZERO\";\n CharCodes[CharCodes[\"NINE\"] = 57] = \"NINE\";\n CharCodes[CharCodes[\"LOWER_A\"] = 97] = \"LOWER_A\";\n CharCodes[CharCodes[\"LOWER_F\"] = 102] = \"LOWER_F\";\n CharCodes[CharCodes[\"LOWER_X\"] = 120] = \"LOWER_X\";\n CharCodes[CharCodes[\"LOWER_Z\"] = 122] = \"LOWER_Z\";\n CharCodes[CharCodes[\"UPPER_A\"] = 65] = \"UPPER_A\";\n CharCodes[CharCodes[\"UPPER_F\"] = 70] = \"UPPER_F\";\n CharCodes[CharCodes[\"UPPER_Z\"] = 90] = \"UPPER_Z\";\n})(CharCodes || (CharCodes = {}));\n/** Bit that needs to be set to convert an upper case ASCII character to lower case */\nvar TO_LOWER_BIT = 32;\nvar BinTrieFlags;\n(function (BinTrieFlags) {\n BinTrieFlags[BinTrieFlags[\"VALUE_LENGTH\"] = 49152] = \"VALUE_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"BRANCH_LENGTH\"] = 16256] = \"BRANCH_LENGTH\";\n BinTrieFlags[BinTrieFlags[\"JUMP_TABLE\"] = 127] = \"JUMP_TABLE\";\n})(BinTrieFlags = exports.BinTrieFlags || (exports.BinTrieFlags = {}));\nfunction isNumber(code) {\n return code >= CharCodes.ZERO && code <= CharCodes.NINE;\n}\nfunction isHexadecimalCharacter(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_F) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_F));\n}\nfunction isAsciiAlphaNumeric(code) {\n return ((code >= CharCodes.UPPER_A && code <= CharCodes.UPPER_Z) ||\n (code >= CharCodes.LOWER_A && code <= CharCodes.LOWER_Z) ||\n isNumber(code));\n}\n/**\n * Checks if the given character is a valid end character for an entity in an attribute.\n *\n * Attribute values that aren't terminated properly aren't parsed, and shouldn't lead to a parser error.\n * See the example in https://html.spec.whatwg.org/multipage/parsing.html#named-character-reference-state\n */\nfunction isEntityInAttributeInvalidEnd(code) {\n return code === CharCodes.EQUALS || isAsciiAlphaNumeric(code);\n}\nvar EntityDecoderState;\n(function (EntityDecoderState) {\n EntityDecoderState[EntityDecoderState[\"EntityStart\"] = 0] = \"EntityStart\";\n EntityDecoderState[EntityDecoderState[\"NumericStart\"] = 1] = \"NumericStart\";\n EntityDecoderState[EntityDecoderState[\"NumericDecimal\"] = 2] = \"NumericDecimal\";\n EntityDecoderState[EntityDecoderState[\"NumericHex\"] = 3] = \"NumericHex\";\n EntityDecoderState[EntityDecoderState[\"NamedEntity\"] = 4] = \"NamedEntity\";\n})(EntityDecoderState || (EntityDecoderState = {}));\nvar DecodingMode;\n(function (DecodingMode) {\n /** Entities in text nodes that can end with any character. */\n DecodingMode[DecodingMode[\"Legacy\"] = 0] = \"Legacy\";\n /** Only allow entities terminated with a semicolon. */\n DecodingMode[DecodingMode[\"Strict\"] = 1] = \"Strict\";\n /** Entities in attributes have limitations on ending characters. */\n DecodingMode[DecodingMode[\"Attribute\"] = 2] = \"Attribute\";\n})(DecodingMode = exports.DecodingMode || (exports.DecodingMode = {}));\n/**\n * Token decoder with support of writing partial entities.\n */\nvar EntityDecoder = /** @class */ (function () {\n function EntityDecoder(\n /** The tree used to decode entities. */\n decodeTree, \n /**\n * The function that is called when a codepoint is decoded.\n *\n * For multi-byte named entities, this will be called multiple times,\n * with the second codepoint, and the same `consumed` value.\n *\n * @param codepoint The decoded codepoint.\n * @param consumed The number of bytes consumed by the decoder.\n */\n emitCodePoint, \n /** An object that is used to produce errors. */\n errors) {\n this.decodeTree = decodeTree;\n this.emitCodePoint = emitCodePoint;\n this.errors = errors;\n /** The current state of the decoder. */\n this.state = EntityDecoderState.EntityStart;\n /** Characters that were consumed while parsing an entity. */\n this.consumed = 1;\n /**\n * The result of the entity.\n *\n * Either the result index of a numeric entity, or the codepoint of a\n * numeric entity.\n */\n this.result = 0;\n /** The current index in the decode tree. */\n this.treeIndex = 0;\n /** The number of characters that were consumed in excess. */\n this.excess = 1;\n /** The mode in which the decoder is operating. */\n this.decodeMode = DecodingMode.Strict;\n }\n /** Resets the instance to make it reusable. */\n EntityDecoder.prototype.startEntity = function (decodeMode) {\n this.decodeMode = decodeMode;\n this.state = EntityDecoderState.EntityStart;\n this.result = 0;\n this.treeIndex = 0;\n this.excess = 1;\n this.consumed = 1;\n };\n /**\n * Write an entity to the decoder. This can be called multiple times with partial entities.\n * If the entity is incomplete, the decoder will return -1.\n *\n * Mirrors the implementation of `getDecoder`, but with the ability to stop decoding if the\n * entity is incomplete, and resume when the next string is written.\n *\n * @param string The string containing the entity (or a continuation of the entity).\n * @param offset The offset at which the entity begins. Should be 0 if this is not the first call.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.write = function (str, offset) {\n switch (this.state) {\n case EntityDecoderState.EntityStart: {\n if (str.charCodeAt(offset) === CharCodes.NUM) {\n this.state = EntityDecoderState.NumericStart;\n this.consumed += 1;\n return this.stateNumericStart(str, offset + 1);\n }\n this.state = EntityDecoderState.NamedEntity;\n return this.stateNamedEntity(str, offset);\n }\n case EntityDecoderState.NumericStart: {\n return this.stateNumericStart(str, offset);\n }\n case EntityDecoderState.NumericDecimal: {\n return this.stateNumericDecimal(str, offset);\n }\n case EntityDecoderState.NumericHex: {\n return this.stateNumericHex(str, offset);\n }\n case EntityDecoderState.NamedEntity: {\n return this.stateNamedEntity(str, offset);\n }\n }\n };\n /**\n * Switches between the numeric decimal and hexadecimal states.\n *\n * Equivalent to the `Numeric character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericStart = function (str, offset) {\n if (offset >= str.length) {\n return -1;\n }\n if ((str.charCodeAt(offset) | TO_LOWER_BIT) === CharCodes.LOWER_X) {\n this.state = EntityDecoderState.NumericHex;\n this.consumed += 1;\n return this.stateNumericHex(str, offset + 1);\n }\n this.state = EntityDecoderState.NumericDecimal;\n return this.stateNumericDecimal(str, offset);\n };\n EntityDecoder.prototype.addToNumericResult = function (str, start, end, base) {\n if (start !== end) {\n var digitCount = end - start;\n this.result =\n this.result * Math.pow(base, digitCount) +\n parseInt(str.substr(start, digitCount), base);\n this.consumed += digitCount;\n }\n };\n /**\n * Parses a hexadecimal numeric entity.\n *\n * Equivalent to the `Hexademical character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericHex = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char) || isHexadecimalCharacter(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 16);\n return this.emitNumericEntity(char, 3);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 16);\n return -1;\n };\n /**\n * Parses a decimal numeric entity.\n *\n * Equivalent to the `Decimal character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNumericDecimal = function (str, offset) {\n var startIdx = offset;\n while (offset < str.length) {\n var char = str.charCodeAt(offset);\n if (isNumber(char)) {\n offset += 1;\n }\n else {\n this.addToNumericResult(str, startIdx, offset, 10);\n return this.emitNumericEntity(char, 2);\n }\n }\n this.addToNumericResult(str, startIdx, offset, 10);\n return -1;\n };\n /**\n * Validate and emit a numeric entity.\n *\n * Implements the logic from the `Hexademical character reference start\n * state` and `Numeric character reference end state` in the HTML spec.\n *\n * @param lastCp The last code point of the entity. Used to see if the\n * entity was terminated with a semicolon.\n * @param expectedLength The minimum number of characters that should be\n * consumed. Used to validate that at least one digit\n * was consumed.\n * @returns The number of characters that were consumed.\n */\n EntityDecoder.prototype.emitNumericEntity = function (lastCp, expectedLength) {\n var _a;\n // Ensure we consumed at least one digit.\n if (this.consumed <= expectedLength) {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n // Figure out if this is a legit end of the entity\n if (lastCp === CharCodes.SEMI) {\n this.consumed += 1;\n }\n else if (this.decodeMode === DecodingMode.Strict) {\n return 0;\n }\n this.emitCodePoint((0, decode_codepoint_js_1.replaceCodePoint)(this.result), this.consumed);\n if (this.errors) {\n if (lastCp !== CharCodes.SEMI) {\n this.errors.missingSemicolonAfterCharacterReference();\n }\n this.errors.validateNumericCharacterReference(this.result);\n }\n return this.consumed;\n };\n /**\n * Parses a named entity.\n *\n * Equivalent to the `Named character reference state` in the HTML spec.\n *\n * @param str The string containing the entity (or a continuation of the entity).\n * @param offset The current offset.\n * @returns The number of characters that were consumed, or -1 if the entity is incomplete.\n */\n EntityDecoder.prototype.stateNamedEntity = function (str, offset) {\n var decodeTree = this.decodeTree;\n var current = decodeTree[this.treeIndex];\n // The mask is the number of bytes of the value, including the current byte.\n var valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n for (; offset < str.length; offset++, this.excess++) {\n var char = str.charCodeAt(offset);\n this.treeIndex = determineBranch(decodeTree, current, this.treeIndex + Math.max(1, valueLength), char);\n if (this.treeIndex < 0) {\n return this.result === 0 ||\n // If we are parsing an attribute\n (this.decodeMode === DecodingMode.Attribute &&\n // We shouldn't have consumed any characters after the entity,\n (valueLength === 0 ||\n // And there should be no invalid characters.\n isEntityInAttributeInvalidEnd(char)))\n ? 0\n : this.emitNotTerminatedNamedEntity();\n }\n current = decodeTree[this.treeIndex];\n valueLength = (current & BinTrieFlags.VALUE_LENGTH) >> 14;\n // If the branch is a value, store it and continue\n if (valueLength !== 0) {\n // If the entity is terminated by a semicolon, we are done.\n if (char === CharCodes.SEMI) {\n return this.emitNamedEntityData(this.treeIndex, valueLength, this.consumed + this.excess);\n }\n // If we encounter a non-terminated (legacy) entity while parsing strictly, then ignore it.\n if (this.decodeMode !== DecodingMode.Strict) {\n this.result = this.treeIndex;\n this.consumed += this.excess;\n this.excess = 0;\n }\n }\n }\n return -1;\n };\n /**\n * Emit a named entity that was not terminated with a semicolon.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNotTerminatedNamedEntity = function () {\n var _a;\n var _b = this, result = _b.result, decodeTree = _b.decodeTree;\n var valueLength = (decodeTree[result] & BinTrieFlags.VALUE_LENGTH) >> 14;\n this.emitNamedEntityData(result, valueLength, this.consumed);\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.missingSemicolonAfterCharacterReference();\n return this.consumed;\n };\n /**\n * Emit a named entity.\n *\n * @param result The index of the entity in the decode tree.\n * @param valueLength The number of bytes in the entity.\n * @param consumed The number of characters consumed.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.emitNamedEntityData = function (result, valueLength, consumed) {\n var decodeTree = this.decodeTree;\n this.emitCodePoint(valueLength === 1\n ? decodeTree[result] & ~BinTrieFlags.VALUE_LENGTH\n : decodeTree[result + 1], consumed);\n if (valueLength === 3) {\n // For multi-byte values, we need to emit the second byte.\n this.emitCodePoint(decodeTree[result + 2], consumed);\n }\n return consumed;\n };\n /**\n * Signal to the parser that the end of the input was reached.\n *\n * Remaining data will be emitted and relevant errors will be produced.\n *\n * @returns The number of characters consumed.\n */\n EntityDecoder.prototype.end = function () {\n var _a;\n switch (this.state) {\n case EntityDecoderState.NamedEntity: {\n // Emit a named entity if we have one.\n return this.result !== 0 &&\n (this.decodeMode !== DecodingMode.Attribute ||\n this.result === this.treeIndex)\n ? this.emitNotTerminatedNamedEntity()\n : 0;\n }\n // Otherwise, emit a numeric entity if we have one.\n case EntityDecoderState.NumericDecimal: {\n return this.emitNumericEntity(0, 2);\n }\n case EntityDecoderState.NumericHex: {\n return this.emitNumericEntity(0, 3);\n }\n case EntityDecoderState.NumericStart: {\n (_a = this.errors) === null || _a === void 0 ? void 0 : _a.absenceOfDigitsInNumericCharacterReference(this.consumed);\n return 0;\n }\n case EntityDecoderState.EntityStart: {\n // Return 0 if we have no entity.\n return 0;\n }\n }\n };\n return EntityDecoder;\n}());\nexports.EntityDecoder = EntityDecoder;\n/**\n * Creates a function that decodes entities in a string.\n *\n * @param decodeTree The decode tree.\n * @returns A function that decodes entities in a string.\n */\nfunction getDecoder(decodeTree) {\n var ret = \"\";\n var decoder = new EntityDecoder(decodeTree, function (str) { return (ret += (0, decode_codepoint_js_1.fromCodePoint)(str)); });\n return function decodeWithTrie(str, decodeMode) {\n var lastIndex = 0;\n var offset = 0;\n while ((offset = str.indexOf(\"&\", offset)) >= 0) {\n ret += str.slice(lastIndex, offset);\n decoder.startEntity(decodeMode);\n var len = decoder.write(str, \n // Skip the \"&\"\n offset + 1);\n if (len < 0) {\n lastIndex = offset + decoder.end();\n break;\n }\n lastIndex = offset + len;\n // If `len` is 0, skip the current `&` and continue.\n offset = len === 0 ? lastIndex + 1 : lastIndex;\n }\n var result = ret + str.slice(lastIndex);\n // Make sure we don't keep a reference to the final string.\n ret = \"\";\n return result;\n };\n}\n/**\n * Determines the branch of the current node that is taken given the current\n * character. This function is used to traverse the trie.\n *\n * @param decodeTree The trie.\n * @param current The current node.\n * @param nodeIdx The index right after the current node and its value.\n * @param char The current character.\n * @returns The index of the next node, or -1 if no branch is taken.\n */\nfunction determineBranch(decodeTree, current, nodeIdx, char) {\n var branchCount = (current & BinTrieFlags.BRANCH_LENGTH) >> 7;\n var jumpOffset = current & BinTrieFlags.JUMP_TABLE;\n // Case 1: Single branch encoded in jump offset\n if (branchCount === 0) {\n return jumpOffset !== 0 && char === jumpOffset ? nodeIdx : -1;\n }\n // Case 2: Multiple branches encoded in jump table\n if (jumpOffset) {\n var value = char - jumpOffset;\n return value < 0 || value >= branchCount\n ? -1\n : decodeTree[nodeIdx + value] - 1;\n }\n // Case 3: Multiple branches encoded in dictionary\n // Binary search for the character.\n var lo = nodeIdx;\n var hi = lo + branchCount - 1;\n while (lo <= hi) {\n var mid = (lo + hi) >>> 1;\n var midVal = decodeTree[mid];\n if (midVal < char) {\n lo = mid + 1;\n }\n else if (midVal > char) {\n hi = mid - 1;\n }\n else {\n return decodeTree[mid + branchCount];\n }\n }\n return -1;\n}\nexports.determineBranch = determineBranch;\nvar htmlDecoder = getDecoder(decode_data_html_js_1.default);\nvar xmlDecoder = getDecoder(decode_data_xml_js_1.default);\n/**\n * Decodes an HTML string.\n *\n * @param str The string to decode.\n * @param mode The decoding mode.\n * @returns The decoded string.\n */\nfunction decodeHTML(str, mode) {\n if (mode === void 0) { mode = DecodingMode.Legacy; }\n return htmlDecoder(str, mode);\n}\nexports.decodeHTML = decodeHTML;\n/**\n * Decodes an HTML string in an attribute.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLAttribute(str) {\n return htmlDecoder(str, DecodingMode.Attribute);\n}\nexports.decodeHTMLAttribute = decodeHTMLAttribute;\n/**\n * Decodes an HTML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeHTMLStrict(str) {\n return htmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeHTMLStrict = decodeHTMLStrict;\n/**\n * Decodes an XML string, requiring all entities to be terminated by a semicolon.\n *\n * @param str The string to decode.\n * @returns The decoded string.\n */\nfunction decodeXML(str) {\n return xmlDecoder(str, DecodingMode.Strict);\n}\nexports.decodeXML = decodeXML;\n//# sourceMappingURL=decode.js.map","\"use strict\";\n// Adapted from https://github.com/mathiasbynens/he/blob/36afe179392226cf1b6ccdb16ebbb7a5a844d93a/src/he.js#L106-L134\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.replaceCodePoint = exports.fromCodePoint = void 0;\nvar decodeMap = new Map([\n [0, 65533],\n // C1 Unicode control character reference replacements\n [128, 8364],\n [130, 8218],\n [131, 402],\n [132, 8222],\n [133, 8230],\n [134, 8224],\n [135, 8225],\n [136, 710],\n [137, 8240],\n [138, 352],\n [139, 8249],\n [140, 338],\n [142, 381],\n [145, 8216],\n [146, 8217],\n [147, 8220],\n [148, 8221],\n [149, 8226],\n [150, 8211],\n [151, 8212],\n [152, 732],\n [153, 8482],\n [154, 353],\n [155, 8250],\n [156, 339],\n [158, 382],\n [159, 376],\n]);\n/**\n * Polyfill for `String.fromCodePoint`. It is used to create a string from a Unicode code point.\n */\nexports.fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition, node/no-unsupported-features/es-builtins\n(_a = String.fromCodePoint) !== null && _a !== void 0 ? _a : function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n};\n/**\n * Replace the given code point with a replacement character if it is a\n * surrogate or is outside the valid range. Otherwise return the code\n * point unchanged.\n */\nfunction replaceCodePoint(codePoint) {\n var _a;\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return 0xfffd;\n }\n return (_a = decodeMap.get(codePoint)) !== null && _a !== void 0 ? _a : codePoint;\n}\nexports.replaceCodePoint = replaceCodePoint;\n/**\n * Replace the code point if relevant, then convert it to a string.\n *\n * @deprecated Use `fromCodePoint(replaceCodePoint(codePoint))` instead.\n * @param codePoint The code point to decode.\n * @returns The decoded code point.\n */\nfunction decodeCodePoint(codePoint) {\n return (0, exports.fromCodePoint)(replaceCodePoint(codePoint));\n}\nexports.default = decodeCodePoint;\n//# sourceMappingURL=decode_codepoint.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u1d41<\\xd5\\u0131\\u028a\\u049d\\u057b\\u05d0\\u0675\\u06de\\u07a2\\u07d6\\u080f\\u0a4a\\u0a91\\u0da1\\u0e6d\\u0f09\\u0f26\\u10ca\\u1228\\u12e1\\u1415\\u149d\\u14c3\\u14df\\u1525\\0\\0\\0\\0\\0\\0\\u156b\\u16cd\\u198d\\u1c12\\u1ddd\\u1f7e\\u2060\\u21b0\\u228d\\u23c0\\u23fb\\u2442\\u2824\\u2912\\u2d08\\u2e48\\u2fce\\u3016\\u32ba\\u3639\\u37ac\\u38fe\\u3a28\\u3a71\\u3ae0\\u3b2e\\u0800EMabcfglmnoprstu\\\\bfms\\x7f\\x84\\x8b\\x90\\x95\\x98\\xa6\\xb3\\xb9\\xc8\\xcflig\\u803b\\xc6\\u40c6P\\u803b&\\u4026cute\\u803b\\xc1\\u40c1reve;\\u4102\\u0100iyx}rc\\u803b\\xc2\\u40c2;\\u4410r;\\uc000\\ud835\\udd04rave\\u803b\\xc0\\u40c0pha;\\u4391acr;\\u4100d;\\u6a53\\u0100gp\\x9d\\xa1on;\\u4104f;\\uc000\\ud835\\udd38plyFunction;\\u6061ing\\u803b\\xc5\\u40c5\\u0100cs\\xbe\\xc3r;\\uc000\\ud835\\udc9cign;\\u6254ilde\\u803b\\xc3\\u40c3ml\\u803b\\xc4\\u40c4\\u0400aceforsu\\xe5\\xfb\\xfe\\u0117\\u011c\\u0122\\u0127\\u012a\\u0100cr\\xea\\xf2kslash;\\u6216\\u0176\\xf6\\xf8;\\u6ae7ed;\\u6306y;\\u4411\\u0180crt\\u0105\\u010b\\u0114ause;\\u6235noullis;\\u612ca;\\u4392r;\\uc000\\ud835\\udd05pf;\\uc000\\ud835\\udd39eve;\\u42d8c\\xf2\\u0113mpeq;\\u624e\\u0700HOacdefhilorsu\\u014d\\u0151\\u0156\\u0180\\u019e\\u01a2\\u01b5\\u01b7\\u01ba\\u01dc\\u0215\\u0273\\u0278\\u027ecy;\\u4427PY\\u803b\\xa9\\u40a9\\u0180cpy\\u015d\\u0162\\u017aute;\\u4106\\u0100;i\\u0167\\u0168\\u62d2talDifferentialD;\\u6145leys;\\u612d\\u0200aeio\\u0189\\u018e\\u0194\\u0198ron;\\u410cdil\\u803b\\xc7\\u40c7rc;\\u4108nint;\\u6230ot;\\u410a\\u0100dn\\u01a7\\u01adilla;\\u40b8terDot;\\u40b7\\xf2\\u017fi;\\u43a7rcle\\u0200DMPT\\u01c7\\u01cb\\u01d1\\u01d6ot;\\u6299inus;\\u6296lus;\\u6295imes;\\u6297o\\u0100cs\\u01e2\\u01f8kwiseContourIntegral;\\u6232eCurly\\u0100DQ\\u0203\\u020foubleQuote;\\u601duote;\\u6019\\u0200lnpu\\u021e\\u0228\\u0247\\u0255on\\u0100;e\\u0225\\u0226\\u6237;\\u6a74\\u0180git\\u022f\\u0236\\u023aruent;\\u6261nt;\\u622fourIntegral;\\u622e\\u0100fr\\u024c\\u024e;\\u6102oduct;\\u6210nterClockwiseContourIntegral;\\u6233oss;\\u6a2fcr;\\uc000\\ud835\\udc9ep\\u0100;C\\u0284\\u0285\\u62d3ap;\\u624d\\u0580DJSZacefios\\u02a0\\u02ac\\u02b0\\u02b4\\u02b8\\u02cb\\u02d7\\u02e1\\u02e6\\u0333\\u048d\\u0100;o\\u0179\\u02a5trahd;\\u6911cy;\\u4402cy;\\u4405cy;\\u440f\\u0180grs\\u02bf\\u02c4\\u02c7ger;\\u6021r;\\u61a1hv;\\u6ae4\\u0100ay\\u02d0\\u02d5ron;\\u410e;\\u4414l\\u0100;t\\u02dd\\u02de\\u6207a;\\u4394r;\\uc000\\ud835\\udd07\\u0100af\\u02eb\\u0327\\u0100cm\\u02f0\\u0322ritical\\u0200ADGT\\u0300\\u0306\\u0316\\u031ccute;\\u40b4o\\u0174\\u030b\\u030d;\\u42d9bleAcute;\\u42ddrave;\\u4060ilde;\\u42dcond;\\u62c4ferentialD;\\u6146\\u0470\\u033d\\0\\0\\0\\u0342\\u0354\\0\\u0405f;\\uc000\\ud835\\udd3b\\u0180;DE\\u0348\\u0349\\u034d\\u40a8ot;\\u60dcqual;\\u6250ble\\u0300CDLRUV\\u0363\\u0372\\u0382\\u03cf\\u03e2\\u03f8ontourIntegra\\xec\\u0239o\\u0274\\u0379\\0\\0\\u037b\\xbb\\u0349nArrow;\\u61d3\\u0100eo\\u0387\\u03a4ft\\u0180ART\\u0390\\u0396\\u03a1rrow;\\u61d0ightArrow;\\u61d4e\\xe5\\u02cang\\u0100LR\\u03ab\\u03c4eft\\u0100AR\\u03b3\\u03b9rrow;\\u67f8ightArrow;\\u67faightArrow;\\u67f9ight\\u0100AT\\u03d8\\u03derrow;\\u61d2ee;\\u62a8p\\u0241\\u03e9\\0\\0\\u03efrrow;\\u61d1ownArrow;\\u61d5erticalBar;\\u6225n\\u0300ABLRTa\\u0412\\u042a\\u0430\\u045e\\u047f\\u037crrow\\u0180;BU\\u041d\\u041e\\u0422\\u6193ar;\\u6913pArrow;\\u61f5reve;\\u4311eft\\u02d2\\u043a\\0\\u0446\\0\\u0450ightVector;\\u6950eeVector;\\u695eector\\u0100;B\\u0459\\u045a\\u61bdar;\\u6956ight\\u01d4\\u0467\\0\\u0471eeVector;\\u695fector\\u0100;B\\u047a\\u047b\\u61c1ar;\\u6957ee\\u0100;A\\u0486\\u0487\\u62a4rrow;\\u61a7\\u0100ct\\u0492\\u0497r;\\uc000\\ud835\\udc9frok;\\u4110\\u0800NTacdfglmopqstux\\u04bd\\u04c0\\u04c4\\u04cb\\u04de\\u04e2\\u04e7\\u04ee\\u04f5\\u0521\\u052f\\u0536\\u0552\\u055d\\u0560\\u0565G;\\u414aH\\u803b\\xd0\\u40d0cute\\u803b\\xc9\\u40c9\\u0180aiy\\u04d2\\u04d7\\u04dcron;\\u411arc\\u803b\\xca\\u40ca;\\u442dot;\\u4116r;\\uc000\\ud835\\udd08rave\\u803b\\xc8\\u40c8ement;\\u6208\\u0100ap\\u04fa\\u04fecr;\\u4112ty\\u0253\\u0506\\0\\0\\u0512mallSquare;\\u65fberySmallSquare;\\u65ab\\u0100gp\\u0526\\u052aon;\\u4118f;\\uc000\\ud835\\udd3csilon;\\u4395u\\u0100ai\\u053c\\u0549l\\u0100;T\\u0542\\u0543\\u6a75ilde;\\u6242librium;\\u61cc\\u0100ci\\u0557\\u055ar;\\u6130m;\\u6a73a;\\u4397ml\\u803b\\xcb\\u40cb\\u0100ip\\u056a\\u056fsts;\\u6203onentialE;\\u6147\\u0280cfios\\u0585\\u0588\\u058d\\u05b2\\u05ccy;\\u4424r;\\uc000\\ud835\\udd09lled\\u0253\\u0597\\0\\0\\u05a3mallSquare;\\u65fcerySmallSquare;\\u65aa\\u0370\\u05ba\\0\\u05bf\\0\\0\\u05c4f;\\uc000\\ud835\\udd3dAll;\\u6200riertrf;\\u6131c\\xf2\\u05cb\\u0600JTabcdfgorst\\u05e8\\u05ec\\u05ef\\u05fa\\u0600\\u0612\\u0616\\u061b\\u061d\\u0623\\u066c\\u0672cy;\\u4403\\u803b>\\u403emma\\u0100;d\\u05f7\\u05f8\\u4393;\\u43dcreve;\\u411e\\u0180eiy\\u0607\\u060c\\u0610dil;\\u4122rc;\\u411c;\\u4413ot;\\u4120r;\\uc000\\ud835\\udd0a;\\u62d9pf;\\uc000\\ud835\\udd3eeater\\u0300EFGLST\\u0635\\u0644\\u064e\\u0656\\u065b\\u0666qual\\u0100;L\\u063e\\u063f\\u6265ess;\\u62dbullEqual;\\u6267reater;\\u6aa2ess;\\u6277lantEqual;\\u6a7eilde;\\u6273cr;\\uc000\\ud835\\udca2;\\u626b\\u0400Aacfiosu\\u0685\\u068b\\u0696\\u069b\\u069e\\u06aa\\u06be\\u06caRDcy;\\u442a\\u0100ct\\u0690\\u0694ek;\\u42c7;\\u405eirc;\\u4124r;\\u610clbertSpace;\\u610b\\u01f0\\u06af\\0\\u06b2f;\\u610dizontalLine;\\u6500\\u0100ct\\u06c3\\u06c5\\xf2\\u06a9rok;\\u4126mp\\u0144\\u06d0\\u06d8ownHum\\xf0\\u012fqual;\\u624f\\u0700EJOacdfgmnostu\\u06fa\\u06fe\\u0703\\u0707\\u070e\\u071a\\u071e\\u0721\\u0728\\u0744\\u0778\\u078b\\u078f\\u0795cy;\\u4415lig;\\u4132cy;\\u4401cute\\u803b\\xcd\\u40cd\\u0100iy\\u0713\\u0718rc\\u803b\\xce\\u40ce;\\u4418ot;\\u4130r;\\u6111rave\\u803b\\xcc\\u40cc\\u0180;ap\\u0720\\u072f\\u073f\\u0100cg\\u0734\\u0737r;\\u412ainaryI;\\u6148lie\\xf3\\u03dd\\u01f4\\u0749\\0\\u0762\\u0100;e\\u074d\\u074e\\u622c\\u0100gr\\u0753\\u0758ral;\\u622bsection;\\u62c2isible\\u0100CT\\u076c\\u0772omma;\\u6063imes;\\u6062\\u0180gpt\\u077f\\u0783\\u0788on;\\u412ef;\\uc000\\ud835\\udd40a;\\u4399cr;\\u6110ilde;\\u4128\\u01eb\\u079a\\0\\u079ecy;\\u4406l\\u803b\\xcf\\u40cf\\u0280cfosu\\u07ac\\u07b7\\u07bc\\u07c2\\u07d0\\u0100iy\\u07b1\\u07b5rc;\\u4134;\\u4419r;\\uc000\\ud835\\udd0dpf;\\uc000\\ud835\\udd41\\u01e3\\u07c7\\0\\u07ccr;\\uc000\\ud835\\udca5rcy;\\u4408kcy;\\u4404\\u0380HJacfos\\u07e4\\u07e8\\u07ec\\u07f1\\u07fd\\u0802\\u0808cy;\\u4425cy;\\u440cppa;\\u439a\\u0100ey\\u07f6\\u07fbdil;\\u4136;\\u441ar;\\uc000\\ud835\\udd0epf;\\uc000\\ud835\\udd42cr;\\uc000\\ud835\\udca6\\u0580JTaceflmost\\u0825\\u0829\\u082c\\u0850\\u0863\\u09b3\\u09b8\\u09c7\\u09cd\\u0a37\\u0a47cy;\\u4409\\u803b<\\u403c\\u0280cmnpr\\u0837\\u083c\\u0841\\u0844\\u084dute;\\u4139bda;\\u439bg;\\u67ealacetrf;\\u6112r;\\u619e\\u0180aey\\u0857\\u085c\\u0861ron;\\u413ddil;\\u413b;\\u441b\\u0100fs\\u0868\\u0970t\\u0500ACDFRTUVar\\u087e\\u08a9\\u08b1\\u08e0\\u08e6\\u08fc\\u092f\\u095b\\u0390\\u096a\\u0100nr\\u0883\\u088fgleBracket;\\u67e8row\\u0180;BR\\u0899\\u089a\\u089e\\u6190ar;\\u61e4ightArrow;\\u61c6eiling;\\u6308o\\u01f5\\u08b7\\0\\u08c3bleBracket;\\u67e6n\\u01d4\\u08c8\\0\\u08d2eeVector;\\u6961ector\\u0100;B\\u08db\\u08dc\\u61c3ar;\\u6959loor;\\u630aight\\u0100AV\\u08ef\\u08f5rrow;\\u6194ector;\\u694e\\u0100er\\u0901\\u0917e\\u0180;AV\\u0909\\u090a\\u0910\\u62a3rrow;\\u61a4ector;\\u695aiangle\\u0180;BE\\u0924\\u0925\\u0929\\u62b2ar;\\u69cfqual;\\u62b4p\\u0180DTV\\u0937\\u0942\\u094cownVector;\\u6951eeVector;\\u6960ector\\u0100;B\\u0956\\u0957\\u61bfar;\\u6958ector\\u0100;B\\u0965\\u0966\\u61bcar;\\u6952ight\\xe1\\u039cs\\u0300EFGLST\\u097e\\u098b\\u0995\\u099d\\u09a2\\u09adqualGreater;\\u62daullEqual;\\u6266reater;\\u6276ess;\\u6aa1lantEqual;\\u6a7dilde;\\u6272r;\\uc000\\ud835\\udd0f\\u0100;e\\u09bd\\u09be\\u62d8ftarrow;\\u61daidot;\\u413f\\u0180npw\\u09d4\\u0a16\\u0a1bg\\u0200LRlr\\u09de\\u09f7\\u0a02\\u0a10eft\\u0100AR\\u09e6\\u09ecrrow;\\u67f5ightArrow;\\u67f7ightArrow;\\u67f6eft\\u0100ar\\u03b3\\u0a0aight\\xe1\\u03bfight\\xe1\\u03caf;\\uc000\\ud835\\udd43er\\u0100LR\\u0a22\\u0a2ceftArrow;\\u6199ightArrow;\\u6198\\u0180cht\\u0a3e\\u0a40\\u0a42\\xf2\\u084c;\\u61b0rok;\\u4141;\\u626a\\u0400acefiosu\\u0a5a\\u0a5d\\u0a60\\u0a77\\u0a7c\\u0a85\\u0a8b\\u0a8ep;\\u6905y;\\u441c\\u0100dl\\u0a65\\u0a6fiumSpace;\\u605flintrf;\\u6133r;\\uc000\\ud835\\udd10nusPlus;\\u6213pf;\\uc000\\ud835\\udd44c\\xf2\\u0a76;\\u439c\\u0480Jacefostu\\u0aa3\\u0aa7\\u0aad\\u0ac0\\u0b14\\u0b19\\u0d91\\u0d97\\u0d9ecy;\\u440acute;\\u4143\\u0180aey\\u0ab4\\u0ab9\\u0aberon;\\u4147dil;\\u4145;\\u441d\\u0180gsw\\u0ac7\\u0af0\\u0b0eative\\u0180MTV\\u0ad3\\u0adf\\u0ae8ediumSpace;\\u600bhi\\u0100cn\\u0ae6\\u0ad8\\xeb\\u0ad9eryThi\\xee\\u0ad9ted\\u0100GL\\u0af8\\u0b06reaterGreate\\xf2\\u0673essLes\\xf3\\u0a48Line;\\u400ar;\\uc000\\ud835\\udd11\\u0200Bnpt\\u0b22\\u0b28\\u0b37\\u0b3areak;\\u6060BreakingSpace;\\u40a0f;\\u6115\\u0680;CDEGHLNPRSTV\\u0b55\\u0b56\\u0b6a\\u0b7c\\u0ba1\\u0beb\\u0c04\\u0c5e\\u0c84\\u0ca6\\u0cd8\\u0d61\\u0d85\\u6aec\\u0100ou\\u0b5b\\u0b64ngruent;\\u6262pCap;\\u626doubleVerticalBar;\\u6226\\u0180lqx\\u0b83\\u0b8a\\u0b9bement;\\u6209ual\\u0100;T\\u0b92\\u0b93\\u6260ilde;\\uc000\\u2242\\u0338ists;\\u6204reater\\u0380;EFGLST\\u0bb6\\u0bb7\\u0bbd\\u0bc9\\u0bd3\\u0bd8\\u0be5\\u626fqual;\\u6271ullEqual;\\uc000\\u2267\\u0338reater;\\uc000\\u226b\\u0338ess;\\u6279lantEqual;\\uc000\\u2a7e\\u0338ilde;\\u6275ump\\u0144\\u0bf2\\u0bfdownHump;\\uc000\\u224e\\u0338qual;\\uc000\\u224f\\u0338e\\u0100fs\\u0c0a\\u0c27tTriangle\\u0180;BE\\u0c1a\\u0c1b\\u0c21\\u62eaar;\\uc000\\u29cf\\u0338qual;\\u62ecs\\u0300;EGLST\\u0c35\\u0c36\\u0c3c\\u0c44\\u0c4b\\u0c58\\u626equal;\\u6270reater;\\u6278ess;\\uc000\\u226a\\u0338lantEqual;\\uc000\\u2a7d\\u0338ilde;\\u6274ested\\u0100GL\\u0c68\\u0c79reaterGreater;\\uc000\\u2aa2\\u0338essLess;\\uc000\\u2aa1\\u0338recedes\\u0180;ES\\u0c92\\u0c93\\u0c9b\\u6280qual;\\uc000\\u2aaf\\u0338lantEqual;\\u62e0\\u0100ei\\u0cab\\u0cb9verseElement;\\u620cghtTriangle\\u0180;BE\\u0ccb\\u0ccc\\u0cd2\\u62ebar;\\uc000\\u29d0\\u0338qual;\\u62ed\\u0100qu\\u0cdd\\u0d0cuareSu\\u0100bp\\u0ce8\\u0cf9set\\u0100;E\\u0cf0\\u0cf3\\uc000\\u228f\\u0338qual;\\u62e2erset\\u0100;E\\u0d03\\u0d06\\uc000\\u2290\\u0338qual;\\u62e3\\u0180bcp\\u0d13\\u0d24\\u0d4eset\\u0100;E\\u0d1b\\u0d1e\\uc000\\u2282\\u20d2qual;\\u6288ceeds\\u0200;EST\\u0d32\\u0d33\\u0d3b\\u0d46\\u6281qual;\\uc000\\u2ab0\\u0338lantEqual;\\u62e1ilde;\\uc000\\u227f\\u0338erset\\u0100;E\\u0d58\\u0d5b\\uc000\\u2283\\u20d2qual;\\u6289ilde\\u0200;EFT\\u0d6e\\u0d6f\\u0d75\\u0d7f\\u6241qual;\\u6244ullEqual;\\u6247ilde;\\u6249erticalBar;\\u6224cr;\\uc000\\ud835\\udca9ilde\\u803b\\xd1\\u40d1;\\u439d\\u0700Eacdfgmoprstuv\\u0dbd\\u0dc2\\u0dc9\\u0dd5\\u0ddb\\u0de0\\u0de7\\u0dfc\\u0e02\\u0e20\\u0e22\\u0e32\\u0e3f\\u0e44lig;\\u4152cute\\u803b\\xd3\\u40d3\\u0100iy\\u0dce\\u0dd3rc\\u803b\\xd4\\u40d4;\\u441eblac;\\u4150r;\\uc000\\ud835\\udd12rave\\u803b\\xd2\\u40d2\\u0180aei\\u0dee\\u0df2\\u0df6cr;\\u414cga;\\u43a9cron;\\u439fpf;\\uc000\\ud835\\udd46enCurly\\u0100DQ\\u0e0e\\u0e1aoubleQuote;\\u601cuote;\\u6018;\\u6a54\\u0100cl\\u0e27\\u0e2cr;\\uc000\\ud835\\udcaaash\\u803b\\xd8\\u40d8i\\u016c\\u0e37\\u0e3cde\\u803b\\xd5\\u40d5es;\\u6a37ml\\u803b\\xd6\\u40d6er\\u0100BP\\u0e4b\\u0e60\\u0100ar\\u0e50\\u0e53r;\\u603eac\\u0100ek\\u0e5a\\u0e5c;\\u63deet;\\u63b4arenthesis;\\u63dc\\u0480acfhilors\\u0e7f\\u0e87\\u0e8a\\u0e8f\\u0e92\\u0e94\\u0e9d\\u0eb0\\u0efcrtialD;\\u6202y;\\u441fr;\\uc000\\ud835\\udd13i;\\u43a6;\\u43a0usMinus;\\u40b1\\u0100ip\\u0ea2\\u0eadncareplan\\xe5\\u069df;\\u6119\\u0200;eio\\u0eb9\\u0eba\\u0ee0\\u0ee4\\u6abbcedes\\u0200;EST\\u0ec8\\u0ec9\\u0ecf\\u0eda\\u627aqual;\\u6aaflantEqual;\\u627cilde;\\u627eme;\\u6033\\u0100dp\\u0ee9\\u0eeeuct;\\u620fortion\\u0100;a\\u0225\\u0ef9l;\\u621d\\u0100ci\\u0f01\\u0f06r;\\uc000\\ud835\\udcab;\\u43a8\\u0200Ufos\\u0f11\\u0f16\\u0f1b\\u0f1fOT\\u803b\\\"\\u4022r;\\uc000\\ud835\\udd14pf;\\u611acr;\\uc000\\ud835\\udcac\\u0600BEacefhiorsu\\u0f3e\\u0f43\\u0f47\\u0f60\\u0f73\\u0fa7\\u0faa\\u0fad\\u1096\\u10a9\\u10b4\\u10bearr;\\u6910G\\u803b\\xae\\u40ae\\u0180cnr\\u0f4e\\u0f53\\u0f56ute;\\u4154g;\\u67ebr\\u0100;t\\u0f5c\\u0f5d\\u61a0l;\\u6916\\u0180aey\\u0f67\\u0f6c\\u0f71ron;\\u4158dil;\\u4156;\\u4420\\u0100;v\\u0f78\\u0f79\\u611cerse\\u0100EU\\u0f82\\u0f99\\u0100lq\\u0f87\\u0f8eement;\\u620builibrium;\\u61cbpEquilibrium;\\u696fr\\xbb\\u0f79o;\\u43a1ght\\u0400ACDFTUVa\\u0fc1\\u0feb\\u0ff3\\u1022\\u1028\\u105b\\u1087\\u03d8\\u0100nr\\u0fc6\\u0fd2gleBracket;\\u67e9row\\u0180;BL\\u0fdc\\u0fdd\\u0fe1\\u6192ar;\\u61e5eftArrow;\\u61c4eiling;\\u6309o\\u01f5\\u0ff9\\0\\u1005bleBracket;\\u67e7n\\u01d4\\u100a\\0\\u1014eeVector;\\u695dector\\u0100;B\\u101d\\u101e\\u61c2ar;\\u6955loor;\\u630b\\u0100er\\u102d\\u1043e\\u0180;AV\\u1035\\u1036\\u103c\\u62a2rrow;\\u61a6ector;\\u695biangle\\u0180;BE\\u1050\\u1051\\u1055\\u62b3ar;\\u69d0qual;\\u62b5p\\u0180DTV\\u1063\\u106e\\u1078ownVector;\\u694feeVector;\\u695cector\\u0100;B\\u1082\\u1083\\u61bear;\\u6954ector\\u0100;B\\u1091\\u1092\\u61c0ar;\\u6953\\u0100pu\\u109b\\u109ef;\\u611dndImplies;\\u6970ightarrow;\\u61db\\u0100ch\\u10b9\\u10bcr;\\u611b;\\u61b1leDelayed;\\u69f4\\u0680HOacfhimoqstu\\u10e4\\u10f1\\u10f7\\u10fd\\u1119\\u111e\\u1151\\u1156\\u1161\\u1167\\u11b5\\u11bb\\u11bf\\u0100Cc\\u10e9\\u10eeHcy;\\u4429y;\\u4428FTcy;\\u442ccute;\\u415a\\u0280;aeiy\\u1108\\u1109\\u110e\\u1113\\u1117\\u6abcron;\\u4160dil;\\u415erc;\\u415c;\\u4421r;\\uc000\\ud835\\udd16ort\\u0200DLRU\\u112a\\u1134\\u113e\\u1149ownArrow\\xbb\\u041eeftArrow\\xbb\\u089aightArrow\\xbb\\u0fddpArrow;\\u6191gma;\\u43a3allCircle;\\u6218pf;\\uc000\\ud835\\udd4a\\u0272\\u116d\\0\\0\\u1170t;\\u621aare\\u0200;ISU\\u117b\\u117c\\u1189\\u11af\\u65a1ntersection;\\u6293u\\u0100bp\\u118f\\u119eset\\u0100;E\\u1197\\u1198\\u628fqual;\\u6291erset\\u0100;E\\u11a8\\u11a9\\u6290qual;\\u6292nion;\\u6294cr;\\uc000\\ud835\\udcaear;\\u62c6\\u0200bcmp\\u11c8\\u11db\\u1209\\u120b\\u0100;s\\u11cd\\u11ce\\u62d0et\\u0100;E\\u11cd\\u11d5qual;\\u6286\\u0100ch\\u11e0\\u1205eeds\\u0200;EST\\u11ed\\u11ee\\u11f4\\u11ff\\u627bqual;\\u6ab0lantEqual;\\u627dilde;\\u627fTh\\xe1\\u0f8c;\\u6211\\u0180;es\\u1212\\u1213\\u1223\\u62d1rset\\u0100;E\\u121c\\u121d\\u6283qual;\\u6287et\\xbb\\u1213\\u0580HRSacfhiors\\u123e\\u1244\\u1249\\u1255\\u125e\\u1271\\u1276\\u129f\\u12c2\\u12c8\\u12d1ORN\\u803b\\xde\\u40deADE;\\u6122\\u0100Hc\\u124e\\u1252cy;\\u440by;\\u4426\\u0100bu\\u125a\\u125c;\\u4009;\\u43a4\\u0180aey\\u1265\\u126a\\u126fron;\\u4164dil;\\u4162;\\u4422r;\\uc000\\ud835\\udd17\\u0100ei\\u127b\\u1289\\u01f2\\u1280\\0\\u1287efore;\\u6234a;\\u4398\\u0100cn\\u128e\\u1298kSpace;\\uc000\\u205f\\u200aSpace;\\u6009lde\\u0200;EFT\\u12ab\\u12ac\\u12b2\\u12bc\\u623cqual;\\u6243ullEqual;\\u6245ilde;\\u6248pf;\\uc000\\ud835\\udd4bipleDot;\\u60db\\u0100ct\\u12d6\\u12dbr;\\uc000\\ud835\\udcafrok;\\u4166\\u0ae1\\u12f7\\u130e\\u131a\\u1326\\0\\u132c\\u1331\\0\\0\\0\\0\\0\\u1338\\u133d\\u1377\\u1385\\0\\u13ff\\u1404\\u140a\\u1410\\u0100cr\\u12fb\\u1301ute\\u803b\\xda\\u40dar\\u0100;o\\u1307\\u1308\\u619fcir;\\u6949r\\u01e3\\u1313\\0\\u1316y;\\u440eve;\\u416c\\u0100iy\\u131e\\u1323rc\\u803b\\xdb\\u40db;\\u4423blac;\\u4170r;\\uc000\\ud835\\udd18rave\\u803b\\xd9\\u40d9acr;\\u416a\\u0100di\\u1341\\u1369er\\u0100BP\\u1348\\u135d\\u0100ar\\u134d\\u1350r;\\u405fac\\u0100ek\\u1357\\u1359;\\u63dfet;\\u63b5arenthesis;\\u63ddon\\u0100;P\\u1370\\u1371\\u62c3lus;\\u628e\\u0100gp\\u137b\\u137fon;\\u4172f;\\uc000\\ud835\\udd4c\\u0400ADETadps\\u1395\\u13ae\\u13b8\\u13c4\\u03e8\\u13d2\\u13d7\\u13f3rrow\\u0180;BD\\u1150\\u13a0\\u13a4ar;\\u6912ownArrow;\\u61c5ownArrow;\\u6195quilibrium;\\u696eee\\u0100;A\\u13cb\\u13cc\\u62a5rrow;\\u61a5own\\xe1\\u03f3er\\u0100LR\\u13de\\u13e8eftArrow;\\u6196ightArrow;\\u6197i\\u0100;l\\u13f9\\u13fa\\u43d2on;\\u43a5ing;\\u416ecr;\\uc000\\ud835\\udcb0ilde;\\u4168ml\\u803b\\xdc\\u40dc\\u0480Dbcdefosv\\u1427\\u142c\\u1430\\u1433\\u143e\\u1485\\u148a\\u1490\\u1496ash;\\u62abar;\\u6aeby;\\u4412ash\\u0100;l\\u143b\\u143c\\u62a9;\\u6ae6\\u0100er\\u1443\\u1445;\\u62c1\\u0180bty\\u144c\\u1450\\u147aar;\\u6016\\u0100;i\\u144f\\u1455cal\\u0200BLST\\u1461\\u1465\\u146a\\u1474ar;\\u6223ine;\\u407ceparator;\\u6758ilde;\\u6240ThinSpace;\\u600ar;\\uc000\\ud835\\udd19pf;\\uc000\\ud835\\udd4dcr;\\uc000\\ud835\\udcb1dash;\\u62aa\\u0280cefos\\u14a7\\u14ac\\u14b1\\u14b6\\u14bcirc;\\u4174dge;\\u62c0r;\\uc000\\ud835\\udd1apf;\\uc000\\ud835\\udd4ecr;\\uc000\\ud835\\udcb2\\u0200fios\\u14cb\\u14d0\\u14d2\\u14d8r;\\uc000\\ud835\\udd1b;\\u439epf;\\uc000\\ud835\\udd4fcr;\\uc000\\ud835\\udcb3\\u0480AIUacfosu\\u14f1\\u14f5\\u14f9\\u14fd\\u1504\\u150f\\u1514\\u151a\\u1520cy;\\u442fcy;\\u4407cy;\\u442ecute\\u803b\\xdd\\u40dd\\u0100iy\\u1509\\u150drc;\\u4176;\\u442br;\\uc000\\ud835\\udd1cpf;\\uc000\\ud835\\udd50cr;\\uc000\\ud835\\udcb4ml;\\u4178\\u0400Hacdefos\\u1535\\u1539\\u153f\\u154b\\u154f\\u155d\\u1560\\u1564cy;\\u4416cute;\\u4179\\u0100ay\\u1544\\u1549ron;\\u417d;\\u4417ot;\\u417b\\u01f2\\u1554\\0\\u155boWidt\\xe8\\u0ad9a;\\u4396r;\\u6128pf;\\u6124cr;\\uc000\\ud835\\udcb5\\u0be1\\u1583\\u158a\\u1590\\0\\u15b0\\u15b6\\u15bf\\0\\0\\0\\0\\u15c6\\u15db\\u15eb\\u165f\\u166d\\0\\u1695\\u169b\\u16b2\\u16b9\\0\\u16becute\\u803b\\xe1\\u40e1reve;\\u4103\\u0300;Ediuy\\u159c\\u159d\\u15a1\\u15a3\\u15a8\\u15ad\\u623e;\\uc000\\u223e\\u0333;\\u623frc\\u803b\\xe2\\u40e2te\\u80bb\\xb4\\u0306;\\u4430lig\\u803b\\xe6\\u40e6\\u0100;r\\xb2\\u15ba;\\uc000\\ud835\\udd1erave\\u803b\\xe0\\u40e0\\u0100ep\\u15ca\\u15d6\\u0100fp\\u15cf\\u15d4sym;\\u6135\\xe8\\u15d3ha;\\u43b1\\u0100ap\\u15dfc\\u0100cl\\u15e4\\u15e7r;\\u4101g;\\u6a3f\\u0264\\u15f0\\0\\0\\u160a\\u0280;adsv\\u15fa\\u15fb\\u15ff\\u1601\\u1607\\u6227nd;\\u6a55;\\u6a5clope;\\u6a58;\\u6a5a\\u0380;elmrsz\\u1618\\u1619\\u161b\\u161e\\u163f\\u164f\\u1659\\u6220;\\u69a4e\\xbb\\u1619sd\\u0100;a\\u1625\\u1626\\u6221\\u0461\\u1630\\u1632\\u1634\\u1636\\u1638\\u163a\\u163c\\u163e;\\u69a8;\\u69a9;\\u69aa;\\u69ab;\\u69ac;\\u69ad;\\u69ae;\\u69aft\\u0100;v\\u1645\\u1646\\u621fb\\u0100;d\\u164c\\u164d\\u62be;\\u699d\\u0100pt\\u1654\\u1657h;\\u6222\\xbb\\xb9arr;\\u637c\\u0100gp\\u1663\\u1667on;\\u4105f;\\uc000\\ud835\\udd52\\u0380;Eaeiop\\u12c1\\u167b\\u167d\\u1682\\u1684\\u1687\\u168a;\\u6a70cir;\\u6a6f;\\u624ad;\\u624bs;\\u4027rox\\u0100;e\\u12c1\\u1692\\xf1\\u1683ing\\u803b\\xe5\\u40e5\\u0180cty\\u16a1\\u16a6\\u16a8r;\\uc000\\ud835\\udcb6;\\u402amp\\u0100;e\\u12c1\\u16af\\xf1\\u0288ilde\\u803b\\xe3\\u40e3ml\\u803b\\xe4\\u40e4\\u0100ci\\u16c2\\u16c8onin\\xf4\\u0272nt;\\u6a11\\u0800Nabcdefiklnoprsu\\u16ed\\u16f1\\u1730\\u173c\\u1743\\u1748\\u1778\\u177d\\u17e0\\u17e6\\u1839\\u1850\\u170d\\u193d\\u1948\\u1970ot;\\u6aed\\u0100cr\\u16f6\\u171ek\\u0200ceps\\u1700\\u1705\\u170d\\u1713ong;\\u624cpsilon;\\u43f6rime;\\u6035im\\u0100;e\\u171a\\u171b\\u623dq;\\u62cd\\u0176\\u1722\\u1726ee;\\u62bded\\u0100;g\\u172c\\u172d\\u6305e\\xbb\\u172drk\\u0100;t\\u135c\\u1737brk;\\u63b6\\u0100oy\\u1701\\u1741;\\u4431quo;\\u601e\\u0280cmprt\\u1753\\u175b\\u1761\\u1764\\u1768aus\\u0100;e\\u010a\\u0109ptyv;\\u69b0s\\xe9\\u170cno\\xf5\\u0113\\u0180ahw\\u176f\\u1771\\u1773;\\u43b2;\\u6136een;\\u626cr;\\uc000\\ud835\\udd1fg\\u0380costuvw\\u178d\\u179d\\u17b3\\u17c1\\u17d5\\u17db\\u17de\\u0180aiu\\u1794\\u1796\\u179a\\xf0\\u0760rc;\\u65efp\\xbb\\u1371\\u0180dpt\\u17a4\\u17a8\\u17adot;\\u6a00lus;\\u6a01imes;\\u6a02\\u0271\\u17b9\\0\\0\\u17becup;\\u6a06ar;\\u6605riangle\\u0100du\\u17cd\\u17d2own;\\u65bdp;\\u65b3plus;\\u6a04e\\xe5\\u1444\\xe5\\u14adarow;\\u690d\\u0180ako\\u17ed\\u1826\\u1835\\u0100cn\\u17f2\\u1823k\\u0180lst\\u17fa\\u05ab\\u1802ozenge;\\u69ebriangle\\u0200;dlr\\u1812\\u1813\\u1818\\u181d\\u65b4own;\\u65beeft;\\u65c2ight;\\u65b8k;\\u6423\\u01b1\\u182b\\0\\u1833\\u01b2\\u182f\\0\\u1831;\\u6592;\\u65914;\\u6593ck;\\u6588\\u0100eo\\u183e\\u184d\\u0100;q\\u1843\\u1846\\uc000=\\u20e5uiv;\\uc000\\u2261\\u20e5t;\\u6310\\u0200ptwx\\u1859\\u185e\\u1867\\u186cf;\\uc000\\ud835\\udd53\\u0100;t\\u13cb\\u1863om\\xbb\\u13cctie;\\u62c8\\u0600DHUVbdhmptuv\\u1885\\u1896\\u18aa\\u18bb\\u18d7\\u18db\\u18ec\\u18ff\\u1905\\u190a\\u1910\\u1921\\u0200LRlr\\u188e\\u1890\\u1892\\u1894;\\u6557;\\u6554;\\u6556;\\u6553\\u0280;DUdu\\u18a1\\u18a2\\u18a4\\u18a6\\u18a8\\u6550;\\u6566;\\u6569;\\u6564;\\u6567\\u0200LRlr\\u18b3\\u18b5\\u18b7\\u18b9;\\u655d;\\u655a;\\u655c;\\u6559\\u0380;HLRhlr\\u18ca\\u18cb\\u18cd\\u18cf\\u18d1\\u18d3\\u18d5\\u6551;\\u656c;\\u6563;\\u6560;\\u656b;\\u6562;\\u655fox;\\u69c9\\u0200LRlr\\u18e4\\u18e6\\u18e8\\u18ea;\\u6555;\\u6552;\\u6510;\\u650c\\u0280;DUdu\\u06bd\\u18f7\\u18f9\\u18fb\\u18fd;\\u6565;\\u6568;\\u652c;\\u6534inus;\\u629flus;\\u629eimes;\\u62a0\\u0200LRlr\\u1919\\u191b\\u191d\\u191f;\\u655b;\\u6558;\\u6518;\\u6514\\u0380;HLRhlr\\u1930\\u1931\\u1933\\u1935\\u1937\\u1939\\u193b\\u6502;\\u656a;\\u6561;\\u655e;\\u653c;\\u6524;\\u651c\\u0100ev\\u0123\\u1942bar\\u803b\\xa6\\u40a6\\u0200ceio\\u1951\\u1956\\u195a\\u1960r;\\uc000\\ud835\\udcb7mi;\\u604fm\\u0100;e\\u171a\\u171cl\\u0180;bh\\u1968\\u1969\\u196b\\u405c;\\u69c5sub;\\u67c8\\u016c\\u1974\\u197el\\u0100;e\\u1979\\u197a\\u6022t\\xbb\\u197ap\\u0180;Ee\\u012f\\u1985\\u1987;\\u6aae\\u0100;q\\u06dc\\u06db\\u0ce1\\u19a7\\0\\u19e8\\u1a11\\u1a15\\u1a32\\0\\u1a37\\u1a50\\0\\0\\u1ab4\\0\\0\\u1ac1\\0\\0\\u1b21\\u1b2e\\u1b4d\\u1b52\\0\\u1bfd\\0\\u1c0c\\u0180cpr\\u19ad\\u19b2\\u19ddute;\\u4107\\u0300;abcds\\u19bf\\u19c0\\u19c4\\u19ca\\u19d5\\u19d9\\u6229nd;\\u6a44rcup;\\u6a49\\u0100au\\u19cf\\u19d2p;\\u6a4bp;\\u6a47ot;\\u6a40;\\uc000\\u2229\\ufe00\\u0100eo\\u19e2\\u19e5t;\\u6041\\xee\\u0693\\u0200aeiu\\u19f0\\u19fb\\u1a01\\u1a05\\u01f0\\u19f5\\0\\u19f8s;\\u6a4don;\\u410ddil\\u803b\\xe7\\u40e7rc;\\u4109ps\\u0100;s\\u1a0c\\u1a0d\\u6a4cm;\\u6a50ot;\\u410b\\u0180dmn\\u1a1b\\u1a20\\u1a26il\\u80bb\\xb8\\u01adptyv;\\u69b2t\\u8100\\xa2;e\\u1a2d\\u1a2e\\u40a2r\\xe4\\u01b2r;\\uc000\\ud835\\udd20\\u0180cei\\u1a3d\\u1a40\\u1a4dy;\\u4447ck\\u0100;m\\u1a47\\u1a48\\u6713ark\\xbb\\u1a48;\\u43c7r\\u0380;Ecefms\\u1a5f\\u1a60\\u1a62\\u1a6b\\u1aa4\\u1aaa\\u1aae\\u65cb;\\u69c3\\u0180;el\\u1a69\\u1a6a\\u1a6d\\u42c6q;\\u6257e\\u0261\\u1a74\\0\\0\\u1a88rrow\\u0100lr\\u1a7c\\u1a81eft;\\u61baight;\\u61bb\\u0280RSacd\\u1a92\\u1a94\\u1a96\\u1a9a\\u1a9f\\xbb\\u0f47;\\u64c8st;\\u629birc;\\u629aash;\\u629dnint;\\u6a10id;\\u6aefcir;\\u69c2ubs\\u0100;u\\u1abb\\u1abc\\u6663it\\xbb\\u1abc\\u02ec\\u1ac7\\u1ad4\\u1afa\\0\\u1b0aon\\u0100;e\\u1acd\\u1ace\\u403a\\u0100;q\\xc7\\xc6\\u026d\\u1ad9\\0\\0\\u1ae2a\\u0100;t\\u1ade\\u1adf\\u402c;\\u4040\\u0180;fl\\u1ae8\\u1ae9\\u1aeb\\u6201\\xee\\u1160e\\u0100mx\\u1af1\\u1af6ent\\xbb\\u1ae9e\\xf3\\u024d\\u01e7\\u1afe\\0\\u1b07\\u0100;d\\u12bb\\u1b02ot;\\u6a6dn\\xf4\\u0246\\u0180fry\\u1b10\\u1b14\\u1b17;\\uc000\\ud835\\udd54o\\xe4\\u0254\\u8100\\xa9;s\\u0155\\u1b1dr;\\u6117\\u0100ao\\u1b25\\u1b29rr;\\u61b5ss;\\u6717\\u0100cu\\u1b32\\u1b37r;\\uc000\\ud835\\udcb8\\u0100bp\\u1b3c\\u1b44\\u0100;e\\u1b41\\u1b42\\u6acf;\\u6ad1\\u0100;e\\u1b49\\u1b4a\\u6ad0;\\u6ad2dot;\\u62ef\\u0380delprvw\\u1b60\\u1b6c\\u1b77\\u1b82\\u1bac\\u1bd4\\u1bf9arr\\u0100lr\\u1b68\\u1b6a;\\u6938;\\u6935\\u0270\\u1b72\\0\\0\\u1b75r;\\u62dec;\\u62dfarr\\u0100;p\\u1b7f\\u1b80\\u61b6;\\u693d\\u0300;bcdos\\u1b8f\\u1b90\\u1b96\\u1ba1\\u1ba5\\u1ba8\\u622arcap;\\u6a48\\u0100au\\u1b9b\\u1b9ep;\\u6a46p;\\u6a4aot;\\u628dr;\\u6a45;\\uc000\\u222a\\ufe00\\u0200alrv\\u1bb5\\u1bbf\\u1bde\\u1be3rr\\u0100;m\\u1bbc\\u1bbd\\u61b7;\\u693cy\\u0180evw\\u1bc7\\u1bd4\\u1bd8q\\u0270\\u1bce\\0\\0\\u1bd2re\\xe3\\u1b73u\\xe3\\u1b75ee;\\u62ceedge;\\u62cfen\\u803b\\xa4\\u40a4earrow\\u0100lr\\u1bee\\u1bf3eft\\xbb\\u1b80ight\\xbb\\u1bbde\\xe4\\u1bdd\\u0100ci\\u1c01\\u1c07onin\\xf4\\u01f7nt;\\u6231lcty;\\u632d\\u0980AHabcdefhijlorstuwz\\u1c38\\u1c3b\\u1c3f\\u1c5d\\u1c69\\u1c75\\u1c8a\\u1c9e\\u1cac\\u1cb7\\u1cfb\\u1cff\\u1d0d\\u1d7b\\u1d91\\u1dab\\u1dbb\\u1dc6\\u1dcdr\\xf2\\u0381ar;\\u6965\\u0200glrs\\u1c48\\u1c4d\\u1c52\\u1c54ger;\\u6020eth;\\u6138\\xf2\\u1133h\\u0100;v\\u1c5a\\u1c5b\\u6010\\xbb\\u090a\\u016b\\u1c61\\u1c67arow;\\u690fa\\xe3\\u0315\\u0100ay\\u1c6e\\u1c73ron;\\u410f;\\u4434\\u0180;ao\\u0332\\u1c7c\\u1c84\\u0100gr\\u02bf\\u1c81r;\\u61catseq;\\u6a77\\u0180glm\\u1c91\\u1c94\\u1c98\\u803b\\xb0\\u40b0ta;\\u43b4ptyv;\\u69b1\\u0100ir\\u1ca3\\u1ca8sht;\\u697f;\\uc000\\ud835\\udd21ar\\u0100lr\\u1cb3\\u1cb5\\xbb\\u08dc\\xbb\\u101e\\u0280aegsv\\u1cc2\\u0378\\u1cd6\\u1cdc\\u1ce0m\\u0180;os\\u0326\\u1cca\\u1cd4nd\\u0100;s\\u0326\\u1cd1uit;\\u6666amma;\\u43ddin;\\u62f2\\u0180;io\\u1ce7\\u1ce8\\u1cf8\\u40f7de\\u8100\\xf7;o\\u1ce7\\u1cf0ntimes;\\u62c7n\\xf8\\u1cf7cy;\\u4452c\\u026f\\u1d06\\0\\0\\u1d0arn;\\u631eop;\\u630d\\u0280lptuw\\u1d18\\u1d1d\\u1d22\\u1d49\\u1d55lar;\\u4024f;\\uc000\\ud835\\udd55\\u0280;emps\\u030b\\u1d2d\\u1d37\\u1d3d\\u1d42q\\u0100;d\\u0352\\u1d33ot;\\u6251inus;\\u6238lus;\\u6214quare;\\u62a1blebarwedg\\xe5\\xfan\\u0180adh\\u112e\\u1d5d\\u1d67ownarrow\\xf3\\u1c83arpoon\\u0100lr\\u1d72\\u1d76ef\\xf4\\u1cb4igh\\xf4\\u1cb6\\u0162\\u1d7f\\u1d85karo\\xf7\\u0f42\\u026f\\u1d8a\\0\\0\\u1d8ern;\\u631fop;\\u630c\\u0180cot\\u1d98\\u1da3\\u1da6\\u0100ry\\u1d9d\\u1da1;\\uc000\\ud835\\udcb9;\\u4455l;\\u69f6rok;\\u4111\\u0100dr\\u1db0\\u1db4ot;\\u62f1i\\u0100;f\\u1dba\\u1816\\u65bf\\u0100ah\\u1dc0\\u1dc3r\\xf2\\u0429a\\xf2\\u0fa6angle;\\u69a6\\u0100ci\\u1dd2\\u1dd5y;\\u445fgrarr;\\u67ff\\u0900Dacdefglmnopqrstux\\u1e01\\u1e09\\u1e19\\u1e38\\u0578\\u1e3c\\u1e49\\u1e61\\u1e7e\\u1ea5\\u1eaf\\u1ebd\\u1ee1\\u1f2a\\u1f37\\u1f44\\u1f4e\\u1f5a\\u0100Do\\u1e06\\u1d34o\\xf4\\u1c89\\u0100cs\\u1e0e\\u1e14ute\\u803b\\xe9\\u40e9ter;\\u6a6e\\u0200aioy\\u1e22\\u1e27\\u1e31\\u1e36ron;\\u411br\\u0100;c\\u1e2d\\u1e2e\\u6256\\u803b\\xea\\u40ealon;\\u6255;\\u444dot;\\u4117\\u0100Dr\\u1e41\\u1e45ot;\\u6252;\\uc000\\ud835\\udd22\\u0180;rs\\u1e50\\u1e51\\u1e57\\u6a9aave\\u803b\\xe8\\u40e8\\u0100;d\\u1e5c\\u1e5d\\u6a96ot;\\u6a98\\u0200;ils\\u1e6a\\u1e6b\\u1e72\\u1e74\\u6a99nters;\\u63e7;\\u6113\\u0100;d\\u1e79\\u1e7a\\u6a95ot;\\u6a97\\u0180aps\\u1e85\\u1e89\\u1e97cr;\\u4113ty\\u0180;sv\\u1e92\\u1e93\\u1e95\\u6205et\\xbb\\u1e93p\\u01001;\\u1e9d\\u1ea4\\u0133\\u1ea1\\u1ea3;\\u6004;\\u6005\\u6003\\u0100gs\\u1eaa\\u1eac;\\u414bp;\\u6002\\u0100gp\\u1eb4\\u1eb8on;\\u4119f;\\uc000\\ud835\\udd56\\u0180als\\u1ec4\\u1ece\\u1ed2r\\u0100;s\\u1eca\\u1ecb\\u62d5l;\\u69e3us;\\u6a71i\\u0180;lv\\u1eda\\u1edb\\u1edf\\u43b5on\\xbb\\u1edb;\\u43f5\\u0200csuv\\u1eea\\u1ef3\\u1f0b\\u1f23\\u0100io\\u1eef\\u1e31rc\\xbb\\u1e2e\\u0269\\u1ef9\\0\\0\\u1efb\\xed\\u0548ant\\u0100gl\\u1f02\\u1f06tr\\xbb\\u1e5dess\\xbb\\u1e7a\\u0180aei\\u1f12\\u1f16\\u1f1als;\\u403dst;\\u625fv\\u0100;D\\u0235\\u1f20D;\\u6a78parsl;\\u69e5\\u0100Da\\u1f2f\\u1f33ot;\\u6253rr;\\u6971\\u0180cdi\\u1f3e\\u1f41\\u1ef8r;\\u612fo\\xf4\\u0352\\u0100ah\\u1f49\\u1f4b;\\u43b7\\u803b\\xf0\\u40f0\\u0100mr\\u1f53\\u1f57l\\u803b\\xeb\\u40ebo;\\u60ac\\u0180cip\\u1f61\\u1f64\\u1f67l;\\u4021s\\xf4\\u056e\\u0100eo\\u1f6c\\u1f74ctatio\\xee\\u0559nential\\xe5\\u0579\\u09e1\\u1f92\\0\\u1f9e\\0\\u1fa1\\u1fa7\\0\\0\\u1fc6\\u1fcc\\0\\u1fd3\\0\\u1fe6\\u1fea\\u2000\\0\\u2008\\u205allingdotse\\xf1\\u1e44y;\\u4444male;\\u6640\\u0180ilr\\u1fad\\u1fb3\\u1fc1lig;\\u8000\\ufb03\\u0269\\u1fb9\\0\\0\\u1fbdg;\\u8000\\ufb00ig;\\u8000\\ufb04;\\uc000\\ud835\\udd23lig;\\u8000\\ufb01lig;\\uc000fj\\u0180alt\\u1fd9\\u1fdc\\u1fe1t;\\u666dig;\\u8000\\ufb02ns;\\u65b1of;\\u4192\\u01f0\\u1fee\\0\\u1ff3f;\\uc000\\ud835\\udd57\\u0100ak\\u05bf\\u1ff7\\u0100;v\\u1ffc\\u1ffd\\u62d4;\\u6ad9artint;\\u6a0d\\u0100ao\\u200c\\u2055\\u0100cs\\u2011\\u2052\\u03b1\\u201a\\u2030\\u2038\\u2045\\u2048\\0\\u2050\\u03b2\\u2022\\u2025\\u2027\\u202a\\u202c\\0\\u202e\\u803b\\xbd\\u40bd;\\u6153\\u803b\\xbc\\u40bc;\\u6155;\\u6159;\\u615b\\u01b3\\u2034\\0\\u2036;\\u6154;\\u6156\\u02b4\\u203e\\u2041\\0\\0\\u2043\\u803b\\xbe\\u40be;\\u6157;\\u615c5;\\u6158\\u01b6\\u204c\\0\\u204e;\\u615a;\\u615d8;\\u615el;\\u6044wn;\\u6322cr;\\uc000\\ud835\\udcbb\\u0880Eabcdefgijlnorstv\\u2082\\u2089\\u209f\\u20a5\\u20b0\\u20b4\\u20f0\\u20f5\\u20fa\\u20ff\\u2103\\u2112\\u2138\\u0317\\u213e\\u2152\\u219e\\u0100;l\\u064d\\u2087;\\u6a8c\\u0180cmp\\u2090\\u2095\\u209dute;\\u41f5ma\\u0100;d\\u209c\\u1cda\\u43b3;\\u6a86reve;\\u411f\\u0100iy\\u20aa\\u20aerc;\\u411d;\\u4433ot;\\u4121\\u0200;lqs\\u063e\\u0642\\u20bd\\u20c9\\u0180;qs\\u063e\\u064c\\u20c4lan\\xf4\\u0665\\u0200;cdl\\u0665\\u20d2\\u20d5\\u20e5c;\\u6aa9ot\\u0100;o\\u20dc\\u20dd\\u6a80\\u0100;l\\u20e2\\u20e3\\u6a82;\\u6a84\\u0100;e\\u20ea\\u20ed\\uc000\\u22db\\ufe00s;\\u6a94r;\\uc000\\ud835\\udd24\\u0100;g\\u0673\\u061bmel;\\u6137cy;\\u4453\\u0200;Eaj\\u065a\\u210c\\u210e\\u2110;\\u6a92;\\u6aa5;\\u6aa4\\u0200Eaes\\u211b\\u211d\\u2129\\u2134;\\u6269p\\u0100;p\\u2123\\u2124\\u6a8arox\\xbb\\u2124\\u0100;q\\u212e\\u212f\\u6a88\\u0100;q\\u212e\\u211bim;\\u62e7pf;\\uc000\\ud835\\udd58\\u0100ci\\u2143\\u2146r;\\u610am\\u0180;el\\u066b\\u214e\\u2150;\\u6a8e;\\u6a90\\u8300>;cdlqr\\u05ee\\u2160\\u216a\\u216e\\u2173\\u2179\\u0100ci\\u2165\\u2167;\\u6aa7r;\\u6a7aot;\\u62d7Par;\\u6995uest;\\u6a7c\\u0280adels\\u2184\\u216a\\u2190\\u0656\\u219b\\u01f0\\u2189\\0\\u218epro\\xf8\\u209er;\\u6978q\\u0100lq\\u063f\\u2196les\\xf3\\u2088i\\xed\\u066b\\u0100en\\u21a3\\u21adrtneqq;\\uc000\\u2269\\ufe00\\xc5\\u21aa\\u0500Aabcefkosy\\u21c4\\u21c7\\u21f1\\u21f5\\u21fa\\u2218\\u221d\\u222f\\u2268\\u227dr\\xf2\\u03a0\\u0200ilmr\\u21d0\\u21d4\\u21d7\\u21dbrs\\xf0\\u1484f\\xbb\\u2024il\\xf4\\u06a9\\u0100dr\\u21e0\\u21e4cy;\\u444a\\u0180;cw\\u08f4\\u21eb\\u21efir;\\u6948;\\u61adar;\\u610firc;\\u4125\\u0180alr\\u2201\\u220e\\u2213rts\\u0100;u\\u2209\\u220a\\u6665it\\xbb\\u220alip;\\u6026con;\\u62b9r;\\uc000\\ud835\\udd25s\\u0100ew\\u2223\\u2229arow;\\u6925arow;\\u6926\\u0280amopr\\u223a\\u223e\\u2243\\u225e\\u2263rr;\\u61fftht;\\u623bk\\u0100lr\\u2249\\u2253eftarrow;\\u61a9ightarrow;\\u61aaf;\\uc000\\ud835\\udd59bar;\\u6015\\u0180clt\\u226f\\u2274\\u2278r;\\uc000\\ud835\\udcbdas\\xe8\\u21f4rok;\\u4127\\u0100bp\\u2282\\u2287ull;\\u6043hen\\xbb\\u1c5b\\u0ae1\\u22a3\\0\\u22aa\\0\\u22b8\\u22c5\\u22ce\\0\\u22d5\\u22f3\\0\\0\\u22f8\\u2322\\u2367\\u2362\\u237f\\0\\u2386\\u23aa\\u23b4cute\\u803b\\xed\\u40ed\\u0180;iy\\u0771\\u22b0\\u22b5rc\\u803b\\xee\\u40ee;\\u4438\\u0100cx\\u22bc\\u22bfy;\\u4435cl\\u803b\\xa1\\u40a1\\u0100fr\\u039f\\u22c9;\\uc000\\ud835\\udd26rave\\u803b\\xec\\u40ec\\u0200;ino\\u073e\\u22dd\\u22e9\\u22ee\\u0100in\\u22e2\\u22e6nt;\\u6a0ct;\\u622dfin;\\u69dcta;\\u6129lig;\\u4133\\u0180aop\\u22fe\\u231a\\u231d\\u0180cgt\\u2305\\u2308\\u2317r;\\u412b\\u0180elp\\u071f\\u230f\\u2313in\\xe5\\u078ear\\xf4\\u0720h;\\u4131f;\\u62b7ed;\\u41b5\\u0280;cfot\\u04f4\\u232c\\u2331\\u233d\\u2341are;\\u6105in\\u0100;t\\u2338\\u2339\\u621eie;\\u69dddo\\xf4\\u2319\\u0280;celp\\u0757\\u234c\\u2350\\u235b\\u2361al;\\u62ba\\u0100gr\\u2355\\u2359er\\xf3\\u1563\\xe3\\u234darhk;\\u6a17rod;\\u6a3c\\u0200cgpt\\u236f\\u2372\\u2376\\u237by;\\u4451on;\\u412ff;\\uc000\\ud835\\udd5aa;\\u43b9uest\\u803b\\xbf\\u40bf\\u0100ci\\u238a\\u238fr;\\uc000\\ud835\\udcben\\u0280;Edsv\\u04f4\\u239b\\u239d\\u23a1\\u04f3;\\u62f9ot;\\u62f5\\u0100;v\\u23a6\\u23a7\\u62f4;\\u62f3\\u0100;i\\u0777\\u23aelde;\\u4129\\u01eb\\u23b8\\0\\u23bccy;\\u4456l\\u803b\\xef\\u40ef\\u0300cfmosu\\u23cc\\u23d7\\u23dc\\u23e1\\u23e7\\u23f5\\u0100iy\\u23d1\\u23d5rc;\\u4135;\\u4439r;\\uc000\\ud835\\udd27ath;\\u4237pf;\\uc000\\ud835\\udd5b\\u01e3\\u23ec\\0\\u23f1r;\\uc000\\ud835\\udcbfrcy;\\u4458kcy;\\u4454\\u0400acfghjos\\u240b\\u2416\\u2422\\u2427\\u242d\\u2431\\u2435\\u243bppa\\u0100;v\\u2413\\u2414\\u43ba;\\u43f0\\u0100ey\\u241b\\u2420dil;\\u4137;\\u443ar;\\uc000\\ud835\\udd28reen;\\u4138cy;\\u4445cy;\\u445cpf;\\uc000\\ud835\\udd5ccr;\\uc000\\ud835\\udcc0\\u0b80ABEHabcdefghjlmnoprstuv\\u2470\\u2481\\u2486\\u248d\\u2491\\u250e\\u253d\\u255a\\u2580\\u264e\\u265e\\u2665\\u2679\\u267d\\u269a\\u26b2\\u26d8\\u275d\\u2768\\u278b\\u27c0\\u2801\\u2812\\u0180art\\u2477\\u247a\\u247cr\\xf2\\u09c6\\xf2\\u0395ail;\\u691barr;\\u690e\\u0100;g\\u0994\\u248b;\\u6a8bar;\\u6962\\u0963\\u24a5\\0\\u24aa\\0\\u24b1\\0\\0\\0\\0\\0\\u24b5\\u24ba\\0\\u24c6\\u24c8\\u24cd\\0\\u24f9ute;\\u413amptyv;\\u69b4ra\\xee\\u084cbda;\\u43bbg\\u0180;dl\\u088e\\u24c1\\u24c3;\\u6991\\xe5\\u088e;\\u6a85uo\\u803b\\xab\\u40abr\\u0400;bfhlpst\\u0899\\u24de\\u24e6\\u24e9\\u24eb\\u24ee\\u24f1\\u24f5\\u0100;f\\u089d\\u24e3s;\\u691fs;\\u691d\\xeb\\u2252p;\\u61abl;\\u6939im;\\u6973l;\\u61a2\\u0180;ae\\u24ff\\u2500\\u2504\\u6aabil;\\u6919\\u0100;s\\u2509\\u250a\\u6aad;\\uc000\\u2aad\\ufe00\\u0180abr\\u2515\\u2519\\u251drr;\\u690crk;\\u6772\\u0100ak\\u2522\\u252cc\\u0100ek\\u2528\\u252a;\\u407b;\\u405b\\u0100es\\u2531\\u2533;\\u698bl\\u0100du\\u2539\\u253b;\\u698f;\\u698d\\u0200aeuy\\u2546\\u254b\\u2556\\u2558ron;\\u413e\\u0100di\\u2550\\u2554il;\\u413c\\xec\\u08b0\\xe2\\u2529;\\u443b\\u0200cqrs\\u2563\\u2566\\u256d\\u257da;\\u6936uo\\u0100;r\\u0e19\\u1746\\u0100du\\u2572\\u2577har;\\u6967shar;\\u694bh;\\u61b2\\u0280;fgqs\\u258b\\u258c\\u0989\\u25f3\\u25ff\\u6264t\\u0280ahlrt\\u2598\\u25a4\\u25b7\\u25c2\\u25e8rrow\\u0100;t\\u0899\\u25a1a\\xe9\\u24f6arpoon\\u0100du\\u25af\\u25b4own\\xbb\\u045ap\\xbb\\u0966eftarrows;\\u61c7ight\\u0180ahs\\u25cd\\u25d6\\u25derrow\\u0100;s\\u08f4\\u08a7arpoon\\xf3\\u0f98quigarro\\xf7\\u21f0hreetimes;\\u62cb\\u0180;qs\\u258b\\u0993\\u25falan\\xf4\\u09ac\\u0280;cdgs\\u09ac\\u260a\\u260d\\u261d\\u2628c;\\u6aa8ot\\u0100;o\\u2614\\u2615\\u6a7f\\u0100;r\\u261a\\u261b\\u6a81;\\u6a83\\u0100;e\\u2622\\u2625\\uc000\\u22da\\ufe00s;\\u6a93\\u0280adegs\\u2633\\u2639\\u263d\\u2649\\u264bppro\\xf8\\u24c6ot;\\u62d6q\\u0100gq\\u2643\\u2645\\xf4\\u0989gt\\xf2\\u248c\\xf4\\u099bi\\xed\\u09b2\\u0180ilr\\u2655\\u08e1\\u265asht;\\u697c;\\uc000\\ud835\\udd29\\u0100;E\\u099c\\u2663;\\u6a91\\u0161\\u2669\\u2676r\\u0100du\\u25b2\\u266e\\u0100;l\\u0965\\u2673;\\u696alk;\\u6584cy;\\u4459\\u0280;acht\\u0a48\\u2688\\u268b\\u2691\\u2696r\\xf2\\u25c1orne\\xf2\\u1d08ard;\\u696bri;\\u65fa\\u0100io\\u269f\\u26a4dot;\\u4140ust\\u0100;a\\u26ac\\u26ad\\u63b0che\\xbb\\u26ad\\u0200Eaes\\u26bb\\u26bd\\u26c9\\u26d4;\\u6268p\\u0100;p\\u26c3\\u26c4\\u6a89rox\\xbb\\u26c4\\u0100;q\\u26ce\\u26cf\\u6a87\\u0100;q\\u26ce\\u26bbim;\\u62e6\\u0400abnoptwz\\u26e9\\u26f4\\u26f7\\u271a\\u272f\\u2741\\u2747\\u2750\\u0100nr\\u26ee\\u26f1g;\\u67ecr;\\u61fdr\\xeb\\u08c1g\\u0180lmr\\u26ff\\u270d\\u2714eft\\u0100ar\\u09e6\\u2707ight\\xe1\\u09f2apsto;\\u67fcight\\xe1\\u09fdparrow\\u0100lr\\u2725\\u2729ef\\xf4\\u24edight;\\u61ac\\u0180afl\\u2736\\u2739\\u273dr;\\u6985;\\uc000\\ud835\\udd5dus;\\u6a2dimes;\\u6a34\\u0161\\u274b\\u274fst;\\u6217\\xe1\\u134e\\u0180;ef\\u2757\\u2758\\u1800\\u65cange\\xbb\\u2758ar\\u0100;l\\u2764\\u2765\\u4028t;\\u6993\\u0280achmt\\u2773\\u2776\\u277c\\u2785\\u2787r\\xf2\\u08a8orne\\xf2\\u1d8car\\u0100;d\\u0f98\\u2783;\\u696d;\\u600eri;\\u62bf\\u0300achiqt\\u2798\\u279d\\u0a40\\u27a2\\u27ae\\u27bbquo;\\u6039r;\\uc000\\ud835\\udcc1m\\u0180;eg\\u09b2\\u27aa\\u27ac;\\u6a8d;\\u6a8f\\u0100bu\\u252a\\u27b3o\\u0100;r\\u0e1f\\u27b9;\\u601arok;\\u4142\\u8400<;cdhilqr\\u082b\\u27d2\\u2639\\u27dc\\u27e0\\u27e5\\u27ea\\u27f0\\u0100ci\\u27d7\\u27d9;\\u6aa6r;\\u6a79re\\xe5\\u25f2mes;\\u62c9arr;\\u6976uest;\\u6a7b\\u0100Pi\\u27f5\\u27f9ar;\\u6996\\u0180;ef\\u2800\\u092d\\u181b\\u65c3r\\u0100du\\u2807\\u280dshar;\\u694ahar;\\u6966\\u0100en\\u2817\\u2821rtneqq;\\uc000\\u2268\\ufe00\\xc5\\u281e\\u0700Dacdefhilnopsu\\u2840\\u2845\\u2882\\u288e\\u2893\\u28a0\\u28a5\\u28a8\\u28da\\u28e2\\u28e4\\u0a83\\u28f3\\u2902Dot;\\u623a\\u0200clpr\\u284e\\u2852\\u2863\\u287dr\\u803b\\xaf\\u40af\\u0100et\\u2857\\u2859;\\u6642\\u0100;e\\u285e\\u285f\\u6720se\\xbb\\u285f\\u0100;s\\u103b\\u2868to\\u0200;dlu\\u103b\\u2873\\u2877\\u287bow\\xee\\u048cef\\xf4\\u090f\\xf0\\u13d1ker;\\u65ae\\u0100oy\\u2887\\u288cmma;\\u6a29;\\u443cash;\\u6014asuredangle\\xbb\\u1626r;\\uc000\\ud835\\udd2ao;\\u6127\\u0180cdn\\u28af\\u28b4\\u28c9ro\\u803b\\xb5\\u40b5\\u0200;acd\\u1464\\u28bd\\u28c0\\u28c4s\\xf4\\u16a7ir;\\u6af0ot\\u80bb\\xb7\\u01b5us\\u0180;bd\\u28d2\\u1903\\u28d3\\u6212\\u0100;u\\u1d3c\\u28d8;\\u6a2a\\u0163\\u28de\\u28e1p;\\u6adb\\xf2\\u2212\\xf0\\u0a81\\u0100dp\\u28e9\\u28eeels;\\u62a7f;\\uc000\\ud835\\udd5e\\u0100ct\\u28f8\\u28fdr;\\uc000\\ud835\\udcc2pos\\xbb\\u159d\\u0180;lm\\u2909\\u290a\\u290d\\u43bctimap;\\u62b8\\u0c00GLRVabcdefghijlmoprstuvw\\u2942\\u2953\\u297e\\u2989\\u2998\\u29da\\u29e9\\u2a15\\u2a1a\\u2a58\\u2a5d\\u2a83\\u2a95\\u2aa4\\u2aa8\\u2b04\\u2b07\\u2b44\\u2b7f\\u2bae\\u2c34\\u2c67\\u2c7c\\u2ce9\\u0100gt\\u2947\\u294b;\\uc000\\u22d9\\u0338\\u0100;v\\u2950\\u0bcf\\uc000\\u226b\\u20d2\\u0180elt\\u295a\\u2972\\u2976ft\\u0100ar\\u2961\\u2967rrow;\\u61cdightarrow;\\u61ce;\\uc000\\u22d8\\u0338\\u0100;v\\u297b\\u0c47\\uc000\\u226a\\u20d2ightarrow;\\u61cf\\u0100Dd\\u298e\\u2993ash;\\u62afash;\\u62ae\\u0280bcnpt\\u29a3\\u29a7\\u29ac\\u29b1\\u29ccla\\xbb\\u02deute;\\u4144g;\\uc000\\u2220\\u20d2\\u0280;Eiop\\u0d84\\u29bc\\u29c0\\u29c5\\u29c8;\\uc000\\u2a70\\u0338d;\\uc000\\u224b\\u0338s;\\u4149ro\\xf8\\u0d84ur\\u0100;a\\u29d3\\u29d4\\u666el\\u0100;s\\u29d3\\u0b38\\u01f3\\u29df\\0\\u29e3p\\u80bb\\xa0\\u0b37mp\\u0100;e\\u0bf9\\u0c00\\u0280aeouy\\u29f4\\u29fe\\u2a03\\u2a10\\u2a13\\u01f0\\u29f9\\0\\u29fb;\\u6a43on;\\u4148dil;\\u4146ng\\u0100;d\\u0d7e\\u2a0aot;\\uc000\\u2a6d\\u0338p;\\u6a42;\\u443dash;\\u6013\\u0380;Aadqsx\\u0b92\\u2a29\\u2a2d\\u2a3b\\u2a41\\u2a45\\u2a50rr;\\u61d7r\\u0100hr\\u2a33\\u2a36k;\\u6924\\u0100;o\\u13f2\\u13f0ot;\\uc000\\u2250\\u0338ui\\xf6\\u0b63\\u0100ei\\u2a4a\\u2a4ear;\\u6928\\xed\\u0b98ist\\u0100;s\\u0ba0\\u0b9fr;\\uc000\\ud835\\udd2b\\u0200Eest\\u0bc5\\u2a66\\u2a79\\u2a7c\\u0180;qs\\u0bbc\\u2a6d\\u0be1\\u0180;qs\\u0bbc\\u0bc5\\u2a74lan\\xf4\\u0be2i\\xed\\u0bea\\u0100;r\\u0bb6\\u2a81\\xbb\\u0bb7\\u0180Aap\\u2a8a\\u2a8d\\u2a91r\\xf2\\u2971rr;\\u61aear;\\u6af2\\u0180;sv\\u0f8d\\u2a9c\\u0f8c\\u0100;d\\u2aa1\\u2aa2\\u62fc;\\u62facy;\\u445a\\u0380AEadest\\u2ab7\\u2aba\\u2abe\\u2ac2\\u2ac5\\u2af6\\u2af9r\\xf2\\u2966;\\uc000\\u2266\\u0338rr;\\u619ar;\\u6025\\u0200;fqs\\u0c3b\\u2ace\\u2ae3\\u2aeft\\u0100ar\\u2ad4\\u2ad9rro\\xf7\\u2ac1ightarro\\xf7\\u2a90\\u0180;qs\\u0c3b\\u2aba\\u2aealan\\xf4\\u0c55\\u0100;s\\u0c55\\u2af4\\xbb\\u0c36i\\xed\\u0c5d\\u0100;r\\u0c35\\u2afei\\u0100;e\\u0c1a\\u0c25i\\xe4\\u0d90\\u0100pt\\u2b0c\\u2b11f;\\uc000\\ud835\\udd5f\\u8180\\xac;in\\u2b19\\u2b1a\\u2b36\\u40acn\\u0200;Edv\\u0b89\\u2b24\\u2b28\\u2b2e;\\uc000\\u22f9\\u0338ot;\\uc000\\u22f5\\u0338\\u01e1\\u0b89\\u2b33\\u2b35;\\u62f7;\\u62f6i\\u0100;v\\u0cb8\\u2b3c\\u01e1\\u0cb8\\u2b41\\u2b43;\\u62fe;\\u62fd\\u0180aor\\u2b4b\\u2b63\\u2b69r\\u0200;ast\\u0b7b\\u2b55\\u2b5a\\u2b5flle\\xec\\u0b7bl;\\uc000\\u2afd\\u20e5;\\uc000\\u2202\\u0338lint;\\u6a14\\u0180;ce\\u0c92\\u2b70\\u2b73u\\xe5\\u0ca5\\u0100;c\\u0c98\\u2b78\\u0100;e\\u0c92\\u2b7d\\xf1\\u0c98\\u0200Aait\\u2b88\\u2b8b\\u2b9d\\u2ba7r\\xf2\\u2988rr\\u0180;cw\\u2b94\\u2b95\\u2b99\\u619b;\\uc000\\u2933\\u0338;\\uc000\\u219d\\u0338ghtarrow\\xbb\\u2b95ri\\u0100;e\\u0ccb\\u0cd6\\u0380chimpqu\\u2bbd\\u2bcd\\u2bd9\\u2b04\\u0b78\\u2be4\\u2bef\\u0200;cer\\u0d32\\u2bc6\\u0d37\\u2bc9u\\xe5\\u0d45;\\uc000\\ud835\\udcc3ort\\u026d\\u2b05\\0\\0\\u2bd6ar\\xe1\\u2b56m\\u0100;e\\u0d6e\\u2bdf\\u0100;q\\u0d74\\u0d73su\\u0100bp\\u2beb\\u2bed\\xe5\\u0cf8\\xe5\\u0d0b\\u0180bcp\\u2bf6\\u2c11\\u2c19\\u0200;Ees\\u2bff\\u2c00\\u0d22\\u2c04\\u6284;\\uc000\\u2ac5\\u0338et\\u0100;e\\u0d1b\\u2c0bq\\u0100;q\\u0d23\\u2c00c\\u0100;e\\u0d32\\u2c17\\xf1\\u0d38\\u0200;Ees\\u2c22\\u2c23\\u0d5f\\u2c27\\u6285;\\uc000\\u2ac6\\u0338et\\u0100;e\\u0d58\\u2c2eq\\u0100;q\\u0d60\\u2c23\\u0200gilr\\u2c3d\\u2c3f\\u2c45\\u2c47\\xec\\u0bd7lde\\u803b\\xf1\\u40f1\\xe7\\u0c43iangle\\u0100lr\\u2c52\\u2c5ceft\\u0100;e\\u0c1a\\u2c5a\\xf1\\u0c26ight\\u0100;e\\u0ccb\\u2c65\\xf1\\u0cd7\\u0100;m\\u2c6c\\u2c6d\\u43bd\\u0180;es\\u2c74\\u2c75\\u2c79\\u4023ro;\\u6116p;\\u6007\\u0480DHadgilrs\\u2c8f\\u2c94\\u2c99\\u2c9e\\u2ca3\\u2cb0\\u2cb6\\u2cd3\\u2ce3ash;\\u62adarr;\\u6904p;\\uc000\\u224d\\u20d2ash;\\u62ac\\u0100et\\u2ca8\\u2cac;\\uc000\\u2265\\u20d2;\\uc000>\\u20d2nfin;\\u69de\\u0180Aet\\u2cbd\\u2cc1\\u2cc5rr;\\u6902;\\uc000\\u2264\\u20d2\\u0100;r\\u2cca\\u2ccd\\uc000<\\u20d2ie;\\uc000\\u22b4\\u20d2\\u0100At\\u2cd8\\u2cdcrr;\\u6903rie;\\uc000\\u22b5\\u20d2im;\\uc000\\u223c\\u20d2\\u0180Aan\\u2cf0\\u2cf4\\u2d02rr;\\u61d6r\\u0100hr\\u2cfa\\u2cfdk;\\u6923\\u0100;o\\u13e7\\u13e5ear;\\u6927\\u1253\\u1a95\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\0\\u2d2d\\0\\u2d38\\u2d48\\u2d60\\u2d65\\u2d72\\u2d84\\u1b07\\0\\0\\u2d8d\\u2dab\\0\\u2dc8\\u2dce\\0\\u2ddc\\u2e19\\u2e2b\\u2e3e\\u2e43\\u0100cs\\u2d31\\u1a97ute\\u803b\\xf3\\u40f3\\u0100iy\\u2d3c\\u2d45r\\u0100;c\\u1a9e\\u2d42\\u803b\\xf4\\u40f4;\\u443e\\u0280abios\\u1aa0\\u2d52\\u2d57\\u01c8\\u2d5alac;\\u4151v;\\u6a38old;\\u69bclig;\\u4153\\u0100cr\\u2d69\\u2d6dir;\\u69bf;\\uc000\\ud835\\udd2c\\u036f\\u2d79\\0\\0\\u2d7c\\0\\u2d82n;\\u42dbave\\u803b\\xf2\\u40f2;\\u69c1\\u0100bm\\u2d88\\u0df4ar;\\u69b5\\u0200acit\\u2d95\\u2d98\\u2da5\\u2da8r\\xf2\\u1a80\\u0100ir\\u2d9d\\u2da0r;\\u69beoss;\\u69bbn\\xe5\\u0e52;\\u69c0\\u0180aei\\u2db1\\u2db5\\u2db9cr;\\u414dga;\\u43c9\\u0180cdn\\u2dc0\\u2dc5\\u01cdron;\\u43bf;\\u69b6pf;\\uc000\\ud835\\udd60\\u0180ael\\u2dd4\\u2dd7\\u01d2r;\\u69b7rp;\\u69b9\\u0380;adiosv\\u2dea\\u2deb\\u2dee\\u2e08\\u2e0d\\u2e10\\u2e16\\u6228r\\xf2\\u1a86\\u0200;efm\\u2df7\\u2df8\\u2e02\\u2e05\\u6a5dr\\u0100;o\\u2dfe\\u2dff\\u6134f\\xbb\\u2dff\\u803b\\xaa\\u40aa\\u803b\\xba\\u40bagof;\\u62b6r;\\u6a56lope;\\u6a57;\\u6a5b\\u0180clo\\u2e1f\\u2e21\\u2e27\\xf2\\u2e01ash\\u803b\\xf8\\u40f8l;\\u6298i\\u016c\\u2e2f\\u2e34de\\u803b\\xf5\\u40f5es\\u0100;a\\u01db\\u2e3as;\\u6a36ml\\u803b\\xf6\\u40f6bar;\\u633d\\u0ae1\\u2e5e\\0\\u2e7d\\0\\u2e80\\u2e9d\\0\\u2ea2\\u2eb9\\0\\0\\u2ecb\\u0e9c\\0\\u2f13\\0\\0\\u2f2b\\u2fbc\\0\\u2fc8r\\u0200;ast\\u0403\\u2e67\\u2e72\\u0e85\\u8100\\xb6;l\\u2e6d\\u2e6e\\u40b6le\\xec\\u0403\\u0269\\u2e78\\0\\0\\u2e7bm;\\u6af3;\\u6afdy;\\u443fr\\u0280cimpt\\u2e8b\\u2e8f\\u2e93\\u1865\\u2e97nt;\\u4025od;\\u402eil;\\u6030enk;\\u6031r;\\uc000\\ud835\\udd2d\\u0180imo\\u2ea8\\u2eb0\\u2eb4\\u0100;v\\u2ead\\u2eae\\u43c6;\\u43d5ma\\xf4\\u0a76ne;\\u660e\\u0180;tv\\u2ebf\\u2ec0\\u2ec8\\u43c0chfork\\xbb\\u1ffd;\\u43d6\\u0100au\\u2ecf\\u2edfn\\u0100ck\\u2ed5\\u2eddk\\u0100;h\\u21f4\\u2edb;\\u610e\\xf6\\u21f4s\\u0480;abcdemst\\u2ef3\\u2ef4\\u1908\\u2ef9\\u2efd\\u2f04\\u2f06\\u2f0a\\u2f0e\\u402bcir;\\u6a23ir;\\u6a22\\u0100ou\\u1d40\\u2f02;\\u6a25;\\u6a72n\\u80bb\\xb1\\u0e9dim;\\u6a26wo;\\u6a27\\u0180ipu\\u2f19\\u2f20\\u2f25ntint;\\u6a15f;\\uc000\\ud835\\udd61nd\\u803b\\xa3\\u40a3\\u0500;Eaceinosu\\u0ec8\\u2f3f\\u2f41\\u2f44\\u2f47\\u2f81\\u2f89\\u2f92\\u2f7e\\u2fb6;\\u6ab3p;\\u6ab7u\\xe5\\u0ed9\\u0100;c\\u0ece\\u2f4c\\u0300;acens\\u0ec8\\u2f59\\u2f5f\\u2f66\\u2f68\\u2f7eppro\\xf8\\u2f43urlye\\xf1\\u0ed9\\xf1\\u0ece\\u0180aes\\u2f6f\\u2f76\\u2f7approx;\\u6ab9qq;\\u6ab5im;\\u62e8i\\xed\\u0edfme\\u0100;s\\u2f88\\u0eae\\u6032\\u0180Eas\\u2f78\\u2f90\\u2f7a\\xf0\\u2f75\\u0180dfp\\u0eec\\u2f99\\u2faf\\u0180als\\u2fa0\\u2fa5\\u2faalar;\\u632eine;\\u6312urf;\\u6313\\u0100;t\\u0efb\\u2fb4\\xef\\u0efbrel;\\u62b0\\u0100ci\\u2fc0\\u2fc5r;\\uc000\\ud835\\udcc5;\\u43c8ncsp;\\u6008\\u0300fiopsu\\u2fda\\u22e2\\u2fdf\\u2fe5\\u2feb\\u2ff1r;\\uc000\\ud835\\udd2epf;\\uc000\\ud835\\udd62rime;\\u6057cr;\\uc000\\ud835\\udcc6\\u0180aeo\\u2ff8\\u3009\\u3013t\\u0100ei\\u2ffe\\u3005rnion\\xf3\\u06b0nt;\\u6a16st\\u0100;e\\u3010\\u3011\\u403f\\xf1\\u1f19\\xf4\\u0f14\\u0a80ABHabcdefhilmnoprstux\\u3040\\u3051\\u3055\\u3059\\u30e0\\u310e\\u312b\\u3147\\u3162\\u3172\\u318e\\u3206\\u3215\\u3224\\u3229\\u3258\\u326e\\u3272\\u3290\\u32b0\\u32b7\\u0180art\\u3047\\u304a\\u304cr\\xf2\\u10b3\\xf2\\u03ddail;\\u691car\\xf2\\u1c65ar;\\u6964\\u0380cdenqrt\\u3068\\u3075\\u3078\\u307f\\u308f\\u3094\\u30cc\\u0100eu\\u306d\\u3071;\\uc000\\u223d\\u0331te;\\u4155i\\xe3\\u116emptyv;\\u69b3g\\u0200;del\\u0fd1\\u3089\\u308b\\u308d;\\u6992;\\u69a5\\xe5\\u0fd1uo\\u803b\\xbb\\u40bbr\\u0580;abcfhlpstw\\u0fdc\\u30ac\\u30af\\u30b7\\u30b9\\u30bc\\u30be\\u30c0\\u30c3\\u30c7\\u30cap;\\u6975\\u0100;f\\u0fe0\\u30b4s;\\u6920;\\u6933s;\\u691e\\xeb\\u225d\\xf0\\u272el;\\u6945im;\\u6974l;\\u61a3;\\u619d\\u0100ai\\u30d1\\u30d5il;\\u691ao\\u0100;n\\u30db\\u30dc\\u6236al\\xf3\\u0f1e\\u0180abr\\u30e7\\u30ea\\u30eer\\xf2\\u17e5rk;\\u6773\\u0100ak\\u30f3\\u30fdc\\u0100ek\\u30f9\\u30fb;\\u407d;\\u405d\\u0100es\\u3102\\u3104;\\u698cl\\u0100du\\u310a\\u310c;\\u698e;\\u6990\\u0200aeuy\\u3117\\u311c\\u3127\\u3129ron;\\u4159\\u0100di\\u3121\\u3125il;\\u4157\\xec\\u0ff2\\xe2\\u30fa;\\u4440\\u0200clqs\\u3134\\u3137\\u313d\\u3144a;\\u6937dhar;\\u6969uo\\u0100;r\\u020e\\u020dh;\\u61b3\\u0180acg\\u314e\\u315f\\u0f44l\\u0200;ips\\u0f78\\u3158\\u315b\\u109cn\\xe5\\u10bbar\\xf4\\u0fa9t;\\u65ad\\u0180ilr\\u3169\\u1023\\u316esht;\\u697d;\\uc000\\ud835\\udd2f\\u0100ao\\u3177\\u3186r\\u0100du\\u317d\\u317f\\xbb\\u047b\\u0100;l\\u1091\\u3184;\\u696c\\u0100;v\\u318b\\u318c\\u43c1;\\u43f1\\u0180gns\\u3195\\u31f9\\u31fcht\\u0300ahlrst\\u31a4\\u31b0\\u31c2\\u31d8\\u31e4\\u31eerrow\\u0100;t\\u0fdc\\u31ada\\xe9\\u30c8arpoon\\u0100du\\u31bb\\u31bfow\\xee\\u317ep\\xbb\\u1092eft\\u0100ah\\u31ca\\u31d0rrow\\xf3\\u0feaarpoon\\xf3\\u0551ightarrows;\\u61c9quigarro\\xf7\\u30cbhreetimes;\\u62ccg;\\u42daingdotse\\xf1\\u1f32\\u0180ahm\\u320d\\u3210\\u3213r\\xf2\\u0feaa\\xf2\\u0551;\\u600foust\\u0100;a\\u321e\\u321f\\u63b1che\\xbb\\u321fmid;\\u6aee\\u0200abpt\\u3232\\u323d\\u3240\\u3252\\u0100nr\\u3237\\u323ag;\\u67edr;\\u61fer\\xeb\\u1003\\u0180afl\\u3247\\u324a\\u324er;\\u6986;\\uc000\\ud835\\udd63us;\\u6a2eimes;\\u6a35\\u0100ap\\u325d\\u3267r\\u0100;g\\u3263\\u3264\\u4029t;\\u6994olint;\\u6a12ar\\xf2\\u31e3\\u0200achq\\u327b\\u3280\\u10bc\\u3285quo;\\u603ar;\\uc000\\ud835\\udcc7\\u0100bu\\u30fb\\u328ao\\u0100;r\\u0214\\u0213\\u0180hir\\u3297\\u329b\\u32a0re\\xe5\\u31f8mes;\\u62cai\\u0200;efl\\u32aa\\u1059\\u1821\\u32ab\\u65b9tri;\\u69celuhar;\\u6968;\\u611e\\u0d61\\u32d5\\u32db\\u32df\\u332c\\u3338\\u3371\\0\\u337a\\u33a4\\0\\0\\u33ec\\u33f0\\0\\u3428\\u3448\\u345a\\u34ad\\u34b1\\u34ca\\u34f1\\0\\u3616\\0\\0\\u3633cute;\\u415bqu\\xef\\u27ba\\u0500;Eaceinpsy\\u11ed\\u32f3\\u32f5\\u32ff\\u3302\\u330b\\u330f\\u331f\\u3326\\u3329;\\u6ab4\\u01f0\\u32fa\\0\\u32fc;\\u6ab8on;\\u4161u\\xe5\\u11fe\\u0100;d\\u11f3\\u3307il;\\u415frc;\\u415d\\u0180Eas\\u3316\\u3318\\u331b;\\u6ab6p;\\u6abaim;\\u62e9olint;\\u6a13i\\xed\\u1204;\\u4441ot\\u0180;be\\u3334\\u1d47\\u3335\\u62c5;\\u6a66\\u0380Aacmstx\\u3346\\u334a\\u3357\\u335b\\u335e\\u3363\\u336drr;\\u61d8r\\u0100hr\\u3350\\u3352\\xeb\\u2228\\u0100;o\\u0a36\\u0a34t\\u803b\\xa7\\u40a7i;\\u403bwar;\\u6929m\\u0100in\\u3369\\xf0nu\\xf3\\xf1t;\\u6736r\\u0100;o\\u3376\\u2055\\uc000\\ud835\\udd30\\u0200acoy\\u3382\\u3386\\u3391\\u33a0rp;\\u666f\\u0100hy\\u338b\\u338fcy;\\u4449;\\u4448rt\\u026d\\u3399\\0\\0\\u339ci\\xe4\\u1464ara\\xec\\u2e6f\\u803b\\xad\\u40ad\\u0100gm\\u33a8\\u33b4ma\\u0180;fv\\u33b1\\u33b2\\u33b2\\u43c3;\\u43c2\\u0400;deglnpr\\u12ab\\u33c5\\u33c9\\u33ce\\u33d6\\u33de\\u33e1\\u33e6ot;\\u6a6a\\u0100;q\\u12b1\\u12b0\\u0100;E\\u33d3\\u33d4\\u6a9e;\\u6aa0\\u0100;E\\u33db\\u33dc\\u6a9d;\\u6a9fe;\\u6246lus;\\u6a24arr;\\u6972ar\\xf2\\u113d\\u0200aeit\\u33f8\\u3408\\u340f\\u3417\\u0100ls\\u33fd\\u3404lsetm\\xe9\\u336ahp;\\u6a33parsl;\\u69e4\\u0100dl\\u1463\\u3414e;\\u6323\\u0100;e\\u341c\\u341d\\u6aaa\\u0100;s\\u3422\\u3423\\u6aac;\\uc000\\u2aac\\ufe00\\u0180flp\\u342e\\u3433\\u3442tcy;\\u444c\\u0100;b\\u3438\\u3439\\u402f\\u0100;a\\u343e\\u343f\\u69c4r;\\u633ff;\\uc000\\ud835\\udd64a\\u0100dr\\u344d\\u0402es\\u0100;u\\u3454\\u3455\\u6660it\\xbb\\u3455\\u0180csu\\u3460\\u3479\\u349f\\u0100au\\u3465\\u346fp\\u0100;s\\u1188\\u346b;\\uc000\\u2293\\ufe00p\\u0100;s\\u11b4\\u3475;\\uc000\\u2294\\ufe00u\\u0100bp\\u347f\\u348f\\u0180;es\\u1197\\u119c\\u3486et\\u0100;e\\u1197\\u348d\\xf1\\u119d\\u0180;es\\u11a8\\u11ad\\u3496et\\u0100;e\\u11a8\\u349d\\xf1\\u11ae\\u0180;af\\u117b\\u34a6\\u05b0r\\u0165\\u34ab\\u05b1\\xbb\\u117car\\xf2\\u1148\\u0200cemt\\u34b9\\u34be\\u34c2\\u34c5r;\\uc000\\ud835\\udcc8tm\\xee\\xf1i\\xec\\u3415ar\\xe6\\u11be\\u0100ar\\u34ce\\u34d5r\\u0100;f\\u34d4\\u17bf\\u6606\\u0100an\\u34da\\u34edight\\u0100ep\\u34e3\\u34eapsilo\\xee\\u1ee0h\\xe9\\u2eafs\\xbb\\u2852\\u0280bcmnp\\u34fb\\u355e\\u1209\\u358b\\u358e\\u0480;Edemnprs\\u350e\\u350f\\u3511\\u3515\\u351e\\u3523\\u352c\\u3531\\u3536\\u6282;\\u6ac5ot;\\u6abd\\u0100;d\\u11da\\u351aot;\\u6ac3ult;\\u6ac1\\u0100Ee\\u3528\\u352a;\\u6acb;\\u628alus;\\u6abfarr;\\u6979\\u0180eiu\\u353d\\u3552\\u3555t\\u0180;en\\u350e\\u3545\\u354bq\\u0100;q\\u11da\\u350feq\\u0100;q\\u352b\\u3528m;\\u6ac7\\u0100bp\\u355a\\u355c;\\u6ad5;\\u6ad3c\\u0300;acens\\u11ed\\u356c\\u3572\\u3579\\u357b\\u3326ppro\\xf8\\u32faurlye\\xf1\\u11fe\\xf1\\u11f3\\u0180aes\\u3582\\u3588\\u331bppro\\xf8\\u331aq\\xf1\\u3317g;\\u666a\\u0680123;Edehlmnps\\u35a9\\u35ac\\u35af\\u121c\\u35b2\\u35b4\\u35c0\\u35c9\\u35d5\\u35da\\u35df\\u35e8\\u35ed\\u803b\\xb9\\u40b9\\u803b\\xb2\\u40b2\\u803b\\xb3\\u40b3;\\u6ac6\\u0100os\\u35b9\\u35bct;\\u6abeub;\\u6ad8\\u0100;d\\u1222\\u35c5ot;\\u6ac4s\\u0100ou\\u35cf\\u35d2l;\\u67c9b;\\u6ad7arr;\\u697bult;\\u6ac2\\u0100Ee\\u35e4\\u35e6;\\u6acc;\\u628blus;\\u6ac0\\u0180eiu\\u35f4\\u3609\\u360ct\\u0180;en\\u121c\\u35fc\\u3602q\\u0100;q\\u1222\\u35b2eq\\u0100;q\\u35e7\\u35e4m;\\u6ac8\\u0100bp\\u3611\\u3613;\\u6ad4;\\u6ad6\\u0180Aan\\u361c\\u3620\\u362drr;\\u61d9r\\u0100hr\\u3626\\u3628\\xeb\\u222e\\u0100;o\\u0a2b\\u0a29war;\\u692alig\\u803b\\xdf\\u40df\\u0be1\\u3651\\u365d\\u3660\\u12ce\\u3673\\u3679\\0\\u367e\\u36c2\\0\\0\\0\\0\\0\\u36db\\u3703\\0\\u3709\\u376c\\0\\0\\0\\u3787\\u0272\\u3656\\0\\0\\u365bget;\\u6316;\\u43c4r\\xeb\\u0e5f\\u0180aey\\u3666\\u366b\\u3670ron;\\u4165dil;\\u4163;\\u4442lrec;\\u6315r;\\uc000\\ud835\\udd31\\u0200eiko\\u3686\\u369d\\u36b5\\u36bc\\u01f2\\u368b\\0\\u3691e\\u01004f\\u1284\\u1281a\\u0180;sv\\u3698\\u3699\\u369b\\u43b8ym;\\u43d1\\u0100cn\\u36a2\\u36b2k\\u0100as\\u36a8\\u36aeppro\\xf8\\u12c1im\\xbb\\u12acs\\xf0\\u129e\\u0100as\\u36ba\\u36ae\\xf0\\u12c1rn\\u803b\\xfe\\u40fe\\u01ec\\u031f\\u36c6\\u22e7es\\u8180\\xd7;bd\\u36cf\\u36d0\\u36d8\\u40d7\\u0100;a\\u190f\\u36d5r;\\u6a31;\\u6a30\\u0180eps\\u36e1\\u36e3\\u3700\\xe1\\u2a4d\\u0200;bcf\\u0486\\u36ec\\u36f0\\u36f4ot;\\u6336ir;\\u6af1\\u0100;o\\u36f9\\u36fc\\uc000\\ud835\\udd65rk;\\u6ada\\xe1\\u3362rime;\\u6034\\u0180aip\\u370f\\u3712\\u3764d\\xe5\\u1248\\u0380adempst\\u3721\\u374d\\u3740\\u3751\\u3757\\u375c\\u375fngle\\u0280;dlqr\\u3730\\u3731\\u3736\\u3740\\u3742\\u65b5own\\xbb\\u1dbbeft\\u0100;e\\u2800\\u373e\\xf1\\u092e;\\u625cight\\u0100;e\\u32aa\\u374b\\xf1\\u105aot;\\u65ecinus;\\u6a3alus;\\u6a39b;\\u69cdime;\\u6a3bezium;\\u63e2\\u0180cht\\u3772\\u377d\\u3781\\u0100ry\\u3777\\u377b;\\uc000\\ud835\\udcc9;\\u4446cy;\\u445brok;\\u4167\\u0100io\\u378b\\u378ex\\xf4\\u1777head\\u0100lr\\u3797\\u37a0eftarro\\xf7\\u084fightarrow\\xbb\\u0f5d\\u0900AHabcdfghlmoprstuw\\u37d0\\u37d3\\u37d7\\u37e4\\u37f0\\u37fc\\u380e\\u381c\\u3823\\u3834\\u3851\\u385d\\u386b\\u38a9\\u38cc\\u38d2\\u38ea\\u38f6r\\xf2\\u03edar;\\u6963\\u0100cr\\u37dc\\u37e2ute\\u803b\\xfa\\u40fa\\xf2\\u1150r\\u01e3\\u37ea\\0\\u37edy;\\u445eve;\\u416d\\u0100iy\\u37f5\\u37farc\\u803b\\xfb\\u40fb;\\u4443\\u0180abh\\u3803\\u3806\\u380br\\xf2\\u13adlac;\\u4171a\\xf2\\u13c3\\u0100ir\\u3813\\u3818sht;\\u697e;\\uc000\\ud835\\udd32rave\\u803b\\xf9\\u40f9\\u0161\\u3827\\u3831r\\u0100lr\\u382c\\u382e\\xbb\\u0957\\xbb\\u1083lk;\\u6580\\u0100ct\\u3839\\u384d\\u026f\\u383f\\0\\0\\u384arn\\u0100;e\\u3845\\u3846\\u631cr\\xbb\\u3846op;\\u630fri;\\u65f8\\u0100al\\u3856\\u385acr;\\u416b\\u80bb\\xa8\\u0349\\u0100gp\\u3862\\u3866on;\\u4173f;\\uc000\\ud835\\udd66\\u0300adhlsu\\u114b\\u3878\\u387d\\u1372\\u3891\\u38a0own\\xe1\\u13b3arpoon\\u0100lr\\u3888\\u388cef\\xf4\\u382digh\\xf4\\u382fi\\u0180;hl\\u3899\\u389a\\u389c\\u43c5\\xbb\\u13faon\\xbb\\u389aparrows;\\u61c8\\u0180cit\\u38b0\\u38c4\\u38c8\\u026f\\u38b6\\0\\0\\u38c1rn\\u0100;e\\u38bc\\u38bd\\u631dr\\xbb\\u38bdop;\\u630eng;\\u416fri;\\u65f9cr;\\uc000\\ud835\\udcca\\u0180dir\\u38d9\\u38dd\\u38e2ot;\\u62f0lde;\\u4169i\\u0100;f\\u3730\\u38e8\\xbb\\u1813\\u0100am\\u38ef\\u38f2r\\xf2\\u38a8l\\u803b\\xfc\\u40fcangle;\\u69a7\\u0780ABDacdeflnoprsz\\u391c\\u391f\\u3929\\u392d\\u39b5\\u39b8\\u39bd\\u39df\\u39e4\\u39e8\\u39f3\\u39f9\\u39fd\\u3a01\\u3a20r\\xf2\\u03f7ar\\u0100;v\\u3926\\u3927\\u6ae8;\\u6ae9as\\xe8\\u03e1\\u0100nr\\u3932\\u3937grt;\\u699c\\u0380eknprst\\u34e3\\u3946\\u394b\\u3952\\u395d\\u3964\\u3996app\\xe1\\u2415othin\\xe7\\u1e96\\u0180hir\\u34eb\\u2ec8\\u3959op\\xf4\\u2fb5\\u0100;h\\u13b7\\u3962\\xef\\u318d\\u0100iu\\u3969\\u396dgm\\xe1\\u33b3\\u0100bp\\u3972\\u3984setneq\\u0100;q\\u397d\\u3980\\uc000\\u228a\\ufe00;\\uc000\\u2acb\\ufe00setneq\\u0100;q\\u398f\\u3992\\uc000\\u228b\\ufe00;\\uc000\\u2acc\\ufe00\\u0100hr\\u399b\\u399fet\\xe1\\u369ciangle\\u0100lr\\u39aa\\u39afeft\\xbb\\u0925ight\\xbb\\u1051y;\\u4432ash\\xbb\\u1036\\u0180elr\\u39c4\\u39d2\\u39d7\\u0180;be\\u2dea\\u39cb\\u39cfar;\\u62bbq;\\u625alip;\\u62ee\\u0100bt\\u39dc\\u1468a\\xf2\\u1469r;\\uc000\\ud835\\udd33tr\\xe9\\u39aesu\\u0100bp\\u39ef\\u39f1\\xbb\\u0d1c\\xbb\\u0d59pf;\\uc000\\ud835\\udd67ro\\xf0\\u0efbtr\\xe9\\u39b4\\u0100cu\\u3a06\\u3a0br;\\uc000\\ud835\\udccb\\u0100bp\\u3a10\\u3a18n\\u0100Ee\\u3980\\u3a16\\xbb\\u397en\\u0100Ee\\u3992\\u3a1e\\xbb\\u3990igzag;\\u699a\\u0380cefoprs\\u3a36\\u3a3b\\u3a56\\u3a5b\\u3a54\\u3a61\\u3a6airc;\\u4175\\u0100di\\u3a40\\u3a51\\u0100bg\\u3a45\\u3a49ar;\\u6a5fe\\u0100;q\\u15fa\\u3a4f;\\u6259erp;\\u6118r;\\uc000\\ud835\\udd34pf;\\uc000\\ud835\\udd68\\u0100;e\\u1479\\u3a66at\\xe8\\u1479cr;\\uc000\\ud835\\udccc\\u0ae3\\u178e\\u3a87\\0\\u3a8b\\0\\u3a90\\u3a9b\\0\\0\\u3a9d\\u3aa8\\u3aab\\u3aaf\\0\\0\\u3ac3\\u3ace\\0\\u3ad8\\u17dc\\u17dftr\\xe9\\u17d1r;\\uc000\\ud835\\udd35\\u0100Aa\\u3a94\\u3a97r\\xf2\\u03c3r\\xf2\\u09f6;\\u43be\\u0100Aa\\u3aa1\\u3aa4r\\xf2\\u03b8r\\xf2\\u09eba\\xf0\\u2713is;\\u62fb\\u0180dpt\\u17a4\\u3ab5\\u3abe\\u0100fl\\u3aba\\u17a9;\\uc000\\ud835\\udd69im\\xe5\\u17b2\\u0100Aa\\u3ac7\\u3acar\\xf2\\u03cer\\xf2\\u0a01\\u0100cq\\u3ad2\\u17b8r;\\uc000\\ud835\\udccd\\u0100pt\\u17d6\\u3adcr\\xe9\\u17d4\\u0400acefiosu\\u3af0\\u3afd\\u3b08\\u3b0c\\u3b11\\u3b15\\u3b1b\\u3b21c\\u0100uy\\u3af6\\u3afbte\\u803b\\xfd\\u40fd;\\u444f\\u0100iy\\u3b02\\u3b06rc;\\u4177;\\u444bn\\u803b\\xa5\\u40a5r;\\uc000\\ud835\\udd36cy;\\u4457pf;\\uc000\\ud835\\udd6acr;\\uc000\\ud835\\udcce\\u0100cm\\u3b26\\u3b29y;\\u444el\\u803b\\xff\\u40ff\\u0500acdefhiosw\\u3b42\\u3b48\\u3b54\\u3b58\\u3b64\\u3b69\\u3b6d\\u3b74\\u3b7a\\u3b80cute;\\u417a\\u0100ay\\u3b4d\\u3b52ron;\\u417e;\\u4437ot;\\u417c\\u0100et\\u3b5d\\u3b61tr\\xe6\\u155fa;\\u43b6r;\\uc000\\ud835\\udd37cy;\\u4436grarr;\\u61ddpf;\\uc000\\ud835\\udd6bcr;\\uc000\\ud835\\udccf\\u0100jn\\u3b85\\u3b87;\\u600dj;\\u600c\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-html.js.map","\"use strict\";\n// Generated using scripts/write-decode-map.ts\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.default = new Uint16Array(\n// prettier-ignore\n\"\\u0200aglq\\t\\x15\\x18\\x1b\\u026d\\x0f\\0\\0\\x12p;\\u4026os;\\u4027t;\\u403et;\\u403cuot;\\u4022\"\n .split(\"\")\n .map(function (c) { return c.charCodeAt(0); }));\n//# sourceMappingURL=decode-data-xml.js.map","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n/*!\n * is-plain-object \n *\n * Copyright (c) 2014-2017, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nfunction isObject(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nfunction isPlainObject(o) {\n var ctor,prot;\n\n if (isObject(o) === false) return false;\n\n // If has modified constructor\n ctor = o.constructor;\n if (ctor === undefined) return true;\n\n // If has modified prototype\n prot = ctor.prototype;\n if (isObject(prot) === false) return false;\n\n // If constructor does not have an Object-specific method\n if (prot.hasOwnProperty('isPrototypeOf') === false) {\n return false;\n }\n\n // Most likely a plain Object\n return true;\n}\n\nexports.isPlainObject = isPlainObject;\n","'use strict';\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Helpers\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\nfunction isString(obj) { return _class(obj) === '[object String]'; }\nfunction isObject(obj) { return _class(obj) === '[object Object]'; }\nfunction isRegExp(obj) { return _class(obj) === '[object RegExp]'; }\nfunction isFunction(obj) { return _class(obj) === '[object Function]'; }\n\n\nfunction escapeRE(str) { return str.replace(/[.?*+^$[\\]\\\\(){}|-]/g, '\\\\$&'); }\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar defaultOptions = {\n fuzzyLink: true,\n fuzzyEmail: true,\n fuzzyIP: false\n};\n\n\nfunction isOptionsObj(obj) {\n return Object.keys(obj || {}).reduce(function (acc, k) {\n return acc || defaultOptions.hasOwnProperty(k);\n }, false);\n}\n\n\nvar defaultSchemas = {\n 'http:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.http = new RegExp(\n '^\\\\/\\\\/' + self.re.src_auth + self.re.src_host_port_strict + self.re.src_path, 'i'\n );\n }\n if (self.re.http.test(tail)) {\n return tail.match(self.re.http)[0].length;\n }\n return 0;\n }\n },\n 'https:': 'http:',\n 'ftp:': 'http:',\n '//': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.no_http) {\n // compile lazily, because \"host\"-containing variables can change on tlds update.\n self.re.no_http = new RegExp(\n '^' +\n self.re.src_auth +\n // Don't allow single-level domains, because of false positives like '//test'\n // with code comments\n '(?:localhost|(?:(?:' + self.re.src_domain + ')\\\\.)+' + self.re.src_domain_root + ')' +\n self.re.src_port +\n self.re.src_host_terminator +\n self.re.src_path,\n\n 'i'\n );\n }\n\n if (self.re.no_http.test(tail)) {\n // should not be `://` & `///`, that protects from errors in protocol name\n if (pos >= 3 && text[pos - 3] === ':') { return 0; }\n if (pos >= 3 && text[pos - 3] === '/') { return 0; }\n return tail.match(self.re.no_http)[0].length;\n }\n return 0;\n }\n },\n 'mailto:': {\n validate: function (text, pos, self) {\n var tail = text.slice(pos);\n\n if (!self.re.mailto) {\n self.re.mailto = new RegExp(\n '^' + self.re.src_email_name + '@' + self.re.src_host_strict, 'i'\n );\n }\n if (self.re.mailto.test(tail)) {\n return tail.match(self.re.mailto)[0].length;\n }\n return 0;\n }\n }\n};\n\n/*eslint-disable max-len*/\n\n// RE pattern for 2-character tlds (autogenerated by ./support/tlds_2char_gen.js)\nvar tlds_2ch_src_re = 'a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]';\n\n// DON'T try to make PRs with changes. Extend TLDs with LinkifyIt.tlds() instead\nvar tlds_default = 'biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф'.split('|');\n\n/*eslint-enable max-len*/\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction resetScanCache(self) {\n self.__index__ = -1;\n self.__text_cache__ = '';\n}\n\nfunction createValidator(re) {\n return function (text, pos) {\n var tail = text.slice(pos);\n\n if (re.test(tail)) {\n return tail.match(re)[0].length;\n }\n return 0;\n };\n}\n\nfunction createNormalizer() {\n return function (match, self) {\n self.normalize(match);\n };\n}\n\n// Schemas compiler. Build regexps.\n//\nfunction compile(self) {\n\n // Load & clone RE patterns.\n var re = self.re = require('./lib/re')(self.__opts__);\n\n // Define dynamic patterns\n var tlds = self.__tlds__.slice();\n\n self.onCompile();\n\n if (!self.__tlds_replaced__) {\n tlds.push(tlds_2ch_src_re);\n }\n tlds.push(re.src_xn);\n\n re.src_tlds = tlds.join('|');\n\n function untpl(tpl) { return tpl.replace('%TLDS%', re.src_tlds); }\n\n re.email_fuzzy = RegExp(untpl(re.tpl_email_fuzzy), 'i');\n re.link_fuzzy = RegExp(untpl(re.tpl_link_fuzzy), 'i');\n re.link_no_ip_fuzzy = RegExp(untpl(re.tpl_link_no_ip_fuzzy), 'i');\n re.host_fuzzy_test = RegExp(untpl(re.tpl_host_fuzzy_test), 'i');\n\n //\n // Compile each schema\n //\n\n var aliases = [];\n\n self.__compiled__ = {}; // Reset compiled data\n\n function schemaError(name, val) {\n throw new Error('(LinkifyIt) Invalid schema \"' + name + '\": ' + val);\n }\n\n Object.keys(self.__schemas__).forEach(function (name) {\n var val = self.__schemas__[name];\n\n // skip disabled methods\n if (val === null) { return; }\n\n var compiled = { validate: null, link: null };\n\n self.__compiled__[name] = compiled;\n\n if (isObject(val)) {\n if (isRegExp(val.validate)) {\n compiled.validate = createValidator(val.validate);\n } else if (isFunction(val.validate)) {\n compiled.validate = val.validate;\n } else {\n schemaError(name, val);\n }\n\n if (isFunction(val.normalize)) {\n compiled.normalize = val.normalize;\n } else if (!val.normalize) {\n compiled.normalize = createNormalizer();\n } else {\n schemaError(name, val);\n }\n\n return;\n }\n\n if (isString(val)) {\n aliases.push(name);\n return;\n }\n\n schemaError(name, val);\n });\n\n //\n // Compile postponed aliases\n //\n\n aliases.forEach(function (alias) {\n if (!self.__compiled__[self.__schemas__[alias]]) {\n // Silently fail on missed schemas to avoid errons on disable.\n // schemaError(alias, self.__schemas__[alias]);\n return;\n }\n\n self.__compiled__[alias].validate =\n self.__compiled__[self.__schemas__[alias]].validate;\n self.__compiled__[alias].normalize =\n self.__compiled__[self.__schemas__[alias]].normalize;\n });\n\n //\n // Fake record for guessed links\n //\n self.__compiled__[''] = { validate: null, normalize: createNormalizer() };\n\n //\n // Build schema condition\n //\n var slist = Object.keys(self.__compiled__)\n .filter(function (name) {\n // Filter disabled & fake schemas\n return name.length > 0 && self.__compiled__[name];\n })\n .map(escapeRE)\n .join('|');\n // (?!_) cause 1.5x slowdown\n self.re.schema_test = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'i');\n self.re.schema_search = RegExp('(^|(?!_)(?:[><\\uff5c]|' + re.src_ZPCc + '))(' + slist + ')', 'ig');\n self.re.schema_at_start = RegExp('^' + self.re.schema_search.source, 'i');\n\n self.re.pretest = RegExp(\n '(' + self.re.schema_test.source + ')|(' + self.re.host_fuzzy_test.source + ')|@',\n 'i'\n );\n\n //\n // Cleanup\n //\n\n resetScanCache(self);\n}\n\n/**\n * class Match\n *\n * Match result. Single element of array, returned by [[LinkifyIt#match]]\n **/\nfunction Match(self, shift) {\n var start = self.__index__,\n end = self.__last_index__,\n text = self.__text_cache__.slice(start, end);\n\n /**\n * Match#schema -> String\n *\n * Prefix (protocol) for matched string.\n **/\n this.schema = self.__schema__.toLowerCase();\n /**\n * Match#index -> Number\n *\n * First position of matched string.\n **/\n this.index = start + shift;\n /**\n * Match#lastIndex -> Number\n *\n * Next position after matched string.\n **/\n this.lastIndex = end + shift;\n /**\n * Match#raw -> String\n *\n * Matched string.\n **/\n this.raw = text;\n /**\n * Match#text -> String\n *\n * Notmalized text of matched string.\n **/\n this.text = text;\n /**\n * Match#url -> String\n *\n * Normalized url of matched string.\n **/\n this.url = text;\n}\n\nfunction createMatch(self, shift) {\n var match = new Match(self, shift);\n\n self.__compiled__[match.schema].normalize(match, self);\n\n return match;\n}\n\n\n/**\n * class LinkifyIt\n **/\n\n/**\n * new LinkifyIt(schemas, options)\n * - schemas (Object): Optional. Additional schemas to validate (prefix/validator)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Creates new linkifier instance with optional additional schemas.\n * Can be called without `new` keyword for convenience.\n *\n * By default understands:\n *\n * - `http(s)://...` , `ftp://...`, `mailto:...` & `//...` links\n * - \"fuzzy\" links and emails (example.com, foo@bar.com).\n *\n * `schemas` is an object, where each key/value describes protocol/rule:\n *\n * - __key__ - link prefix (usually, protocol name with `:` at the end, `skype:`\n * for example). `linkify-it` makes shure that prefix is not preceeded with\n * alphanumeric char and symbols. Only whitespaces and punctuation allowed.\n * - __value__ - rule to check tail after link prefix\n * - _String_ - just alias to existing rule\n * - _Object_\n * - _validate_ - validator function (should return matched length on success),\n * or `RegExp`.\n * - _normalize_ - optional function to normalize text & url of matched result\n * (for example, for @twitter mentions).\n *\n * `options`:\n *\n * - __fuzzyLink__ - recognige URL-s without `http(s):` prefix. Default `true`.\n * - __fuzzyIP__ - allow IPs in fuzzy links above. Can conflict with some texts\n * like version numbers. Default `false`.\n * - __fuzzyEmail__ - recognize emails without `mailto:` prefix.\n *\n **/\nfunction LinkifyIt(schemas, options) {\n if (!(this instanceof LinkifyIt)) {\n return new LinkifyIt(schemas, options);\n }\n\n if (!options) {\n if (isOptionsObj(schemas)) {\n options = schemas;\n schemas = {};\n }\n }\n\n this.__opts__ = assign({}, defaultOptions, options);\n\n // Cache last tested result. Used to skip repeating steps on next `match` call.\n this.__index__ = -1;\n this.__last_index__ = -1; // Next scan position\n this.__schema__ = '';\n this.__text_cache__ = '';\n\n this.__schemas__ = assign({}, defaultSchemas, schemas);\n this.__compiled__ = {};\n\n this.__tlds__ = tlds_default;\n this.__tlds_replaced__ = false;\n\n this.re = {};\n\n compile(this);\n}\n\n\n/** chainable\n * LinkifyIt#add(schema, definition)\n * - schema (String): rule name (fixed pattern prefix)\n * - definition (String|RegExp|Object): schema definition\n *\n * Add new rule definition. See constructor description for details.\n **/\nLinkifyIt.prototype.add = function add(schema, definition) {\n this.__schemas__[schema] = definition;\n compile(this);\n return this;\n};\n\n\n/** chainable\n * LinkifyIt#set(options)\n * - options (Object): { fuzzyLink|fuzzyEmail|fuzzyIP: true|false }\n *\n * Set recognition options for links without schema.\n **/\nLinkifyIt.prototype.set = function set(options) {\n this.__opts__ = assign(this.__opts__, options);\n return this;\n};\n\n\n/**\n * LinkifyIt#test(text) -> Boolean\n *\n * Searches linkifiable pattern and returns `true` on success or `false` on fail.\n **/\nLinkifyIt.prototype.test = function test(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) { return false; }\n\n var m, ml, me, len, shift, next, re, tld_pos, at_pos;\n\n // try to scan for link with schema - that's the most simple rule\n if (this.re.schema_test.test(text)) {\n re = this.re.schema_search;\n re.lastIndex = 0;\n while ((m = re.exec(text)) !== null) {\n len = this.testSchemaAt(text, m[2], re.lastIndex);\n if (len) {\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n break;\n }\n }\n }\n\n if (this.__opts__.fuzzyLink && this.__compiled__['http:']) {\n // guess schemaless links\n tld_pos = text.search(this.re.host_fuzzy_test);\n if (tld_pos >= 0) {\n // if tld is located after found link - no need to check fuzzy pattern\n if (this.__index__ < 0 || tld_pos < this.__index__) {\n if ((ml = text.match(this.__opts__.fuzzyIP ? this.re.link_fuzzy : this.re.link_no_ip_fuzzy)) !== null) {\n\n shift = ml.index + ml[1].length;\n\n if (this.__index__ < 0 || shift < this.__index__) {\n this.__schema__ = '';\n this.__index__ = shift;\n this.__last_index__ = ml.index + ml[0].length;\n }\n }\n }\n }\n }\n\n if (this.__opts__.fuzzyEmail && this.__compiled__['mailto:']) {\n // guess schemaless emails\n at_pos = text.indexOf('@');\n if (at_pos >= 0) {\n // We can't skip this check, because this cases are possible:\n // 192.168.1.1@gmail.com, my.in@example.com\n if ((me = text.match(this.re.email_fuzzy)) !== null) {\n\n shift = me.index + me[1].length;\n next = me.index + me[0].length;\n\n if (this.__index__ < 0 || shift < this.__index__ ||\n (shift === this.__index__ && next > this.__last_index__)) {\n this.__schema__ = 'mailto:';\n this.__index__ = shift;\n this.__last_index__ = next;\n }\n }\n }\n }\n\n return this.__index__ >= 0;\n};\n\n\n/**\n * LinkifyIt#pretest(text) -> Boolean\n *\n * Very quick check, that can give false positives. Returns true if link MAY BE\n * can exists. Can be used for speed optimization, when you need to check that\n * link NOT exists.\n **/\nLinkifyIt.prototype.pretest = function pretest(text) {\n return this.re.pretest.test(text);\n};\n\n\n/**\n * LinkifyIt#testSchemaAt(text, name, position) -> Number\n * - text (String): text to scan\n * - name (String): rule (schema) name\n * - position (Number): text offset to check from\n *\n * Similar to [[LinkifyIt#test]] but checks only specific protocol tail exactly\n * at given position. Returns length of found pattern (0 on fail).\n **/\nLinkifyIt.prototype.testSchemaAt = function testSchemaAt(text, schema, pos) {\n // If not supported schema check requested - terminate\n if (!this.__compiled__[schema.toLowerCase()]) {\n return 0;\n }\n return this.__compiled__[schema.toLowerCase()].validate(text, pos, this);\n};\n\n\n/**\n * LinkifyIt#match(text) -> Array|null\n *\n * Returns array of found link descriptions or `null` on fail. We strongly\n * recommend to use [[LinkifyIt#test]] first, for best speed.\n *\n * ##### Result match description\n *\n * - __schema__ - link schema, can be empty for fuzzy links, or `//` for\n * protocol-neutral links.\n * - __index__ - offset of matched text\n * - __lastIndex__ - index of next char after mathch end\n * - __raw__ - matched text\n * - __text__ - normalized text\n * - __url__ - link, generated from matched text\n **/\nLinkifyIt.prototype.match = function match(text) {\n var shift = 0, result = [];\n\n // Try to take previous element from cache, if .test() called before\n if (this.__index__ >= 0 && this.__text_cache__ === text) {\n result.push(createMatch(this, shift));\n shift = this.__last_index__;\n }\n\n // Cut head if cache was used\n var tail = shift ? text.slice(shift) : text;\n\n // Scan string until end reached\n while (this.test(tail)) {\n result.push(createMatch(this, shift));\n\n tail = tail.slice(this.__last_index__);\n shift += this.__last_index__;\n }\n\n if (result.length) {\n return result;\n }\n\n return null;\n};\n\n\n/**\n * LinkifyIt#matchAtStart(text) -> Match|null\n *\n * Returns fully-formed (not fuzzy) link if it starts at the beginning\n * of the string, and null otherwise.\n **/\nLinkifyIt.prototype.matchAtStart = function matchAtStart(text) {\n // Reset scan cache\n this.__text_cache__ = text;\n this.__index__ = -1;\n\n if (!text.length) return null;\n\n var m = this.re.schema_at_start.exec(text);\n if (!m) return null;\n\n var len = this.testSchemaAt(text, m[2], m[0].length);\n if (!len) return null;\n\n this.__schema__ = m[2];\n this.__index__ = m.index + m[1].length;\n this.__last_index__ = m.index + m[0].length + len;\n\n return createMatch(this, 0);\n};\n\n\n/** chainable\n * LinkifyIt#tlds(list [, keepOld]) -> this\n * - list (Array): list of tlds\n * - keepOld (Boolean): merge with current list if `true` (`false` by default)\n *\n * Load (or merge) new tlds list. Those are user for fuzzy links (without prefix)\n * to avoid false positives. By default this algorythm used:\n *\n * - hostname with any 2-letter root zones are ok.\n * - biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф\n * are ok.\n * - encoded (`xn--...`) root zones are ok.\n *\n * If list is replaced, then exact match for 2-chars root zones will be checked.\n **/\nLinkifyIt.prototype.tlds = function tlds(list, keepOld) {\n list = Array.isArray(list) ? list : [ list ];\n\n if (!keepOld) {\n this.__tlds__ = list.slice();\n this.__tlds_replaced__ = true;\n compile(this);\n return this;\n }\n\n this.__tlds__ = this.__tlds__.concat(list)\n .sort()\n .filter(function (el, idx, arr) {\n return el !== arr[idx - 1];\n })\n .reverse();\n\n compile(this);\n return this;\n};\n\n/**\n * LinkifyIt#normalize(match)\n *\n * Default normalizer (if schema does not define it's own).\n **/\nLinkifyIt.prototype.normalize = function normalize(match) {\n\n // Do minimal possible changes by default. Need to collect feedback prior\n // to move forward https://github.com/markdown-it/linkify-it/issues/1\n\n if (!match.schema) { match.url = 'http://' + match.url; }\n\n if (match.schema === 'mailto:' && !/^mailto:/i.test(match.url)) {\n match.url = 'mailto:' + match.url;\n }\n};\n\n\n/**\n * LinkifyIt#onCompile()\n *\n * Override to modify basic RegExp-s.\n **/\nLinkifyIt.prototype.onCompile = function onCompile() {\n};\n\n\nmodule.exports = LinkifyIt;\n","'use strict';\n\n\nmodule.exports = function (opts) {\n var re = {};\n opts = opts || {};\n\n // Use direct extract instead of `regenerate` to reduse browserified size\n re.src_Any = require('uc.micro/properties/Any/regex').source;\n re.src_Cc = require('uc.micro/categories/Cc/regex').source;\n re.src_Z = require('uc.micro/categories/Z/regex').source;\n re.src_P = require('uc.micro/categories/P/regex').source;\n\n // \\p{\\Z\\P\\Cc\\CF} (white spaces + control + format + punctuation)\n re.src_ZPCc = [ re.src_Z, re.src_P, re.src_Cc ].join('|');\n\n // \\p{\\Z\\Cc} (white spaces + control)\n re.src_ZCc = [ re.src_Z, re.src_Cc ].join('|');\n\n // Experimental. List of chars, completely prohibited in links\n // because can separate it from other part of text\n var text_separators = '[><\\uff5c]';\n\n // All possible word characters (everything without punctuation, spaces & controls)\n // Defined via punctuation & spaces to save space\n // Should be something like \\p{\\L\\N\\S\\M} (\\w but without `_`)\n re.src_pseudo_letter = '(?:(?!' + text_separators + '|' + re.src_ZPCc + ')' + re.src_Any + ')';\n // The same as abothe but without [0-9]\n // var src_pseudo_letter_non_d = '(?:(?![0-9]|' + src_ZPCc + ')' + src_Any + ')';\n\n ////////////////////////////////////////////////////////////////////////////////\n\n re.src_ip4 =\n\n '(?:(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)';\n\n // Prohibit any of \"@/[]()\" in user/pass to avoid wrong domain fetch.\n re.src_auth = '(?:(?:(?!' + re.src_ZCc + '|[@/\\\\[\\\\]()]).)+@)?';\n\n re.src_port =\n\n '(?::(?:6(?:[0-4]\\\\d{3}|5(?:[0-4]\\\\d{2}|5(?:[0-2]\\\\d|3[0-5])))|[1-5]?\\\\d{1,4}))?';\n\n re.src_host_terminator =\n\n '(?=$|' + text_separators + '|' + re.src_ZPCc + ')' +\n '(?!' + (opts['---'] ? '-(?!--)|' : '-|') + '_|:\\\\d|\\\\.-|\\\\.(?!$|' + re.src_ZPCc + '))';\n\n re.src_path =\n\n '(?:' +\n '[/?#]' +\n '(?:' +\n '(?!' + re.src_ZCc + '|' + text_separators + '|[()[\\\\]{}.,\"\\'?!\\\\-;]).|' +\n '\\\\[(?:(?!' + re.src_ZCc + '|\\\\]).)*\\\\]|' +\n '\\\\((?:(?!' + re.src_ZCc + '|[)]).)*\\\\)|' +\n '\\\\{(?:(?!' + re.src_ZCc + '|[}]).)*\\\\}|' +\n '\\\\\"(?:(?!' + re.src_ZCc + '|[\"]).)+\\\\\"|' +\n \"\\\\'(?:(?!\" + re.src_ZCc + \"|[']).)+\\\\'|\" +\n \"\\\\'(?=\" + re.src_pseudo_letter + '|[-])|' + // allow `I'm_king` if no pair found\n '\\\\.{2,}[a-zA-Z0-9%/&]|' + // google has many dots in \"google search\" links (#66, #81).\n // github has ... in commit range links,\n // Restrict to\n // - english\n // - percent-encoded\n // - parts of file path\n // - params separator\n // until more examples found.\n '\\\\.(?!' + re.src_ZCc + '|[.]|$)|' +\n (opts['---'] ?\n '\\\\-(?!--(?:[^-]|$))(?:-*)|' // `---` => long dash, terminate\n :\n '\\\\-+|'\n ) +\n ',(?!' + re.src_ZCc + '|$)|' + // allow `,,,` in paths\n ';(?!' + re.src_ZCc + '|$)|' + // allow `;` if not followed by space-like char\n '\\\\!+(?!' + re.src_ZCc + '|[!]|$)|' + // allow `!!!` in paths, but not at the end\n '\\\\?(?!' + re.src_ZCc + '|[?]|$)' +\n ')+' +\n '|\\\\/' +\n ')?';\n\n // Allow anything in markdown spec, forbid quote (\") at the first position\n // because emails enclosed in quotes are far more common\n re.src_email_name =\n\n '[\\\\-;:&=\\\\+\\\\$,\\\\.a-zA-Z0-9_][\\\\-;:&=\\\\+\\\\$,\\\\\"\\\\.a-zA-Z0-9_]*';\n\n re.src_xn =\n\n 'xn--[a-z0-9\\\\-]{1,59}';\n\n // More to read about domain names\n // http://serverfault.com/questions/638260/\n\n re.src_domain_root =\n\n // Allow letters & digits (http://test1)\n '(?:' +\n re.src_xn +\n '|' +\n re.src_pseudo_letter + '{1,63}' +\n ')';\n\n re.src_domain =\n\n '(?:' +\n re.src_xn +\n '|' +\n '(?:' + re.src_pseudo_letter + ')' +\n '|' +\n '(?:' + re.src_pseudo_letter + '(?:-|' + re.src_pseudo_letter + '){0,61}' + re.src_pseudo_letter + ')' +\n ')';\n\n re.src_host =\n\n '(?:' +\n // Don't need IP check, because digits are already allowed in normal domain names\n // src_ip4 +\n // '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)*' + re.src_domain/*_root*/ + ')' +\n ')';\n\n re.tpl_host_fuzzy =\n\n '(?:' +\n re.src_ip4 +\n '|' +\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))' +\n ')';\n\n re.tpl_host_no_ip_fuzzy =\n\n '(?:(?:(?:' + re.src_domain + ')\\\\.)+(?:%TLDS%))';\n\n re.src_host_strict =\n\n re.src_host + re.src_host_terminator;\n\n re.tpl_host_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_host_terminator;\n\n re.src_host_port_strict =\n\n re.src_host + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_fuzzy_strict =\n\n re.tpl_host_fuzzy + re.src_port + re.src_host_terminator;\n\n re.tpl_host_port_no_ip_fuzzy_strict =\n\n re.tpl_host_no_ip_fuzzy + re.src_port + re.src_host_terminator;\n\n\n ////////////////////////////////////////////////////////////////////////////////\n // Main rules\n\n // Rude test fuzzy links by host, for quick deny\n re.tpl_host_fuzzy_test =\n\n 'localhost|www\\\\.|\\\\.\\\\d{1,3}\\\\.|(?:\\\\.(?:%TLDS%)(?:' + re.src_ZPCc + '|>|$))';\n\n re.tpl_email_fuzzy =\n\n '(^|' + text_separators + '|\"|\\\\(|' + re.src_ZCc + ')' +\n '(' + re.src_email_name + '@' + re.tpl_host_fuzzy_strict + ')';\n\n re.tpl_link_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_fuzzy_strict + re.src_path + ')';\n\n re.tpl_link_no_ip_fuzzy =\n // Fuzzy link can't be prepended with .:/\\- and non punctuation.\n // but can start with > (markdown blockquote)\n '(^|(?![.:/\\\\-_@])(?:[$+<=>^`|\\uff5c]|' + re.src_ZPCc + '))' +\n '((?![$+<=>^`|\\uff5c])' + re.tpl_host_port_no_ip_fuzzy_strict + re.src_path + ')';\n\n return re;\n};\n","'use strict';\n\n\nmodule.exports = require('./lib/');\n","// HTML5 entities map: { name -> utf16string }\n//\n'use strict';\n\n/*eslint quotes:0*/\nmodule.exports = require('entities/lib/maps/entities.json');\n","// List of valid html blocks names, accorting to commonmark spec\n// http://jgm.github.io/CommonMark/spec.html#html-blocks\n\n'use strict';\n\n\nmodule.exports = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'section',\n 'source',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n];\n","// Regexps to match html elements\n\n'use strict';\n\nvar attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\n\nvar unquoted = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar single_quoted = \"'[^']*'\";\nvar double_quoted = '\"[^\"]*\"';\n\nvar attr_value = '(?:' + unquoted + '|' + single_quoted + '|' + double_quoted + ')';\n\nvar attribute = '(?:\\\\s+' + attr_name + '(?:\\\\s*=\\\\s*' + attr_value + ')?)';\n\nvar open_tag = '<[A-Za-z][A-Za-z0-9\\\\-]*' + attribute + '*\\\\s*\\\\/?>';\n\nvar close_tag = '<\\\\/[A-Za-z][A-Za-z0-9\\\\-]*\\\\s*>';\nvar comment = '|';\nvar processing = '<[?][\\\\s\\\\S]*?[?]>';\nvar declaration = ']*>';\nvar cdata = '';\n\nvar HTML_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + '|' + comment +\n '|' + processing + '|' + declaration + '|' + cdata + ')');\nvar HTML_OPEN_CLOSE_TAG_RE = new RegExp('^(?:' + open_tag + '|' + close_tag + ')');\n\nmodule.exports.HTML_TAG_RE = HTML_TAG_RE;\nmodule.exports.HTML_OPEN_CLOSE_TAG_RE = HTML_OPEN_CLOSE_TAG_RE;\n","// Utilities\n//\n'use strict';\n\n\nfunction _class(obj) { return Object.prototype.toString.call(obj); }\n\nfunction isString(obj) { return _class(obj) === '[object String]'; }\n\nvar _hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction has(object, key) {\n return _hasOwnProperty.call(object, key);\n}\n\n// Merge objects\n//\nfunction assign(obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n\n sources.forEach(function (source) {\n if (!source) { return; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be object');\n }\n\n Object.keys(source).forEach(function (key) {\n obj[key] = source[key];\n });\n });\n\n return obj;\n}\n\n// Remove element from array and put another array at those position.\n// Useful for some operations with tokens\nfunction arrayReplaceAt(src, pos, newElements) {\n return [].concat(src.slice(0, pos), newElements, src.slice(pos + 1));\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isValidEntityCode(c) {\n /*eslint no-bitwise:0*/\n // broken sequence\n if (c >= 0xD800 && c <= 0xDFFF) { return false; }\n // never used\n if (c >= 0xFDD0 && c <= 0xFDEF) { return false; }\n if ((c & 0xFFFF) === 0xFFFF || (c & 0xFFFF) === 0xFFFE) { return false; }\n // control codes\n if (c >= 0x00 && c <= 0x08) { return false; }\n if (c === 0x0B) { return false; }\n if (c >= 0x0E && c <= 0x1F) { return false; }\n if (c >= 0x7F && c <= 0x9F) { return false; }\n // out of range\n if (c > 0x10FFFF) { return false; }\n return true;\n}\n\nfunction fromCodePoint(c) {\n /*eslint no-bitwise:0*/\n if (c > 0xffff) {\n c -= 0x10000;\n var surrogate1 = 0xd800 + (c >> 10),\n surrogate2 = 0xdc00 + (c & 0x3ff);\n\n return String.fromCharCode(surrogate1, surrogate2);\n }\n return String.fromCharCode(c);\n}\n\n\nvar UNESCAPE_MD_RE = /\\\\([!\"#$%&'()*+,\\-.\\/:;<=>?@[\\\\\\]^_`{|}~])/g;\nvar ENTITY_RE = /&([a-z#][a-z0-9]{1,31});/gi;\nvar UNESCAPE_ALL_RE = new RegExp(UNESCAPE_MD_RE.source + '|' + ENTITY_RE.source, 'gi');\n\nvar DIGITAL_ENTITY_TEST_RE = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;\n\nvar entities = require('./entities');\n\nfunction replaceEntityPattern(match, name) {\n var code;\n\n if (has(entities, name)) {\n return entities[name];\n }\n\n if (name.charCodeAt(0) === 0x23/* # */ && DIGITAL_ENTITY_TEST_RE.test(name)) {\n code = name[1].toLowerCase() === 'x' ?\n parseInt(name.slice(2), 16) : parseInt(name.slice(1), 10);\n\n if (isValidEntityCode(code)) {\n return fromCodePoint(code);\n }\n }\n\n return match;\n}\n\n/*function replaceEntities(str) {\n if (str.indexOf('&') < 0) { return str; }\n\n return str.replace(ENTITY_RE, replaceEntityPattern);\n}*/\n\nfunction unescapeMd(str) {\n if (str.indexOf('\\\\') < 0) { return str; }\n return str.replace(UNESCAPE_MD_RE, '$1');\n}\n\nfunction unescapeAll(str) {\n if (str.indexOf('\\\\') < 0 && str.indexOf('&') < 0) { return str; }\n\n return str.replace(UNESCAPE_ALL_RE, function (match, escaped, entity) {\n if (escaped) { return escaped; }\n return replaceEntityPattern(match, entity);\n });\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar HTML_ESCAPE_TEST_RE = /[&<>\"]/;\nvar HTML_ESCAPE_REPLACE_RE = /[&<>\"]/g;\nvar HTML_REPLACEMENTS = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"'\n};\n\nfunction replaceUnsafeChar(ch) {\n return HTML_REPLACEMENTS[ch];\n}\n\nfunction escapeHtml(str) {\n if (HTML_ESCAPE_TEST_RE.test(str)) {\n return str.replace(HTML_ESCAPE_REPLACE_RE, replaceUnsafeChar);\n }\n return str;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nvar REGEXP_ESCAPE_RE = /[.?*+^$[\\]\\\\(){}|-]/g;\n\nfunction escapeRE(str) {\n return str.replace(REGEXP_ESCAPE_RE, '\\\\$&');\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nfunction isSpace(code) {\n switch (code) {\n case 0x09:\n case 0x20:\n return true;\n }\n return false;\n}\n\n// Zs (unicode class) || [\\t\\f\\v\\r\\n]\nfunction isWhiteSpace(code) {\n if (code >= 0x2000 && code <= 0x200A) { return true; }\n switch (code) {\n case 0x09: // \\t\n case 0x0A: // \\n\n case 0x0B: // \\v\n case 0x0C: // \\f\n case 0x0D: // \\r\n case 0x20:\n case 0xA0:\n case 0x1680:\n case 0x202F:\n case 0x205F:\n case 0x3000:\n return true;\n }\n return false;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n/*eslint-disable max-len*/\nvar UNICODE_PUNCT_RE = require('uc.micro/categories/P/regex');\n\n// Currently without astral characters support.\nfunction isPunctChar(ch) {\n return UNICODE_PUNCT_RE.test(ch);\n}\n\n\n// Markdown ASCII punctuation characters.\n//\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\n//\n// Don't confuse with unicode punctuation !!! It lacks some chars in ascii range.\n//\nfunction isMdAsciiPunct(ch) {\n switch (ch) {\n case 0x21/* ! */:\n case 0x22/* \" */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x27/* ' */:\n case 0x28/* ( */:\n case 0x29/* ) */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2C/* , */:\n case 0x2D/* - */:\n case 0x2E/* . */:\n case 0x2F/* / */:\n case 0x3A/* : */:\n case 0x3B/* ; */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x3F/* ? */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7C/* | */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\n// Hepler to unify [reference labels].\n//\nfunction normalizeReference(str) {\n // Trim and collapse whitespace\n //\n str = str.trim().replace(/\\s+/g, ' ');\n\n // In node v10 'ẞ'.toLowerCase() === 'Ṿ', which is presumed to be a bug\n // fixed in v12 (couldn't find any details).\n //\n // So treat this one as a special case\n // (remove this when node v10 is no longer supported).\n //\n if ('ẞ'.toLowerCase() === 'Ṿ') {\n str = str.replace(/ẞ/g, 'ß');\n }\n\n // .toLowerCase().toUpperCase() should get rid of all differences\n // between letter variants.\n //\n // Simple .toLowerCase() doesn't normalize 125 code points correctly,\n // and .toUpperCase doesn't normalize 6 of them (list of exceptions:\n // İ, ϴ, ẞ, Ω, K, Å - those are already uppercased, but have differently\n // uppercased versions).\n //\n // Here's an example showing how it happens. Lets take greek letter omega:\n // uppercase U+0398 (Θ), U+03f4 (ϴ) and lowercase U+03b8 (θ), U+03d1 (ϑ)\n //\n // Unicode entries:\n // 0398;GREEK CAPITAL LETTER THETA;Lu;0;L;;;;;N;;;;03B8;\n // 03B8;GREEK SMALL LETTER THETA;Ll;0;L;;;;;N;;;0398;;0398\n // 03D1;GREEK THETA SYMBOL;Ll;0;L; 03B8;;;;N;GREEK SMALL LETTER SCRIPT THETA;;0398;;0398\n // 03F4;GREEK CAPITAL THETA SYMBOL;Lu;0;L; 0398;;;;N;;;;03B8;\n //\n // Case-insensitive comparison should treat all of them as equivalent.\n //\n // But .toLowerCase() doesn't change ϑ (it's already lowercase),\n // and .toUpperCase() doesn't change ϴ (already uppercase).\n //\n // Applying first lower then upper case normalizes any character:\n // '\\u0398\\u03f4\\u03b8\\u03d1'.toLowerCase().toUpperCase() === '\\u0398\\u0398\\u0398\\u0398'\n //\n // Note: this is equivalent to unicode case folding; unicode normalization\n // is a different step that is not required here.\n //\n // Final result should be uppercased, because it's later stored in an object\n // (this avoid a conflict with Object.prototype members,\n // most notably, `__proto__`)\n //\n return str.toLowerCase().toUpperCase();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n// Re-export libraries commonly used in both markdown-it and its plugins,\n// so plugins won't have to depend on them explicitly, which reduces their\n// bundled size (e.g. a browser build).\n//\nexports.lib = {};\nexports.lib.mdurl = require('mdurl');\nexports.lib.ucmicro = require('uc.micro');\n\nexports.assign = assign;\nexports.isString = isString;\nexports.has = has;\nexports.unescapeMd = unescapeMd;\nexports.unescapeAll = unescapeAll;\nexports.isValidEntityCode = isValidEntityCode;\nexports.fromCodePoint = fromCodePoint;\n// exports.replaceEntities = replaceEntities;\nexports.escapeHtml = escapeHtml;\nexports.arrayReplaceAt = arrayReplaceAt;\nexports.isSpace = isSpace;\nexports.isWhiteSpace = isWhiteSpace;\nexports.isMdAsciiPunct = isMdAsciiPunct;\nexports.isPunctChar = isPunctChar;\nexports.escapeRE = escapeRE;\nexports.normalizeReference = normalizeReference;\n","// Just a shortcut for bulk export\n'use strict';\n\n\nexports.parseLinkLabel = require('./parse_link_label');\nexports.parseLinkDestination = require('./parse_link_destination');\nexports.parseLinkTitle = require('./parse_link_title');\n","// Parse link destination\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkDestination(str, start, max) {\n var code, level,\n pos = start,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (str.charCodeAt(pos) === 0x3C /* < */) {\n pos++;\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === 0x0A /* \\n */) { return result; }\n if (code === 0x3C /* < */) { return result; }\n if (code === 0x3E /* > */) {\n result.pos = pos + 1;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n }\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos += 2;\n continue;\n }\n\n pos++;\n }\n\n // no closing '>'\n return result;\n }\n\n // this should be ... } else { ... branch\n\n level = 0;\n while (pos < max) {\n code = str.charCodeAt(pos);\n\n if (code === 0x20) { break; }\n\n // ascii control characters\n if (code < 0x20 || code === 0x7F) { break; }\n\n if (code === 0x5C /* \\ */ && pos + 1 < max) {\n if (str.charCodeAt(pos + 1) === 0x20) { break; }\n pos += 2;\n continue;\n }\n\n if (code === 0x28 /* ( */) {\n level++;\n if (level > 32) { return result; }\n }\n\n if (code === 0x29 /* ) */) {\n if (level === 0) { break; }\n level--;\n }\n\n pos++;\n }\n\n if (start === pos) { return result; }\n if (level !== 0) { return result; }\n\n result.str = unescapeAll(str.slice(start, pos));\n result.pos = pos;\n result.ok = true;\n return result;\n};\n","// Parse link label\n//\n// this function assumes that first character (\"[\") already matches;\n// returns the end of the label\n//\n'use strict';\n\nmodule.exports = function parseLinkLabel(state, start, disableNested) {\n var level, found, marker, prevPos,\n labelEnd = -1,\n max = state.posMax,\n oldPos = state.pos;\n\n state.pos = start + 1;\n level = 1;\n\n while (state.pos < max) {\n marker = state.src.charCodeAt(state.pos);\n if (marker === 0x5D /* ] */) {\n level--;\n if (level === 0) {\n found = true;\n break;\n }\n }\n\n prevPos = state.pos;\n state.md.inline.skipToken(state);\n if (marker === 0x5B /* [ */) {\n if (prevPos === state.pos - 1) {\n // increase level if we find text `[`, which is not a part of any token\n level++;\n } else if (disableNested) {\n state.pos = oldPos;\n return -1;\n }\n }\n }\n\n if (found) {\n labelEnd = state.pos;\n }\n\n // restore old state\n state.pos = oldPos;\n\n return labelEnd;\n};\n","// Parse link title\n//\n'use strict';\n\n\nvar unescapeAll = require('../common/utils').unescapeAll;\n\n\nmodule.exports = function parseLinkTitle(str, start, max) {\n var code,\n marker,\n lines = 0,\n pos = start,\n result = {\n ok: false,\n pos: 0,\n lines: 0,\n str: ''\n };\n\n if (pos >= max) { return result; }\n\n marker = str.charCodeAt(pos);\n\n if (marker !== 0x22 /* \" */ && marker !== 0x27 /* ' */ && marker !== 0x28 /* ( */) { return result; }\n\n pos++;\n\n // if opening marker is \"(\", switch it to closing marker \")\"\n if (marker === 0x28) { marker = 0x29; }\n\n while (pos < max) {\n code = str.charCodeAt(pos);\n if (code === marker) {\n result.pos = pos + 1;\n result.lines = lines;\n result.str = unescapeAll(str.slice(start + 1, pos));\n result.ok = true;\n return result;\n } else if (code === 0x28 /* ( */ && marker === 0x29 /* ) */) {\n return result;\n } else if (code === 0x0A) {\n lines++;\n } else if (code === 0x5C /* \\ */ && pos + 1 < max) {\n pos++;\n if (str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n\n pos++;\n }\n\n return result;\n};\n","// Main parser class\n\n'use strict';\n\n\nvar utils = require('./common/utils');\nvar helpers = require('./helpers');\nvar Renderer = require('./renderer');\nvar ParserCore = require('./parser_core');\nvar ParserBlock = require('./parser_block');\nvar ParserInline = require('./parser_inline');\nvar LinkifyIt = require('linkify-it');\nvar mdurl = require('mdurl');\nvar punycode = require('punycode');\n\n\nvar config = {\n default: require('./presets/default'),\n zero: require('./presets/zero'),\n commonmark: require('./presets/commonmark')\n};\n\n////////////////////////////////////////////////////////////////////////////////\n//\n// This validator can prohibit more than really needed to prevent XSS. It's a\n// tradeoff to keep code simple and to be secure by default.\n//\n// If you need different setup - override validator method as you wish. Or\n// replace it with dummy function and use external sanitizer.\n//\n\nvar BAD_PROTO_RE = /^(vbscript|javascript|file|data):/;\nvar GOOD_DATA_RE = /^data:image\\/(gif|png|jpeg|webp);/;\n\nfunction validateLink(url) {\n // url should be normalized at this point, and existing entities are decoded\n var str = url.trim().toLowerCase();\n\n return BAD_PROTO_RE.test(str) ? (GOOD_DATA_RE.test(str) ? true : false) : true;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\n\nvar RECODE_HOSTNAME_FOR = [ 'http:', 'https:', 'mailto:' ];\n\nfunction normalizeLink(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toASCII(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n return mdurl.encode(mdurl.format(parsed));\n}\n\nfunction normalizeLinkText(url) {\n var parsed = mdurl.parse(url, true);\n\n if (parsed.hostname) {\n // Encode hostnames in urls like:\n // `http://host/`, `https://host/`, `mailto:user@host`, `//host/`\n //\n // We don't encode unknown schemas, because it's likely that we encode\n // something we shouldn't (e.g. `skype:name` treated as `skype:host`)\n //\n if (!parsed.protocol || RECODE_HOSTNAME_FOR.indexOf(parsed.protocol) >= 0) {\n try {\n parsed.hostname = punycode.toUnicode(parsed.hostname);\n } catch (er) { /**/ }\n }\n }\n\n // add '%' to exclude list because of https://github.com/markdown-it/markdown-it/issues/720\n return mdurl.decode(mdurl.format(parsed), mdurl.decode.defaultChars + '%');\n}\n\n\n/**\n * class MarkdownIt\n *\n * Main parser/renderer class.\n *\n * ##### Usage\n *\n * ```javascript\n * // node.js, \"classic\" way:\n * var MarkdownIt = require('markdown-it'),\n * md = new MarkdownIt();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // node.js, the same, but with sugar:\n * var md = require('markdown-it')();\n * var result = md.render('# markdown-it rulezz!');\n *\n * // browser without AMD, added to \"window\" on script load\n * // Note, there are no dash.\n * var md = window.markdownit();\n * var result = md.render('# markdown-it rulezz!');\n * ```\n *\n * Single line rendering, without paragraph wrap:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * var result = md.renderInline('__markdown-it__ rulezz!');\n * ```\n **/\n\n/**\n * new MarkdownIt([presetName, options])\n * - presetName (String): optional, `commonmark` / `zero`\n * - options (Object)\n *\n * Creates parser instanse with given config. Can be called without `new`.\n *\n * ##### presetName\n *\n * MarkdownIt provides named presets as a convenience to quickly\n * enable/disable active syntax rules and options for common use cases.\n *\n * - [\"commonmark\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/commonmark.js) -\n * configures parser to strict [CommonMark](http://commonmark.org/) mode.\n * - [default](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/default.js) -\n * similar to GFM, used when no preset name given. Enables all available rules,\n * but still without html, typographer & autolinker.\n * - [\"zero\"](https://github.com/markdown-it/markdown-it/blob/master/lib/presets/zero.js) -\n * all rules disabled. Useful to quickly setup your config via `.enable()`.\n * For example, when you need only `bold` and `italic` markup and nothing else.\n *\n * ##### options:\n *\n * - __html__ - `false`. Set `true` to enable HTML tags in source. Be careful!\n * That's not safe! You may need external sanitizer to protect output from XSS.\n * It's better to extend features via plugins, instead of enabling HTML.\n * - __xhtmlOut__ - `false`. Set `true` to add '/' when closing single tags\n * (`
`). This is needed only for full CommonMark compatibility. In real\n * world you will need HTML output.\n * - __breaks__ - `false`. Set `true` to convert `\\n` in paragraphs into `
`.\n * - __langPrefix__ - `language-`. CSS language class prefix for fenced blocks.\n * Can be useful for external highlighters.\n * - __linkify__ - `false`. Set `true` to autoconvert URL-like text to links.\n * - __typographer__ - `false`. Set `true` to enable [some language-neutral\n * replacement](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/replacements.js) +\n * quotes beautification (smartquotes).\n * - __quotes__ - `“”‘’`, String or Array. Double + single quotes replacement\n * pairs, when typographer enabled and smartquotes on. For example, you can\n * use `'«»„“'` for Russian, `'„“‚‘'` for German, and\n * `['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›']` for French (including nbsp).\n * - __highlight__ - `null`. Highlighter function for fenced code blocks.\n * Highlighter `function (str, lang)` should return escaped HTML. It can also\n * return empty string if the source was not changed and should be escaped\n * externaly. If result starts with `):\n *\n * ```javascript\n * var hljs = require('highlight.js') // https://highlightjs.org/\n *\n * // Actual default values\n * var md = require('markdown-it')({\n * highlight: function (str, lang) {\n * if (lang && hljs.getLanguage(lang)) {\n * try {\n * return '
' +\n *                hljs.highlight(str, { language: lang, ignoreIllegals: true }).value +\n *                '
';\n * } catch (__) {}\n * }\n *\n * return '
' + md.utils.escapeHtml(str) + '
';\n * }\n * });\n * ```\n *\n **/\nfunction MarkdownIt(presetName, options) {\n if (!(this instanceof MarkdownIt)) {\n return new MarkdownIt(presetName, options);\n }\n\n if (!options) {\n if (!utils.isString(presetName)) {\n options = presetName || {};\n presetName = 'default';\n }\n }\n\n /**\n * MarkdownIt#inline -> ParserInline\n *\n * Instance of [[ParserInline]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.inline = new ParserInline();\n\n /**\n * MarkdownIt#block -> ParserBlock\n *\n * Instance of [[ParserBlock]]. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.block = new ParserBlock();\n\n /**\n * MarkdownIt#core -> Core\n *\n * Instance of [[Core]] chain executor. You may need it to add new rules when\n * writing plugins. For simple rules control use [[MarkdownIt.disable]] and\n * [[MarkdownIt.enable]].\n **/\n this.core = new ParserCore();\n\n /**\n * MarkdownIt#renderer -> Renderer\n *\n * Instance of [[Renderer]]. Use it to modify output look. Or to add rendering\n * rules for new token types, generated by plugins.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * function myToken(tokens, idx, options, env, self) {\n * //...\n * return result;\n * };\n *\n * md.renderer.rules['my_token'] = myToken\n * ```\n *\n * See [[Renderer]] docs and [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js).\n **/\n this.renderer = new Renderer();\n\n /**\n * MarkdownIt#linkify -> LinkifyIt\n *\n * [linkify-it](https://github.com/markdown-it/linkify-it) instance.\n * Used by [linkify](https://github.com/markdown-it/markdown-it/blob/master/lib/rules_core/linkify.js)\n * rule.\n **/\n this.linkify = new LinkifyIt();\n\n /**\n * MarkdownIt#validateLink(url) -> Boolean\n *\n * Link validation function. CommonMark allows too much in links. By default\n * we disable `javascript:`, `vbscript:`, `file:` schemas, and almost all `data:...` schemas\n * except some embedded image types.\n *\n * You can change this behaviour:\n *\n * ```javascript\n * var md = require('markdown-it')();\n * // enable everything\n * md.validateLink = function () { return true; }\n * ```\n **/\n this.validateLink = validateLink;\n\n /**\n * MarkdownIt#normalizeLink(url) -> String\n *\n * Function used to encode link url to a machine-readable format,\n * which includes url-encoding, punycode, etc.\n **/\n this.normalizeLink = normalizeLink;\n\n /**\n * MarkdownIt#normalizeLinkText(url) -> String\n *\n * Function used to decode link url to a human-readable format`\n **/\n this.normalizeLinkText = normalizeLinkText;\n\n\n // Expose utils & helpers for easy acces from plugins\n\n /**\n * MarkdownIt#utils -> utils\n *\n * Assorted utility functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/common/utils.js).\n **/\n this.utils = utils;\n\n /**\n * MarkdownIt#helpers -> helpers\n *\n * Link components parser functions, useful to write plugins. See details\n * [here](https://github.com/markdown-it/markdown-it/blob/master/lib/helpers).\n **/\n this.helpers = utils.assign({}, helpers);\n\n\n this.options = {};\n this.configure(presetName);\n\n if (options) { this.set(options); }\n}\n\n\n/** chainable\n * MarkdownIt.set(options)\n *\n * Set parser options (in the same format as in constructor). Probably, you\n * will never need it, but you can change options after constructor call.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .set({ html: true, breaks: true })\n * .set({ typographer, true });\n * ```\n *\n * __Note:__ To achieve the best possible performance, don't modify a\n * `markdown-it` instance options on the fly. If you need multiple configurations\n * it's best to create multiple instances and initialize each with separate\n * config.\n **/\nMarkdownIt.prototype.set = function (options) {\n utils.assign(this.options, options);\n return this;\n};\n\n\n/** chainable, internal\n * MarkdownIt.configure(presets)\n *\n * Batch load of all options and compenent settings. This is internal method,\n * and you probably will not need it. But if you will - see available presets\n * and data structure [here](https://github.com/markdown-it/markdown-it/tree/master/lib/presets)\n *\n * We strongly recommend to use presets instead of direct config loads. That\n * will give better compatibility with next versions.\n **/\nMarkdownIt.prototype.configure = function (presets) {\n var self = this, presetName;\n\n if (utils.isString(presets)) {\n presetName = presets;\n presets = config[presetName];\n if (!presets) { throw new Error('Wrong `markdown-it` preset \"' + presetName + '\", check name'); }\n }\n\n if (!presets) { throw new Error('Wrong `markdown-it` preset, can\\'t be empty'); }\n\n if (presets.options) { self.set(presets.options); }\n\n if (presets.components) {\n Object.keys(presets.components).forEach(function (name) {\n if (presets.components[name].rules) {\n self[name].ruler.enableOnly(presets.components[name].rules);\n }\n if (presets.components[name].rules2) {\n self[name].ruler2.enableOnly(presets.components[name].rules2);\n }\n });\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.enable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to enable\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable list or rules. It will automatically find appropriate components,\n * containing rules with given names. If rule not found, and `ignoreInvalid`\n * not set - throws exception.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')()\n * .enable(['sub', 'sup'])\n * .disable('smartquotes');\n * ```\n **/\nMarkdownIt.prototype.enable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.enable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.enable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to enable unknown rule(s): ' + missed);\n }\n\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.disable(list, ignoreInvalid)\n * - list (String|Array): rule name or list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * The same as [[MarkdownIt.enable]], but turn specified rules off.\n **/\nMarkdownIt.prototype.disable = function (list, ignoreInvalid) {\n var result = [];\n\n if (!Array.isArray(list)) { list = [ list ]; }\n\n [ 'core', 'block', 'inline' ].forEach(function (chain) {\n result = result.concat(this[chain].ruler.disable(list, true));\n }, this);\n\n result = result.concat(this.inline.ruler2.disable(list, true));\n\n var missed = list.filter(function (name) { return result.indexOf(name) < 0; });\n\n if (missed.length && !ignoreInvalid) {\n throw new Error('MarkdownIt. Failed to disable unknown rule(s): ' + missed);\n }\n return this;\n};\n\n\n/** chainable\n * MarkdownIt.use(plugin, params)\n *\n * Load specified plugin with given params into current parser instance.\n * It's just a sugar to call `plugin(md, params)` with curring.\n *\n * ##### Example\n *\n * ```javascript\n * var iterator = require('markdown-it-for-inline');\n * var md = require('markdown-it')()\n * .use(iterator, 'foo_replace', 'text', function (tokens, idx) {\n * tokens[idx].content = tokens[idx].content.replace(/foo/g, 'bar');\n * });\n * ```\n **/\nMarkdownIt.prototype.use = function (plugin /*, params, ... */) {\n var args = [ this ].concat(Array.prototype.slice.call(arguments, 1));\n plugin.apply(plugin, args);\n return this;\n};\n\n\n/** internal\n * MarkdownIt.parse(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Parse input string and return list of block tokens (special token type\n * \"inline\" will contain list of inline tokens). You should not call this\n * method directly, until you write custom renderer (for example, to produce\n * AST).\n *\n * `env` is used to pass data between \"distributed\" rules and return additional\n * metadata like reference info, needed for the renderer. It also can be used to\n * inject data in specific cases. Usually, you will be ok to pass `{}`,\n * and then pass updated object to renderer.\n **/\nMarkdownIt.prototype.parse = function (src, env) {\n if (typeof src !== 'string') {\n throw new Error('Input data should be a String');\n }\n\n var state = new this.core.State(src, this, env);\n\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.render(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Render markdown string into html. It does all magic for you :).\n *\n * `env` can be used to inject additional metadata (`{}` by default).\n * But you will not need it with high probability. See also comment\n * in [[MarkdownIt.parse]].\n **/\nMarkdownIt.prototype.render = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parse(src, env), this.options, env);\n};\n\n\n/** internal\n * MarkdownIt.parseInline(src, env) -> Array\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * The same as [[MarkdownIt.parse]] but skip all block rules. It returns the\n * block tokens list with the single `inline` element, containing parsed inline\n * tokens in `children` property. Also updates `env` object.\n **/\nMarkdownIt.prototype.parseInline = function (src, env) {\n var state = new this.core.State(src, this, env);\n\n state.inlineMode = true;\n this.core.process(state);\n\n return state.tokens;\n};\n\n\n/**\n * MarkdownIt.renderInline(src [, env]) -> String\n * - src (String): source string\n * - env (Object): environment sandbox\n *\n * Similar to [[MarkdownIt.render]] but for single paragraph content. Result\n * will NOT be wrapped into `

` tags.\n **/\nMarkdownIt.prototype.renderInline = function (src, env) {\n env = env || {};\n\n return this.renderer.render(this.parseInline(src, env), this.options, env);\n};\n\n\nmodule.exports = MarkdownIt;\n","/** internal\n * class ParserBlock\n *\n * Block-level tokenizer.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n // First 2 params - rule name & source. Secondary array - list of rules,\n // which can be terminated by this one.\n [ 'table', require('./rules_block/table'), [ 'paragraph', 'reference' ] ],\n [ 'code', require('./rules_block/code') ],\n [ 'fence', require('./rules_block/fence'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'blockquote', require('./rules_block/blockquote'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'hr', require('./rules_block/hr'), [ 'paragraph', 'reference', 'blockquote', 'list' ] ],\n [ 'list', require('./rules_block/list'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'reference', require('./rules_block/reference') ],\n [ 'html_block', require('./rules_block/html_block'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'heading', require('./rules_block/heading'), [ 'paragraph', 'reference', 'blockquote' ] ],\n [ 'lheading', require('./rules_block/lheading') ],\n [ 'paragraph', require('./rules_block/paragraph') ]\n];\n\n\n/**\n * new ParserBlock()\n **/\nfunction ParserBlock() {\n /**\n * ParserBlock#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of block rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1], { alt: (_rules[i][2] || []).slice() });\n }\n}\n\n\n// Generate tokens for input range\n//\nParserBlock.prototype.tokenize = function (state, startLine, endLine) {\n var ok, i, prevLine,\n rules = this.ruler.getRules(''),\n len = rules.length,\n line = startLine,\n hasEmptyLines = false,\n maxNesting = state.md.options.maxNesting;\n\n while (line < endLine) {\n state.line = line = state.skipEmptyLines(line);\n if (line >= endLine) { break; }\n\n // Termination condition for nested calls.\n // Nested calls currently used for blockquotes & lists\n if (state.sCount[line] < state.blkIndent) { break; }\n\n // If nesting level exceeded - skip tail to the end. That's not ordinary\n // situation and we should not care about content.\n if (state.level >= maxNesting) {\n state.line = endLine;\n break;\n }\n\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.line`\n // - update `state.tokens`\n // - return true\n prevLine = state.line;\n\n for (i = 0; i < len; i++) {\n ok = rules[i](state, line, endLine, false);\n if (ok) {\n if (prevLine >= state.line) {\n throw new Error(\"block rule didn't increment state.line\");\n }\n break;\n }\n }\n\n // this can only happen if user disables paragraph rule\n if (!ok) throw new Error('none of the block rules matched');\n\n // set state.tight if we had an empty line before current tag\n // i.e. latest empty line should not count\n state.tight = !hasEmptyLines;\n\n // paragraph might \"eat\" one newline after it in nested lists\n if (state.isEmpty(state.line - 1)) {\n hasEmptyLines = true;\n }\n\n line = state.line;\n\n if (line < endLine && state.isEmpty(line)) {\n hasEmptyLines = true;\n line++;\n state.line = line;\n }\n }\n};\n\n\n/**\n * ParserBlock.parse(str, md, env, outTokens)\n *\n * Process input string and push block tokens into `outTokens`\n **/\nParserBlock.prototype.parse = function (src, md, env, outTokens) {\n var state;\n\n if (!src) { return; }\n\n state = new this.State(src, md, env, outTokens);\n\n this.tokenize(state, state.line, state.lineMax);\n};\n\n\nParserBlock.prototype.State = require('./rules_block/state_block');\n\n\nmodule.exports = ParserBlock;\n","/** internal\n * class Core\n *\n * Top-level rules executor. Glues block/inline parsers and does intermediate\n * transformations.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\nvar _rules = [\n [ 'normalize', require('./rules_core/normalize') ],\n [ 'block', require('./rules_core/block') ],\n [ 'inline', require('./rules_core/inline') ],\n [ 'linkify', require('./rules_core/linkify') ],\n [ 'replacements', require('./rules_core/replacements') ],\n [ 'smartquotes', require('./rules_core/smartquotes') ],\n // `text_join` finds `text_special` tokens (for escape sequences)\n // and joins them with the rest of the text\n [ 'text_join', require('./rules_core/text_join') ]\n];\n\n\n/**\n * new Core()\n **/\nfunction Core() {\n /**\n * Core#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of core rules.\n **/\n this.ruler = new Ruler();\n\n for (var i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n}\n\n\n/**\n * Core.process(state)\n *\n * Executes core chain rules.\n **/\nCore.prototype.process = function (state) {\n var i, l, rules;\n\n rules = this.ruler.getRules('');\n\n for (i = 0, l = rules.length; i < l; i++) {\n rules[i](state);\n }\n};\n\nCore.prototype.State = require('./rules_core/state_core');\n\n\nmodule.exports = Core;\n","/** internal\n * class ParserInline\n *\n * Tokenizes paragraph content.\n **/\n'use strict';\n\n\nvar Ruler = require('./ruler');\n\n\n////////////////////////////////////////////////////////////////////////////////\n// Parser rules\n\nvar _rules = [\n [ 'text', require('./rules_inline/text') ],\n [ 'linkify', require('./rules_inline/linkify') ],\n [ 'newline', require('./rules_inline/newline') ],\n [ 'escape', require('./rules_inline/escape') ],\n [ 'backticks', require('./rules_inline/backticks') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').tokenize ],\n [ 'emphasis', require('./rules_inline/emphasis').tokenize ],\n [ 'link', require('./rules_inline/link') ],\n [ 'image', require('./rules_inline/image') ],\n [ 'autolink', require('./rules_inline/autolink') ],\n [ 'html_inline', require('./rules_inline/html_inline') ],\n [ 'entity', require('./rules_inline/entity') ]\n];\n\n// `rule2` ruleset was created specifically for emphasis/strikethrough\n// post-processing and may be changed in the future.\n//\n// Don't use this for anything except pairs (plugins working with `balance_pairs`).\n//\nvar _rules2 = [\n [ 'balance_pairs', require('./rules_inline/balance_pairs') ],\n [ 'strikethrough', require('./rules_inline/strikethrough').postProcess ],\n [ 'emphasis', require('./rules_inline/emphasis').postProcess ],\n // rules for pairs separate '**' into its own text tokens, which may be left unused,\n // rule below merges unused segments back with the rest of the text\n [ 'fragments_join', require('./rules_inline/fragments_join') ]\n];\n\n\n/**\n * new ParserInline()\n **/\nfunction ParserInline() {\n var i;\n\n /**\n * ParserInline#ruler -> Ruler\n *\n * [[Ruler]] instance. Keep configuration of inline rules.\n **/\n this.ruler = new Ruler();\n\n for (i = 0; i < _rules.length; i++) {\n this.ruler.push(_rules[i][0], _rules[i][1]);\n }\n\n /**\n * ParserInline#ruler2 -> Ruler\n *\n * [[Ruler]] instance. Second ruler used for post-processing\n * (e.g. in emphasis-like rules).\n **/\n this.ruler2 = new Ruler();\n\n for (i = 0; i < _rules2.length; i++) {\n this.ruler2.push(_rules2[i][0], _rules2[i][1]);\n }\n}\n\n\n// Skip single token by running all rules in validation mode;\n// returns `true` if any rule reported success\n//\nParserInline.prototype.skipToken = function (state) {\n var ok, i, pos = state.pos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n maxNesting = state.md.options.maxNesting,\n cache = state.cache;\n\n\n if (typeof cache[pos] !== 'undefined') {\n state.pos = cache[pos];\n return;\n }\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n // Increment state.level and decrement it later to limit recursion.\n // It's harmless to do here, because no tokens are created. But ideally,\n // we'd need a separate private state variable for this purpose.\n //\n state.level++;\n ok = rules[i](state, true);\n state.level--;\n\n if (ok) {\n if (pos >= state.pos) { throw new Error(\"inline rule didn't increment state.pos\"); }\n break;\n }\n }\n } else {\n // Too much nesting, just skip until the end of the paragraph.\n //\n // NOTE: this will cause links to behave incorrectly in the following case,\n // when an amount of `[` is exactly equal to `maxNesting + 1`:\n //\n // [[[[[[[[[[[[[[[[[[[[[foo]()\n //\n // TODO: remove this workaround when CM standard will allow nested links\n // (we can replace it by preventing links from being parsed in\n // validation mode)\n //\n state.pos = state.posMax;\n }\n\n if (!ok) { state.pos++; }\n cache[pos] = state.pos;\n};\n\n\n// Generate tokens for input range\n//\nParserInline.prototype.tokenize = function (state) {\n var ok, i, prevPos,\n rules = this.ruler.getRules(''),\n len = rules.length,\n end = state.posMax,\n maxNesting = state.md.options.maxNesting;\n\n while (state.pos < end) {\n // Try all possible rules.\n // On success, rule should:\n //\n // - update `state.pos`\n // - update `state.tokens`\n // - return true\n prevPos = state.pos;\n\n if (state.level < maxNesting) {\n for (i = 0; i < len; i++) {\n ok = rules[i](state, false);\n if (ok) {\n if (prevPos >= state.pos) { throw new Error(\"inline rule didn't increment state.pos\"); }\n break;\n }\n }\n }\n\n if (ok) {\n if (state.pos >= end) { break; }\n continue;\n }\n\n state.pending += state.src[state.pos++];\n }\n\n if (state.pending) {\n state.pushPending();\n }\n};\n\n\n/**\n * ParserInline.parse(str, md, env, outTokens)\n *\n * Process input string and push inline tokens into `outTokens`\n **/\nParserInline.prototype.parse = function (str, md, env, outTokens) {\n var i, rules, len;\n var state = new this.State(str, md, env, outTokens);\n\n this.tokenize(state);\n\n rules = this.ruler2.getRules('');\n len = rules.length;\n\n for (i = 0; i < len; i++) {\n rules[i](state);\n }\n};\n\n\nParserInline.prototype.State = require('./rules_inline/state_inline');\n\n\nmodule.exports = ParserInline;\n","// Commonmark default options\n\n'use strict';\n\n\nmodule.exports = {\n options: {\n html: true, // Enable HTML tags in source\n xhtmlOut: true, // Use '/' to close single tags (
)\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with )\n breaks: false, // Convert '\\n' in paragraphs into
\n langPrefix: 'language-', // CSS language prefix for fenced blocks\n linkify: false, // autoconvert URL-like texts to links\n\n // Enable some language-neutral replacements + quotes beautification\n typographer: false,\n\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Could be either a String or an Array.\n //\n // For example, you can use '«»„“' for Russian, '„“‚‘' for German,\n // and ['«\\xA0', '\\xA0»', '‹\\xA0', '\\xA0›'] for French (including nbsp).\n quotes: '\\u201c\\u201d\\u2018\\u2019', /* “”‘’ */\n\n // Highlighter function. Should return escaped HTML,\n // or '' if the source string is not changed and should be escaped externaly.\n // If result starts with ' +\n escapeHtml(token.content) +\n '';\n};\n\n\ndefault_rules.code_block = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n return '' +\n escapeHtml(tokens[idx].content) +\n '\\n';\n};\n\n\ndefault_rules.fence = function (tokens, idx, options, env, slf) {\n var token = tokens[idx],\n info = token.info ? unescapeAll(token.info).trim() : '',\n langName = '',\n langAttrs = '',\n highlighted, i, arr, tmpAttrs, tmpToken;\n\n if (info) {\n arr = info.split(/(\\s+)/g);\n langName = arr[0];\n langAttrs = arr.slice(2).join('');\n }\n\n if (options.highlight) {\n highlighted = options.highlight(token.content, langName, langAttrs) || escapeHtml(token.content);\n } else {\n highlighted = escapeHtml(token.content);\n }\n\n if (highlighted.indexOf(''\n + highlighted\n + '\\n';\n }\n\n\n return '

'\n        + highlighted\n        + '
\\n';\n};\n\n\ndefault_rules.image = function (tokens, idx, options, env, slf) {\n var token = tokens[idx];\n\n // \"alt\" attr MUST be set, even if empty. Because it's mandatory and\n // should be placed on proper position for tests.\n //\n // Replace content with actual value\n\n token.attrs[token.attrIndex('alt')][1] =\n slf.renderInlineAsText(token.children, options, env);\n\n return slf.renderToken(tokens, idx, options);\n};\n\n\ndefault_rules.hardbreak = function (tokens, idx, options /*, env */) {\n return options.xhtmlOut ? '
\\n' : '
\\n';\n};\ndefault_rules.softbreak = function (tokens, idx, options /*, env */) {\n return options.breaks ? (options.xhtmlOut ? '
\\n' : '
\\n') : '\\n';\n};\n\n\ndefault_rules.text = function (tokens, idx /*, options, env */) {\n return escapeHtml(tokens[idx].content);\n};\n\n\ndefault_rules.html_block = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\ndefault_rules.html_inline = function (tokens, idx /*, options, env */) {\n return tokens[idx].content;\n};\n\n\n/**\n * new Renderer()\n *\n * Creates new [[Renderer]] instance and fill [[Renderer#rules]] with defaults.\n **/\nfunction Renderer() {\n\n /**\n * Renderer#rules -> Object\n *\n * Contains render rules for tokens. Can be updated and extended.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.renderer.rules.strong_open = function () { return ''; };\n * md.renderer.rules.strong_close = function () { return ''; };\n *\n * var result = md.renderInline(...);\n * ```\n *\n * Each rule is called as independent static function with fixed signature:\n *\n * ```javascript\n * function my_token_render(tokens, idx, options, env, renderer) {\n * // ...\n * return renderedHTML;\n * }\n * ```\n *\n * See [source code](https://github.com/markdown-it/markdown-it/blob/master/lib/renderer.js)\n * for more details and examples.\n **/\n this.rules = assign({}, default_rules);\n}\n\n\n/**\n * Renderer.renderAttrs(token) -> String\n *\n * Render token attributes to string.\n **/\nRenderer.prototype.renderAttrs = function renderAttrs(token) {\n var i, l, result;\n\n if (!token.attrs) { return ''; }\n\n result = '';\n\n for (i = 0, l = token.attrs.length; i < l; i++) {\n result += ' ' + escapeHtml(token.attrs[i][0]) + '=\"' + escapeHtml(token.attrs[i][1]) + '\"';\n }\n\n return result;\n};\n\n\n/**\n * Renderer.renderToken(tokens, idx, options) -> String\n * - tokens (Array): list of tokens\n * - idx (Numbed): token index to render\n * - options (Object): params of parser instance\n *\n * Default token renderer. Can be overriden by custom function\n * in [[Renderer#rules]].\n **/\nRenderer.prototype.renderToken = function renderToken(tokens, idx, options) {\n var nextToken,\n result = '',\n needLf = false,\n token = tokens[idx];\n\n // Tight list paragraphs\n if (token.hidden) {\n return '';\n }\n\n // Insert a newline between hidden paragraph and subsequent opening\n // block-level tag.\n //\n // For example, here we should insert a newline before blockquote:\n // - a\n // >\n //\n if (token.block && token.nesting !== -1 && idx && tokens[idx - 1].hidden) {\n result += '\\n';\n }\n\n // Add token name, e.g. ``.\n //\n needLf = false;\n }\n }\n }\n }\n\n result += needLf ? '>\\n' : '>';\n\n return result;\n};\n\n\n/**\n * Renderer.renderInline(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * The same as [[Renderer.render]], but for single token of `inline` type.\n **/\nRenderer.prototype.renderInline = function (tokens, options, env) {\n var type,\n result = '',\n rules = this.rules;\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options);\n }\n }\n\n return result;\n};\n\n\n/** internal\n * Renderer.renderInlineAsText(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Special kludge for image `alt` attributes to conform CommonMark spec.\n * Don't try to use it! Spec requires to show `alt` content with stripped markup,\n * instead of simple escaping.\n **/\nRenderer.prototype.renderInlineAsText = function (tokens, options, env) {\n var result = '';\n\n for (var i = 0, len = tokens.length; i < len; i++) {\n if (tokens[i].type === 'text') {\n result += tokens[i].content;\n } else if (tokens[i].type === 'image') {\n result += this.renderInlineAsText(tokens[i].children, options, env);\n } else if (tokens[i].type === 'softbreak') {\n result += '\\n';\n }\n }\n\n return result;\n};\n\n\n/**\n * Renderer.render(tokens, options, env) -> String\n * - tokens (Array): list on block tokens to render\n * - options (Object): params of parser instance\n * - env (Object): additional data from parsed input (references, for example)\n *\n * Takes token stream and generates HTML. Probably, you will never need to call\n * this method directly.\n **/\nRenderer.prototype.render = function (tokens, options, env) {\n var i, len, type,\n result = '',\n rules = this.rules;\n\n for (i = 0, len = tokens.length; i < len; i++) {\n type = tokens[i].type;\n\n if (type === 'inline') {\n result += this.renderInline(tokens[i].children, options, env);\n } else if (typeof rules[type] !== 'undefined') {\n result += rules[type](tokens, i, options, env, this);\n } else {\n result += this.renderToken(tokens, i, options, env);\n }\n }\n\n return result;\n};\n\nmodule.exports = Renderer;\n","/**\n * class Ruler\n *\n * Helper class, used by [[MarkdownIt#core]], [[MarkdownIt#block]] and\n * [[MarkdownIt#inline]] to manage sequences of functions (rules):\n *\n * - keep rules in defined order\n * - assign the name to each rule\n * - enable/disable rules\n * - add/replace rules\n * - allow assign rules to additional named chains (in the same)\n * - cacheing lists of active rules\n *\n * You will not need use this class directly until write plugins. For simple\n * rules control use [[MarkdownIt.disable]], [[MarkdownIt.enable]] and\n * [[MarkdownIt.use]].\n **/\n'use strict';\n\n\n/**\n * new Ruler()\n **/\nfunction Ruler() {\n // List of added rules. Each element is:\n //\n // {\n // name: XXX,\n // enabled: Boolean,\n // fn: Function(),\n // alt: [ name2, name3 ]\n // }\n //\n this.__rules__ = [];\n\n // Cached rule chains.\n //\n // First level - chain name, '' for default.\n // Second level - diginal anchor for fast filtering by charcodes.\n //\n this.__cache__ = null;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n// Helper methods, should not be used directly\n\n\n// Find rule index by name\n//\nRuler.prototype.__find__ = function (name) {\n for (var i = 0; i < this.__rules__.length; i++) {\n if (this.__rules__[i].name === name) {\n return i;\n }\n }\n return -1;\n};\n\n\n// Build rules lookup cache\n//\nRuler.prototype.__compile__ = function () {\n var self = this;\n var chains = [ '' ];\n\n // collect unique names\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n rule.alt.forEach(function (altName) {\n if (chains.indexOf(altName) < 0) {\n chains.push(altName);\n }\n });\n });\n\n self.__cache__ = {};\n\n chains.forEach(function (chain) {\n self.__cache__[chain] = [];\n self.__rules__.forEach(function (rule) {\n if (!rule.enabled) { return; }\n\n if (chain && rule.alt.indexOf(chain) < 0) { return; }\n\n self.__cache__[chain].push(rule.fn);\n });\n });\n};\n\n\n/**\n * Ruler.at(name, fn [, options])\n * - name (String): rule name to replace.\n * - fn (Function): new rule function.\n * - options (Object): new rule options (not mandatory).\n *\n * Replace rule by name with new function & options. Throws error if name not\n * found.\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * Replace existing typographer replacement rule with new one:\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.at('replacements', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.at = function (name, fn, options) {\n var index = this.__find__(name);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + name); }\n\n this.__rules__[index].fn = fn;\n this.__rules__[index].alt = opt.alt || [];\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.before(beforeName, ruleName, fn [, options])\n * - beforeName (String): new rule will be added before this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain before one with given name. See also\n * [[Ruler.after]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.block.ruler.before('paragraph', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.before = function (beforeName, ruleName, fn, options) {\n var index = this.__find__(beforeName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + beforeName); }\n\n this.__rules__.splice(index, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.after(afterName, ruleName, fn [, options])\n * - afterName (String): new rule will be added after this one.\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Add new rule to chain after one with given name. See also\n * [[Ruler.before]], [[Ruler.push]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.inline.ruler.after('text', 'my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.after = function (afterName, ruleName, fn, options) {\n var index = this.__find__(afterName);\n var opt = options || {};\n\n if (index === -1) { throw new Error('Parser rule not found: ' + afterName); }\n\n this.__rules__.splice(index + 1, 0, {\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n/**\n * Ruler.push(ruleName, fn [, options])\n * - ruleName (String): name of added rule.\n * - fn (Function): rule function.\n * - options (Object): rule options (not mandatory).\n *\n * Push new rule to the end of chain. See also\n * [[Ruler.before]], [[Ruler.after]].\n *\n * ##### Options:\n *\n * - __alt__ - array with names of \"alternate\" chains.\n *\n * ##### Example\n *\n * ```javascript\n * var md = require('markdown-it')();\n *\n * md.core.ruler.push('my_rule', function replace(state) {\n * //...\n * });\n * ```\n **/\nRuler.prototype.push = function (ruleName, fn, options) {\n var opt = options || {};\n\n this.__rules__.push({\n name: ruleName,\n enabled: true,\n fn: fn,\n alt: opt.alt || []\n });\n\n this.__cache__ = null;\n};\n\n\n/**\n * Ruler.enable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to enable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.disable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.enable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and enable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = true;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.enableOnly(list [, ignoreInvalid])\n * - list (String|Array): list of rule names to enable (whitelist).\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Enable rules with given names, and disable everything else. If any rule name\n * not found - throw Error. Errors can be disabled by second param.\n *\n * See also [[Ruler.disable]], [[Ruler.enable]].\n **/\nRuler.prototype.enableOnly = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n this.__rules__.forEach(function (rule) { rule.enabled = false; });\n\n this.enable(list, ignoreInvalid);\n};\n\n\n/**\n * Ruler.disable(list [, ignoreInvalid]) -> Array\n * - list (String|Array): list of rule names to disable.\n * - ignoreInvalid (Boolean): set `true` to ignore errors when rule not found.\n *\n * Disable rules with given names. If any rule name not found - throw Error.\n * Errors can be disabled by second param.\n *\n * Returns list of found rule names (if no exception happened).\n *\n * See also [[Ruler.enable]], [[Ruler.enableOnly]].\n **/\nRuler.prototype.disable = function (list, ignoreInvalid) {\n if (!Array.isArray(list)) { list = [ list ]; }\n\n var result = [];\n\n // Search by name and disable\n list.forEach(function (name) {\n var idx = this.__find__(name);\n\n if (idx < 0) {\n if (ignoreInvalid) { return; }\n throw new Error('Rules manager: invalid rule name ' + name);\n }\n this.__rules__[idx].enabled = false;\n result.push(name);\n }, this);\n\n this.__cache__ = null;\n return result;\n};\n\n\n/**\n * Ruler.getRules(chainName) -> Array\n *\n * Return array of active functions (rules) for given chain name. It analyzes\n * rules configuration, compiles caches if not exists and returns result.\n *\n * Default chain name is `''` (empty string). It can't be skipped. That's\n * done intentionally, to keep signature monomorphic for high speed.\n **/\nRuler.prototype.getRules = function (chainName) {\n if (this.__cache__ === null) {\n this.__compile__();\n }\n\n // Chain can be empty, if rules disabled. But we still have to return Array.\n return this.__cache__[chainName] || [];\n};\n\nmodule.exports = Ruler;\n","// Block quotes\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function blockquote(state, startLine, endLine, silent) {\n var adjustTab,\n ch,\n i,\n initial,\n l,\n lastLineEmpty,\n lines,\n nextLine,\n offset,\n oldBMarks,\n oldBSCount,\n oldIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n spaceAfterMarker,\n terminate,\n terminatorRules,\n token,\n isOutdented,\n oldLineMax = state.lineMax,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n // check the block quote marker\n if (state.src.charCodeAt(pos) !== 0x3E/* > */) { return false; }\n\n // we know that it's going to be a valid blockquote,\n // so no point trying to find the end of it in silent mode\n if (silent) { return true; }\n\n oldBMarks = [];\n oldBSCount = [];\n oldSCount = [];\n oldTShift = [];\n\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n oldParentType = state.parentType;\n state.parentType = 'blockquote';\n\n // Search the end of the block\n //\n // Block ends with either:\n // 1. an empty line outside:\n // ```\n // > test\n //\n // ```\n // 2. an empty line inside:\n // ```\n // >\n // test\n // ```\n // 3. another tag:\n // ```\n // > test\n // - - -\n // ```\n for (nextLine = startLine; nextLine < endLine; nextLine++) {\n // check if it's outdented, i.e. it's inside list item and indented\n // less than said list item:\n //\n // ```\n // 1. anything\n // > current blockquote\n // 2. checking this line\n // ```\n isOutdented = state.sCount[nextLine] < state.blkIndent;\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos >= max) {\n // Case 1: line is not inside the blockquote, and this line is empty.\n break;\n }\n\n if (state.src.charCodeAt(pos++) === 0x3E/* > */ && !isOutdented) {\n // This line is inside the blockquote.\n\n // set offset past spaces and \">\"\n initial = state.sCount[nextLine] + 1;\n\n // skip one optional space after '>'\n if (state.src.charCodeAt(pos) === 0x20 /* space */) {\n // ' > test '\n // ^ -- position start of line here:\n pos++;\n initial++;\n adjustTab = false;\n spaceAfterMarker = true;\n } else if (state.src.charCodeAt(pos) === 0x09 /* tab */) {\n spaceAfterMarker = true;\n\n if ((state.bsCount[nextLine] + initial) % 4 === 3) {\n // ' >\\t test '\n // ^ -- position start of line here (tab has width===1)\n pos++;\n initial++;\n adjustTab = false;\n } else {\n // ' >\\t test '\n // ^ -- position start of line here + shift bsCount slightly\n // to make extra space appear\n adjustTab = true;\n }\n } else {\n spaceAfterMarker = false;\n }\n\n offset = initial;\n oldBMarks.push(state.bMarks[nextLine]);\n state.bMarks[nextLine] = pos;\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine] + (adjustTab ? 1 : 0)) % 4;\n } else {\n offset++;\n }\n } else {\n break;\n }\n\n pos++;\n }\n\n lastLineEmpty = pos >= max;\n\n oldBSCount.push(state.bsCount[nextLine]);\n state.bsCount[nextLine] = state.sCount[nextLine] + 1 + (spaceAfterMarker ? 1 : 0);\n\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] = offset - initial;\n\n oldTShift.push(state.tShift[nextLine]);\n state.tShift[nextLine] = pos - state.bMarks[nextLine];\n continue;\n }\n\n // Case 2: line is not inside the blockquote, and the last line was empty.\n if (lastLineEmpty) { break; }\n\n // Case 3: another tag found.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) {\n // Quirk to enforce \"hard termination mode\" for paragraphs;\n // normally if you call `tokenize(state, startLine, nextLine)`,\n // paragraphs will look below nextLine for paragraph continuation,\n // but if blockquote is terminated by another tag, they shouldn't\n state.lineMax = nextLine;\n\n if (state.blkIndent !== 0) {\n // state.blkIndent was non-zero, we now set it to zero,\n // so we need to re-calculate all offsets to appear as\n // if indent wasn't changed\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n state.sCount[nextLine] -= state.blkIndent;\n }\n\n break;\n }\n\n oldBMarks.push(state.bMarks[nextLine]);\n oldBSCount.push(state.bsCount[nextLine]);\n oldTShift.push(state.tShift[nextLine]);\n oldSCount.push(state.sCount[nextLine]);\n\n // A negative indentation means that this is a paragraph continuation\n //\n state.sCount[nextLine] = -1;\n }\n\n oldIndent = state.blkIndent;\n state.blkIndent = 0;\n\n token = state.push('blockquote_open', 'blockquote', 1);\n token.markup = '>';\n token.map = lines = [ startLine, 0 ];\n\n state.md.block.tokenize(state, startLine, nextLine);\n\n token = state.push('blockquote_close', 'blockquote', -1);\n token.markup = '>';\n\n state.lineMax = oldLineMax;\n state.parentType = oldParentType;\n lines[1] = state.line;\n\n // Restore original tShift; this might not be necessary since the parser\n // has already been here, but just to make sure we can do that.\n for (i = 0; i < oldTShift.length; i++) {\n state.bMarks[i + startLine] = oldBMarks[i];\n state.tShift[i + startLine] = oldTShift[i];\n state.sCount[i + startLine] = oldSCount[i];\n state.bsCount[i + startLine] = oldBSCount[i];\n }\n state.blkIndent = oldIndent;\n\n return true;\n};\n","// Code block (4 spaces padded)\n\n'use strict';\n\n\nmodule.exports = function code(state, startLine, endLine/*, silent*/) {\n var nextLine, last, token;\n\n if (state.sCount[startLine] - state.blkIndent < 4) { return false; }\n\n last = nextLine = startLine + 1;\n\n while (nextLine < endLine) {\n if (state.isEmpty(nextLine)) {\n nextLine++;\n continue;\n }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n nextLine++;\n last = nextLine;\n continue;\n }\n break;\n }\n\n state.line = last;\n\n token = state.push('code_block', 'code', 0);\n token.content = state.getLines(startLine, last, 4 + state.blkIndent, false) + '\\n';\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// fences (``` lang, ~~~ lang)\n\n'use strict';\n\n\nmodule.exports = function fence(state, startLine, endLine, silent) {\n var marker, len, params, nextLine, mem, token, markup,\n haveEndMarker = false,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (pos + 3 > max) { return false; }\n\n marker = state.src.charCodeAt(pos);\n\n if (marker !== 0x7E/* ~ */ && marker !== 0x60 /* ` */) {\n return false;\n }\n\n // scan marker length\n mem = pos;\n pos = state.skipChars(pos, marker);\n\n len = pos - mem;\n\n if (len < 3) { return false; }\n\n markup = state.src.slice(mem, pos);\n params = state.src.slice(pos, max);\n\n if (marker === 0x60 /* ` */) {\n if (params.indexOf(String.fromCharCode(marker)) >= 0) {\n return false;\n }\n }\n\n // Since start is found, we can report success here in validation mode\n if (silent) { return true; }\n\n // search end of block\n nextLine = startLine;\n\n for (;;) {\n nextLine++;\n if (nextLine >= endLine) {\n // unclosed block should be autoclosed by end of document.\n // also block seems to be autoclosed by end of parent\n break;\n }\n\n pos = mem = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max && state.sCount[nextLine] < state.blkIndent) {\n // non-empty line with negative indent should stop the list:\n // - ```\n // test\n break;\n }\n\n if (state.src.charCodeAt(pos) !== marker) { continue; }\n\n if (state.sCount[nextLine] - state.blkIndent >= 4) {\n // closing fence should be indented less than 4 spaces\n continue;\n }\n\n pos = state.skipChars(pos, marker);\n\n // closing code fence must be at least as long as the opening one\n if (pos - mem < len) { continue; }\n\n // make sure tail has spaces only\n pos = state.skipSpaces(pos);\n\n if (pos < max) { continue; }\n\n haveEndMarker = true;\n // found!\n break;\n }\n\n // If a fence has heading spaces, they should be removed from its inner block\n len = state.sCount[startLine];\n\n state.line = nextLine + (haveEndMarker ? 1 : 0);\n\n token = state.push('fence', 'code', 0);\n token.info = params;\n token.content = state.getLines(startLine + 1, nextLine, len, true);\n token.markup = markup;\n token.map = [ startLine, state.line ];\n\n return true;\n};\n","// heading (#, ##, ...)\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function heading(state, startLine, endLine, silent) {\n var ch, level, tmp, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x23/* # */ || pos >= max) { return false; }\n\n // count heading level\n level = 1;\n ch = state.src.charCodeAt(++pos);\n while (ch === 0x23/* # */ && pos < max && level <= 6) {\n level++;\n ch = state.src.charCodeAt(++pos);\n }\n\n if (level > 6 || (pos < max && !isSpace(ch))) { return false; }\n\n if (silent) { return true; }\n\n // Let's cut tails like ' ### ' from the end of string\n\n max = state.skipSpacesBack(max, pos);\n tmp = state.skipCharsBack(max, 0x23, pos); // #\n if (tmp > pos && isSpace(state.src.charCodeAt(tmp - 1))) {\n max = tmp;\n }\n\n state.line = startLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = '########'.slice(0, level);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = state.src.slice(pos, max).trim();\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = '########'.slice(0, level);\n\n return true;\n};\n","// Horizontal rule\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function hr(state, startLine, endLine, silent) {\n var marker, cnt, ch, token,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n marker = state.src.charCodeAt(pos++);\n\n // Check hr marker\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x5F/* _ */) {\n return false;\n }\n\n // markers can be mixed with spaces, but there should be at least 3 of them\n\n cnt = 1;\n while (pos < max) {\n ch = state.src.charCodeAt(pos++);\n if (ch !== marker && !isSpace(ch)) { return false; }\n if (ch === marker) { cnt++; }\n }\n\n if (cnt < 3) { return false; }\n\n if (silent) { return true; }\n\n state.line = startLine + 1;\n\n token = state.push('hr', 'hr', 0);\n token.map = [ startLine, state.line ];\n token.markup = Array(cnt + 1).join(String.fromCharCode(marker));\n\n return true;\n};\n","// HTML block\n\n'use strict';\n\n\nvar block_names = require('../common/html_blocks');\nvar HTML_OPEN_CLOSE_TAG_RE = require('../common/html_re').HTML_OPEN_CLOSE_TAG_RE;\n\n// An array of opening and corresponding closing sequences for html tags,\n// last argument defines whether it can terminate a paragraph or not\n//\nvar HTML_SEQUENCES = [\n [ /^<(script|pre|style|textarea)(?=(\\s|>|$))/i, /<\\/(script|pre|style|textarea)>/i, true ],\n [ /^/, true ],\n [ /^<\\?/, /\\?>/, true ],\n [ /^/, true ],\n [ /^/, true ],\n [ new RegExp('^|$))', 'i'), /^$/, true ],\n [ new RegExp(HTML_OPEN_CLOSE_TAG_RE.source + '\\\\s*$'), /^$/, false ]\n];\n\n\nmodule.exports = function html_block(state, startLine, endLine, silent) {\n var i, nextLine, token, lineText,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine];\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (!state.md.options.html) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n lineText = state.src.slice(pos, max);\n\n for (i = 0; i < HTML_SEQUENCES.length; i++) {\n if (HTML_SEQUENCES[i][0].test(lineText)) { break; }\n }\n\n if (i === HTML_SEQUENCES.length) { return false; }\n\n if (silent) {\n // true if this sequence can be a terminator, false otherwise\n return HTML_SEQUENCES[i][2];\n }\n\n nextLine = startLine + 1;\n\n // If we are here - we detected HTML block.\n // Let's roll down till block end.\n if (!HTML_SEQUENCES[i][1].test(lineText)) {\n for (; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n lineText = state.src.slice(pos, max);\n\n if (HTML_SEQUENCES[i][1].test(lineText)) {\n if (lineText.length !== 0) { nextLine++; }\n break;\n }\n }\n }\n\n state.line = nextLine;\n\n token = state.push('html_block', '', 0);\n token.map = [ startLine, nextLine ];\n token.content = state.getLines(startLine, nextLine, state.blkIndent, true);\n\n return true;\n};\n","// lheading (---, ===)\n\n'use strict';\n\n\nmodule.exports = function lheading(state, startLine, endLine/*, silent*/) {\n var content, terminate, i, l, token, pos, max, level, marker,\n nextLine = startLine + 1, oldParentType,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph'; // use paragraph to match terminatorRules\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n //\n // Check for underline in setext header\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n max = state.eMarks[nextLine];\n\n if (pos < max) {\n marker = state.src.charCodeAt(pos);\n\n if (marker === 0x2D/* - */ || marker === 0x3D/* = */) {\n pos = state.skipChars(pos, marker);\n pos = state.skipSpaces(pos);\n\n if (pos >= max) {\n level = (marker === 0x3D/* = */ ? 1 : 2);\n break;\n }\n }\n }\n }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n if (!level) {\n // Didn't find valid underline\n return false;\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine + 1;\n\n token = state.push('heading_open', 'h' + String(level), 1);\n token.markup = String.fromCharCode(marker);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line - 1 ];\n token.children = [];\n\n token = state.push('heading_close', 'h' + String(level), -1);\n token.markup = String.fromCharCode(marker);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","// Lists\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\n// Search `[-+*][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipBulletListMarker(state, startLine) {\n var marker, pos, max, ch;\n\n pos = state.bMarks[startLine] + state.tShift[startLine];\n max = state.eMarks[startLine];\n\n marker = state.src.charCodeAt(pos++);\n // Check bullet\n if (marker !== 0x2A/* * */ &&\n marker !== 0x2D/* - */ &&\n marker !== 0x2B/* + */) {\n return -1;\n }\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" -test \" - is not a list item\n return -1;\n }\n }\n\n return pos;\n}\n\n// Search `\\d+[.)][\\n ]`, returns next pos after marker on success\n// or -1 on fail.\nfunction skipOrderedListMarker(state, startLine) {\n var ch,\n start = state.bMarks[startLine] + state.tShift[startLine],\n pos = start,\n max = state.eMarks[startLine];\n\n // List marker should have at least 2 chars (digit + dot)\n if (pos + 1 >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch < 0x30/* 0 */ || ch > 0x39/* 9 */) { return -1; }\n\n for (;;) {\n // EOL -> fail\n if (pos >= max) { return -1; }\n\n ch = state.src.charCodeAt(pos++);\n\n if (ch >= 0x30/* 0 */ && ch <= 0x39/* 9 */) {\n\n // List marker should have no more than 9 digits\n // (prevents integer overflow in browsers)\n if (pos - start >= 10) { return -1; }\n\n continue;\n }\n\n // found valid marker\n if (ch === 0x29/* ) */ || ch === 0x2e/* . */) {\n break;\n }\n\n return -1;\n }\n\n\n if (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (!isSpace(ch)) {\n // \" 1.test \" - is not a list item\n return -1;\n }\n }\n return pos;\n}\n\nfunction markTightParagraphs(state, idx) {\n var i, l,\n level = state.level + 2;\n\n for (i = idx + 2, l = state.tokens.length - 2; i < l; i++) {\n if (state.tokens[i].level === level && state.tokens[i].type === 'paragraph_open') {\n state.tokens[i + 2].hidden = true;\n state.tokens[i].hidden = true;\n i += 2;\n }\n }\n}\n\n\nmodule.exports = function list(state, startLine, endLine, silent) {\n var ch,\n contentStart,\n i,\n indent,\n indentAfterMarker,\n initial,\n isOrdered,\n itemLines,\n l,\n listLines,\n listTokIdx,\n markerCharCode,\n markerValue,\n max,\n offset,\n oldListIndent,\n oldParentType,\n oldSCount,\n oldTShift,\n oldTight,\n pos,\n posAfterMarker,\n prevEmptyEnd,\n start,\n terminate,\n terminatorRules,\n token,\n nextLine = startLine,\n isTerminatingParagraph = false,\n tight = true;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\n\n // Special case:\n // - item 1\n // - item 2\n // - item 3\n // - item 4\n // - this one is a paragraph continuation\n if (state.listIndent >= 0 &&\n state.sCount[nextLine] - state.listIndent >= 4 &&\n state.sCount[nextLine] < state.blkIndent) {\n return false;\n }\n\n // limit conditions when list can interrupt\n // a paragraph (validation mode only)\n if (silent && state.parentType === 'paragraph') {\n // Next list item should still terminate previous list item;\n //\n // This code can fail if plugins use blkIndent as well as lists,\n // but I hope the spec gets fixed long before that happens.\n //\n if (state.sCount[nextLine] >= state.blkIndent) {\n isTerminatingParagraph = true;\n }\n }\n\n // Detect list type and position after marker\n if ((posAfterMarker = skipOrderedListMarker(state, nextLine)) >= 0) {\n isOrdered = true;\n start = state.bMarks[nextLine] + state.tShift[nextLine];\n markerValue = Number(state.src.slice(start, posAfterMarker - 1));\n\n // If we're starting a new ordered list right after\n // a paragraph, it should start with 1.\n if (isTerminatingParagraph && markerValue !== 1) return false;\n\n } else if ((posAfterMarker = skipBulletListMarker(state, nextLine)) >= 0) {\n isOrdered = false;\n\n } else {\n return false;\n }\n\n // If we're starting a new unordered list right after\n // a paragraph, first line should not be empty.\n if (isTerminatingParagraph) {\n if (state.skipSpaces(posAfterMarker) >= state.eMarks[nextLine]) return false;\n }\n\n // For validation mode we can terminate immediately\n if (silent) { return true; }\n\n // We should terminate list on style change. Remember first one to compare.\n markerCharCode = state.src.charCodeAt(posAfterMarker - 1);\n\n // Start list\n listTokIdx = state.tokens.length;\n\n if (isOrdered) {\n token = state.push('ordered_list_open', 'ol', 1);\n if (markerValue !== 1) {\n token.attrs = [ [ 'start', markerValue ] ];\n }\n\n } else {\n token = state.push('bullet_list_open', 'ul', 1);\n }\n\n token.map = listLines = [ nextLine, 0 ];\n token.markup = String.fromCharCode(markerCharCode);\n\n //\n // Iterate list items\n //\n\n prevEmptyEnd = false;\n terminatorRules = state.md.block.ruler.getRules('list');\n\n oldParentType = state.parentType;\n state.parentType = 'list';\n\n while (nextLine < endLine) {\n pos = posAfterMarker;\n max = state.eMarks[nextLine];\n\n initial = offset = state.sCount[nextLine] + posAfterMarker - (state.bMarks[nextLine] + state.tShift[nextLine]);\n\n while (pos < max) {\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x09) {\n offset += 4 - (offset + state.bsCount[nextLine]) % 4;\n } else if (ch === 0x20) {\n offset++;\n } else {\n break;\n }\n\n pos++;\n }\n\n contentStart = pos;\n\n if (contentStart >= max) {\n // trimming space in \"- \\n 3\" case, indent is 1 here\n indentAfterMarker = 1;\n } else {\n indentAfterMarker = offset - initial;\n }\n\n // If we have more than 4 spaces, the indent is 1\n // (the rest is just indented code block)\n if (indentAfterMarker > 4) { indentAfterMarker = 1; }\n\n // \" - test\"\n // ^^^^^ - calculating total length of this thing\n indent = initial + indentAfterMarker;\n\n // Run subparser & write tokens\n token = state.push('list_item_open', 'li', 1);\n token.markup = String.fromCharCode(markerCharCode);\n token.map = itemLines = [ nextLine, 0 ];\n if (isOrdered) {\n token.info = state.src.slice(start, posAfterMarker - 1);\n }\n\n // change current state, then restore it after parser subcall\n oldTight = state.tight;\n oldTShift = state.tShift[nextLine];\n oldSCount = state.sCount[nextLine];\n\n // - example list\n // ^ listIndent position will be here\n // ^ blkIndent position will be here\n //\n oldListIndent = state.listIndent;\n state.listIndent = state.blkIndent;\n state.blkIndent = indent;\n\n state.tight = true;\n state.tShift[nextLine] = contentStart - state.bMarks[nextLine];\n state.sCount[nextLine] = offset;\n\n if (contentStart >= max && state.isEmpty(nextLine + 1)) {\n // workaround for this case\n // (list item is empty, list terminates before \"foo\"):\n // ~~~~~~~~\n // -\n //\n // foo\n // ~~~~~~~~\n state.line = Math.min(state.line + 2, endLine);\n } else {\n state.md.block.tokenize(state, nextLine, endLine, true);\n }\n\n // If any of list item is tight, mark list as tight\n if (!state.tight || prevEmptyEnd) {\n tight = false;\n }\n // Item become loose if finish with empty line,\n // but we should filter last element, because it means list finish\n prevEmptyEnd = (state.line - nextLine) > 1 && state.isEmpty(state.line - 1);\n\n state.blkIndent = state.listIndent;\n state.listIndent = oldListIndent;\n state.tShift[nextLine] = oldTShift;\n state.sCount[nextLine] = oldSCount;\n state.tight = oldTight;\n\n token = state.push('list_item_close', 'li', -1);\n token.markup = String.fromCharCode(markerCharCode);\n\n nextLine = state.line;\n itemLines[1] = nextLine;\n\n if (nextLine >= endLine) { break; }\n\n //\n // Try to check if list is terminated or continued.\n //\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\n\n // fail if terminating block found\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n\n // fail if list has another type\n if (isOrdered) {\n posAfterMarker = skipOrderedListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n start = state.bMarks[nextLine] + state.tShift[nextLine];\n } else {\n posAfterMarker = skipBulletListMarker(state, nextLine);\n if (posAfterMarker < 0) { break; }\n }\n\n if (markerCharCode !== state.src.charCodeAt(posAfterMarker - 1)) { break; }\n }\n\n // Finalize list\n if (isOrdered) {\n token = state.push('ordered_list_close', 'ol', -1);\n } else {\n token = state.push('bullet_list_close', 'ul', -1);\n }\n token.markup = String.fromCharCode(markerCharCode);\n\n listLines[1] = nextLine;\n state.line = nextLine;\n\n state.parentType = oldParentType;\n\n // mark paragraphs tight if needed\n if (tight) {\n markTightParagraphs(state, listTokIdx);\n }\n\n return true;\n};\n","// Paragraph\n\n'use strict';\n\n\nmodule.exports = function paragraph(state, startLine, endLine) {\n var content, terminate, i, l, token, oldParentType,\n nextLine = startLine + 1,\n terminatorRules = state.md.block.ruler.getRules('paragraph');\n\n oldParentType = state.parentType;\n state.parentType = 'paragraph';\n\n // jump line-by-line until empty one or EOF\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n content = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n\n state.line = nextLine;\n\n token = state.push('paragraph_open', 'p', 1);\n token.map = [ startLine, state.line ];\n\n token = state.push('inline', '', 0);\n token.content = content;\n token.map = [ startLine, state.line ];\n token.children = [];\n\n token = state.push('paragraph_close', 'p', -1);\n\n state.parentType = oldParentType;\n\n return true;\n};\n","'use strict';\n\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function reference(state, startLine, _endLine, silent) {\n var ch,\n destEndPos,\n destEndLineNo,\n endLine,\n href,\n i,\n l,\n label,\n labelEnd,\n oldParentType,\n res,\n start,\n str,\n terminate,\n terminatorRules,\n title,\n lines = 0,\n pos = state.bMarks[startLine] + state.tShift[startLine],\n max = state.eMarks[startLine],\n nextLine = startLine + 1;\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n\n if (state.src.charCodeAt(pos) !== 0x5B/* [ */) { return false; }\n\n // Simple check to quickly interrupt scan on [link](url) at the start of line.\n // Can be useful on practice: https://github.com/markdown-it/markdown-it/issues/54\n while (++pos < max) {\n if (state.src.charCodeAt(pos) === 0x5D /* ] */ &&\n state.src.charCodeAt(pos - 1) !== 0x5C/* \\ */) {\n if (pos + 1 === max) { return false; }\n if (state.src.charCodeAt(pos + 1) !== 0x3A/* : */) { return false; }\n break;\n }\n }\n\n endLine = state.lineMax;\n\n // jump line-by-line until empty one or EOF\n terminatorRules = state.md.block.ruler.getRules('reference');\n\n oldParentType = state.parentType;\n state.parentType = 'reference';\n\n for (; nextLine < endLine && !state.isEmpty(nextLine); nextLine++) {\n // this would be a code block normally, but after paragraph\n // it's considered a lazy continuation regardless of what's there\n if (state.sCount[nextLine] - state.blkIndent > 3) { continue; }\n\n // quirk for blockquotes, this line should already be checked by that rule\n if (state.sCount[nextLine] < 0) { continue; }\n\n // Some tags can terminate paragraph without empty line.\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n if (terminate) { break; }\n }\n\n str = state.getLines(startLine, nextLine, state.blkIndent, false).trim();\n max = str.length;\n\n for (pos = 1; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x5B /* [ */) {\n return false;\n } else if (ch === 0x5D /* ] */) {\n labelEnd = pos;\n break;\n } else if (ch === 0x0A /* \\n */) {\n lines++;\n } else if (ch === 0x5C /* \\ */) {\n pos++;\n if (pos < max && str.charCodeAt(pos) === 0x0A) {\n lines++;\n }\n }\n }\n\n if (labelEnd < 0 || str.charCodeAt(labelEnd + 1) !== 0x3A/* : */) { return false; }\n\n // [label]: destination 'title'\n // ^^^ skip optional whitespace here\n for (pos = labelEnd + 2; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^^^^^ parse this\n res = state.md.helpers.parseLinkDestination(str, pos, max);\n if (!res.ok) { return false; }\n\n href = state.md.normalizeLink(res.str);\n if (!state.md.validateLink(href)) { return false; }\n\n pos = res.pos;\n lines += res.lines;\n\n // save cursor state, we could require to rollback later\n destEndPos = pos;\n destEndLineNo = lines;\n\n // [label]: destination 'title'\n // ^^^ skipping those spaces\n start = pos;\n for (; pos < max; pos++) {\n ch = str.charCodeAt(pos);\n if (ch === 0x0A) {\n lines++;\n } else if (isSpace(ch)) {\n /*eslint no-empty:0*/\n } else {\n break;\n }\n }\n\n // [label]: destination 'title'\n // ^^^^^^^ parse this\n res = state.md.helpers.parseLinkTitle(str, pos, max);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n lines += res.lines;\n } else {\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n }\n\n // skip trailing spaces until the rest of the line\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n if (title) {\n // garbage at the end of the line after title,\n // but it could still be a valid reference if we roll back\n title = '';\n pos = destEndPos;\n lines = destEndLineNo;\n while (pos < max) {\n ch = str.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n pos++;\n }\n }\n }\n\n if (pos < max && str.charCodeAt(pos) !== 0x0A) {\n // garbage at the end of the line\n return false;\n }\n\n label = normalizeReference(str.slice(1, labelEnd));\n if (!label) {\n // CommonMark 0.20 disallows empty labels\n return false;\n }\n\n // Reference can not terminate anything. This check is for safety only.\n /*istanbul ignore if*/\n if (silent) { return true; }\n\n if (typeof state.env.references === 'undefined') {\n state.env.references = {};\n }\n if (typeof state.env.references[label] === 'undefined') {\n state.env.references[label] = { title: title, href: href };\n }\n\n state.parentType = oldParentType;\n\n state.line = startLine + lines + 1;\n return true;\n};\n","// Parser state class\n\n'use strict';\n\nvar Token = require('../token');\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction StateBlock(src, md, env, tokens) {\n var ch, s, start, pos, len, indent, offset, indent_found;\n\n this.src = src;\n\n // link to parser instance\n this.md = md;\n\n this.env = env;\n\n //\n // Internal state vartiables\n //\n\n this.tokens = tokens;\n\n this.bMarks = []; // line begin offsets for fast jumps\n this.eMarks = []; // line end offsets for fast jumps\n this.tShift = []; // offsets of the first non-space characters (tabs not expanded)\n this.sCount = []; // indents for each line (tabs expanded)\n\n // An amount of virtual spaces (tabs expanded) between beginning\n // of each line (bMarks) and real beginning of that line.\n //\n // It exists only as a hack because blockquotes override bMarks\n // losing information in the process.\n //\n // It's used only when expanding tabs, you can think about it as\n // an initial tab length, e.g. bsCount=21 applied to string `\\t123`\n // means first tab should be expanded to 4-21%4 === 3 spaces.\n //\n this.bsCount = [];\n\n // block parser variables\n this.blkIndent = 0; // required block content indent (for example, if we are\n // inside a list, it would be positioned after list marker)\n this.line = 0; // line index in src\n this.lineMax = 0; // lines count\n this.tight = false; // loose/tight mode for lists\n this.ddIndent = -1; // indent of the current dd block (-1 if there isn't any)\n this.listIndent = -1; // indent of the current list block (-1 if there isn't any)\n\n // can be 'blockquote', 'list', 'root', 'paragraph' or 'reference'\n // used in lists to determine if they interrupt a paragraph\n this.parentType = 'root';\n\n this.level = 0;\n\n // renderer\n this.result = '';\n\n // Create caches\n // Generate markers.\n s = this.src;\n indent_found = false;\n\n for (start = pos = indent = offset = 0, len = s.length; pos < len; pos++) {\n ch = s.charCodeAt(pos);\n\n if (!indent_found) {\n if (isSpace(ch)) {\n indent++;\n\n if (ch === 0x09) {\n offset += 4 - offset % 4;\n } else {\n offset++;\n }\n continue;\n } else {\n indent_found = true;\n }\n }\n\n if (ch === 0x0A || pos === len - 1) {\n if (ch !== 0x0A) { pos++; }\n this.bMarks.push(start);\n this.eMarks.push(pos);\n this.tShift.push(indent);\n this.sCount.push(offset);\n this.bsCount.push(0);\n\n indent_found = false;\n indent = 0;\n offset = 0;\n start = pos + 1;\n }\n }\n\n // Push fake entry to simplify cache bounds checks\n this.bMarks.push(s.length);\n this.eMarks.push(s.length);\n this.tShift.push(0);\n this.sCount.push(0);\n this.bsCount.push(0);\n\n this.lineMax = this.bMarks.length - 1; // don't count last fake line\n}\n\n// Push new token to \"stream\".\n//\nStateBlock.prototype.push = function (type, tag, nesting) {\n var token = new Token(type, tag, nesting);\n token.block = true;\n\n if (nesting < 0) this.level--; // closing tag\n token.level = this.level;\n if (nesting > 0) this.level++; // opening tag\n\n this.tokens.push(token);\n return token;\n};\n\nStateBlock.prototype.isEmpty = function isEmpty(line) {\n return this.bMarks[line] + this.tShift[line] >= this.eMarks[line];\n};\n\nStateBlock.prototype.skipEmptyLines = function skipEmptyLines(from) {\n for (var max = this.lineMax; from < max; from++) {\n if (this.bMarks[from] + this.tShift[from] < this.eMarks[from]) {\n break;\n }\n }\n return from;\n};\n\n// Skip spaces from given position.\nStateBlock.prototype.skipSpaces = function skipSpaces(pos) {\n var ch;\n\n for (var max = this.src.length; pos < max; pos++) {\n ch = this.src.charCodeAt(pos);\n if (!isSpace(ch)) { break; }\n }\n return pos;\n};\n\n// Skip spaces from given position in reverse.\nStateBlock.prototype.skipSpacesBack = function skipSpacesBack(pos, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (!isSpace(this.src.charCodeAt(--pos))) { return pos + 1; }\n }\n return pos;\n};\n\n// Skip char codes from given position\nStateBlock.prototype.skipChars = function skipChars(pos, code) {\n for (var max = this.src.length; pos < max; pos++) {\n if (this.src.charCodeAt(pos) !== code) { break; }\n }\n return pos;\n};\n\n// Skip char codes reverse from given position - 1\nStateBlock.prototype.skipCharsBack = function skipCharsBack(pos, code, min) {\n if (pos <= min) { return pos; }\n\n while (pos > min) {\n if (code !== this.src.charCodeAt(--pos)) { return pos + 1; }\n }\n return pos;\n};\n\n// cut lines range from source.\nStateBlock.prototype.getLines = function getLines(begin, end, indent, keepLastLF) {\n var i, lineIndent, ch, first, last, queue, lineStart,\n line = begin;\n\n if (begin >= end) {\n return '';\n }\n\n queue = new Array(end - begin);\n\n for (i = 0; line < end; line++, i++) {\n lineIndent = 0;\n lineStart = first = this.bMarks[line];\n\n if (line + 1 < end || keepLastLF) {\n // No need for bounds check because we have fake entry on tail.\n last = this.eMarks[line] + 1;\n } else {\n last = this.eMarks[line];\n }\n\n while (first < last && lineIndent < indent) {\n ch = this.src.charCodeAt(first);\n\n if (isSpace(ch)) {\n if (ch === 0x09) {\n lineIndent += 4 - (lineIndent + this.bsCount[line]) % 4;\n } else {\n lineIndent++;\n }\n } else if (first - lineStart < this.tShift[line]) {\n // patched tShift masked characters to look like spaces (blockquotes, list markers)\n lineIndent++;\n } else {\n break;\n }\n\n first++;\n }\n\n if (lineIndent > indent) {\n // partially expanding tabs in code blocks, e.g '\\t\\tfoobar'\n // with indent=2 becomes ' \\tfoobar'\n queue[i] = new Array(lineIndent - indent + 1).join(' ') + this.src.slice(first, last);\n } else {\n queue[i] = this.src.slice(first, last);\n }\n }\n\n return queue.join('');\n};\n\n// re-export Token class to use in block rules\nStateBlock.prototype.Token = Token;\n\n\nmodule.exports = StateBlock;\n","// GFM table, https://github.github.com/gfm/#tables-extension-\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nfunction getLine(state, line) {\n var pos = state.bMarks[line] + state.tShift[line],\n max = state.eMarks[line];\n\n return state.src.slice(pos, max);\n}\n\nfunction escapedSplit(str) {\n var result = [],\n pos = 0,\n max = str.length,\n ch,\n isEscaped = false,\n lastPos = 0,\n current = '';\n\n ch = str.charCodeAt(pos);\n\n while (pos < max) {\n if (ch === 0x7c/* | */) {\n if (!isEscaped) {\n // pipe separating cells, '|'\n result.push(current + str.substring(lastPos, pos));\n current = '';\n lastPos = pos + 1;\n } else {\n // escaped pipe, '\\|'\n current += str.substring(lastPos, pos - 1);\n lastPos = pos;\n }\n }\n\n isEscaped = (ch === 0x5c/* \\ */);\n pos++;\n\n ch = str.charCodeAt(pos);\n }\n\n result.push(current + str.substring(lastPos));\n\n return result;\n}\n\n\nmodule.exports = function table(state, startLine, endLine, silent) {\n var ch, lineText, pos, i, l, nextLine, columns, columnCount, token,\n aligns, t, tableLines, tbodyLines, oldParentType, terminate,\n terminatorRules, firstCh, secondCh;\n\n // should have at least two lines\n if (startLine + 2 > endLine) { return false; }\n\n nextLine = startLine + 1;\n\n if (state.sCount[nextLine] < state.blkIndent) { return false; }\n\n // if it's indented more than 3 spaces, it should be a code block\n if (state.sCount[nextLine] - state.blkIndent >= 4) { return false; }\n\n // first character of the second line should be '|', '-', ':',\n // and no other characters are allowed but spaces;\n // basically, this is the equivalent of /^[-:|][-:|\\s]*$/ regexp\n\n pos = state.bMarks[nextLine] + state.tShift[nextLine];\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n firstCh = state.src.charCodeAt(pos++);\n if (firstCh !== 0x7C/* | */ && firstCh !== 0x2D/* - */ && firstCh !== 0x3A/* : */) { return false; }\n\n if (pos >= state.eMarks[nextLine]) { return false; }\n\n secondCh = state.src.charCodeAt(pos++);\n if (secondCh !== 0x7C/* | */ && secondCh !== 0x2D/* - */ && secondCh !== 0x3A/* : */ && !isSpace(secondCh)) {\n return false;\n }\n\n // if first character is '-', then second character must not be a space\n // (due to parsing ambiguity with list)\n if (firstCh === 0x2D/* - */ && isSpace(secondCh)) { return false; }\n\n while (pos < state.eMarks[nextLine]) {\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x7C/* | */ && ch !== 0x2D/* - */ && ch !== 0x3A/* : */ && !isSpace(ch)) { return false; }\n\n pos++;\n }\n\n lineText = getLine(state, startLine + 1);\n\n columns = lineText.split('|');\n aligns = [];\n for (i = 0; i < columns.length; i++) {\n t = columns[i].trim();\n if (!t) {\n // allow empty columns before and after table, but not in between columns;\n // e.g. allow ` |---| `, disallow ` ---||--- `\n if (i === 0 || i === columns.length - 1) {\n continue;\n } else {\n return false;\n }\n }\n\n if (!/^:?-+:?$/.test(t)) { return false; }\n if (t.charCodeAt(t.length - 1) === 0x3A/* : */) {\n aligns.push(t.charCodeAt(0) === 0x3A/* : */ ? 'center' : 'right');\n } else if (t.charCodeAt(0) === 0x3A/* : */) {\n aligns.push('left');\n } else {\n aligns.push('');\n }\n }\n\n lineText = getLine(state, startLine).trim();\n if (lineText.indexOf('|') === -1) { return false; }\n if (state.sCount[startLine] - state.blkIndent >= 4) { return false; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n // header row will define an amount of columns in the entire table,\n // and align row should be exactly the same (the rest of the rows can differ)\n columnCount = columns.length;\n if (columnCount === 0 || columnCount !== aligns.length) { return false; }\n\n if (silent) { return true; }\n\n oldParentType = state.parentType;\n state.parentType = 'table';\n\n // use 'blockquote' lists for termination because it's\n // the most similar to tables\n terminatorRules = state.md.block.ruler.getRules('blockquote');\n\n token = state.push('table_open', 'table', 1);\n token.map = tableLines = [ startLine, 0 ];\n\n token = state.push('thead_open', 'thead', 1);\n token.map = [ startLine, startLine + 1 ];\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ startLine, startLine + 1 ];\n\n for (i = 0; i < columns.length; i++) {\n token = state.push('th_open', 'th', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i].trim();\n token.children = [];\n\n token = state.push('th_close', 'th', -1);\n }\n\n token = state.push('tr_close', 'tr', -1);\n token = state.push('thead_close', 'thead', -1);\n\n for (nextLine = startLine + 2; nextLine < endLine; nextLine++) {\n if (state.sCount[nextLine] < state.blkIndent) { break; }\n\n terminate = false;\n for (i = 0, l = terminatorRules.length; i < l; i++) {\n if (terminatorRules[i](state, nextLine, endLine, true)) {\n terminate = true;\n break;\n }\n }\n\n if (terminate) { break; }\n lineText = getLine(state, nextLine).trim();\n if (!lineText) { break; }\n if (state.sCount[nextLine] - state.blkIndent >= 4) { break; }\n columns = escapedSplit(lineText);\n if (columns.length && columns[0] === '') columns.shift();\n if (columns.length && columns[columns.length - 1] === '') columns.pop();\n\n if (nextLine === startLine + 2) {\n token = state.push('tbody_open', 'tbody', 1);\n token.map = tbodyLines = [ startLine + 2, 0 ];\n }\n\n token = state.push('tr_open', 'tr', 1);\n token.map = [ nextLine, nextLine + 1 ];\n\n for (i = 0; i < columnCount; i++) {\n token = state.push('td_open', 'td', 1);\n if (aligns[i]) {\n token.attrs = [ [ 'style', 'text-align:' + aligns[i] ] ];\n }\n\n token = state.push('inline', '', 0);\n token.content = columns[i] ? columns[i].trim() : '';\n token.children = [];\n\n token = state.push('td_close', 'td', -1);\n }\n token = state.push('tr_close', 'tr', -1);\n }\n\n if (tbodyLines) {\n token = state.push('tbody_close', 'tbody', -1);\n tbodyLines[1] = nextLine;\n }\n\n token = state.push('table_close', 'table', -1);\n tableLines[1] = nextLine;\n\n state.parentType = oldParentType;\n state.line = nextLine;\n return true;\n};\n","'use strict';\n\n\nmodule.exports = function block(state) {\n var token;\n\n if (state.inlineMode) {\n token = new state.Token('inline', '', 0);\n token.content = state.src;\n token.map = [ 0, 1 ];\n token.children = [];\n state.tokens.push(token);\n } else {\n state.md.block.parse(state.src, state.md, state.env, state.tokens);\n }\n};\n","'use strict';\n\nmodule.exports = function inline(state) {\n var tokens = state.tokens, tok, i, l;\n\n // Parse inlines\n for (i = 0, l = tokens.length; i < l; i++) {\n tok = tokens[i];\n if (tok.type === 'inline') {\n state.md.inline.parse(tok.content, state.md, state.env, tok.children);\n }\n }\n};\n","// Replace link-like texts with link nodes.\n//\n// Currently restricted by `md.validateLink()` to http/https/ftp\n//\n'use strict';\n\n\nvar arrayReplaceAt = require('../common/utils').arrayReplaceAt;\n\n\nfunction isLinkOpen(str) {\n return /^\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nmodule.exports = function linkify(state) {\n var i, j, l, tokens, token, currentToken, nodes, ln, text, pos, lastPos,\n level, htmlLinkLevel, url, fullUrl, urlText,\n blockTokens = state.tokens,\n links;\n\n if (!state.md.options.linkify) { return; }\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline' ||\n !state.md.linkify.pretest(blockTokens[j].content)) {\n continue;\n }\n\n tokens = blockTokens[j].children;\n\n htmlLinkLevel = 0;\n\n // We scan from the end, to keep position when new tags added.\n // Use reversed logic in links start/end match\n for (i = tokens.length - 1; i >= 0; i--) {\n currentToken = tokens[i];\n\n // Skip content of markdown links\n if (currentToken.type === 'link_close') {\n i--;\n while (tokens[i].level !== currentToken.level && tokens[i].type !== 'link_open') {\n i--;\n }\n continue;\n }\n\n // Skip content of html tag links\n if (currentToken.type === 'html_inline') {\n if (isLinkOpen(currentToken.content) && htmlLinkLevel > 0) {\n htmlLinkLevel--;\n }\n if (isLinkClose(currentToken.content)) {\n htmlLinkLevel++;\n }\n }\n if (htmlLinkLevel > 0) { continue; }\n\n if (currentToken.type === 'text' && state.md.linkify.test(currentToken.content)) {\n\n text = currentToken.content;\n links = state.md.linkify.match(text);\n\n // Now split string to nodes\n nodes = [];\n level = currentToken.level;\n lastPos = 0;\n\n // forbid escape sequence at the start of the string,\n // this avoids http\\://example.com/ from being linkified as\n // http://example.com/\n if (links.length > 0 &&\n links[0].index === 0 &&\n i > 0 &&\n tokens[i - 1].type === 'text_special') {\n links = links.slice(1);\n }\n\n for (ln = 0; ln < links.length; ln++) {\n url = links[ln].url;\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { continue; }\n\n urlText = links[ln].text;\n\n // Linkifier might send raw hostnames like \"example.com\", where url\n // starts with domain name. So we prepend http:// in those cases,\n // and remove it afterwards.\n //\n if (!links[ln].schema) {\n urlText = state.md.normalizeLinkText('http://' + urlText).replace(/^http:\\/\\//, '');\n } else if (links[ln].schema === 'mailto:' && !/^mailto:/i.test(urlText)) {\n urlText = state.md.normalizeLinkText('mailto:' + urlText).replace(/^mailto:/, '');\n } else {\n urlText = state.md.normalizeLinkText(urlText);\n }\n\n pos = links[ln].index;\n\n if (pos > lastPos) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos, pos);\n token.level = level;\n nodes.push(token);\n }\n\n token = new state.Token('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.level = level++;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n token = new state.Token('text', '', 0);\n token.content = urlText;\n token.level = level;\n nodes.push(token);\n\n token = new state.Token('link_close', 'a', -1);\n token.level = --level;\n token.markup = 'linkify';\n token.info = 'auto';\n nodes.push(token);\n\n lastPos = links[ln].lastIndex;\n }\n if (lastPos < text.length) {\n token = new state.Token('text', '', 0);\n token.content = text.slice(lastPos);\n token.level = level;\n nodes.push(token);\n }\n\n // replace current node\n blockTokens[j].children = tokens = arrayReplaceAt(tokens, i, nodes);\n }\n }\n }\n};\n","// Normalize input string\n\n'use strict';\n\n\n// https://spec.commonmark.org/0.29/#line-ending\nvar NEWLINES_RE = /\\r\\n?|\\n/g;\nvar NULL_RE = /\\0/g;\n\n\nmodule.exports = function normalize(state) {\n var str;\n\n // Normalize newlines\n str = state.src.replace(NEWLINES_RE, '\\n');\n\n // Replace NULL characters\n str = str.replace(NULL_RE, '\\uFFFD');\n\n state.src = str;\n};\n","// Simple typographic replacements\n//\n// (c) (C) → ©\n// (tm) (TM) → ™\n// (r) (R) → ®\n// +- → ±\n// ... → … (also ?.... → ?.., !.... → !..)\n// ???????? → ???, !!!!! → !!!, `,,` → `,`\n// -- → –, --- → —\n//\n'use strict';\n\n// TODO:\n// - fractionals 1/2, 1/4, 3/4 -> ½, ¼, ¾\n// - multiplications 2 x 4 -> 2 × 4\n\nvar RARE_RE = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/;\n\n// Workaround for phantomjs - need regex without /g flag,\n// or root check will fail every second time\nvar SCOPED_ABBR_TEST_RE = /\\((c|tm|r)\\)/i;\n\nvar SCOPED_ABBR_RE = /\\((c|tm|r)\\)/ig;\nvar SCOPED_ABBR = {\n c: '©',\n r: '®',\n tm: '™'\n};\n\nfunction replaceFn(match, name) {\n return SCOPED_ABBR[name.toLowerCase()];\n}\n\nfunction replace_scoped(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n token.content = token.content.replace(SCOPED_ABBR_RE, replaceFn);\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\nfunction replace_rare(inlineTokens) {\n var i, token, inside_autolink = 0;\n\n for (i = inlineTokens.length - 1; i >= 0; i--) {\n token = inlineTokens[i];\n\n if (token.type === 'text' && !inside_autolink) {\n if (RARE_RE.test(token.content)) {\n token.content = token.content\n .replace(/\\+-/g, '±')\n // .., ..., ....... -> …\n // but ?..... & !..... -> ?.. & !..\n .replace(/\\.{2,}/g, '…').replace(/([?!])…/g, '$1..')\n .replace(/([?!]){4,}/g, '$1$1$1').replace(/,{2,}/g, ',')\n // em-dash\n .replace(/(^|[^-])---(?=[^-]|$)/mg, '$1\\u2014')\n // en-dash\n .replace(/(^|\\s)--(?=\\s|$)/mg, '$1\\u2013')\n .replace(/(^|[^-\\s])--(?=[^-\\s]|$)/mg, '$1\\u2013');\n }\n }\n\n if (token.type === 'link_open' && token.info === 'auto') {\n inside_autolink--;\n }\n\n if (token.type === 'link_close' && token.info === 'auto') {\n inside_autolink++;\n }\n }\n}\n\n\nmodule.exports = function replace(state) {\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline') { continue; }\n\n if (SCOPED_ABBR_TEST_RE.test(state.tokens[blkIdx].content)) {\n replace_scoped(state.tokens[blkIdx].children);\n }\n\n if (RARE_RE.test(state.tokens[blkIdx].content)) {\n replace_rare(state.tokens[blkIdx].children);\n }\n\n }\n};\n","// Convert straight quotation marks to typographic ones\n//\n'use strict';\n\n\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\nvar QUOTE_TEST_RE = /['\"]/;\nvar QUOTE_RE = /['\"]/g;\nvar APOSTROPHE = '\\u2019'; /* ’ */\n\n\nfunction replaceAt(str, index, ch) {\n return str.slice(0, index) + ch + str.slice(index + 1);\n}\n\nfunction process_inlines(tokens, state) {\n var i, token, text, t, pos, max, thisLevel, item, lastChar, nextChar,\n isLastPunctChar, isNextPunctChar, isLastWhiteSpace, isNextWhiteSpace,\n canOpen, canClose, j, isSingle, stack, openQuote, closeQuote;\n\n stack = [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n\n thisLevel = tokens[i].level;\n\n for (j = stack.length - 1; j >= 0; j--) {\n if (stack[j].level <= thisLevel) { break; }\n }\n stack.length = j + 1;\n\n if (token.type !== 'text') { continue; }\n\n text = token.content;\n pos = 0;\n max = text.length;\n\n /*eslint no-labels:0,block-scoped-var:0*/\n OUTER:\n while (pos < max) {\n QUOTE_RE.lastIndex = pos;\n t = QUOTE_RE.exec(text);\n if (!t) { break; }\n\n canOpen = canClose = true;\n pos = t.index + 1;\n isSingle = (t[0] === \"'\");\n\n // Find previous character,\n // default to space if it's the beginning of the line\n //\n lastChar = 0x20;\n\n if (t.index - 1 >= 0) {\n lastChar = text.charCodeAt(t.index - 1);\n } else {\n for (j = i - 1; j >= 0; j--) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // lastChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n lastChar = tokens[j].content.charCodeAt(tokens[j].content.length - 1);\n break;\n }\n }\n\n // Find next character,\n // default to space if it's the end of the line\n //\n nextChar = 0x20;\n\n if (pos < max) {\n nextChar = text.charCodeAt(pos);\n } else {\n for (j = i + 1; j < tokens.length; j++) {\n if (tokens[j].type === 'softbreak' || tokens[j].type === 'hardbreak') break; // nextChar defaults to 0x20\n if (!tokens[j].content) continue; // should skip all tokens except 'text', 'html_inline' or 'code_inline'\n\n nextChar = tokens[j].content.charCodeAt(0);\n break;\n }\n }\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n canOpen = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n canOpen = false;\n }\n }\n\n if (isLastWhiteSpace) {\n canClose = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n canClose = false;\n }\n }\n\n if (nextChar === 0x22 /* \" */ && t[0] === '\"') {\n if (lastChar >= 0x30 /* 0 */ && lastChar <= 0x39 /* 9 */) {\n // special case: 1\"\" - count first quote as an inch\n canClose = canOpen = false;\n }\n }\n\n if (canOpen && canClose) {\n // Replace quotes in the middle of punctuation sequence, but not\n // in the middle of the words, i.e.:\n //\n // 1. foo \" bar \" baz - not replaced\n // 2. foo-\"-bar-\"-baz - replaced\n // 3. foo\"bar\"baz - not replaced\n //\n canOpen = isLastPunctChar;\n canClose = isNextPunctChar;\n }\n\n if (!canOpen && !canClose) {\n // middle of word\n if (isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n continue;\n }\n\n if (canClose) {\n // this could be a closing quote, rewind the stack to get a match\n for (j = stack.length - 1; j >= 0; j--) {\n item = stack[j];\n if (stack[j].level < thisLevel) { break; }\n if (item.single === isSingle && stack[j].level === thisLevel) {\n item = stack[j];\n\n if (isSingle) {\n openQuote = state.md.options.quotes[2];\n closeQuote = state.md.options.quotes[3];\n } else {\n openQuote = state.md.options.quotes[0];\n closeQuote = state.md.options.quotes[1];\n }\n\n // replace token.content *before* tokens[item.token].content,\n // because, if they are pointing at the same token, replaceAt\n // could mess up indices when quote length != 1\n token.content = replaceAt(token.content, t.index, closeQuote);\n tokens[item.token].content = replaceAt(\n tokens[item.token].content, item.pos, openQuote);\n\n pos += closeQuote.length - 1;\n if (item.token === i) { pos += openQuote.length - 1; }\n\n text = token.content;\n max = text.length;\n\n stack.length = j;\n continue OUTER;\n }\n }\n }\n\n if (canOpen) {\n stack.push({\n token: i,\n pos: t.index,\n single: isSingle,\n level: thisLevel\n });\n } else if (canClose && isSingle) {\n token.content = replaceAt(token.content, t.index, APOSTROPHE);\n }\n }\n }\n}\n\n\nmodule.exports = function smartquotes(state) {\n /*eslint max-depth:0*/\n var blkIdx;\n\n if (!state.md.options.typographer) { return; }\n\n for (blkIdx = state.tokens.length - 1; blkIdx >= 0; blkIdx--) {\n\n if (state.tokens[blkIdx].type !== 'inline' ||\n !QUOTE_TEST_RE.test(state.tokens[blkIdx].content)) {\n continue;\n }\n\n process_inlines(state.tokens[blkIdx].children, state);\n }\n};\n","// Core state object\n//\n'use strict';\n\nvar Token = require('../token');\n\n\nfunction StateCore(src, md, env) {\n this.src = src;\n this.env = env;\n this.tokens = [];\n this.inlineMode = false;\n this.md = md; // link to parser instance\n}\n\n// re-export Token class to use in core rules\nStateCore.prototype.Token = Token;\n\n\nmodule.exports = StateCore;\n","// Join raw text tokens with the rest of the text\n//\n// This is set as a separate rule to provide an opportunity for plugins\n// to run text replacements after text join, but before escape join.\n//\n// For example, `\\:)` shouldn't be replaced with an emoji.\n//\n'use strict';\n\n\nmodule.exports = function text_join(state) {\n var j, l, tokens, curr, max, last,\n blockTokens = state.tokens;\n\n for (j = 0, l = blockTokens.length; j < l; j++) {\n if (blockTokens[j].type !== 'inline') continue;\n\n tokens = blockTokens[j].children;\n max = tokens.length;\n\n for (curr = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text_special') {\n tokens[curr].type = 'text';\n }\n }\n\n for (curr = last = 0; curr < max; curr++) {\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n }\n};\n","// Process autolinks ''\n\n'use strict';\n\n\n/*eslint max-len:0*/\nvar EMAIL_RE = /^([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/;\nvar AUTOLINK_RE = /^([a-zA-Z][a-zA-Z0-9+.\\-]{1,31}):([^<>\\x00-\\x20]*)$/;\n\n\nmodule.exports = function autolink(state, silent) {\n var url, fullUrl, token, ch, start, max,\n pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x3C/* < */) { return false; }\n\n start = state.pos;\n max = state.posMax;\n\n for (;;) {\n if (++pos >= max) return false;\n\n ch = state.src.charCodeAt(pos);\n\n if (ch === 0x3C /* < */) return false;\n if (ch === 0x3E /* > */) break;\n }\n\n url = state.src.slice(start + 1, pos);\n\n if (AUTOLINK_RE.test(url)) {\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n if (EMAIL_RE.test(url)) {\n fullUrl = state.md.normalizeLink('mailto:' + url);\n if (!state.md.validateLink(fullUrl)) { return false; }\n\n if (!silent) {\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'autolink';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'autolink';\n token.info = 'auto';\n }\n\n state.pos += url.length + 2;\n return true;\n }\n\n return false;\n};\n","// Parse backticks\n\n'use strict';\n\n\nmodule.exports = function backtick(state, silent) {\n var start, max, marker, token, matchStart, matchEnd, openerLength, closerLength,\n pos = state.pos,\n ch = state.src.charCodeAt(pos);\n\n if (ch !== 0x60/* ` */) { return false; }\n\n start = pos;\n pos++;\n max = state.posMax;\n\n // scan marker length\n while (pos < max && state.src.charCodeAt(pos) === 0x60/* ` */) { pos++; }\n\n marker = state.src.slice(start, pos);\n openerLength = marker.length;\n\n if (state.backticksScanned && (state.backticks[openerLength] || 0) <= start) {\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n }\n\n matchEnd = pos;\n\n // Nothing found in the cache, scan until the end of the line (or until marker is found)\n while ((matchStart = state.src.indexOf('`', matchEnd)) !== -1) {\n matchEnd = matchStart + 1;\n\n // scan marker length\n while (matchEnd < max && state.src.charCodeAt(matchEnd) === 0x60/* ` */) { matchEnd++; }\n\n closerLength = matchEnd - matchStart;\n\n if (closerLength === openerLength) {\n // Found matching closer length.\n if (!silent) {\n token = state.push('code_inline', 'code', 0);\n token.markup = marker;\n token.content = state.src.slice(pos, matchStart)\n .replace(/\\n/g, ' ')\n .replace(/^ (.+) $/, '$1');\n }\n state.pos = matchEnd;\n return true;\n }\n\n // Some different length found, put it in cache as upper limit of where closer can be found\n state.backticks[closerLength] = matchStart;\n }\n\n // Scanned through the end, didn't find anything\n state.backticksScanned = true;\n\n if (!silent) state.pending += marker;\n state.pos += openerLength;\n return true;\n};\n","// For each opening emphasis-like marker find a matching closing one\n//\n'use strict';\n\n\nfunction processDelimiters(delimiters) {\n var closerIdx, openerIdx, closer, opener, minOpenerIdx, newMinOpenerIdx,\n isOddMatch, lastJump,\n openersBottom = {},\n max = delimiters.length;\n\n if (!max) return;\n\n // headerIdx is the first delimiter of the current (where closer is) delimiter run\n var headerIdx = 0;\n var lastTokenIdx = -2; // needs any value lower than -1\n var jumps = [];\n\n for (closerIdx = 0; closerIdx < max; closerIdx++) {\n closer = delimiters[closerIdx];\n\n jumps.push(0);\n\n // markers belong to same delimiter run if:\n // - they have adjacent tokens\n // - AND markers are the same\n //\n if (delimiters[headerIdx].marker !== closer.marker || lastTokenIdx !== closer.token - 1) {\n headerIdx = closerIdx;\n }\n\n lastTokenIdx = closer.token;\n\n // Length is only used for emphasis-specific \"rule of 3\",\n // if it's not defined (in strikethrough or 3rd party plugins),\n // we can default it to 0 to disable those checks.\n //\n closer.length = closer.length || 0;\n\n if (!closer.close) continue;\n\n // Previously calculated lower bounds (previous fails)\n // for each marker, each delimiter length modulo 3,\n // and for whether this closer can be an opener;\n // https://github.com/commonmark/cmark/commit/34250e12ccebdc6372b8b49c44fab57c72443460\n if (!openersBottom.hasOwnProperty(closer.marker)) {\n openersBottom[closer.marker] = [ -1, -1, -1, -1, -1, -1 ];\n }\n\n minOpenerIdx = openersBottom[closer.marker][(closer.open ? 3 : 0) + (closer.length % 3)];\n\n openerIdx = headerIdx - jumps[headerIdx] - 1;\n\n newMinOpenerIdx = openerIdx;\n\n for (; openerIdx > minOpenerIdx; openerIdx -= jumps[openerIdx] + 1) {\n opener = delimiters[openerIdx];\n\n if (opener.marker !== closer.marker) continue;\n\n if (opener.open && opener.end < 0) {\n\n isOddMatch = false;\n\n // from spec:\n //\n // If one of the delimiters can both open and close emphasis, then the\n // sum of the lengths of the delimiter runs containing the opening and\n // closing delimiters must not be a multiple of 3 unless both lengths\n // are multiples of 3.\n //\n if (opener.close || closer.open) {\n if ((opener.length + closer.length) % 3 === 0) {\n if (opener.length % 3 !== 0 || closer.length % 3 !== 0) {\n isOddMatch = true;\n }\n }\n }\n\n if (!isOddMatch) {\n // If previous delimiter cannot be an opener, we can safely skip\n // the entire sequence in future checks. This is required to make\n // sure algorithm has linear complexity (see *_*_*_*_*_... case).\n //\n lastJump = openerIdx > 0 && !delimiters[openerIdx - 1].open ?\n jumps[openerIdx - 1] + 1 :\n 0;\n\n jumps[closerIdx] = closerIdx - openerIdx + lastJump;\n jumps[openerIdx] = lastJump;\n\n closer.open = false;\n opener.end = closerIdx;\n opener.close = false;\n newMinOpenerIdx = -1;\n // treat next token as start of run,\n // it optimizes skips in **<...>**a**<...>** pathological case\n lastTokenIdx = -2;\n break;\n }\n }\n }\n\n if (newMinOpenerIdx !== -1) {\n // If match for this delimiter run failed, we want to set lower bound for\n // future lookups. This is required to make sure algorithm has linear\n // complexity.\n //\n // See details here:\n // https://github.com/commonmark/cmark/issues/178#issuecomment-270417442\n //\n openersBottom[closer.marker][(closer.open ? 3 : 0) + ((closer.length || 0) % 3)] = newMinOpenerIdx;\n }\n }\n}\n\n\nmodule.exports = function link_pairs(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n processDelimiters(state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n processDelimiters(tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process *this* and _that_\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function emphasis(state, silent) {\n var i, scanned, token,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x5F /* _ */ && marker !== 0x2A /* * */) { return false; }\n\n scanned = state.scanDelims(state.pos, marker === 0x2A);\n\n for (i = 0; i < scanned.length; i++) {\n token = state.push('text', '', 0);\n token.content = String.fromCharCode(marker);\n\n state.delimiters.push({\n // Char code of the starting marker (number).\n //\n marker: marker,\n\n // Total length of these series of delimiters.\n //\n length: scanned.length,\n\n // A position of the token this delimiter corresponds to.\n //\n token: state.tokens.length - 1,\n\n // If this delimiter is matched as a valid opener, `end` will be\n // equal to its position, otherwise it's `-1`.\n //\n end: -1,\n\n // Boolean flags that determine if this delimiter could open or close\n // an emphasis.\n //\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i,\n startDelim,\n endDelim,\n token,\n ch,\n isStrong,\n max = delimiters.length;\n\n for (i = max - 1; i >= 0; i--) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x5F/* _ */ && startDelim.marker !== 0x2A/* * */) {\n continue;\n }\n\n // Process only opening markers\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n // If the previous delimiter has the same marker and is adjacent to this one,\n // merge those into one strong delimiter.\n //\n // `whatever` -> `whatever`\n //\n isStrong = i > 0 &&\n delimiters[i - 1].end === startDelim.end + 1 &&\n // check that first two markers match and adjacent\n delimiters[i - 1].marker === startDelim.marker &&\n delimiters[i - 1].token === startDelim.token - 1 &&\n // check that last two markers are adjacent (we can safely assume they match)\n delimiters[startDelim.end + 1].token === endDelim.token + 1;\n\n ch = String.fromCharCode(startDelim.marker);\n\n token = state.tokens[startDelim.token];\n token.type = isStrong ? 'strong_open' : 'em_open';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = 1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = isStrong ? 'strong_close' : 'em_close';\n token.tag = isStrong ? 'strong' : 'em';\n token.nesting = -1;\n token.markup = isStrong ? ch + ch : ch;\n token.content = '';\n\n if (isStrong) {\n state.tokens[delimiters[i - 1].token].content = '';\n state.tokens[delimiters[startDelim.end + 1].token].content = '';\n i--;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function emphasis(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Process html entity - {, ¯, ", ...\n\n'use strict';\n\nvar entities = require('../common/entities');\nvar has = require('../common/utils').has;\nvar isValidEntityCode = require('../common/utils').isValidEntityCode;\nvar fromCodePoint = require('../common/utils').fromCodePoint;\n\n\nvar DIGITAL_RE = /^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i;\nvar NAMED_RE = /^&([a-z][a-z0-9]{1,31});/i;\n\n\nmodule.exports = function entity(state, silent) {\n var ch, code, match, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x26/* & */) return false;\n\n if (pos + 1 >= max) return false;\n\n ch = state.src.charCodeAt(pos + 1);\n\n if (ch === 0x23 /* # */) {\n match = state.src.slice(pos).match(DIGITAL_RE);\n if (match) {\n if (!silent) {\n code = match[1][0].toLowerCase() === 'x' ? parseInt(match[1].slice(1), 16) : parseInt(match[1], 10);\n\n token = state.push('text_special', '', 0);\n token.content = isValidEntityCode(code) ? fromCodePoint(code) : fromCodePoint(0xFFFD);\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n } else {\n match = state.src.slice(pos).match(NAMED_RE);\n if (match) {\n if (has(entities, match[1])) {\n if (!silent) {\n token = state.push('text_special', '', 0);\n token.content = entities[match[1]];\n token.markup = match[0];\n token.info = 'entity';\n }\n state.pos += match[0].length;\n return true;\n }\n }\n }\n\n return false;\n};\n","// Process escaped chars and hardbreaks\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\nvar ESCAPED = [];\n\nfor (var i = 0; i < 256; i++) { ESCAPED.push(0); }\n\n'\\\\!\"#$%&\\'()*+,./:;<=>?@[]^_`{|}~-'\n .split('').forEach(function (ch) { ESCAPED[ch.charCodeAt(0)] = 1; });\n\n\nmodule.exports = function escape(state, silent) {\n var ch1, ch2, origStr, escapedStr, token, pos = state.pos, max = state.posMax;\n\n if (state.src.charCodeAt(pos) !== 0x5C/* \\ */) return false;\n pos++;\n\n // '\\' at the end of the inline block\n if (pos >= max) return false;\n\n ch1 = state.src.charCodeAt(pos);\n\n if (ch1 === 0x0A) {\n if (!silent) {\n state.push('hardbreak', 'br', 0);\n }\n\n pos++;\n // skip leading whitespaces from next line\n while (pos < max) {\n ch1 = state.src.charCodeAt(pos);\n if (!isSpace(ch1)) break;\n pos++;\n }\n\n state.pos = pos;\n return true;\n }\n\n escapedStr = state.src[pos];\n\n if (ch1 >= 0xD800 && ch1 <= 0xDBFF && pos + 1 < max) {\n ch2 = state.src.charCodeAt(pos + 1);\n\n if (ch2 >= 0xDC00 && ch2 <= 0xDFFF) {\n escapedStr += state.src[pos + 1];\n pos++;\n }\n }\n\n origStr = '\\\\' + escapedStr;\n\n if (!silent) {\n token = state.push('text_special', '', 0);\n\n if (ch1 < 256 && ESCAPED[ch1] !== 0) {\n token.content = escapedStr;\n } else {\n token.content = origStr;\n }\n\n token.markup = origStr;\n token.info = 'escape';\n }\n\n state.pos = pos + 1;\n return true;\n};\n","// Clean up tokens after emphasis and strikethrough postprocessing:\n// merge adjacent text nodes into one and re-calculate all token levels\n//\n// This is necessary because initially emphasis delimiter markers (*, _, ~)\n// are treated as their own separate text tokens. Then emphasis rule either\n// leaves them as text (needed to merge with adjacent text) or turns them\n// into opening/closing tags (which messes up levels inside).\n//\n'use strict';\n\n\nmodule.exports = function fragments_join(state) {\n var curr, last,\n level = 0,\n tokens = state.tokens,\n max = state.tokens.length;\n\n for (curr = last = 0; curr < max; curr++) {\n // re-calculate levels after emphasis/strikethrough turns some text nodes\n // into opening/closing tags\n if (tokens[curr].nesting < 0) level--; // closing tag\n tokens[curr].level = level;\n if (tokens[curr].nesting > 0) level++; // opening tag\n\n if (tokens[curr].type === 'text' &&\n curr + 1 < max &&\n tokens[curr + 1].type === 'text') {\n\n // collapse two adjacent text nodes\n tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content;\n } else {\n if (curr !== last) { tokens[last] = tokens[curr]; }\n\n last++;\n }\n }\n\n if (curr !== last) {\n tokens.length = last;\n }\n};\n","// Process html tags\n\n'use strict';\n\n\nvar HTML_TAG_RE = require('../common/html_re').HTML_TAG_RE;\n\n\nfunction isLinkOpen(str) {\n return /^\\s]/i.test(str);\n}\nfunction isLinkClose(str) {\n return /^<\\/a\\s*>/i.test(str);\n}\n\n\nfunction isLetter(ch) {\n /*eslint no-bitwise:0*/\n var lc = ch | 0x20; // to lower case\n return (lc >= 0x61/* a */) && (lc <= 0x7a/* z */);\n}\n\n\nmodule.exports = function html_inline(state, silent) {\n var ch, match, max, token,\n pos = state.pos;\n\n if (!state.md.options.html) { return false; }\n\n // Check start\n max = state.posMax;\n if (state.src.charCodeAt(pos) !== 0x3C/* < */ ||\n pos + 2 >= max) {\n return false;\n }\n\n // Quick fail on second char\n ch = state.src.charCodeAt(pos + 1);\n if (ch !== 0x21/* ! */ &&\n ch !== 0x3F/* ? */ &&\n ch !== 0x2F/* / */ &&\n !isLetter(ch)) {\n return false;\n }\n\n match = state.src.slice(pos).match(HTML_TAG_RE);\n if (!match) { return false; }\n\n if (!silent) {\n token = state.push('html_inline', '', 0);\n token.content = match[0];\n\n if (isLinkOpen(token.content)) state.linkLevel++;\n if (isLinkClose(token.content)) state.linkLevel--;\n }\n state.pos += match[0].length;\n return true;\n};\n","// Process ![image]( \"title\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function image(state, silent) {\n var attrs,\n code,\n content,\n label,\n labelEnd,\n labelStart,\n pos,\n ref,\n res,\n title,\n token,\n tokens,\n start,\n href = '',\n oldPos = state.pos,\n max = state.posMax;\n\n if (state.src.charCodeAt(state.pos) !== 0x21/* ! */) { return false; }\n if (state.src.charCodeAt(state.pos + 1) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 2;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos + 1, false);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n } else {\n title = '';\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n state.pos = oldPos;\n return false;\n }\n pos++;\n } else {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n content = state.src.slice(labelStart, labelEnd);\n\n state.md.inline.parse(\n content,\n state.md,\n state.env,\n tokens = []\n );\n\n token = state.push('image', 'img', 0);\n token.attrs = attrs = [ [ 'src', href ], [ 'alt', '' ] ];\n token.children = tokens;\n token.content = content;\n\n if (title) {\n attrs.push([ 'title', title ]);\n }\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process [link]( \"stuff\")\n\n'use strict';\n\nvar normalizeReference = require('../common/utils').normalizeReference;\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function link(state, silent) {\n var attrs,\n code,\n label,\n labelEnd,\n labelStart,\n pos,\n res,\n ref,\n token,\n href = '',\n title = '',\n oldPos = state.pos,\n max = state.posMax,\n start = state.pos,\n parseReference = true;\n\n if (state.src.charCodeAt(state.pos) !== 0x5B/* [ */) { return false; }\n\n labelStart = state.pos + 1;\n labelEnd = state.md.helpers.parseLinkLabel(state, state.pos, true);\n\n // parser failed to find ']', so it's not a valid link\n if (labelEnd < 0) { return false; }\n\n pos = labelEnd + 1;\n if (pos < max && state.src.charCodeAt(pos) === 0x28/* ( */) {\n //\n // Inline link\n //\n\n // might have found a valid shortcut link, disable reference parsing\n parseReference = false;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n pos++;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n if (pos >= max) { return false; }\n\n // [link]( \"title\" )\n // ^^^^^^ parsing link destination\n start = pos;\n res = state.md.helpers.parseLinkDestination(state.src, pos, state.posMax);\n if (res.ok) {\n href = state.md.normalizeLink(res.str);\n if (state.md.validateLink(href)) {\n pos = res.pos;\n } else {\n href = '';\n }\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n start = pos;\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n\n // [link]( \"title\" )\n // ^^^^^^^ parsing link title\n res = state.md.helpers.parseLinkTitle(state.src, pos, state.posMax);\n if (pos < max && start !== pos && res.ok) {\n title = res.str;\n pos = res.pos;\n\n // [link]( \"title\" )\n // ^^ skipping these spaces\n for (; pos < max; pos++) {\n code = state.src.charCodeAt(pos);\n if (!isSpace(code) && code !== 0x0A) { break; }\n }\n }\n }\n\n if (pos >= max || state.src.charCodeAt(pos) !== 0x29/* ) */) {\n // parsing a valid shortcut link failed, fallback to reference\n parseReference = true;\n }\n pos++;\n }\n\n if (parseReference) {\n //\n // Link reference\n //\n if (typeof state.env.references === 'undefined') { return false; }\n\n if (pos < max && state.src.charCodeAt(pos) === 0x5B/* [ */) {\n start = pos + 1;\n pos = state.md.helpers.parseLinkLabel(state, pos);\n if (pos >= 0) {\n label = state.src.slice(start, pos++);\n } else {\n pos = labelEnd + 1;\n }\n } else {\n pos = labelEnd + 1;\n }\n\n // covers label === '' and label === undefined\n // (collapsed reference link and shortcut reference link respectively)\n if (!label) { label = state.src.slice(labelStart, labelEnd); }\n\n ref = state.env.references[normalizeReference(label)];\n if (!ref) {\n state.pos = oldPos;\n return false;\n }\n href = ref.href;\n title = ref.title;\n }\n\n //\n // We found the end of the link, and know for a fact it's a valid link;\n // so all that's left to do is to call tokenizer.\n //\n if (!silent) {\n state.pos = labelStart;\n state.posMax = labelEnd;\n\n token = state.push('link_open', 'a', 1);\n token.attrs = attrs = [ [ 'href', href ] ];\n if (title) {\n attrs.push([ 'title', title ]);\n }\n\n state.linkLevel++;\n state.md.inline.tokenize(state);\n state.linkLevel--;\n\n token = state.push('link_close', 'a', -1);\n }\n\n state.pos = pos;\n state.posMax = max;\n return true;\n};\n","// Process links like https://example.org/\n\n'use strict';\n\n\n// RFC3986: scheme = ALPHA *( ALPHA / DIGIT / \"+\" / \"-\" / \".\" )\nvar SCHEME_RE = /(?:^|[^a-z0-9.+-])([a-z][a-z0-9.+-]*)$/i;\n\n\nmodule.exports = function linkify(state, silent) {\n var pos, max, match, proto, link, url, fullUrl, token;\n\n if (!state.md.options.linkify) return false;\n if (state.linkLevel > 0) return false;\n\n pos = state.pos;\n max = state.posMax;\n\n if (pos + 3 > max) return false;\n if (state.src.charCodeAt(pos) !== 0x3A/* : */) return false;\n if (state.src.charCodeAt(pos + 1) !== 0x2F/* / */) return false;\n if (state.src.charCodeAt(pos + 2) !== 0x2F/* / */) return false;\n\n match = state.pending.match(SCHEME_RE);\n if (!match) return false;\n\n proto = match[1];\n\n link = state.md.linkify.matchAtStart(state.src.slice(pos - proto.length));\n if (!link) return false;\n\n url = link.url;\n\n // invalid link, but still detected by linkify somehow;\n // need to check to prevent infinite loop below\n if (url.length <= proto.length) return false;\n\n // disallow '*' at the end of the link (conflicts with emphasis)\n url = url.replace(/\\*+$/, '');\n\n fullUrl = state.md.normalizeLink(url);\n if (!state.md.validateLink(fullUrl)) return false;\n\n if (!silent) {\n state.pending = state.pending.slice(0, -proto.length);\n\n token = state.push('link_open', 'a', 1);\n token.attrs = [ [ 'href', fullUrl ] ];\n token.markup = 'linkify';\n token.info = 'auto';\n\n token = state.push('text', '', 0);\n token.content = state.md.normalizeLinkText(url);\n\n token = state.push('link_close', 'a', -1);\n token.markup = 'linkify';\n token.info = 'auto';\n }\n\n state.pos += url.length - proto.length;\n return true;\n};\n","// Proceess '\\n'\n\n'use strict';\n\nvar isSpace = require('../common/utils').isSpace;\n\n\nmodule.exports = function newline(state, silent) {\n var pmax, max, ws, pos = state.pos;\n\n if (state.src.charCodeAt(pos) !== 0x0A/* \\n */) { return false; }\n\n pmax = state.pending.length - 1;\n max = state.posMax;\n\n // ' \\n' -> hardbreak\n // Lookup in pending chars is bad practice! Don't copy to other rules!\n // Pending string is stored in concat mode, indexed lookups will cause\n // convertion to flat mode.\n if (!silent) {\n if (pmax >= 0 && state.pending.charCodeAt(pmax) === 0x20) {\n if (pmax >= 1 && state.pending.charCodeAt(pmax - 1) === 0x20) {\n // Find whitespaces tail of pending chars.\n ws = pmax - 1;\n while (ws >= 1 && state.pending.charCodeAt(ws - 1) === 0x20) ws--;\n\n state.pending = state.pending.slice(0, ws);\n state.push('hardbreak', 'br', 0);\n } else {\n state.pending = state.pending.slice(0, -1);\n state.push('softbreak', 'br', 0);\n }\n\n } else {\n state.push('softbreak', 'br', 0);\n }\n }\n\n pos++;\n\n // skip heading spaces for next line\n while (pos < max && isSpace(state.src.charCodeAt(pos))) { pos++; }\n\n state.pos = pos;\n return true;\n};\n","// Inline parser state\n\n'use strict';\n\n\nvar Token = require('../token');\nvar isWhiteSpace = require('../common/utils').isWhiteSpace;\nvar isPunctChar = require('../common/utils').isPunctChar;\nvar isMdAsciiPunct = require('../common/utils').isMdAsciiPunct;\n\n\nfunction StateInline(src, md, env, outTokens) {\n this.src = src;\n this.env = env;\n this.md = md;\n this.tokens = outTokens;\n this.tokens_meta = Array(outTokens.length);\n\n this.pos = 0;\n this.posMax = this.src.length;\n this.level = 0;\n this.pending = '';\n this.pendingLevel = 0;\n\n // Stores { start: end } pairs. Useful for backtrack\n // optimization of pairs parse (emphasis, strikes).\n this.cache = {};\n\n // List of emphasis-like delimiters for current tag\n this.delimiters = [];\n\n // Stack of delimiter lists for upper level tags\n this._prev_delimiters = [];\n\n // backtick length => last seen position\n this.backticks = {};\n this.backticksScanned = false;\n\n // Counter used to disable inline linkify-it execution\n // inside and markdown links\n this.linkLevel = 0;\n}\n\n\n// Flush pending text\n//\nStateInline.prototype.pushPending = function () {\n var token = new Token('text', '', 0);\n token.content = this.pending;\n token.level = this.pendingLevel;\n this.tokens.push(token);\n this.pending = '';\n return token;\n};\n\n\n// Push new token to \"stream\".\n// If pending text exists - flush it as text token\n//\nStateInline.prototype.push = function (type, tag, nesting) {\n if (this.pending) {\n this.pushPending();\n }\n\n var token = new Token(type, tag, nesting);\n var token_meta = null;\n\n if (nesting < 0) {\n // closing tag\n this.level--;\n this.delimiters = this._prev_delimiters.pop();\n }\n\n token.level = this.level;\n\n if (nesting > 0) {\n // opening tag\n this.level++;\n this._prev_delimiters.push(this.delimiters);\n this.delimiters = [];\n token_meta = { delimiters: this.delimiters };\n }\n\n this.pendingLevel = this.level;\n this.tokens.push(token);\n this.tokens_meta.push(token_meta);\n return token;\n};\n\n\n// Scan a sequence of emphasis-like markers, and determine whether\n// it can start an emphasis sequence or end an emphasis sequence.\n//\n// - start - position to scan from (it should point at a valid marker);\n// - canSplitWord - determine if these markers can be found inside a word\n//\nStateInline.prototype.scanDelims = function (start, canSplitWord) {\n var pos = start, lastChar, nextChar, count, can_open, can_close,\n isLastWhiteSpace, isLastPunctChar,\n isNextWhiteSpace, isNextPunctChar,\n left_flanking = true,\n right_flanking = true,\n max = this.posMax,\n marker = this.src.charCodeAt(start);\n\n // treat beginning of the line as a whitespace\n lastChar = start > 0 ? this.src.charCodeAt(start - 1) : 0x20;\n\n while (pos < max && this.src.charCodeAt(pos) === marker) { pos++; }\n\n count = pos - start;\n\n // treat end of the line as a whitespace\n nextChar = pos < max ? this.src.charCodeAt(pos) : 0x20;\n\n isLastPunctChar = isMdAsciiPunct(lastChar) || isPunctChar(String.fromCharCode(lastChar));\n isNextPunctChar = isMdAsciiPunct(nextChar) || isPunctChar(String.fromCharCode(nextChar));\n\n isLastWhiteSpace = isWhiteSpace(lastChar);\n isNextWhiteSpace = isWhiteSpace(nextChar);\n\n if (isNextWhiteSpace) {\n left_flanking = false;\n } else if (isNextPunctChar) {\n if (!(isLastWhiteSpace || isLastPunctChar)) {\n left_flanking = false;\n }\n }\n\n if (isLastWhiteSpace) {\n right_flanking = false;\n } else if (isLastPunctChar) {\n if (!(isNextWhiteSpace || isNextPunctChar)) {\n right_flanking = false;\n }\n }\n\n if (!canSplitWord) {\n can_open = left_flanking && (!right_flanking || isLastPunctChar);\n can_close = right_flanking && (!left_flanking || isNextPunctChar);\n } else {\n can_open = left_flanking;\n can_close = right_flanking;\n }\n\n return {\n can_open: can_open,\n can_close: can_close,\n length: count\n };\n};\n\n\n// re-export Token class to use in block rules\nStateInline.prototype.Token = Token;\n\n\nmodule.exports = StateInline;\n","// ~~strike through~~\n//\n'use strict';\n\n\n// Insert each marker as a separate text token, and add it to delimiter list\n//\nmodule.exports.tokenize = function strikethrough(state, silent) {\n var i, scanned, token, len, ch,\n start = state.pos,\n marker = state.src.charCodeAt(start);\n\n if (silent) { return false; }\n\n if (marker !== 0x7E/* ~ */) { return false; }\n\n scanned = state.scanDelims(state.pos, true);\n len = scanned.length;\n ch = String.fromCharCode(marker);\n\n if (len < 2) { return false; }\n\n if (len % 2) {\n token = state.push('text', '', 0);\n token.content = ch;\n len--;\n }\n\n for (i = 0; i < len; i += 2) {\n token = state.push('text', '', 0);\n token.content = ch + ch;\n\n state.delimiters.push({\n marker: marker,\n length: 0, // disable \"rule of 3\" length checks meant for emphasis\n token: state.tokens.length - 1,\n end: -1,\n open: scanned.can_open,\n close: scanned.can_close\n });\n }\n\n state.pos += scanned.length;\n\n return true;\n};\n\n\nfunction postProcess(state, delimiters) {\n var i, j,\n startDelim,\n endDelim,\n token,\n loneMarkers = [],\n max = delimiters.length;\n\n for (i = 0; i < max; i++) {\n startDelim = delimiters[i];\n\n if (startDelim.marker !== 0x7E/* ~ */) {\n continue;\n }\n\n if (startDelim.end === -1) {\n continue;\n }\n\n endDelim = delimiters[startDelim.end];\n\n token = state.tokens[startDelim.token];\n token.type = 's_open';\n token.tag = 's';\n token.nesting = 1;\n token.markup = '~~';\n token.content = '';\n\n token = state.tokens[endDelim.token];\n token.type = 's_close';\n token.tag = 's';\n token.nesting = -1;\n token.markup = '~~';\n token.content = '';\n\n if (state.tokens[endDelim.token - 1].type === 'text' &&\n state.tokens[endDelim.token - 1].content === '~') {\n\n loneMarkers.push(endDelim.token - 1);\n }\n }\n\n // If a marker sequence has an odd number of characters, it's splitted\n // like this: `~~~~~` -> `~` + `~~` + `~~`, leaving one marker at the\n // start of the sequence.\n //\n // So, we have to move all those markers after subsequent s_close tags.\n //\n while (loneMarkers.length) {\n i = loneMarkers.pop();\n j = i + 1;\n\n while (j < state.tokens.length && state.tokens[j].type === 's_close') {\n j++;\n }\n\n j--;\n\n if (i !== j) {\n token = state.tokens[j];\n state.tokens[j] = state.tokens[i];\n state.tokens[i] = token;\n }\n }\n}\n\n\n// Walk through delimiter list and replace text tokens with tags\n//\nmodule.exports.postProcess = function strikethrough(state) {\n var curr,\n tokens_meta = state.tokens_meta,\n max = state.tokens_meta.length;\n\n postProcess(state, state.delimiters);\n\n for (curr = 0; curr < max; curr++) {\n if (tokens_meta[curr] && tokens_meta[curr].delimiters) {\n postProcess(state, tokens_meta[curr].delimiters);\n }\n }\n};\n","// Skip text characters for text token, place those to pending buffer\n// and increment current pos\n\n'use strict';\n\n\n// Rule to skip pure text\n// '{}$%@~+=:' reserved for extentions\n\n// !, \", #, $, %, &, ', (, ), *, +, ,, -, ., /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, or ~\n\n// !!!! Don't confuse with \"Markdown ASCII Punctuation\" chars\n// http://spec.commonmark.org/0.15/#ascii-punctuation-character\nfunction isTerminatorChar(ch) {\n switch (ch) {\n case 0x0A/* \\n */:\n case 0x21/* ! */:\n case 0x23/* # */:\n case 0x24/* $ */:\n case 0x25/* % */:\n case 0x26/* & */:\n case 0x2A/* * */:\n case 0x2B/* + */:\n case 0x2D/* - */:\n case 0x3A/* : */:\n case 0x3C/* < */:\n case 0x3D/* = */:\n case 0x3E/* > */:\n case 0x40/* @ */:\n case 0x5B/* [ */:\n case 0x5C/* \\ */:\n case 0x5D/* ] */:\n case 0x5E/* ^ */:\n case 0x5F/* _ */:\n case 0x60/* ` */:\n case 0x7B/* { */:\n case 0x7D/* } */:\n case 0x7E/* ~ */:\n return true;\n default:\n return false;\n }\n}\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos;\n\n while (pos < state.posMax && !isTerminatorChar(state.src.charCodeAt(pos))) {\n pos++;\n }\n\n if (pos === state.pos) { return false; }\n\n if (!silent) { state.pending += state.src.slice(state.pos, pos); }\n\n state.pos = pos;\n\n return true;\n};\n\n// Alternative implementation, for memory.\n//\n// It costs 10% of performance, but allows extend terminators list, if place it\n// to `ParcerInline` property. Probably, will switch to it sometime, such\n// flexibility required.\n\n/*\nvar TERMINATOR_RE = /[\\n!#$%&*+\\-:<=>@[\\\\\\]^_`{}~]/;\n\nmodule.exports = function text(state, silent) {\n var pos = state.pos,\n idx = state.src.slice(pos).search(TERMINATOR_RE);\n\n // first char is terminator -> empty text\n if (idx === 0) { return false; }\n\n // no terminator -> text till end of string\n if (idx < 0) {\n if (!silent) { state.pending += state.src.slice(pos); }\n state.pos = state.src.length;\n return true;\n }\n\n if (!silent) { state.pending += state.src.slice(pos, pos + idx); }\n\n state.pos += idx;\n\n return true;\n};*/\n","// Token class\n\n'use strict';\n\n\n/**\n * class Token\n **/\n\n/**\n * new Token(type, tag, nesting)\n *\n * Create new token and fill passed properties.\n **/\nfunction Token(type, tag, nesting) {\n /**\n * Token#type -> String\n *\n * Type of the token (string, e.g. \"paragraph_open\")\n **/\n this.type = type;\n\n /**\n * Token#tag -> String\n *\n * html tag name, e.g. \"p\"\n **/\n this.tag = tag;\n\n /**\n * Token#attrs -> Array\n *\n * Html attributes. Format: `[ [ name1, value1 ], [ name2, value2 ] ]`\n **/\n this.attrs = null;\n\n /**\n * Token#map -> Array\n *\n * Source map info. Format: `[ line_begin, line_end ]`\n **/\n this.map = null;\n\n /**\n * Token#nesting -> Number\n *\n * Level change (number in {-1, 0, 1} set), where:\n *\n * - `1` means the tag is opening\n * - `0` means the tag is self-closing\n * - `-1` means the tag is closing\n **/\n this.nesting = nesting;\n\n /**\n * Token#level -> Number\n *\n * nesting level, the same as `state.level`\n **/\n this.level = 0;\n\n /**\n * Token#children -> Array\n *\n * An array of child nodes (inline and img tokens)\n **/\n this.children = null;\n\n /**\n * Token#content -> String\n *\n * In a case of self-closing tag (code, html, fence, etc.),\n * it has contents of this tag.\n **/\n this.content = '';\n\n /**\n * Token#markup -> String\n *\n * '*' or '_' for emphasis, fence string for fence, etc.\n **/\n this.markup = '';\n\n /**\n * Token#info -> String\n *\n * Additional information:\n *\n * - Info string for \"fence\" tokens\n * - The value \"auto\" for autolink \"link_open\" and \"link_close\" tokens\n * - The string value of the item marker for ordered-list \"list_item_open\" tokens\n **/\n this.info = '';\n\n /**\n * Token#meta -> Object\n *\n * A place for plugins to store an arbitrary data\n **/\n this.meta = null;\n\n /**\n * Token#block -> Boolean\n *\n * True for block-level tokens, false for inline tokens.\n * Used in renderer to calculate line breaks\n **/\n this.block = false;\n\n /**\n * Token#hidden -> Boolean\n *\n * If it's true, ignore this element when rendering. Used for tight lists\n * to hide paragraphs.\n **/\n this.hidden = false;\n}\n\n\n/**\n * Token.attrIndex(name) -> Number\n *\n * Search attribute index by name.\n **/\nToken.prototype.attrIndex = function attrIndex(name) {\n var attrs, i, len;\n\n if (!this.attrs) { return -1; }\n\n attrs = this.attrs;\n\n for (i = 0, len = attrs.length; i < len; i++) {\n if (attrs[i][0] === name) { return i; }\n }\n return -1;\n};\n\n\n/**\n * Token.attrPush(attrData)\n *\n * Add `[ name, value ]` attribute to list. Init attrs if necessary\n **/\nToken.prototype.attrPush = function attrPush(attrData) {\n if (this.attrs) {\n this.attrs.push(attrData);\n } else {\n this.attrs = [ attrData ];\n }\n};\n\n\n/**\n * Token.attrSet(name, value)\n *\n * Set `name` attribute to `value`. Override old value if exists.\n **/\nToken.prototype.attrSet = function attrSet(name, value) {\n var idx = this.attrIndex(name),\n attrData = [ name, value ];\n\n if (idx < 0) {\n this.attrPush(attrData);\n } else {\n this.attrs[idx] = attrData;\n }\n};\n\n\n/**\n * Token.attrGet(name)\n *\n * Get the value of attribute `name`, or null if it does not exist.\n **/\nToken.prototype.attrGet = function attrGet(name) {\n var idx = this.attrIndex(name), value = null;\n if (idx >= 0) {\n value = this.attrs[idx][1];\n }\n return value;\n};\n\n\n/**\n * Token.attrJoin(name, value)\n *\n * Join value to existing attribute via space. Or create new attribute if not\n * exists. Useful to operate with token classes.\n **/\nToken.prototype.attrJoin = function attrJoin(name, value) {\n var idx = this.attrIndex(name);\n\n if (idx < 0) {\n this.attrPush([ name, value ]);\n } else {\n this.attrs[idx][1] = this.attrs[idx][1] + ' ' + value;\n }\n};\n\n\nmodule.exports = Token;\n","var global = typeof window !== 'undefined' ? window : self\nmodule.exports = global.crypto || global.msCrypto\n","module.exports = (function (crypto) {\n if (!crypto) return Math.random\n\n var max = Math.pow(2, 32)\n var u32 = new Uint32Array(1)\n\n return function random () {\n return crypto.getRandomValues(u32)[0] / max\n }\n})(require('./crypto'))\n","\n'use strict';\n\n\n/* eslint-disable no-bitwise */\n\nvar decodeCache = {};\n\nfunction getDecodeCache(exclude) {\n var i, ch, cache = decodeCache[exclude];\n if (cache) { return cache; }\n\n cache = decodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n cache.push(ch);\n }\n\n for (i = 0; i < exclude.length; i++) {\n ch = exclude.charCodeAt(i);\n cache[ch] = '%' + ('0' + ch.toString(16).toUpperCase()).slice(-2);\n }\n\n return cache;\n}\n\n\n// Decode percent-encoded string.\n//\nfunction decode(string, exclude) {\n var cache;\n\n if (typeof exclude !== 'string') {\n exclude = decode.defaultChars;\n }\n\n cache = getDecodeCache(exclude);\n\n return string.replace(/(%[a-f0-9]{2})+/gi, function(seq) {\n var i, l, b1, b2, b3, b4, chr,\n result = '';\n\n for (i = 0, l = seq.length; i < l; i += 3) {\n b1 = parseInt(seq.slice(i + 1, i + 3), 16);\n\n if (b1 < 0x80) {\n result += cache[b1];\n continue;\n }\n\n if ((b1 & 0xE0) === 0xC0 && (i + 3 < l)) {\n // 110xxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n\n if ((b2 & 0xC0) === 0x80) {\n chr = ((b1 << 6) & 0x7C0) | (b2 & 0x3F);\n\n if (chr < 0x80) {\n result += '\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 3;\n continue;\n }\n }\n\n if ((b1 & 0xF0) === 0xE0 && (i + 6 < l)) {\n // 1110xxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80) {\n chr = ((b1 << 12) & 0xF000) | ((b2 << 6) & 0xFC0) | (b3 & 0x3F);\n\n if (chr < 0x800 || (chr >= 0xD800 && chr <= 0xDFFF)) {\n result += '\\ufffd\\ufffd\\ufffd';\n } else {\n result += String.fromCharCode(chr);\n }\n\n i += 6;\n continue;\n }\n }\n\n if ((b1 & 0xF8) === 0xF0 && (i + 9 < l)) {\n // 111110xx 10xxxxxx 10xxxxxx 10xxxxxx\n b2 = parseInt(seq.slice(i + 4, i + 6), 16);\n b3 = parseInt(seq.slice(i + 7, i + 9), 16);\n b4 = parseInt(seq.slice(i + 10, i + 12), 16);\n\n if ((b2 & 0xC0) === 0x80 && (b3 & 0xC0) === 0x80 && (b4 & 0xC0) === 0x80) {\n chr = ((b1 << 18) & 0x1C0000) | ((b2 << 12) & 0x3F000) | ((b3 << 6) & 0xFC0) | (b4 & 0x3F);\n\n if (chr < 0x10000 || chr > 0x10FFFF) {\n result += '\\ufffd\\ufffd\\ufffd\\ufffd';\n } else {\n chr -= 0x10000;\n result += String.fromCharCode(0xD800 + (chr >> 10), 0xDC00 + (chr & 0x3FF));\n }\n\n i += 9;\n continue;\n }\n }\n\n result += '\\ufffd';\n }\n\n return result;\n });\n}\n\n\ndecode.defaultChars = ';/?:@&=+$,#';\ndecode.componentChars = '';\n\n\nmodule.exports = decode;\n","\n'use strict';\n\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\n\n\nmodule.exports = encode;\n","\n'use strict';\n\n\nmodule.exports = function format(url) {\n var result = '';\n\n result += url.protocol || '';\n result += url.slashes ? '//' : '';\n result += url.auth ? url.auth + '@' : '';\n\n if (url.hostname && url.hostname.indexOf(':') !== -1) {\n // ipv6 address\n result += '[' + url.hostname + ']';\n } else {\n result += url.hostname || '';\n }\n\n result += url.port ? ':' + url.port : '';\n result += url.pathname || '';\n result += url.search || '';\n result += url.hash || '';\n\n return result;\n};\n","'use strict';\n\n\nmodule.exports.encode = require('./encode');\nmodule.exports.decode = require('./decode');\nmodule.exports.format = require('./format');\nmodule.exports.parse = require('./parse');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n//\n// Changes from joyent/node:\n//\n// 1. No leading slash in paths,\n// e.g. in `url.parse('http://foo?bar')` pathname is ``, not `/`\n//\n// 2. Backslashes are not replaced with slashes,\n// so `http:\\\\example.org\\` is treated like a relative path\n//\n// 3. Trailing colon is treated like a part of the path,\n// i.e. in `http://example.org:foo` pathname is `:foo`\n//\n// 4. Nothing is URL-encoded in the resulting object,\n// (in joyent/node some chars in auth and paths are encoded)\n//\n// 5. `url.parse()` does not have `parseQueryString` argument\n//\n// 6. Removed extraneous result properties: `host`, `path`, `query`, etc.,\n// which can be constructed using other parts of the url.\n//\n\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.pathname = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = [ '<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t' ],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = [ '{', '}', '|', '\\\\', '^', '`' ].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = [ '\\'' ].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = [ '%', '/', '?', ';', '#' ].concat(autoEscape),\n hostEndingChars = [ '/', '?', '#' ],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n /* eslint-disable no-script-url */\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n };\n /* eslint-enable no-script-url */\n\nfunction urlParse(url, slashesDenoteHost) {\n if (url && url instanceof Url) { return url; }\n\n var u = new Url();\n u.parse(url, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, slashesDenoteHost) {\n var i, l, lowerProto, hec, slashes,\n rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n lowerProto = proto.toLowerCase();\n this.protocol = proto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (i = 0; i < hostEndingChars.length; i++) {\n hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = auth;\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (i = 0; i < nonHostChars.length; i++) {\n hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd)) {\n hostEnd = hec;\n }\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1) {\n hostEnd = rest.length;\n }\n\n if (rest[hostEnd - 1] === ':') { hostEnd--; }\n var host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost(host);\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) { continue; }\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n }\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n }\n }\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n rest = rest.slice(0, qm);\n }\n if (rest) { this.pathname = rest; }\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '';\n }\n\n return this;\n};\n\nUrl.prototype.parseHost = function(host) {\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) { this.hostname = host; }\n};\n\nmodule.exports = urlParse;\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar Exports_1 = require(\"./src/common.browser/Exports\");\nvar Exports_2 = require(\"./src/common/Exports\");\n// Common.Storage.SetLocalStorage(new Common.Browser.LocalStorage());\n// Common.Storage.SetSessionStorage(new Common.Browser.SessionStorage());\nExports_2.Events.instance.attachListener(new Exports_1.ConsoleLoggingListener());\n// Speech SDK API\n__exportStar(require(\"./src/sdk/Exports\"), exports);\n\n//# sourceMappingURL=microsoft.cognitiveservices.speech.sdk.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CertCheckAgent = void 0;\nvar tls = __importStar(require(\"tls\"));\nvar parse = __importStar(require(\"url-parse\"));\nvar ocsp = __importStar(require(\"../../external/ocsp/ocsp\"));\nvar Exports_1 = require(\"../common/Exports\");\nvar agent_base_1 = __importDefault(require(\"agent-base\"));\n// @ts-ignore\nvar async_disk_cache_1 = __importDefault(require(\"async-disk-cache\"));\nvar https_proxy_agent_1 = __importDefault(require(\"https-proxy-agent\"));\nvar net = __importStar(require(\"net\"));\nvar OCSPEvents_1 = require(\"../common/OCSPEvents\");\nvar CertCheckAgent = /** @class */ (function () {\n function CertCheckAgent(proxyInfo) {\n if (!!proxyInfo) {\n this.privProxyInfo = proxyInfo;\n }\n // Initialize this here to allow tests to set the env variable before the cache is constructed.\n if (!CertCheckAgent.privDiskCache) {\n CertCheckAgent.privDiskCache = new async_disk_cache_1.default(\"microsoft-cognitiveservices-speech-sdk-cache\", { supportBuffer: true, location: (typeof process !== \"undefined\" && !!process.env.SPEECH_OCSP_CACHE_ROOT) ? process.env.SPEECH_OCSP_CACHE_ROOT : undefined });\n }\n }\n // Test hook to force the disk cache to be recreated.\n CertCheckAgent.forceReinitDiskCache = function () {\n CertCheckAgent.privDiskCache = undefined;\n CertCheckAgent.privMemCache = {};\n };\n CertCheckAgent.prototype.GetAgent = function (disableStapling) {\n var agent = new agent_base_1.default.Agent(this.CreateConnection);\n if (this.privProxyInfo !== undefined &&\n this.privProxyInfo.HostName !== undefined &&\n this.privProxyInfo.Port > 0) {\n var proxyName = \"privProxyInfo\";\n agent[proxyName] = this.privProxyInfo;\n }\n return agent;\n };\n CertCheckAgent.GetProxyAgent = function (proxyInfo) {\n var httpProxyOptions = {\n host: proxyInfo.HostName,\n port: proxyInfo.Port,\n };\n if (!!proxyInfo.UserName) {\n httpProxyOptions.headers = {\n \"Proxy-Authentication\": \"Basic \" + new Buffer(proxyInfo.UserName + \":\" + (proxyInfo.Password === undefined) ? \"\" : proxyInfo.Password).toString(\"base64\"),\n };\n }\n else {\n httpProxyOptions.headers = {};\n }\n httpProxyOptions.headers.requestOCSP = \"true\";\n var httpProxyAgent = new https_proxy_agent_1.default(httpProxyOptions);\n return httpProxyAgent;\n };\n CertCheckAgent.OCSPCheck = function (socketPromise, proxyInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var ocspRequest, stapling, resolved, socket, tlsSocket;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n resolved = false;\n return [4 /*yield*/, socketPromise];\n case 1:\n socket = _a.sent();\n socket.cork();\n tlsSocket = socket;\n return [2 /*return*/, new Promise(function (resolve, reject) {\n socket.on(\"OCSPResponse\", function (data) {\n if (!!data) {\n _this.onEvent(new Exports_1.OCSPStapleReceivedEvent());\n stapling = data;\n }\n });\n socket.on(\"error\", function (error) {\n if (!resolved) {\n resolved = true;\n socket.destroy();\n reject(error);\n }\n });\n tlsSocket.on(\"secure\", function () { return __awaiter(_this, void 0, void 0, function () {\n var peer, issuer, sig, cacheEntry, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n peer = tlsSocket.getPeerCertificate(true);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 6, , 7]);\n return [4 /*yield*/, this.GetIssuer(peer)];\n case 2:\n issuer = _a.sent();\n // We always need a request to verify the response.\n ocspRequest = ocsp.request.generate(peer.raw, issuer.raw);\n sig = ocspRequest.id.toString(\"hex\");\n if (!!stapling) return [3 /*break*/, 4];\n return [4 /*yield*/, CertCheckAgent.GetResponseFromCache(sig, ocspRequest, proxyInfo)];\n case 3:\n cacheEntry = _a.sent();\n stapling = cacheEntry;\n _a.label = 4;\n case 4: return [4 /*yield*/, this.VerifyOCSPResponse(stapling, ocspRequest, proxyInfo)];\n case 5:\n _a.sent();\n socket.uncork();\n resolved = true;\n resolve(socket);\n return [3 /*break*/, 7];\n case 6:\n e_1 = _a.sent();\n socket.destroy();\n resolved = true;\n reject(e_1);\n return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n }); });\n })];\n }\n });\n });\n };\n CertCheckAgent.GetIssuer = function (peer) {\n if (peer.issuerCertificate) {\n return Promise.resolve(peer.issuerCertificate);\n }\n return new Promise(function (resolve, reject) {\n var ocspAgent = new ocsp.Agent({});\n ocspAgent.fetchIssuer(peer, null, function (error, value) {\n if (!!error) {\n reject(error);\n return;\n }\n resolve(value);\n });\n });\n };\n CertCheckAgent.GetResponseFromCache = function (signature, ocspRequest, proxyInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedResponse, diskCacheResponse, error_1, cachedOcspResponse, tbsData, cachedStartTime, cachedNextTime, minUpdate;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n cachedResponse = CertCheckAgent.privMemCache[signature];\n if (!!cachedResponse) {\n this.onEvent(new Exports_1.OCSPMemoryCacheHitEvent(signature));\n }\n if (!!cachedResponse) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, CertCheckAgent.privDiskCache.get(signature)];\n case 2:\n diskCacheResponse = _a.sent();\n if (!!diskCacheResponse.isCached) {\n CertCheckAgent.onEvent(new Exports_1.OCSPDiskCacheHitEvent(signature));\n CertCheckAgent.StoreMemoryCacheEntry(signature, diskCacheResponse.value);\n cachedResponse = diskCacheResponse.value;\n }\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n cachedResponse = null;\n return [3 /*break*/, 4];\n case 4:\n if (!cachedResponse) {\n return [2 /*return*/, cachedResponse];\n }\n try {\n cachedOcspResponse = ocsp.utils.parseResponse(cachedResponse);\n tbsData = cachedOcspResponse.value.tbsResponseData;\n if (tbsData.responses.length < 1) {\n this.onEvent(new Exports_1.OCSPCacheFetchErrorEvent(signature, \"Not enough data in cached response\"));\n return [2 /*return*/];\n }\n cachedStartTime = tbsData.responses[0].thisUpdate;\n cachedNextTime = tbsData.responses[0].nextUpdate;\n if (cachedNextTime < (Date.now() + this.testTimeOffset - 60000)) {\n // Cached entry has expired.\n this.onEvent(new Exports_1.OCSPCacheEntryExpiredEvent(signature, cachedNextTime));\n cachedResponse = null;\n }\n else {\n minUpdate = Math.min(24 * 60 * 60 * 1000, (cachedNextTime - cachedStartTime) / 2);\n if ((cachedNextTime - (Date.now() + this.testTimeOffset)) < minUpdate) {\n this.onEvent(new Exports_1.OCSPCacheEntryNeedsRefreshEvent(signature, cachedStartTime, cachedNextTime));\n this.UpdateCache(ocspRequest, proxyInfo).catch(function (error) {\n // Well, not much we can do here.\n _this.onEvent(new OCSPEvents_1.OCSPCacheUpdateErrorEvent(signature, error.toString()));\n });\n }\n else {\n this.onEvent(new Exports_1.OCSPCacheHitEvent(signature, cachedStartTime, cachedNextTime));\n }\n }\n }\n catch (error) {\n this.onEvent(new Exports_1.OCSPCacheFetchErrorEvent(signature, error));\n cachedResponse = null;\n }\n if (!cachedResponse) {\n this.onEvent(new Exports_1.OCSPCacheMissEvent(signature));\n }\n return [2 /*return*/, cachedResponse];\n }\n });\n });\n };\n CertCheckAgent.VerifyOCSPResponse = function (cacheValue, ocspRequest, proxyInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var ocspResponse, sig;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ocspResponse = cacheValue;\n sig = ocspRequest.certID.toString(\"hex\");\n if (!!ocspResponse) return [3 /*break*/, 2];\n return [4 /*yield*/, CertCheckAgent.GetOCSPResponse(ocspRequest, proxyInfo)];\n case 1:\n ocspResponse = _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, new Promise(function (resolve, reject) {\n ocsp.verify({ request: ocspRequest, response: ocspResponse }, function (error, result) {\n if (!!error) {\n CertCheckAgent.onEvent(new Exports_1.OCSPVerificationFailedEvent(ocspRequest.id.toString(\"hex\"), error));\n // Bad Cached Value? One more try without the cache.\n if (!!cacheValue) {\n _this.VerifyOCSPResponse(null, ocspRequest, proxyInfo).then(function () {\n resolve();\n }, function (error) {\n reject(error);\n });\n }\n else {\n reject(error);\n }\n }\n else {\n if (!cacheValue) {\n CertCheckAgent.StoreCacheEntry(ocspRequest.id.toString(\"hex\"), ocspResponse);\n }\n resolve();\n }\n });\n })];\n }\n });\n });\n };\n CertCheckAgent.UpdateCache = function (req, proxyInfo) {\n return __awaiter(this, void 0, void 0, function () {\n var signature, rawResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n signature = req.id.toString(\"hex\");\n this.onEvent(new Exports_1.OCSPCacheUpdateNeededEvent(signature));\n return [4 /*yield*/, this.GetOCSPResponse(req, proxyInfo)];\n case 1:\n rawResponse = _a.sent();\n this.StoreCacheEntry(signature, rawResponse);\n this.onEvent(new Exports_1.OCSPCacheUpdatehCompleteEvent(req.id.toString(\"hex\")));\n return [2 /*return*/];\n }\n });\n });\n };\n CertCheckAgent.StoreCacheEntry = function (sig, rawResponse) {\n this.StoreMemoryCacheEntry(sig, rawResponse);\n this.StoreDiskCacheEntry(sig, rawResponse);\n };\n CertCheckAgent.StoreMemoryCacheEntry = function (sig, rawResponse) {\n this.privMemCache[sig] = rawResponse;\n this.onEvent(new Exports_1.OCSPMemoryCacheStoreEvent(sig));\n };\n CertCheckAgent.StoreDiskCacheEntry = function (sig, rawResponse) {\n var _this = this;\n this.privDiskCache.set(sig, rawResponse).then(function () {\n _this.onEvent(new Exports_1.OCSPDiskCacheStoreEvent(sig));\n });\n };\n CertCheckAgent.GetOCSPResponse = function (req, proxyInfo) {\n var _this = this;\n var ocspMethod = \"1.3.6.1.5.5.7.48.1\";\n var options = {};\n if (!!proxyInfo) {\n var agent = CertCheckAgent.GetProxyAgent(proxyInfo);\n options.agent = agent;\n }\n return new Promise(function (resolve, reject) {\n ocsp.utils.getAuthorityInfo(req.cert, ocspMethod, function (error, uri) {\n if (error) {\n reject(error);\n return;\n }\n var parsedUri = parse.default(uri);\n parsedUri.path = parsedUri.pathname;\n options = __assign(__assign({}, options), parsedUri);\n ocsp.utils.getResponse(options, req.data, function (error, raw) {\n if (error) {\n reject(error);\n return;\n }\n _this.onEvent(new Exports_1.OCSPResponseRetrievedEvent(req.certID.toString(\"hex\")));\n resolve(raw);\n });\n });\n });\n };\n CertCheckAgent.prototype.CreateConnection = function (request, options) {\n var enableOCSP = (typeof process !== \"undefined\" && process.env.NODE_TLS_REJECT_UNAUTHORIZED !== \"0\" && process.env.SPEECH_CONDUCT_OCSP_CHECK !== \"0\") && options.secureEndpoint;\n var socketPromise;\n options = __assign(__assign({}, options), {\n requestOCSP: !CertCheckAgent.forceDisableOCSPStapling,\n servername: options.host\n });\n if (!!this.privProxyInfo) {\n var httpProxyAgent = CertCheckAgent.GetProxyAgent(this.privProxyInfo);\n var baseAgent_1 = httpProxyAgent;\n socketPromise = new Promise(function (resolve, reject) {\n baseAgent_1.callback(request, options, function (error, socket) {\n if (!!error) {\n reject(error);\n }\n else {\n resolve(socket);\n }\n });\n });\n }\n else {\n if (!!options.secureEndpoint) {\n socketPromise = Promise.resolve(tls.connect(options));\n }\n else {\n socketPromise = Promise.resolve(net.connect(options));\n }\n }\n if (!!enableOCSP) {\n return CertCheckAgent.OCSPCheck(socketPromise, this.privProxyInfo);\n }\n else {\n return socketPromise;\n }\n };\n // Test hook to enable forcing expiration / refresh to happen.\n CertCheckAgent.testTimeOffset = 0;\n // Test hook to disable stapling for cache testing.\n CertCheckAgent.forceDisableOCSPStapling = false;\n // An in memory cache for recived responses.\n CertCheckAgent.privMemCache = {};\n CertCheckAgent.onEvent = function (event) {\n Exports_1.Events.instance.onEvent(event);\n };\n return CertCheckAgent;\n}());\nexports.CertCheckAgent = CertCheckAgent;\n\n//# sourceMappingURL=CertChecks.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConsoleLoggingListener = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar ConsoleLoggingListener = /** @class */ (function () {\n function ConsoleLoggingListener(logLevelFilter) {\n var _this = this;\n if (logLevelFilter === void 0) { logLevelFilter = Exports_1.EventType.Warning; }\n this.onEvent = function (event) {\n if (event.eventType >= _this.privLogLevelFilter) {\n var log = _this.toString(event);\n switch (event.eventType) {\n case Exports_1.EventType.Debug:\n // tslint:disable-next-line:no-console\n console.debug(log);\n break;\n case Exports_1.EventType.Info:\n // tslint:disable-next-line:no-console\n console.info(log);\n break;\n case Exports_1.EventType.Warning:\n // tslint:disable-next-line:no-console\n console.warn(log);\n break;\n case Exports_1.EventType.Error:\n // tslint:disable-next-line:no-console\n console.error(log);\n break;\n default:\n // tslint:disable-next-line:no-console\n console.log(log);\n break;\n }\n }\n };\n this.toString = function (event) {\n var logFragments = [\n \"\" + event.EventTime,\n \"\" + event.Name,\n ];\n for (var prop in event) {\n if (prop && event.hasOwnProperty(prop) &&\n prop !== \"eventTime\" && prop !== \"eventType\" &&\n prop !== \"eventId\" && prop !== \"name\" &&\n prop !== \"constructor\") {\n var value = event[prop];\n var valueToLog = \"\";\n if (value !== undefined && value !== null) {\n if (typeof (value) === \"number\" || typeof (value) === \"string\") {\n valueToLog = value.toString();\n }\n else {\n valueToLog = JSON.stringify(value);\n }\n }\n logFragments.push(prop + \": \" + valueToLog);\n }\n }\n return logFragments.join(\" | \");\n };\n this.privLogLevelFilter = logLevelFilter;\n }\n return ConsoleLoggingListener;\n}());\nexports.ConsoleLoggingListener = ConsoleLoggingListener;\n\n//# sourceMappingURL=ConsoleLoggingListener.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./ConsoleLoggingListener\"), exports);\n__exportStar(require(\"./IRecorder\"), exports);\n__exportStar(require(\"./MicAudioSource\"), exports);\n__exportStar(require(\"./FileAudioSource\"), exports);\n__exportStar(require(\"./PCMRecorder\"), exports);\n__exportStar(require(\"./WebsocketConnection\"), exports);\n__exportStar(require(\"./WebsocketMessageAdapter\"), exports);\n__exportStar(require(\"./ReplayableAudioNode\"), exports);\n__exportStar(require(\"./ProxyInfo\"), exports);\n__exportStar(require(\"./RestMessageAdapter\"), exports);\n__exportStar(require(\"./RestConfigBase\"), exports);\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.FileAudioSource = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar AudioStreamFormat_1 = require(\"../sdk/Audio/AudioStreamFormat\");\nvar FileAudioSource = /** @class */ (function () {\n function FileAudioSource(file, filename, audioSourceId) {\n var _this = this;\n this.privStreams = {};\n this.privHeaderEnd = 44;\n this.turnOn = function () {\n if (_this.privFilename.lastIndexOf(\".wav\") !== _this.privFilename.length - 4) {\n var errorMsg = _this.privFilename + \" is not supported. Only WAVE files are allowed at the moment.\";\n _this.onEvent(new Exports_2.AudioSourceErrorEvent(errorMsg, \"\"));\n return Promise.reject(errorMsg);\n }\n _this.onEvent(new Exports_2.AudioSourceInitializingEvent(_this.privId)); // no stream id\n _this.onEvent(new Exports_2.AudioSourceReadyEvent(_this.privId));\n return;\n };\n this.id = function () {\n return _this.privId;\n };\n this.attach = function (audioNodeId) { return __awaiter(_this, void 0, void 0, function () {\n var stream;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.onEvent(new Exports_2.AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\n return [4 /*yield*/, this.upload(audioNodeId)];\n case 1:\n stream = _a.sent();\n this.onEvent(new Exports_2.AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\n return [2 /*return*/, Promise.resolve({\n detach: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n stream.readEnded();\n delete this.privStreams[audioNodeId];\n this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\n return [4 /*yield*/, this.turnOff()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); },\n id: function () {\n return audioNodeId;\n },\n read: function () {\n return stream.read();\n },\n })];\n }\n });\n }); };\n this.detach = function (audioNodeId) {\n if (audioNodeId && _this.privStreams[audioNodeId]) {\n _this.privStreams[audioNodeId].close();\n delete _this.privStreams[audioNodeId];\n _this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(_this.privId, audioNodeId));\n }\n };\n this.turnOff = function () {\n for (var streamId in _this.privStreams) {\n if (streamId) {\n var stream = _this.privStreams[streamId];\n if (stream && !stream.isClosed) {\n stream.close();\n }\n }\n }\n _this.onEvent(new Exports_2.AudioSourceOffEvent(_this.privId)); // no stream now\n return Promise.resolve();\n };\n this.onEvent = function (event) {\n _this.privEvents.onEvent(event);\n Exports_2.Events.instance.onEvent(event);\n };\n this.privId = audioSourceId ? audioSourceId : Exports_2.createNoDashGuid();\n this.privEvents = new Exports_2.EventSource();\n this.privSource = file;\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && this.privSource instanceof Blob) {\n this.privFilename = file.name;\n }\n else {\n this.privFilename = filename || \"unknown.wav\";\n }\n // Read the header.\n this.privAudioFormatPromise = this.readHeader();\n }\n Object.defineProperty(FileAudioSource.prototype, \"format\", {\n get: function () {\n return this.privAudioFormatPromise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FileAudioSource.prototype, \"blob\", {\n get: function () {\n return Promise.resolve(this.privSource);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FileAudioSource.prototype, \"events\", {\n get: function () {\n return this.privEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FileAudioSource.prototype, \"deviceInfo\", {\n get: function () {\n return this.privAudioFormatPromise.then(function (result) {\n return Promise.resolve({\n bitspersample: result.bitsPerSample,\n channelcount: result.channels,\n connectivity: Exports_1.connectivity.Unknown,\n manufacturer: \"Speech SDK\",\n model: \"File\",\n samplerate: result.samplesPerSec,\n type: Exports_1.type.File,\n });\n });\n },\n enumerable: false,\n configurable: true\n });\n FileAudioSource.prototype.readHeader = function () {\n var _this = this;\n // Read the wave header.\n var maxHeaderSize = 512;\n var header = this.privSource.slice(0, maxHeaderSize);\n var headerResult = new Exports_2.Deferred();\n var processHeader = function (header) {\n var view = new DataView(header);\n var getWord = function (index) {\n return String.fromCharCode(view.getUint8(index), view.getUint8(index + 1), view.getUint8(index + 2), view.getUint8(index + 3));\n };\n // RIFF 4 bytes.\n if (\"RIFF\" !== getWord(0)) {\n headerResult.reject(\"Invalid WAV header in file, RIFF was not found\");\n return;\n }\n // length, 4 bytes\n // RIFF Type & fmt 8 bytes\n if (\"WAVE\" !== getWord(8) || \"fmt \" !== getWord(12)) {\n headerResult.reject(\"Invalid WAV header in file, WAVEfmt was not found\");\n return;\n }\n var formatSize = view.getInt32(16, true);\n var channelCount = view.getUint16(22, true);\n var sampleRate = view.getUint32(24, true);\n var bitsPerSample = view.getUint16(34, true);\n // Confirm if header is 44 bytes long.\n var pos = 36 + Math.max(formatSize - 16, 0);\n for (; getWord(pos) !== \"data\"; pos += 2) {\n if (pos > maxHeaderSize - 8) {\n headerResult.reject(\"Invalid WAV header in file, data block was not found\");\n return;\n }\n }\n _this.privHeaderEnd = pos + 8;\n headerResult.resolve(AudioStreamFormat_1.AudioStreamFormat.getWaveFormatPCM(sampleRate, bitsPerSample, channelCount));\n };\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && header instanceof Blob) {\n var reader = new FileReader();\n reader.onload = function (event) {\n var header = event.target.result;\n processHeader(header);\n };\n reader.readAsArrayBuffer(header);\n }\n else {\n var h = header;\n processHeader(h.buffer.slice(h.byteOffset, h.byteOffset + h.byteLength));\n }\n return headerResult.promise;\n };\n FileAudioSource.prototype.upload = function (audioNodeId) {\n return __awaiter(this, void 0, void 0, function () {\n var onerror, format, stream_1, chunk, processFile_1, reader, c, e_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n onerror = function (error) {\n var errorMsg = \"Error occurred while processing '\" + _this.privFilename + \"'. \" + error;\n _this.onEvent(new Exports_2.AudioStreamNodeErrorEvent(_this.privId, audioNodeId, errorMsg));\n throw new Error(errorMsg);\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, , 5]);\n return [4 /*yield*/, this.turnOn()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.privAudioFormatPromise];\n case 3:\n format = _a.sent();\n stream_1 = new Exports_2.ChunkedArrayBufferStream(format.avgBytesPerSec / 10, audioNodeId);\n this.privStreams[audioNodeId] = stream_1;\n chunk = this.privSource.slice(this.privHeaderEnd);\n processFile_1 = function (buff) {\n if (stream_1.isClosed) {\n return; // output stream was closed (somebody called TurnOff). We're done here.\n }\n stream_1.writeStreamChunk({\n buffer: buff,\n isEnd: false,\n timeReceived: Date.now(),\n });\n stream_1.close();\n };\n if (typeof window !== \"undefined\" && typeof Blob !== \"undefined\" && chunk instanceof Blob) {\n reader = new FileReader();\n reader.onerror = function (ev) { onerror(ev.toString()); };\n reader.onload = function (event) {\n var fileBuffer = event.target.result;\n processFile_1(fileBuffer);\n };\n reader.readAsArrayBuffer(chunk);\n }\n else {\n c = chunk;\n processFile_1(c.buffer.slice(c.byteOffset, c.byteOffset + c.byteLength));\n }\n return [2 /*return*/, stream_1];\n case 4:\n e_1 = _a.sent();\n onerror(e_1);\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n return FileAudioSource;\n}());\nexports.FileAudioSource = FileAudioSource;\n\n//# sourceMappingURL=FileAudioSource.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IRecorder.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MicAudioSource = exports.AudioWorkletSourceURLPropertyName = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar AudioStreamFormat_1 = require(\"../sdk/Audio/AudioStreamFormat\");\nexports.AudioWorkletSourceURLPropertyName = \"MICROPHONE-WorkletSourceUrl\";\nvar MicAudioSource = /** @class */ (function () {\n function MicAudioSource(privRecorder, deviceId, audioSourceId, mediaStream) {\n var _this = this;\n this.privRecorder = privRecorder;\n this.deviceId = deviceId;\n this.privStreams = {};\n this.turnOn = function () {\n if (_this.privInitializeDeferral) {\n return _this.privInitializeDeferral.promise;\n }\n _this.privInitializeDeferral = new Exports_2.Deferred();\n try {\n _this.createAudioContext();\n }\n catch (error) {\n if (error instanceof Error) {\n var typedError = error;\n _this.privInitializeDeferral.reject(typedError.name + \": \" + typedError.message);\n }\n else {\n _this.privInitializeDeferral.reject(error);\n }\n return _this.privInitializeDeferral.promise;\n }\n var nav = window.navigator;\n var getUserMedia = (nav.getUserMedia ||\n nav.webkitGetUserMedia ||\n nav.mozGetUserMedia ||\n nav.msGetUserMedia);\n if (!!nav.mediaDevices) {\n getUserMedia = function (constraints, successCallback, errorCallback) {\n nav.mediaDevices\n .getUserMedia(constraints)\n .then(successCallback)\n .catch(errorCallback);\n };\n }\n if (!getUserMedia) {\n var errorMsg = \"Browser does not support getUserMedia.\";\n _this.privInitializeDeferral.reject(errorMsg);\n _this.onEvent(new Exports_2.AudioSourceErrorEvent(errorMsg, \"\")); // mic initialized error - no streamid at this point\n }\n else {\n var next = function () {\n _this.onEvent(new Exports_2.AudioSourceInitializingEvent(_this.privId)); // no stream id\n if (_this.privMediaStream && _this.privMediaStream.active) {\n _this.onEvent(new Exports_2.AudioSourceReadyEvent(_this.privId));\n _this.privInitializeDeferral.resolve();\n }\n else {\n getUserMedia({ audio: _this.deviceId ? { deviceId: _this.deviceId } : true, video: false }, function (mediaStream) {\n _this.privMediaStream = mediaStream;\n _this.onEvent(new Exports_2.AudioSourceReadyEvent(_this.privId));\n _this.privInitializeDeferral.resolve();\n }, function (error) {\n var errorMsg = \"Error occurred during microphone initialization: \" + error;\n _this.privInitializeDeferral.reject(errorMsg);\n _this.onEvent(new Exports_2.AudioSourceErrorEvent(_this.privId, errorMsg));\n });\n }\n };\n if (_this.privContext.state === \"suspended\") {\n // NOTE: On iOS, the Web Audio API requires sounds to be triggered from an explicit user action.\n // https://github.com/WebAudio/web-audio-api/issues/790\n _this.privContext.resume()\n .then(next)\n .catch(function (reason) {\n _this.privInitializeDeferral.reject(\"Failed to initialize audio context: \" + reason);\n });\n }\n else {\n next();\n }\n }\n return _this.privInitializeDeferral.promise;\n };\n this.id = function () {\n return _this.privId;\n };\n this.attach = function (audioNodeId) {\n _this.onEvent(new Exports_2.AudioStreamNodeAttachingEvent(_this.privId, audioNodeId));\n return _this.listen(audioNodeId).then(function (stream) {\n _this.onEvent(new Exports_2.AudioStreamNodeAttachedEvent(_this.privId, audioNodeId));\n return {\n detach: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n stream.readEnded();\n delete this.privStreams[audioNodeId];\n this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\n return [2 /*return*/, this.turnOff()];\n });\n }); },\n id: function () {\n return audioNodeId;\n },\n read: function () {\n return stream.read();\n },\n };\n });\n };\n this.detach = function (audioNodeId) {\n if (audioNodeId && _this.privStreams[audioNodeId]) {\n _this.privStreams[audioNodeId].close();\n delete _this.privStreams[audioNodeId];\n _this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(_this.privId, audioNodeId));\n }\n };\n this.listen = function (audioNodeId) { return __awaiter(_this, void 0, void 0, function () {\n var stream, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.turnOn()];\n case 1:\n _a.sent();\n stream = new Exports_2.ChunkedArrayBufferStream(this.privOutputChunkSize, audioNodeId);\n this.privStreams[audioNodeId] = stream;\n try {\n this.privRecorder.record(this.privContext, this.privMediaStream, stream);\n }\n catch (error) {\n this.onEvent(new Exports_2.AudioStreamNodeErrorEvent(this.privId, audioNodeId, error));\n throw error;\n }\n result = stream;\n return [2 /*return*/, result];\n }\n });\n }); };\n this.onEvent = function (event) {\n _this.privEvents.onEvent(event);\n Exports_2.Events.instance.onEvent(event);\n };\n this.createAudioContext = function () {\n if (!!_this.privContext) {\n return;\n }\n _this.privContext = AudioStreamFormat_1.AudioStreamFormatImpl.getAudioContext(MicAudioSource.AUDIOFORMAT.samplesPerSec);\n };\n this.privOutputChunkSize = MicAudioSource.AUDIOFORMAT.avgBytesPerSec / 10;\n this.privId = audioSourceId ? audioSourceId : Exports_2.createNoDashGuid();\n this.privEvents = new Exports_2.EventSource();\n this.privMediaStream = mediaStream || null;\n }\n Object.defineProperty(MicAudioSource.prototype, \"format\", {\n get: function () {\n return Promise.resolve(MicAudioSource.AUDIOFORMAT);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MicAudioSource.prototype, \"blob\", {\n get: function () {\n return Promise.reject(\"Not implemented for Mic input\");\n },\n enumerable: false,\n configurable: true\n });\n MicAudioSource.prototype.turnOff = function () {\n return __awaiter(this, void 0, void 0, function () {\n var streamId, stream;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n for (streamId in this.privStreams) {\n if (streamId) {\n stream = this.privStreams[streamId];\n if (stream) {\n stream.close();\n }\n }\n }\n this.onEvent(new Exports_2.AudioSourceOffEvent(this.privId)); // no stream now\n if (!this.privInitializeDeferral) return [3 /*break*/, 2];\n // Correctly handle when browser forces mic off before turnOn() completes\n return [4 /*yield*/, this.privInitializeDeferral];\n case 1:\n // Correctly handle when browser forces mic off before turnOn() completes\n _a.sent();\n this.privInitializeDeferral = null;\n _a.label = 2;\n case 2: return [4 /*yield*/, this.destroyAudioContext()];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(MicAudioSource.prototype, \"events\", {\n get: function () {\n return this.privEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MicAudioSource.prototype, \"deviceInfo\", {\n get: function () {\n return this.getMicrophoneLabel().then(function (label) {\n return {\n bitspersample: MicAudioSource.AUDIOFORMAT.bitsPerSample,\n channelcount: MicAudioSource.AUDIOFORMAT.channels,\n connectivity: Exports_1.connectivity.Unknown,\n manufacturer: \"Speech SDK\",\n model: label,\n samplerate: MicAudioSource.AUDIOFORMAT.samplesPerSec,\n type: Exports_1.type.Microphones,\n };\n });\n },\n enumerable: false,\n configurable: true\n });\n MicAudioSource.prototype.setProperty = function (name, value) {\n if (name === exports.AudioWorkletSourceURLPropertyName) {\n this.privRecorder.setWorkletUrl(value);\n }\n else {\n throw new Error(\"Property '\" + name + \"' is not supported on Microphone.\");\n }\n };\n MicAudioSource.prototype.getMicrophoneLabel = function () {\n var _this = this;\n var defaultMicrophoneName = \"microphone\";\n // If we did this already, return the value.\n if (this.privMicrophoneLabel !== undefined) {\n return Promise.resolve(this.privMicrophoneLabel);\n }\n // If the stream isn't currently running, we can't query devices because security.\n if (this.privMediaStream === undefined || !this.privMediaStream.active) {\n return Promise.resolve(defaultMicrophoneName);\n }\n // Setup a default\n this.privMicrophoneLabel = defaultMicrophoneName;\n // Get the id of the device running the audio track.\n var microphoneDeviceId = this.privMediaStream.getTracks()[0].getSettings().deviceId;\n // If the browser doesn't support getting the device ID, set a default and return.\n if (undefined === microphoneDeviceId) {\n return Promise.resolve(this.privMicrophoneLabel);\n }\n var deferred = new Exports_2.Deferred();\n // Enumerate the media devices.\n navigator.mediaDevices.enumerateDevices().then(function (devices) {\n for (var _i = 0, devices_1 = devices; _i < devices_1.length; _i++) {\n var device = devices_1[_i];\n if (device.deviceId === microphoneDeviceId) {\n // Found the device\n _this.privMicrophoneLabel = device.label;\n break;\n }\n }\n deferred.resolve(_this.privMicrophoneLabel);\n }, function () { return deferred.resolve(_this.privMicrophoneLabel); });\n return deferred.promise;\n };\n MicAudioSource.prototype.destroyAudioContext = function () {\n return __awaiter(this, void 0, void 0, function () {\n var hasClose;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.privContext) {\n return [2 /*return*/];\n }\n this.privRecorder.releaseMediaResources(this.privContext);\n hasClose = false;\n if (\"close\" in this.privContext) {\n hasClose = true;\n }\n if (!hasClose) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privContext.close()];\n case 1:\n _a.sent();\n this.privContext = null;\n return [3 /*break*/, 4];\n case 2:\n if (!(null !== this.privContext && this.privContext.state === \"running\")) return [3 /*break*/, 4];\n // Suspend actually takes a callback, but analogous to the\n // resume method, it'll be only fired if suspend is called\n // in a direct response to a user action. The later is not always\n // the case, as TurnOff is also called, when we receive an\n // end-of-speech message from the service. So, doing a best effort\n // fire-and-forget here.\n return [4 /*yield*/, this.privContext.suspend()];\n case 3:\n // Suspend actually takes a callback, but analogous to the\n // resume method, it'll be only fired if suspend is called\n // in a direct response to a user action. The later is not always\n // the case, as TurnOff is also called, when we receive an\n // end-of-speech message from the service. So, doing a best effort\n // fire-and-forget here.\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n MicAudioSource.AUDIOFORMAT = AudioStreamFormat_1.AudioStreamFormat.getDefaultInputFormat();\n return MicAudioSource;\n}());\nexports.MicAudioSource = MicAudioSource;\n\n//# sourceMappingURL=MicAudioSource.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PcmRecorder = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar PcmRecorder = /** @class */ (function () {\n function PcmRecorder() {\n var _this = this;\n this.record = function (context, mediaStream, outputStream) {\n var desiredSampleRate = 16000;\n var scriptNode = (function () {\n var bufferSize = 0;\n try {\n return context.createScriptProcessor(bufferSize, 1, 1);\n }\n catch (error) {\n // Webkit (<= version 31) requires a valid bufferSize.\n bufferSize = 2048;\n var audioSampleRate = context.sampleRate;\n while (bufferSize < 16384 && audioSampleRate >= (2 * desiredSampleRate)) {\n bufferSize <<= 1;\n audioSampleRate >>= 1;\n }\n return context.createScriptProcessor(bufferSize, 1, 1);\n }\n })();\n var waveStreamEncoder = new Exports_1.RiffPcmEncoder(context.sampleRate, desiredSampleRate);\n var needHeader = true;\n var that = _this;\n scriptNode.onaudioprocess = function (event) {\n var inputFrame = event.inputBuffer.getChannelData(0);\n if (outputStream && !outputStream.isClosed) {\n var waveFrame = waveStreamEncoder.encode(inputFrame);\n if (!!waveFrame) {\n outputStream.writeStreamChunk({\n buffer: waveFrame,\n isEnd: false,\n timeReceived: Date.now(),\n });\n needHeader = false;\n }\n }\n };\n var micInput = context.createMediaStreamSource(mediaStream);\n // https://webaudio.github.io/web-audio-api/#audioworklet\n // Using AudioWorklet to improve audio quality and avoid audio glitches due to blocking the UI thread\n if (!!_this.privSpeechProcessorScript && !!context.audioWorklet) {\n context.audioWorklet\n .addModule(_this.privSpeechProcessorScript)\n .then(function () {\n var workletNode = new AudioWorkletNode(context, \"speech-processor\");\n workletNode.port.onmessage = function (ev) {\n var inputFrame = ev.data;\n if (outputStream && !outputStream.isClosed) {\n var waveFrame = waveStreamEncoder.encode(inputFrame);\n if (!!waveFrame) {\n outputStream.writeStreamChunk({\n buffer: waveFrame,\n isEnd: false,\n timeReceived: Date.now(),\n });\n needHeader = false;\n }\n }\n };\n micInput.connect(workletNode);\n workletNode.connect(context.destination);\n _this.privMediaResources = {\n scriptProcessorNode: workletNode,\n source: micInput,\n stream: mediaStream,\n };\n })\n .catch(function () {\n micInput.connect(scriptNode);\n scriptNode.connect(context.destination);\n _this.privMediaResources = {\n scriptProcessorNode: scriptNode,\n source: micInput,\n stream: mediaStream,\n };\n });\n }\n else {\n micInput.connect(scriptNode);\n scriptNode.connect(context.destination);\n _this.privMediaResources = {\n scriptProcessorNode: scriptNode,\n source: micInput,\n stream: mediaStream,\n };\n }\n };\n this.releaseMediaResources = function (context) {\n if (_this.privMediaResources) {\n if (_this.privMediaResources.scriptProcessorNode) {\n _this.privMediaResources.scriptProcessorNode.disconnect(context.destination);\n _this.privMediaResources.scriptProcessorNode = null;\n }\n if (_this.privMediaResources.source) {\n _this.privMediaResources.source.disconnect();\n _this.privMediaResources.stream.getTracks().forEach(function (track) { return track.stop(); });\n _this.privMediaResources.source = null;\n }\n }\n };\n }\n PcmRecorder.prototype.setWorkletUrl = function (url) {\n this.privSpeechProcessorScript = url;\n };\n return PcmRecorder;\n}());\nexports.PcmRecorder = PcmRecorder;\n\n//# sourceMappingURL=PCMRecorder.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProxyInfo = void 0;\nvar Exports_1 = require(\"../sdk/Exports\");\nvar ProxyInfo = /** @class */ (function () {\n function ProxyInfo(proxyHostName, proxyPort, proxyUserName, proxyPassword) {\n this.privProxyHostName = proxyHostName;\n this.privProxyPort = proxyPort;\n this.privProxyUserName = proxyUserName;\n this.privProxyPassword = proxyPassword;\n }\n ProxyInfo.fromParameters = function (parameters) {\n return new ProxyInfo(parameters.getProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyHostName), parseInt(parameters.getProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyPort), 10), parameters.getProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyUserName), parameters.getProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyPassword));\n };\n ProxyInfo.fromRecognizerConfig = function (config) {\n return this.fromParameters(config.parameters);\n };\n Object.defineProperty(ProxyInfo.prototype, \"HostName\", {\n get: function () {\n return this.privProxyHostName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProxyInfo.prototype, \"Port\", {\n get: function () {\n return this.privProxyPort;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProxyInfo.prototype, \"UserName\", {\n get: function () {\n return this.privProxyUserName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ProxyInfo.prototype, \"Password\", {\n get: function () {\n return this.privProxyPassword;\n },\n enumerable: false,\n configurable: true\n });\n return ProxyInfo;\n}());\nexports.ProxyInfo = ProxyInfo;\n\n//# sourceMappingURL=ProxyInfo.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ReplayableAudioNode = void 0;\nvar ReplayableAudioNode = /** @class */ (function () {\n function ReplayableAudioNode(audioSource, bytesPerSecond) {\n var _this = this;\n this.privBuffers = [];\n this.privReplayOffset = 0;\n this.privLastShrinkOffset = 0;\n this.privBufferStartOffset = 0;\n this.privBufferSerial = 0;\n this.privBufferedBytes = 0;\n this.privReplay = false;\n this.privLastChunkAcquiredTime = 0;\n this.id = function () {\n return _this.privAudioNode.id();\n };\n this.privAudioNode = audioSource;\n this.privBytesPerSecond = bytesPerSecond;\n }\n // Reads and returns the next chunk of audio buffer.\n // If replay of existing buffers are needed, read() will first seek and replay\n // existing content, and upoin completion it will read new content from the underlying\n // audio node, saving that content into the replayable buffers.\n ReplayableAudioNode.prototype.read = function () {\n var _this = this;\n // if there is a replay request to honor.\n if (!!this.privReplay && this.privBuffers.length !== 0) {\n // Find the start point in the buffers.\n // Offsets are in 100ns increments.\n // So how many bytes do we need to seek to get the right offset?\n var offsetToSeek = this.privReplayOffset - this.privBufferStartOffset;\n var bytesToSeek = Math.round(offsetToSeek * this.privBytesPerSecond * 1e-7);\n if (0 !== (bytesToSeek % 2)) {\n bytesToSeek++;\n }\n var i = 0;\n while (i < this.privBuffers.length && bytesToSeek >= this.privBuffers[i].chunk.buffer.byteLength) {\n bytesToSeek -= this.privBuffers[i++].chunk.buffer.byteLength;\n }\n if (i < this.privBuffers.length) {\n var retVal = this.privBuffers[i].chunk.buffer.slice(bytesToSeek);\n this.privReplayOffset += (retVal.byteLength / this.privBytesPerSecond) * 1e+7;\n // If we've reached the end of the buffers, stop replaying.\n if (i === this.privBuffers.length - 1) {\n this.privReplay = false;\n }\n return Promise.resolve({\n buffer: retVal,\n isEnd: false,\n timeReceived: this.privBuffers[i].chunk.timeReceived,\n });\n }\n }\n return this.privAudioNode.read()\n .then(function (result) {\n if (result && result.buffer) {\n _this.privBuffers.push(new BufferEntry(result, _this.privBufferSerial++, _this.privBufferedBytes));\n _this.privBufferedBytes += result.buffer.byteLength;\n }\n return result;\n });\n };\n ReplayableAudioNode.prototype.detach = function () {\n this.privBuffers = undefined;\n return this.privAudioNode.detach();\n };\n ReplayableAudioNode.prototype.replay = function () {\n if (this.privBuffers && 0 !== this.privBuffers.length) {\n this.privReplay = true;\n this.privReplayOffset = this.privLastShrinkOffset;\n }\n };\n // Shrinks the existing audio buffers to start at the new offset, or at the\n // beginning of the buffer closest to the requested offset.\n // A replay request will start from the last shrink point.\n ReplayableAudioNode.prototype.shrinkBuffers = function (offset) {\n if (this.privBuffers === undefined || this.privBuffers.length === 0) {\n return;\n }\n this.privLastShrinkOffset = offset;\n // Find the start point in the buffers.\n // Offsets are in 100ns increments.\n // So how many bytes do we need to seek to get the right offset?\n var offsetToSeek = offset - this.privBufferStartOffset;\n var bytesToSeek = Math.round(offsetToSeek * this.privBytesPerSecond * 1e-7);\n var i = 0;\n while (i < this.privBuffers.length && bytesToSeek >= this.privBuffers[i].chunk.buffer.byteLength) {\n bytesToSeek -= this.privBuffers[i++].chunk.buffer.byteLength;\n }\n this.privBufferStartOffset = Math.round(offset - ((bytesToSeek / this.privBytesPerSecond) * 1e+7));\n this.privBuffers = this.privBuffers.slice(i);\n };\n // Finds the time a buffer of audio was first seen by offset.\n ReplayableAudioNode.prototype.findTimeAtOffset = function (offset) {\n if (offset < this.privBufferStartOffset || this.privBuffers === undefined) {\n return 0;\n }\n for (var _i = 0, _a = this.privBuffers; _i < _a.length; _i++) {\n var value = _a[_i];\n var startOffset = (value.byteOffset / this.privBytesPerSecond) * 1e7;\n var endOffset = startOffset + ((value.chunk.buffer.byteLength / this.privBytesPerSecond) * 1e7);\n if (offset >= startOffset && offset <= endOffset) {\n return value.chunk.timeReceived;\n }\n }\n return 0;\n };\n return ReplayableAudioNode;\n}());\nexports.ReplayableAudioNode = ReplayableAudioNode;\n// Primary use of this class is to help debugging problems with the replay\n// code. If the memory cost of alloc / dealloc gets too much, drop it and just use\n// the ArrayBuffer directly.\n// tslint:disable-next-line:max-classes-per-file\nvar BufferEntry = /** @class */ (function () {\n function BufferEntry(chunk, serial, byteOffset) {\n this.chunk = chunk;\n this.serial = serial;\n this.byteOffset = byteOffset;\n }\n return BufferEntry;\n}());\n\n//# sourceMappingURL=ReplayableAudioNode.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestConfigBase = void 0;\nvar RestConfigBase = /** @class */ (function () {\n function RestConfigBase() {\n }\n Object.defineProperty(RestConfigBase, \"requestOptions\", {\n get: function () {\n return RestConfigBase.privDefaultRequestOptions;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RestConfigBase, \"configParams\", {\n get: function () {\n return RestConfigBase.privDefaultParams;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RestConfigBase, \"restErrors\", {\n get: function () {\n return RestConfigBase.privRestErrors;\n },\n enumerable: false,\n configurable: true\n });\n RestConfigBase.privDefaultRequestOptions = {\n headers: {\n Accept: \"application/json\",\n },\n ignoreCache: false,\n timeout: 10000,\n };\n RestConfigBase.privRestErrors = {\n authInvalidSubscriptionKey: \"You must specify either an authentication token to use, or a Cognitive Speech subscription key.\",\n authInvalidSubscriptionRegion: \"You must specify the Cognitive Speech region to use.\",\n invalidArgs: \"Required input not found: {arg}.\",\n invalidCreateJoinConversationResponse: \"Creating/Joining conversation failed with HTTP {status}.\",\n invalidParticipantRequest: \"The requested participant was not found.\",\n permissionDeniedConnect: \"Required credentials not found.\",\n permissionDeniedConversation: \"Invalid operation: only the host can {command} the conversation.\",\n permissionDeniedParticipant: \"Invalid operation: only the host can {command} a participant.\",\n permissionDeniedSend: \"Invalid operation: the conversation is not in a connected state.\",\n permissionDeniedStart: \"Invalid operation: there is already an active conversation.\",\n };\n RestConfigBase.privDefaultParams = {\n apiVersion: \"api-version\",\n authorization: \"Authorization\",\n clientAppId: \"X-ClientAppId\",\n contentTypeKey: \"Content-Type\",\n correlationId: \"X-CorrelationId\",\n languageCode: \"language\",\n nickname: \"nickname\",\n profanity: \"profanity\",\n requestId: \"X-RequestId\",\n roomId: \"roomid\",\n sessionToken: \"token\",\n subscriptionKey: \"Ocp-Apim-Subscription-Key\",\n subscriptionRegion: \"Ocp-Apim-Subscription-Region\",\n token: \"X-CapitoToken\",\n };\n return RestConfigBase;\n}());\nexports.RestConfigBase = RestConfigBase;\n\n//# sourceMappingURL=RestConfigBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RestMessageAdapter = exports.RestRequestType = void 0;\nvar Exports_1 = require(\"../common/Exports\");\n// Node.JS specific xmlhttprequest / browser support.\nvar XHR = __importStar(require(\"xmlhttprequest-ts\"));\nvar RestRequestType;\n(function (RestRequestType) {\n RestRequestType[\"Get\"] = \"get\";\n RestRequestType[\"Post\"] = \"post\";\n RestRequestType[\"Delete\"] = \"delete\";\n RestRequestType[\"File\"] = \"file\";\n})(RestRequestType = exports.RestRequestType || (exports.RestRequestType = {}));\n// accept rest operations via request method and return abstracted objects from server response\nvar RestMessageAdapter = /** @class */ (function () {\n function RestMessageAdapter(configParams, connectionId) {\n if (!configParams) {\n throw new Exports_1.ArgumentNullError(\"configParams\");\n }\n this.privHeaders = configParams.headers;\n this.privTimeout = configParams.timeout;\n this.privIgnoreCache = configParams.ignoreCache;\n }\n RestMessageAdapter.prototype.setHeaders = function (key, value) {\n this.privHeaders[key] = value;\n };\n RestMessageAdapter.prototype.request = function (method, uri, queryParams, body, binaryBody) {\n var _this = this;\n if (queryParams === void 0) { queryParams = {}; }\n if (body === void 0) { body = null; }\n if (binaryBody === void 0) { binaryBody = null; }\n var responseReceivedDeferral = new Exports_1.Deferred();\n var xhr;\n if (typeof (XMLHttpRequest) === \"undefined\") {\n xhr = new XHR.XMLHttpRequest();\n }\n else {\n xhr = new XMLHttpRequest();\n }\n var requestCommand = method === RestRequestType.File ? \"post\" : method;\n xhr.open(requestCommand, this.withQuery(uri, queryParams), true);\n if (this.privHeaders) {\n Object.keys(this.privHeaders).forEach(function (key) { return xhr.setRequestHeader(key, _this.privHeaders[key]); });\n }\n if (this.privIgnoreCache) {\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n }\n xhr.timeout = this.privTimeout;\n xhr.onload = function () {\n responseReceivedDeferral.resolve(_this.parseXHRResult(xhr));\n };\n xhr.onerror = function () {\n responseReceivedDeferral.resolve(_this.errorResponse(xhr, \"Failed to make request.\"));\n };\n xhr.ontimeout = function () {\n responseReceivedDeferral.resolve(_this.errorResponse(xhr, \"Request took longer than expected.\"));\n };\n if (method === RestRequestType.File && binaryBody) {\n xhr.setRequestHeader(\"Content-Type\", \"multipart/form-data\");\n xhr.send(binaryBody);\n }\n else if (method === RestRequestType.Post && body) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send(JSON.stringify(body));\n }\n else {\n xhr.send();\n }\n return responseReceivedDeferral.promise;\n };\n RestMessageAdapter.prototype.parseXHRResult = function (xhr) {\n return {\n data: xhr.responseText,\n headers: xhr.getAllResponseHeaders(),\n json: function () { return JSON.parse(xhr.responseText); },\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n };\n RestMessageAdapter.prototype.errorResponse = function (xhr, message) {\n if (message === void 0) { message = null; }\n return {\n data: message || xhr.statusText,\n headers: xhr.getAllResponseHeaders(),\n json: function () { return JSON.parse(message || (\"\\\"\" + xhr.statusText + \"\\\"\")); },\n ok: false,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n };\n RestMessageAdapter.prototype.withQuery = function (url, params) {\n if (params === void 0) { params = {}; }\n var queryString = this.queryParams(params);\n return queryString ? url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + queryString : url;\n };\n RestMessageAdapter.prototype.queryParams = function (params) {\n if (params === void 0) { params = {}; }\n return Object.keys(params)\n .map(function (k) { return encodeURIComponent(k) + \"=\" + encodeURIComponent(params[k]); })\n .join(\"&\");\n };\n return RestMessageAdapter;\n}());\nexports.RestMessageAdapter = RestMessageAdapter;\n\n//# sourceMappingURL=RestMessageAdapter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebsocketConnection = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar WebsocketMessageAdapter_1 = require(\"./WebsocketMessageAdapter\");\nvar WebsocketConnection = /** @class */ (function () {\n function WebsocketConnection(uri, queryParameters, headers, messageFormatter, proxyInfo, enableCompression, connectionId) {\n var _this = this;\n if (enableCompression === void 0) { enableCompression = false; }\n this.privIsDisposed = false;\n this.isDisposed = function () {\n return _this.privIsDisposed;\n };\n this.state = function () {\n return _this.privConnectionMessageAdapter.state;\n };\n this.open = function () {\n return _this.privConnectionMessageAdapter.open();\n };\n this.send = function (message) {\n return _this.privConnectionMessageAdapter.send(message);\n };\n this.read = function () {\n return _this.privConnectionMessageAdapter.read();\n };\n if (!uri) {\n throw new Exports_1.ArgumentNullError(\"uri\");\n }\n if (!messageFormatter) {\n throw new Exports_1.ArgumentNullError(\"messageFormatter\");\n }\n this.privMessageFormatter = messageFormatter;\n var queryParams = \"\";\n var i = 0;\n if (queryParameters) {\n for (var paramName in queryParameters) {\n if (paramName) {\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\n var val = encodeURIComponent(queryParameters[paramName]);\n queryParams += paramName + \"=\" + val;\n i++;\n }\n }\n }\n if (headers) {\n for (var headerName in headers) {\n if (headerName) {\n queryParams += ((i === 0) && (uri.indexOf(\"?\") === -1)) ? \"?\" : \"&\";\n var val = encodeURIComponent(headers[headerName]);\n queryParams += headerName + \"=\" + val;\n i++;\n }\n }\n }\n this.privUri = uri + queryParams;\n this.privId = connectionId ? connectionId : Exports_1.createNoDashGuid();\n this.privConnectionMessageAdapter = new WebsocketMessageAdapter_1.WebsocketMessageAdapter(this.privUri, this.id, this.privMessageFormatter, proxyInfo, headers, enableCompression);\n }\n WebsocketConnection.prototype.dispose = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privIsDisposed = true;\n if (!this.privConnectionMessageAdapter) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privConnectionMessageAdapter.close()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(WebsocketConnection.prototype, \"id\", {\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WebsocketConnection.prototype, \"events\", {\n get: function () {\n return this.privConnectionMessageAdapter.events;\n },\n enumerable: false,\n configurable: true\n });\n return WebsocketConnection;\n}());\nexports.WebsocketConnection = WebsocketConnection;\n\n//# sourceMappingURL=WebsocketConnection.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebsocketMessageAdapter = void 0;\nvar HeaderNames_1 = require(\"../common.speech/HeaderNames\");\nvar Exports_1 = require(\"../common/Exports\");\n// Node.JS specific web socket / browser support.\nvar ws_1 = __importDefault(require(\"ws\"));\nvar CertChecks_1 = require(\"./CertChecks\");\nvar WebsocketMessageAdapter = /** @class */ (function () {\n function WebsocketMessageAdapter(uri, connectionId, messageFormatter, proxyInfo, headers, enableCompression) {\n var _this = this;\n this.open = function () {\n if (_this.privConnectionState === Exports_1.ConnectionState.Disconnected) {\n return Promise.reject(\"Cannot open a connection that is in \" + _this.privConnectionState + \" state\");\n }\n if (_this.privConnectionEstablishDeferral) {\n return _this.privConnectionEstablishDeferral.promise;\n }\n _this.privConnectionEstablishDeferral = new Exports_1.Deferred();\n _this.privCertificateValidatedDeferral = new Exports_1.Deferred();\n _this.privConnectionState = Exports_1.ConnectionState.Connecting;\n try {\n if (typeof WebSocket !== \"undefined\" && !WebsocketMessageAdapter.forceNpmWebSocket) {\n // Browser handles cert checks.\n _this.privCertificateValidatedDeferral.resolve();\n _this.privWebsocketClient = new WebSocket(_this.privUri);\n }\n else {\n var options = { headers: _this.privHeaders, perMessageDeflate: _this.privEnableCompression };\n // The ocsp library will handle validation for us and fail the connection if needed.\n _this.privCertificateValidatedDeferral.resolve();\n var checkAgent = new CertChecks_1.CertCheckAgent(_this.proxyInfo);\n options.agent = checkAgent.GetAgent();\n _this.privWebsocketClient = new ws_1.default(_this.privUri, options);\n }\n _this.privWebsocketClient.binaryType = \"arraybuffer\";\n _this.privReceivingMessageQueue = new Exports_1.Queue();\n _this.privDisconnectDeferral = new Exports_1.Deferred();\n _this.privSendMessageQueue = new Exports_1.Queue();\n _this.processSendQueue().catch(function (reason) {\n Exports_1.Events.instance.onEvent(new Exports_1.BackgroundEvent(reason));\n });\n }\n catch (error) {\n _this.privConnectionEstablishDeferral.resolve(new Exports_1.ConnectionOpenResponse(500, error));\n return _this.privConnectionEstablishDeferral.promise;\n }\n _this.onEvent(new Exports_1.ConnectionStartEvent(_this.privConnectionId, _this.privUri));\n _this.privWebsocketClient.onopen = function (e) {\n _this.privCertificateValidatedDeferral.promise.then(function () {\n _this.privConnectionState = Exports_1.ConnectionState.Connected;\n _this.onEvent(new Exports_1.ConnectionEstablishedEvent(_this.privConnectionId));\n _this.privConnectionEstablishDeferral.resolve(new Exports_1.ConnectionOpenResponse(200, \"\"));\n }, function (error) {\n _this.privConnectionEstablishDeferral.reject(error);\n });\n };\n _this.privWebsocketClient.onerror = function (e) {\n _this.onEvent(new Exports_1.ConnectionErrorEvent(_this.privConnectionId, e.message, e.type));\n _this.privLastErrorReceived = e.message;\n };\n _this.privWebsocketClient.onclose = function (e) {\n if (_this.privConnectionState === Exports_1.ConnectionState.Connecting) {\n _this.privConnectionState = Exports_1.ConnectionState.Disconnected;\n // this.onEvent(new ConnectionEstablishErrorEvent(this.connectionId, e.code, e.reason));\n _this.privConnectionEstablishDeferral.resolve(new Exports_1.ConnectionOpenResponse(e.code, e.reason + \" \" + _this.privLastErrorReceived));\n }\n else {\n _this.privConnectionState = Exports_1.ConnectionState.Disconnected;\n _this.privWebsocketClient = null;\n _this.onEvent(new Exports_1.ConnectionClosedEvent(_this.privConnectionId, e.code, e.reason));\n }\n _this.onClose(e.code, e.reason).catch(function (reason) {\n Exports_1.Events.instance.onEvent(new Exports_1.BackgroundEvent(reason));\n });\n };\n _this.privWebsocketClient.onmessage = function (e) {\n var networkReceivedTime = new Date().toISOString();\n if (_this.privConnectionState === Exports_1.ConnectionState.Connected) {\n var deferred_1 = new Exports_1.Deferred();\n // let id = ++this.idCounter;\n _this.privReceivingMessageQueue.enqueueFromPromise(deferred_1.promise);\n if (e.data instanceof ArrayBuffer) {\n var rawMessage = new Exports_1.RawWebsocketMessage(Exports_1.MessageType.Binary, e.data);\n _this.privMessageFormatter\n .toConnectionMessage(rawMessage)\n .then(function (connectionMessage) {\n _this.onEvent(new Exports_1.ConnectionMessageReceivedEvent(_this.privConnectionId, networkReceivedTime, connectionMessage));\n deferred_1.resolve(connectionMessage);\n }, function (error) {\n // TODO: Events for these ?\n deferred_1.reject(\"Invalid binary message format. Error: \" + error);\n });\n }\n else {\n var rawMessage = new Exports_1.RawWebsocketMessage(Exports_1.MessageType.Text, e.data);\n _this.privMessageFormatter\n .toConnectionMessage(rawMessage)\n .then(function (connectionMessage) {\n _this.onEvent(new Exports_1.ConnectionMessageReceivedEvent(_this.privConnectionId, networkReceivedTime, connectionMessage));\n deferred_1.resolve(connectionMessage);\n }, function (error) {\n // TODO: Events for these ?\n deferred_1.reject(\"Invalid text message format. Error: \" + error);\n });\n }\n }\n };\n return _this.privConnectionEstablishDeferral.promise;\n };\n this.send = function (message) {\n if (_this.privConnectionState !== Exports_1.ConnectionState.Connected) {\n return Promise.reject(\"Cannot send on connection that is in \" + Exports_1.ConnectionState[_this.privConnectionState] + \" state\");\n }\n var messageSendStatusDeferral = new Exports_1.Deferred();\n var messageSendDeferral = new Exports_1.Deferred();\n _this.privSendMessageQueue.enqueueFromPromise(messageSendDeferral.promise);\n _this.privMessageFormatter\n .fromConnectionMessage(message)\n .then(function (rawMessage) {\n messageSendDeferral.resolve({\n Message: message,\n RawWebsocketMessage: rawMessage,\n sendStatusDeferral: messageSendStatusDeferral,\n });\n }, function (error) {\n messageSendDeferral.reject(\"Error formatting the message. \" + error);\n });\n return messageSendStatusDeferral.promise;\n };\n this.read = function () {\n if (_this.privConnectionState !== Exports_1.ConnectionState.Connected) {\n return Promise.reject(\"Cannot read on connection that is in \" + _this.privConnectionState + \" state\");\n }\n return _this.privReceivingMessageQueue.dequeue();\n };\n this.close = function (reason) {\n if (_this.privWebsocketClient) {\n if (_this.privConnectionState !== Exports_1.ConnectionState.Disconnected) {\n _this.privWebsocketClient.close(1000, reason ? reason : \"Normal closure by client\");\n }\n }\n else {\n return Promise.resolve();\n }\n return _this.privDisconnectDeferral.promise;\n };\n this.sendRawMessage = function (sendItem) {\n try {\n // indicates we are draining the queue and it came with no message;\n if (!sendItem) {\n return Promise.resolve();\n }\n _this.onEvent(new Exports_1.ConnectionMessageSentEvent(_this.privConnectionId, new Date().toISOString(), sendItem.Message));\n // add a check for the ws readystate in order to stop the red console error 'WebSocket is already in CLOSING or CLOSED state' appearing\n if (_this.isWebsocketOpen) {\n _this.privWebsocketClient.send(sendItem.RawWebsocketMessage.payload);\n }\n else {\n return Promise.reject(\"websocket send error: Websocket not ready \" + _this.privConnectionId + \" \" + sendItem.Message.id + \" \" + new Error().stack);\n }\n return Promise.resolve();\n }\n catch (e) {\n return Promise.reject(\"websocket send error: \" + e);\n }\n };\n this.onEvent = function (event) {\n _this.privConnectionEvents.onEvent(event);\n Exports_1.Events.instance.onEvent(event);\n };\n if (!uri) {\n throw new Exports_1.ArgumentNullError(\"uri\");\n }\n if (!messageFormatter) {\n throw new Exports_1.ArgumentNullError(\"messageFormatter\");\n }\n this.proxyInfo = proxyInfo;\n this.privConnectionEvents = new Exports_1.EventSource();\n this.privConnectionId = connectionId;\n this.privMessageFormatter = messageFormatter;\n this.privConnectionState = Exports_1.ConnectionState.None;\n this.privUri = uri;\n this.privHeaders = headers;\n this.privEnableCompression = enableCompression;\n // Add the connection ID to the headers\n this.privHeaders[HeaderNames_1.HeaderNames.ConnectionId] = this.privConnectionId;\n this.privLastErrorReceived = \"\";\n }\n Object.defineProperty(WebsocketMessageAdapter.prototype, \"state\", {\n get: function () {\n return this.privConnectionState;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(WebsocketMessageAdapter.prototype, \"events\", {\n get: function () {\n return this.privConnectionEvents;\n },\n enumerable: false,\n configurable: true\n });\n WebsocketMessageAdapter.prototype.onClose = function (code, reason) {\n return __awaiter(this, void 0, void 0, function () {\n var closeReason;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n closeReason = \"Connection closed. \" + code + \": \" + reason;\n this.privConnectionState = Exports_1.ConnectionState.Disconnected;\n this.privDisconnectDeferral.resolve();\n return [4 /*yield*/, this.privReceivingMessageQueue.drainAndDispose(function (pendingReceiveItem) {\n // TODO: Events for these ?\n // Logger.instance.onEvent(new LoggingEvent(LogType.Warning, null, `Failed to process received message. Reason: ${closeReason}, Message: ${JSON.stringify(pendingReceiveItem)}`));\n }, closeReason)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.privSendMessageQueue.drainAndDispose(function (pendingSendItem) {\n pendingSendItem.sendStatusDeferral.reject(closeReason);\n }, closeReason)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n WebsocketMessageAdapter.prototype.processSendQueue = function () {\n return __awaiter(this, void 0, void 0, function () {\n var itemToSend, sendItem, sendError_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!true) return [3 /*break*/, 6];\n itemToSend = this.privSendMessageQueue.dequeue();\n return [4 /*yield*/, itemToSend];\n case 1:\n sendItem = _a.sent();\n // indicates we are draining the queue and it came with no message;\n if (!sendItem) {\n return [2 /*return*/];\n }\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.sendRawMessage(sendItem)];\n case 3:\n _a.sent();\n sendItem.sendStatusDeferral.resolve();\n return [3 /*break*/, 5];\n case 4:\n sendError_1 = _a.sent();\n sendItem.sendStatusDeferral.reject(sendError_1);\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 0];\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(WebsocketMessageAdapter.prototype, \"isWebsocketOpen\", {\n get: function () {\n return this.privWebsocketClient && this.privWebsocketClient.readyState === this.privWebsocketClient.OPEN;\n },\n enumerable: false,\n configurable: true\n });\n WebsocketMessageAdapter.forceNpmWebSocket = false;\n return WebsocketMessageAdapter;\n}());\nexports.WebsocketMessageAdapter = WebsocketMessageAdapter;\n\n//# sourceMappingURL=WebsocketMessageAdapter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AddedLmIntent = void 0;\n/**\n * @class AddedLmIntent\n */\n// tslint:disable-next-line:max-classes-per-file\nvar AddedLmIntent = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param modelImpl - The model.\n * @param intentName - The intent name.\n */\n function AddedLmIntent(modelImpl, intentName) {\n this.modelImpl = modelImpl;\n this.intentName = intentName;\n }\n return AddedLmIntent;\n}());\nexports.AddedLmIntent = AddedLmIntent;\n\n//# sourceMappingURL=AddedLmIntent.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AgentConfig = void 0;\n/**\n * Represents the JSON used in the agent.config message sent to the speech service.\n */\nvar AgentConfig = /** @class */ (function () {\n function AgentConfig() {\n }\n AgentConfig.prototype.toJsonString = function () {\n return JSON.stringify(this.iPrivConfig);\n };\n AgentConfig.prototype.get = function () {\n return this.iPrivConfig;\n };\n /**\n * Setter for the agent.config object.\n * @param value a JSON serializable object.\n */\n AgentConfig.prototype.set = function (value) {\n this.iPrivConfig = value;\n };\n return AgentConfig;\n}());\nexports.AgentConfig = AgentConfig;\n\n//# sourceMappingURL=AgentConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CognitiveSubscriptionKeyAuthentication = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar IAuthentication_1 = require(\"./IAuthentication\");\n/**\n * @class\n */\nvar CognitiveSubscriptionKeyAuthentication = /** @class */ (function () {\n /**\n * Creates and initializes an instance of the CognitiveSubscriptionKeyAuthentication class.\n * @constructor\n * @param {string} subscriptionKey - The subscription key\n */\n function CognitiveSubscriptionKeyAuthentication(subscriptionKey) {\n var _this = this;\n /**\n * Fetches the subscription key.\n * @member\n * @function\n * @public\n * @param {string} authFetchEventId - The id to fetch.\n */\n this.fetch = function (authFetchEventId) {\n return Promise.resolve(_this.privAuthInfo);\n };\n /**\n * Fetches the subscription key.\n * @member\n * @function\n * @public\n * @param {string} authFetchEventId - The id to fetch.\n */\n this.fetchOnExpiry = function (authFetchEventId) {\n return Promise.resolve(_this.privAuthInfo);\n };\n if (!subscriptionKey) {\n throw new Exports_1.ArgumentNullError(\"subscriptionKey\");\n }\n this.privAuthInfo = new IAuthentication_1.AuthInfo(HeaderNames_1.HeaderNames.AuthKey, subscriptionKey);\n }\n return CognitiveSubscriptionKeyAuthentication;\n}());\nexports.CognitiveSubscriptionKeyAuthentication = CognitiveSubscriptionKeyAuthentication;\n\n//# sourceMappingURL=CognitiveSubscriptionKeyAuthentication.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CognitiveTokenAuthentication = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar IAuthentication_1 = require(\"./IAuthentication\");\nvar AuthHeader = \"Authorization\";\nvar CognitiveTokenAuthentication = /** @class */ (function () {\n function CognitiveTokenAuthentication(fetchCallback, fetchOnExpiryCallback) {\n var _this = this;\n this.fetch = function (authFetchEventId) {\n return _this.privFetchCallback(authFetchEventId).then(function (token) { return new IAuthentication_1.AuthInfo(AuthHeader, token); });\n };\n this.fetchOnExpiry = function (authFetchEventId) {\n return _this.privFetchOnExpiryCallback(authFetchEventId).then(function (token) { return new IAuthentication_1.AuthInfo(AuthHeader, token); });\n };\n if (!fetchCallback) {\n throw new Exports_1.ArgumentNullError(\"fetchCallback\");\n }\n if (!fetchOnExpiryCallback) {\n throw new Exports_1.ArgumentNullError(\"fetchOnExpiryCallback\");\n }\n this.privFetchCallback = fetchCallback;\n this.privFetchOnExpiryCallback = fetchOnExpiryCallback;\n }\n return CognitiveTokenAuthentication;\n}());\nexports.CognitiveTokenAuthentication = CognitiveTokenAuthentication;\n\n//# sourceMappingURL=CognitiveTokenAuthentication.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionFactoryBase = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar ConnectionFactoryBase = /** @class */ (function () {\n function ConnectionFactoryBase() {\n }\n ConnectionFactoryBase.prototype.setCommonUrlParams = function (config, queryParams, endpoint) {\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceConnection_EnableAudioLogging, QueryParameterNames_1.QueryParameterNames.EnableAudioLogging, config, queryParams, endpoint);\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, QueryParameterNames_1.QueryParameterNames.EnableWordLevelTimestamps, config, queryParams, endpoint);\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceResponse_ProfanityOption, QueryParameterNames_1.QueryParameterNames.Profanity, config, queryParams, endpoint);\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceConnection_InitialSilenceTimeoutMs, QueryParameterNames_1.QueryParameterNames.InitialSilenceTimeoutMs, config, queryParams, endpoint);\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceConnection_EndSilenceTimeoutMs, QueryParameterNames_1.QueryParameterNames.EndSilenceTimeoutMs, config, queryParams, endpoint);\n this.setUrlParameter(Exports_2.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, QueryParameterNames_1.QueryParameterNames.StableIntermediateThreshold, config, queryParams, endpoint);\n var serviceProperties = JSON.parse(config.parameters.getProperty(Exports_1.ServicePropertiesPropertyName, \"{}\"));\n Object.keys(serviceProperties).forEach(function (value, num, array) {\n queryParams[value] = serviceProperties[value];\n });\n };\n ConnectionFactoryBase.prototype.setUrlParameter = function (propId, parameterName, config, queryParams, endpoint) {\n var value = config.parameters.getProperty(propId, undefined);\n if (value && (!endpoint || endpoint.search(parameterName) === -1)) {\n queryParams[parameterName] = value.toLocaleLowerCase();\n }\n };\n return ConnectionFactoryBase;\n}());\nexports.ConnectionFactoryBase = ConnectionFactoryBase;\n\n//# sourceMappingURL=ConnectionFactoryBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.DialogConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../common.speech/Exports\");\nvar Exports_3 = require(\"../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"./ConnectionFactoryBase\");\nvar Exports_4 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar DialogConnectionFactory = /** @class */ (function (_super) {\n __extends(DialogConnectionFactory, _super);\n function DialogConnectionFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.create = function (config, authInfo, connectionId) {\n var applicationId = config.parameters.getProperty(Exports_3.PropertyId.Conversation_ApplicationId, \"\");\n var dialogType = config.parameters.getProperty(Exports_3.PropertyId.Conversation_DialogType);\n var region = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Region);\n var language = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage, \"en-US\");\n var requestTurnStatus = config.parameters.getProperty(Exports_3.PropertyId.Conversation_Request_Bot_Status_Messages, \"true\");\n var queryParams = {};\n queryParams[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n queryParams[QueryParameterNames_1.QueryParameterNames.Format] = config.parameters.getProperty(Exports_2.OutputFormatPropertyName, Exports_3.OutputFormat[Exports_3.OutputFormat.Simple]).toLowerCase();\n queryParams[QueryParameterNames_1.QueryParameterNames.Language] = language;\n queryParams[QueryParameterNames_1.QueryParameterNames.RequestBotStatusMessages] = requestTurnStatus;\n if (applicationId) {\n queryParams[QueryParameterNames_1.QueryParameterNames.BotId] = applicationId;\n if (dialogType === Exports_3.DialogServiceConfig.DialogTypes.CustomCommands) {\n queryParams[HeaderNames_1.HeaderNames.CustomCommandsAppId] = applicationId;\n }\n }\n var resourceInfix = dialogType === Exports_3.DialogServiceConfig.DialogTypes.CustomCommands ? \"commands/\"\n : \"\";\n var version = dialogType === Exports_3.DialogServiceConfig.DialogTypes.CustomCommands ? \"v1\"\n : dialogType === Exports_3.DialogServiceConfig.DialogTypes.BotFramework ? \"v3\"\n : \"v0\";\n var headers = {};\n if (authInfo.token != null && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n // The URL used for connection is chosen in a priority order of specification:\n // 1. If a custom endpoint is provided, that URL is used verbatim.\n // 2. If a custom host is provided (e.g. \"wss://my.custom.endpoint.com:1123\"), a URL is constructed from it.\n // 3. If no custom connection details are provided, a URL is constructed from default values.\n var endpoint = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Endpoint, \"\");\n if (!endpoint) {\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var host = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".\" + DialogConnectionFactory.Constants.BaseUrl + hostSuffix);\n var standardizedHost = host.endsWith(\"/\") ? host : host + \"/\";\n endpoint = \"\" + standardizedHost + resourceInfix + DialogConnectionFactory.Constants.ApiKey + \"/\" + version;\n }\n _this.setCommonUrlParams(config, queryParams, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_4.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return _this;\n }\n var _a;\n DialogConnectionFactory.Constants = (_a = /** @class */ (function () {\n function class_1() {\n }\n return class_1;\n }()),\n _a.ApiKey = \"api\",\n _a.BaseUrl = \"convai.speech\",\n _a);\n return DialogConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.DialogConnectionFactory = DialogConnectionFactory;\n\n//# sourceMappingURL=DialogConnectorFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DialogServiceAdapter = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar DialogEvents_1 = require(\"../common/DialogEvents\");\nvar Exports_2 = require(\"../common/Exports\");\nvar AudioOutputFormat_1 = require(\"../sdk/Audio/AudioOutputFormat\");\nvar Exports_3 = require(\"../sdk/Exports\");\nvar DialogServiceTurnStateManager_1 = require(\"./DialogServiceTurnStateManager\");\nvar Exports_4 = require(\"./Exports\");\nvar ActivityResponsePayload_1 = require(\"./ServiceMessages/ActivityResponsePayload\");\nvar SpeechConnectionMessage_Internal_1 = require(\"./SpeechConnectionMessage.Internal\");\nvar DialogServiceAdapter = /** @class */ (function (_super) {\n __extends(DialogServiceAdapter, _super);\n function DialogServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, dialogServiceConnector) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, dialogServiceConnector) || this;\n _this.sendAgentConfig = function (connection) {\n if (_this.agentConfig && !_this.agentConfigSent) {\n if (_this.privRecognizerConfig\n .parameters\n .getProperty(Exports_3.PropertyId.Conversation_DialogType) === Exports_3.DialogServiceConfig.DialogTypes.CustomCommands) {\n var config = _this.agentConfig.get();\n config.botInfo.commandsCulture = _this.privRecognizerConfig.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage, \"en-us\");\n _this.agentConfig.set(config);\n }\n _this.onEvent(new DialogEvents_1.SendingAgentContextMessageEvent(_this.agentConfig));\n var agentConfigJson = _this.agentConfig.toJsonString();\n // guard against sending this multiple times on one connection\n _this.agentConfigSent = true;\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"agent.config\", _this.privRequestSession.requestId, \"application/json\", agentConfigJson));\n }\n return;\n };\n _this.sendAgentContext = function (connection) {\n var guid = Exports_2.createGuid();\n var speechActivityTemplate = _this.privDialogServiceConnector.properties.getProperty(Exports_3.PropertyId.Conversation_Speech_Activity_Template);\n var agentContext = {\n channelData: \"\",\n context: {\n interactionId: guid\n },\n messagePayload: typeof speechActivityTemplate === undefined ? undefined : speechActivityTemplate,\n version: 0.5\n };\n var agentContextJson = JSON.stringify(agentContext);\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"speech.agent.context\", _this.privRequestSession.requestId, \"application/json\", agentContextJson));\n };\n _this.handleResponseMessage = function (responseMessage) {\n // \"response\" messages can contain either \"message\" (activity) or \"MessageStatus\" data. Fire the appropriate\n // event according to the message type that's specified.\n var responsePayload = JSON.parse(responseMessage.textBody);\n switch (responsePayload.messageType.toLowerCase()) {\n case \"message\":\n var responseRequestId = responseMessage.requestId.toUpperCase();\n var activityPayload = ActivityResponsePayload_1.ActivityPayloadResponse.fromJSON(responseMessage.textBody);\n var turn = _this.privTurnStateManager.GetTurn(responseRequestId);\n // update the conversation Id\n if (activityPayload.conversationId) {\n var updateAgentConfig = _this.agentConfig.get();\n updateAgentConfig.botInfo.conversationId = activityPayload.conversationId;\n _this.agentConfig.set(updateAgentConfig);\n }\n var pullAudioOutputStream = turn.processActivityPayload(activityPayload, AudioOutputFormat_1.AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString(_this.privDialogServiceConnector.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)));\n var activity = new Exports_3.ActivityReceivedEventArgs(activityPayload.messagePayload, pullAudioOutputStream);\n if (!!_this.privDialogServiceConnector.activityReceived) {\n try {\n _this.privDialogServiceConnector.activityReceived(_this.privDialogServiceConnector, activity);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case \"messagestatus\":\n if (!!_this.privDialogServiceConnector.turnStatusReceived) {\n try {\n _this.privDialogServiceConnector.turnStatusReceived(_this.privDialogServiceConnector, new Exports_3.TurnStatusReceivedEventArgs(responseMessage.textBody));\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n default:\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(\"Unexpected response of type \" + responsePayload.messageType + \". Ignoring.\"));\n break;\n }\n };\n _this.privEvents = new Exports_2.EventSource();\n _this.privDialogServiceConnector = dialogServiceConnector;\n _this.receiveMessageOverride = _this.receiveDialogMessageOverride;\n _this.privTurnStateManager = new DialogServiceTurnStateManager_1.DialogServiceTurnStateManager();\n _this.recognizeOverride = _this.listenOnce;\n _this.postConnectImplOverride = _this.dialogConnectImpl;\n _this.configConnectionOverride = _this.configConnection;\n _this.disconnectOverride = _this.privDisconnect;\n _this.privDialogAudioSource = audioSource;\n _this.agentConfigSent = false;\n _this.privLastResult = null;\n _this.connectionEvents.attach(function (connectionEvent) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (connectionEvent.name === \"ConnectionClosedEvent\") {\n this.terminateMessageLoop = true;\n }\n return [2 /*return*/];\n });\n }); });\n return _this;\n }\n DialogServiceAdapter.prototype.sendMessage = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n var interactionGuid, requestId, agentMessage, agentMessageJson, connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n interactionGuid = Exports_2.createGuid();\n requestId = Exports_2.createNoDashGuid();\n agentMessage = {\n context: {\n interactionId: interactionGuid\n },\n messagePayload: JSON.parse(message),\n version: 0.5\n };\n agentMessageJson = JSON.stringify(agentMessage);\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"agent\", requestId, \"application/json\", agentMessageJson))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n DialogServiceAdapter.prototype.privDisconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.NoError, \"Disconnecting\")];\n case 1:\n _a.sent();\n this.terminateMessageLoop = true;\n this.agentConfigSent = false;\n return [2 /*return*/];\n }\n });\n });\n };\n DialogServiceAdapter.prototype.processTypeSpecificMessages = function (connectionMessage) {\n return __awaiter(this, void 0, void 0, function () {\n var resultProps, result, processed, speechPhrase, args, hypothesis, offset, ev, keyword, event_1, audioRequestId, turn;\n return __generator(this, function (_a) {\n resultProps = new Exports_3.PropertyCollection();\n if (connectionMessage.messageType === Exports_2.MessageType.Text) {\n resultProps.setProperty(Exports_3.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"speech.phrase\":\n speechPhrase = Exports_4.SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + speechPhrase.Offset + speechPhrase.Duration);\n if (speechPhrase.RecognitionStatus !== Exports_4.RecognitionStatus.TooManyRequests && speechPhrase.RecognitionStatus !== Exports_4.RecognitionStatus.Error) {\n args = this.fireEventForResult(speechPhrase, resultProps);\n this.privLastResult = args.result;\n if (!!this.privDialogServiceConnector.recognized) {\n try {\n this.privDialogServiceConnector.recognized(this.privDialogServiceConnector, args);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n processed = true;\n break;\n case \"speech.hypothesis\":\n hypothesis = Exports_4.SpeechHypothesis.fromJSON(connectionMessage.textBody);\n offset = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\n result = new Exports_3.SpeechRecognitionResult(this.privRequestSession.requestId, Exports_3.ResultReason.RecognizingSpeech, hypothesis.Text, hypothesis.Duration, offset, hypothesis.Language, hypothesis.LanguageDetectionConfidence, undefined, undefined, connectionMessage.textBody, resultProps);\n this.privRequestSession.onHypothesis(offset);\n ev = new Exports_3.SpeechRecognitionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\n if (!!this.privDialogServiceConnector.recognizing) {\n try {\n this.privDialogServiceConnector.recognizing(this.privDialogServiceConnector, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n break;\n case \"speech.keyword\":\n keyword = Exports_4.SpeechKeyword.fromJSON(connectionMessage.textBody);\n result = new Exports_3.SpeechRecognitionResult(this.privRequestSession.requestId, keyword.Status === \"Accepted\" ? Exports_3.ResultReason.RecognizedKeyword : Exports_3.ResultReason.NoMatch, keyword.Text, keyword.Duration, keyword.Offset, undefined, undefined, undefined, undefined, connectionMessage.textBody, resultProps);\n if (keyword.Status !== \"Accepted\") {\n this.privLastResult = result;\n }\n event_1 = new Exports_3.SpeechRecognitionEventArgs(result, result.duration, result.resultId);\n if (!!this.privDialogServiceConnector.recognized) {\n try {\n this.privDialogServiceConnector.recognized(this.privDialogServiceConnector, event_1);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n break;\n case \"audio\":\n {\n audioRequestId = connectionMessage.requestId.toUpperCase();\n turn = this.privTurnStateManager.GetTurn(audioRequestId);\n try {\n // Empty binary message signals end of stream.\n if (!connectionMessage.binaryBody) {\n turn.endAudioStream();\n }\n else {\n turn.audioStream.write(connectionMessage.binaryBody);\n }\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n break;\n case \"response\":\n {\n this.handleResponseMessage(connectionMessage);\n }\n processed = true;\n break;\n default:\n break;\n }\n return [2 /*return*/, processed];\n });\n });\n };\n // Cancels recognition.\n DialogServiceAdapter.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n return __awaiter(this, void 0, void 0, function () {\n var properties, cancelEvent, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.terminateMessageLoop = true;\n if (!!!this.privRequestSession.isRecognizing) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privRequestSession.onStopRecognizing()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n if (!!this.privDialogServiceConnector.canceled) {\n properties = new Exports_3.PropertyCollection();\n properties.setProperty(Exports_4.CancellationErrorCodePropertyName, Exports_3.CancellationErrorCode[errorCode]);\n cancelEvent = new Exports_3.SpeechRecognitionCanceledEventArgs(cancellationReason, error, errorCode, undefined, sessionId);\n try {\n this.privDialogServiceConnector.canceled(this.privDialogServiceConnector, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n if (!!this.privSuccessCallback) {\n result = new Exports_3.SpeechRecognitionResult(undefined, // ResultId\n Exports_3.ResultReason.Canceled, undefined, // Text\n undefined, // Duration\n undefined, // Offset\n undefined, // Language\n undefined, // Language Detection Confidence\n undefined, // Speaker Id\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n this.privSuccessCallback = undefined;\n /* tslint:disable:no-empty */\n }\n catch (_c) { }\n }\n }\n return [2 /*return*/];\n }\n });\n });\n };\n DialogServiceAdapter.prototype.listenOnce = function (recoMode, successCallback, errorCallback) {\n return __awaiter(this, void 0, void 0, function () {\n var conPromise, preAudioPromise, node, format, deviceInfo, audioNode, error_1, sessionStartEventArgs, audioSendPromise;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privRecognizerConfig.recognitionMode = recoMode;\n this.privSuccessCallback = successCallback;\n this.privErrorCallback = errorCallback;\n this.privRequestSession.startNewRecognition();\n this.privRequestSession.listenForServiceTelemetry(this.privDialogAudioSource.events);\n this.privRecognizerConfig.parameters.setProperty(Exports_3.PropertyId.Speech_SessionId, this.privRequestSession.sessionId);\n conPromise = this.connectImpl();\n preAudioPromise = this.sendPreAudioMessages();\n return [4 /*yield*/, this.privDialogAudioSource.attach(this.privRequestSession.audioNodeId)];\n case 1:\n node = _a.sent();\n return [4 /*yield*/, this.privDialogAudioSource.format];\n case 2:\n format = _a.sent();\n return [4 /*yield*/, this.privDialogAudioSource.deviceInfo];\n case 3:\n deviceInfo = _a.sent();\n audioNode = new Exports_1.ReplayableAudioNode(node, format.avgBytesPerSec);\n return [4 /*yield*/, this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false)];\n case 4:\n _a.sent();\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\n _a.label = 5;\n case 5:\n _a.trys.push([5, 8, , 10]);\n return [4 /*yield*/, conPromise];\n case 6:\n _a.sent();\n return [4 /*yield*/, preAudioPromise];\n case 7:\n _a.sent();\n return [3 /*break*/, 10];\n case 8:\n error_1 = _a.sent();\n return [4 /*yield*/, this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.ConnectionFailure, error_1)];\n case 9:\n _a.sent();\n return [2 /*return*/, Promise.resolve()];\n case 10:\n sessionStartEventArgs = new Exports_3.SessionEventArgs(this.privRequestSession.sessionId);\n if (!!this.privRecognizer.sessionStarted) {\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\n }\n audioSendPromise = this.sendAudio(audioNode);\n // /* tslint:disable:no-empty */\n audioSendPromise.then(function () { }, function (error) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.RuntimeError, error)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n // Establishes a websocket connection to the end point.\n DialogServiceAdapter.prototype.dialogConnectImpl = function (connection) {\n this.privConnectionLoop = this.startMessageLoop();\n return connection;\n };\n DialogServiceAdapter.prototype.receiveDialogMessageOverride = function () {\n var _this = this;\n // we won't rely on the cascading promises of the connection since we want to continually be available to receive messages\n var communicationCustodian = new Exports_2.Deferred();\n var loop = function () { return __awaiter(_this, void 0, void 0, function () {\n var isDisposed, terminateMessageLoop, connection, message, connectionMessage, _a, turnRequestId, audioSessionReqId, speechStartDetected, speechStartEventArgs, json, speechStopDetected, speechStopEventArgs, turnEndRequestId, audioSessionReqId, sessionStopEventArgs, ret, error_2;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 12, , 13]);\n isDisposed = this.isDisposed();\n terminateMessageLoop = (!this.isDisposed() && this.terminateMessageLoop);\n if (isDisposed || terminateMessageLoop) {\n // We're done.\n communicationCustodian.resolve(undefined);\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _b.sent();\n return [4 /*yield*/, connection.read()];\n case 2:\n message = _b.sent();\n if (!message) {\n return [2 /*return*/, loop()];\n }\n connectionMessage = SpeechConnectionMessage_Internal_1.SpeechConnectionMessage.fromConnectionMessage(message);\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"turn.start\": return [3 /*break*/, 3];\n case \"speech.startdetected\": return [3 /*break*/, 4];\n case \"speech.enddetected\": return [3 /*break*/, 5];\n case \"turn.end\": return [3 /*break*/, 6];\n }\n return [3 /*break*/, 10];\n case 3:\n {\n turnRequestId = connectionMessage.requestId.toUpperCase();\n audioSessionReqId = this.privRequestSession.requestId.toUpperCase();\n // turn started by the service\n if (turnRequestId !== audioSessionReqId) {\n this.privTurnStateManager.StartTurn(turnRequestId);\n }\n else {\n this.privRequestSession.onServiceTurnStartResponse();\n }\n }\n return [3 /*break*/, 11];\n case 4:\n speechStartDetected = Exports_4.SpeechDetected.fromJSON(connectionMessage.textBody);\n speechStartEventArgs = new Exports_3.RecognitionEventArgs(speechStartDetected.Offset, this.privRequestSession.sessionId);\n if (!!this.privRecognizer.speechStartDetected) {\n this.privRecognizer.speechStartDetected(this.privRecognizer, speechStartEventArgs);\n }\n return [3 /*break*/, 11];\n case 5:\n json = void 0;\n if (connectionMessage.textBody.length > 0) {\n json = connectionMessage.textBody;\n }\n else {\n // If the request was empty, the JSON returned is empty.\n json = \"{ Offset: 0 }\";\n }\n speechStopDetected = Exports_4.SpeechDetected.fromJSON(json);\n this.privRequestSession.onServiceRecognized(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset);\n speechStopEventArgs = new Exports_3.RecognitionEventArgs(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\n if (!!this.privRecognizer.speechEndDetected) {\n this.privRecognizer.speechEndDetected(this.privRecognizer, speechStopEventArgs);\n }\n return [3 /*break*/, 11];\n case 6:\n turnEndRequestId = connectionMessage.requestId.toUpperCase();\n audioSessionReqId = this.privRequestSession.requestId.toUpperCase();\n if (!(turnEndRequestId !== audioSessionReqId)) return [3 /*break*/, 7];\n this.privTurnStateManager.CompleteTurn(turnEndRequestId);\n return [3 /*break*/, 9];\n case 7:\n sessionStopEventArgs = new Exports_3.SessionEventArgs(this.privRequestSession.sessionId);\n return [4 /*yield*/, this.privRequestSession.onServiceTurnEndResponse(false)];\n case 8:\n _b.sent();\n if (!this.privRecognizerConfig.isContinuousRecognition || this.privRequestSession.isSpeechEnded || !this.privRequestSession.isRecognizing) {\n if (!!this.privRecognizer.sessionStopped) {\n this.privRecognizer.sessionStopped(this.privRecognizer, sessionStopEventArgs);\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback && this.privLastResult) {\n try {\n this.privSuccessCallback(this.privLastResult);\n this.privLastResult = null;\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n _b.label = 9;\n case 9: return [3 /*break*/, 11];\n case 10:\n if (!this.processTypeSpecificMessages(connectionMessage)) {\n if (!!this.serviceEvents) {\n this.serviceEvents.onEvent(new Exports_2.ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\n }\n }\n _b.label = 11;\n case 11:\n ret = loop();\n return [2 /*return*/, ret];\n case 12:\n error_2 = _b.sent();\n this.terminateMessageLoop = true;\n communicationCustodian.resolve();\n return [3 /*break*/, 13];\n case 13: return [2 /*return*/];\n }\n });\n }); };\n loop().catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n return communicationCustodian.promise;\n };\n DialogServiceAdapter.prototype.startMessageLoop = function () {\n return __awaiter(this, void 0, void 0, function () {\n var error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.terminateMessageLoop = false;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 5]);\n return [4 /*yield*/, this.receiveDialogMessageOverride()];\n case 2:\n _a.sent();\n return [3 /*break*/, 5];\n case 3:\n error_3 = _a.sent();\n return [4 /*yield*/, this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.RuntimeError, error_3)];\n case 4:\n _a.sent();\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\n DialogServiceAdapter.prototype.configConnection = function (connection) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.terminateMessageLoop) {\n this.terminateMessageLoop = false;\n return [2 /*return*/, Promise.reject(\"Connection to service terminated.\")];\n }\n return [4 /*yield*/, this.sendSpeechServiceConfig(connection, this.privRequestSession, this.privRecognizerConfig.SpeechServiceConfig.serialize())];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.sendAgentConfig(connection)];\n case 2:\n _a.sent();\n return [2 /*return*/, connection];\n }\n });\n });\n };\n DialogServiceAdapter.prototype.sendPreAudioMessages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n this.addKeywordContextData();\n return [4 /*yield*/, this.sendSpeechContext(connection)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.sendAgentContext(connection)];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.sendWaveHeader(connection)];\n case 4:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n DialogServiceAdapter.prototype.fireEventForResult = function (serviceResult, properties) {\n var resultReason = Exports_4.EnumTranslation.implTranslateRecognitionResult(serviceResult.RecognitionStatus);\n var offset = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\n var result = new Exports_3.SpeechRecognitionResult(this.privRequestSession.requestId, resultReason, serviceResult.DisplayText, serviceResult.Duration, offset, serviceResult.Language, serviceResult.LanguageDetectionConfidence, undefined, undefined, JSON.stringify(serviceResult), properties);\n var ev = new Exports_3.SpeechRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\n return ev;\n };\n DialogServiceAdapter.prototype.onEvent = function (event) {\n this.privEvents.onEvent(event);\n Exports_2.Events.instance.onEvent(event);\n };\n DialogServiceAdapter.prototype.addKeywordContextData = function () {\n var keywordPropertyValue = this.privRecognizerConfig.parameters.getProperty(\"SPEECH-KeywordsToDetect\");\n if (keywordPropertyValue === undefined) {\n return;\n }\n var keywordOffsetPropertyValue = this.privRecognizerConfig.parameters\n .getProperty(\"SPEECH-KeywordsToDetect-Offsets\");\n var keywordDurationPropertyValue = this.privRecognizerConfig.parameters\n .getProperty(\"SPEECH-KeywordsToDetect-Durations\");\n var keywords = keywordPropertyValue.split(\";\");\n var keywordOffsets = keywordOffsetPropertyValue === undefined ? [] : keywordOffsetPropertyValue.split(\";\");\n var keywordDurations = keywordDurationPropertyValue === undefined ? [] : keywordDurationPropertyValue.split(\";\");\n var keywordDefinitionArray = [];\n for (var i = 0; i < keywords.length; i++) {\n var definition = {};\n definition.text = keywords[i];\n if (i < keywordOffsets.length) {\n definition.offset = Number(keywordOffsets[i]);\n }\n if (i < keywordDurations.length) {\n definition.duration = Number(keywordDurations[i]);\n }\n keywordDefinitionArray.push(definition);\n }\n this.speechContext.setSection(\"invocationSource\", \"VoiceActivationWithKeyword\");\n this.speechContext.setSection(\"keywordDetection\", [{\n clientDetectedKeywords: keywordDefinitionArray,\n onReject: { action: \"EndOfTurn\" },\n type: \"startTrigger\"\n }]);\n };\n return DialogServiceAdapter;\n}(Exports_4.ServiceRecognizerBase));\nexports.DialogServiceAdapter = DialogServiceAdapter;\n\n//# sourceMappingURL=DialogServiceAdapter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DialogServiceTurnState = void 0;\nvar AudioOutputFormat_1 = require(\"../sdk/Audio/AudioOutputFormat\");\nvar AudioOutputStream_1 = require(\"../sdk/Audio/AudioOutputStream\");\nvar ActivityResponsePayload_1 = require(\"./ServiceMessages/ActivityResponsePayload\");\nvar DialogServiceTurnState = /** @class */ (function () {\n function DialogServiceTurnState(manager, requestId) {\n this.privRequestId = requestId;\n this.privIsCompleted = false;\n this.privAudioStream = null;\n this.privTurnManager = manager;\n this.resetTurnEndTimeout();\n // tslint:disable-next-line:no-console\n // console.info(\"DialogServiceTurnState debugturn start:\" + this.privRequestId);\n }\n Object.defineProperty(DialogServiceTurnState.prototype, \"audioStream\", {\n get: function () {\n // Called when is needed to stream.\n this.resetTurnEndTimeout();\n return this.privAudioStream;\n },\n enumerable: false,\n configurable: true\n });\n DialogServiceTurnState.prototype.processActivityPayload = function (payload, audioFormat) {\n if (payload.messageDataStreamType === ActivityResponsePayload_1.MessageDataStreamType.TextToSpeechAudio) {\n this.privAudioStream = AudioOutputStream_1.AudioOutputStream.createPullStream();\n this.privAudioStream.format = (audioFormat !== undefined) ? audioFormat : AudioOutputFormat_1.AudioOutputFormatImpl.getDefaultOutputFormat();\n // tslint:disable-next-line:no-console\n // console.info(\"Audio start debugturn:\" + this.privRequestId);\n }\n return this.privAudioStream;\n };\n DialogServiceTurnState.prototype.endAudioStream = function () {\n if (this.privAudioStream !== null && !this.privAudioStream.isClosed) {\n this.privAudioStream.close();\n }\n };\n DialogServiceTurnState.prototype.complete = function () {\n if (this.privTimeoutToken !== undefined) {\n clearTimeout(this.privTimeoutToken);\n }\n this.endAudioStream();\n };\n DialogServiceTurnState.prototype.resetTurnEndTimeout = function () {\n var _this = this;\n if (this.privTimeoutToken !== undefined) {\n clearTimeout(this.privTimeoutToken);\n }\n // tslint:disable-next-line:no-console\n // console.info(\"Timeout reset debugturn:\" + this.privRequestId);\n this.privTimeoutToken = setTimeout(function () {\n // tslint:disable-next-line:no-console\n // console.info(\"Timeout complete debugturn:\" + this.privRequestId);\n _this.privTurnManager.CompleteTurn(_this.privRequestId);\n return;\n }, 2000);\n };\n return DialogServiceTurnState;\n}());\nexports.DialogServiceTurnState = DialogServiceTurnState;\n\n//# sourceMappingURL=DialogServiceTurnState.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DialogServiceTurnStateManager = void 0;\nvar Error_1 = require(\"../common/Error\");\nvar DialogServiceTurnState_1 = require(\"./DialogServiceTurnState\");\nvar DialogServiceTurnStateManager = /** @class */ (function () {\n function DialogServiceTurnStateManager() {\n this.privTurnMap = new Map();\n return;\n }\n DialogServiceTurnStateManager.prototype.StartTurn = function (id) {\n if (this.privTurnMap.has(id)) {\n throw new Error_1.InvalidOperationError(\"Service error: There is already a turn with id:\" + id);\n }\n var turnState = new DialogServiceTurnState_1.DialogServiceTurnState(this, id);\n this.privTurnMap.set(id, turnState);\n return this.privTurnMap.get(id);\n };\n DialogServiceTurnStateManager.prototype.GetTurn = function (id) {\n return this.privTurnMap.get(id);\n };\n DialogServiceTurnStateManager.prototype.CompleteTurn = function (id) {\n if (!this.privTurnMap.has(id)) {\n throw new Error_1.InvalidOperationError(\"Service error: Received turn end for an unknown turn id:\" + id);\n }\n var turnState = this.privTurnMap.get(id);\n turnState.complete();\n this.privTurnMap.delete(id);\n return turnState;\n };\n return DialogServiceTurnStateManager;\n}());\nexports.DialogServiceTurnStateManager = DialogServiceTurnStateManager;\n\n//# sourceMappingURL=DialogServiceTurnStateManager.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DynamicGrammarBuilder = void 0;\n/**\n * Responsible for building the object to be sent to the speech service to support dynamic grammars.\n * @class DynamicGrammarBuilder\n */\nvar DynamicGrammarBuilder = /** @class */ (function () {\n function DynamicGrammarBuilder() {\n }\n // Adds one more reference phrases to the dynamic grammar to send.\n // All added phrases are generic phrases.\n DynamicGrammarBuilder.prototype.addPhrase = function (phrase) {\n if (!this.privPhrases) {\n this.privPhrases = [];\n }\n if (phrase instanceof Array) {\n this.privPhrases = this.privPhrases.concat(phrase);\n }\n else {\n this.privPhrases.push(phrase);\n }\n };\n // Clears all phrases stored in the current object.\n DynamicGrammarBuilder.prototype.clearPhrases = function () {\n this.privPhrases = undefined;\n };\n // Adds one or more reference grammars to the current grammar.\n DynamicGrammarBuilder.prototype.addReferenceGrammar = function (grammar) {\n if (!this.privGrammars) {\n this.privGrammars = [];\n }\n if (grammar instanceof Array) {\n this.privGrammars = this.privGrammars.concat(grammar);\n }\n else {\n this.privGrammars.push(grammar);\n }\n };\n // clears all grammars stored on the recognizer.\n DynamicGrammarBuilder.prototype.clearGrammars = function () {\n this.privGrammars = undefined;\n };\n // Generates an object that represents the dynamic grammar used by the Speech Service.\n // This is done by building an object with the correct layout based on the phrases and reference grammars added to this instance\n // of a DynamicGrammarBuilder\n DynamicGrammarBuilder.prototype.generateGrammarObject = function () {\n if (this.privGrammars === undefined && this.privPhrases === undefined) {\n return undefined;\n }\n var retObj = {};\n retObj.ReferenceGrammars = this.privGrammars;\n if (undefined !== this.privPhrases && 0 !== this.privPhrases.length) {\n var retPhrases_1 = [];\n this.privPhrases.forEach(function (value, index, array) {\n retPhrases_1.push({\n Text: value,\n });\n });\n retObj.Groups = [{ Type: \"Generic\", Items: retPhrases_1 }];\n }\n return retObj;\n };\n return DynamicGrammarBuilder;\n}());\nexports.DynamicGrammarBuilder = DynamicGrammarBuilder;\n\n//# sourceMappingURL=DynamicGrammarBuilder.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=DynamicGrammarInterfaces.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EnumTranslation = void 0;\nvar Exports_1 = require(\"../sdk/Exports\");\nvar Exports_2 = require(\"./Exports\");\nvar EnumTranslation = /** @class */ (function () {\n function EnumTranslation() {\n }\n EnumTranslation.implTranslateRecognitionResult = function (recognitionStatus) {\n var reason = Exports_1.ResultReason.Canceled;\n switch (recognitionStatus) {\n case Exports_2.RecognitionStatus.Success:\n reason = Exports_1.ResultReason.RecognizedSpeech;\n break;\n case Exports_2.RecognitionStatus.NoMatch:\n case Exports_2.RecognitionStatus.InitialSilenceTimeout:\n case Exports_2.RecognitionStatus.BabbleTimeout:\n case Exports_2.RecognitionStatus.EndOfDictation:\n reason = Exports_1.ResultReason.NoMatch;\n break;\n case Exports_2.RecognitionStatus.Error:\n default:\n reason = Exports_1.ResultReason.Canceled;\n break;\n }\n return reason;\n };\n EnumTranslation.implTranslateCancelResult = function (recognitionStatus) {\n var reason = Exports_1.CancellationReason.EndOfStream;\n switch (recognitionStatus) {\n case Exports_2.RecognitionStatus.Success:\n case Exports_2.RecognitionStatus.EndOfDictation:\n case Exports_2.RecognitionStatus.NoMatch:\n reason = Exports_1.CancellationReason.EndOfStream;\n break;\n case Exports_2.RecognitionStatus.InitialSilenceTimeout:\n case Exports_2.RecognitionStatus.BabbleTimeout:\n case Exports_2.RecognitionStatus.Error:\n default:\n reason = Exports_1.CancellationReason.Error;\n break;\n }\n return reason;\n };\n EnumTranslation.implTranslateCancelErrorCode = function (recognitionStatus) {\n var reason = Exports_1.CancellationErrorCode.NoError;\n switch (recognitionStatus) {\n case Exports_2.RecognitionStatus.Error:\n reason = Exports_1.CancellationErrorCode.ServiceError;\n break;\n case Exports_2.RecognitionStatus.TooManyRequests:\n reason = Exports_1.CancellationErrorCode.TooManyRequests;\n break;\n default:\n reason = Exports_1.CancellationErrorCode.NoError;\n break;\n }\n return reason;\n };\n return EnumTranslation;\n}());\nexports.EnumTranslation = EnumTranslation;\n\n//# sourceMappingURL=EnumTranslation.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AutoDetectSourceLanguagesOpenRangeOptionName = exports.ForceDictationPropertyName = exports.ServicePropertiesPropertyName = exports.CancellationErrorCodePropertyName = exports.OutputFormatPropertyName = void 0;\n// Make sure not to export internal modules.\n//\n__exportStar(require(\"./CognitiveSubscriptionKeyAuthentication\"), exports);\n__exportStar(require(\"./CognitiveTokenAuthentication\"), exports);\n__exportStar(require(\"./IAuthentication\"), exports);\n__exportStar(require(\"./IConnectionFactory\"), exports);\n__exportStar(require(\"./ISynthesisConnectionFactory\"), exports);\n__exportStar(require(\"./IntentConnectionFactory\"), exports);\n__exportStar(require(\"./RecognitionEvents\"), exports);\n__exportStar(require(\"./ServiceRecognizerBase\"), exports);\n__exportStar(require(\"./RecognizerConfig\"), exports);\n__exportStar(require(\"./SpeechServiceInterfaces\"), exports);\n__exportStar(require(\"./WebsocketMessageFormatter\"), exports);\n__exportStar(require(\"./SpeechConnectionFactory\"), exports);\n__exportStar(require(\"./TranscriberConnectionFactory\"), exports);\n__exportStar(require(\"./TranslationConnectionFactory\"), exports);\n__exportStar(require(\"./SpeechSynthesisConnectionFactory\"), exports);\n__exportStar(require(\"./EnumTranslation\"), exports);\n__exportStar(require(\"./ServiceMessages/Enums\"), exports);\n__exportStar(require(\"./ServiceMessages/TranslationSynthesisEnd\"), exports);\n__exportStar(require(\"./ServiceMessages/TranslationHypothesis\"), exports);\n__exportStar(require(\"./ServiceMessages/TranslationPhrase\"), exports);\n__exportStar(require(\"./TranslationServiceRecognizer\"), exports);\n__exportStar(require(\"./ServiceMessages/SpeechDetected\"), exports);\n__exportStar(require(\"./ServiceMessages/SpeechHypothesis\"), exports);\n__exportStar(require(\"./ServiceMessages/SpeechKeyword\"), exports);\n__exportStar(require(\"./SpeechServiceRecognizer\"), exports);\n__exportStar(require(\"./TranscriptionServiceRecognizer\"), exports);\n__exportStar(require(\"./ServiceMessages/DetailedSpeechPhrase\"), exports);\n__exportStar(require(\"./ServiceMessages/SimpleSpeechPhrase\"), exports);\n__exportStar(require(\"./AddedLmIntent\"), exports);\n__exportStar(require(\"./IntentServiceRecognizer\"), exports);\n__exportStar(require(\"./ServiceMessages/IntentResponse\"), exports);\n__exportStar(require(\"./RequestSession\"), exports);\n__exportStar(require(\"./SpeechContext\"), exports);\n__exportStar(require(\"./DynamicGrammarBuilder\"), exports);\n__exportStar(require(\"./DynamicGrammarInterfaces\"), exports);\n__exportStar(require(\"./DialogServiceAdapter\"), exports);\n__exportStar(require(\"./AgentConfig\"), exports);\n__exportStar(require(\"./Transcription/Exports\"), exports);\n__exportStar(require(\"./ServiceMessages/SynthesisAudioMetadata\"), exports);\n__exportStar(require(\"./SynthesisTurn\"), exports);\n__exportStar(require(\"./SynthesisAdapterBase\"), exports);\n__exportStar(require(\"./SynthesizerConfig\"), exports);\n__exportStar(require(\"./SynthesisContext\"), exports);\n__exportStar(require(\"./SpeakerRecognitionConfig\"), exports);\n__exportStar(require(\"./SpeakerIdMessageAdapter\"), exports);\nexports.OutputFormatPropertyName = \"OutputFormat\";\nexports.CancellationErrorCodePropertyName = \"CancellationErrorCode\";\nexports.ServicePropertiesPropertyName = \"ServiceProperties\";\nexports.ForceDictationPropertyName = \"ForceDictation\";\nexports.AutoDetectSourceLanguagesOpenRangeOptionName = \"OpenRange\";\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeaderNames = void 0;\nvar HeaderNames = /** @class */ (function () {\n function HeaderNames() {\n }\n HeaderNames.AuthKey = \"Ocp-Apim-Subscription-Key\";\n HeaderNames.ConnectionId = \"X-ConnectionId\";\n HeaderNames.ContentType = \"Content-Type\";\n HeaderNames.CustomCommandsAppId = \"X-CommandsAppId\";\n HeaderNames.Path = \"Path\";\n HeaderNames.RequestId = \"X-RequestId\";\n HeaderNames.RequestStreamId = \"X-StreamId\";\n HeaderNames.RequestTimestamp = \"X-Timestamp\";\n return HeaderNames;\n}());\nexports.HeaderNames = HeaderNames;\n\n//# sourceMappingURL=HeaderNames.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AuthInfo = void 0;\nvar AuthInfo = /** @class */ (function () {\n function AuthInfo(headerName, token) {\n this.privHeaderName = headerName;\n this.privToken = token;\n }\n Object.defineProperty(AuthInfo.prototype, \"headerName\", {\n get: function () {\n return this.privHeaderName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AuthInfo.prototype, \"token\", {\n get: function () {\n return this.privToken;\n },\n enumerable: false,\n configurable: true\n });\n return AuthInfo;\n}());\nexports.AuthInfo = AuthInfo;\n\n//# sourceMappingURL=IAuthentication.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=ISynthesisConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.IntentConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"./ConnectionFactoryBase\");\nvar Exports_3 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar IntentConnectionFactory = /** @class */ (function (_super) {\n __extends(IntentConnectionFactory, _super);\n function IntentConnectionFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.create = function (config, authInfo, connectionId) {\n var endpoint = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint);\n if (!endpoint) {\n var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_IntentRegion);\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var host = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".sr.speech\" + hostSuffix);\n endpoint = host + \"/speech/recognition/interactive/cognitiveservices/v1\";\n }\n var queryParams = {\n format: \"simple\",\n language: config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage),\n };\n _this.setCommonUrlParams(config, queryParams, endpoint);\n var headers = {};\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n headers[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n config.parameters.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Url, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_3.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return _this;\n }\n IntentConnectionFactory.prototype.getSpeechRegionFromIntentRegion = function (intentRegion) {\n switch (intentRegion) {\n case \"West US\":\n case \"US West\":\n case \"westus\":\n return \"uswest\";\n case \"West US 2\":\n case \"US West 2\":\n case \"westus2\":\n return \"uswest2\";\n case \"South Central US\":\n case \"US South Central\":\n case \"southcentralus\":\n return \"ussouthcentral\";\n case \"West Central US\":\n case \"US West Central\":\n case \"westcentralus\":\n return \"uswestcentral\";\n case \"East US\":\n case \"US East\":\n case \"eastus\":\n return \"useast\";\n case \"East US 2\":\n case \"US East 2\":\n case \"eastus2\":\n return \"useast2\";\n case \"West Europe\":\n case \"Europe West\":\n case \"westeurope\":\n return \"europewest\";\n case \"North Europe\":\n case \"Europe North\":\n case \"northeurope\":\n return \"europenorth\";\n case \"Brazil South\":\n case \"South Brazil\":\n case \"southbrazil\":\n return \"brazilsouth\";\n case \"Australia East\":\n case \"East Australia\":\n case \"eastaustralia\":\n return \"australiaeast\";\n case \"Southeast Asia\":\n case \"Asia Southeast\":\n case \"southeastasia\":\n return \"asiasoutheast\";\n case \"East Asia\":\n case \"Asia East\":\n case \"eastasia\":\n return \"asiaeast\";\n default:\n return intentRegion;\n }\n };\n return IntentConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.IntentConnectionFactory = IntentConnectionFactory;\n\n//# sourceMappingURL=IntentConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntentServiceRecognizer = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar Exports_3 = require(\"./Exports\");\n// tslint:disable-next-line:max-classes-per-file\nvar IntentServiceRecognizer = /** @class */ (function (_super) {\n __extends(IntentServiceRecognizer, _super);\n function IntentServiceRecognizer(authentication, connectionFactory, audioSource, recognizerConfig, recognizer) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, recognizer) || this;\n _this.privIntentRecognizer = recognizer;\n _this.privIntentDataSent = false;\n return _this;\n }\n IntentServiceRecognizer.prototype.setIntents = function (addedIntents, umbrellaIntent) {\n this.privAddedLmIntents = addedIntents;\n this.privUmbrellaIntent = umbrellaIntent;\n this.privIntentDataSent = true;\n };\n IntentServiceRecognizer.prototype.processTypeSpecificMessages = function (connectionMessage) {\n return __awaiter(this, void 0, void 0, function () {\n var result, ev, processed, resultProps, speechHypothesis, simple, sendEvent, intentResponse, addedIntent, intentId, reason, properties;\n var _this = this;\n return __generator(this, function (_a) {\n processed = false;\n resultProps = new Exports_2.PropertyCollection();\n if (connectionMessage.messageType === Exports_1.MessageType.Text) {\n resultProps.setProperty(Exports_2.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n switch (connectionMessage.path.toLowerCase()) {\n case \"speech.hypothesis\":\n speechHypothesis = Exports_3.SpeechHypothesis.fromJSON(connectionMessage.textBody);\n result = new Exports_2.IntentRecognitionResult(undefined, this.privRequestSession.requestId, Exports_2.ResultReason.RecognizingIntent, speechHypothesis.Text, speechHypothesis.Duration, speechHypothesis.Offset + this.privRequestSession.currentTurnAudioOffset, speechHypothesis.Language, speechHypothesis.LanguageDetectionConfidence, undefined, connectionMessage.textBody, resultProps);\n this.privRequestSession.onHypothesis(result.offset);\n ev = new Exports_2.IntentRecognitionEventArgs(result, speechHypothesis.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\n if (!!this.privIntentRecognizer.recognizing) {\n try {\n this.privIntentRecognizer.recognizing(this.privIntentRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n break;\n case \"speech.phrase\":\n simple = Exports_3.SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\n result = new Exports_2.IntentRecognitionResult(undefined, this.privRequestSession.requestId, Exports_3.EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus), simple.DisplayText, simple.Duration, simple.Offset + this.privRequestSession.currentTurnAudioOffset, simple.Language, simple.LanguageDetectionConfidence, undefined, connectionMessage.textBody, resultProps);\n ev = new Exports_2.IntentRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\n sendEvent = function () {\n if (!!_this.privIntentRecognizer.recognized) {\n try {\n _this.privIntentRecognizer.recognized(_this.privIntentRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n // report result to promise.\n if (!!_this.privSuccessCallback) {\n try {\n _this.privSuccessCallback(result);\n }\n catch (e) {\n if (!!_this.privErrorCallback) {\n _this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n _this.privSuccessCallback = undefined;\n _this.privErrorCallback = undefined;\n }\n };\n // If intent data was sent, the terminal result for this recognizer is an intent being found.\n // If no intent data was sent, the terminal event is speech recognition being successful.\n if (false === this.privIntentDataSent || Exports_2.ResultReason.NoMatch === ev.result.reason) {\n // Advance the buffers.\n this.privRequestSession.onPhraseRecognized(ev.offset + ev.result.duration);\n sendEvent();\n }\n else {\n // Squirrel away the args, when the response event arrives it will build upon them\n // and then return\n this.privPendingIntentArgs = ev;\n }\n processed = true;\n break;\n case \"response\":\n // Response from LUIS\n ev = this.privPendingIntentArgs;\n this.privPendingIntentArgs = undefined;\n if (undefined === ev) {\n if (\"\" === connectionMessage.textBody) {\n // This condition happens if there is nothing but silence in the\n // audio sent to the service.\n return [2 /*return*/];\n }\n // Odd... Not sure this can happen\n ev = new Exports_2.IntentRecognitionEventArgs(new Exports_2.IntentRecognitionResult(), 0 /*TODO*/, this.privRequestSession.sessionId);\n }\n intentResponse = Exports_3.IntentResponse.fromJSON(connectionMessage.textBody);\n addedIntent = this.privAddedLmIntents[intentResponse.topScoringIntent.intent];\n if (this.privUmbrellaIntent !== undefined) {\n addedIntent = this.privUmbrellaIntent;\n }\n if (null !== intentResponse && addedIntent !== undefined) {\n intentId = addedIntent.intentName === undefined ? intentResponse.topScoringIntent.intent : addedIntent.intentName;\n reason = ev.result.reason;\n if (undefined !== intentId) {\n reason = Exports_2.ResultReason.RecognizedIntent;\n }\n properties = (undefined !== ev.result.properties) ?\n ev.result.properties : new Exports_2.PropertyCollection();\n properties.setProperty(Exports_2.PropertyId.LanguageUnderstandingServiceResponse_JsonResult, connectionMessage.textBody);\n ev = new Exports_2.IntentRecognitionEventArgs(new Exports_2.IntentRecognitionResult(intentId, ev.result.resultId, reason, ev.result.text, ev.result.duration, ev.result.offset, undefined, undefined, ev.result.errorDetails, ev.result.json, properties), ev.offset, ev.sessionId);\n }\n this.privRequestSession.onPhraseRecognized(ev.offset + ev.result.duration);\n if (!!this.privIntentRecognizer.recognized) {\n try {\n this.privIntentRecognizer.recognized(this.privIntentRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(ev.result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n processed = true;\n break;\n default:\n break;\n }\n return [2 /*return*/, processed];\n });\n });\n };\n // Cancels recognition.\n IntentServiceRecognizer.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n var properties = new Exports_2.PropertyCollection();\n properties.setProperty(Exports_3.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[errorCode]);\n if (!!this.privIntentRecognizer.canceled) {\n var cancelEvent = new Exports_2.IntentRecognitionCanceledEventArgs(cancellationReason, error, errorCode, undefined, undefined, sessionId);\n try {\n this.privIntentRecognizer.canceled(this.privIntentRecognizer, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_a) { }\n }\n if (!!this.privSuccessCallback) {\n var result = new Exports_2.IntentRecognitionResult(undefined, // Intent Id\n requestId, Exports_2.ResultReason.Canceled, undefined, // Text\n undefined, // Duration\n undefined, // Offset\n undefined, // Language\n undefined, // LanguageDetectionConfidence\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n this.privSuccessCallback = undefined;\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n }\n };\n return IntentServiceRecognizer;\n}(Exports_3.ServiceRecognizerBase));\nexports.IntentServiceRecognizer = IntentServiceRecognizer;\n\n//# sourceMappingURL=IntentServiceRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.QueryParameterNames = void 0;\nvar QueryParameterNames = /** @class */ (function () {\n function QueryParameterNames() {\n }\n QueryParameterNames.BotId = \"botid\";\n QueryParameterNames.CustomSpeechDeploymentId = \"cid\";\n QueryParameterNames.CustomVoiceDeploymentId = \"deploymentId\";\n QueryParameterNames.EnableAudioLogging = \"storeAudio\";\n QueryParameterNames.EnableLanguageId = \"lidEnabled\";\n QueryParameterNames.EnableWordLevelTimestamps = \"wordLevelTimestamps\";\n QueryParameterNames.EndSilenceTimeoutMs = \"endSilenceTimeoutMs\";\n QueryParameterNames.Format = \"format\";\n QueryParameterNames.InitialSilenceTimeoutMs = \"initialSilenceTimeoutMs\";\n QueryParameterNames.Language = \"language\";\n QueryParameterNames.Profanity = \"profanity\";\n QueryParameterNames.RequestBotStatusMessages = \"enableBotMessageStatus\";\n QueryParameterNames.StableIntermediateThreshold = \"stableIntermediateThreshold\";\n QueryParameterNames.StableTranslation = \"stableTranslation\";\n QueryParameterNames.TestHooks = \"testhooks\";\n return QueryParameterNames;\n}());\nexports.QueryParameterNames = QueryParameterNames;\n\n//# sourceMappingURL=QueryParameterNames.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.RecognitionEndedEvent = exports.RecognitionCompletionStatus = exports.RecognitionStartedEvent = exports.ConnectingToServiceEvent = exports.ListeningStartedEvent = exports.RecognitionTriggeredEvent = exports.SpeechRecognitionEvent = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../common/Exports\");\nvar SpeechRecognitionEvent = /** @class */ (function (_super) {\n __extends(SpeechRecognitionEvent, _super);\n function SpeechRecognitionEvent(eventName, requestId, sessionId, eventType) {\n if (eventType === void 0) { eventType = Exports_1.EventType.Info; }\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privRequestId = requestId;\n _this.privSessionId = sessionId;\n return _this;\n }\n Object.defineProperty(SpeechRecognitionEvent.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechRecognitionEvent.prototype, \"sessionId\", {\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechRecognitionEvent;\n}(Exports_1.PlatformEvent));\nexports.SpeechRecognitionEvent = SpeechRecognitionEvent;\nvar RecognitionTriggeredEvent = /** @class */ (function (_super) {\n __extends(RecognitionTriggeredEvent, _super);\n function RecognitionTriggeredEvent(requestId, sessionId, audioSourceId, audioNodeId) {\n var _this = _super.call(this, \"RecognitionTriggeredEvent\", requestId, sessionId) || this;\n _this.privAudioSourceId = audioSourceId;\n _this.privAudioNodeId = audioNodeId;\n return _this;\n }\n Object.defineProperty(RecognitionTriggeredEvent.prototype, \"audioSourceId\", {\n get: function () {\n return this.privAudioSourceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionTriggeredEvent.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n return RecognitionTriggeredEvent;\n}(SpeechRecognitionEvent));\nexports.RecognitionTriggeredEvent = RecognitionTriggeredEvent;\nvar ListeningStartedEvent = /** @class */ (function (_super) {\n __extends(ListeningStartedEvent, _super);\n function ListeningStartedEvent(requestId, sessionId, audioSourceId, audioNodeId) {\n var _this = _super.call(this, \"ListeningStartedEvent\", requestId, sessionId) || this;\n _this.privAudioSourceId = audioSourceId;\n _this.privAudioNodeId = audioNodeId;\n return _this;\n }\n Object.defineProperty(ListeningStartedEvent.prototype, \"audioSourceId\", {\n get: function () {\n return this.privAudioSourceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListeningStartedEvent.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n return ListeningStartedEvent;\n}(SpeechRecognitionEvent));\nexports.ListeningStartedEvent = ListeningStartedEvent;\nvar ConnectingToServiceEvent = /** @class */ (function (_super) {\n __extends(ConnectingToServiceEvent, _super);\n function ConnectingToServiceEvent(requestId, authFetchEventid, sessionId) {\n var _this = _super.call(this, \"ConnectingToServiceEvent\", requestId, sessionId) || this;\n _this.privAuthFetchEventid = authFetchEventid;\n return _this;\n }\n Object.defineProperty(ConnectingToServiceEvent.prototype, \"authFetchEventid\", {\n get: function () {\n return this.privAuthFetchEventid;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectingToServiceEvent;\n}(SpeechRecognitionEvent));\nexports.ConnectingToServiceEvent = ConnectingToServiceEvent;\nvar RecognitionStartedEvent = /** @class */ (function (_super) {\n __extends(RecognitionStartedEvent, _super);\n function RecognitionStartedEvent(requestId, audioSourceId, audioNodeId, authFetchEventId, sessionId) {\n var _this = _super.call(this, \"RecognitionStartedEvent\", requestId, sessionId) || this;\n _this.privAudioSourceId = audioSourceId;\n _this.privAudioNodeId = audioNodeId;\n _this.privAuthFetchEventId = authFetchEventId;\n return _this;\n }\n Object.defineProperty(RecognitionStartedEvent.prototype, \"audioSourceId\", {\n get: function () {\n return this.privAudioSourceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionStartedEvent.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionStartedEvent.prototype, \"authFetchEventId\", {\n get: function () {\n return this.privAuthFetchEventId;\n },\n enumerable: false,\n configurable: true\n });\n return RecognitionStartedEvent;\n}(SpeechRecognitionEvent));\nexports.RecognitionStartedEvent = RecognitionStartedEvent;\nvar RecognitionCompletionStatus;\n(function (RecognitionCompletionStatus) {\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"Success\"] = 0] = \"Success\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"AudioSourceError\"] = 1] = \"AudioSourceError\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"AudioSourceTimeout\"] = 2] = \"AudioSourceTimeout\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"AuthTokenFetchError\"] = 3] = \"AuthTokenFetchError\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"AuthTokenFetchTimeout\"] = 4] = \"AuthTokenFetchTimeout\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"UnAuthorized\"] = 5] = \"UnAuthorized\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"ConnectTimeout\"] = 6] = \"ConnectTimeout\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"ConnectError\"] = 7] = \"ConnectError\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"ClientRecognitionActivityTimeout\"] = 8] = \"ClientRecognitionActivityTimeout\";\n RecognitionCompletionStatus[RecognitionCompletionStatus[\"UnknownError\"] = 9] = \"UnknownError\";\n})(RecognitionCompletionStatus = exports.RecognitionCompletionStatus || (exports.RecognitionCompletionStatus = {}));\nvar RecognitionEndedEvent = /** @class */ (function (_super) {\n __extends(RecognitionEndedEvent, _super);\n function RecognitionEndedEvent(requestId, audioSourceId, audioNodeId, authFetchEventId, sessionId, serviceTag, status, error) {\n var _this = _super.call(this, \"RecognitionEndedEvent\", requestId, sessionId, status === RecognitionCompletionStatus.Success ? Exports_1.EventType.Info : Exports_1.EventType.Error) || this;\n _this.privAudioSourceId = audioSourceId;\n _this.privAudioNodeId = audioNodeId;\n _this.privAuthFetchEventId = authFetchEventId;\n _this.privStatus = status;\n _this.privError = error;\n _this.privServiceTag = serviceTag;\n return _this;\n }\n Object.defineProperty(RecognitionEndedEvent.prototype, \"audioSourceId\", {\n get: function () {\n return this.privAudioSourceId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionEndedEvent.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionEndedEvent.prototype, \"authFetchEventId\", {\n get: function () {\n return this.privAuthFetchEventId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionEndedEvent.prototype, \"serviceTag\", {\n get: function () {\n return this.privServiceTag;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionEndedEvent.prototype, \"status\", {\n get: function () {\n return this.privStatus;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionEndedEvent.prototype, \"error\", {\n get: function () {\n return this.privError;\n },\n enumerable: false,\n configurable: true\n });\n return RecognitionEndedEvent;\n}(SpeechRecognitionEvent));\nexports.RecognitionEndedEvent = RecognitionEndedEvent;\n\n//# sourceMappingURL=RecognitionEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.type = exports.connectivity = exports.Device = exports.OS = exports.System = exports.Context = exports.SpeechServiceConfig = exports.RecognizerConfig = exports.SpeechResultFormat = exports.RecognitionMode = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../sdk/Exports\");\nvar RecognitionMode;\n(function (RecognitionMode) {\n RecognitionMode[RecognitionMode[\"Interactive\"] = 0] = \"Interactive\";\n RecognitionMode[RecognitionMode[\"Conversation\"] = 1] = \"Conversation\";\n RecognitionMode[RecognitionMode[\"Dictation\"] = 2] = \"Dictation\";\n})(RecognitionMode = exports.RecognitionMode || (exports.RecognitionMode = {}));\nvar SpeechResultFormat;\n(function (SpeechResultFormat) {\n SpeechResultFormat[SpeechResultFormat[\"Simple\"] = 0] = \"Simple\";\n SpeechResultFormat[SpeechResultFormat[\"Detailed\"] = 1] = \"Detailed\";\n})(SpeechResultFormat = exports.SpeechResultFormat || (exports.SpeechResultFormat = {}));\nvar RecognizerConfig = /** @class */ (function () {\n function RecognizerConfig(speechServiceConfig, parameters) {\n this.privRecognitionMode = RecognitionMode.Interactive;\n this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new SpeechServiceConfig(new Context(null));\n this.privParameters = parameters;\n this.privMaxRetryCount = parseInt(parameters.getProperty(\"SPEECH-Error-MaxRetryCount\", \"4\"), 10);\n }\n Object.defineProperty(RecognizerConfig.prototype, \"parameters\", {\n get: function () {\n return this.privParameters;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"recognitionMode\", {\n get: function () {\n return this.privRecognitionMode;\n },\n set: function (value) {\n this.privRecognitionMode = value;\n this.privRecognitionActivityTimeout = value === RecognitionMode.Interactive ? 8000 : 25000;\n this.privSpeechServiceConfig.Recognition = RecognitionMode[value];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"SpeechServiceConfig\", {\n get: function () {\n return this.privSpeechServiceConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"recognitionActivityTimeout\", {\n get: function () {\n return this.privRecognitionActivityTimeout;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"isContinuousRecognition\", {\n get: function () {\n return this.privRecognitionMode !== RecognitionMode.Interactive;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"autoDetectSourceLanguages\", {\n get: function () {\n return this.parameters.getProperty(Exports_1.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, undefined);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognizerConfig.prototype, \"maxRetryCount\", {\n get: function () {\n return this.privMaxRetryCount;\n },\n enumerable: false,\n configurable: true\n });\n return RecognizerConfig;\n}());\nexports.RecognizerConfig = RecognizerConfig;\n// The config is serialized and sent as the Speech.Config\nvar SpeechServiceConfig = /** @class */ (function () {\n function SpeechServiceConfig(context) {\n var _this = this;\n this.serialize = function () {\n return JSON.stringify(_this, function (key, value) {\n if (value && typeof value === \"object\") {\n var replacement = {};\n for (var k in value) {\n if (Object.hasOwnProperty.call(value, k)) {\n replacement[k && k.charAt(0).toLowerCase() + k.substring(1)] = value[k];\n }\n }\n return replacement;\n }\n return value;\n });\n };\n this.context = context;\n }\n Object.defineProperty(SpeechServiceConfig.prototype, \"Context\", {\n get: function () {\n return this.context;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechServiceConfig.prototype, \"Recognition\", {\n get: function () {\n return this.recognition;\n },\n set: function (value) {\n this.recognition = value.toLowerCase();\n },\n enumerable: false,\n configurable: true\n });\n return SpeechServiceConfig;\n}());\nexports.SpeechServiceConfig = SpeechServiceConfig;\nvar Context = /** @class */ (function () {\n function Context(os) {\n this.system = new System();\n this.os = os;\n }\n return Context;\n}());\nexports.Context = Context;\nvar System = /** @class */ (function () {\n function System() {\n // Note: below will be patched for official builds.\n var SPEECHSDK_CLIENTSDK_VERSION = \"1.17.0\";\n this.name = \"SpeechSDK\";\n this.version = SPEECHSDK_CLIENTSDK_VERSION;\n this.build = \"JavaScript\";\n this.lang = \"JavaScript\";\n }\n return System;\n}());\nexports.System = System;\nvar OS = /** @class */ (function () {\n function OS(platform, name, version) {\n this.platform = platform;\n this.name = name;\n this.version = version;\n }\n return OS;\n}());\nexports.OS = OS;\nvar Device = /** @class */ (function () {\n function Device(manufacturer, model, version) {\n this.manufacturer = manufacturer;\n this.model = model;\n this.version = version;\n }\n return Device;\n}());\nexports.Device = Device;\nvar connectivity;\n(function (connectivity) {\n connectivity[\"Bluetooth\"] = \"Bluetooth\";\n connectivity[\"Wired\"] = \"Wired\";\n connectivity[\"WiFi\"] = \"WiFi\";\n connectivity[\"Cellular\"] = \"Cellular\";\n connectivity[\"InBuilt\"] = \"InBuilt\";\n connectivity[\"Unknown\"] = \"Unknown\";\n})(connectivity = exports.connectivity || (exports.connectivity = {}));\nvar type;\n(function (type) {\n type[\"Phone\"] = \"Phone\";\n type[\"Speaker\"] = \"Speaker\";\n type[\"Car\"] = \"Car\";\n type[\"Headset\"] = \"Headset\";\n type[\"Thermostat\"] = \"Thermostat\";\n type[\"Microphones\"] = \"Microphones\";\n type[\"Deskphone\"] = \"Deskphone\";\n type[\"RemoteControl\"] = \"RemoteControl\";\n type[\"Unknown\"] = \"Unknown\";\n type[\"File\"] = \"File\";\n type[\"Stream\"] = \"Stream\";\n})(type = exports.type || (exports.type = {}));\n\n//# sourceMappingURL=RecognizerConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestSession = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar RecognitionEvents_1 = require(\"./RecognitionEvents\");\nvar ServiceTelemetryListener_Internal_1 = require(\"./ServiceTelemetryListener.Internal\");\nvar RequestSession = /** @class */ (function () {\n function RequestSession(audioSourceId) {\n var _this = this;\n this.privIsDisposed = false;\n this.privDetachables = new Array();\n this.privIsAudioNodeDetached = false;\n this.privIsRecognizing = false;\n this.privIsSpeechEnded = false;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privHypothesisReceived = false;\n this.privBytesSent = 0;\n this.privRecogNumber = 0;\n this.privInTurn = false;\n this.privConnectionAttempts = 0;\n this.onPreConnectionStart = function (authFetchEventId, connectionId) {\n _this.privAuthFetchEventId = authFetchEventId;\n _this.privSessionId = connectionId;\n _this.onEvent(new RecognitionEvents_1.ConnectingToServiceEvent(_this.privRequestId, _this.privAuthFetchEventId, _this.privSessionId));\n };\n this.onServiceTurnStartResponse = function () {\n if (!!_this.privTurnDeferral && !!_this.privInTurn) {\n // What? How are we starting a turn with another not done?\n _this.privTurnDeferral.reject(\"Another turn started before current completed.\");\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\n /* tslint:disable:no-empty */\n _this.privTurnDeferral.promise.then().catch(function () { });\n }\n _this.privInTurn = true;\n _this.privTurnDeferral = new Exports_1.Deferred();\n };\n this.getTelemetry = function () {\n if (_this.privServiceTelemetryListener.hasTelemetry) {\n return _this.privServiceTelemetryListener.getTelemetry();\n }\n else {\n return null;\n }\n };\n this.onEvent = function (event) {\n if (!!_this.privServiceTelemetryListener) {\n _this.privServiceTelemetryListener.onEvent(event);\n }\n Exports_1.Events.instance.onEvent(event);\n };\n this.privAudioSourceId = audioSourceId;\n this.privRequestId = Exports_1.createNoDashGuid();\n this.privAudioNodeId = Exports_1.createNoDashGuid();\n this.privTurnDeferral = new Exports_1.Deferred();\n // We're not in a turn, so resolve.\n this.privTurnDeferral.resolve();\n }\n Object.defineProperty(RequestSession.prototype, \"sessionId\", {\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"turnCompletionPromise\", {\n get: function () {\n return this.privTurnDeferral.promise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"isSpeechEnded\", {\n get: function () {\n return this.privIsSpeechEnded;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"isRecognizing\", {\n get: function () {\n return this.privIsRecognizing;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"currentTurnAudioOffset\", {\n get: function () {\n return this.privTurnStartAudioOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"recogNumber\", {\n get: function () {\n return this.privRecogNumber;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"numConnectionAttempts\", {\n get: function () {\n return this.privConnectionAttempts;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RequestSession.prototype, \"bytesSent\", {\n // The number of bytes sent for the current connection.\n // Counter is reset to 0 each time a connection is established.\n get: function () {\n return this.privBytesSent;\n },\n enumerable: false,\n configurable: true\n });\n RequestSession.prototype.listenForServiceTelemetry = function (eventSource) {\n if (!!this.privServiceTelemetryListener) {\n this.privDetachables.push(eventSource.attachListener(this.privServiceTelemetryListener));\n }\n };\n RequestSession.prototype.startNewRecognition = function () {\n this.privIsSpeechEnded = false;\n this.privIsRecognizing = true;\n this.privTurnStartAudioOffset = 0;\n this.privLastRecoOffset = 0;\n this.privRequestId = Exports_1.createNoDashGuid();\n this.privRecogNumber++;\n this.privServiceTelemetryListener = new ServiceTelemetryListener_Internal_1.ServiceTelemetryListener(this.privRequestId, this.privAudioSourceId, this.privAudioNodeId);\n this.onEvent(new RecognitionEvents_1.RecognitionTriggeredEvent(this.requestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\n };\n RequestSession.prototype.onAudioSourceAttachCompleted = function (audioNode, isError, error) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privAudioNode = audioNode;\n this.privIsAudioNodeDetached = false;\n if (!isError) return [3 /*break*/, 2];\n return [4 /*yield*/, this.onComplete()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n this.onEvent(new RecognitionEvents_1.ListeningStartedEvent(this.privRequestId, this.privSessionId, this.privAudioSourceId, this.privAudioNodeId));\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.onAuthCompleted = function (isError, error) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!isError) return [3 /*break*/, 2];\n return [4 /*yield*/, this.onComplete()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.onConnectionEstablishCompleted = function (statusCode, reason) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(statusCode === 200)) return [3 /*break*/, 1];\n this.onEvent(new RecognitionEvents_1.RecognitionStartedEvent(this.requestId, this.privAudioSourceId, this.privAudioNodeId, this.privAuthFetchEventId, this.privSessionId));\n if (!!this.privAudioNode) {\n this.privAudioNode.replay();\n }\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\n this.privBytesSent = 0;\n return [2 /*return*/];\n case 1:\n if (!(statusCode === 403)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.onComplete()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.onServiceTurnEndResponse = function (continuousRecognition) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privTurnDeferral.resolve();\n if (!(!continuousRecognition || this.isSpeechEnded)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.onComplete()];\n case 1:\n _a.sent();\n this.privInTurn = false;\n return [3 /*break*/, 3];\n case 2:\n // Start a new request set.\n this.privTurnStartAudioOffset = this.privLastRecoOffset;\n this.privRequestId = Exports_1.createNoDashGuid();\n this.privAudioNode.replay();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.onHypothesis = function (offset) {\n if (!this.privHypothesisReceived) {\n this.privHypothesisReceived = true;\n this.privServiceTelemetryListener.hypothesisReceived(this.privAudioNode.findTimeAtOffset(offset));\n }\n };\n RequestSession.prototype.onPhraseRecognized = function (offset) {\n this.privServiceTelemetryListener.phraseReceived(this.privAudioNode.findTimeAtOffset(offset));\n this.onServiceRecognized(offset);\n };\n RequestSession.prototype.onServiceRecognized = function (offset) {\n this.privLastRecoOffset = offset;\n this.privHypothesisReceived = false;\n this.privAudioNode.shrinkBuffers(offset);\n this.privConnectionAttempts = 0;\n };\n RequestSession.prototype.onAudioSent = function (bytesSent) {\n this.privBytesSent += bytesSent;\n };\n RequestSession.prototype.onRetryConnection = function () {\n this.privConnectionAttempts++;\n };\n RequestSession.prototype.dispose = function (error) {\n return __awaiter(this, void 0, void 0, function () {\n var _i, _a, detachable;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!!this.privIsDisposed) return [3 /*break*/, 5];\n // we should have completed by now. If we did not its an unknown error.\n this.privIsDisposed = true;\n _i = 0, _a = this.privDetachables;\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n detachable = _a[_i];\n return [4 /*yield*/, detachable.detach()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n this.privServiceTelemetryListener.dispose();\n this.privIsRecognizing = false;\n _b.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.onStopRecognizing = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.onComplete()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n // Should be called with the audioNode for this session has indicated that it is out of speech.\n RequestSession.prototype.onSpeechEnded = function () {\n this.privIsSpeechEnded = true;\n };\n RequestSession.prototype.onComplete = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!!this.privIsRecognizing) return [3 /*break*/, 2];\n this.privIsRecognizing = false;\n return [4 /*yield*/, this.detachAudioNode()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n RequestSession.prototype.detachAudioNode = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.privIsAudioNodeDetached) return [3 /*break*/, 2];\n this.privIsAudioNodeDetached = true;\n if (!this.privAudioNode) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privAudioNode.detach()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n return RequestSession;\n}());\nexports.RequestSession = RequestSession;\n\n//# sourceMappingURL=RequestSession.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// response\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MessageDataStreamType = exports.ActivityPayloadResponse = void 0;\nvar ActivityPayloadResponse = /** @class */ (function () {\n function ActivityPayloadResponse(json) {\n this.privActivityResponse = JSON.parse(json);\n }\n ActivityPayloadResponse.fromJSON = function (json) {\n return new ActivityPayloadResponse(json);\n };\n Object.defineProperty(ActivityPayloadResponse.prototype, \"conversationId\", {\n get: function () {\n return this.privActivityResponse.conversationId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActivityPayloadResponse.prototype, \"messageDataStreamType\", {\n get: function () {\n return this.privActivityResponse.messageDataStreamType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActivityPayloadResponse.prototype, \"messagePayload\", {\n get: function () {\n return this.privActivityResponse.messagePayload;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActivityPayloadResponse.prototype, \"version\", {\n get: function () {\n return this.privActivityResponse.version;\n },\n enumerable: false,\n configurable: true\n });\n return ActivityPayloadResponse;\n}());\nexports.ActivityPayloadResponse = ActivityPayloadResponse;\nvar MessageDataStreamType;\n(function (MessageDataStreamType) {\n MessageDataStreamType[MessageDataStreamType[\"None\"] = 0] = \"None\";\n MessageDataStreamType[MessageDataStreamType[\"TextToSpeechAudio\"] = 1] = \"TextToSpeechAudio\";\n})(MessageDataStreamType = exports.MessageDataStreamType || (exports.MessageDataStreamType = {}));\n\n//# sourceMappingURL=ActivityResponsePayload.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DetailedSpeechPhrase = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar DetailedSpeechPhrase = /** @class */ (function () {\n function DetailedSpeechPhrase(json) {\n this.privDetailedSpeechPhrase = JSON.parse(json);\n this.privDetailedSpeechPhrase.RecognitionStatus = Exports_1.RecognitionStatus[this.privDetailedSpeechPhrase.RecognitionStatus];\n }\n DetailedSpeechPhrase.fromJSON = function (json) {\n return new DetailedSpeechPhrase(json);\n };\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"RecognitionStatus\", {\n get: function () {\n return this.privDetailedSpeechPhrase.RecognitionStatus;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"NBest\", {\n get: function () {\n return this.privDetailedSpeechPhrase.NBest;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"Duration\", {\n get: function () {\n return this.privDetailedSpeechPhrase.Duration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"Offset\", {\n get: function () {\n return this.privDetailedSpeechPhrase.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"Language\", {\n get: function () {\n return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DetailedSpeechPhrase.prototype, \"LanguageDetectionConfidence\", {\n get: function () {\n return this.privDetailedSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privDetailedSpeechPhrase.PrimaryLanguage.Confidence;\n },\n enumerable: false,\n configurable: true\n });\n return DetailedSpeechPhrase;\n}());\nexports.DetailedSpeechPhrase = DetailedSpeechPhrase;\n\n//# sourceMappingURL=DetailedSpeechPhrase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RecognitionStatus = exports.SynthesisStatus = void 0;\n/**\n * @class SynthesisStatus\n * @private\n */\nvar SynthesisStatus;\n(function (SynthesisStatus) {\n /**\n * The response contains valid audio data.\n * @member SynthesisStatus.Success\n */\n SynthesisStatus[SynthesisStatus[\"Success\"] = 0] = \"Success\";\n /**\n * Indicates the end of audio data. No valid audio data is included in the message.\n * @member SynthesisStatus.SynthesisEnd\n */\n SynthesisStatus[SynthesisStatus[\"SynthesisEnd\"] = 1] = \"SynthesisEnd\";\n /**\n * Indicates an error occurred during synthesis data processing.\n * @member SynthesisStatus.Error\n */\n SynthesisStatus[SynthesisStatus[\"Error\"] = 2] = \"Error\";\n})(SynthesisStatus = exports.SynthesisStatus || (exports.SynthesisStatus = {}));\nvar RecognitionStatus;\n(function (RecognitionStatus) {\n RecognitionStatus[RecognitionStatus[\"Success\"] = 0] = \"Success\";\n RecognitionStatus[RecognitionStatus[\"NoMatch\"] = 1] = \"NoMatch\";\n RecognitionStatus[RecognitionStatus[\"InitialSilenceTimeout\"] = 2] = \"InitialSilenceTimeout\";\n RecognitionStatus[RecognitionStatus[\"BabbleTimeout\"] = 3] = \"BabbleTimeout\";\n RecognitionStatus[RecognitionStatus[\"Error\"] = 4] = \"Error\";\n RecognitionStatus[RecognitionStatus[\"EndOfDictation\"] = 5] = \"EndOfDictation\";\n RecognitionStatus[RecognitionStatus[\"TooManyRequests\"] = 6] = \"TooManyRequests\";\n})(RecognitionStatus = exports.RecognitionStatus || (exports.RecognitionStatus = {}));\n\n//# sourceMappingURL=Enums.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// response\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntentResponse = void 0;\nvar IntentResponse = /** @class */ (function () {\n function IntentResponse(json) {\n this.privIntentResponse = JSON.parse(json);\n }\n IntentResponse.fromJSON = function (json) {\n return new IntentResponse(json);\n };\n Object.defineProperty(IntentResponse.prototype, \"query\", {\n get: function () {\n return this.privIntentResponse.query;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentResponse.prototype, \"topScoringIntent\", {\n get: function () {\n return this.privIntentResponse.topScoringIntent;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentResponse.prototype, \"entities\", {\n get: function () {\n return this.privIntentResponse.entities;\n },\n enumerable: false,\n configurable: true\n });\n return IntentResponse;\n}());\nexports.IntentResponse = IntentResponse;\n\n//# sourceMappingURL=IntentResponse.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SimpleSpeechPhrase = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar SimpleSpeechPhrase = /** @class */ (function () {\n function SimpleSpeechPhrase(json) {\n this.privSimpleSpeechPhrase = JSON.parse(json);\n this.privSimpleSpeechPhrase.RecognitionStatus = Exports_1.RecognitionStatus[this.privSimpleSpeechPhrase.RecognitionStatus];\n }\n SimpleSpeechPhrase.fromJSON = function (json) {\n return new SimpleSpeechPhrase(json);\n };\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"RecognitionStatus\", {\n get: function () {\n return this.privSimpleSpeechPhrase.RecognitionStatus;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"DisplayText\", {\n get: function () {\n return this.privSimpleSpeechPhrase.DisplayText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"Offset\", {\n get: function () {\n return this.privSimpleSpeechPhrase.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"Duration\", {\n get: function () {\n return this.privSimpleSpeechPhrase.Duration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"Language\", {\n get: function () {\n return this.privSimpleSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privSimpleSpeechPhrase.PrimaryLanguage.Language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"LanguageDetectionConfidence\", {\n get: function () {\n return this.privSimpleSpeechPhrase.PrimaryLanguage === undefined ? undefined : this.privSimpleSpeechPhrase.PrimaryLanguage.Confidence;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SimpleSpeechPhrase.prototype, \"SpeakerId\", {\n get: function () {\n return this.privSimpleSpeechPhrase.SpeakerId;\n },\n enumerable: false,\n configurable: true\n });\n return SimpleSpeechPhrase;\n}());\nexports.SimpleSpeechPhrase = SimpleSpeechPhrase;\n\n//# sourceMappingURL=SimpleSpeechPhrase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechDetected = void 0;\nvar SpeechDetected = /** @class */ (function () {\n function SpeechDetected(json) {\n this.privSpeechStartDetected = JSON.parse(json);\n }\n SpeechDetected.fromJSON = function (json) {\n return new SpeechDetected(json);\n };\n Object.defineProperty(SpeechDetected.prototype, \"Offset\", {\n get: function () {\n return this.privSpeechStartDetected.Offset;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechDetected;\n}());\nexports.SpeechDetected = SpeechDetected;\n\n//# sourceMappingURL=SpeechDetected.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechHypothesis = void 0;\nvar SpeechHypothesis = /** @class */ (function () {\n function SpeechHypothesis(json) {\n this.privSpeechHypothesis = JSON.parse(json);\n }\n SpeechHypothesis.fromJSON = function (json) {\n return new SpeechHypothesis(json);\n };\n Object.defineProperty(SpeechHypothesis.prototype, \"Text\", {\n get: function () {\n return this.privSpeechHypothesis.Text;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechHypothesis.prototype, \"Offset\", {\n get: function () {\n return this.privSpeechHypothesis.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechHypothesis.prototype, \"Duration\", {\n get: function () {\n return this.privSpeechHypothesis.Duration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechHypothesis.prototype, \"Language\", {\n get: function () {\n return this.privSpeechHypothesis.PrimaryLanguage === undefined ? undefined : this.privSpeechHypothesis.PrimaryLanguage.Language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechHypothesis.prototype, \"LanguageDetectionConfidence\", {\n get: function () {\n return this.privSpeechHypothesis.PrimaryLanguage === undefined ? undefined : this.privSpeechHypothesis.PrimaryLanguage.Confidence;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechHypothesis.prototype, \"SpeakerId\", {\n get: function () {\n return this.privSpeechHypothesis.SpeakerId;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechHypothesis;\n}());\nexports.SpeechHypothesis = SpeechHypothesis;\n\n//# sourceMappingURL=SpeechHypothesis.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechKeyword = void 0;\nvar SpeechKeyword = /** @class */ (function () {\n function SpeechKeyword(json) {\n this.privSpeechKeyword = JSON.parse(json);\n }\n SpeechKeyword.fromJSON = function (json) {\n return new SpeechKeyword(json);\n };\n Object.defineProperty(SpeechKeyword.prototype, \"Status\", {\n get: function () {\n return this.privSpeechKeyword.Status;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechKeyword.prototype, \"Text\", {\n get: function () {\n return this.privSpeechKeyword.Text;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechKeyword.prototype, \"Offset\", {\n get: function () {\n return this.privSpeechKeyword.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechKeyword.prototype, \"Duration\", {\n get: function () {\n return this.privSpeechKeyword.Duration;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechKeyword;\n}());\nexports.SpeechKeyword = SpeechKeyword;\n\n//# sourceMappingURL=SpeechKeyword.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesisAudioMetadata = exports.MetadataType = void 0;\nvar MetadataType;\n(function (MetadataType) {\n MetadataType[\"WordBoundary\"] = \"WordBoundary\";\n MetadataType[\"Bookmark\"] = \"Bookmark\";\n MetadataType[\"Viseme\"] = \"Viseme\";\n})(MetadataType = exports.MetadataType || (exports.MetadataType = {}));\nvar SynthesisAudioMetadata = /** @class */ (function () {\n function SynthesisAudioMetadata(json) {\n this.privSynthesisAudioMetadata = JSON.parse(json);\n }\n SynthesisAudioMetadata.fromJSON = function (json) {\n return new SynthesisAudioMetadata(json);\n };\n Object.defineProperty(SynthesisAudioMetadata.prototype, \"Metadata\", {\n get: function () {\n return this.privSynthesisAudioMetadata.Metadata;\n },\n enumerable: false,\n configurable: true\n });\n return SynthesisAudioMetadata;\n}());\nexports.SynthesisAudioMetadata = SynthesisAudioMetadata;\n\n//# sourceMappingURL=SynthesisAudioMetadata.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationHypothesis = void 0;\nvar TranslationStatus_1 = require(\"../TranslationStatus\");\nvar TranslationHypothesis = /** @class */ (function () {\n function TranslationHypothesis(json) {\n this.privTranslationHypothesis = JSON.parse(json);\n this.privTranslationHypothesis.Translation.TranslationStatus = TranslationStatus_1.TranslationStatus[this.privTranslationHypothesis.Translation.TranslationStatus];\n }\n TranslationHypothesis.fromJSON = function (json) {\n return new TranslationHypothesis(json);\n };\n Object.defineProperty(TranslationHypothesis.prototype, \"Duration\", {\n get: function () {\n return this.privTranslationHypothesis.Duration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationHypothesis.prototype, \"Offset\", {\n get: function () {\n return this.privTranslationHypothesis.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationHypothesis.prototype, \"Text\", {\n get: function () {\n return this.privTranslationHypothesis.Text;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationHypothesis.prototype, \"Translation\", {\n get: function () {\n return this.privTranslationHypothesis.Translation;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationHypothesis;\n}());\nexports.TranslationHypothesis = TranslationHypothesis;\n\n//# sourceMappingURL=TranslationHypothesis.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationPhrase = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar TranslationStatus_1 = require(\"../TranslationStatus\");\nvar TranslationPhrase = /** @class */ (function () {\n function TranslationPhrase(json) {\n this.privTranslationPhrase = JSON.parse(json);\n this.privTranslationPhrase.RecognitionStatus = Exports_1.RecognitionStatus[this.privTranslationPhrase.RecognitionStatus];\n if (this.privTranslationPhrase.Translation !== undefined) {\n this.privTranslationPhrase.Translation.TranslationStatus = TranslationStatus_1.TranslationStatus[this.privTranslationPhrase.Translation.TranslationStatus];\n }\n }\n TranslationPhrase.fromJSON = function (json) {\n return new TranslationPhrase(json);\n };\n Object.defineProperty(TranslationPhrase.prototype, \"RecognitionStatus\", {\n get: function () {\n return this.privTranslationPhrase.RecognitionStatus;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationPhrase.prototype, \"Offset\", {\n get: function () {\n return this.privTranslationPhrase.Offset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationPhrase.prototype, \"Duration\", {\n get: function () {\n return this.privTranslationPhrase.Duration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationPhrase.prototype, \"Text\", {\n get: function () {\n return this.privTranslationPhrase.Text;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationPhrase.prototype, \"Translation\", {\n get: function () {\n return this.privTranslationPhrase.Translation;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationPhrase;\n}());\nexports.TranslationPhrase = TranslationPhrase;\n\n//# sourceMappingURL=TranslationPhrase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationSynthesisEnd = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar TranslationSynthesisEnd = /** @class */ (function () {\n function TranslationSynthesisEnd(json) {\n this.privSynthesisEnd = JSON.parse(json);\n this.privSynthesisEnd.SynthesisStatus = Exports_1.SynthesisStatus[this.privSynthesisEnd.SynthesisStatus];\n }\n TranslationSynthesisEnd.fromJSON = function (json) {\n return new TranslationSynthesisEnd(json);\n };\n Object.defineProperty(TranslationSynthesisEnd.prototype, \"SynthesisStatus\", {\n get: function () {\n return this.privSynthesisEnd.SynthesisStatus;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationSynthesisEnd.prototype, \"FailureReason\", {\n get: function () {\n return this.privSynthesisEnd.FailureReason;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationSynthesisEnd;\n}());\nexports.TranslationSynthesisEnd = TranslationSynthesisEnd;\n\n//# sourceMappingURL=TranslationSynthesisEnd.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TurnStatusResponsePayload = void 0;\nvar TurnStatusResponsePayload = /** @class */ (function () {\n function TurnStatusResponsePayload(json) {\n this.privMessageStatusResponse = JSON.parse(json);\n }\n TurnStatusResponsePayload.fromJSON = function (json) {\n return new TurnStatusResponsePayload(json);\n };\n Object.defineProperty(TurnStatusResponsePayload.prototype, \"interactionId\", {\n get: function () {\n return this.privMessageStatusResponse.interactionId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TurnStatusResponsePayload.prototype, \"conversationId\", {\n get: function () {\n return this.privMessageStatusResponse.conversationId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TurnStatusResponsePayload.prototype, \"statusCode\", {\n get: function () {\n // Payloads may contain a limited set of textual representations or a numeric status\n // code. The textual values are here converted into numeric ones.\n switch (this.privMessageStatusResponse.statusCode) {\n case \"Success\":\n return 200;\n case \"Failed\":\n return 400;\n case \"TimedOut\":\n return 429;\n default:\n return this.privMessageStatusResponse.statusCode;\n }\n },\n enumerable: false,\n configurable: true\n });\n return TurnStatusResponsePayload;\n}());\nexports.TurnStatusResponsePayload = TurnStatusResponsePayload;\n\n//# sourceMappingURL=TurnStatusPayload.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceRecognizerBase = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Exports_3 = require(\"../sdk/Exports\");\nvar Exports_4 = require(\"./Exports\");\nvar SpeechConnectionMessage_Internal_1 = require(\"./SpeechConnectionMessage.Internal\");\nvar ServiceRecognizerBase = /** @class */ (function () {\n function ServiceRecognizerBase(authentication, connectionFactory, audioSource, recognizerConfig, recognizer) {\n var _this = this;\n this.privSetTimeout = setTimeout;\n this.privIsLiveAudio = false;\n this.recognizeOverride = undefined;\n this.disconnectOverride = undefined;\n this.receiveMessageOverride = undefined;\n this.sendSpeechContext = function (connection) {\n var speechContextJson = _this.speechContext.toJSON();\n if (speechContextJson) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"speech.context\", _this.privRequestSession.requestId, \"application/json\", speechContextJson));\n }\n return;\n };\n this.sendPrePayloadJSONOverride = undefined;\n this.postConnectImplOverride = undefined;\n this.configConnectionOverride = undefined;\n this.sendSpeechServiceConfig = function (connection, requestSession, SpeechServiceConfigJson) {\n // filter out anything that is not required for the service to work.\n if (ServiceRecognizerBase.telemetryDataEnabled !== true) {\n var withTelemetry = JSON.parse(SpeechServiceConfigJson);\n var replacement = {\n context: {\n system: withTelemetry.context.system,\n },\n };\n SpeechServiceConfigJson = JSON.stringify(replacement);\n }\n if (_this.privRecognizerConfig.parameters.getProperty(\"TranscriptionService_SingleChannel\", \"false\").toLowerCase() === \"true\") {\n var json = JSON.parse(SpeechServiceConfigJson);\n json.context.DisableReferenceChannel = \"True\";\n json.context.MicSpec = \"1_0_0\";\n SpeechServiceConfigJson = JSON.stringify(json);\n }\n if (SpeechServiceConfigJson) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"speech.config\", requestSession.requestId, \"application/json\", SpeechServiceConfigJson));\n }\n return;\n };\n if (!authentication) {\n throw new Exports_2.ArgumentNullError(\"authentication\");\n }\n if (!connectionFactory) {\n throw new Exports_2.ArgumentNullError(\"connectionFactory\");\n }\n if (!audioSource) {\n throw new Exports_2.ArgumentNullError(\"audioSource\");\n }\n if (!recognizerConfig) {\n throw new Exports_2.ArgumentNullError(\"recognizerConfig\");\n }\n this.privMustReportEndOfStream = false;\n this.privAuthentication = authentication;\n this.privConnectionFactory = connectionFactory;\n this.privAudioSource = audioSource;\n this.privRecognizerConfig = recognizerConfig;\n this.privIsDisposed = false;\n this.privRecognizer = recognizer;\n this.privRequestSession = new Exports_4.RequestSession(this.privAudioSource.id());\n this.privConnectionEvents = new Exports_2.EventSource();\n this.privServiceEvents = new Exports_2.EventSource();\n this.privDynamicGrammar = new Exports_4.DynamicGrammarBuilder();\n this.privSpeechContext = new Exports_4.SpeechContext(this.privDynamicGrammar);\n this.privAgentConfig = new Exports_4.AgentConfig();\n if (typeof (Blob) !== \"undefined\" && typeof (Worker) !== \"undefined\") {\n this.privSetTimeout = Exports_2.Timeout.setTimeout;\n }\n this.connectionEvents.attach(function (connectionEvent) { return __awaiter(_this, void 0, void 0, function () {\n var connectionClosedEvent;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(connectionEvent.name === \"ConnectionClosedEvent\")) return [3 /*break*/, 2];\n connectionClosedEvent = connectionEvent;\n if (!(connectionClosedEvent.statusCode === 1003 ||\n connectionClosedEvent.statusCode === 1007 ||\n connectionClosedEvent.statusCode === 1002 ||\n connectionClosedEvent.statusCode === 4000 ||\n this.privRequestSession.numConnectionAttempts > this.privRecognizerConfig.maxRetryCount)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.cancelRecognitionLocal(Exports_3.CancellationReason.Error, connectionClosedEvent.statusCode === 1007 ? Exports_3.CancellationErrorCode.BadRequestParameters : Exports_3.CancellationErrorCode.ConnectionFailure, connectionClosedEvent.reason + \" websocket error code: \" + connectionClosedEvent.statusCode)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); });\n }\n Object.defineProperty(ServiceRecognizerBase.prototype, \"audioSource\", {\n get: function () {\n return this.privAudioSource;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"speechContext\", {\n get: function () {\n return this.privSpeechContext;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"dynamicGrammar\", {\n get: function () {\n return this.privDynamicGrammar;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"agentConfig\", {\n get: function () {\n return this.privAgentConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"conversationTranslatorToken\", {\n set: function (token) {\n this.privRecognizerConfig.parameters.setProperty(Exports_3.PropertyId.ConversationTranslator_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"authentication\", {\n set: function (auth) {\n this.privAuthentication = this.authentication;\n },\n enumerable: false,\n configurable: true\n });\n ServiceRecognizerBase.prototype.isDisposed = function () {\n return this.privIsDisposed;\n };\n ServiceRecognizerBase.prototype.dispose = function (reason) {\n return __awaiter(this, void 0, void 0, function () {\n var connection, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privIsDisposed = true;\n if (!this.privConnectionConfigurationPromise) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, , 5]);\n return [4 /*yield*/, this.privConnectionConfigurationPromise];\n case 2:\n connection = _a.sent();\n return [4 /*yield*/, connection.dispose(reason)];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n error_1 = _a.sent();\n // The connection is in a bad state. But we're trying to kill it, so...\n return [2 /*return*/];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(ServiceRecognizerBase.prototype, \"connectionEvents\", {\n get: function () {\n return this.privConnectionEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"serviceEvents\", {\n get: function () {\n return this.privServiceEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceRecognizerBase.prototype, \"recognitionMode\", {\n get: function () {\n return this.privRecognizerConfig.recognitionMode;\n },\n enumerable: false,\n configurable: true\n });\n ServiceRecognizerBase.prototype.recognize = function (recoMode, successCallback, errorCallBack) {\n return __awaiter(this, void 0, void 0, function () {\n var conPromise, audioNode, audioStreamNode, format, deviceInfo, error_2, error_3, sessionStartEventArgs, messageRetrievalPromise, audioSendPromise;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.recognizeOverride !== undefined) {\n return [2 /*return*/, this.recognizeOverride(recoMode, successCallback, errorCallBack)];\n }\n // Clear the existing configuration promise to force a re-transmission of config and context.\n this.privConnectionConfigurationPromise = null;\n this.privRecognizerConfig.recognitionMode = recoMode;\n this.privSuccessCallback = successCallback;\n this.privErrorCallback = errorCallBack;\n this.privRequestSession.startNewRecognition();\n this.privRequestSession.listenForServiceTelemetry(this.privAudioSource.events);\n conPromise = this.connectImpl();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 6, , 8]);\n return [4 /*yield*/, this.audioSource.attach(this.privRequestSession.audioNodeId)];\n case 2:\n audioStreamNode = _a.sent();\n return [4 /*yield*/, this.audioSource.format];\n case 3:\n format = _a.sent();\n return [4 /*yield*/, this.audioSource.deviceInfo];\n case 4:\n deviceInfo = _a.sent();\n this.privIsLiveAudio = deviceInfo.type && deviceInfo.type === Exports_4.type.Microphones;\n audioNode = new Exports_1.ReplayableAudioNode(audioStreamNode, format.avgBytesPerSec);\n return [4 /*yield*/, this.privRequestSession.onAudioSourceAttachCompleted(audioNode, false)];\n case 5:\n _a.sent();\n this.privRecognizerConfig.SpeechServiceConfig.Context.audio = { source: deviceInfo };\n return [3 /*break*/, 8];\n case 6:\n error_2 = _a.sent();\n return [4 /*yield*/, this.privRequestSession.onStopRecognizing()];\n case 7:\n _a.sent();\n throw error_2;\n case 8:\n _a.trys.push([8, 10, , 12]);\n return [4 /*yield*/, conPromise];\n case 9:\n _a.sent();\n return [3 /*break*/, 12];\n case 10:\n error_3 = _a.sent();\n return [4 /*yield*/, this.cancelRecognitionLocal(Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.ConnectionFailure, error_3)];\n case 11:\n _a.sent();\n return [2 /*return*/];\n case 12:\n sessionStartEventArgs = new Exports_3.SessionEventArgs(this.privRequestSession.sessionId);\n if (!!this.privRecognizer.sessionStarted) {\n this.privRecognizer.sessionStarted(this.privRecognizer, sessionStartEventArgs);\n }\n messageRetrievalPromise = this.receiveMessage();\n audioSendPromise = this.sendAudio(audioNode);\n audioSendPromise.catch(function (error) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.cancelRecognitionLocal(Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.RuntimeError, error)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return [2 /*return*/];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.stopRecognizing = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.privRequestSession.isRecognizing) return [3 /*break*/, 8];\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 6, 8]);\n return [4 /*yield*/, this.audioSource.turnOff()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.sendFinalAudio()];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.privRequestSession.onStopRecognizing()];\n case 4:\n _a.sent();\n return [4 /*yield*/, this.privRequestSession.turnCompletionPromise];\n case 5:\n _a.sent();\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, this.privRequestSession.dispose()];\n case 7:\n _a.sent();\n return [7 /*endfinally*/];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.connectImpl()];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve()];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.connectAsync = function (cb, err) {\n this.connectImpl().then(function (connection) {\n try {\n if (!!cb) {\n cb();\n }\n }\n catch (e) {\n if (!!err) {\n err(e);\n }\n }\n }, function (reason) {\n try {\n if (!!err) {\n err(reason);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) {\n }\n });\n };\n ServiceRecognizerBase.prototype.disconnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.cancelRecognitionLocal(Exports_3.CancellationReason.Error, Exports_3.CancellationErrorCode.NoError, \"Disconnecting\")];\n case 1:\n _a.sent();\n if (!(this.disconnectOverride !== undefined)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.disconnectOverride()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n _a.trys.push([3, 6, , 7]);\n return [4 /*yield*/, this.privConnectionPromise];\n case 4: return [4 /*yield*/, (_a.sent()).dispose()];\n case 5:\n _a.sent();\n return [3 /*break*/, 7];\n case 6:\n error_4 = _a.sent();\n return [3 /*break*/, 7];\n case 7:\n this.privConnectionPromise = null;\n return [2 /*return*/];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.sendMessage = function (message) { };\n ServiceRecognizerBase.prototype.sendNetworkMessage = function (path, payload) {\n return __awaiter(this, void 0, void 0, function () {\n var type, contentType, connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n type = typeof payload === \"string\" ? Exports_2.MessageType.Text : Exports_2.MessageType.Binary;\n contentType = typeof payload === \"string\" ? \"application/json\" : \"\";\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [2 /*return*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(type, path, this.privRequestSession.requestId, contentType, payload))];\n }\n });\n });\n };\n Object.defineProperty(ServiceRecognizerBase.prototype, \"activityTemplate\", {\n get: function () { return this.privActivityTemplate; },\n set: function (messagePayload) { this.privActivityTemplate = messagePayload; },\n enumerable: false,\n configurable: true\n });\n ServiceRecognizerBase.prototype.sendTelemetryData = function () {\n return __awaiter(this, void 0, void 0, function () {\n var telemetryData, connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n telemetryData = this.privRequestSession.getTelemetry();\n if (ServiceRecognizerBase.telemetryDataEnabled !== true ||\n this.privIsDisposed ||\n null === telemetryData) {\n return [2 /*return*/];\n }\n if (!!ServiceRecognizerBase.telemetryData) {\n try {\n ServiceRecognizerBase.telemetryData(telemetryData);\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n }\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Text, \"telemetry\", this.privRequestSession.requestId, \"application/json\", telemetryData))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n // Cancels recognition.\n ServiceRecognizerBase.prototype.cancelRecognitionLocal = function (cancellationReason, errorCode, error) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!!this.privRequestSession.isRecognizing) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privRequestSession.onStopRecognizing()];\n case 1:\n _a.sent();\n this.cancelRecognition(this.privRequestSession.sessionId, this.privRequestSession.requestId, cancellationReason, errorCode, error);\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.receiveMessage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection, message, connectionMessage, _a, speechStartDetected, speechStartEventArgs, json, speechStopDetected, speechStopEventArgs, sessionStopEventArgs, error_5;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 18, , 19]);\n if (this.privIsDisposed) {\n // We're done.\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _b.sent();\n return [4 /*yield*/, connection.read()];\n case 2:\n message = _b.sent();\n if (this.receiveMessageOverride !== undefined) {\n return [2 /*return*/, this.receiveMessageOverride()];\n }\n // indicates we are draining the queue and it came with no message;\n if (!message) {\n if (!this.privRequestSession.isRecognizing) {\n return [2 /*return*/];\n }\n else {\n return [2 /*return*/, this.receiveMessage()];\n }\n }\n this.privServiceHasSentMessage = true;\n connectionMessage = SpeechConnectionMessage_Internal_1.SpeechConnectionMessage.fromConnectionMessage(message);\n if (!(connectionMessage.requestId.toLowerCase() === this.privRequestSession.requestId.toLowerCase())) return [3 /*break*/, 17];\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"turn.start\": return [3 /*break*/, 3];\n case \"speech.startdetected\": return [3 /*break*/, 4];\n case \"speech.enddetected\": return [3 /*break*/, 5];\n case \"turn.end\": return [3 /*break*/, 6];\n }\n return [3 /*break*/, 15];\n case 3:\n this.privMustReportEndOfStream = true;\n this.privRequestSession.onServiceTurnStartResponse();\n return [3 /*break*/, 17];\n case 4:\n speechStartDetected = Exports_4.SpeechDetected.fromJSON(connectionMessage.textBody);\n speechStartEventArgs = new Exports_3.RecognitionEventArgs(speechStartDetected.Offset, this.privRequestSession.sessionId);\n if (!!this.privRecognizer.speechStartDetected) {\n this.privRecognizer.speechStartDetected(this.privRecognizer, speechStartEventArgs);\n }\n return [3 /*break*/, 17];\n case 5:\n json = void 0;\n if (connectionMessage.textBody.length > 0) {\n json = connectionMessage.textBody;\n }\n else {\n // If the request was empty, the JSON returned is empty.\n json = \"{ Offset: 0 }\";\n }\n speechStopDetected = Exports_4.SpeechDetected.fromJSON(json);\n // Only shrink the buffers for continuous recognition.\n // For single shot, the speech.phrase message will come after the speech.end and it should own buffer shrink.\n if (this.privRecognizerConfig.isContinuousRecognition) {\n this.privRequestSession.onServiceRecognized(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset);\n }\n speechStopEventArgs = new Exports_3.RecognitionEventArgs(speechStopDetected.Offset + this.privRequestSession.currentTurnAudioOffset, this.privRequestSession.sessionId);\n if (!!this.privRecognizer.speechEndDetected) {\n this.privRecognizer.speechEndDetected(this.privRecognizer, speechStopEventArgs);\n }\n return [3 /*break*/, 17];\n case 6: return [4 /*yield*/, this.sendTelemetryData()];\n case 7:\n _b.sent();\n if (!(this.privRequestSession.isSpeechEnded && this.privMustReportEndOfStream)) return [3 /*break*/, 9];\n this.privMustReportEndOfStream = false;\n return [4 /*yield*/, this.cancelRecognitionLocal(Exports_3.CancellationReason.EndOfStream, Exports_3.CancellationErrorCode.NoError, undefined)];\n case 8:\n _b.sent();\n _b.label = 9;\n case 9:\n sessionStopEventArgs = new Exports_3.SessionEventArgs(this.privRequestSession.sessionId);\n return [4 /*yield*/, this.privRequestSession.onServiceTurnEndResponse(this.privRecognizerConfig.isContinuousRecognition)];\n case 10:\n _b.sent();\n if (!(!this.privRecognizerConfig.isContinuousRecognition || this.privRequestSession.isSpeechEnded || !this.privRequestSession.isRecognizing)) return [3 /*break*/, 11];\n if (!!this.privRecognizer.sessionStopped) {\n this.privRecognizer.sessionStopped(this.privRecognizer, sessionStopEventArgs);\n }\n return [2 /*return*/];\n case 11: return [4 /*yield*/, this.fetchConnection()];\n case 12:\n connection = _b.sent();\n return [4 /*yield*/, this.sendPrePayloadJSON(connection)];\n case 13:\n _b.sent();\n _b.label = 14;\n case 14: return [3 /*break*/, 17];\n case 15: return [4 /*yield*/, this.processTypeSpecificMessages(connectionMessage)];\n case 16:\n if (!(_b.sent())) {\n // here are some messages that the derived class has not processed, dispatch them to connect class\n if (!!this.privServiceEvents) {\n this.serviceEvents.onEvent(new Exports_2.ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\n }\n }\n _b.label = 17;\n case 17: return [2 /*return*/, this.receiveMessage()];\n case 18:\n error_5 = _b.sent();\n return [2 /*return*/, null];\n case 19: return [2 /*return*/];\n }\n });\n });\n };\n // Encapsulated for derived service recognizers that need to send additional JSON\n ServiceRecognizerBase.prototype.sendPrePayloadJSON = function (connection) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.sendPrePayloadJSONOverride !== undefined) {\n return [2 /*return*/, this.sendPrePayloadJSONOverride(connection)];\n }\n return [4 /*yield*/, this.sendSpeechContext(connection)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.sendWaveHeader(connection)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.sendWaveHeader = function (connection) {\n return __awaiter(this, void 0, void 0, function () {\n var format;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.audioSource.format];\n case 1:\n format = _a.sent();\n // this.writeBufferToConsole(format.header);\n return [2 /*return*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Binary, \"audio\", this.privRequestSession.requestId, \"audio/x-wav\", format.header))];\n }\n });\n });\n };\n // Establishes a websocket connection to the end point.\n ServiceRecognizerBase.prototype.connectImpl = function () {\n var _this = this;\n if (this.privConnectionPromise) {\n return this.privConnectionPromise.then(function (connection) {\n if (connection.state() === Exports_2.ConnectionState.Disconnected) {\n _this.privConnectionId = null;\n _this.privConnectionPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.connectImpl();\n }\n return _this.privConnectionPromise;\n }, function (error) {\n _this.privConnectionId = null;\n _this.privConnectionPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.connectImpl();\n });\n }\n this.privConnectionPromise = this.retryableConnect();\n // Attach an empty handler to allow the promise to run in the background while\n // other startup events happen. It'll eventually be awaited on.\n this.privConnectionPromise.catch(function () { });\n if (this.postConnectImplOverride !== undefined) {\n return this.postConnectImplOverride(this.privConnectionPromise);\n }\n return this.privConnectionPromise;\n };\n ServiceRecognizerBase.prototype.fetchConnection = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privConnectionConfigurationPromise) {\n return [2 /*return*/, this.privConnectionConfigurationPromise.then(function (connection) {\n if (connection.state() === Exports_2.ConnectionState.Disconnected) {\n _this.privConnectionId = null;\n _this.privConnectionConfigurationPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.fetchConnection();\n }\n return _this.privConnectionConfigurationPromise;\n }, function (error) {\n _this.privConnectionId = null;\n _this.privConnectionConfigurationPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.fetchConnection();\n })];\n }\n this.privConnectionConfigurationPromise = this.configureConnection();\n return [4 /*yield*/, this.privConnectionConfigurationPromise];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.sendAudio = function (audioStreamNode) {\n return __awaiter(this, void 0, void 0, function () {\n var audioFormat, nextSendTime, fastLaneSizeMs, maxSendUnthrottledBytes, startRecogNumber, readAndUploadCycle;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.audioSource.format];\n case 1:\n audioFormat = _a.sent();\n nextSendTime = Date.now();\n fastLaneSizeMs = this.privRecognizerConfig.parameters.getProperty(\"SPEECH-TransmitLengthBeforThrottleMs\", \"5000\");\n maxSendUnthrottledBytes = audioFormat.avgBytesPerSec / 1000 * parseInt(fastLaneSizeMs, 10);\n startRecogNumber = this.privRequestSession.recogNumber;\n readAndUploadCycle = function () { return __awaiter(_this, void 0, void 0, function () {\n var connection, audioStreamChunk, payload, sendDelay;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!this.privIsDisposed &&\n !this.privRequestSession.isSpeechEnded &&\n this.privRequestSession.isRecognizing &&\n this.privRequestSession.recogNumber === startRecogNumber)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, audioStreamNode.read()];\n case 2:\n audioStreamChunk = _a.sent();\n // we have a new audio chunk to upload.\n if (this.privRequestSession.isSpeechEnded) {\n // If service already recognized audio end then don't send any more audio\n return [2 /*return*/];\n }\n payload = void 0;\n sendDelay = void 0;\n if (!audioStreamChunk || audioStreamChunk.isEnd) {\n payload = null;\n sendDelay = 0;\n }\n else {\n payload = audioStreamChunk.buffer;\n this.privRequestSession.onAudioSent(payload.byteLength);\n if (maxSendUnthrottledBytes >= this.privRequestSession.bytesSent) {\n sendDelay = 0;\n }\n else {\n sendDelay = Math.max(0, nextSendTime - Date.now());\n }\n }\n if (!(0 !== sendDelay)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.delay(sendDelay)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4:\n if (payload !== null) {\n nextSendTime = Date.now() + (payload.byteLength * 1000 / (audioFormat.avgBytesPerSec * 2));\n }\n // Are we still alive?\n if (!this.privIsDisposed &&\n !this.privRequestSession.isSpeechEnded &&\n this.privRequestSession.isRecognizing &&\n this.privRequestSession.recogNumber === startRecogNumber) {\n connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Binary, \"audio\", this.privRequestSession.requestId, null, payload)).catch(function () {\n _this.privRequestSession.onServiceTurnEndResponse(_this.privRecognizerConfig.isContinuousRecognition).catch(function () { });\n });\n if (!(audioStreamChunk === null || audioStreamChunk === void 0 ? void 0 : audioStreamChunk.isEnd)) {\n // this.writeBufferToConsole(payload);\n // Regardless of success or failure, schedule the next upload.\n // If the underlying connection was broken, the next cycle will\n // get a new connection and re-transmit missing audio automatically.\n return [2 /*return*/, readAndUploadCycle()];\n }\n else {\n // the audio stream has been closed, no need to schedule next\n // read-upload cycle.\n if (!this.privIsLiveAudio) {\n this.privRequestSession.onSpeechEnded();\n }\n }\n }\n _a.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n }); };\n return [2 /*return*/, readAndUploadCycle()];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.retryableConnect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var isUnAuthorized, sessionId, lastStatusCode, lastReason, authPromise, auth, connection, response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n isUnAuthorized = false;\n this.privAuthFetchEventId = Exports_2.createNoDashGuid();\n sessionId = this.privRequestSession.sessionId;\n this.privConnectionId = (sessionId !== undefined) ? sessionId : Exports_2.createNoDashGuid();\n this.privRequestSession.onPreConnectionStart(this.privAuthFetchEventId, this.privConnectionId);\n lastStatusCode = 0;\n lastReason = \"\";\n _a.label = 1;\n case 1:\n if (!(this.privRequestSession.numConnectionAttempts <= this.privRecognizerConfig.maxRetryCount)) return [3 /*break*/, 8];\n authPromise = isUnAuthorized ? this.privAuthentication.fetchOnExpiry(this.privAuthFetchEventId) : this.privAuthentication.fetch(this.privAuthFetchEventId);\n return [4 /*yield*/, authPromise];\n case 2:\n auth = _a.sent();\n return [4 /*yield*/, this.privRequestSession.onAuthCompleted(false)];\n case 3:\n _a.sent();\n connection = this.privConnectionFactory.create(this.privRecognizerConfig, auth, this.privConnectionId);\n // Attach the telemetry handlers.\n this.privRequestSession.listenForServiceTelemetry(connection.events);\n // Attach to the underlying event. No need to hold onto the detach pointers as in the event the connection goes away,\n // it'll stop sending events.\n connection.events.attach(function (event) {\n _this.connectionEvents.onEvent(event);\n });\n return [4 /*yield*/, connection.open()];\n case 4:\n response = _a.sent();\n if (!(response.statusCode === 200)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.privRequestSession.onConnectionEstablishCompleted(response.statusCode)];\n case 5:\n _a.sent();\n return [2 /*return*/, Promise.resolve(connection)];\n case 6:\n if (response.statusCode === 1006) {\n isUnAuthorized = true;\n }\n _a.label = 7;\n case 7:\n lastStatusCode = response.statusCode;\n lastReason = response.reason;\n this.privRequestSession.onRetryConnection();\n return [3 /*break*/, 1];\n case 8: return [4 /*yield*/, this.privRequestSession.onConnectionEstablishCompleted(lastStatusCode, lastReason)];\n case 9:\n _a.sent();\n return [2 /*return*/, Promise.reject(\"Unable to contact server. StatusCode: \" + lastStatusCode + \", \" + this.privRecognizerConfig.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Endpoint) + \" Reason: \" + lastReason)];\n }\n });\n });\n };\n ServiceRecognizerBase.prototype.delay = function (delayMs) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.privSetTimeout(resolve, delayMs);\n });\n };\n ServiceRecognizerBase.prototype.writeBufferToConsole = function (buffer) {\n var out = \"Buffer Size: \";\n if (null === buffer) {\n out += \"null\";\n }\n else {\n var readView = new Uint8Array(buffer);\n out += buffer.byteLength + \"\\r\\n\";\n for (var i = 0; i < buffer.byteLength; i++) {\n out += readView[i].toString(16).padStart(2, \"0\") + \" \";\n }\n }\n // tslint:disable-next-line:no-console\n console.info(out);\n };\n ServiceRecognizerBase.prototype.sendFinalAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_2.MessageType.Binary, \"audio\", this.privRequestSession.requestId, null, null))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\n ServiceRecognizerBase.prototype.configureConnection = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.connectImpl()];\n case 1:\n connection = _a.sent();\n if (this.configConnectionOverride !== undefined) {\n return [2 /*return*/, this.configConnectionOverride(connection)];\n }\n return [4 /*yield*/, this.sendSpeechServiceConfig(connection, this.privRequestSession, this.privRecognizerConfig.SpeechServiceConfig.serialize())];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.sendPrePayloadJSON(connection)];\n case 3:\n _a.sent();\n return [2 /*return*/, connection];\n }\n });\n });\n };\n ServiceRecognizerBase.telemetryDataEnabled = true;\n return ServiceRecognizerBase;\n}());\nexports.ServiceRecognizerBase = ServiceRecognizerBase;\n\n//# sourceMappingURL=ServiceRecognizerBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServiceTelemetryListener = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../common/Exports\");\nvar RecognitionEvents_1 = require(\"./RecognitionEvents\");\nvar ServiceTelemetryListener = /** @class */ (function () {\n function ServiceTelemetryListener(requestId, audioSourceId, audioNodeId) {\n var _this = this;\n this.privIsDisposed = false;\n this.privListeningTriggerMetric = null;\n this.privMicMetric = null;\n this.privConnectionEstablishMetric = null;\n this.onEvent = function (e) {\n if (_this.privIsDisposed) {\n return;\n }\n if (e instanceof RecognitionEvents_1.RecognitionTriggeredEvent && e.requestId === _this.privRequestId) {\n _this.privListeningTriggerMetric = {\n End: e.eventTime,\n Name: \"ListeningTrigger\",\n Start: e.eventTime,\n };\n }\n if (e instanceof Exports_1.AudioStreamNodeAttachingEvent && e.audioSourceId === _this.privAudioSourceId && e.audioNodeId === _this.privAudioNodeId) {\n _this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_1.AudioStreamNodeAttachedEvent && e.audioSourceId === _this.privAudioSourceId && e.audioNodeId === _this.privAudioNodeId) {\n _this.privMicStartTime = e.eventTime;\n }\n if (e instanceof Exports_1.AudioSourceErrorEvent && e.audioSourceId === _this.privAudioSourceId) {\n if (!_this.privMicMetric) {\n _this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: _this.privMicStartTime,\n };\n }\n }\n if (e instanceof Exports_1.AudioStreamNodeErrorEvent && e.audioSourceId === _this.privAudioSourceId && e.audioNodeId === _this.privAudioNodeId) {\n if (!_this.privMicMetric) {\n _this.privMicMetric = {\n End: e.eventTime,\n Error: e.error,\n Name: \"Microphone\",\n Start: _this.privMicStartTime,\n };\n }\n }\n if (e instanceof Exports_1.AudioStreamNodeDetachedEvent && e.audioSourceId === _this.privAudioSourceId && e.audioNodeId === _this.privAudioNodeId) {\n if (!_this.privMicMetric) {\n _this.privMicMetric = {\n End: e.eventTime,\n Name: \"Microphone\",\n Start: _this.privMicStartTime,\n };\n }\n }\n if (e instanceof RecognitionEvents_1.ConnectingToServiceEvent && e.requestId === _this.privRequestId) {\n _this.privConnectionId = e.sessionId;\n }\n if (e instanceof Exports_1.ConnectionStartEvent && e.connectionId === _this.privConnectionId) {\n _this.privConnectionStartTime = e.eventTime;\n }\n if (e instanceof Exports_1.ConnectionEstablishedEvent && e.connectionId === _this.privConnectionId) {\n if (!_this.privConnectionEstablishMetric) {\n _this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Id: _this.privConnectionId,\n Name: \"Connection\",\n Start: _this.privConnectionStartTime,\n };\n }\n }\n if (e instanceof Exports_1.ConnectionEstablishErrorEvent && e.connectionId === _this.privConnectionId) {\n if (!_this.privConnectionEstablishMetric) {\n _this.privConnectionEstablishMetric = {\n End: e.eventTime,\n Error: _this.getConnectionError(e.statusCode),\n Id: _this.privConnectionId,\n Name: \"Connection\",\n Start: _this.privConnectionStartTime,\n };\n }\n }\n if (e instanceof Exports_1.ConnectionMessageReceivedEvent && e.connectionId === _this.privConnectionId) {\n if (e.message && e.message.headers && e.message.headers.path) {\n if (!_this.privReceivedMessages[e.message.headers.path]) {\n _this.privReceivedMessages[e.message.headers.path] = new Array();\n }\n _this.privReceivedMessages[e.message.headers.path].push(e.networkReceivedTime);\n }\n }\n };\n this.getTelemetry = function () {\n var metrics = new Array();\n if (_this.privListeningTriggerMetric) {\n metrics.push(_this.privListeningTriggerMetric);\n }\n if (_this.privMicMetric) {\n metrics.push(_this.privMicMetric);\n }\n if (_this.privConnectionEstablishMetric) {\n metrics.push(_this.privConnectionEstablishMetric);\n }\n if (_this.privPhraseLatencies.length > 0) {\n metrics.push({\n PhraseLatencyMs: _this.privPhraseLatencies,\n });\n }\n if (_this.privHypothesisLatencies.length > 0) {\n metrics.push({\n FirstHypothesisLatencyMs: _this.privHypothesisLatencies,\n });\n }\n var telemetry = {\n Metrics: metrics,\n ReceivedMessages: _this.privReceivedMessages,\n };\n var json = JSON.stringify(telemetry);\n // We dont want to send the same telemetry again. So clean those out.\n _this.privReceivedMessages = {};\n _this.privListeningTriggerMetric = null;\n _this.privMicMetric = null;\n _this.privConnectionEstablishMetric = null;\n _this.privPhraseLatencies = [];\n _this.privHypothesisLatencies = [];\n return json;\n };\n this.dispose = function () {\n _this.privIsDisposed = true;\n };\n this.getConnectionError = function (statusCode) {\n /*\n -- Websocket status codes --\n NormalClosure = 1000,\n EndpointUnavailable = 1001,\n ProtocolError = 1002,\n InvalidMessageType = 1003,\n Empty = 1005,\n InvalidPayloadData = 1007,\n PolicyViolation = 1008,\n MessageTooBig = 1009,\n MandatoryExtension = 1010,\n InternalServerError = 1011\n */\n switch (statusCode) {\n case 400:\n case 1002:\n case 1003:\n case 1005:\n case 1007:\n case 1008:\n case 1009: return \"BadRequest\";\n case 401: return \"Unauthorized\";\n case 403: return \"Forbidden\";\n case 503:\n case 1001: return \"ServerUnavailable\";\n case 500:\n case 1011: return \"ServerError\";\n case 408:\n case 504: return \"Timeout\";\n default: return \"statuscode:\" + statusCode.toString();\n }\n };\n this.privRequestId = requestId;\n this.privAudioSourceId = audioSourceId;\n this.privAudioNodeId = audioNodeId;\n this.privReceivedMessages = {};\n this.privPhraseLatencies = [];\n this.privHypothesisLatencies = [];\n }\n ServiceTelemetryListener.prototype.phraseReceived = function (audioReceivedTime) {\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\n this.privPhraseLatencies.push(Date.now() - audioReceivedTime);\n }\n };\n ServiceTelemetryListener.prototype.hypothesisReceived = function (audioReceivedTime) {\n if (audioReceivedTime > 0) { // 0 indicates the time is unknown. Drop it.\n this.privHypothesisLatencies.push(Date.now() - audioReceivedTime);\n }\n };\n Object.defineProperty(ServiceTelemetryListener.prototype, \"hasTelemetry\", {\n // Determines if there are any telemetry events to send to the service.\n get: function () {\n return (Object.keys(this.privReceivedMessages).length !== 0 ||\n this.privListeningTriggerMetric !== null ||\n this.privMicMetric !== null ||\n this.privConnectionEstablishMetric !== null ||\n this.privPhraseLatencies.length !== 0 ||\n this.privHypothesisLatencies.length !== 0);\n },\n enumerable: false,\n configurable: true\n });\n return ServiceTelemetryListener;\n}());\nexports.ServiceTelemetryListener = ServiceTelemetryListener;\n\n//# sourceMappingURL=ServiceTelemetryListener.Internal.js.map\n","\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerIdMessageAdapter = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\n/**\n * Implements methods for speaker recognition classes, sending requests to endpoint\n * and parsing response into expected format\n * @class SpeakerIdMessageAdapter\n */\nvar SpeakerIdMessageAdapter = /** @class */ (function () {\n function SpeakerIdMessageAdapter(config) {\n var endpoint = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, undefined);\n if (!endpoint) {\n var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, \"westus\");\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var host = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, \"https://\" + region + \".api.cognitive\" + hostSuffix + \"/speaker/{mode}/v2.0/{dependency}\");\n endpoint = host + \"/profiles\";\n }\n this.privUri = endpoint;\n var options = Exports_1.RestConfigBase.requestOptions;\n options.headers[Exports_1.RestConfigBase.configParams.subscriptionKey] = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, undefined);\n this.privRestAdapter = new Exports_1.RestMessageAdapter(options);\n }\n /**\n * Sends create profile request to endpoint.\n * @function\n * @param {VoiceProfileType} profileType - type of voice profile to create.\n * @param {string} lang - language/locale of voice profile\n * @public\n * @returns {Promise} promised rest response containing id of created profile.\n */\n SpeakerIdMessageAdapter.prototype.createProfile = function (profileType, lang) {\n var uri = this.getOperationUri(profileType);\n this.privRestAdapter.setHeaders(Exports_1.RestConfigBase.configParams.contentTypeKey, \"application/json\");\n return this.privRestAdapter.request(Exports_1.RestRequestType.Post, uri, {}, { locale: lang });\n };\n /**\n * Sends create enrollment request to endpoint.\n * @function\n * @param {VoiceProfile} profileType - voice profile for which to create new enrollment.\n * @param {IAudioSource} audioSource - audioSource from which to pull data to send\n * @public\n * @returns {Promise} rest response to enrollment request.\n */\n SpeakerIdMessageAdapter.prototype.createEnrollment = function (profile, audioSource) {\n var _this = this;\n this.privRestAdapter.setHeaders(Exports_1.RestConfigBase.configParams.contentTypeKey, \"multipart/form-data\");\n var uri = this.getOperationUri(profile.profileType) + \"/\" + profile.profileId + \"/enrollments\";\n return audioSource.blob.then(function (result) {\n return _this.privRestAdapter.request(Exports_1.RestRequestType.File, uri, { ignoreMinLength: \"true\" }, null, result);\n });\n };\n /**\n * Sends verification request to endpoint.\n * @function\n * @param {SpeakerVerificationModel} model - voice model to verify against.\n * @param {IAudioSource} audioSource - audioSource from which to pull data to send\n * @public\n * @returns {Promise} rest response to enrollment request.\n */\n SpeakerIdMessageAdapter.prototype.verifySpeaker = function (model, audioSource) {\n return __awaiter(this, void 0, void 0, function () {\n var uri, result, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privRestAdapter.setHeaders(Exports_1.RestConfigBase.configParams.contentTypeKey, \"multipart/form-data\");\n uri = this.getOperationUri(model.voiceProfile.profileType) + \"/\" + model.voiceProfile.profileId + \"/verify\";\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, audioSource.blob];\n case 2:\n result = _a.sent();\n return [2 /*return*/, this.privRestAdapter.request(Exports_1.RestRequestType.File, uri, { ignoreMinLength: \"true\" }, null, result)];\n case 3:\n e_1 = _a.sent();\n return [2 /*return*/, Promise.resolve({ data: e_1 })];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Sends identification request to endpoint.\n * @function\n * @param {SpeakerIdentificationModel} model - voice profiles against which to identify.\n * @param {IAudioSource} audioSource - audioSource from which to pull data to send\n * @public\n * @returns {Promise} rest response to enrollment request.\n */\n SpeakerIdMessageAdapter.prototype.identifySpeaker = function (model, audioSource) {\n return __awaiter(this, void 0, void 0, function () {\n var uri, result, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privRestAdapter.setHeaders(Exports_1.RestConfigBase.configParams.contentTypeKey, \"multipart/form-data\");\n uri = this.getOperationUri(Exports_2.VoiceProfileType.TextIndependentIdentification) + \"/identifySingleSpeaker\";\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, audioSource.blob];\n case 2:\n result = _a.sent();\n return [2 /*return*/, this.privRestAdapter.request(Exports_1.RestRequestType.File, uri, { profileIds: model.voiceProfileIds, ignoreMinLength: \"true\" }, null, result)];\n case 3:\n e_2 = _a.sent();\n return [2 /*return*/, Promise.resolve({ data: e_2 })];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Sends profile status request to endpoint.\n * @function\n * @param {VoiceProfile} profile - voice profile to check.\n * @public\n * @returns {Promise} rest response to status request\n */\n SpeakerIdMessageAdapter.prototype.getProfileStatus = function (profile) {\n var uri = this.getOperationUri(profile.profileType) + \"/\" + profile.profileId;\n return this.privRestAdapter.request(Exports_1.RestRequestType.Get, uri, {});\n };\n /**\n * Sends get all profiles request to endpoint.\n * @function\n * @param {VoiceProfileType} profileType - type of profiles to return list of\n * @public\n * @returns {Promise} promised rest response containing all profiles\n */\n SpeakerIdMessageAdapter.prototype.getProfiles = function (profileType) {\n var uri = this.getOperationUri(profileType);\n return this.privRestAdapter.request(Exports_1.RestRequestType.Get, uri, {});\n };\n /**\n * Sends get authorization phrases request to endpoint.\n * @function\n * @param {string} lang - language/locale of voice profile\n * @public\n * @returns {Promise} promised rest response containing list of valid phrases\n */\n SpeakerIdMessageAdapter.prototype.getAuthorizationPhrases = function (lang) {\n var uri = (\"\" + this.getOperationUri(Exports_2.VoiceProfileType.TextDependentVerification)).replace(\"profiles\", \"phrases\") + \"/\" + lang;\n return this.privRestAdapter.request(Exports_1.RestRequestType.Get, uri, {});\n };\n /**\n * Sends delete profile request to endpoint.\n * @function\n * @param {VoiceProfile} profile - voice profile to delete.\n * @public\n * @returns {Promise} rest response to deletion request\n */\n SpeakerIdMessageAdapter.prototype.deleteProfile = function (profile) {\n var uri = this.getOperationUri(profile.profileType) + \"/\" + profile.profileId;\n return this.privRestAdapter.request(Exports_1.RestRequestType.Delete, uri, {});\n };\n /**\n * Sends reset profile request to endpoint.\n * @function\n * @param {VoiceProfile} profile - voice profile to reset enrollments for.\n * @public\n * @returns {Promise} rest response to reset request\n */\n SpeakerIdMessageAdapter.prototype.resetProfile = function (profile) {\n var uri = this.getOperationUri(profile.profileType) + \"/\" + profile.profileId + \"/reset\";\n return this.privRestAdapter.request(Exports_1.RestRequestType.Post, uri, {});\n };\n SpeakerIdMessageAdapter.prototype.getOperationUri = function (profileType) {\n var mode = profileType === Exports_2.VoiceProfileType.TextIndependentIdentification ? \"identification\" : \"verification\";\n var dependency = profileType === Exports_2.VoiceProfileType.TextDependentVerification ? \"text-dependent\" : \"text-independent\";\n return this.privUri.replace(\"{mode}\", mode).replace(\"{dependency}\", dependency);\n };\n return SpeakerIdMessageAdapter;\n}());\nexports.SpeakerIdMessageAdapter = SpeakerIdMessageAdapter;\n\n//# sourceMappingURL=SpeakerIdMessageAdapter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerRecognitionConfig = void 0;\nvar Exports_1 = require(\"./Exports\");\nvar SpeakerRecognitionConfig = /** @class */ (function () {\n function SpeakerRecognitionConfig(context, parameters) {\n this.privContext = context ? context : new Exports_1.Context(null);\n this.privParameters = parameters;\n }\n Object.defineProperty(SpeakerRecognitionConfig.prototype, \"parameters\", {\n get: function () {\n return this.privParameters;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognitionConfig.prototype, \"Context\", {\n get: function () {\n return this.privContext;\n },\n enumerable: false,\n configurable: true\n });\n return SpeakerRecognitionConfig;\n}());\nexports.SpeakerRecognitionConfig = SpeakerRecognitionConfig;\n\n//# sourceMappingURL=SpeakerRecognitionConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../common.speech/Exports\");\nvar Exports_3 = require(\"../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"./ConnectionFactoryBase\");\nvar Exports_4 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar SpeechConnectionFactory = /** @class */ (function (_super) {\n __extends(SpeechConnectionFactory, _super);\n function SpeechConnectionFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.interactiveRelativeUri = \"/speech/recognition/interactive/cognitiveservices/v1\";\n _this.conversationRelativeUri = \"/speech/recognition/conversation/cognitiveservices/v1\";\n _this.dictationRelativeUri = \"/speech/recognition/dictation/cognitiveservices/v1\";\n _this.create = function (config, authInfo, connectionId) {\n var endpoint = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Endpoint, undefined);\n var region = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Region, undefined);\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var host = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".stt.speech\" + hostSuffix);\n var queryParams = {};\n var endpointId = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_EndpointId, undefined);\n var language = config.parameters.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage, undefined);\n if (endpointId) {\n if (!endpoint || endpoint.search(QueryParameterNames_1.QueryParameterNames.CustomSpeechDeploymentId) === -1) {\n queryParams[QueryParameterNames_1.QueryParameterNames.CustomSpeechDeploymentId] = endpointId;\n }\n }\n else if (language) {\n if (!endpoint || endpoint.search(QueryParameterNames_1.QueryParameterNames.Language) === -1) {\n queryParams[QueryParameterNames_1.QueryParameterNames.Language] = language;\n }\n }\n if (!endpoint || endpoint.search(QueryParameterNames_1.QueryParameterNames.Format) === -1) {\n queryParams[QueryParameterNames_1.QueryParameterNames.Format] = config.parameters.getProperty(Exports_2.OutputFormatPropertyName, Exports_3.OutputFormat[Exports_3.OutputFormat.Simple]).toLowerCase();\n }\n if (config.autoDetectSourceLanguages !== undefined) {\n queryParams[QueryParameterNames_1.QueryParameterNames.EnableLanguageId] = \"true\";\n }\n _this.setCommonUrlParams(config, queryParams, endpoint);\n if (!endpoint) {\n switch (config.recognitionMode) {\n case Exports_4.RecognitionMode.Conversation:\n if (config.parameters.getProperty(Exports_2.ForceDictationPropertyName, \"false\") === \"true\") {\n endpoint = host + _this.dictationRelativeUri;\n }\n else {\n endpoint = host + _this.conversationRelativeUri;\n }\n break;\n case Exports_4.RecognitionMode.Dictation:\n endpoint = host + _this.dictationRelativeUri;\n break;\n default:\n endpoint = host + _this.interactiveRelativeUri; // default is interactive\n break;\n }\n }\n var headers = {};\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n headers[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n config.parameters.setProperty(Exports_3.PropertyId.SpeechServiceConnection_Url, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_4.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return _this;\n }\n return SpeechConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.SpeechConnectionFactory = SpeechConnectionFactory;\n\n//# sourceMappingURL=SpeechConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechConnectionMessage = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar SpeechConnectionMessage = /** @class */ (function (_super) {\n __extends(SpeechConnectionMessage, _super);\n function SpeechConnectionMessage(messageType, path, requestId, contentType, body, streamId, additionalHeaders, id) {\n var _this = this;\n if (!path) {\n throw new Exports_1.ArgumentNullError(\"path\");\n }\n if (!requestId) {\n throw new Exports_1.ArgumentNullError(\"requestId\");\n }\n var headers = {};\n headers[HeaderNames_1.HeaderNames.Path] = path;\n headers[HeaderNames_1.HeaderNames.RequestId] = requestId;\n headers[HeaderNames_1.HeaderNames.RequestTimestamp] = new Date().toISOString();\n if (contentType) {\n headers[HeaderNames_1.HeaderNames.ContentType] = contentType;\n }\n if (streamId) {\n headers[HeaderNames_1.HeaderNames.RequestStreamId] = streamId;\n }\n if (additionalHeaders) {\n for (var headerName in additionalHeaders) {\n if (headerName) {\n headers[headerName] = additionalHeaders[headerName];\n }\n }\n }\n if (id) {\n _this = _super.call(this, messageType, body, headers, id) || this;\n }\n else {\n _this = _super.call(this, messageType, body, headers) || this;\n }\n _this.privPath = path;\n _this.privRequestId = requestId;\n _this.privContentType = contentType;\n _this.privStreamId = streamId;\n _this.privAdditionalHeaders = additionalHeaders;\n return _this;\n }\n Object.defineProperty(SpeechConnectionMessage.prototype, \"path\", {\n get: function () {\n return this.privPath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConnectionMessage.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConnectionMessage.prototype, \"contentType\", {\n get: function () {\n return this.privContentType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConnectionMessage.prototype, \"streamId\", {\n get: function () {\n return this.privStreamId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConnectionMessage.prototype, \"additionalHeaders\", {\n get: function () {\n return this.privAdditionalHeaders;\n },\n enumerable: false,\n configurable: true\n });\n SpeechConnectionMessage.fromConnectionMessage = function (message) {\n var path = null;\n var requestId = null;\n var contentType = null;\n var requestTimestamp = null;\n var streamId = null;\n var additionalHeaders = {};\n if (message.headers) {\n for (var headerName in message.headers) {\n if (headerName) {\n if (headerName.toLowerCase() === HeaderNames_1.HeaderNames.Path.toLowerCase()) {\n path = message.headers[headerName];\n }\n else if (headerName.toLowerCase() === HeaderNames_1.HeaderNames.RequestId.toLowerCase()) {\n requestId = message.headers[headerName];\n }\n else if (headerName.toLowerCase() === HeaderNames_1.HeaderNames.RequestTimestamp.toLowerCase()) {\n requestTimestamp = message.headers[headerName];\n }\n else if (headerName.toLowerCase() === HeaderNames_1.HeaderNames.ContentType.toLowerCase()) {\n contentType = message.headers[headerName];\n }\n else if (headerName.toLowerCase() === HeaderNames_1.HeaderNames.RequestStreamId.toLowerCase()) {\n streamId = message.headers[headerName];\n }\n else {\n additionalHeaders[headerName] = message.headers[headerName];\n }\n }\n }\n }\n return new SpeechConnectionMessage(message.messageType, path, requestId, contentType, message.body, streamId, additionalHeaders, message.id);\n };\n return SpeechConnectionMessage;\n}(Exports_1.ConnectionMessage));\nexports.SpeechConnectionMessage = SpeechConnectionMessage;\n\n//# sourceMappingURL=SpeechConnectionMessage.Internal.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechContext = void 0;\n/**\n * Represents the JSON used in the speech.context message sent to the speech service.\n * The dynamic grammar is always refreshed from the encapsulated dynamic grammar object.\n */\nvar SpeechContext = /** @class */ (function () {\n function SpeechContext(dynamicGrammar) {\n this.privContext = {};\n this.privDynamicGrammar = dynamicGrammar;\n }\n /**\n * Adds a section to the speech.context object.\n * @param sectionName Name of the section to add.\n * @param value JSON serializable object that represents the value.\n */\n SpeechContext.prototype.setSection = function (sectionName, value) {\n this.privContext[sectionName] = value;\n };\n /**\n * @Internal\n * This is only used by pronunciation assessment config.\n * Do not use externally, object returned will change without warning or notice.\n */\n SpeechContext.prototype.setPronunciationAssessmentParams = function (params) {\n if (this.privContext.phraseDetection === undefined) {\n this.privContext.phraseDetection = {\n enrichment: {\n pronunciationAssessment: {}\n }\n };\n }\n this.privContext.phraseDetection.enrichment.pronunciationAssessment = JSON.parse(params);\n if (this.privContext.phraseOutput === undefined) {\n this.privContext.phraseOutput = {\n detailed: {\n options: []\n },\n format: {}\n };\n }\n this.privContext.phraseOutput.format = \"Detailed\";\n this.privContext.phraseOutput.detailed.options.push(\"PronunciationAssessment\");\n if (this.privContext.phraseOutput.detailed.options.indexOf(\"WordTimings\") === -1) {\n this.privContext.phraseOutput.detailed.options.push(\"WordTimings\");\n }\n };\n SpeechContext.prototype.toJSON = function () {\n var dgi = this.privDynamicGrammar.generateGrammarObject();\n this.setSection(\"dgi\", dgi);\n var ret = JSON.stringify(this.privContext);\n return ret;\n };\n return SpeechContext;\n}());\nexports.SpeechContext = SpeechContext;\n\n//# sourceMappingURL=SpeechContext.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=SpeechServiceInterfaces.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechServiceRecognizer = void 0;\nvar Exports_1 = require(\"../sdk/Exports\");\nvar Exports_2 = require(\"./Exports\");\n// tslint:disable-next-line:max-classes-per-file\nvar SpeechServiceRecognizer = /** @class */ (function (_super) {\n __extends(SpeechServiceRecognizer, _super);\n function SpeechServiceRecognizer(authentication, connectionFactory, audioSource, recognizerConfig, speechRecognizer) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, speechRecognizer) || this;\n _this.privSpeechRecognizer = speechRecognizer;\n if (recognizerConfig.autoDetectSourceLanguages !== undefined) {\n var sourceLanguages = recognizerConfig.autoDetectSourceLanguages.split(\",\");\n _this.privSpeechContext.setSection(\"languageId\", {\n languages: sourceLanguages,\n onSuccess: { action: \"Recognize\" },\n onUnknown: { action: \"None\" }\n });\n _this.privSpeechContext.setSection(\"phraseOutput\", {\n interimResults: {\n resultType: \"Auto\"\n },\n phraseResults: {\n resultType: \"Always\"\n }\n });\n }\n return _this;\n }\n SpeechServiceRecognizer.prototype.processTypeSpecificMessages = function (connectionMessage) {\n return __awaiter(this, void 0, void 0, function () {\n var result, resultProps, processed, _a, hypothesis, offset, ev, simple, resultReason, cancelReason, detailed, event_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n resultProps = new Exports_1.PropertyCollection();\n resultProps.setProperty(Exports_1.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n processed = false;\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"speech.hypothesis\": return [3 /*break*/, 1];\n case \"speech.fragment\": return [3 /*break*/, 1];\n case \"speech.phrase\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 6];\n case 1:\n hypothesis = Exports_2.SpeechHypothesis.fromJSON(connectionMessage.textBody);\n offset = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\n result = new Exports_1.SpeechRecognitionResult(this.privRequestSession.requestId, Exports_1.ResultReason.RecognizingSpeech, hypothesis.Text, hypothesis.Duration, offset, hypothesis.Language, hypothesis.LanguageDetectionConfidence, undefined, // Speaker Id\n undefined, connectionMessage.textBody, resultProps);\n this.privRequestSession.onHypothesis(offset);\n ev = new Exports_1.SpeechRecognitionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\n if (!!this.privSpeechRecognizer.recognizing) {\n try {\n this.privSpeechRecognizer.recognizing(this.privSpeechRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n return [3 /*break*/, 7];\n case 2:\n simple = Exports_2.SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\n resultReason = Exports_2.EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus);\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + simple.Offset + simple.Duration);\n if (!(Exports_1.ResultReason.Canceled === resultReason)) return [3 /*break*/, 4];\n cancelReason = Exports_2.EnumTranslation.implTranslateCancelResult(simple.RecognitionStatus);\n return [4 /*yield*/, this.cancelRecognitionLocal(cancelReason, Exports_2.EnumTranslation.implTranslateCancelErrorCode(simple.RecognitionStatus), undefined)];\n case 3:\n _b.sent();\n return [3 /*break*/, 5];\n case 4:\n if (!(this.privRequestSession.isSpeechEnded && resultReason === Exports_1.ResultReason.NoMatch && simple.RecognitionStatus !== Exports_2.RecognitionStatus.InitialSilenceTimeout)) {\n if (this.privRecognizerConfig.parameters.getProperty(Exports_2.OutputFormatPropertyName) === Exports_1.OutputFormat[Exports_1.OutputFormat.Simple]) {\n result = new Exports_1.SpeechRecognitionResult(this.privRequestSession.requestId, resultReason, simple.DisplayText, simple.Duration, simple.Offset + this.privRequestSession.currentTurnAudioOffset, simple.Language, simple.LanguageDetectionConfidence, undefined, // Speaker Id\n undefined, connectionMessage.textBody, resultProps);\n }\n else {\n detailed = Exports_2.DetailedSpeechPhrase.fromJSON(connectionMessage.textBody);\n result = new Exports_1.SpeechRecognitionResult(this.privRequestSession.requestId, resultReason, detailed.RecognitionStatus === Exports_2.RecognitionStatus.Success ? detailed.NBest[0].Display : undefined, detailed.Duration, detailed.Offset + this.privRequestSession.currentTurnAudioOffset, detailed.Language, detailed.LanguageDetectionConfidence, undefined, // Speaker Id\n undefined, connectionMessage.textBody, resultProps);\n }\n event_1 = new Exports_1.SpeechRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\n if (!!this.privSpeechRecognizer.recognized) {\n try {\n this.privSpeechRecognizer.recognized(this.privSpeechRecognizer, event_1);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n _b.label = 5;\n case 5:\n processed = true;\n return [3 /*break*/, 7];\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/, processed];\n }\n });\n });\n };\n // Cancels recognition.\n SpeechServiceRecognizer.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n var properties = new Exports_1.PropertyCollection();\n properties.setProperty(Exports_2.CancellationErrorCodePropertyName, Exports_1.CancellationErrorCode[errorCode]);\n if (!!this.privSpeechRecognizer.canceled) {\n var cancelEvent = new Exports_1.SpeechRecognitionCanceledEventArgs(cancellationReason, error, errorCode, undefined, sessionId);\n try {\n this.privSpeechRecognizer.canceled(this.privSpeechRecognizer, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_a) { }\n }\n if (!!this.privSuccessCallback) {\n var result = new Exports_1.SpeechRecognitionResult(requestId, Exports_1.ResultReason.Canceled, undefined, // Text\n undefined, // Duration\n undefined, // Offset\n undefined, // Language\n undefined, // Language Detection Confidence\n undefined, // Speaker Id\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n this.privSuccessCallback = undefined;\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n }\n };\n return SpeechServiceRecognizer;\n}(Exports_2.ServiceRecognizerBase));\nexports.SpeechServiceRecognizer = SpeechServiceRecognizer;\n\n//# sourceMappingURL=SpeechServiceRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar Exports_3 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar SpeechSynthesisConnectionFactory = /** @class */ (function () {\n function SpeechSynthesisConnectionFactory() {\n var _this = this;\n this.synthesisUri = \"/cognitiveservices/websocket/v1\";\n this.create = function (config, authInfo, connectionId) {\n var endpoint = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, undefined);\n var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, undefined);\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var endpointId = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId, undefined);\n var hostPrefix = (endpointId === undefined) ? \"tts\" : \"voice\";\n var host = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".\" + hostPrefix + \".speech\" + hostSuffix);\n var queryParams = {};\n if (!endpoint) {\n endpoint = host + _this.synthesisUri;\n }\n var headers = {};\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n headers[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n if (endpointId !== undefined) {\n headers[QueryParameterNames_1.QueryParameterNames.CustomVoiceDeploymentId] = endpointId;\n }\n config.parameters.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Url, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_3.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromParameters(config.parameters), enableCompression, connectionId);\n };\n }\n return SpeechSynthesisConnectionFactory;\n}());\nexports.SpeechSynthesisConnectionFactory = SpeechSynthesisConnectionFactory;\n\n//# sourceMappingURL=SpeechSynthesisConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesisAdapterBase = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar Exports_3 = require(\"./Exports\");\nvar SpeechConnectionMessage_Internal_1 = require(\"./SpeechConnectionMessage.Internal\");\nvar SynthesisAdapterBase = /** @class */ (function () {\n function SynthesisAdapterBase(authentication, connectionFactory, synthesizerConfig, speechSynthesizer, audioDestination) {\n var _this = this;\n this.speakOverride = undefined;\n this.receiveMessageOverride = undefined;\n this.connectImplOverride = undefined;\n this.configConnectionOverride = undefined;\n this.sendSynthesisContext = function (connection) {\n var synthesisContextJson = _this.synthesisContext.toJSON();\n if (synthesisContextJson) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_1.MessageType.Text, \"synthesis.context\", _this.privSynthesisTurn.requestId, \"application/json\", synthesisContextJson));\n }\n return;\n };\n this.sendSpeechServiceConfig = function (connection, SpeechServiceConfigJson) {\n if (SpeechServiceConfigJson) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_1.MessageType.Text, \"speech.config\", _this.privSynthesisTurn.requestId, \"application/json\", SpeechServiceConfigJson));\n }\n };\n this.sendSsmlMessage = function (connection, ssml, requestId) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_1.MessageType.Text, \"ssml\", requestId, \"application/ssml+xml\", ssml));\n };\n if (!authentication) {\n throw new Exports_1.ArgumentNullError(\"authentication\");\n }\n if (!connectionFactory) {\n throw new Exports_1.ArgumentNullError(\"connectionFactory\");\n }\n if (!synthesizerConfig) {\n throw new Exports_1.ArgumentNullError(\"synthesizerConfig\");\n }\n this.privAuthentication = authentication;\n this.privConnectionFactory = connectionFactory;\n this.privSynthesizerConfig = synthesizerConfig;\n this.privIsDisposed = false;\n this.privSpeechSynthesizer = speechSynthesizer;\n this.privSessionAudioDestination = audioDestination;\n this.privSynthesisTurn = new Exports_3.SynthesisTurn();\n this.privConnectionEvents = new Exports_1.EventSource();\n this.privServiceEvents = new Exports_1.EventSource();\n this.privSynthesisContext = new Exports_3.SynthesisContext(this.privSpeechSynthesizer);\n this.privAgentConfig = new Exports_3.AgentConfig();\n this.connectionEvents.attach(function (connectionEvent) {\n if (connectionEvent.name === \"ConnectionClosedEvent\") {\n var connectionClosedEvent = connectionEvent;\n if (connectionClosedEvent.statusCode !== 1000) {\n _this.cancelSynthesisLocal(Exports_2.CancellationReason.Error, connectionClosedEvent.statusCode === 1007 ? Exports_2.CancellationErrorCode.BadRequestParameters : Exports_2.CancellationErrorCode.ConnectionFailure, connectionClosedEvent.reason + \" websocket error code: \" + connectionClosedEvent.statusCode);\n }\n }\n });\n }\n Object.defineProperty(SynthesisAdapterBase.prototype, \"synthesisContext\", {\n get: function () {\n return this.privSynthesisContext;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisAdapterBase.prototype, \"agentConfig\", {\n get: function () {\n return this.privAgentConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisAdapterBase.prototype, \"connectionEvents\", {\n get: function () {\n return this.privConnectionEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisAdapterBase.prototype, \"serviceEvents\", {\n get: function () {\n return this.privServiceEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisAdapterBase.prototype, \"activityTemplate\", {\n get: function () { return this.privActivityTemplate; },\n set: function (messagePayload) { this.privActivityTemplate = messagePayload; },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisAdapterBase.prototype, \"audioOutputFormat\", {\n set: function (format) {\n this.privAudioOutputFormat = format;\n this.privSynthesisTurn.audioOutputFormat = format;\n if (this.privSessionAudioDestination !== undefined) {\n this.privSessionAudioDestination.format = format;\n }\n if (this.synthesisContext !== undefined) {\n this.synthesisContext.audioOutputFormat = format;\n }\n },\n enumerable: false,\n configurable: true\n });\n SynthesisAdapterBase.addHeader = function (audio, format) {\n if (!format.hasHeader) {\n return audio;\n }\n format.updateHeader(audio.byteLength);\n var tmp = new Uint8Array(audio.byteLength + format.header.byteLength);\n tmp.set(new Uint8Array(format.header), 0);\n tmp.set(new Uint8Array(audio), format.header.byteLength);\n return tmp.buffer;\n };\n SynthesisAdapterBase.prototype.isDisposed = function () {\n return this.privIsDisposed;\n };\n SynthesisAdapterBase.prototype.dispose = function (reason) {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privIsDisposed = true;\n if (this.privSessionAudioDestination !== undefined) {\n this.privSessionAudioDestination.close();\n }\n if (!this.privConnectionConfigurationPromise) return [3 /*break*/, 3];\n return [4 /*yield*/, this.privConnectionConfigurationPromise];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.dispose(reason)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n SynthesisAdapterBase.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.connectImpl()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SynthesisAdapterBase.prototype.sendNetworkMessage = function (path, payload) {\n return __awaiter(this, void 0, void 0, function () {\n var type, contentType, connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n type = typeof payload === \"string\" ? Exports_1.MessageType.Text : Exports_1.MessageType.Binary;\n contentType = typeof payload === \"string\" ? \"application/json\" : \"\";\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [2 /*return*/, connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(type, path, this.privSynthesisTurn.requestId, contentType, payload))];\n }\n });\n });\n };\n SynthesisAdapterBase.prototype.Speak = function (text, isSSML, requestId, successCallback, errorCallBack, audioDestination) {\n return __awaiter(this, void 0, void 0, function () {\n var ssml, connection, synthesisStartEventArgs, messageRetrievalPromise, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (isSSML) {\n ssml = text;\n }\n else {\n ssml = this.privSpeechSynthesizer.buildSsml(text);\n }\n if (this.speakOverride !== undefined) {\n return [2 /*return*/, this.speakOverride(ssml, requestId, successCallback, errorCallBack)];\n }\n this.privSuccessCallback = successCallback;\n this.privErrorCallback = errorCallBack;\n this.privSynthesisTurn.startNewSynthesis(requestId, text, isSSML, audioDestination);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 6, , 7]);\n return [4 /*yield*/, this.connectImpl()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.fetchConnection()];\n case 3:\n connection = _a.sent();\n return [4 /*yield*/, this.sendSynthesisContext(connection)];\n case 4:\n _a.sent();\n return [4 /*yield*/, this.sendSsmlMessage(connection, ssml, requestId)];\n case 5:\n _a.sent();\n synthesisStartEventArgs = new Exports_2.SpeechSynthesisEventArgs(new Exports_2.SpeechSynthesisResult(requestId, Exports_2.ResultReason.SynthesizingAudioStarted));\n if (!!this.privSpeechSynthesizer.synthesisStarted) {\n this.privSpeechSynthesizer.synthesisStarted(this.privSpeechSynthesizer, synthesisStartEventArgs);\n }\n messageRetrievalPromise = this.receiveMessage();\n return [3 /*break*/, 7];\n case 6:\n e_1 = _a.sent();\n this.cancelSynthesisLocal(Exports_2.CancellationReason.Error, Exports_2.CancellationErrorCode.ConnectionFailure, e_1);\n return [2 /*return*/, Promise.reject(e_1)];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n // Cancels synthesis.\n SynthesisAdapterBase.prototype.cancelSynthesis = function (requestId, cancellationReason, errorCode, error) {\n var properties = new Exports_2.PropertyCollection();\n properties.setProperty(Exports_3.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[errorCode]);\n var result = new Exports_2.SpeechSynthesisResult(requestId, Exports_2.ResultReason.Canceled, undefined, error, properties);\n if (!!this.privSpeechSynthesizer.SynthesisCanceled) {\n var cancelEvent = new Exports_2.SpeechSynthesisEventArgs(result);\n try {\n this.privSpeechSynthesizer.SynthesisCanceled(this.privSpeechSynthesizer, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_a) { }\n }\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result);\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n }\n };\n // Cancels synthesis.\n SynthesisAdapterBase.prototype.cancelSynthesisLocal = function (cancellationReason, errorCode, error) {\n if (!!this.privSynthesisTurn.isSynthesizing) {\n this.privSynthesisTurn.onStopSynthesizing();\n this.cancelSynthesis(this.privSynthesisTurn.requestId, cancellationReason, errorCode, error);\n }\n };\n SynthesisAdapterBase.prototype.processTypeSpecificMessages = function (connectionMessage, successCallback, errorCallBack) {\n return true;\n };\n SynthesisAdapterBase.prototype.receiveMessage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection, message, connectionMessage, _a, audioWithHeader, ev, metadataList, _i, metadataList_1, metadata, wordBoundaryEventArgs, bookmarkEventArgs, visemeEventArgs, result, audioBuffer, error_1, e_2;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 14, , 15]);\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _b.sent();\n return [4 /*yield*/, connection.read()];\n case 2:\n message = _b.sent();\n if (this.receiveMessageOverride !== undefined) {\n return [2 /*return*/, this.receiveMessageOverride()];\n }\n if (this.privIsDisposed) {\n // We're done.\n return [2 /*return*/];\n }\n // indicates we are draining the queue and it came with no message;\n if (!message) {\n if (!this.privSynthesisTurn.isSynthesizing) {\n return [2 /*return*/];\n }\n else {\n return [2 /*return*/, this.receiveMessage()];\n }\n }\n this.privServiceHasSentMessage = true;\n connectionMessage = SpeechConnectionMessage_Internal_1.SpeechConnectionMessage.fromConnectionMessage(message);\n if (!(connectionMessage.requestId.toLowerCase() === this.privSynthesisTurn.requestId.toLowerCase())) return [3 /*break*/, 13];\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"turn.start\": return [3 /*break*/, 3];\n case \"response\": return [3 /*break*/, 4];\n case \"audio\": return [3 /*break*/, 5];\n case \"audio.metadata\": return [3 /*break*/, 6];\n case \"turn.end\": return [3 /*break*/, 7];\n }\n return [3 /*break*/, 12];\n case 3:\n this.privSynthesisTurn.onServiceTurnStartResponse();\n return [3 /*break*/, 13];\n case 4:\n this.privSynthesisTurn.onServiceResponseMessage(connectionMessage.textBody);\n return [3 /*break*/, 13];\n case 5:\n if (this.privSynthesisTurn.streamId.toLowerCase() === connectionMessage.streamId.toLowerCase()\n && !!connectionMessage.binaryBody) {\n this.privSynthesisTurn.onAudioChunkReceived(connectionMessage.binaryBody);\n if (!!this.privSpeechSynthesizer.synthesizing) {\n try {\n audioWithHeader = SynthesisAdapterBase.addHeader(connectionMessage.binaryBody, this.privSynthesisTurn.audioOutputFormat);\n ev = new Exports_2.SpeechSynthesisEventArgs(new Exports_2.SpeechSynthesisResult(this.privSynthesisTurn.requestId, Exports_2.ResultReason.SynthesizingAudio, audioWithHeader));\n this.privSpeechSynthesizer.synthesizing(this.privSpeechSynthesizer, ev);\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n if (this.privSessionAudioDestination !== undefined) {\n this.privSessionAudioDestination.write(connectionMessage.binaryBody);\n }\n }\n return [3 /*break*/, 13];\n case 6:\n metadataList = Exports_3.SynthesisAudioMetadata.fromJSON(connectionMessage.textBody).Metadata;\n for (_i = 0, metadataList_1 = metadataList; _i < metadataList_1.length; _i++) {\n metadata = metadataList_1[_i];\n switch (metadata.Type) {\n case Exports_3.MetadataType.WordBoundary:\n this.privSynthesisTurn.onWordBoundaryEvent(metadata.Data.text.Text);\n wordBoundaryEventArgs = new Exports_2.SpeechSynthesisWordBoundaryEventArgs(metadata.Data.Offset, metadata.Data.text.Text, metadata.Data.text.Length, this.privSynthesisTurn.currentTextOffset);\n if (!!this.privSpeechSynthesizer.wordBoundary) {\n try {\n this.privSpeechSynthesizer.wordBoundary(this.privSpeechSynthesizer, wordBoundaryEventArgs);\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case Exports_3.MetadataType.Bookmark:\n bookmarkEventArgs = new Exports_2.SpeechSynthesisBookmarkEventArgs(metadata.Data.Offset, metadata.Data.Bookmark);\n if (!!this.privSpeechSynthesizer.bookmarkReached) {\n try {\n this.privSpeechSynthesizer.bookmarkReached(this.privSpeechSynthesizer, bookmarkEventArgs);\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case Exports_3.MetadataType.Viseme:\n this.privSynthesisTurn.onVisemeMetadataReceived(metadata);\n if (metadata.Data.IsLastAnimation) {\n visemeEventArgs = new Exports_2.SpeechSynthesisVisemeEventArgs(metadata.Data.Offset, metadata.Data.VisemeId, this.privSynthesisTurn.getAndClearVisemeAnimation());\n if (!!this.privSpeechSynthesizer.visemeReceived) {\n try {\n this.privSpeechSynthesizer.visemeReceived(this.privSpeechSynthesizer, visemeEventArgs);\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n break;\n }\n }\n return [3 /*break*/, 13];\n case 7:\n this.privSynthesisTurn.onServiceTurnEndResponse();\n result = void 0;\n _b.label = 8;\n case 8:\n _b.trys.push([8, 10, , 11]);\n return [4 /*yield*/, this.privSynthesisTurn.getAllReceivedAudioWithHeader()];\n case 9:\n audioBuffer = _b.sent();\n result = new Exports_2.SpeechSynthesisResult(this.privSynthesisTurn.requestId, Exports_2.ResultReason.SynthesizingAudioCompleted, audioBuffer);\n if (!!this.privSuccessCallback) {\n this.privSuccessCallback(result);\n }\n return [3 /*break*/, 11];\n case 10:\n error_1 = _b.sent();\n if (!!this.privErrorCallback) {\n this.privErrorCallback(error_1);\n }\n return [3 /*break*/, 11];\n case 11:\n if (this.privSpeechSynthesizer.synthesisCompleted) {\n try {\n this.privSpeechSynthesizer.synthesisCompleted(this.privSpeechSynthesizer, new Exports_2.SpeechSynthesisEventArgs(result));\n }\n catch (e) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n return [3 /*break*/, 13];\n case 12:\n if (!this.processTypeSpecificMessages(connectionMessage)) {\n // here are some messages that the derived class has not processed, dispatch them to connect class\n if (!!this.privServiceEvents) {\n this.serviceEvents.onEvent(new Exports_1.ServiceEvent(connectionMessage.path.toLowerCase(), connectionMessage.textBody));\n }\n }\n _b.label = 13;\n case 13: return [2 /*return*/, this.receiveMessage()];\n case 14:\n e_2 = _b.sent();\n return [3 /*break*/, 15];\n case 15: return [2 /*return*/];\n }\n });\n });\n };\n SynthesisAdapterBase.prototype.connectImpl = function (isUnAuthorized) {\n var _this = this;\n if (isUnAuthorized === void 0) { isUnAuthorized = false; }\n if (this.privConnectionPromise) {\n return this.privConnectionPromise.then(function (connection) {\n if (connection.state() === Exports_1.ConnectionState.Disconnected) {\n _this.privConnectionId = null;\n _this.privConnectionPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.connectImpl();\n }\n return _this.privConnectionPromise;\n }, function (error) {\n _this.privConnectionId = null;\n _this.privConnectionPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.connectImpl();\n });\n }\n this.privAuthFetchEventId = Exports_1.createNoDashGuid();\n this.privConnectionId = Exports_1.createNoDashGuid();\n this.privSynthesisTurn.onPreConnectionStart(this.privAuthFetchEventId, this.privConnectionId);\n var authPromise = isUnAuthorized ? this.privAuthentication.fetchOnExpiry(this.privAuthFetchEventId) : this.privAuthentication.fetch(this.privAuthFetchEventId);\n this.privConnectionPromise = authPromise.then(function (result) { return __awaiter(_this, void 0, void 0, function () {\n var connection, response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privSynthesisTurn.onAuthCompleted(false)];\n case 1:\n _a.sent();\n connection = this.privConnectionFactory.create(this.privSynthesizerConfig, result, this.privConnectionId);\n // Attach to the underlying event. No need to hold onto the detach pointers as in the event the connection goes away,\n // it'll stop sending events.\n connection.events.attach(function (event) {\n _this.connectionEvents.onEvent(event);\n });\n return [4 /*yield*/, connection.open()];\n case 2:\n response = _a.sent();\n if (!(response.statusCode === 200)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.privSynthesisTurn.onConnectionEstablishCompleted(response.statusCode)];\n case 3:\n _a.sent();\n return [2 /*return*/, Promise.resolve(connection)];\n case 4:\n if (!(response.statusCode === 403 && !isUnAuthorized)) return [3 /*break*/, 5];\n return [2 /*return*/, this.connectImpl(true)];\n case 5: return [4 /*yield*/, this.privSynthesisTurn.onConnectionEstablishCompleted(response.statusCode, response.reason)];\n case 6:\n _a.sent();\n return [2 /*return*/, Promise.reject(\"Unable to contact server. StatusCode: \" + response.statusCode + \", \" + this.privSynthesizerConfig.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint) + \" Reason: \" + response.reason)];\n }\n });\n }); }, function (error) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privSynthesisTurn.onAuthCompleted(true, error)];\n case 1:\n _a.sent();\n throw new Error(error);\n }\n });\n }); });\n // Attach an empty handler to allow the promise to run in the background while\n // other startup events happen. It'll eventually be awaited on.\n this.privConnectionPromise.catch(function () { });\n return this.privConnectionPromise;\n };\n SynthesisAdapterBase.prototype.fetchConnection = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privConnectionConfigurationPromise) {\n return [2 /*return*/, this.privConnectionConfigurationPromise.then(function (connection) {\n if (connection.state() === Exports_1.ConnectionState.Disconnected) {\n _this.privConnectionId = null;\n _this.privConnectionConfigurationPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.fetchConnection();\n }\n return _this.privConnectionConfigurationPromise;\n }, function (error) {\n _this.privConnectionId = null;\n _this.privConnectionConfigurationPromise = null;\n _this.privServiceHasSentMessage = false;\n return _this.fetchConnection();\n })];\n }\n this.privConnectionConfigurationPromise = this.configureConnection();\n return [4 /*yield*/, this.privConnectionConfigurationPromise];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n // Takes an established websocket connection to the endpoint and sends speech configuration information.\n SynthesisAdapterBase.prototype.configureConnection = function () {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.connectImpl()];\n case 1:\n connection = _a.sent();\n if (this.configConnectionOverride !== undefined) {\n return [2 /*return*/, this.configConnectionOverride(connection)];\n }\n return [4 /*yield*/, this.sendSpeechServiceConfig(connection, this.privSynthesizerConfig.SpeechServiceConfig.serialize())];\n case 2:\n _a.sent();\n return [2 /*return*/, connection];\n }\n });\n });\n };\n SynthesisAdapterBase.telemetryDataEnabled = true;\n return SynthesisAdapterBase;\n}());\nexports.SynthesisAdapterBase = SynthesisAdapterBase;\n\n//# sourceMappingURL=SynthesisAdapterBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesisContext = void 0;\n/**\n * Represents the JSON used in the synthesis.context message sent to the speech service.\n * The dynamic grammar is always refreshed from the encapsulated dynamic grammar object.\n */\nvar SynthesisContext = /** @class */ (function () {\n function SynthesisContext(speechSynthesizer) {\n this.privContext = {};\n this.privSpeechSynthesizer = speechSynthesizer;\n }\n /**\n * Adds a section to the synthesis.context object.\n * @param sectionName Name of the section to add.\n * @param value JSON serializable object that represents the value.\n */\n SynthesisContext.prototype.setSection = function (sectionName, value) {\n this.privContext[sectionName] = value;\n };\n Object.defineProperty(SynthesisContext.prototype, \"audioOutputFormat\", {\n /**\n * Sets the audio output format for synthesis context generation.\n * @param format {AudioOutputFormatImpl} the output format\n */\n set: function (format) {\n this.privAudioOutputFormat = format;\n },\n enumerable: false,\n configurable: true\n });\n SynthesisContext.prototype.toJSON = function () {\n var synthesisSection = this.buildSynthesisContext();\n this.setSection(\"synthesis\", synthesisSection);\n return JSON.stringify(this.privContext);\n };\n SynthesisContext.prototype.buildSynthesisContext = function () {\n return {\n audio: {\n metadataOptions: {\n bookmarkEnabled: (!!this.privSpeechSynthesizer.bookmarkReached),\n sentenceBoundaryEnabled: false,\n visemeEnabled: (!!this.privSpeechSynthesizer.visemeReceived),\n wordBoundaryEnabled: (!!this.privSpeechSynthesizer.wordBoundary),\n },\n outputFormat: this.privAudioOutputFormat.requestAudioFormatString,\n },\n language: {\n autoDetection: this.privSpeechSynthesizer.autoDetectSourceLanguage\n }\n };\n };\n return SynthesisContext;\n}());\nexports.SynthesisContext = SynthesisContext;\n\n//# sourceMappingURL=SynthesisContext.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SynthesisStartedEvent = exports.ConnectingToSynthesisServiceEvent = exports.SynthesisTriggeredEvent = exports.SpeechSynthesisEvent = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../common/Exports\");\nvar SpeechSynthesisEvent = /** @class */ (function (_super) {\n __extends(SpeechSynthesisEvent, _super);\n function SpeechSynthesisEvent(eventName, requestId, eventType) {\n if (eventType === void 0) { eventType = Exports_1.EventType.Info; }\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privRequestId = requestId;\n return _this;\n }\n Object.defineProperty(SpeechSynthesisEvent.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisEvent;\n}(Exports_1.PlatformEvent));\nexports.SpeechSynthesisEvent = SpeechSynthesisEvent;\nvar SynthesisTriggeredEvent = /** @class */ (function (_super) {\n __extends(SynthesisTriggeredEvent, _super);\n function SynthesisTriggeredEvent(requestId, sessionAudioDestinationId, turnAudioDestinationId) {\n var _this = _super.call(this, \"SynthesisTriggeredEvent\", requestId) || this;\n _this.privSessionAudioDestinationId = sessionAudioDestinationId;\n _this.privTurnAudioDestinationId = turnAudioDestinationId;\n return _this;\n }\n Object.defineProperty(SynthesisTriggeredEvent.prototype, \"audioSessionDestinationId\", {\n get: function () {\n return this.privSessionAudioDestinationId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTriggeredEvent.prototype, \"audioTurnDestinationId\", {\n get: function () {\n return this.privTurnAudioDestinationId;\n },\n enumerable: false,\n configurable: true\n });\n return SynthesisTriggeredEvent;\n}(SpeechSynthesisEvent));\nexports.SynthesisTriggeredEvent = SynthesisTriggeredEvent;\nvar ConnectingToSynthesisServiceEvent = /** @class */ (function (_super) {\n __extends(ConnectingToSynthesisServiceEvent, _super);\n function ConnectingToSynthesisServiceEvent(requestId, authFetchEventId) {\n var _this = _super.call(this, \"ConnectingToSynthesisServiceEvent\", requestId) || this;\n _this.privAuthFetchEventId = authFetchEventId;\n return _this;\n }\n Object.defineProperty(ConnectingToSynthesisServiceEvent.prototype, \"authFetchEventId\", {\n get: function () {\n return this.privAuthFetchEventId;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectingToSynthesisServiceEvent;\n}(SpeechSynthesisEvent));\nexports.ConnectingToSynthesisServiceEvent = ConnectingToSynthesisServiceEvent;\nvar SynthesisStartedEvent = /** @class */ (function (_super) {\n __extends(SynthesisStartedEvent, _super);\n function SynthesisStartedEvent(requestId, authFetchEventId) {\n var _this = _super.call(this, \"SynthesisStartedEvent\", requestId) || this;\n _this.privAuthFetchEventId = authFetchEventId;\n return _this;\n }\n Object.defineProperty(SynthesisStartedEvent.prototype, \"authFetchEventId\", {\n get: function () {\n return this.privAuthFetchEventId;\n },\n enumerable: false,\n configurable: true\n });\n return SynthesisStartedEvent;\n}(SpeechSynthesisEvent));\nexports.SynthesisStartedEvent = SynthesisStartedEvent;\n\n//# sourceMappingURL=SynthesisEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesisTurn = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar AudioOutputStream_1 = require(\"../sdk/Audio/AudioOutputStream\");\nvar SynthesisAdapterBase_1 = require(\"./SynthesisAdapterBase\");\nvar SynthesisEvents_1 = require(\"./SynthesisEvents\");\nvar SynthesisTurn = /** @class */ (function () {\n function SynthesisTurn() {\n var _this = this;\n this.privIsDisposed = false;\n this.privIsSynthesizing = false;\n this.privIsSynthesisEnded = false;\n this.privBytesReceived = 0;\n this.privInTurn = false;\n this.privTextOffset = 0;\n this.privNextSearchTextIndex = 0;\n this.onPreConnectionStart = function (authFetchEventId, connectionId) {\n _this.privAuthFetchEventId = authFetchEventId;\n _this.onEvent(new SynthesisEvents_1.ConnectingToSynthesisServiceEvent(_this.privRequestId, _this.privAuthFetchEventId));\n };\n this.onAuthCompleted = function (isError, error) {\n if (isError) {\n _this.onComplete();\n }\n };\n this.onConnectionEstablishCompleted = function (statusCode, reason) {\n if (statusCode === 200) {\n _this.onEvent(new SynthesisEvents_1.SynthesisStartedEvent(_this.requestId, _this.privAuthFetchEventId));\n _this.privBytesReceived = 0;\n return;\n }\n else if (statusCode === 403) {\n _this.onComplete();\n }\n };\n this.onServiceResponseMessage = function (responseJson) {\n var response = JSON.parse(responseJson);\n _this.streamId = response.audio.streamId;\n };\n this.onServiceTurnEndResponse = function () {\n _this.privInTurn = false;\n _this.privTurnDeferral.resolve();\n _this.onComplete();\n };\n this.onServiceTurnStartResponse = function () {\n if (!!_this.privTurnDeferral && !!_this.privInTurn) {\n // What? How are we starting a turn with another not done?\n _this.privTurnDeferral.reject(\"Another turn started before current completed.\");\n // Avoid UnhandledPromiseRejection if privTurnDeferral is not being awaited\n /* tslint:disable:no-empty */\n _this.privTurnDeferral.promise.then().catch(function () { });\n }\n _this.privInTurn = true;\n _this.privTurnDeferral = new Exports_1.Deferred();\n };\n this.dispose = function (error) {\n if (!_this.privIsDisposed) {\n // we should have completed by now. If we did not its an unknown error.\n _this.privIsDisposed = true;\n }\n };\n this.onEvent = function (event) {\n Exports_1.Events.instance.onEvent(event);\n };\n this.onComplete = function () {\n if (_this.privIsSynthesizing) {\n _this.privIsSynthesizing = false;\n _this.privIsSynthesisEnded = true;\n _this.privAudioOutputStream.close();\n _this.privInTurn = false;\n if (_this.privTurnAudioDestination !== undefined) {\n _this.privTurnAudioDestination.close();\n _this.privTurnAudioDestination = undefined;\n }\n }\n };\n this.privRequestId = Exports_1.createNoDashGuid();\n this.privTurnDeferral = new Exports_1.Deferred();\n // We're not in a turn, so resolve.\n this.privTurnDeferral.resolve();\n }\n Object.defineProperty(SynthesisTurn.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"streamId\", {\n get: function () {\n return this.privStreamId;\n },\n set: function (value) {\n this.privStreamId = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"audioOutputFormat\", {\n get: function () {\n return this.privAudioOutputFormat;\n },\n set: function (format) {\n this.privAudioOutputFormat = format;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"turnCompletionPromise\", {\n get: function () {\n return this.privTurnDeferral.promise;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"isSynthesisEnded\", {\n get: function () {\n return this.privIsSynthesisEnded;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"isSynthesizing\", {\n get: function () {\n return this.privIsSynthesizing;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"currentTextOffset\", {\n get: function () {\n return this.privTextOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesisTurn.prototype, \"bytesReceived\", {\n // The number of bytes received for current turn\n get: function () {\n return this.privBytesReceived;\n },\n enumerable: false,\n configurable: true\n });\n SynthesisTurn.prototype.getAllReceivedAudio = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.privReceivedAudio) {\n return [2 /*return*/, Promise.resolve(this.privReceivedAudio)];\n }\n if (!this.privIsSynthesisEnded) {\n return [2 /*return*/, null];\n }\n return [4 /*yield*/, this.readAllAudioFromStream()];\n case 1:\n _a.sent();\n return [2 /*return*/, Promise.resolve(this.privReceivedAudio)];\n }\n });\n });\n };\n SynthesisTurn.prototype.getAllReceivedAudioWithHeader = function () {\n return __awaiter(this, void 0, void 0, function () {\n var audio;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.privReceivedAudioWithHeader) {\n return [2 /*return*/, this.privReceivedAudioWithHeader];\n }\n if (!this.privIsSynthesisEnded) {\n return [2 /*return*/, null];\n }\n if (!this.audioOutputFormat.hasHeader) return [3 /*break*/, 2];\n return [4 /*yield*/, this.getAllReceivedAudio()];\n case 1:\n audio = _a.sent();\n this.privReceivedAudioWithHeader = SynthesisAdapterBase_1.SynthesisAdapterBase.addHeader(audio, this.audioOutputFormat);\n return [2 /*return*/, this.privReceivedAudioWithHeader];\n case 2: return [2 /*return*/, this.getAllReceivedAudio()];\n }\n });\n });\n };\n SynthesisTurn.prototype.startNewSynthesis = function (requestId, rawText, isSSML, audioDestination) {\n this.privIsSynthesisEnded = false;\n this.privIsSynthesizing = true;\n this.privRequestId = requestId;\n this.privRawText = rawText;\n this.privIsSSML = isSSML;\n this.privAudioOutputStream = new AudioOutputStream_1.PullAudioOutputStreamImpl();\n this.privAudioOutputStream.format = this.privAudioOutputFormat;\n this.privReceivedAudio = null;\n this.privReceivedAudioWithHeader = null;\n this.privBytesReceived = 0;\n this.privTextOffset = 0;\n this.privNextSearchTextIndex = 0;\n this.privPartialVisemeAnimation = \"\";\n if (audioDestination !== undefined) {\n this.privTurnAudioDestination = audioDestination;\n this.privTurnAudioDestination.format = this.privAudioOutputFormat;\n }\n this.onEvent(new SynthesisEvents_1.SynthesisTriggeredEvent(this.requestId, undefined, audioDestination === undefined ? undefined : audioDestination.id()));\n };\n SynthesisTurn.prototype.onAudioChunkReceived = function (data) {\n if (this.isSynthesizing) {\n this.privAudioOutputStream.write(data);\n this.privBytesReceived += data.byteLength;\n if (this.privTurnAudioDestination !== undefined) {\n this.privTurnAudioDestination.write(data);\n }\n }\n };\n SynthesisTurn.prototype.onWordBoundaryEvent = function (text) {\n this.updateTextOffset(text);\n };\n SynthesisTurn.prototype.onVisemeMetadataReceived = function (metadata) {\n if (metadata.Data.AnimationChunk !== undefined) {\n this.privPartialVisemeAnimation += metadata.Data.AnimationChunk;\n }\n };\n SynthesisTurn.prototype.onStopSynthesizing = function () {\n this.onComplete();\n };\n /**\n * Gets the viseme animation string (merged from animation chunk), and clears the internal\n * partial animation.\n */\n SynthesisTurn.prototype.getAndClearVisemeAnimation = function () {\n var animation = this.privPartialVisemeAnimation;\n this.privPartialVisemeAnimation = \"\";\n return animation;\n };\n SynthesisTurn.prototype.updateTextOffset = function (text) {\n if (this.privTextOffset >= 0) {\n this.privTextOffset = this.privRawText.indexOf(text, this.privNextSearchTextIndex);\n if (this.privTextOffset >= 0) {\n this.privNextSearchTextIndex = this.privTextOffset + text.length;\n }\n if (this.privIsSSML) {\n if (this.privRawText.indexOf(\"<\", this.privTextOffset + 1) > this.privRawText.indexOf(\">\", this.privTextOffset + 1)) {\n this.updateTextOffset(text);\n }\n }\n }\n };\n SynthesisTurn.prototype.readAllAudioFromStream = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.privIsSynthesisEnded) return [3 /*break*/, 4];\n this.privReceivedAudio = new ArrayBuffer(this.bytesReceived);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.privAudioOutputStream.read(this.privReceivedAudio)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n this.privReceivedAudio = new ArrayBuffer(0);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return SynthesisTurn;\n}());\nexports.SynthesisTurn = SynthesisTurn;\n\n//# sourceMappingURL=SynthesisTurn.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesizerConfig = exports.SynthesisServiceType = void 0;\nvar Exports_1 = require(\"./Exports\");\nvar SynthesisServiceType;\n(function (SynthesisServiceType) {\n SynthesisServiceType[SynthesisServiceType[\"Standard\"] = 0] = \"Standard\";\n SynthesisServiceType[SynthesisServiceType[\"Custom\"] = 1] = \"Custom\";\n})(SynthesisServiceType = exports.SynthesisServiceType || (exports.SynthesisServiceType = {}));\nvar SynthesizerConfig = /** @class */ (function () {\n function SynthesizerConfig(speechServiceConfig, parameters) {\n this.privSynthesisServiceType = SynthesisServiceType.Standard;\n this.privSpeechServiceConfig = speechServiceConfig ? speechServiceConfig : new Exports_1.SpeechServiceConfig(new Exports_1.Context(null));\n this.privParameters = parameters;\n }\n Object.defineProperty(SynthesizerConfig.prototype, \"parameters\", {\n get: function () {\n return this.privParameters;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesizerConfig.prototype, \"synthesisServiceType\", {\n get: function () {\n return this.privSynthesisServiceType;\n },\n set: function (value) {\n this.privSynthesisServiceType = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SynthesizerConfig.prototype, \"SpeechServiceConfig\", {\n get: function () {\n return this.privSpeechServiceConfig;\n },\n enumerable: false,\n configurable: true\n });\n return SynthesizerConfig;\n}());\nexports.SynthesizerConfig = SynthesizerConfig;\n\n//# sourceMappingURL=SynthesizerConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.TranscriberConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"./ConnectionFactoryBase\");\nvar Exports_3 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar TranscriberConnectionFactory = /** @class */ (function (_super) {\n __extends(TranscriberConnectionFactory, _super);\n function TranscriberConnectionFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.multiaudioRelativeUri = \"/speech/recognition/multiaudio\";\n _this.create = function (config, authInfo, connectionId) {\n var endpoint = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, undefined);\n var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, \"centralus\");\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var hostDefault = \"wss://transcribe.\" + region + \".cts.speech\" + hostSuffix + _this.multiaudioRelativeUri;\n var host = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, hostDefault);\n var queryParams = {};\n var endpointId = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId, undefined);\n var language = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage, undefined);\n if (endpointId) {\n if (!endpoint || endpoint.search(QueryParameterNames_1.QueryParameterNames.CustomSpeechDeploymentId) === -1) {\n queryParams[QueryParameterNames_1.QueryParameterNames.CustomSpeechDeploymentId] = endpointId;\n }\n }\n else if (language) {\n if (!endpoint || endpoint.search(QueryParameterNames_1.QueryParameterNames.Language) === -1) {\n queryParams[QueryParameterNames_1.QueryParameterNames.Language] = language;\n }\n }\n _this.setCommonUrlParams(config, queryParams, endpoint);\n if (!endpoint) {\n endpoint = host;\n }\n var headers = {};\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n headers[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n config.parameters.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Url, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_3.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return _this;\n }\n return TranscriberConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.TranscriberConnectionFactory = TranscriberConnectionFactory;\n\n//# sourceMappingURL=TranscriberConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranscriptionServiceRecognizer = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar Exports_3 = require(\"./Exports\");\nvar SpeechConnectionMessage_Internal_1 = require(\"./SpeechConnectionMessage.Internal\");\n// tslint:disable-next-line:max-classes-per-file\nvar TranscriptionServiceRecognizer = /** @class */ (function (_super) {\n __extends(TranscriptionServiceRecognizer, _super);\n function TranscriptionServiceRecognizer(authentication, connectionFactory, audioSource, recognizerConfig, transcriber) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, transcriber) || this;\n _this.sendSpeechEvent = function (connection, payload) {\n var speechEventJson = JSON.stringify(payload);\n if (speechEventJson) {\n return connection.send(new SpeechConnectionMessage_Internal_1.SpeechConnectionMessage(Exports_1.MessageType.Text, \"speech.event\", _this.privRequestSession.requestId, \"application/json\", speechEventJson));\n }\n return;\n };\n _this.privTranscriberRecognizer = transcriber;\n _this.sendPrePayloadJSONOverride = _this.sendTranscriptionStartJSON;\n return _this;\n }\n TranscriptionServiceRecognizer.prototype.sendSpeechEventAsync = function (info, command) {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!!this.privRequestSession.isRecognizing) return [3 /*break*/, 3];\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, this.sendSpeechEvent(connection, this.createSpeechEventPayload(info, command))];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n TranscriptionServiceRecognizer.prototype.processTypeSpecificMessages = function (connectionMessage) {\n return __awaiter(this, void 0, void 0, function () {\n var result, resultProps, processed, _a, hypothesis, offset, ev, simple, resultReason, cancelReason, detailed, event_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n resultProps = new Exports_2.PropertyCollection();\n resultProps.setProperty(Exports_2.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n processed = false;\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"speech.hypothesis\": return [3 /*break*/, 1];\n case \"speech.fragment\": return [3 /*break*/, 1];\n case \"speech.phrase\": return [3 /*break*/, 2];\n }\n return [3 /*break*/, 6];\n case 1:\n hypothesis = Exports_3.SpeechHypothesis.fromJSON(connectionMessage.textBody);\n offset = hypothesis.Offset + this.privRequestSession.currentTurnAudioOffset;\n result = new Exports_2.SpeechRecognitionResult(this.privRequestSession.requestId, Exports_2.ResultReason.RecognizingSpeech, hypothesis.Text, hypothesis.Duration, offset, hypothesis.Language, hypothesis.LanguageDetectionConfidence, hypothesis.SpeakerId, undefined, connectionMessage.textBody, resultProps);\n this.privRequestSession.onHypothesis(offset);\n ev = new Exports_2.SpeechRecognitionEventArgs(result, hypothesis.Duration, this.privRequestSession.sessionId);\n if (!!this.privTranscriberRecognizer.recognizing) {\n try {\n this.privTranscriberRecognizer.recognizing(this.privTranscriberRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n return [3 /*break*/, 7];\n case 2:\n simple = Exports_3.SimpleSpeechPhrase.fromJSON(connectionMessage.textBody);\n resultReason = Exports_3.EnumTranslation.implTranslateRecognitionResult(simple.RecognitionStatus);\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + simple.Offset + simple.Duration);\n if (!(Exports_2.ResultReason.Canceled === resultReason)) return [3 /*break*/, 4];\n cancelReason = Exports_3.EnumTranslation.implTranslateCancelResult(simple.RecognitionStatus);\n return [4 /*yield*/, this.cancelRecognitionLocal(cancelReason, Exports_3.EnumTranslation.implTranslateCancelErrorCode(simple.RecognitionStatus), undefined)];\n case 3:\n _b.sent();\n return [3 /*break*/, 5];\n case 4:\n if (!(this.privRequestSession.isSpeechEnded && resultReason === Exports_2.ResultReason.NoMatch && simple.RecognitionStatus !== Exports_3.RecognitionStatus.InitialSilenceTimeout)) {\n if (this.privRecognizerConfig.parameters.getProperty(Exports_3.OutputFormatPropertyName) === Exports_2.OutputFormat[Exports_2.OutputFormat.Simple]) {\n result = new Exports_2.SpeechRecognitionResult(this.privRequestSession.requestId, resultReason, simple.DisplayText, simple.Duration, simple.Offset + this.privRequestSession.currentTurnAudioOffset, simple.Language, simple.LanguageDetectionConfidence, simple.SpeakerId, undefined, connectionMessage.textBody, resultProps);\n }\n else {\n detailed = Exports_3.DetailedSpeechPhrase.fromJSON(connectionMessage.textBody);\n result = new Exports_2.SpeechRecognitionResult(this.privRequestSession.requestId, resultReason, detailed.RecognitionStatus === Exports_3.RecognitionStatus.Success ? detailed.NBest[0].Display : undefined, detailed.Duration, detailed.Offset + this.privRequestSession.currentTurnAudioOffset, detailed.Language, detailed.LanguageDetectionConfidence, undefined, undefined, connectionMessage.textBody, resultProps);\n }\n event_1 = new Exports_2.SpeechRecognitionEventArgs(result, result.offset, this.privRequestSession.sessionId);\n if (!!this.privTranscriberRecognizer.recognized) {\n try {\n this.privTranscriberRecognizer.recognized(this.privTranscriberRecognizer, event_1);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n _b.label = 5;\n case 5:\n processed = true;\n return [3 /*break*/, 7];\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/, processed];\n }\n });\n });\n };\n // Cancels recognition.\n TranscriptionServiceRecognizer.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n var properties = new Exports_2.PropertyCollection();\n properties.setProperty(Exports_3.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[errorCode]);\n if (!!this.privTranscriberRecognizer.canceled) {\n var cancelEvent = new Exports_2.ConversationTranscriptionCanceledEventArgs(cancellationReason, error, errorCode, undefined, sessionId);\n try {\n this.privTranscriberRecognizer.canceled(this.privTranscriberRecognizer, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_a) { }\n }\n if (!!this.privSuccessCallback) {\n var result = new Exports_2.SpeechRecognitionResult(requestId, Exports_2.ResultReason.Canceled, undefined, // Text\n undefined, // Duration\n undefined, // Offset\n undefined, // Language\n undefined, // Language Detection Confidence\n undefined, // Speaker Id\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n this.privSuccessCallback = undefined;\n /* tslint:disable:no-empty */\n }\n catch (_b) { }\n }\n };\n // Encapsulated for derived service recognizers that need to send additional JSON\n TranscriptionServiceRecognizer.prototype.sendTranscriptionStartJSON = function (connection) {\n return __awaiter(this, void 0, void 0, function () {\n var info, payload;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.sendSpeechContext(connection)];\n case 1:\n _a.sent();\n info = this.privTranscriberRecognizer.getConversationInfo();\n payload = this.createSpeechEventPayload(info, \"start\");\n return [4 /*yield*/, this.sendSpeechEvent(connection, payload)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.sendWaveHeader(connection)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n TranscriptionServiceRecognizer.prototype.createSpeechEventPayload = function (info, command) {\n var meeting = \"meeting\";\n var eventDict = { id: meeting, name: command, meeting: info.conversationProperties };\n var idString = \"id\";\n var attendees = \"attendees\";\n var record = \"record\";\n eventDict[meeting][idString] = info.id;\n eventDict[meeting][attendees] = info.participants;\n eventDict[meeting][record] = info.conversationProperties.audiorecording === \"on\" ? \"true\" : \"false\";\n return eventDict;\n };\n return TranscriptionServiceRecognizer;\n}(Exports_3.ServiceRecognizerBase));\nexports.TranscriptionServiceRecognizer = TranscriptionServiceRecognizer;\n\n//# sourceMappingURL=TranscriptionServiceRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConversationConnectionConfig = void 0;\nvar RestConfigBase_1 = require(\"../../common.browser/RestConfigBase\");\nvar ConversationConnectionConfig = /** @class */ (function (_super) {\n __extends(ConversationConnectionConfig, _super);\n function ConversationConnectionConfig() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ConversationConnectionConfig, \"host\", {\n get: function () {\n return ConversationConnectionConfig.privHost;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"apiVersion\", {\n get: function () {\n return ConversationConnectionConfig.privApiVersion;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"clientAppId\", {\n get: function () {\n return ConversationConnectionConfig.privClientAppId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"defaultLanguageCode\", {\n get: function () {\n return ConversationConnectionConfig.privDefaultLanguageCode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"restPath\", {\n get: function () {\n return ConversationConnectionConfig.privRestPath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"webSocketPath\", {\n get: function () {\n return ConversationConnectionConfig.privWebSocketPath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"speechHost\", {\n get: function () {\n return ConversationConnectionConfig.privSpeechHost;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"speechPath\", {\n get: function () {\n return ConversationConnectionConfig.privSpeechPath;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationConnectionConfig, \"transcriptionEventKeys\", {\n get: function () {\n return ConversationConnectionConfig.privTranscriptionEventKeys;\n },\n enumerable: false,\n configurable: true\n });\n ConversationConnectionConfig.privHost = \"dev.microsofttranslator.com\";\n ConversationConnectionConfig.privRestPath = \"/capito/room\";\n ConversationConnectionConfig.privApiVersion = \"2.0\";\n ConversationConnectionConfig.privDefaultLanguageCode = \"en-US\";\n ConversationConnectionConfig.privClientAppId = \"FC539C22-1767-4F1F-84BC-B4D811114F15\";\n ConversationConnectionConfig.privWebSocketPath = \"/capito/translate\";\n ConversationConnectionConfig.privSpeechHost = \"{region}.s2s.speech.microsoft.com\";\n ConversationConnectionConfig.privSpeechPath = \"/speech/translation/cognitiveservices/v1\";\n ConversationConnectionConfig.privTranscriptionEventKeys = [\"iCalUid\", \"callId\", \"organizer\", \"FLAC\", \"MTUri\", \"DifferenciateGuestSpeakers\", \"audiorecording\", \"Threadid\", \"OrganizerMri\", \"OrganizerTenantId\", \"UserToken\"];\n return ConversationConnectionConfig;\n}(RestConfigBase_1.RestConfigBase));\nexports.ConversationConnectionConfig = ConversationConnectionConfig;\n\n//# sourceMappingURL=ConversationConnectionConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConversationConnectionFactory = void 0;\nvar Exports_1 = require(\"../../common.browser/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../../sdk/Contracts\");\nvar Exports_3 = require(\"../../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"../ConnectionFactoryBase\");\nvar ConversationConnectionConfig_1 = require(\"./ConversationConnectionConfig\");\nvar ConversationWebsocketMessageFormatter_1 = require(\"./ConversationWebsocketMessageFormatter\");\n/**\n * Create a connection to the Conversation Translator websocket for sending instant messages and commands, and for receiving translated messages.\n * The conversation must already have been started or joined.\n */\nvar ConversationConnectionFactory = /** @class */ (function (_super) {\n __extends(ConversationConnectionFactory, _super);\n function ConversationConnectionFactory() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ConversationConnectionFactory.prototype.create = function (config, authInfo, connectionId) {\n var endpointHost = config.parameters.getProperty(Exports_3.PropertyId.ConversationTranslator_Host, ConversationConnectionConfig_1.ConversationConnectionConfig.host);\n var correlationId = config.parameters.getProperty(Exports_3.PropertyId.ConversationTranslator_CorrelationId, Exports_2.createGuid());\n var endpoint = \"wss://\" + endpointHost + ConversationConnectionConfig_1.ConversationConnectionConfig.webSocketPath;\n var token = config.parameters.getProperty(Exports_3.PropertyId.ConversationTranslator_Token, undefined);\n Contracts_1.Contracts.throwIfNullOrUndefined(token, \"token\");\n var queryParams = {};\n queryParams[ConversationConnectionConfig_1.ConversationConnectionConfig.configParams.apiVersion] = ConversationConnectionConfig_1.ConversationConnectionConfig.apiVersion;\n queryParams[ConversationConnectionConfig_1.ConversationConnectionConfig.configParams.token] = token;\n queryParams[ConversationConnectionConfig_1.ConversationConnectionConfig.configParams.correlationId] = correlationId;\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, {}, new ConversationWebsocketMessageFormatter_1.ConversationWebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return ConversationConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.ConversationConnectionFactory = ConversationConnectionFactory;\n\n//# sourceMappingURL=ConversationConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConversationConnectionMessage = void 0;\nvar Exports_1 = require(\"../../common/Exports\");\nvar ConversationConnectionMessage = /** @class */ (function (_super) {\n __extends(ConversationConnectionMessage, _super);\n function ConversationConnectionMessage(messageType, body, headers, id) {\n var _this = _super.call(this, messageType, body, headers, id) || this;\n var json = JSON.parse(_this.textBody);\n if (json.type !== undefined) {\n _this.privConversationMessageType = json.type;\n }\n return _this;\n }\n Object.defineProperty(ConversationConnectionMessage.prototype, \"conversationMessageType\", {\n get: function () {\n return this.privConversationMessageType;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationConnectionMessage;\n}(Exports_1.ConnectionMessage));\nexports.ConversationConnectionMessage = ConversationConnectionMessage;\n\n//# sourceMappingURL=ConversationConnectionMessage.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationManager = void 0;\nvar Contracts_1 = require(\"../../sdk/Contracts\");\nvar Exports_1 = require(\"../../sdk/Exports\");\nvar ConversationConnectionConfig_1 = require(\"./ConversationConnectionConfig\");\nvar ConversationUtils_1 = require(\"./ConversationUtils\");\nvar ConversationManager = /** @class */ (function () {\n function ConversationManager() {\n //\n this.privRequestParams = ConversationConnectionConfig_1.ConversationConnectionConfig.configParams;\n this.privErrors = ConversationConnectionConfig_1.ConversationConnectionConfig.restErrors;\n this.privHost = ConversationConnectionConfig_1.ConversationConnectionConfig.host;\n this.privApiVersion = ConversationConnectionConfig_1.ConversationConnectionConfig.apiVersion;\n this.privRestPath = ConversationConnectionConfig_1.ConversationConnectionConfig.restPath;\n }\n /**\n * Make a POST request to the Conversation Manager service endpoint to create or join a conversation.\n * @param args\n * @param conversationCode\n * @param callback\n * @param errorCallback\n */\n ConversationManager.prototype.createOrJoin = function (args, conversationCode, cb, err) {\n var _this = this;\n try {\n Contracts_1.Contracts.throwIfNullOrUndefined(args, \"args\");\n var languageCode = args.getProperty(Exports_1.PropertyId.SpeechServiceConnection_RecoLanguage, ConversationConnectionConfig_1.ConversationConnectionConfig.defaultLanguageCode);\n var nickname = args.getProperty(Exports_1.PropertyId.ConversationTranslator_Name);\n var endpointHost = args.getProperty(Exports_1.PropertyId.ConversationTranslator_Host, this.privHost);\n var correlationId = args.getProperty(Exports_1.PropertyId.ConversationTranslator_CorrelationId);\n var subscriptionKey = args.getProperty(Exports_1.PropertyId.SpeechServiceConnection_Key);\n var subscriptionRegion = args.getProperty(Exports_1.PropertyId.SpeechServiceConnection_Region);\n var authToken = args.getProperty(Exports_1.PropertyId.SpeechServiceAuthorization_Token);\n Contracts_1.Contracts.throwIfNullOrWhitespace(languageCode, \"languageCode\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, \"nickname\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(endpointHost, \"endpointHost\");\n var queryParams = {};\n queryParams[this.privRequestParams.apiVersion] = this.privApiVersion;\n queryParams[this.privRequestParams.languageCode] = languageCode;\n queryParams[this.privRequestParams.nickname] = nickname;\n var headers = {};\n if (correlationId) {\n headers[this.privRequestParams.correlationId] = correlationId;\n }\n headers[this.privRequestParams.clientAppId] = ConversationConnectionConfig_1.ConversationConnectionConfig.clientAppId;\n if (conversationCode !== undefined) {\n queryParams[this.privRequestParams.roomId] = conversationCode;\n }\n else {\n Contracts_1.Contracts.throwIfNullOrUndefined(subscriptionRegion, this.privErrors.authInvalidSubscriptionRegion);\n headers[this.privRequestParams.subscriptionRegion] = subscriptionRegion;\n if (subscriptionKey) {\n headers[this.privRequestParams.subscriptionKey] = subscriptionKey;\n }\n else if (authToken) {\n headers[this.privRequestParams.authorization] = \"Bearer \" + authToken;\n }\n else {\n Contracts_1.Contracts.throwIfNullOrUndefined(subscriptionKey, this.privErrors.authInvalidSubscriptionKey);\n }\n }\n var config = {};\n config.headers = headers;\n var endpoint = \"https://\" + endpointHost + this.privRestPath;\n // TODO: support a proxy and certificate validation\n ConversationUtils_1.request(\"post\", endpoint, queryParams, null, config, function (response) {\n var requestId = ConversationUtils_1.extractHeaderValue(_this.privRequestParams.requestId, response.headers);\n if (!response.ok) {\n if (!!err) {\n // get the error\n var errorMessage = _this.privErrors.invalidCreateJoinConversationResponse.replace(\"{status}\", response.status.toString());\n var errMessageRaw = void 0;\n try {\n errMessageRaw = JSON.parse(response.data);\n errorMessage += \" [\" + errMessageRaw.error.code + \": \" + errMessageRaw.error.message + \"]\";\n }\n catch (e) {\n errorMessage += \" [\" + response.data + \"]\";\n }\n if (requestId) {\n errorMessage += \" \" + requestId;\n }\n err(errorMessage);\n }\n return;\n }\n var conversation = JSON.parse(response.data);\n if (conversation) {\n conversation.requestId = requestId;\n }\n if (!!cb) {\n try {\n cb(conversation);\n }\n catch (e) {\n if (!!err) {\n err(e);\n }\n }\n cb = undefined;\n }\n });\n }\n catch (error) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n }\n };\n /**\n * Make a DELETE request to the Conversation Manager service endpoint to leave the conversation.\n * @param args\n * @param sessionToken\n * @param callback\n */\n ConversationManager.prototype.leave = function (args, sessionToken) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n try {\n Contracts_1.Contracts.throwIfNullOrUndefined(args, _this.privErrors.invalidArgs.replace(\"{arg}\", \"config\"));\n Contracts_1.Contracts.throwIfNullOrWhitespace(sessionToken, _this.privErrors.invalidArgs.replace(\"{arg}\", \"token\"));\n var endpointHost = args.getProperty(Exports_1.PropertyId.ConversationTranslator_Host, _this.privHost);\n var correlationId = args.getProperty(Exports_1.PropertyId.ConversationTranslator_CorrelationId);\n var queryParams = {};\n queryParams[_this.privRequestParams.apiVersion] = _this.privApiVersion;\n queryParams[_this.privRequestParams.sessionToken] = sessionToken;\n var headers = {};\n if (correlationId) {\n headers[_this.privRequestParams.correlationId] = correlationId;\n }\n var config = {};\n config.headers = headers;\n var endpoint = \"https://\" + endpointHost + _this.privRestPath;\n // TODO: support a proxy and certificate validation\n ConversationUtils_1.request(\"delete\", endpoint, queryParams, null, config, function (response) {\n if (!response.ok) {\n // ignore errors on delete\n }\n resolve();\n });\n }\n catch (error) {\n if (error instanceof Error) {\n var typedError = error;\n reject(typedError.name + \": \" + typedError.message);\n }\n else {\n reject(error);\n }\n }\n });\n };\n return ConversationManager;\n}());\nexports.ConversationManager = ConversationManager;\n\n//# sourceMappingURL=ConversationManager.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationRequestSession = void 0;\nvar Exports_1 = require(\"../../common/Exports\");\n/**\n * Placeholder class for the Conversation Request Session. Based off RequestSession.\n * TODO: define what telemetry is required.\n */\nvar ConversationRequestSession = /** @class */ (function () {\n function ConversationRequestSession(sessionId) {\n var _this = this;\n this.privIsDisposed = false;\n this.privDetachables = new Array();\n this.onPreConnectionStart = function (authFetchEventId, connectionId) {\n _this.privSessionId = connectionId;\n };\n this.onAuthCompleted = function (isError, error) {\n if (isError) {\n _this.onComplete();\n }\n };\n this.onConnectionEstablishCompleted = function (statusCode, reason) {\n if (statusCode === 200) {\n return;\n }\n else if (statusCode === 403) {\n _this.onComplete();\n }\n };\n this.onServiceTurnEndResponse = function (continuousRecognition) {\n if (!continuousRecognition) {\n _this.onComplete();\n }\n else {\n _this.privRequestId = Exports_1.createNoDashGuid();\n }\n };\n this.onComplete = function () {\n //\n };\n this.privSessionId = sessionId;\n this.privRequestId = Exports_1.createNoDashGuid();\n this.privRequestCompletionDeferral = new Exports_1.Deferred();\n }\n Object.defineProperty(ConversationRequestSession.prototype, \"sessionId\", {\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationRequestSession.prototype, \"requestId\", {\n get: function () {\n return this.privRequestId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationRequestSession.prototype, \"completionPromise\", {\n get: function () {\n return this.privRequestCompletionDeferral.promise;\n },\n enumerable: false,\n configurable: true\n });\n ConversationRequestSession.prototype.dispose = function (error) {\n return __awaiter(this, void 0, void 0, function () {\n var _i, _a, detachable;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!!this.privIsDisposed) return [3 /*break*/, 4];\n // we should have completed by now. If we did not its an unknown error.\n this.privIsDisposed = true;\n _i = 0, _a = this.privDetachables;\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n detachable = _a[_i];\n return [4 /*yield*/, detachable.detach()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return ConversationRequestSession;\n}());\nexports.ConversationRequestSession = ConversationRequestSession;\n\n//# sourceMappingURL=ConversationRequestSession.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationServiceAdapter = void 0;\nvar Exports_1 = require(\"../../common/Exports\");\nvar Exports_2 = require(\"../../sdk/Exports\");\nvar Exports_3 = require(\"../Exports\");\nvar ConversationConnectionMessage_1 = require(\"./ConversationConnectionMessage\");\nvar ConversationRequestSession_1 = require(\"./ConversationRequestSession\");\nvar ConversationTranslatorEventArgs_1 = require(\"./ConversationTranslatorEventArgs\");\nvar ConversationTranslatorInterfaces_1 = require(\"./ConversationTranslatorInterfaces\");\nvar Exports_4 = require(\"./ServiceMessages/Exports\");\n/***\n * The service adapter handles sending and receiving messages to the Conversation Translator websocket.\n */\nvar ConversationServiceAdapter = /** @class */ (function (_super) {\n __extends(ConversationServiceAdapter, _super);\n function ConversationServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, conversationServiceConnector) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, conversationServiceConnector) || this;\n _this.privLastPartialUtteranceId = \"\";\n _this.noOp = function () {\n // operation not supported\n };\n _this.privConversationServiceConnector = conversationServiceConnector;\n _this.privConversationAuthentication = authentication;\n _this.receiveMessageOverride = _this.receiveConversationMessageOverride;\n _this.recognizeOverride = _this.noOp;\n _this.postConnectImplOverride = _this.conversationConnectImpl;\n _this.configConnectionOverride = _this.configConnection;\n _this.disconnectOverride = _this.privDisconnect;\n _this.privConversationRequestSession = new ConversationRequestSession_1.ConversationRequestSession(Exports_1.createNoDashGuid());\n _this.privConversationConnectionFactory = connectionFactory;\n _this.privConversationIsDisposed = false;\n return _this;\n }\n ConversationServiceAdapter.prototype.isDisposed = function () {\n return _super.prototype.isDisposed.call(this) || this.privConversationIsDisposed;\n };\n ConversationServiceAdapter.prototype.dispose = function (reason) {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privConversationIsDisposed = true;\n if (!this.privConnectionConfigPromise) return [3 /*break*/, 3];\n return [4 /*yield*/, this.privConnectionConfigPromise];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.dispose(reason)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [4 /*yield*/, _super.prototype.dispose.call(this, reason)];\n case 4:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n ConversationServiceAdapter.prototype.sendMessage = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n var connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [2 /*return*/, connection.send(new ConversationConnectionMessage_1.ConversationConnectionMessage(Exports_1.MessageType.Text, message))];\n }\n });\n });\n };\n ConversationServiceAdapter.prototype.sendMessageAsync = function (message) {\n return __awaiter(this, void 0, void 0, function () {\n var sink, connection;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n sink = new Exports_1.Deferred();\n return [4 /*yield*/, this.fetchConnection()];\n case 1:\n connection = _a.sent();\n return [4 /*yield*/, connection.send(new ConversationConnectionMessage_1.ConversationConnectionMessage(Exports_1.MessageType.Text, message))];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n ConversationServiceAdapter.prototype.privDisconnect = function () {\n if (this.terminateMessageLoop) {\n return;\n }\n this.cancelRecognition(this.privConversationRequestSession.sessionId, this.privConversationRequestSession.requestId, Exports_2.CancellationReason.Error, Exports_2.CancellationErrorCode.NoError, \"Disconnecting\");\n this.terminateMessageLoop = true;\n return Promise.resolve();\n };\n ConversationServiceAdapter.prototype.processTypeSpecificMessages = function (connectionMessage, successCallback, errorCallBack) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, true];\n });\n });\n };\n // Cancels recognition.\n ConversationServiceAdapter.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n this.terminateMessageLoop = true;\n var cancelEvent = new Exports_2.ConversationTranslationCanceledEventArgs(cancellationReason, error, errorCode, undefined, sessionId);\n try {\n if (!!this.privConversationServiceConnector.canceled) {\n this.privConversationServiceConnector.canceled(this.privConversationServiceConnector, cancelEvent);\n }\n }\n catch (_a) {\n // continue on error\n }\n };\n /**\n * Establishes a websocket connection to the end point.\n * @param isUnAuthorized\n */\n ConversationServiceAdapter.prototype.conversationConnectImpl = function (connection) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this.privConnectionLoop = this.startMessageLoop();\n return [2 /*return*/, connection];\n });\n });\n };\n /**\n * Process incoming websocket messages\n */\n ConversationServiceAdapter.prototype.receiveConversationMessageOverride = function () {\n return __awaiter(this, void 0, void 0, function () {\n var communicationCustodian, connection, message, sessionId, sendFinal, commandPayload, participantsPayload, participantsResult, joinParticipantPayload, joiningParticipant, leavingParticipant, disconnectParticipant, speechPayload, speechResult, textPayload, textResult, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.isDisposed() || this.terminateMessageLoop) {\n return [2 /*return*/, Promise.resolve()];\n }\n communicationCustodian = new Exports_1.Deferred();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, , 5]);\n return [4 /*yield*/, this.fetchConnection()];\n case 2:\n connection = _a.sent();\n return [4 /*yield*/, connection.read()];\n case 3:\n message = _a.sent();\n if (this.isDisposed() || this.terminateMessageLoop) {\n // We're done.\n communicationCustodian.resolve();\n return [2 /*return*/, Promise.resolve()];\n }\n if (!message) {\n return [2 /*return*/, this.receiveConversationMessageOverride()];\n }\n sessionId = this.privConversationRequestSession.sessionId;\n sendFinal = false;\n try {\n switch (message.conversationMessageType.toLowerCase()) {\n case \"info\":\n case \"participant_command\":\n case \"command\":\n commandPayload = Exports_4.CommandResponsePayload.fromJSON(message.textBody);\n switch (commandPayload.command.toLowerCase()) {\n /**\n * 'ParticpantList' is the first message sent to the user after the websocket connection has opened.\n * The consuming client must wait for this message to arrive\n * before starting to send their own data.\n */\n case \"participantlist\":\n participantsPayload = Exports_4.ParticipantsListPayloadResponse.fromJSON(message.textBody);\n participantsResult = participantsPayload.participants.map(function (p) {\n var participant = {\n avatar: p.avatar,\n displayName: p.nickname,\n id: p.participantId,\n isHost: p.ishost,\n isMuted: p.ismuted,\n isUsingTts: p.usetts,\n preferredLanguage: p.locale\n };\n return participant;\n });\n if (!!this.privConversationServiceConnector.participantsListReceived) {\n this.privConversationServiceConnector.participantsListReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantsListEventArgs(participantsPayload.roomid, participantsPayload.token, participantsPayload.translateTo, participantsPayload.profanityFilter, participantsPayload.roomProfanityFilter, participantsPayload.roomLocked, participantsPayload.muteAll, participantsResult, sessionId));\n }\n break;\n /**\n * 'SetTranslateToLanguages' represents the list of languages being used in the Conversation by all users(?).\n * This is sent at the start of the Conversation\n */\n case \"settranslatetolanguages\":\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs(commandPayload.participantId, ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes.setTranslateToLanguages, commandPayload.value, sessionId));\n }\n break;\n /**\n * 'SetProfanityFiltering' lets the client set the level of profanity filtering.\n * If sent by the participant the setting will effect only their own profanity level.\n * If sent by the host, the setting will effect all participants including the host.\n * Note: the profanity filters differ from Speech Service (?): 'marked', 'raw', 'removed', 'tagged'\n */\n case \"setprofanityfiltering\":\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs(commandPayload.participantId, ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes.setProfanityFiltering, commandPayload.value, sessionId));\n }\n break;\n /**\n * 'SetMute' is sent if the participant has been muted by the host.\n * Check the 'participantId' to determine if the current user has been muted.\n */\n case \"setmute\":\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs(commandPayload.participantId, ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes.setMute, commandPayload.value, sessionId));\n }\n break;\n /**\n * 'SetMuteAll' is sent if the Conversation has been muted by the host.\n */\n case \"setmuteall\":\n if (!!this.privConversationServiceConnector.muteAllCommandReceived) {\n this.privConversationServiceConnector.muteAllCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.MuteAllEventArgs(commandPayload.value, sessionId));\n }\n break;\n /**\n * 'RoomExpirationWarning' is sent towards the end of the Conversation session to give a timeout warning.\n */\n case \"roomexpirationwarning\":\n if (!!this.privConversationServiceConnector.conversationExpiration) {\n this.privConversationServiceConnector.conversationExpiration(this.privConversationServiceConnector, new Exports_2.ConversationExpirationEventArgs(commandPayload.value, this.privConversationRequestSession.sessionId));\n }\n break;\n /**\n * 'SetUseTts' is sent as a confirmation if the user requests TTS to be turned on or off.\n */\n case \"setusetts\":\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs(commandPayload.participantId, ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes.setUseTTS, commandPayload.value, sessionId));\n }\n break;\n /**\n * 'SetLockState' is set if the host has locked or unlocked the Conversation.\n */\n case \"setlockstate\":\n if (!!this.privConversationServiceConnector.lockRoomCommandReceived) {\n this.privConversationServiceConnector.lockRoomCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.LockRoomEventArgs(commandPayload.value, sessionId));\n }\n break;\n /**\n * 'ChangeNickname' is received if a user changes their display name.\n * Any cached particpiants list should be updated to reflect the display name.\n */\n case \"changenickname\":\n if (!!this.privConversationServiceConnector.participantUpdateCommandReceived) {\n this.privConversationServiceConnector.participantUpdateCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs(commandPayload.participantId, ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes.changeNickname, commandPayload.nickname, sessionId));\n }\n break;\n /**\n * 'JoinSession' is sent when a user joins the Conversation.\n */\n case \"joinsession\":\n joinParticipantPayload = Exports_4.ParticipantPayloadResponse.fromJSON(message.textBody);\n joiningParticipant = {\n avatar: joinParticipantPayload.avatar,\n displayName: joinParticipantPayload.nickname,\n id: joinParticipantPayload.participantId,\n isHost: joinParticipantPayload.ishost,\n isMuted: joinParticipantPayload.ismuted,\n isUsingTts: joinParticipantPayload.usetts,\n preferredLanguage: joinParticipantPayload.locale,\n };\n if (!!this.privConversationServiceConnector.participantJoinCommandReceived) {\n this.privConversationServiceConnector.participantJoinCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantEventArgs(joiningParticipant, sessionId));\n }\n break;\n /**\n * 'LeaveSession' is sent when a user leaves the Conversation'.\n */\n case \"leavesession\":\n leavingParticipant = {\n id: commandPayload.participantId\n };\n if (!!this.privConversationServiceConnector.participantLeaveCommandReceived) {\n this.privConversationServiceConnector.participantLeaveCommandReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ParticipantEventArgs(leavingParticipant, sessionId));\n }\n break;\n /**\n * 'DisconnectSession' is sent when a user is disconnected from the session (e.g. network problem).\n * Check the 'ParticipantId' to check whether the message is for the current user.\n */\n case \"disconnectsession\":\n disconnectParticipant = {\n id: commandPayload.participantId\n };\n break;\n /**\n * Message not recognized.\n */\n default:\n break;\n }\n break;\n /**\n * 'partial' (or 'hypothesis') represents a unfinalized speech message.\n */\n case \"partial\":\n /**\n * 'final' (or 'phrase') represents a finalized speech message.\n */\n case \"final\":\n speechPayload = Exports_4.SpeechResponsePayload.fromJSON(message.textBody);\n speechResult = new Exports_2.ConversationTranslationResult(speechPayload.participantId, this.getTranslations(speechPayload.translations), speechPayload.language, undefined, undefined, speechPayload.recognition, undefined, undefined, message.textBody, undefined);\n if (speechPayload.isFinal) {\n // check the length, sometimes empty finals are returned\n if (speechResult.text !== undefined && speechResult.text.length > 0) {\n sendFinal = true;\n }\n else if (speechPayload.id === this.privLastPartialUtteranceId) {\n // send final as normal. We had a non-empty partial for this same utterance\n // so sending the empty final is important\n sendFinal = true;\n }\n else {\n // suppress unneeded final\n }\n if (sendFinal) {\n if (!!this.privConversationServiceConnector.translationReceived) {\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ConversationReceivedTranslationEventArgs(ConversationTranslatorInterfaces_1.ConversationTranslatorMessageTypes.final, speechResult, sessionId));\n }\n }\n }\n else if (speechResult.text !== undefined) {\n this.privLastPartialUtteranceId = speechPayload.id;\n if (!!this.privConversationServiceConnector.translationReceived) {\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ConversationReceivedTranslationEventArgs(ConversationTranslatorInterfaces_1.ConversationTranslatorMessageTypes.partial, speechResult, sessionId));\n }\n }\n break;\n /**\n * \"translated_message\" is a text message or instant message (IM).\n */\n case \"translated_message\":\n textPayload = Exports_4.TextResponsePayload.fromJSON(message.textBody);\n textResult = new Exports_2.ConversationTranslationResult(textPayload.participantId, this.getTranslations(textPayload.translations), textPayload.language, undefined, undefined, textPayload.originalText, undefined, undefined, undefined, message.textBody, undefined);\n if (!!this.privConversationServiceConnector.translationReceived) {\n this.privConversationServiceConnector.translationReceived(this.privConversationServiceConnector, new ConversationTranslatorEventArgs_1.ConversationReceivedTranslationEventArgs(ConversationTranslatorInterfaces_1.ConversationTranslatorMessageTypes.instantMessage, textResult, sessionId));\n }\n break;\n default:\n // ignore any unsupported message types\n break;\n }\n }\n catch (e) {\n // continue\n }\n return [2 /*return*/, this.receiveConversationMessageOverride()];\n case 4:\n e_1 = _a.sent();\n this.terminateMessageLoop = true;\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/, communicationCustodian.promise];\n }\n });\n });\n };\n ConversationServiceAdapter.prototype.startMessageLoop = function () {\n return __awaiter(this, void 0, void 0, function () {\n var messageRetrievalPromise, r, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.isDisposed()) {\n return [2 /*return*/, Promise.resolve()];\n }\n this.terminateMessageLoop = false;\n messageRetrievalPromise = this.receiveConversationMessageOverride();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, messageRetrievalPromise];\n case 2:\n r = _a.sent();\n return [2 /*return*/, r];\n case 3:\n error_1 = _a.sent();\n this.cancelRecognition(this.privRequestSession ? this.privRequestSession.sessionId : \"\", this.privRequestSession ? this.privRequestSession.requestId : \"\", Exports_2.CancellationReason.Error, Exports_2.CancellationErrorCode.RuntimeError, error_1);\n return [2 /*return*/, null];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n // Takes an established websocket connection to the endpoint\n ConversationServiceAdapter.prototype.configConnection = function () {\n var _this = this;\n if (this.isDisposed()) {\n return Promise.resolve(undefined);\n }\n if (this.privConnectionConfigPromise) {\n return this.privConnectionConfigPromise.then(function (connection) {\n if (connection.state() === Exports_1.ConnectionState.Disconnected) {\n _this.privConnectionId = null;\n _this.privConnectionConfigPromise = null;\n return _this.configConnection();\n }\n return _this.privConnectionConfigPromise;\n }, function (error) {\n _this.privConnectionId = null;\n _this.privConnectionConfigPromise = null;\n return _this.configConnection();\n });\n }\n if (this.terminateMessageLoop) {\n return Promise.resolve(undefined);\n }\n this.privConnectionConfigPromise = this.connectImpl().then(function (connection) {\n return connection;\n });\n return this.privConnectionConfigPromise;\n };\n ConversationServiceAdapter.prototype.getTranslations = function (serviceResultTranslations) {\n var translations;\n if (undefined !== serviceResultTranslations) {\n translations = new Exports_2.Translations();\n for (var _i = 0, serviceResultTranslations_1 = serviceResultTranslations; _i < serviceResultTranslations_1.length; _i++) {\n var translation = serviceResultTranslations_1[_i];\n translations.set(translation.lang, translation.translation);\n }\n }\n return translations;\n };\n return ConversationServiceAdapter;\n}(Exports_3.ServiceRecognizerBase));\nexports.ConversationServiceAdapter = ConversationServiceAdapter;\n\n//# sourceMappingURL=ConversationServiceAdapter.js.map\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 });\nexports.ConversationReceivedTranslationEventArgs = exports.ParticipantsListEventArgs = exports.ParticipantAttributeEventArgs = exports.ParticipantEventArgs = exports.LockRoomEventArgs = exports.MuteAllEventArgs = void 0;\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar Exports_1 = require(\"../../sdk/Exports\");\nvar MuteAllEventArgs = /** @class */ (function (_super) {\n __extends(MuteAllEventArgs, _super);\n function MuteAllEventArgs(isMuted, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privIsMuted = isMuted;\n return _this;\n }\n Object.defineProperty(MuteAllEventArgs.prototype, \"isMuted\", {\n get: function () {\n return this.privIsMuted;\n },\n enumerable: false,\n configurable: true\n });\n return MuteAllEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.MuteAllEventArgs = MuteAllEventArgs;\n// tslint:disable-next-line: max-classes-per-file\nvar LockRoomEventArgs = /** @class */ (function (_super) {\n __extends(LockRoomEventArgs, _super);\n function LockRoomEventArgs(isLocked, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privIsLocked = isLocked;\n return _this;\n }\n Object.defineProperty(LockRoomEventArgs.prototype, \"isMuted\", {\n get: function () {\n return this.privIsLocked;\n },\n enumerable: false,\n configurable: true\n });\n return LockRoomEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.LockRoomEventArgs = LockRoomEventArgs;\n// tslint:disable-next-line: max-classes-per-file\nvar ParticipantEventArgs = /** @class */ (function (_super) {\n __extends(ParticipantEventArgs, _super);\n function ParticipantEventArgs(participant, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privParticipant = participant;\n return _this;\n }\n Object.defineProperty(ParticipantEventArgs.prototype, \"participant\", {\n get: function () {\n return this.privParticipant;\n },\n enumerable: false,\n configurable: true\n });\n return ParticipantEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ParticipantEventArgs = ParticipantEventArgs;\n// tslint:disable-next-line: max-classes-per-file\nvar ParticipantAttributeEventArgs = /** @class */ (function (_super) {\n __extends(ParticipantAttributeEventArgs, _super);\n function ParticipantAttributeEventArgs(participantId, key, value, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privKey = key;\n _this.privValue = value;\n _this.privParticipantId = participantId;\n return _this;\n }\n Object.defineProperty(ParticipantAttributeEventArgs.prototype, \"value\", {\n get: function () {\n return this.privValue;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantAttributeEventArgs.prototype, \"key\", {\n get: function () {\n return this.privKey;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantAttributeEventArgs.prototype, \"id\", {\n get: function () {\n return this.privParticipantId;\n },\n enumerable: false,\n configurable: true\n });\n return ParticipantAttributeEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ParticipantAttributeEventArgs = ParticipantAttributeEventArgs;\n// tslint:disable-next-line: max-classes-per-file\nvar ParticipantsListEventArgs = /** @class */ (function (_super) {\n __extends(ParticipantsListEventArgs, _super);\n function ParticipantsListEventArgs(conversationId, token, translateTo, profanityFilter, roomProfanityFilter, isRoomLocked, isMuteAll, participants, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privRoomId = conversationId;\n _this.privSessionToken = token;\n _this.privTranslateTo = translateTo;\n _this.privProfanityFilter = profanityFilter;\n _this.privRoomProfanityFilter = roomProfanityFilter;\n _this.privIsRoomLocked = isRoomLocked;\n _this.privIsRoomLocked = isMuteAll;\n _this.privParticipants = participants;\n return _this;\n }\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"sessionToken\", {\n get: function () {\n return this.privSessionToken;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"conversationId\", {\n get: function () {\n return this.privRoomId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"translateTo\", {\n get: function () {\n return this.privTranslateTo;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"profanityFilter\", {\n get: function () {\n return this.privProfanityFilter;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"roomProfanityFilter\", {\n get: function () {\n return this.privRoomProfanityFilter;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"isRoomLocked\", {\n get: function () {\n return this.privIsRoomLocked;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"isMuteAll\", {\n get: function () {\n return this.privIsMuteAll;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListEventArgs.prototype, \"participants\", {\n get: function () {\n return this.privParticipants;\n },\n enumerable: false,\n configurable: true\n });\n return ParticipantsListEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ParticipantsListEventArgs = ParticipantsListEventArgs;\n// tslint:disable-next-line: max-classes-per-file\nvar ConversationReceivedTranslationEventArgs = /** @class */ (function () {\n function ConversationReceivedTranslationEventArgs(command, payload, sessionId) {\n this.privPayload = payload;\n this.privCommand = command;\n this.privSessionId = sessionId;\n }\n Object.defineProperty(ConversationReceivedTranslationEventArgs.prototype, \"payload\", {\n get: function () {\n return this.privPayload;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationReceivedTranslationEventArgs.prototype, \"command\", {\n get: function () {\n return this.privCommand;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationReceivedTranslationEventArgs.prototype, \"sessionId\", {\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationReceivedTranslationEventArgs;\n}());\nexports.ConversationReceivedTranslationEventArgs = ConversationReceivedTranslationEventArgs;\n\n//# sourceMappingURL=ConversationTranslatorEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationTranslatorCommandTypes = exports.ConversationTranslatorMessageTypes = exports.InternalParticipants = void 0;\n/** Users participating in the conversation */\nvar InternalParticipants = /** @class */ (function () {\n function InternalParticipants(participants, meId) {\n if (participants === void 0) { participants = []; }\n this.participants = participants;\n this.meId = meId;\n }\n /**\n * Add or update a participant\n * @param value\n */\n InternalParticipants.prototype.addOrUpdateParticipant = function (value) {\n if (value === undefined) {\n return;\n }\n var exists = this.getParticipantIndex(value.id);\n if (exists > -1) {\n this.participants.splice(exists, 1, value);\n }\n else {\n this.participants.push(value);\n }\n // ensure it was added ok\n return this.getParticipant(value.id);\n };\n /**\n * Find the participant's position in the participants list.\n * @param id\n */\n InternalParticipants.prototype.getParticipantIndex = function (id) {\n return this.participants.findIndex(function (p) { return p.id === id; });\n };\n /**\n * Find the participant by id.\n * @param id\n */\n InternalParticipants.prototype.getParticipant = function (id) {\n return this.participants.find(function (p) { return p.id === id; });\n };\n /***\n * Remove a participant from the participants list.\n */\n InternalParticipants.prototype.deleteParticipant = function (id) {\n this.participants = this.participants.filter(function (p) { return p.id !== id; });\n };\n Object.defineProperty(InternalParticipants.prototype, \"host\", {\n /***\n * Helper to return the conversation host.\n */\n get: function () {\n return this.participants.find(function (p) { return p.isHost === true; });\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(InternalParticipants.prototype, \"me\", {\n /**\n * Helper to return the current user.\n */\n get: function () {\n return this.getParticipant(this.meId);\n },\n enumerable: false,\n configurable: true\n });\n return InternalParticipants;\n}());\nexports.InternalParticipants = InternalParticipants;\n/**\n * List of command message types\n */\nexports.ConversationTranslatorMessageTypes = {\n command: \"command\",\n final: \"final\",\n info: \"info\",\n instantMessage: \"instant_message\",\n partial: \"partial\",\n participantCommand: \"participant_command\",\n translatedMessage: \"translated_message\"\n};\n/**\n * List of command types\n */\nexports.ConversationTranslatorCommandTypes = {\n changeNickname: \"ChangeNickname\",\n disconnectSession: \"DisconnectSession\",\n ejectParticipant: \"EjectParticipant\",\n instant_message: \"instant_message\",\n joinSession: \"JoinSession\",\n leaveSession: \"LeaveSession\",\n participantList: \"ParticipantList\",\n roomExpirationWarning: \"RoomExpirationWarning\",\n setLockState: \"SetLockState\",\n setMute: \"SetMute\",\n setMuteAll: \"SetMuteAll\",\n setProfanityFiltering: \"SetProfanityFiltering\",\n setTranslateToLanguages: \"SetTranslateToLanguages\",\n setUseTTS: \"SetUseTTS\"\n};\n\n//# sourceMappingURL=ConversationTranslatorInterfaces.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationTranslatorRecognizer = exports.ConversationRecognizerFactory = void 0;\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../../sdk/Contracts\");\nvar Exports_3 = require(\"../../sdk/Exports\");\nvar ConversationConnectionFactory_1 = require(\"./ConversationConnectionFactory\");\nvar ConversationServiceAdapter_1 = require(\"./ConversationServiceAdapter\");\nvar ConversationUtils_1 = require(\"./ConversationUtils\");\nvar ConversationRecognizerFactory = /** @class */ (function () {\n function ConversationRecognizerFactory() {\n }\n ConversationRecognizerFactory.fromConfig = function (speechConfig, audioConfig) {\n return new ConversationTranslatorRecognizer(speechConfig, audioConfig);\n };\n return ConversationRecognizerFactory;\n}());\nexports.ConversationRecognizerFactory = ConversationRecognizerFactory;\n/**\n * Sends messages to the Conversation Translator websocket and listens for incoming events containing websocket messages.\n * Based off the recognizers in the SDK folder.\n */\n// tslint:disable-next-line:max-classes-per-file\nvar ConversationTranslatorRecognizer = /** @class */ (function (_super) {\n __extends(ConversationTranslatorRecognizer, _super);\n function ConversationTranslatorRecognizer(speechConfig, audioConfig) {\n var _this = this;\n var serviceConfigImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(serviceConfigImpl, \"speechConfig\");\n _this = _super.call(this, audioConfig, serviceConfigImpl.properties, new ConversationConnectionFactory_1.ConversationConnectionFactory()) || this;\n _this.privIsDisposed = false;\n _this.privProperties = serviceConfigImpl.properties.clone();\n _this.privConnection = Exports_3.Connection.fromRecognizer(_this);\n return _this;\n }\n Object.defineProperty(ConversationTranslatorRecognizer.prototype, \"connected\", {\n set: function (cb) {\n this.privConnection.connected = cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslatorRecognizer.prototype, \"disconnected\", {\n set: function (cb) {\n this.privConnection.disconnected = cb;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslatorRecognizer.prototype, \"speechRecognitionLanguage\", {\n /**\n * Return the speech language used by the recognizer\n */\n get: function () {\n return this.privSpeechRecognitionLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslatorRecognizer.prototype, \"properties\", {\n /**\n * Return the properties for the recognizer\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n ConversationTranslatorRecognizer.prototype.isDisposed = function () {\n return this.privIsDisposed;\n };\n /**\n * Connect to the recognizer\n * @param token\n */\n ConversationTranslatorRecognizer.prototype.connect = function (token, cb, err) {\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.privReco.conversationTranslatorToken = token;\n this.privReco.connectAsync(cb, err);\n }\n catch (error) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n }\n };\n /**\n * Disconnect from the recognizer\n */\n ConversationTranslatorRecognizer.prototype.disconnect = function (cb, err) {\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n this.privReco.disconnect().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n }\n catch (error) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n // Destroy the recognizer.\n this.dispose(true).catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n }\n };\n /**\n * Send the mute all participants command to the websocket\n * @param conversationId\n * @param participantId\n * @param isMuted\n */\n ConversationTranslatorRecognizer.prototype.sendRequest = function (command, cb, err) {\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n this.sendMessage(command, cb, err);\n }\n catch (error) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n // Destroy the recognizer.\n this.dispose(true).catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n }\n };\n /**\n * Close and dispose the recognizer\n */\n ConversationTranslatorRecognizer.prototype.close = function () {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n (_a = this.privConnection) === null || _a === void 0 ? void 0 : _a.closeConnection();\n (_b = this.privConnection) === null || _b === void 0 ? void 0 : _b.close();\n this.privConnection = undefined;\n return [4 /*yield*/, this.dispose(true)];\n case 1:\n _c.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Dispose the recognizer\n * @param disposing\n */\n ConversationTranslatorRecognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privIsDisposed) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 2];\n this.privIsDisposed = true;\n if (!!this.privConnection) {\n this.privConnection.closeConnection();\n this.privConnection.close();\n this.privConnection = undefined;\n }\n return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Create the config for the recognizer\n * @param speechConfig\n */\n ConversationTranslatorRecognizer.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_1.RecognizerConfig(speechConfig, this.privProperties);\n };\n /**\n * Create the service recognizer.\n * The audio source is redundnant here but is required by the implementation.\n * @param authentication\n * @param connectionFactory\n * @param audioConfig\n * @param recognizerConfig\n */\n ConversationTranslatorRecognizer.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var audioSource = audioConfig;\n return new ConversationServiceAdapter_1.ConversationServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, this);\n };\n ConversationTranslatorRecognizer.prototype.sendMessage = function (msg, cb, err) {\n var withAsync = this.privReco;\n ConversationUtils_1.PromiseToEmptyCallback(withAsync.sendMessageAsync(msg), cb, err);\n };\n return ConversationTranslatorRecognizer;\n}(Exports_3.Recognizer));\nexports.ConversationTranslatorRecognizer = ConversationTranslatorRecognizer;\n\n//# sourceMappingURL=ConversationTranslatorRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PromiseToEmptyCallback = exports.request = exports.extractHeaderValue = void 0;\nvar RestConfigBase_1 = require(\"../../common.browser/RestConfigBase\");\n// Node.JS specific xmlhttprequest / browser support.\nvar XHR = __importStar(require(\"xmlhttprequest-ts\"));\n/**\n * Config settings for Conversation Translator\n */\n/**\n * Helpers for sending / receiving HTTPS requests / responses.\n * @param params\n */\nfunction queryParams(params) {\n if (params === void 0) { params = {}; }\n return Object.keys(params)\n .map(function (k) { return encodeURIComponent(k) + \"=\" + encodeURIComponent(params[k]); })\n .join(\"&\");\n}\nfunction withQuery(url, params) {\n if (params === void 0) { params = {}; }\n var queryString = queryParams(params);\n return queryString ? url + (url.indexOf(\"?\") === -1 ? \"?\" : \"&\") + queryString : url;\n}\nfunction parseXHRResult(xhr) {\n return {\n data: xhr.responseText,\n headers: xhr.getAllResponseHeaders(),\n json: function () { return JSON.parse(xhr.responseText); },\n ok: xhr.status >= 200 && xhr.status < 300,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n}\nfunction errorResponse(xhr, message) {\n if (message === void 0) { message = null; }\n return {\n data: message || xhr.statusText,\n headers: xhr.getAllResponseHeaders(),\n json: function () { return JSON.parse(message || (\"\\\"\" + xhr.statusText + \"\\\"\")); },\n ok: false,\n status: xhr.status,\n statusText: xhr.statusText,\n };\n}\nfunction extractHeaderValue(headerKey, headers) {\n var headerValue = \"\";\n try {\n var arr = headers.trim().split(/[\\r\\n]+/);\n var headerMap_1 = {};\n arr.forEach(function (line) {\n var parts = line.split(\": \");\n var header = parts.shift().toLowerCase();\n var value = parts.join(\": \");\n headerMap_1[header] = value;\n });\n headerValue = headerMap_1[headerKey.toLowerCase()];\n }\n catch (e) {\n // ignore the error\n }\n return headerValue;\n}\nexports.extractHeaderValue = extractHeaderValue;\nfunction request(method, url, queryParams, body, options, callback) {\n if (queryParams === void 0) { queryParams = {}; }\n if (body === void 0) { body = null; }\n if (options === void 0) { options = {}; }\n var defaultRequestOptions = RestConfigBase_1.RestConfigBase.requestOptions;\n var ignoreCache = options.ignoreCache || defaultRequestOptions.ignoreCache;\n var headers = options.headers || defaultRequestOptions.headers;\n var timeout = options.timeout || defaultRequestOptions.timeout;\n var xhr;\n if (typeof window === \"undefined\") { // Node\n xhr = new XHR.XMLHttpRequest();\n }\n else {\n xhr = new XMLHttpRequest();\n }\n xhr.open(method, withQuery(url, queryParams), true);\n if (headers) {\n Object.keys(headers).forEach(function (key) { return xhr.setRequestHeader(key, headers[key]); });\n }\n if (ignoreCache) {\n xhr.setRequestHeader(\"Cache-Control\", \"no-cache\");\n }\n xhr.timeout = timeout;\n xhr.onload = function (evt) {\n callback(parseXHRResult(xhr));\n };\n xhr.onerror = function (evt) {\n callback(errorResponse(xhr, \"Failed to make request.\"));\n };\n xhr.ontimeout = function (evt) {\n callback(errorResponse(xhr, \"Request took longer than expected.\"));\n };\n if (method === \"post\" && body) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n xhr.send(JSON.stringify(body));\n }\n else {\n xhr.send();\n }\n}\nexports.request = request;\nfunction PromiseToEmptyCallback(promise, cb, err) {\n if (!!promise) {\n promise.then(function (result) {\n try {\n if (!!cb) {\n cb();\n }\n }\n catch (e) {\n if (!!err) {\n err(\"'Unhandled error on promise callback: \" + e + \"'\");\n }\n }\n }, function (reason) {\n try {\n if (!!err) {\n err(reason);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) {\n }\n });\n }\n else {\n if (!!err) {\n err(\"Null promise\");\n }\n }\n}\nexports.PromiseToEmptyCallback = PromiseToEmptyCallback;\n\n//# sourceMappingURL=ConversationUtils.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationWebsocketMessageFormatter = void 0;\nvar Exports_1 = require(\"../../common/Exports\");\nvar ConversationConnectionMessage_1 = require(\"./ConversationConnectionMessage\");\n/**\n * Based off WebsocketMessageFormatter. The messages for Conversation Translator have some variations from the Speech messages.\n */\nvar ConversationWebsocketMessageFormatter = /** @class */ (function () {\n function ConversationWebsocketMessageFormatter() {\n /**\n * Format incoming messages: text (speech partial/final, IM) or binary (tts)\n */\n this.toConnectionMessage = function (message) {\n var deferral = new Exports_1.Deferred();\n try {\n if (message.messageType === Exports_1.MessageType.Text) {\n var incomingMessage = new ConversationConnectionMessage_1.ConversationConnectionMessage(message.messageType, message.textContent, {}, message.id);\n deferral.resolve(incomingMessage);\n }\n else if (message.messageType === Exports_1.MessageType.Binary) {\n deferral.resolve(new ConversationConnectionMessage_1.ConversationConnectionMessage(message.messageType, message.binaryContent, undefined, message.id));\n }\n }\n catch (e) {\n deferral.reject(\"Error formatting the message. Error: \" + e);\n }\n return deferral.promise;\n };\n /**\n * Format outgoing messages: text (commands or IM)\n */\n this.fromConnectionMessage = function (message) {\n var deferral = new Exports_1.Deferred();\n try {\n if (message.messageType === Exports_1.MessageType.Text) {\n var payload = \"\" + (message.textBody ? message.textBody : \"\");\n deferral.resolve(new Exports_1.RawWebsocketMessage(Exports_1.MessageType.Text, payload, message.id));\n }\n }\n catch (e) {\n deferral.reject(\"Error formatting the message. \" + e);\n }\n return deferral.promise;\n };\n }\n return ConversationWebsocketMessageFormatter;\n}());\nexports.ConversationWebsocketMessageFormatter = ConversationWebsocketMessageFormatter;\n\n//# sourceMappingURL=ConversationWebsocketMessageFormatter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ConversationManager_1 = require(\"./ConversationManager\");\nObject.defineProperty(exports, \"ConversationManager\", { enumerable: true, get: function () { return ConversationManager_1.ConversationManager; } });\nvar ConversationConnectionConfig_1 = require(\"./ConversationConnectionConfig\");\nObject.defineProperty(exports, \"ConversationConnectionConfig\", { enumerable: true, get: function () { return ConversationConnectionConfig_1.ConversationConnectionConfig; } });\nvar ConversationTranslatorRecognizer_1 = require(\"./ConversationTranslatorRecognizer\");\nObject.defineProperty(exports, \"ConversationRecognizerFactory\", { enumerable: true, get: function () { return ConversationTranslatorRecognizer_1.ConversationRecognizerFactory; } });\nvar TranscriberRecognizer_1 = require(\"./TranscriberRecognizer\");\nObject.defineProperty(exports, \"TranscriberRecognizer\", { enumerable: true, get: function () { return TranscriberRecognizer_1.TranscriberRecognizer; } });\nvar ConversationTranslatorEventArgs_1 = require(\"./ConversationTranslatorEventArgs\");\nObject.defineProperty(exports, \"ConversationReceivedTranslationEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.ConversationReceivedTranslationEventArgs; } });\nObject.defineProperty(exports, \"LockRoomEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.LockRoomEventArgs; } });\nObject.defineProperty(exports, \"MuteAllEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.MuteAllEventArgs; } });\nObject.defineProperty(exports, \"ParticipantAttributeEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.ParticipantAttributeEventArgs; } });\nObject.defineProperty(exports, \"ParticipantEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.ParticipantEventArgs; } });\nObject.defineProperty(exports, \"ParticipantsListEventArgs\", { enumerable: true, get: function () { return ConversationTranslatorEventArgs_1.ParticipantsListEventArgs; } });\nvar ConversationTranslatorInterfaces_1 = require(\"./ConversationTranslatorInterfaces\");\nObject.defineProperty(exports, \"ConversationTranslatorCommandTypes\", { enumerable: true, get: function () { return ConversationTranslatorInterfaces_1.ConversationTranslatorCommandTypes; } });\nObject.defineProperty(exports, \"ConversationTranslatorMessageTypes\", { enumerable: true, get: function () { return ConversationTranslatorInterfaces_1.ConversationTranslatorMessageTypes; } });\nObject.defineProperty(exports, \"InternalParticipants\", { enumerable: true, get: function () { return ConversationTranslatorInterfaces_1.InternalParticipants; } });\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommandResponsePayload = void 0;\nvar CommandResponsePayload = /** @class */ (function () {\n function CommandResponsePayload(json) {\n this.privCommandResponse = JSON.parse(json);\n }\n CommandResponsePayload.fromJSON = function (json) {\n return new CommandResponsePayload(json);\n };\n Object.defineProperty(CommandResponsePayload.prototype, \"type\", {\n get: function () {\n return this.privCommandResponse.type;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"command\", {\n get: function () {\n return this.privCommandResponse.command;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"id\", {\n get: function () {\n return this.privCommandResponse.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"nickname\", {\n get: function () {\n return this.privCommandResponse.nickname;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"participantId\", {\n get: function () {\n return this.privCommandResponse.participantId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"roomid\", {\n get: function () {\n return this.privCommandResponse.roomid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CommandResponsePayload.prototype, \"value\", {\n get: function () {\n return this.privCommandResponse.value;\n },\n enumerable: false,\n configurable: true\n });\n return CommandResponsePayload;\n}());\nexports.CommandResponsePayload = CommandResponsePayload;\n\n//# sourceMappingURL=CommandResponsePayload.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar CommandResponsePayload_1 = require(\"./CommandResponsePayload\");\nObject.defineProperty(exports, \"CommandResponsePayload\", { enumerable: true, get: function () { return CommandResponsePayload_1.CommandResponsePayload; } });\nvar ParticipantResponsePayload_1 = require(\"./ParticipantResponsePayload\");\nObject.defineProperty(exports, \"ParticipantsListPayloadResponse\", { enumerable: true, get: function () { return ParticipantResponsePayload_1.ParticipantsListPayloadResponse; } });\nObject.defineProperty(exports, \"ParticipantPayloadResponse\", { enumerable: true, get: function () { return ParticipantResponsePayload_1.ParticipantPayloadResponse; } });\nvar TranslationResponsePayload_1 = require(\"./TranslationResponsePayload\");\nObject.defineProperty(exports, \"SpeechResponsePayload\", { enumerable: true, get: function () { return TranslationResponsePayload_1.SpeechResponsePayload; } });\nObject.defineProperty(exports, \"TextResponsePayload\", { enumerable: true, get: function () { return TranslationResponsePayload_1.TextResponsePayload; } });\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParticipantPayloadResponse = exports.ParticipantsListPayloadResponse = void 0;\nvar ParticipantsListPayloadResponse = /** @class */ (function () {\n function ParticipantsListPayloadResponse(json) {\n this.privParticipantsPayloadResponse = JSON.parse(json);\n }\n ParticipantsListPayloadResponse.fromJSON = function (json) {\n return new ParticipantsListPayloadResponse(json);\n };\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"roomid\", {\n get: function () {\n return this.privParticipantsPayloadResponse.roomid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"id\", {\n get: function () {\n return this.privParticipantsPayloadResponse.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"command\", {\n get: function () {\n return this.privParticipantsPayloadResponse.command;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"participants\", {\n get: function () {\n return this.privParticipantsPayloadResponse.participants;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"token\", {\n get: function () {\n return this.privParticipantsPayloadResponse.token;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"translateTo\", {\n get: function () {\n return this.privParticipantsPayloadResponse.translateTo;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"profanityFilter\", {\n get: function () {\n return this.privParticipantsPayloadResponse.profanityFilter;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"roomProfanityFilter\", {\n get: function () {\n return this.privParticipantsPayloadResponse.roomProfanityFilter;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"roomLocked\", {\n get: function () {\n return this.privParticipantsPayloadResponse.roomLocked;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"muteAll\", {\n get: function () {\n return this.privParticipantsPayloadResponse.muteAll;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantsListPayloadResponse.prototype, \"type\", {\n get: function () {\n return this.privParticipantsPayloadResponse.type;\n },\n enumerable: false,\n configurable: true\n });\n return ParticipantsListPayloadResponse;\n}());\nexports.ParticipantsListPayloadResponse = ParticipantsListPayloadResponse;\n// tslint:disable-next-line: max-classes-per-file\nvar ParticipantPayloadResponse = /** @class */ (function () {\n function ParticipantPayloadResponse(json) {\n this.privParticipantPayloadResponse = JSON.parse(json);\n }\n ParticipantPayloadResponse.fromJSON = function (json) {\n return new ParticipantPayloadResponse(json);\n };\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"nickname\", {\n get: function () {\n return this.privParticipantPayloadResponse.nickname;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"locale\", {\n get: function () {\n return this.privParticipantPayloadResponse.locale;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"usetts\", {\n get: function () {\n return this.privParticipantPayloadResponse.usetts;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"ismuted\", {\n get: function () {\n return this.privParticipantPayloadResponse.ismuted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"ishost\", {\n get: function () {\n return this.privParticipantPayloadResponse.ishost;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"participantId\", {\n get: function () {\n return this.privParticipantPayloadResponse.participantId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ParticipantPayloadResponse.prototype, \"avatar\", {\n get: function () {\n return this.privParticipantPayloadResponse.avatar;\n },\n enumerable: false,\n configurable: true\n });\n return ParticipantPayloadResponse;\n}());\nexports.ParticipantPayloadResponse = ParticipantPayloadResponse;\n\n//# sourceMappingURL=ParticipantResponsePayload.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TextResponsePayload = exports.SpeechResponsePayload = void 0;\nvar SpeechResponsePayload = /** @class */ (function () {\n function SpeechResponsePayload(json) {\n this.privSpeechResponse = JSON.parse(json);\n }\n SpeechResponsePayload.fromJSON = function (json) {\n return new SpeechResponsePayload(json);\n };\n Object.defineProperty(SpeechResponsePayload.prototype, \"recognition\", {\n get: function () {\n return this.privSpeechResponse.recognition;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"translations\", {\n get: function () {\n return this.privSpeechResponse.translations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"id\", {\n get: function () {\n return this.privSpeechResponse.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"language\", {\n get: function () {\n return this.privSpeechResponse.language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"nickname\", {\n get: function () {\n return this.privSpeechResponse.nickname;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"participantId\", {\n get: function () {\n return this.privSpeechResponse.participantId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"roomid\", {\n get: function () {\n return this.privSpeechResponse.roomid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"timestamp\", {\n get: function () {\n return this.privSpeechResponse.timestamp;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"type\", {\n get: function () {\n return this.privSpeechResponse.type;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechResponsePayload.prototype, \"isFinal\", {\n get: function () {\n return this.privSpeechResponse.type === \"final\";\n },\n enumerable: false,\n configurable: true\n });\n return SpeechResponsePayload;\n}());\nexports.SpeechResponsePayload = SpeechResponsePayload;\n// tslint:disable-next-line: max-classes-per-file\nvar TextResponsePayload = /** @class */ (function () {\n function TextResponsePayload(json) {\n this.privTextResponse = JSON.parse(json);\n }\n TextResponsePayload.fromJSON = function (json) {\n return new TextResponsePayload(json);\n };\n Object.defineProperty(TextResponsePayload.prototype, \"originalText\", {\n get: function () {\n return this.privTextResponse.originalText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"translations\", {\n get: function () {\n return this.privTextResponse.translations;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"id\", {\n get: function () {\n return this.privTextResponse.id;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"language\", {\n get: function () {\n return this.privTextResponse.language;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"nickname\", {\n get: function () {\n return this.privTextResponse.nickname;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"participantId\", {\n get: function () {\n return this.privTextResponse.participantId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"roomid\", {\n get: function () {\n return this.privTextResponse.roomid;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"timestamp\", {\n get: function () {\n return this.privTextResponse.timestamp;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TextResponsePayload.prototype, \"type\", {\n get: function () {\n return this.privTextResponse.type;\n },\n enumerable: false,\n configurable: true\n });\n return TextResponsePayload;\n}());\nexports.TextResponsePayload = TextResponsePayload;\n\n//# sourceMappingURL=TranslationResponsePayload.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranscriberRecognizer = void 0;\nvar Exports_1 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../../sdk/Contracts\");\nvar Exports_2 = require(\"../../sdk/Exports\");\nvar Exports_3 = require(\"../Exports\");\nvar TranscriberRecognizer = /** @class */ (function (_super) {\n __extends(TranscriberRecognizer, _super);\n /**\n * TranscriberRecognizer constructor.\n * @constructor\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\n */\n function TranscriberRecognizer(speechTranslationConfig, audioConfig) {\n var _this = this;\n var speechTranslationConfigImpl = speechTranslationConfig;\n Contracts_1.Contracts.throwIfNull(speechTranslationConfigImpl, \"speechTranslationConfig\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(speechTranslationConfigImpl.speechRecognitionLanguage, Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage]);\n _this = _super.call(this, audioConfig, speechTranslationConfigImpl.properties, new Exports_3.TranscriberConnectionFactory()) || this;\n _this.privDisposedRecognizer = false;\n return _this;\n }\n TranscriberRecognizer.prototype.getConversationInfo = function () {\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation, \"Conversation\");\n return this.privConversation.conversationInfo;\n };\n Object.defineProperty(TranscriberRecognizer.prototype, \"authorizationToken\", {\n get: function () {\n return this.properties.getProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token);\n },\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranscriberRecognizer.prototype, \"conversation\", {\n set: function (c) {\n Contracts_1.Contracts.throwIfNullOrUndefined(c, \"Conversation\");\n this.privConversation = c;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranscriberRecognizer.prototype, \"speechRecognitionLanguage\", {\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n return this.properties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranscriberRecognizer.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n TranscriberRecognizer.prototype.startContinuousRecognitionAsync = function (cb, err) {\n Exports_1.marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(Exports_3.RecognitionMode.Conversation), cb, err);\n };\n TranscriberRecognizer.prototype.stopContinuousRecognitionAsync = function (cb, err) {\n Exports_1.marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\n };\n TranscriberRecognizer.prototype.close = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n return [4 /*yield*/, this.dispose(true)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n // Push async join/leave conversation message via serviceRecognizer\n TranscriberRecognizer.prototype.pushConversationEvent = function (conversationInfo, command) {\n return __awaiter(this, void 0, void 0, function () {\n var reco;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n reco = (this.privReco);\n Contracts_1.Contracts.throwIfNullOrUndefined(reco, \"serviceRecognizer\");\n return [4 /*yield*/, reco.sendSpeechEventAsync(conversationInfo, command)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n TranscriberRecognizer.prototype.connectCallbacks = function (transcriber) {\n this.canceled = function (s, e) {\n if (!!transcriber.canceled) {\n transcriber.canceled(transcriber, e);\n }\n };\n this.recognizing = function (s, e) {\n if (!!transcriber.transcribing) {\n transcriber.transcribing(transcriber, e);\n }\n };\n this.recognized = function (s, e) {\n if (!!transcriber.transcribed) {\n transcriber.transcribed(transcriber, e);\n }\n };\n this.sessionStarted = function (s, e) {\n if (!!transcriber.sessionStarted) {\n transcriber.sessionStarted(transcriber, e);\n }\n };\n this.sessionStopped = function (s, e) {\n if (!!transcriber.sessionStopped) {\n transcriber.sessionStopped(transcriber, e);\n }\n };\n };\n TranscriberRecognizer.prototype.disconnectCallbacks = function () {\n this.canceled = undefined;\n this.recognizing = undefined;\n this.recognized = undefined;\n this.sessionStarted = undefined;\n this.sessionStopped = undefined;\n };\n /**\n * Disposes any resources held by the object.\n * @member ConversationTranscriber.prototype.dispose\n * @function\n * @public\n * @param {boolean} disposing - true if disposing the object.\n */\n TranscriberRecognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposedRecognizer) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 2];\n this.privDisposedRecognizer = true;\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n TranscriberRecognizer.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_3.RecognizerConfig(speechConfig, this.properties);\n };\n TranscriberRecognizer.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var configImpl = audioConfig;\n return new Exports_3.TranscriptionServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\n };\n return TranscriberRecognizer;\n}(Exports_2.Recognizer));\nexports.TranscriberRecognizer = TranscriberRecognizer;\n\n//# sourceMappingURL=TranscriberRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.TranslationConnectionFactory = void 0;\nvar Exports_1 = require(\"../common.browser/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar ConnectionFactoryBase_1 = require(\"./ConnectionFactoryBase\");\nvar Exports_3 = require(\"./Exports\");\nvar HeaderNames_1 = require(\"./HeaderNames\");\nvar QueryParameterNames_1 = require(\"./QueryParameterNames\");\nvar TranslationConnectionFactory = /** @class */ (function (_super) {\n __extends(TranslationConnectionFactory, _super);\n function TranslationConnectionFactory() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.create = function (config, authInfo, connectionId) {\n var endpoint = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, undefined);\n if (!endpoint) {\n var region = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, undefined);\n var hostSuffix = (region && region.toLowerCase().startsWith(\"china\")) ? \".azure.cn\" : \".microsoft.com\";\n var host = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, \"wss://\" + region + \".s2s.speech\" + hostSuffix);\n endpoint = host + \"/speech/translation/cognitiveservices/v1\";\n }\n var queryParams = {\n from: config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage),\n to: config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationToLanguages),\n };\n _this.setCommonUrlParams(config, queryParams, endpoint);\n _this.setUrlParameter(Exports_2.PropertyId.SpeechServiceResponse_TranslationRequestStablePartialResult, QueryParameterNames_1.QueryParameterNames.StableTranslation, config, queryParams, endpoint);\n var voiceName = \"voice\";\n var featureName = \"features\";\n if (config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationVoice, undefined) !== undefined) {\n queryParams[voiceName] = config.parameters.getProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationVoice);\n queryParams[featureName] = \"texttospeech\";\n }\n var headers = {};\n if (authInfo.token !== undefined && authInfo.token !== \"\") {\n headers[authInfo.headerName] = authInfo.token;\n }\n headers[HeaderNames_1.HeaderNames.ConnectionId] = connectionId;\n config.parameters.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Url, endpoint);\n var enableCompression = config.parameters.getProperty(\"SPEECH-EnableWebsocketCompression\", \"false\") === \"true\";\n return new Exports_1.WebsocketConnection(endpoint, queryParams, headers, new Exports_3.WebsocketMessageFormatter(), Exports_1.ProxyInfo.fromRecognizerConfig(config), enableCompression, connectionId);\n };\n return _this;\n }\n return TranslationConnectionFactory;\n}(ConnectionFactoryBase_1.ConnectionFactoryBase));\nexports.TranslationConnectionFactory = TranslationConnectionFactory;\n\n//# sourceMappingURL=TranslationConnectionFactory.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationServiceRecognizer = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar Exports_2 = require(\"../sdk/Exports\");\nvar Exports_3 = require(\"./Exports\");\n// tslint:disable-next-line:max-classes-per-file\nvar TranslationServiceRecognizer = /** @class */ (function (_super) {\n __extends(TranslationServiceRecognizer, _super);\n function TranslationServiceRecognizer(authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer) {\n var _this = _super.call(this, authentication, connectionFactory, audioSource, recognizerConfig, translationRecognizer) || this;\n _this.privTranslationRecognizer = translationRecognizer;\n _this.connectionEvents.attach(function (connectionEvent) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(connectionEvent.name === \"ConnectionEstablishedEvent\")) return [3 /*break*/, 1];\n this.privTranslationRecognizer.onConnection();\n return [3 /*break*/, 3];\n case 1:\n if (!(connectionEvent.name === \"ConnectionClosedEvent\")) return [3 /*break*/, 3];\n return [4 /*yield*/, this.privTranslationRecognizer.onDisconnection()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n }); });\n return _this;\n }\n TranslationServiceRecognizer.prototype.processTypeSpecificMessages = function (connectionMessage) {\n return __awaiter(this, void 0, void 0, function () {\n var resultProps, processed, _a, result, translatedPhrase, result_1, reason, result_2, cancelReason, ev, synthEnd, result_3, retEvent, canceledResult;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n resultProps = new Exports_2.PropertyCollection();\n processed = false;\n if (connectionMessage.messageType === Exports_1.MessageType.Text) {\n resultProps.setProperty(Exports_2.PropertyId.SpeechServiceResponse_JsonResult, connectionMessage.textBody);\n }\n _a = connectionMessage.path.toLowerCase();\n switch (_a) {\n case \"translation.hypothesis\": return [3 /*break*/, 1];\n case \"translation.phrase\": return [3 /*break*/, 2];\n case \"translation.synthesis\": return [3 /*break*/, 7];\n case \"translation.synthesis.end\": return [3 /*break*/, 8];\n }\n return [3 /*break*/, 9];\n case 1:\n result = this.fireEventForResult(Exports_3.TranslationHypothesis.fromJSON(connectionMessage.textBody), resultProps);\n this.privRequestSession.onHypothesis(this.privRequestSession.currentTurnAudioOffset + result.offset);\n if (!!this.privTranslationRecognizer.recognizing) {\n try {\n this.privTranslationRecognizer.recognizing(this.privTranslationRecognizer, result);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n processed = true;\n return [3 /*break*/, 10];\n case 2:\n translatedPhrase = Exports_3.TranslationPhrase.fromJSON(connectionMessage.textBody);\n this.privRequestSession.onPhraseRecognized(this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset + translatedPhrase.Duration);\n if (!(translatedPhrase.RecognitionStatus === Exports_3.RecognitionStatus.Success)) return [3 /*break*/, 3];\n result_1 = this.fireEventForResult(translatedPhrase, resultProps);\n if (!!this.privTranslationRecognizer.recognized) {\n try {\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, result_1);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result_1.result);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n return [3 /*break*/, 10];\n case 3:\n reason = Exports_3.EnumTranslation.implTranslateRecognitionResult(translatedPhrase.RecognitionStatus);\n result_2 = new Exports_2.TranslationRecognitionResult(undefined, this.privRequestSession.requestId, reason, translatedPhrase.Text, translatedPhrase.Duration, this.privRequestSession.currentTurnAudioOffset + translatedPhrase.Offset, undefined, connectionMessage.textBody, resultProps);\n if (!(reason === Exports_2.ResultReason.Canceled)) return [3 /*break*/, 5];\n cancelReason = Exports_3.EnumTranslation.implTranslateCancelResult(translatedPhrase.RecognitionStatus);\n return [4 /*yield*/, this.cancelRecognitionLocal(cancelReason, Exports_3.EnumTranslation.implTranslateCancelErrorCode(translatedPhrase.RecognitionStatus), undefined)];\n case 4:\n _b.sent();\n return [3 /*break*/, 6];\n case 5:\n if (!(this.privRequestSession.isSpeechEnded && reason === Exports_2.ResultReason.NoMatch && translatedPhrase.RecognitionStatus !== Exports_3.RecognitionStatus.InitialSilenceTimeout)) {\n ev = new Exports_2.TranslationRecognitionEventArgs(result_2, result_2.offset, this.privRequestSession.sessionId);\n if (!!this.privTranslationRecognizer.recognized) {\n try {\n this.privTranslationRecognizer.recognized(this.privTranslationRecognizer, ev);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n }\n // report result to promise.\n if (!!this.privSuccessCallback) {\n try {\n this.privSuccessCallback(result_2);\n }\n catch (e) {\n if (!!this.privErrorCallback) {\n this.privErrorCallback(e);\n }\n }\n // Only invoke the call back once.\n // and if it's successful don't invoke the\n // error after that.\n this.privSuccessCallback = undefined;\n this.privErrorCallback = undefined;\n }\n _b.label = 6;\n case 6:\n processed = true;\n return [3 /*break*/, 10];\n case 7:\n this.sendSynthesisAudio(connectionMessage.binaryBody, this.privRequestSession.sessionId);\n processed = true;\n return [3 /*break*/, 10];\n case 8:\n synthEnd = Exports_3.TranslationSynthesisEnd.fromJSON(connectionMessage.textBody);\n switch (synthEnd.SynthesisStatus) {\n case Exports_3.SynthesisStatus.Error:\n if (!!this.privTranslationRecognizer.synthesizing) {\n result_3 = new Exports_2.TranslationSynthesisResult(Exports_2.ResultReason.Canceled, undefined);\n retEvent = new Exports_2.TranslationSynthesisEventArgs(result_3, this.privRequestSession.sessionId);\n try {\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n if (!!this.privTranslationRecognizer.canceled) {\n canceledResult = new Exports_2.TranslationRecognitionCanceledEventArgs(this.privRequestSession.sessionId, Exports_2.CancellationReason.Error, synthEnd.FailureReason, Exports_2.CancellationErrorCode.ServiceError, null);\n try {\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, canceledResult);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n break;\n case Exports_3.SynthesisStatus.Success:\n this.sendSynthesisAudio(undefined, this.privRequestSession.sessionId);\n break;\n default:\n break;\n }\n processed = true;\n return [3 /*break*/, 10];\n case 9: return [3 /*break*/, 10];\n case 10: return [2 /*return*/, processed];\n }\n });\n });\n };\n // Cancels recognition.\n TranslationServiceRecognizer.prototype.cancelRecognition = function (sessionId, requestId, cancellationReason, errorCode, error) {\n var properties = new Exports_2.PropertyCollection();\n properties.setProperty(Exports_3.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[errorCode]);\n if (!!this.privTranslationRecognizer.canceled) {\n var cancelEvent = new Exports_2.TranslationRecognitionCanceledEventArgs(sessionId, cancellationReason, error, errorCode, undefined);\n try {\n this.privTranslationRecognizer.canceled(this.privTranslationRecognizer, cancelEvent);\n /* tslint:disable:no-empty */\n }\n catch (_a) { }\n }\n if (!!this.privSuccessCallback) {\n var result = new Exports_2.TranslationRecognitionResult(undefined, // Translations\n requestId, Exports_2.ResultReason.Canceled, undefined, // Text\n undefined, // Druation\n undefined, // Offset\n error, undefined, // Json\n properties);\n try {\n this.privSuccessCallback(result);\n /* tslint:disable:no-empty */\n this.privSuccessCallback = undefined;\n }\n catch (_b) { }\n }\n };\n TranslationServiceRecognizer.prototype.fireEventForResult = function (serviceResult, properties) {\n var translations;\n if (undefined !== serviceResult.Translation.Translations) {\n translations = new Exports_2.Translations();\n for (var _i = 0, _a = serviceResult.Translation.Translations; _i < _a.length; _i++) {\n var translation = _a[_i];\n translations.set(translation.Language, translation.Text);\n }\n }\n var resultReason;\n if (serviceResult instanceof Exports_3.TranslationPhrase) {\n if (serviceResult.Translation.TranslationStatus === Exports_1.TranslationStatus.Success) {\n resultReason = Exports_2.ResultReason.TranslatedSpeech;\n }\n else {\n resultReason = Exports_2.ResultReason.RecognizedSpeech;\n }\n }\n else {\n resultReason = Exports_2.ResultReason.TranslatingSpeech;\n }\n var offset = serviceResult.Offset + this.privRequestSession.currentTurnAudioOffset;\n var result = new Exports_2.TranslationRecognitionResult(translations, this.privRequestSession.requestId, resultReason, serviceResult.Text, serviceResult.Duration, offset, serviceResult.Translation.FailureReason, JSON.stringify(serviceResult), properties);\n var ev = new Exports_2.TranslationRecognitionEventArgs(result, offset, this.privRequestSession.sessionId);\n return ev;\n };\n TranslationServiceRecognizer.prototype.sendSynthesisAudio = function (audio, sessionId) {\n var reason = (undefined === audio) ? Exports_2.ResultReason.SynthesizingAudioCompleted : Exports_2.ResultReason.SynthesizingAudio;\n var result = new Exports_2.TranslationSynthesisResult(reason, audio);\n var retEvent = new Exports_2.TranslationSynthesisEventArgs(result, sessionId);\n if (!!this.privTranslationRecognizer.synthesizing) {\n try {\n this.privTranslationRecognizer.synthesizing(this.privTranslationRecognizer, retEvent);\n /* tslint:disable:no-empty */\n }\n catch (error) {\n // Not going to let errors in the event handler\n // trip things up.\n }\n }\n };\n return TranslationServiceRecognizer;\n}(Exports_3.ServiceRecognizerBase));\nexports.TranslationServiceRecognizer = TranslationServiceRecognizer;\n\n//# sourceMappingURL=TranslationServiceRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationStatus = void 0;\n/**\n * Defines translation status.\n * @class TranslationStatus\n */\nvar TranslationStatus;\n(function (TranslationStatus) {\n /**\n * @member TranslationStatus.Success\n */\n TranslationStatus[TranslationStatus[\"Success\"] = 0] = \"Success\";\n /**\n * @member TranslationStatus.Error\n */\n TranslationStatus[TranslationStatus[\"Error\"] = 1] = \"Error\";\n})(TranslationStatus = exports.TranslationStatus || (exports.TranslationStatus = {}));\n\n//# sourceMappingURL=TranslationStatus.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebsocketMessageFormatter = void 0;\nvar Exports_1 = require(\"../common/Exports\");\nvar CRLF = \"\\r\\n\";\nvar WebsocketMessageFormatter = /** @class */ (function () {\n function WebsocketMessageFormatter() {\n var _this = this;\n this.toConnectionMessage = function (message) {\n var deferral = new Exports_1.Deferred();\n try {\n if (message.messageType === Exports_1.MessageType.Text) {\n var textMessage = message.textContent;\n var headers = {};\n var body = null;\n if (textMessage) {\n var headerBodySplit = textMessage.split(\"\\r\\n\\r\\n\");\n if (headerBodySplit && headerBodySplit.length > 0) {\n headers = _this.parseHeaders(headerBodySplit[0]);\n if (headerBodySplit.length > 1) {\n body = headerBodySplit[1];\n }\n }\n }\n deferral.resolve(new Exports_1.ConnectionMessage(message.messageType, body, headers, message.id));\n }\n else if (message.messageType === Exports_1.MessageType.Binary) {\n var binaryMessage = message.binaryContent;\n var headers = {};\n var body = null;\n if (!binaryMessage || binaryMessage.byteLength < 2) {\n throw new Error(\"Invalid binary message format. Header length missing.\");\n }\n var dataView = new DataView(binaryMessage);\n var headerLength = dataView.getInt16(0);\n if (binaryMessage.byteLength < headerLength + 2) {\n throw new Error(\"Invalid binary message format. Header content missing.\");\n }\n var headersString = \"\";\n for (var i = 0; i < headerLength; i++) {\n headersString += String.fromCharCode((dataView).getInt8(i + 2));\n }\n headers = _this.parseHeaders(headersString);\n if (binaryMessage.byteLength > headerLength + 2) {\n body = binaryMessage.slice(2 + headerLength);\n }\n deferral.resolve(new Exports_1.ConnectionMessage(message.messageType, body, headers, message.id));\n }\n }\n catch (e) {\n deferral.reject(\"Error formatting the message. Error: \" + e);\n }\n return deferral.promise;\n };\n this.fromConnectionMessage = function (message) {\n var deferral = new Exports_1.Deferred();\n try {\n if (message.messageType === Exports_1.MessageType.Text) {\n var payload = \"\" + _this.makeHeaders(message) + CRLF + (message.textBody ? message.textBody : \"\");\n deferral.resolve(new Exports_1.RawWebsocketMessage(Exports_1.MessageType.Text, payload, message.id));\n }\n else if (message.messageType === Exports_1.MessageType.Binary) {\n var headersString = _this.makeHeaders(message);\n var content = message.binaryBody;\n var headerBuffer = _this.stringToArrayBuffer(headersString);\n var headerInt8Array = new Int8Array(headerBuffer);\n var headerLength = headerInt8Array.byteLength;\n var payloadInt8Array = new Int8Array(2 + headerLength + (content ? content.byteLength : 0));\n payloadInt8Array[0] = ((headerLength >> 8) & 0xff);\n payloadInt8Array[1] = headerLength & 0xff;\n payloadInt8Array.set(headerInt8Array, 2);\n if (content) {\n var bodyInt8Array = new Int8Array(content);\n payloadInt8Array.set(bodyInt8Array, 2 + headerLength);\n }\n var payload = payloadInt8Array.buffer;\n deferral.resolve(new Exports_1.RawWebsocketMessage(Exports_1.MessageType.Binary, payload, message.id));\n }\n }\n catch (e) {\n deferral.reject(\"Error formatting the message. \" + e);\n }\n return deferral.promise;\n };\n this.makeHeaders = function (message) {\n var headersString = \"\";\n if (message.headers) {\n for (var header in message.headers) {\n if (header) {\n headersString += header + \": \" + message.headers[header] + CRLF;\n }\n }\n }\n return headersString;\n };\n this.parseHeaders = function (headersString) {\n var headers = {};\n if (headersString) {\n var headerMatches = headersString.match(/[^\\r\\n]+/g);\n if (headers) {\n for (var _i = 0, headerMatches_1 = headerMatches; _i < headerMatches_1.length; _i++) {\n var header = headerMatches_1[_i];\n if (header) {\n var separatorIndex = header.indexOf(\":\");\n var headerName = separatorIndex > 0 ? header.substr(0, separatorIndex).trim().toLowerCase() : header;\n var headerValue = separatorIndex > 0 && header.length > (separatorIndex + 1) ?\n header.substr(separatorIndex + 1).trim() :\n \"\";\n headers[headerName] = headerValue;\n }\n }\n }\n }\n return headers;\n };\n this.stringToArrayBuffer = function (str) {\n var buffer = new ArrayBuffer(str.length);\n var view = new DataView(buffer);\n for (var i = 0; i < str.length; i++) {\n view.setUint8(i, str.charCodeAt(i));\n }\n return buffer;\n };\n }\n return WebsocketMessageFormatter;\n}());\nexports.WebsocketMessageFormatter = WebsocketMessageFormatter;\n\n//# sourceMappingURL=WebsocketMessageFormatter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.AudioStreamNodeErrorEvent = exports.AudioStreamNodeDetachedEvent = exports.AudioStreamNodeAttachedEvent = exports.AudioStreamNodeAttachingEvent = exports.AudioStreamNodeEvent = exports.AudioSourceErrorEvent = exports.AudioSourceOffEvent = exports.AudioSourceReadyEvent = exports.AudioSourceInitializingEvent = exports.AudioSourceEvent = void 0;\n// tslint:disable:max-classes-per-file\nvar PlatformEvent_1 = require(\"./PlatformEvent\");\nvar AudioSourceEvent = /** @class */ (function (_super) {\n __extends(AudioSourceEvent, _super);\n function AudioSourceEvent(eventName, audioSourceId, eventType) {\n if (eventType === void 0) { eventType = PlatformEvent_1.EventType.Info; }\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privAudioSourceId = audioSourceId;\n return _this;\n }\n Object.defineProperty(AudioSourceEvent.prototype, \"audioSourceId\", {\n get: function () {\n return this.privAudioSourceId;\n },\n enumerable: false,\n configurable: true\n });\n return AudioSourceEvent;\n}(PlatformEvent_1.PlatformEvent));\nexports.AudioSourceEvent = AudioSourceEvent;\nvar AudioSourceInitializingEvent = /** @class */ (function (_super) {\n __extends(AudioSourceInitializingEvent, _super);\n function AudioSourceInitializingEvent(audioSourceId) {\n return _super.call(this, \"AudioSourceInitializingEvent\", audioSourceId) || this;\n }\n return AudioSourceInitializingEvent;\n}(AudioSourceEvent));\nexports.AudioSourceInitializingEvent = AudioSourceInitializingEvent;\nvar AudioSourceReadyEvent = /** @class */ (function (_super) {\n __extends(AudioSourceReadyEvent, _super);\n function AudioSourceReadyEvent(audioSourceId) {\n return _super.call(this, \"AudioSourceReadyEvent\", audioSourceId) || this;\n }\n return AudioSourceReadyEvent;\n}(AudioSourceEvent));\nexports.AudioSourceReadyEvent = AudioSourceReadyEvent;\nvar AudioSourceOffEvent = /** @class */ (function (_super) {\n __extends(AudioSourceOffEvent, _super);\n function AudioSourceOffEvent(audioSourceId) {\n return _super.call(this, \"AudioSourceOffEvent\", audioSourceId) || this;\n }\n return AudioSourceOffEvent;\n}(AudioSourceEvent));\nexports.AudioSourceOffEvent = AudioSourceOffEvent;\nvar AudioSourceErrorEvent = /** @class */ (function (_super) {\n __extends(AudioSourceErrorEvent, _super);\n function AudioSourceErrorEvent(audioSourceId, error) {\n var _this = _super.call(this, \"AudioSourceErrorEvent\", audioSourceId, PlatformEvent_1.EventType.Error) || this;\n _this.privError = error;\n return _this;\n }\n Object.defineProperty(AudioSourceErrorEvent.prototype, \"error\", {\n get: function () {\n return this.privError;\n },\n enumerable: false,\n configurable: true\n });\n return AudioSourceErrorEvent;\n}(AudioSourceEvent));\nexports.AudioSourceErrorEvent = AudioSourceErrorEvent;\nvar AudioStreamNodeEvent = /** @class */ (function (_super) {\n __extends(AudioStreamNodeEvent, _super);\n function AudioStreamNodeEvent(eventName, audioSourceId, audioNodeId) {\n var _this = _super.call(this, eventName, audioSourceId) || this;\n _this.privAudioNodeId = audioNodeId;\n return _this;\n }\n Object.defineProperty(AudioStreamNodeEvent.prototype, \"audioNodeId\", {\n get: function () {\n return this.privAudioNodeId;\n },\n enumerable: false,\n configurable: true\n });\n return AudioStreamNodeEvent;\n}(AudioSourceEvent));\nexports.AudioStreamNodeEvent = AudioStreamNodeEvent;\nvar AudioStreamNodeAttachingEvent = /** @class */ (function (_super) {\n __extends(AudioStreamNodeAttachingEvent, _super);\n function AudioStreamNodeAttachingEvent(audioSourceId, audioNodeId) {\n return _super.call(this, \"AudioStreamNodeAttachingEvent\", audioSourceId, audioNodeId) || this;\n }\n return AudioStreamNodeAttachingEvent;\n}(AudioStreamNodeEvent));\nexports.AudioStreamNodeAttachingEvent = AudioStreamNodeAttachingEvent;\nvar AudioStreamNodeAttachedEvent = /** @class */ (function (_super) {\n __extends(AudioStreamNodeAttachedEvent, _super);\n function AudioStreamNodeAttachedEvent(audioSourceId, audioNodeId) {\n return _super.call(this, \"AudioStreamNodeAttachedEvent\", audioSourceId, audioNodeId) || this;\n }\n return AudioStreamNodeAttachedEvent;\n}(AudioStreamNodeEvent));\nexports.AudioStreamNodeAttachedEvent = AudioStreamNodeAttachedEvent;\nvar AudioStreamNodeDetachedEvent = /** @class */ (function (_super) {\n __extends(AudioStreamNodeDetachedEvent, _super);\n function AudioStreamNodeDetachedEvent(audioSourceId, audioNodeId) {\n return _super.call(this, \"AudioStreamNodeDetachedEvent\", audioSourceId, audioNodeId) || this;\n }\n return AudioStreamNodeDetachedEvent;\n}(AudioStreamNodeEvent));\nexports.AudioStreamNodeDetachedEvent = AudioStreamNodeDetachedEvent;\nvar AudioStreamNodeErrorEvent = /** @class */ (function (_super) {\n __extends(AudioStreamNodeErrorEvent, _super);\n function AudioStreamNodeErrorEvent(audioSourceId, audioNodeId, error) {\n var _this = _super.call(this, \"AudioStreamNodeErrorEvent\", audioSourceId, audioNodeId) || this;\n _this.privError = error;\n return _this;\n }\n Object.defineProperty(AudioStreamNodeErrorEvent.prototype, \"error\", {\n get: function () {\n return this.privError;\n },\n enumerable: false,\n configurable: true\n });\n return AudioStreamNodeErrorEvent;\n}(AudioStreamNodeEvent));\nexports.AudioStreamNodeErrorEvent = AudioStreamNodeErrorEvent;\n\n//# sourceMappingURL=AudioSourceEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.BackgroundEvent = void 0;\nvar Exports_1 = require(\"./Exports\");\nvar BackgroundEvent = /** @class */ (function (_super) {\n __extends(BackgroundEvent, _super);\n function BackgroundEvent(error) {\n var _this = _super.call(this, \"BackgroundEvent\", Exports_1.EventType.Error) || this;\n _this.privError = error;\n return _this;\n }\n Object.defineProperty(BackgroundEvent.prototype, \"error\", {\n get: function () {\n return this.privError;\n },\n enumerable: false,\n configurable: true\n });\n return BackgroundEvent;\n}(Exports_1.PlatformEvent));\nexports.BackgroundEvent = BackgroundEvent;\n\n//# sourceMappingURL=BackgroundError.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ChunkedArrayBufferStream = void 0;\nvar Exports_1 = require(\"./Exports\");\nvar ChunkedArrayBufferStream = /** @class */ (function (_super) {\n __extends(ChunkedArrayBufferStream, _super);\n function ChunkedArrayBufferStream(targetChunkSize, streamId) {\n var _this = _super.call(this, streamId) || this;\n _this.privTargetChunkSize = targetChunkSize;\n _this.privNextBufferReadyBytes = 0;\n return _this;\n }\n ChunkedArrayBufferStream.prototype.writeStreamChunk = function (chunk) {\n // No pending write, and the buffer is the right size so write it.\n if (chunk.isEnd ||\n (0 === this.privNextBufferReadyBytes && chunk.buffer.byteLength === this.privTargetChunkSize)) {\n _super.prototype.writeStreamChunk.call(this, chunk);\n return;\n }\n var bytesCopiedFromBuffer = 0;\n while (bytesCopiedFromBuffer < chunk.buffer.byteLength) {\n // Fill the next buffer.\n if (undefined === this.privNextBufferToWrite) {\n this.privNextBufferToWrite = new ArrayBuffer(this.privTargetChunkSize);\n this.privNextBufferStartTime = chunk.timeReceived;\n }\n // Find out how many bytes we can copy into the read buffer.\n var bytesToCopy = Math.min(chunk.buffer.byteLength - bytesCopiedFromBuffer, this.privTargetChunkSize - this.privNextBufferReadyBytes);\n var targetView = new Uint8Array(this.privNextBufferToWrite);\n var sourceView = new Uint8Array(chunk.buffer.slice(bytesCopiedFromBuffer, bytesToCopy + bytesCopiedFromBuffer));\n targetView.set(sourceView, this.privNextBufferReadyBytes);\n this.privNextBufferReadyBytes += bytesToCopy;\n bytesCopiedFromBuffer += bytesToCopy;\n // Are we ready to write?\n if (this.privNextBufferReadyBytes === this.privTargetChunkSize) {\n _super.prototype.writeStreamChunk.call(this, {\n buffer: this.privNextBufferToWrite,\n isEnd: false,\n timeReceived: this.privNextBufferStartTime,\n });\n this.privNextBufferReadyBytes = 0;\n this.privNextBufferToWrite = undefined;\n }\n }\n };\n ChunkedArrayBufferStream.prototype.close = function () {\n // Send whatever is pending, then close the base class.\n if (0 !== this.privNextBufferReadyBytes && !this.isClosed) {\n _super.prototype.writeStreamChunk.call(this, {\n buffer: this.privNextBufferToWrite.slice(0, this.privNextBufferReadyBytes),\n isEnd: false,\n timeReceived: this.privNextBufferStartTime,\n });\n }\n _super.prototype.close.call(this);\n };\n return ChunkedArrayBufferStream;\n}(Exports_1.Stream));\nexports.ChunkedArrayBufferStream = ChunkedArrayBufferStream;\n\n//# sourceMappingURL=ChunkedArrayBufferStream.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConnectionMessageSentEvent = exports.ConnectionMessageReceivedEvent = exports.ConnectionEstablishErrorEvent = exports.ConnectionErrorEvent = exports.ConnectionClosedEvent = exports.ConnectionEstablishedEvent = exports.ConnectionStartEvent = exports.ConnectionEvent = exports.ServiceEvent = void 0;\nvar PlatformEvent_1 = require(\"./PlatformEvent\");\nvar ServiceEvent = /** @class */ (function (_super) {\n __extends(ServiceEvent, _super);\n function ServiceEvent(eventName, jsonstring, eventType) {\n if (eventType === void 0) { eventType = PlatformEvent_1.EventType.Info; }\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privJsonResult = jsonstring;\n return _this;\n }\n Object.defineProperty(ServiceEvent.prototype, \"jsonString\", {\n get: function () {\n return this.privJsonResult;\n },\n enumerable: false,\n configurable: true\n });\n return ServiceEvent;\n}(PlatformEvent_1.PlatformEvent));\nexports.ServiceEvent = ServiceEvent;\nvar ConnectionEvent = /** @class */ (function (_super) {\n __extends(ConnectionEvent, _super);\n function ConnectionEvent(eventName, connectionId, eventType) {\n if (eventType === void 0) { eventType = PlatformEvent_1.EventType.Info; }\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privConnectionId = connectionId;\n return _this;\n }\n Object.defineProperty(ConnectionEvent.prototype, \"connectionId\", {\n get: function () {\n return this.privConnectionId;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionEvent;\n}(PlatformEvent_1.PlatformEvent));\nexports.ConnectionEvent = ConnectionEvent;\nvar ConnectionStartEvent = /** @class */ (function (_super) {\n __extends(ConnectionStartEvent, _super);\n function ConnectionStartEvent(connectionId, uri, headers) {\n var _this = _super.call(this, \"ConnectionStartEvent\", connectionId) || this;\n _this.privUri = uri;\n _this.privHeaders = headers;\n return _this;\n }\n Object.defineProperty(ConnectionStartEvent.prototype, \"uri\", {\n get: function () {\n return this.privUri;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionStartEvent.prototype, \"headers\", {\n get: function () {\n return this.privHeaders;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionStartEvent;\n}(ConnectionEvent));\nexports.ConnectionStartEvent = ConnectionStartEvent;\nvar ConnectionEstablishedEvent = /** @class */ (function (_super) {\n __extends(ConnectionEstablishedEvent, _super);\n function ConnectionEstablishedEvent(connectionId, metadata) {\n return _super.call(this, \"ConnectionEstablishedEvent\", connectionId) || this;\n }\n return ConnectionEstablishedEvent;\n}(ConnectionEvent));\nexports.ConnectionEstablishedEvent = ConnectionEstablishedEvent;\nvar ConnectionClosedEvent = /** @class */ (function (_super) {\n __extends(ConnectionClosedEvent, _super);\n function ConnectionClosedEvent(connectionId, statusCode, reason) {\n var _this = _super.call(this, \"ConnectionClosedEvent\", connectionId, PlatformEvent_1.EventType.Debug) || this;\n _this.privReason = reason;\n _this.privStatusCode = statusCode;\n return _this;\n }\n Object.defineProperty(ConnectionClosedEvent.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionClosedEvent.prototype, \"statusCode\", {\n get: function () {\n return this.privStatusCode;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionClosedEvent;\n}(ConnectionEvent));\nexports.ConnectionClosedEvent = ConnectionClosedEvent;\nvar ConnectionErrorEvent = /** @class */ (function (_super) {\n __extends(ConnectionErrorEvent, _super);\n function ConnectionErrorEvent(connectionId, message, type) {\n var _this = _super.call(this, \"ConnectionErrorEvent\", connectionId, PlatformEvent_1.EventType.Debug) || this;\n _this.privMessage = message;\n _this.privType = type;\n return _this;\n }\n Object.defineProperty(ConnectionErrorEvent.prototype, \"message\", {\n get: function () {\n return this.privMessage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionErrorEvent.prototype, \"type\", {\n get: function () {\n return this.privType;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionErrorEvent;\n}(ConnectionEvent));\nexports.ConnectionErrorEvent = ConnectionErrorEvent;\nvar ConnectionEstablishErrorEvent = /** @class */ (function (_super) {\n __extends(ConnectionEstablishErrorEvent, _super);\n function ConnectionEstablishErrorEvent(connectionId, statuscode, reason) {\n var _this = _super.call(this, \"ConnectionEstablishErrorEvent\", connectionId, PlatformEvent_1.EventType.Error) || this;\n _this.privStatusCode = statuscode;\n _this.privReason = reason;\n return _this;\n }\n Object.defineProperty(ConnectionEstablishErrorEvent.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionEstablishErrorEvent.prototype, \"statusCode\", {\n get: function () {\n return this.privStatusCode;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionEstablishErrorEvent;\n}(ConnectionEvent));\nexports.ConnectionEstablishErrorEvent = ConnectionEstablishErrorEvent;\nvar ConnectionMessageReceivedEvent = /** @class */ (function (_super) {\n __extends(ConnectionMessageReceivedEvent, _super);\n function ConnectionMessageReceivedEvent(connectionId, networkReceivedTimeISO, message) {\n var _this = _super.call(this, \"ConnectionMessageReceivedEvent\", connectionId) || this;\n _this.privNetworkReceivedTime = networkReceivedTimeISO;\n _this.privMessage = message;\n return _this;\n }\n Object.defineProperty(ConnectionMessageReceivedEvent.prototype, \"networkReceivedTime\", {\n get: function () {\n return this.privNetworkReceivedTime;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageReceivedEvent.prototype, \"message\", {\n get: function () {\n return this.privMessage;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionMessageReceivedEvent;\n}(ConnectionEvent));\nexports.ConnectionMessageReceivedEvent = ConnectionMessageReceivedEvent;\nvar ConnectionMessageSentEvent = /** @class */ (function (_super) {\n __extends(ConnectionMessageSentEvent, _super);\n function ConnectionMessageSentEvent(connectionId, networkSentTimeISO, message) {\n var _this = _super.call(this, \"ConnectionMessageSentEvent\", connectionId) || this;\n _this.privNetworkSentTime = networkSentTimeISO;\n _this.privMessage = message;\n return _this;\n }\n Object.defineProperty(ConnectionMessageSentEvent.prototype, \"networkSentTime\", {\n get: function () {\n return this.privNetworkSentTime;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageSentEvent.prototype, \"message\", {\n get: function () {\n return this.privMessage;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionMessageSentEvent;\n}(ConnectionEvent));\nexports.ConnectionMessageSentEvent = ConnectionMessageSentEvent;\n\n//# sourceMappingURL=ConnectionEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionMessage = exports.MessageType = void 0;\nvar Error_1 = require(\"./Error\");\nvar Guid_1 = require(\"./Guid\");\nvar MessageType;\n(function (MessageType) {\n MessageType[MessageType[\"Text\"] = 0] = \"Text\";\n MessageType[MessageType[\"Binary\"] = 1] = \"Binary\";\n})(MessageType = exports.MessageType || (exports.MessageType = {}));\nvar ConnectionMessage = /** @class */ (function () {\n function ConnectionMessage(messageType, body, headers, id) {\n this.privBody = null;\n if (messageType === MessageType.Text && body && !(typeof (body) === \"string\")) {\n throw new Error_1.InvalidOperationError(\"Payload must be a string\");\n }\n if (messageType === MessageType.Binary && body && !(body instanceof ArrayBuffer)) {\n throw new Error_1.InvalidOperationError(\"Payload must be ArrayBuffer\");\n }\n this.privMessageType = messageType;\n this.privBody = body;\n this.privHeaders = headers ? headers : {};\n this.privId = id ? id : Guid_1.createNoDashGuid();\n switch (this.messageType) {\n case MessageType.Binary:\n this.privSize = this.binaryBody !== null ? this.binaryBody.byteLength : 0;\n break;\n case MessageType.Text:\n this.privSize = this.textBody.length;\n }\n }\n Object.defineProperty(ConnectionMessage.prototype, \"messageType\", {\n get: function () {\n return this.privMessageType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessage.prototype, \"headers\", {\n get: function () {\n return this.privHeaders;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessage.prototype, \"body\", {\n get: function () {\n return this.privBody;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessage.prototype, \"textBody\", {\n get: function () {\n if (this.privMessageType === MessageType.Binary) {\n throw new Error_1.InvalidOperationError(\"Not supported for binary message\");\n }\n return this.privBody;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessage.prototype, \"binaryBody\", {\n get: function () {\n if (this.privMessageType === MessageType.Text) {\n throw new Error_1.InvalidOperationError(\"Not supported for text message\");\n }\n return this.privBody;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessage.prototype, \"id\", {\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionMessage;\n}());\nexports.ConnectionMessage = ConnectionMessage;\n\n//# sourceMappingURL=ConnectionMessage.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionOpenResponse = void 0;\nvar ConnectionOpenResponse = /** @class */ (function () {\n function ConnectionOpenResponse(statusCode, reason) {\n this.privStatusCode = statusCode;\n this.privReason = reason;\n }\n Object.defineProperty(ConnectionOpenResponse.prototype, \"statusCode\", {\n get: function () {\n return this.privStatusCode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionOpenResponse.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n return ConnectionOpenResponse;\n}());\nexports.ConnectionOpenResponse = ConnectionOpenResponse;\n\n//# sourceMappingURL=ConnectionOpenResponse.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SendingAgentContextMessageEvent = exports.DialogEvent = void 0;\nvar PlatformEvent_1 = require(\"./PlatformEvent\");\nvar DialogEvent = /** @class */ (function (_super) {\n __extends(DialogEvent, _super);\n function DialogEvent(eventName, eventType) {\n if (eventType === void 0) { eventType = PlatformEvent_1.EventType.Info; }\n return _super.call(this, eventName, eventType) || this;\n }\n return DialogEvent;\n}(PlatformEvent_1.PlatformEvent));\nexports.DialogEvent = DialogEvent;\nvar SendingAgentContextMessageEvent = /** @class */ (function (_super) {\n __extends(SendingAgentContextMessageEvent, _super);\n function SendingAgentContextMessageEvent(agentConfig) {\n var _this = _super.call(this, \"SendingAgentContextMessageEvent\") || this;\n _this.privAgentConfig = agentConfig;\n return _this;\n }\n Object.defineProperty(SendingAgentContextMessageEvent.prototype, \"agentConfig\", {\n get: function () {\n return this.privAgentConfig;\n },\n enumerable: false,\n configurable: true\n });\n return SendingAgentContextMessageEvent;\n}(DialogEvent));\nexports.SendingAgentContextMessageEvent = SendingAgentContextMessageEvent;\n\n//# sourceMappingURL=DialogEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ObjectDisposedError = exports.InvalidOperationError = exports.ArgumentNullError = void 0;\n// tslint:disable:max-classes-per-file\n/**\n * The error that is thrown when an argument passed in is null.\n *\n * @export\n * @class ArgumentNullError\n * @extends {Error}\n */\nvar ArgumentNullError = /** @class */ (function (_super) {\n __extends(ArgumentNullError, _super);\n /**\n * Creates an instance of ArgumentNullError.\n *\n * @param {string} argumentName - Name of the argument that is null\n *\n * @memberOf ArgumentNullError\n */\n function ArgumentNullError(argumentName) {\n var _this = _super.call(this, argumentName) || this;\n _this.name = \"ArgumentNull\";\n _this.message = argumentName;\n return _this;\n }\n return ArgumentNullError;\n}(Error));\nexports.ArgumentNullError = ArgumentNullError;\n/**\n * The error that is thrown when an invalid operation is performed in the code.\n *\n * @export\n * @class InvalidOperationError\n * @extends {Error}\n */\nvar InvalidOperationError = /** @class */ (function (_super) {\n __extends(InvalidOperationError, _super);\n /**\n * Creates an instance of InvalidOperationError.\n *\n * @param {string} error - The error\n *\n * @memberOf InvalidOperationError\n */\n function InvalidOperationError(error) {\n var _this = _super.call(this, error) || this;\n _this.name = \"InvalidOperation\";\n _this.message = error;\n return _this;\n }\n return InvalidOperationError;\n}(Error));\nexports.InvalidOperationError = InvalidOperationError;\n/**\n * The error that is thrown when an object is disposed.\n *\n * @export\n * @class ObjectDisposedError\n * @extends {Error}\n */\n// tslint:disable-next-line:max-classes-per-file\nvar ObjectDisposedError = /** @class */ (function (_super) {\n __extends(ObjectDisposedError, _super);\n /**\n * Creates an instance of ObjectDisposedError.\n *\n * @param {string} objectName - The object that is disposed\n * @param {string} error - The error\n *\n * @memberOf ObjectDisposedError\n */\n function ObjectDisposedError(objectName, error) {\n var _this = _super.call(this, error) || this;\n _this.name = objectName + \"ObjectDisposed\";\n _this.message = error;\n return _this;\n }\n return ObjectDisposedError;\n}(Error));\nexports.ObjectDisposedError = ObjectDisposedError;\n\n//# sourceMappingURL=Error.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EventSource = void 0;\nvar Error_1 = require(\"./Error\");\nvar Guid_1 = require(\"./Guid\");\nvar EventSource = /** @class */ (function () {\n function EventSource(metadata) {\n var _this = this;\n this.privEventListeners = {};\n this.privIsDisposed = false;\n this.onEvent = function (event) {\n if (_this.isDisposed()) {\n throw (new Error_1.ObjectDisposedError(\"EventSource\"));\n }\n if (_this.metadata) {\n for (var paramName in _this.metadata) {\n if (paramName) {\n if (event.metadata) {\n if (!event.metadata[paramName]) {\n event.metadata[paramName] = _this.metadata[paramName];\n }\n }\n }\n }\n }\n for (var eventId in _this.privEventListeners) {\n if (eventId && _this.privEventListeners[eventId]) {\n _this.privEventListeners[eventId](event);\n }\n }\n };\n this.attach = function (onEventCallback) {\n var id = Guid_1.createNoDashGuid();\n _this.privEventListeners[id] = onEventCallback;\n return {\n detach: function () {\n delete _this.privEventListeners[id];\n return Promise.resolve();\n },\n };\n };\n this.attachListener = function (listener) {\n return _this.attach(listener.onEvent);\n };\n this.isDisposed = function () {\n return _this.privIsDisposed;\n };\n this.dispose = function () {\n _this.privEventListeners = null;\n _this.privIsDisposed = true;\n };\n this.privMetadata = metadata;\n }\n Object.defineProperty(EventSource.prototype, \"metadata\", {\n get: function () {\n return this.privMetadata;\n },\n enumerable: false,\n configurable: true\n });\n return EventSource;\n}());\nexports.EventSource = EventSource;\n\n//# sourceMappingURL=EventSource.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Events = void 0;\nvar Error_1 = require(\"./Error\");\nvar EventSource_1 = require(\"./EventSource\");\nvar Events = /** @class */ (function () {\n function Events() {\n }\n Object.defineProperty(Events, \"instance\", {\n get: function () {\n return Events.privInstance;\n },\n enumerable: false,\n configurable: true\n });\n Events.privInstance = new EventSource_1.EventSource();\n Events.setEventSource = function (eventSource) {\n if (!eventSource) {\n throw new Error_1.ArgumentNullError(\"eventSource\");\n }\n Events.privInstance = eventSource;\n };\n return Events;\n}());\nexports.Events = Events;\n\n//# sourceMappingURL=Events.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./AudioSourceEvents\"), exports);\n__exportStar(require(\"./ConnectionEvents\"), exports);\n__exportStar(require(\"./ConnectionMessage\"), exports);\n__exportStar(require(\"./ConnectionOpenResponse\"), exports);\n__exportStar(require(\"./DialogEvents\"), exports);\n__exportStar(require(\"./Error\"), exports);\n__exportStar(require(\"./Events\"), exports);\n__exportStar(require(\"./EventSource\"), exports);\n__exportStar(require(\"./Guid\"), exports);\n__exportStar(require(\"./IAudioSource\"), exports);\n__exportStar(require(\"./IConnection\"), exports);\n__exportStar(require(\"./IDetachable\"), exports);\n__exportStar(require(\"./IDictionary\"), exports);\n__exportStar(require(\"./IDisposable\"), exports);\n__exportStar(require(\"./IEventSource\"), exports);\n__exportStar(require(\"./IErrorMessages\"), exports);\n__exportStar(require(\"./ITimer\"), exports);\n__exportStar(require(\"./IWebsocketMessageFormatter\"), exports);\n__exportStar(require(\"./List\"), exports);\n__exportStar(require(\"./PlatformEvent\"), exports);\n__exportStar(require(\"./Promise\"), exports);\n__exportStar(require(\"./Queue\"), exports);\n__exportStar(require(\"./RawWebsocketMessage\"), exports);\n__exportStar(require(\"./RiffPcmEncoder\"), exports);\n__exportStar(require(\"./Stream\"), exports);\nvar TranslationStatus_1 = require(\"../common.speech/TranslationStatus\");\nObject.defineProperty(exports, \"TranslationStatus\", { enumerable: true, get: function () { return TranslationStatus_1.TranslationStatus; } });\n__exportStar(require(\"./ChunkedArrayBufferStream\"), exports);\n__exportStar(require(\"./IAudioDestination\"), exports);\n__exportStar(require(\"./Timeout\"), exports);\n__exportStar(require(\"./OCSPEvents\"), exports);\n__exportStar(require(\"./BackgroundError\"), exports);\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createNoDashGuid = exports.createGuid = void 0;\nvar uuid_1 = require(\"uuid\");\nvar createGuid = function () {\n return uuid_1.v4();\n};\nexports.createGuid = createGuid;\nvar createNoDashGuid = function () {\n return createGuid().replace(new RegExp(\"-\", \"g\"), \"\").toUpperCase();\n};\nexports.createNoDashGuid = createNoDashGuid;\n\n//# sourceMappingURL=Guid.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IAudioDestination.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IAudioSource.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionState = void 0;\nvar ConnectionState;\n(function (ConnectionState) {\n ConnectionState[ConnectionState[\"None\"] = 0] = \"None\";\n ConnectionState[ConnectionState[\"Connected\"] = 1] = \"Connected\";\n ConnectionState[ConnectionState[\"Connecting\"] = 2] = \"Connecting\";\n ConnectionState[ConnectionState[\"Disconnected\"] = 3] = \"Disconnected\";\n})(ConnectionState = exports.ConnectionState || (exports.ConnectionState = {}));\n\n//# sourceMappingURL=IConnection.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IDetachable.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IDictionary.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IDisposable.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IErrorMessages.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IEventSource.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=ITimer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n//# sourceMappingURL=IWebsocketMessageFormatter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.List = void 0;\nvar Error_1 = require(\"./Error\");\nvar List = /** @class */ (function () {\n function List(list) {\n var _this = this;\n this.privSubscriptionIdCounter = 0;\n this.privAddSubscriptions = {};\n this.privRemoveSubscriptions = {};\n this.privDisposedSubscriptions = {};\n this.privDisposeReason = null;\n this.get = function (itemIndex) {\n _this.throwIfDisposed();\n return _this.privList[itemIndex];\n };\n this.first = function () {\n return _this.get(0);\n };\n this.last = function () {\n return _this.get(_this.length() - 1);\n };\n this.add = function (item) {\n _this.throwIfDisposed();\n _this.insertAt(_this.privList.length, item);\n };\n this.insertAt = function (index, item) {\n _this.throwIfDisposed();\n if (index === 0) {\n _this.privList.unshift(item);\n }\n else if (index === _this.privList.length) {\n _this.privList.push(item);\n }\n else {\n _this.privList.splice(index, 0, item);\n }\n _this.triggerSubscriptions(_this.privAddSubscriptions);\n };\n this.removeFirst = function () {\n _this.throwIfDisposed();\n return _this.removeAt(0);\n };\n this.removeLast = function () {\n _this.throwIfDisposed();\n return _this.removeAt(_this.length() - 1);\n };\n this.removeAt = function (index) {\n _this.throwIfDisposed();\n return _this.remove(index, 1)[0];\n };\n this.remove = function (index, count) {\n _this.throwIfDisposed();\n var removedElements = _this.privList.splice(index, count);\n _this.triggerSubscriptions(_this.privRemoveSubscriptions);\n return removedElements;\n };\n this.clear = function () {\n _this.throwIfDisposed();\n _this.remove(0, _this.length());\n };\n this.length = function () {\n _this.throwIfDisposed();\n return _this.privList.length;\n };\n this.onAdded = function (addedCallback) {\n _this.throwIfDisposed();\n var subscriptionId = _this.privSubscriptionIdCounter++;\n _this.privAddSubscriptions[subscriptionId] = addedCallback;\n return {\n detach: function () {\n delete _this.privAddSubscriptions[subscriptionId];\n return Promise.resolve();\n },\n };\n };\n this.onRemoved = function (removedCallback) {\n _this.throwIfDisposed();\n var subscriptionId = _this.privSubscriptionIdCounter++;\n _this.privRemoveSubscriptions[subscriptionId] = removedCallback;\n return {\n detach: function () {\n delete _this.privRemoveSubscriptions[subscriptionId];\n return Promise.resolve();\n },\n };\n };\n this.onDisposed = function (disposedCallback) {\n _this.throwIfDisposed();\n var subscriptionId = _this.privSubscriptionIdCounter++;\n _this.privDisposedSubscriptions[subscriptionId] = disposedCallback;\n return {\n detach: function () {\n delete _this.privDisposedSubscriptions[subscriptionId];\n return Promise.resolve();\n },\n };\n };\n this.join = function (seperator) {\n _this.throwIfDisposed();\n return _this.privList.join(seperator);\n };\n this.toArray = function () {\n var cloneCopy = Array();\n _this.privList.forEach(function (val) {\n cloneCopy.push(val);\n });\n return cloneCopy;\n };\n this.any = function (callback) {\n _this.throwIfDisposed();\n if (callback) {\n return _this.where(callback).length() > 0;\n }\n else {\n return _this.length() > 0;\n }\n };\n this.all = function (callback) {\n _this.throwIfDisposed();\n return _this.where(callback).length() === _this.length();\n };\n this.forEach = function (callback) {\n _this.throwIfDisposed();\n for (var i = 0; i < _this.length(); i++) {\n callback(_this.privList[i], i);\n }\n };\n this.select = function (callback) {\n _this.throwIfDisposed();\n var selectList = [];\n for (var i = 0; i < _this.privList.length; i++) {\n selectList.push(callback(_this.privList[i], i));\n }\n return new List(selectList);\n };\n this.where = function (callback) {\n _this.throwIfDisposed();\n var filteredList = new List();\n for (var i = 0; i < _this.privList.length; i++) {\n if (callback(_this.privList[i], i)) {\n filteredList.add(_this.privList[i]);\n }\n }\n return filteredList;\n };\n this.orderBy = function (compareFn) {\n _this.throwIfDisposed();\n var clonedArray = _this.toArray();\n var orderedArray = clonedArray.sort(compareFn);\n return new List(orderedArray);\n };\n this.orderByDesc = function (compareFn) {\n _this.throwIfDisposed();\n return _this.orderBy(function (a, b) { return compareFn(b, a); });\n };\n this.clone = function () {\n _this.throwIfDisposed();\n return new List(_this.toArray());\n };\n this.concat = function (list) {\n _this.throwIfDisposed();\n return new List(_this.privList.concat(list.toArray()));\n };\n this.concatArray = function (array) {\n _this.throwIfDisposed();\n return new List(_this.privList.concat(array));\n };\n this.isDisposed = function () {\n return _this.privList == null;\n };\n this.dispose = function (reason) {\n if (!_this.isDisposed()) {\n _this.privDisposeReason = reason;\n _this.privList = null;\n _this.privAddSubscriptions = null;\n _this.privRemoveSubscriptions = null;\n _this.triggerSubscriptions(_this.privDisposedSubscriptions);\n }\n };\n this.throwIfDisposed = function () {\n if (_this.isDisposed()) {\n throw new Error_1.ObjectDisposedError(\"List\", _this.privDisposeReason);\n }\n };\n this.triggerSubscriptions = function (subscriptions) {\n if (subscriptions) {\n for (var subscriptionId in subscriptions) {\n if (subscriptionId) {\n subscriptions[subscriptionId]();\n }\n }\n }\n };\n this.privList = [];\n // copy the list rather than taking as is.\n if (list) {\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var item = list_1[_i];\n this.privList.push(item);\n }\n }\n }\n return List;\n}());\nexports.List = List;\n\n//# sourceMappingURL=List.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.OCSPCacheUpdateErrorEvent = exports.OCSPResponseRetrievedEvent = exports.OCSPCacheFetchErrorEvent = exports.OCSPVerificationFailedEvent = exports.OCSPCacheHitEvent = exports.OCSPCacheEntryNeedsRefreshEvent = exports.OCSPCacheEntryExpiredEvent = exports.OCSPWSUpgradeStartedEvent = exports.OCSPStapleReceivedEvent = exports.OCSPCacheUpdatehCompleteEvent = exports.OCSPDiskCacheStoreEvent = exports.OCSPMemoryCacheStoreEvent = exports.OCSPCacheUpdateNeededEvent = exports.OCSPDiskCacheHitEvent = exports.OCSPCacheMissEvent = exports.OCSPMemoryCacheHitEvent = exports.OCSPEvent = void 0;\n// tslint:disable:max-classes-per-file\nvar PlatformEvent_1 = require(\"./PlatformEvent\");\nvar OCSPEvent = /** @class */ (function (_super) {\n __extends(OCSPEvent, _super);\n function OCSPEvent(eventName, eventType, signature) {\n var _this = _super.call(this, eventName, eventType) || this;\n _this.privSignature = signature;\n return _this;\n }\n return OCSPEvent;\n}(PlatformEvent_1.PlatformEvent));\nexports.OCSPEvent = OCSPEvent;\nvar OCSPMemoryCacheHitEvent = /** @class */ (function (_super) {\n __extends(OCSPMemoryCacheHitEvent, _super);\n function OCSPMemoryCacheHitEvent(signature) {\n return _super.call(this, \"OCSPMemoryCacheHitEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPMemoryCacheHitEvent;\n}(OCSPEvent));\nexports.OCSPMemoryCacheHitEvent = OCSPMemoryCacheHitEvent;\nvar OCSPCacheMissEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheMissEvent, _super);\n function OCSPCacheMissEvent(signature) {\n return _super.call(this, \"OCSPCacheMissEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPCacheMissEvent;\n}(OCSPEvent));\nexports.OCSPCacheMissEvent = OCSPCacheMissEvent;\nvar OCSPDiskCacheHitEvent = /** @class */ (function (_super) {\n __extends(OCSPDiskCacheHitEvent, _super);\n function OCSPDiskCacheHitEvent(signature) {\n return _super.call(this, \"OCSPDiskCacheHitEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPDiskCacheHitEvent;\n}(OCSPEvent));\nexports.OCSPDiskCacheHitEvent = OCSPDiskCacheHitEvent;\nvar OCSPCacheUpdateNeededEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheUpdateNeededEvent, _super);\n function OCSPCacheUpdateNeededEvent(signature) {\n return _super.call(this, \"OCSPCacheUpdateNeededEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPCacheUpdateNeededEvent;\n}(OCSPEvent));\nexports.OCSPCacheUpdateNeededEvent = OCSPCacheUpdateNeededEvent;\nvar OCSPMemoryCacheStoreEvent = /** @class */ (function (_super) {\n __extends(OCSPMemoryCacheStoreEvent, _super);\n function OCSPMemoryCacheStoreEvent(signature) {\n return _super.call(this, \"OCSPMemoryCacheStoreEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPMemoryCacheStoreEvent;\n}(OCSPEvent));\nexports.OCSPMemoryCacheStoreEvent = OCSPMemoryCacheStoreEvent;\nvar OCSPDiskCacheStoreEvent = /** @class */ (function (_super) {\n __extends(OCSPDiskCacheStoreEvent, _super);\n function OCSPDiskCacheStoreEvent(signature) {\n return _super.call(this, \"OCSPDiskCacheStoreEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPDiskCacheStoreEvent;\n}(OCSPEvent));\nexports.OCSPDiskCacheStoreEvent = OCSPDiskCacheStoreEvent;\nvar OCSPCacheUpdatehCompleteEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheUpdatehCompleteEvent, _super);\n function OCSPCacheUpdatehCompleteEvent(signature) {\n return _super.call(this, \"OCSPCacheUpdatehCompleteEvent\", PlatformEvent_1.EventType.Debug, signature) || this;\n }\n return OCSPCacheUpdatehCompleteEvent;\n}(OCSPEvent));\nexports.OCSPCacheUpdatehCompleteEvent = OCSPCacheUpdatehCompleteEvent;\nvar OCSPStapleReceivedEvent = /** @class */ (function (_super) {\n __extends(OCSPStapleReceivedEvent, _super);\n function OCSPStapleReceivedEvent() {\n return _super.call(this, \"OCSPStapleReceivedEvent\", PlatformEvent_1.EventType.Debug, \"\") || this;\n }\n return OCSPStapleReceivedEvent;\n}(OCSPEvent));\nexports.OCSPStapleReceivedEvent = OCSPStapleReceivedEvent;\nvar OCSPWSUpgradeStartedEvent = /** @class */ (function (_super) {\n __extends(OCSPWSUpgradeStartedEvent, _super);\n function OCSPWSUpgradeStartedEvent(serialNumber) {\n return _super.call(this, \"OCSPWSUpgradeStartedEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n }\n return OCSPWSUpgradeStartedEvent;\n}(OCSPEvent));\nexports.OCSPWSUpgradeStartedEvent = OCSPWSUpgradeStartedEvent;\nvar OCSPCacheEntryExpiredEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheEntryExpiredEvent, _super);\n function OCSPCacheEntryExpiredEvent(serialNumber, expireTime) {\n var _this = _super.call(this, \"OCSPCacheEntryExpiredEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privExpireTime = expireTime;\n return _this;\n }\n return OCSPCacheEntryExpiredEvent;\n}(OCSPEvent));\nexports.OCSPCacheEntryExpiredEvent = OCSPCacheEntryExpiredEvent;\nvar OCSPCacheEntryNeedsRefreshEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheEntryNeedsRefreshEvent, _super);\n function OCSPCacheEntryNeedsRefreshEvent(serialNumber, startTime, expireTime) {\n var _this = _super.call(this, \"OCSPCacheEntryNeedsRefreshEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privExpireTime = expireTime;\n _this.privStartTime = startTime;\n return _this;\n }\n return OCSPCacheEntryNeedsRefreshEvent;\n}(OCSPEvent));\nexports.OCSPCacheEntryNeedsRefreshEvent = OCSPCacheEntryNeedsRefreshEvent;\nvar OCSPCacheHitEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheHitEvent, _super);\n function OCSPCacheHitEvent(serialNumber, startTime, expireTime) {\n var _this = _super.call(this, \"OCSPCacheHitEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privExpireTime = expireTime;\n _this.privExpireTimeString = new Date(expireTime).toLocaleDateString();\n _this.privStartTime = startTime;\n _this.privStartTimeString = new Date(startTime).toLocaleTimeString();\n return _this;\n }\n return OCSPCacheHitEvent;\n}(OCSPEvent));\nexports.OCSPCacheHitEvent = OCSPCacheHitEvent;\nvar OCSPVerificationFailedEvent = /** @class */ (function (_super) {\n __extends(OCSPVerificationFailedEvent, _super);\n function OCSPVerificationFailedEvent(serialNumber, error) {\n var _this = _super.call(this, \"OCSPVerificationFailedEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privError = error;\n return _this;\n }\n return OCSPVerificationFailedEvent;\n}(OCSPEvent));\nexports.OCSPVerificationFailedEvent = OCSPVerificationFailedEvent;\nvar OCSPCacheFetchErrorEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheFetchErrorEvent, _super);\n function OCSPCacheFetchErrorEvent(serialNumber, error) {\n var _this = _super.call(this, \"OCSPCacheFetchErrorEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privError = error;\n return _this;\n }\n return OCSPCacheFetchErrorEvent;\n}(OCSPEvent));\nexports.OCSPCacheFetchErrorEvent = OCSPCacheFetchErrorEvent;\nvar OCSPResponseRetrievedEvent = /** @class */ (function (_super) {\n __extends(OCSPResponseRetrievedEvent, _super);\n function OCSPResponseRetrievedEvent(serialNumber) {\n return _super.call(this, \"OCSPResponseRetrievedEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n }\n return OCSPResponseRetrievedEvent;\n}(OCSPEvent));\nexports.OCSPResponseRetrievedEvent = OCSPResponseRetrievedEvent;\nvar OCSPCacheUpdateErrorEvent = /** @class */ (function (_super) {\n __extends(OCSPCacheUpdateErrorEvent, _super);\n function OCSPCacheUpdateErrorEvent(serialNumber, error) {\n var _this = _super.call(this, \"OCSPCacheUpdateErrorEvent\", PlatformEvent_1.EventType.Debug, serialNumber) || this;\n _this.privError = error;\n return _this;\n }\n return OCSPCacheUpdateErrorEvent;\n}(OCSPEvent));\nexports.OCSPCacheUpdateErrorEvent = OCSPCacheUpdateErrorEvent;\n\n//# sourceMappingURL=OCSPEvents.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PlatformEvent = exports.EventType = void 0;\nvar Guid_1 = require(\"./Guid\");\nvar EventType;\n(function (EventType) {\n EventType[EventType[\"Debug\"] = 0] = \"Debug\";\n EventType[EventType[\"Info\"] = 1] = \"Info\";\n EventType[EventType[\"Warning\"] = 2] = \"Warning\";\n EventType[EventType[\"Error\"] = 3] = \"Error\";\n})(EventType = exports.EventType || (exports.EventType = {}));\nvar PlatformEvent = /** @class */ (function () {\n function PlatformEvent(eventName, eventType) {\n this.privName = eventName;\n this.privEventId = Guid_1.createNoDashGuid();\n this.privEventTime = new Date().toISOString();\n this.privEventType = eventType;\n this.privMetadata = {};\n }\n Object.defineProperty(PlatformEvent.prototype, \"name\", {\n get: function () {\n return this.privName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PlatformEvent.prototype, \"eventId\", {\n get: function () {\n return this.privEventId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PlatformEvent.prototype, \"eventTime\", {\n get: function () {\n return this.privEventTime;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PlatformEvent.prototype, \"eventType\", {\n get: function () {\n return this.privEventType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PlatformEvent.prototype, \"metadata\", {\n get: function () {\n return this.privMetadata;\n },\n enumerable: false,\n configurable: true\n });\n return PlatformEvent;\n}());\nexports.PlatformEvent = PlatformEvent;\n\n//# sourceMappingURL=PlatformEvent.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.marshalPromiseToCallbacks = exports.Sink = exports.Deferred = exports.PromiseResultEventSource = exports.PromiseResult = exports.PromiseState = void 0;\nvar PromiseState;\n(function (PromiseState) {\n PromiseState[PromiseState[\"None\"] = 0] = \"None\";\n PromiseState[PromiseState[\"Resolved\"] = 1] = \"Resolved\";\n PromiseState[PromiseState[\"Rejected\"] = 2] = \"Rejected\";\n})(PromiseState = exports.PromiseState || (exports.PromiseState = {}));\nvar PromiseResult = /** @class */ (function () {\n function PromiseResult(promiseResultEventSource) {\n var _this = this;\n this.throwIfError = function () {\n if (_this.isError) {\n throw _this.error;\n }\n };\n promiseResultEventSource.on(function (result) {\n if (!_this.privIsCompleted) {\n _this.privIsCompleted = true;\n _this.privIsError = false;\n _this.privResult = result;\n }\n }, function (error) {\n if (!_this.privIsCompleted) {\n _this.privIsCompleted = true;\n _this.privIsError = true;\n _this.privError = error;\n }\n });\n }\n Object.defineProperty(PromiseResult.prototype, \"isCompleted\", {\n get: function () {\n return this.privIsCompleted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PromiseResult.prototype, \"isError\", {\n get: function () {\n return this.privIsError;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PromiseResult.prototype, \"error\", {\n get: function () {\n return this.privError;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PromiseResult.prototype, \"result\", {\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return PromiseResult;\n}());\nexports.PromiseResult = PromiseResult;\nvar PromiseResultEventSource = /** @class */ (function () {\n function PromiseResultEventSource() {\n var _this = this;\n this.setResult = function (result) {\n _this.privOnSetResult(result);\n };\n this.setError = function (error) {\n _this.privOnSetError(error);\n };\n this.on = function (onSetResult, onSetError) {\n _this.privOnSetResult = onSetResult;\n _this.privOnSetError = onSetError;\n };\n }\n return PromiseResultEventSource;\n}());\nexports.PromiseResultEventSource = PromiseResultEventSource;\nvar Deferred = /** @class */ (function () {\n function Deferred() {\n var _this = this;\n this.resolve = function (result) {\n _this.privResolve(result);\n return _this;\n };\n this.reject = function (error) {\n _this.privReject(error);\n return _this;\n };\n this.privPromise = new Promise(function (resolve, reject) {\n _this.privResolve = resolve;\n _this.privReject = reject;\n });\n }\n Object.defineProperty(Deferred.prototype, \"promise\", {\n get: function () {\n return this.privPromise;\n },\n enumerable: false,\n configurable: true\n });\n return Deferred;\n}());\nexports.Deferred = Deferred;\nvar Sink = /** @class */ (function () {\n function Sink() {\n var _this = this;\n this.privState = PromiseState.None;\n this.privPromiseResult = null;\n this.privPromiseResultEvents = null;\n this.privSuccessHandlers = [];\n this.privErrorHandlers = [];\n this.resolve = function (result) {\n if (_this.privState !== PromiseState.None) {\n throw new Error(\"'Cannot resolve a completed promise'\");\n }\n _this.privState = PromiseState.Resolved;\n _this.privPromiseResultEvents.setResult(result);\n for (var i = 0; i < _this.privSuccessHandlers.length; i++) {\n _this.executeSuccessCallback(result, _this.privSuccessHandlers[i], _this.privErrorHandlers[i]);\n }\n _this.detachHandlers();\n };\n this.reject = function (error) {\n if (_this.privState !== PromiseState.None) {\n throw new Error(\"'Cannot reject a completed promise'\");\n }\n _this.privState = PromiseState.Rejected;\n _this.privPromiseResultEvents.setError(error);\n for (var _i = 0, _a = _this.privErrorHandlers; _i < _a.length; _i++) {\n var errorHandler = _a[_i];\n _this.executeErrorCallback(error, errorHandler);\n }\n _this.detachHandlers();\n };\n this.on = function (successCallback, errorCallback) {\n if (successCallback == null) {\n successCallback = function (r) { return; };\n }\n if (_this.privState === PromiseState.None) {\n _this.privSuccessHandlers.push(successCallback);\n _this.privErrorHandlers.push(errorCallback);\n }\n else {\n if (_this.privState === PromiseState.Resolved) {\n _this.executeSuccessCallback(_this.privPromiseResult.result, successCallback, errorCallback);\n }\n else if (_this.privState === PromiseState.Rejected) {\n _this.executeErrorCallback(_this.privPromiseResult.error, errorCallback);\n }\n _this.detachHandlers();\n }\n };\n this.executeSuccessCallback = function (result, successCallback, errorCallback) {\n try {\n successCallback(result);\n }\n catch (e) {\n _this.executeErrorCallback(\"'Unhandled callback error: \" + e + \"'\", errorCallback);\n }\n };\n this.executeErrorCallback = function (error, errorCallback) {\n if (errorCallback) {\n try {\n errorCallback(error);\n }\n catch (e) {\n throw new Error(\"'Unhandled callback error: \" + e + \". InnerError: \" + error + \"'\");\n }\n }\n else {\n throw new Error(\"'Unhandled error: \" + error + \"'\");\n }\n };\n this.detachHandlers = function () {\n _this.privErrorHandlers = [];\n _this.privSuccessHandlers = [];\n };\n this.privPromiseResultEvents = new PromiseResultEventSource();\n this.privPromiseResult = new PromiseResult(this.privPromiseResultEvents);\n }\n Object.defineProperty(Sink.prototype, \"state\", {\n get: function () {\n return this.privState;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Sink.prototype, \"result\", {\n get: function () {\n return this.privPromiseResult;\n },\n enumerable: false,\n configurable: true\n });\n return Sink;\n}());\nexports.Sink = Sink;\nfunction marshalPromiseToCallbacks(promise, cb, err) {\n promise.then(function (val) {\n try {\n if (!!cb) {\n cb(val);\n }\n }\n catch (error) {\n if (!!err) {\n try {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) { }\n }\n }\n }, function (error) {\n if (!!err) {\n try {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n /* tslint:disable:no-empty */\n }\n catch (error) { }\n }\n });\n}\nexports.marshalPromiseToCallbacks = marshalPromiseToCallbacks;\n\n//# sourceMappingURL=Promise.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Queue = void 0;\nvar Error_1 = require(\"./Error\");\nvar List_1 = require(\"./List\");\nvar Promise_1 = require(\"./Promise\");\nvar SubscriberType;\n(function (SubscriberType) {\n SubscriberType[SubscriberType[\"Dequeue\"] = 0] = \"Dequeue\";\n SubscriberType[SubscriberType[\"Peek\"] = 1] = \"Peek\";\n})(SubscriberType || (SubscriberType = {}));\nvar Queue = /** @class */ (function () {\n function Queue(list) {\n var _this = this;\n this.privPromiseStore = new List_1.List();\n this.privIsDrainInProgress = false;\n this.privIsDisposing = false;\n this.privDisposeReason = null;\n this.enqueue = function (item) {\n _this.throwIfDispose();\n _this.enqueueFromPromise(new Promise(function (resolve, reject) { resolve(item); }));\n };\n this.enqueueFromPromise = function (promise) {\n _this.throwIfDispose();\n promise.then(function (val) {\n _this.privList.add(val);\n /* tslint:disable:no-empty */\n }, function (error) { });\n };\n this.dequeue = function () {\n _this.throwIfDispose();\n var deferredSubscriber = new Promise_1.Deferred();\n if (_this.privSubscribers) {\n _this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Dequeue });\n _this.drain();\n }\n return deferredSubscriber.promise;\n };\n this.peek = function () {\n _this.throwIfDispose();\n var deferredSubscriber = new Promise_1.Deferred();\n var subs = _this.privSubscribers;\n if (subs) {\n _this.privSubscribers.add({ deferral: deferredSubscriber, type: SubscriberType.Peek });\n _this.drain();\n }\n return deferredSubscriber.promise;\n };\n this.length = function () {\n _this.throwIfDispose();\n return _this.privList.length();\n };\n this.isDisposed = function () {\n return _this.privSubscribers == null;\n };\n this.drain = function () {\n if (!_this.privIsDrainInProgress && !_this.privIsDisposing) {\n _this.privIsDrainInProgress = true;\n var subs = _this.privSubscribers;\n var lists = _this.privList;\n if (subs && lists) {\n while (lists.length() > 0 && subs.length() > 0 && !_this.privIsDisposing) {\n var subscriber = subs.removeFirst();\n if (subscriber.type === SubscriberType.Peek) {\n subscriber.deferral.resolve(lists.first());\n }\n else {\n var dequeuedItem = lists.removeFirst();\n subscriber.deferral.resolve(dequeuedItem);\n }\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (_this.privSubscribers === subs) {\n _this.privSubscribers = subs;\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (_this.privList === lists) {\n _this.privList = lists;\n }\n }\n _this.privIsDrainInProgress = false;\n }\n };\n this.throwIfDispose = function () {\n if (_this.isDisposed()) {\n if (_this.privDisposeReason) {\n throw new Error_1.InvalidOperationError(_this.privDisposeReason);\n }\n throw new Error_1.ObjectDisposedError(\"Queue\");\n }\n else if (_this.privIsDisposing) {\n throw new Error_1.InvalidOperationError(\"Queue disposing\");\n }\n };\n this.privList = list ? list : new List_1.List();\n this.privDetachables = [];\n this.privSubscribers = new List_1.List();\n this.privDetachables.push(this.privList.onAdded(this.drain));\n }\n Queue.prototype.drainAndDispose = function (pendingItemProcessor, reason) {\n return __awaiter(this, void 0, void 0, function () {\n var subs, subscriber, _i, _a, detachable, promiseArray_1;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(!this.isDisposed() && !this.privIsDisposing)) return [3 /*break*/, 5];\n this.privDisposeReason = reason;\n this.privIsDisposing = true;\n subs = this.privSubscribers;\n if (subs) {\n while (subs.length() > 0) {\n subscriber = subs.removeFirst();\n // TODO: this needs work (Resolve(null) instead?).\n subscriber.deferral.resolve(undefined);\n // subscriber.deferral.reject(\"Disposed\");\n }\n // note: this block assumes cooperative multitasking, i.e.,\n // between the if-statement and the assignment there are no\n // thread switches.\n // Reason is that between the initial const = this.; and this\n // point there is the derral.resolve() operation that might have\n // caused recursive calls to the Queue, especially, calling\n // Dispose() on the queue alredy (which would reset the var\n // here to null!).\n // That should generally hold true for javascript...\n if (this.privSubscribers === subs) {\n this.privSubscribers = subs;\n }\n }\n _i = 0, _a = this.privDetachables;\n _b.label = 1;\n case 1:\n if (!(_i < _a.length)) return [3 /*break*/, 4];\n detachable = _a[_i];\n return [4 /*yield*/, detachable.detach()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n _i++;\n return [3 /*break*/, 1];\n case 4:\n if (this.privPromiseStore.length() > 0 && pendingItemProcessor) {\n promiseArray_1 = [];\n this.privPromiseStore.toArray().forEach(function (wrapper) {\n promiseArray_1.push(wrapper);\n });\n return [2 /*return*/, Promise.all(promiseArray_1).finally(function () {\n _this.privSubscribers = null;\n _this.privList.forEach(function (item, index) {\n pendingItemProcessor(item);\n });\n _this.privList = null;\n return;\n }).then()];\n }\n else {\n this.privSubscribers = null;\n this.privList = null;\n }\n _b.label = 5;\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n Queue.prototype.dispose = function (reason) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.drainAndDispose(null, reason)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return Queue;\n}());\nexports.Queue = Queue;\n\n//# sourceMappingURL=Queue.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RawWebsocketMessage = void 0;\nvar ConnectionMessage_1 = require(\"./ConnectionMessage\");\nvar Error_1 = require(\"./Error\");\nvar Guid_1 = require(\"./Guid\");\nvar RawWebsocketMessage = /** @class */ (function () {\n function RawWebsocketMessage(messageType, payload, id) {\n this.privPayload = null;\n if (!payload) {\n throw new Error_1.ArgumentNullError(\"payload\");\n }\n if (messageType === ConnectionMessage_1.MessageType.Binary && payload.__proto__.constructor.name !== \"ArrayBuffer\") {\n throw new Error_1.InvalidOperationError(\"Payload must be ArrayBuffer\");\n }\n if (messageType === ConnectionMessage_1.MessageType.Text && !(typeof (payload) === \"string\")) {\n throw new Error_1.InvalidOperationError(\"Payload must be a string\");\n }\n this.privMessageType = messageType;\n this.privPayload = payload;\n this.privId = id ? id : Guid_1.createNoDashGuid();\n }\n Object.defineProperty(RawWebsocketMessage.prototype, \"messageType\", {\n get: function () {\n return this.privMessageType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RawWebsocketMessage.prototype, \"payload\", {\n get: function () {\n return this.privPayload;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RawWebsocketMessage.prototype, \"textContent\", {\n get: function () {\n if (this.privMessageType === ConnectionMessage_1.MessageType.Binary) {\n throw new Error_1.InvalidOperationError(\"Not supported for binary message\");\n }\n return this.privPayload;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RawWebsocketMessage.prototype, \"binaryContent\", {\n get: function () {\n if (this.privMessageType === ConnectionMessage_1.MessageType.Text) {\n throw new Error_1.InvalidOperationError(\"Not supported for text message\");\n }\n return this.privPayload;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RawWebsocketMessage.prototype, \"id\", {\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n return RawWebsocketMessage;\n}());\nexports.RawWebsocketMessage = RawWebsocketMessage;\n\n//# sourceMappingURL=RawWebsocketMessage.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RiffPcmEncoder = void 0;\nvar RiffPcmEncoder = /** @class */ (function () {\n function RiffPcmEncoder(actualSampleRate, desiredSampleRate) {\n var _this = this;\n this.encode = function (actualAudioFrame) {\n var audioFrame = _this.downSampleAudioFrame(actualAudioFrame, _this.privActualSampleRate, _this.privDesiredSampleRate);\n if (!audioFrame) {\n return null;\n }\n var audioLength = audioFrame.length * 2;\n var buffer = new ArrayBuffer(audioLength);\n var view = new DataView(buffer);\n _this.floatTo16BitPCM(view, 0, audioFrame);\n return buffer;\n };\n this.setString = function (view, offset, str) {\n for (var i = 0; i < str.length; i++) {\n view.setUint8(offset + i, str.charCodeAt(i));\n }\n };\n this.floatTo16BitPCM = function (view, offset, input) {\n for (var i = 0; i < input.length; i++, offset += 2) {\n var s = Math.max(-1, Math.min(1, input[i]));\n view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7FFF, true);\n }\n };\n this.downSampleAudioFrame = function (srcFrame, srcRate, dstRate) {\n if (dstRate === srcRate || dstRate > srcRate) {\n return srcFrame;\n }\n var ratio = srcRate / dstRate;\n var dstLength = Math.round(srcFrame.length / ratio);\n var dstFrame = new Float32Array(dstLength);\n var srcOffset = 0;\n var dstOffset = 0;\n while (dstOffset < dstLength) {\n var nextSrcOffset = Math.round((dstOffset + 1) * ratio);\n var accum = 0;\n var count = 0;\n while (srcOffset < nextSrcOffset && srcOffset < srcFrame.length) {\n accum += srcFrame[srcOffset++];\n count++;\n }\n dstFrame[dstOffset++] = accum / count;\n }\n return dstFrame;\n };\n this.privActualSampleRate = actualSampleRate;\n this.privDesiredSampleRate = desiredSampleRate;\n }\n return RiffPcmEncoder;\n}());\nexports.RiffPcmEncoder = RiffPcmEncoder;\n\n//# sourceMappingURL=RiffPcmEncoder.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Stream = void 0;\nvar Error_1 = require(\"./Error\");\nvar Guid_1 = require(\"./Guid\");\nvar Queue_1 = require(\"./Queue\");\nvar Stream = /** @class */ (function () {\n function Stream(streamId) {\n var _this = this;\n this.privIsWriteEnded = false;\n this.privIsReadEnded = false;\n this.read = function () {\n if (_this.privIsReadEnded) {\n throw new Error_1.InvalidOperationError(\"Stream read has already finished\");\n }\n return _this.privReaderQueue\n .dequeue()\n .then(function (streamChunk) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(streamChunk === undefined || streamChunk.isEnd)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privReaderQueue.dispose(\"End of stream reached\")];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, streamChunk];\n }\n });\n }); });\n };\n this.readEnded = function () {\n if (!_this.privIsReadEnded) {\n _this.privIsReadEnded = true;\n _this.privReaderQueue = new Queue_1.Queue();\n }\n };\n this.throwIfClosed = function () {\n if (_this.privIsWriteEnded) {\n throw new Error_1.InvalidOperationError(\"Stream closed\");\n }\n };\n this.privId = streamId ? streamId : Guid_1.createNoDashGuid();\n this.privReaderQueue = new Queue_1.Queue();\n }\n Object.defineProperty(Stream.prototype, \"isClosed\", {\n get: function () {\n return this.privIsWriteEnded;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Stream.prototype, \"isReadEnded\", {\n get: function () {\n return this.privIsReadEnded;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Stream.prototype, \"id\", {\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n Stream.prototype.close = function () {\n if (!this.privIsWriteEnded) {\n this.writeStreamChunk({\n buffer: null,\n isEnd: true,\n timeReceived: Date.now(),\n });\n this.privIsWriteEnded = true;\n }\n };\n Stream.prototype.writeStreamChunk = function (streamChunk) {\n this.throwIfClosed();\n if (!this.privReaderQueue.isDisposed()) {\n try {\n this.privReaderQueue.enqueue(streamChunk);\n }\n catch (e) {\n // Do nothing\n }\n }\n };\n return Stream;\n}());\nexports.Stream = Stream;\n\n//# sourceMappingURL=Stream.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Timeout = void 0;\nvar Timeout = /** @class */ (function () {\n function Timeout() {\n }\n Timeout.workerTimers = null;\n Timeout.clearTimeout = function (timerId) { return Timeout.timers().clearTimeout(timerId); };\n Timeout.setTimeout = function (func, delay) { return Timeout.timers().setTimeout(func, delay); };\n Timeout.load = function (url) {\n // Prefilling the Maps with a function indexed by zero is necessary to be compliant with the specification.\n var scheduledTimeoutFunctions = new Map([[0, function () { }]]); // tslint:disable-line no-empty\n var unhandledRequests = new Map();\n var worker = new Worker(url);\n worker.addEventListener(\"message\", function (_a) {\n var data = _a.data;\n if (Timeout.isCallNotification(data)) {\n var timerId = data.params.timerId;\n var idOrFunc = scheduledTimeoutFunctions.get(timerId);\n if (typeof idOrFunc === \"number\") {\n var unhandledTimerId = unhandledRequests.get(idOrFunc);\n if (unhandledTimerId === undefined ||\n unhandledTimerId !== timerId) {\n throw new Error(\"The timer is in an undefined state.\");\n }\n }\n else if (typeof idOrFunc !== \"undefined\") {\n idOrFunc();\n // A timeout can be safely deleted because it is only called once.\n scheduledTimeoutFunctions.delete(timerId);\n }\n else {\n throw new Error(\"The timer is in an undefined state.\");\n }\n }\n else if (Timeout.isClearResponse(data)) {\n var id = data.id;\n var unhandledTimerId = unhandledRequests.get(id);\n if (unhandledTimerId === undefined) {\n throw new Error(\"The timer is in an undefined state.\");\n }\n unhandledRequests.delete(id);\n scheduledTimeoutFunctions.delete(unhandledTimerId);\n }\n else {\n var message = data.error.message;\n throw new Error(message);\n }\n });\n var clearTimeout = function (timerId) {\n var id = Math.random();\n unhandledRequests.set(id, timerId);\n scheduledTimeoutFunctions.set(timerId, id);\n worker.postMessage({\n id: id,\n method: \"clear\",\n params: { timerId: timerId }\n });\n };\n var setTimeout = function (func, delay) {\n var timerId = Math.random();\n scheduledTimeoutFunctions.set(timerId, func);\n worker.postMessage({\n id: null,\n method: \"set\",\n params: {\n delay: delay,\n now: performance.now(),\n timerId: timerId\n }\n });\n return timerId;\n };\n return {\n clearTimeout: clearTimeout,\n setTimeout: setTimeout\n };\n };\n Timeout.loadWorkerTimers = function () {\n var worker = \"!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){\\\"undefined\\\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\\\"Module\\\"}),Object.defineProperty(e,\\\"__esModule\\\",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&\\\"object\\\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,\\\"default\\\",{enumerable:!0,value:e}),2&t&&\\\"string\\\"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,\\\"a\\\",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p=\\\"\\\",n(n.s=14)}([function(e,t,n){\\\"use strict\\\";n.d(t,\\\"a\\\",(function(){return i})),n.d(t,\\\"b\\\",(function(){return u})),n.d(t,\\\"c\\\",(function(){return a})),n.d(t,\\\"d\\\",(function(){return d}));const r=new Map,o=new Map,i=e=>{const t=r.get(e);if(void 0===t)throw new Error('There is no interval scheduled with the given id \\\"'.concat(e,'\\\".'));clearTimeout(t),r.delete(e)},u=e=>{const t=o.get(e);if(void 0===t)throw new Error('There is no timeout scheduled with the given id \\\"'.concat(e,'\\\".'));clearTimeout(t),o.delete(e)},f=(e,t)=>{let n,r;if(\\\"performance\\\"in self){const o=performance.now();n=o,r=e-Math.max(0,o-t)}else n=Date.now(),r=e;return{expected:n+r,remainingDelay:r}},c=(e,t,n,r)=>{const o=\\\"performance\\\"in self?performance.now():Date.now();o>n?postMessage({id:null,method:\\\"call\\\",params:{timerId:t}}):e.set(t,setTimeout(c,n-o,e,t,n))},a=(e,t,n)=>{const{expected:o,remainingDelay:i}=f(e,n);r.set(t,setTimeout(c,i,r,t,o))},d=(e,t,n)=>{const{expected:r,remainingDelay:i}=f(e,n);o.set(t,setTimeout(c,i,o,t,r))}},function(e,t,n){\\\"use strict\\\";n.r(t);var r=n(2);for(var o in r)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(3);for(var o in i)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(4);for(var o in u)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o);var f=n(5);for(var o in f)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return f[e]}))}(o);var c=n(6);for(var o in c)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return c[e]}))}(o);var a=n(7);for(var o in a)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return a[e]}))}(o);var d=n(8);for(var o in d)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return d[e]}))}(o);var s=n(9);for(var o in s)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return s[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\\\"use strict\\\";n.r(t);var r=n(11);for(var o in r)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return r[e]}))}(o);var i=n(12);for(var o in i)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return i[e]}))}(o);var u=n(13);for(var o in u)\\\"default\\\"!==o&&function(e){n.d(t,e,(function(){return u[e]}))}(o)},function(e,t){},function(e,t){},function(e,t){},function(e,t,n){\\\"use strict\\\";n.r(t);var r=n(0),o=n(1);for(var i in o)\\\"default\\\"!==i&&function(e){n.d(t,e,(function(){return o[e]}))}(i);var u=n(10);for(var i in u)\\\"default\\\"!==i&&function(e){n.d(t,e,(function(){return u[e]}))}(i);addEventListener(\\\"message\\\",({data:e})=>{try{if(\\\"clear\\\"===e.method){const{id:t,params:{timerId:n}}=e;Object(r.b)(n),postMessage({error:null,id:t})}else{if(\\\"set\\\"!==e.method)throw new Error('The given method \\\"'.concat(e.method,'\\\" is not supported'));{const{params:{delay:t,now:n,timerId:o}}=e;Object(r.d)(t,o,n)}}}catch(t){postMessage({error:{message:t.message},id:e.id,result:null})}})}]);\"; // tslint:disable-line:max-line-length\n return function () {\n if (Timeout.workerTimers !== null) {\n return Timeout.workerTimers;\n }\n var blob = new Blob([worker], { type: \"application/javascript; charset=utf-8\" });\n var url = URL.createObjectURL(blob);\n Timeout.workerTimers = Timeout.load(url);\n // Edge doesn't like the URL to be revoked directly.\n Timeout.workerTimers.setTimeout(function () { return URL.revokeObjectURL(url); }, 0);\n return Timeout.workerTimers;\n };\n };\n Timeout.timers = Timeout.loadWorkerTimers();\n Timeout.isCallNotification = function (message) {\n return message.method !== undefined && message.method === \"call\";\n };\n Timeout.isClearResponse = function (message) {\n return message.error === null && typeof message.id === \"number\";\n };\n return Timeout;\n}());\nexports.Timeout = Timeout;\n\n//# sourceMappingURL=Timeout.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ActivityReceivedEventArgs = void 0;\n/**\n * Defines contents of received message/events.\n * @class ActivityReceivedEventArgs\n */\nvar ActivityReceivedEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {any} activity - The activity..\n */\n function ActivityReceivedEventArgs(activity, audioStream) {\n this.privActivity = activity;\n this.privAudioStream = audioStream;\n }\n Object.defineProperty(ActivityReceivedEventArgs.prototype, \"activity\", {\n /**\n * Gets the received activity\n * @member ActivityReceivedEventArgs.prototype.activity\n * @function\n * @public\n * @returns {any} the received activity.\n */\n get: function () {\n return this.privActivity;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ActivityReceivedEventArgs.prototype, \"audioStream\", {\n get: function () {\n return this.privAudioStream;\n },\n enumerable: false,\n configurable: true\n });\n return ActivityReceivedEventArgs;\n}());\nexports.ActivityReceivedEventArgs = ActivityReceivedEventArgs;\n\n//# sourceMappingURL=ActivityReceivedEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.AudioOutputConfigImpl = exports.AudioConfigImpl = exports.AudioConfig = void 0;\nvar Exports_1 = require(\"../../common.browser/Exports\");\nvar Contracts_1 = require(\"../Contracts\");\nvar Exports_2 = require(\"../Exports\");\nvar AudioFileWriter_1 = require(\"./AudioFileWriter\");\nvar AudioInputStream_1 = require(\"./AudioInputStream\");\nvar AudioOutputStream_1 = require(\"./AudioOutputStream\");\n/**\n * Represents audio input configuration used for specifying what type of input to use (microphone, file, stream).\n * @class AudioConfig\n * Updated in version 1.11.0\n */\nvar AudioConfig = /** @class */ (function () {\n function AudioConfig() {\n }\n /**\n * Creates an AudioConfig object representing the default microphone on the system.\n * @member AudioConfig.fromDefaultMicrophoneInput\n * @function\n * @public\n * @returns {AudioConfig} The audio input configuration being created.\n */\n AudioConfig.fromDefaultMicrophoneInput = function () {\n var pcmRecorder = new Exports_1.PcmRecorder();\n return new AudioConfigImpl(new Exports_1.MicAudioSource(pcmRecorder));\n };\n /**\n * Creates an AudioConfig object representing a microphone with the specified device ID.\n * @member AudioConfig.fromMicrophoneInput\n * @function\n * @public\n * @param {string | undefined} deviceId - Specifies the device ID of the microphone to be used.\n * Default microphone is used the value is omitted.\n * @returns {AudioConfig} The audio input configuration being created.\n */\n AudioConfig.fromMicrophoneInput = function (deviceId) {\n var pcmRecorder = new Exports_1.PcmRecorder();\n return new AudioConfigImpl(new Exports_1.MicAudioSource(pcmRecorder, deviceId));\n };\n /**\n * Creates an AudioConfig object representing the specified file.\n * @member AudioConfig.fromWavFileInput\n * @function\n * @public\n * @param {File} fileName - Specifies the audio input file. Currently, only WAV / PCM is supported.\n * @returns {AudioConfig} The audio input configuration being created.\n */\n AudioConfig.fromWavFileInput = function (file, name) {\n if (name === void 0) { name = \"unnamedBuffer.wav\"; }\n return new AudioConfigImpl(new Exports_1.FileAudioSource(file, name));\n };\n /**\n * Creates an AudioConfig object representing the specified stream.\n * @member AudioConfig.fromStreamInput\n * @function\n * @public\n * @param {AudioInputStream | PullAudioInputStreamCallback | MediaStream} audioStream - Specifies the custom audio input\n * stream. Currently, only WAV / PCM is supported.\n * @returns {AudioConfig} The audio input configuration being created.\n */\n AudioConfig.fromStreamInput = function (audioStream) {\n if (audioStream instanceof Exports_2.PullAudioInputStreamCallback) {\n return new AudioConfigImpl(new AudioInputStream_1.PullAudioInputStreamImpl(audioStream));\n }\n if (audioStream instanceof Exports_2.AudioInputStream) {\n return new AudioConfigImpl(audioStream);\n }\n if (typeof MediaStream !== \"undefined\" && audioStream instanceof MediaStream) {\n var pcmRecorder = new Exports_1.PcmRecorder();\n return new AudioConfigImpl(new Exports_1.MicAudioSource(pcmRecorder, null, null, audioStream));\n }\n throw new Error(\"Not Supported Type\");\n };\n /**\n * Creates an AudioConfig object representing the default speaker.\n * @member AudioConfig.fromDefaultSpeakerOutput\n * @function\n * @public\n * @returns {AudioConfig} The audio output configuration being created.\n * Added in version 1.11.0\n */\n AudioConfig.fromDefaultSpeakerOutput = function () {\n return new AudioOutputConfigImpl(new Exports_2.SpeakerAudioDestination());\n };\n /**\n * Creates an AudioConfig object representing the custom IPlayer object.\n * You can use the IPlayer object to control pause, resume, etc.\n * @member AudioConfig.fromSpeakerOutput\n * @function\n * @public\n * @param {IPlayer} player - the IPlayer object for playback.\n * @returns {AudioConfig} The audio output configuration being created.\n * Added in version 1.12.0\n */\n AudioConfig.fromSpeakerOutput = function (player) {\n if (player === undefined) {\n return AudioConfig.fromDefaultSpeakerOutput();\n }\n if (player instanceof Exports_2.SpeakerAudioDestination) {\n return new AudioOutputConfigImpl(player);\n }\n throw new Error(\"Not Supported Type\");\n };\n /**\n * Creates an AudioConfig object representing a specified output audio file\n * @member AudioConfig.fromAudioFileOutput\n * @function\n * @public\n * @param {PathLike} filename - the filename of the output audio file\n * @returns {AudioConfig} The audio output configuration being created.\n * Added in version 1.11.0\n */\n AudioConfig.fromAudioFileOutput = function (filename) {\n return new AudioOutputConfigImpl(new AudioFileWriter_1.AudioFileWriter(filename));\n };\n /**\n * Creates an AudioConfig object representing a specified audio output stream\n * @member AudioConfig.fromStreamOutput\n * @function\n * @public\n * @param {AudioOutputStream | PushAudioOutputStreamCallback} audioStream - Specifies the custom audio output\n * stream.\n * @returns {AudioConfig} The audio output configuration being created.\n * Added in version 1.11.0\n */\n AudioConfig.fromStreamOutput = function (audioStream) {\n if (audioStream instanceof Exports_2.PushAudioOutputStreamCallback) {\n return new AudioOutputConfigImpl(new AudioOutputStream_1.PushAudioOutputStreamImpl(audioStream));\n }\n if (audioStream instanceof Exports_2.PushAudioOutputStream) {\n return new AudioOutputConfigImpl(audioStream);\n }\n if (audioStream instanceof Exports_2.PullAudioOutputStream) {\n return new AudioOutputConfigImpl(audioStream);\n }\n throw new Error(\"Not Supported Type\");\n };\n return AudioConfig;\n}());\nexports.AudioConfig = AudioConfig;\n/**\n * Represents audio input stream used for custom audio input configurations.\n * @private\n * @class AudioConfigImpl\n */\nvar AudioConfigImpl = /** @class */ (function (_super) {\n __extends(AudioConfigImpl, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {IAudioSource} source - An audio source.\n */\n function AudioConfigImpl(source) {\n var _this = _super.call(this) || this;\n _this.privSource = source;\n return _this;\n }\n Object.defineProperty(AudioConfigImpl.prototype, \"format\", {\n /**\n * Format information for the audio\n */\n get: function () {\n return this.privSource.format;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @member AudioConfigImpl.prototype.close\n * @function\n * @public\n */\n AudioConfigImpl.prototype.close = function (cb, err) {\n this.privSource.turnOff().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n };\n /**\n * @member AudioConfigImpl.prototype.id\n * @function\n * @public\n */\n AudioConfigImpl.prototype.id = function () {\n return this.privSource.id();\n };\n Object.defineProperty(AudioConfigImpl.prototype, \"blob\", {\n /**\n * @member AudioConfigImpl.prototype.blob\n * @function\n * @public\n */\n get: function () {\n return this.privSource.blob;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * @member AudioConfigImpl.prototype.turnOn\n * @function\n * @public\n * @returns {Promise} A promise.\n */\n AudioConfigImpl.prototype.turnOn = function () {\n return this.privSource.turnOn();\n };\n /**\n * @member AudioConfigImpl.prototype.attach\n * @function\n * @public\n * @param {string} audioNodeId - The audio node id.\n * @returns {Promise} A promise.\n */\n AudioConfigImpl.prototype.attach = function (audioNodeId) {\n return this.privSource.attach(audioNodeId);\n };\n /**\n * @member AudioConfigImpl.prototype.detach\n * @function\n * @public\n * @param {string} audioNodeId - The audio node id.\n */\n AudioConfigImpl.prototype.detach = function (audioNodeId) {\n return this.privSource.detach(audioNodeId);\n };\n /**\n * @member AudioConfigImpl.prototype.turnOff\n * @function\n * @public\n * @returns {Promise} A promise.\n */\n AudioConfigImpl.prototype.turnOff = function () {\n return this.privSource.turnOff();\n };\n Object.defineProperty(AudioConfigImpl.prototype, \"events\", {\n /**\n * @member AudioConfigImpl.prototype.events\n * @function\n * @public\n * @returns {EventSource} An event source for audio events.\n */\n get: function () {\n return this.privSource.events;\n },\n enumerable: false,\n configurable: true\n });\n AudioConfigImpl.prototype.setProperty = function (name, value) {\n Contracts_1.Contracts.throwIfNull(value, \"value\");\n if (undefined !== this.privSource.setProperty) {\n this.privSource.setProperty(name, value);\n }\n else {\n throw new Error(\"This AudioConfig instance does not support setting properties.\");\n }\n };\n AudioConfigImpl.prototype.getProperty = function (name, def) {\n if (undefined !== this.privSource.getProperty) {\n return this.privSource.getProperty(name, def);\n }\n else {\n throw new Error(\"This AudioConfig instance does not support getting properties.\");\n }\n return def;\n };\n Object.defineProperty(AudioConfigImpl.prototype, \"deviceInfo\", {\n get: function () {\n return this.privSource.deviceInfo;\n },\n enumerable: false,\n configurable: true\n });\n return AudioConfigImpl;\n}(AudioConfig));\nexports.AudioConfigImpl = AudioConfigImpl;\nvar AudioOutputConfigImpl = /** @class */ (function (_super) {\n __extends(AudioOutputConfigImpl, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {IAudioDestination} destination - An audio destination.\n */\n function AudioOutputConfigImpl(destination) {\n var _this = _super.call(this) || this;\n _this.privDestination = destination;\n return _this;\n }\n Object.defineProperty(AudioOutputConfigImpl.prototype, \"format\", {\n set: function (format) {\n this.privDestination.format = format;\n },\n enumerable: false,\n configurable: true\n });\n AudioOutputConfigImpl.prototype.write = function (buffer) {\n this.privDestination.write(buffer);\n };\n AudioOutputConfigImpl.prototype.close = function () {\n this.privDestination.close();\n };\n AudioOutputConfigImpl.prototype.id = function () {\n return this.privDestination.id();\n };\n AudioOutputConfigImpl.prototype.setProperty = function (name, value) {\n throw new Error(\"This AudioConfig instance does not support setting properties.\");\n };\n AudioOutputConfigImpl.prototype.getProperty = function (name, def) {\n throw new Error(\"This AudioConfig instance does not support getting properties.\");\n };\n return AudioOutputConfigImpl;\n}(AudioConfig));\nexports.AudioOutputConfigImpl = AudioOutputConfigImpl;\n\n//# sourceMappingURL=AudioConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\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 (k !== \"default\" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AudioFileWriter = void 0;\nvar fs = __importStar(require(\"fs\"));\nvar Contracts_1 = require(\"../Contracts\");\nvar AudioFileWriter = /** @class */ (function () {\n function AudioFileWriter(filename) {\n var _this = this;\n this.id = function () {\n return _this.privId;\n };\n Contracts_1.Contracts.throwIfNullOrUndefined(fs.openSync, \"\\nFile System access not available, please use Push or PullAudioOutputStream\");\n this.privFd = fs.openSync(filename, \"w\");\n }\n Object.defineProperty(AudioFileWriter.prototype, \"format\", {\n set: function (format) {\n Contracts_1.Contracts.throwIfNotUndefined(this.privAudioFormat, \"format is already set\");\n this.privAudioFormat = format;\n var headerOffset = 0;\n if (this.privAudioFormat.hasHeader) {\n headerOffset = this.privAudioFormat.header.byteLength;\n }\n if (this.privFd !== undefined) {\n this.privWriteStream = fs.createWriteStream(\"\", { fd: this.privFd, start: headerOffset, autoClose: false });\n }\n },\n enumerable: false,\n configurable: true\n });\n AudioFileWriter.prototype.write = function (buffer) {\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privAudioFormat, \"must set format before writing.\");\n if (this.privWriteStream !== undefined) {\n this.privWriteStream.write(new Uint8Array(buffer.slice(0)));\n }\n };\n AudioFileWriter.prototype.close = function () {\n var _this = this;\n if (this.privFd !== undefined) {\n this.privWriteStream.on(\"finish\", function () {\n if (_this.privAudioFormat.hasHeader) {\n _this.privAudioFormat.updateHeader(_this.privWriteStream.bytesWritten);\n fs.writeSync(_this.privFd, new Int8Array(_this.privAudioFormat.header), 0, _this.privAudioFormat.header.byteLength, 0);\n }\n fs.closeSync(_this.privFd);\n _this.privFd = undefined;\n });\n this.privWriteStream.end();\n }\n };\n return AudioFileWriter;\n}());\nexports.AudioFileWriter = AudioFileWriter;\n\n//# sourceMappingURL=AudioFileWriter.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PullAudioInputStreamImpl = exports.PullAudioInputStream = exports.PushAudioInputStreamImpl = exports.PushAudioInputStream = exports.AudioInputStream = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Guid_1 = require(\"../../common/Guid\");\nvar Exports_3 = require(\"../Exports\");\nvar AudioStreamFormat_1 = require(\"./AudioStreamFormat\");\n/**\n * Represents audio input stream used for custom audio input configurations.\n * @class AudioInputStream\n */\nvar AudioInputStream = /** @class */ (function () {\n /**\n * Creates and initializes an instance.\n * @constructor\n */\n function AudioInputStream() {\n }\n /**\n * Creates a memory backed PushAudioInputStream with the specified audio format.\n * @member AudioInputStream.createPushStream\n * @function\n * @public\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\n * written to the push audio stream's write() method (Required if format is not 16 kHz 16bit mono PCM).\n * @returns {PushAudioInputStream} The audio input stream being created.\n */\n AudioInputStream.createPushStream = function (format) {\n return PushAudioInputStream.create(format);\n };\n /**\n * Creates a PullAudioInputStream that delegates to the specified callback interface for read()\n * and close() methods.\n * @member AudioInputStream.createPullStream\n * @function\n * @public\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object, derived from\n * PullAudioInputStreamCallback\n * @param {AudioStreamFormat} format - The audio data format in which audio will be returned from\n * the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\n * @returns {PullAudioInputStream} The audio input stream being created.\n */\n AudioInputStream.createPullStream = function (callback, format) {\n return PullAudioInputStream.create(callback, format);\n // throw new Error(\"Oops\");\n };\n return AudioInputStream;\n}());\nexports.AudioInputStream = AudioInputStream;\n/**\n * Represents memory backed push audio input stream used for custom audio input configurations.\n * @class PushAudioInputStream\n */\nvar PushAudioInputStream = /** @class */ (function (_super) {\n __extends(PushAudioInputStream, _super);\n function PushAudioInputStream() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Creates a memory backed PushAudioInputStream with the specified audio format.\n * @member PushAudioInputStream.create\n * @function\n * @public\n * @param {AudioStreamFormat} format - The audio data format in which audio will be written to the\n * push audio stream's write() method (Required if format is not 16 kHz 16bit mono PCM).\n * @returns {PushAudioInputStream} The push audio input stream being created.\n */\n PushAudioInputStream.create = function (format) {\n return new PushAudioInputStreamImpl(format);\n };\n return PushAudioInputStream;\n}(AudioInputStream));\nexports.PushAudioInputStream = PushAudioInputStream;\n/**\n * Represents memory backed push audio input stream used for custom audio input configurations.\n * @private\n * @class PushAudioInputStreamImpl\n */\nvar PushAudioInputStreamImpl = /** @class */ (function (_super) {\n __extends(PushAudioInputStreamImpl, _super);\n /**\n * Creates and initalizes an instance with the given values.\n * @constructor\n * @param {AudioStreamFormat} format - The audio stream format.\n */\n function PushAudioInputStreamImpl(format) {\n var _this = _super.call(this) || this;\n _this.onEvent = function (event) {\n _this.privEvents.onEvent(event);\n Exports_2.Events.instance.onEvent(event);\n };\n if (format === undefined) {\n _this.privFormat = AudioStreamFormat_1.AudioStreamFormatImpl.getDefaultInputFormat();\n }\n else {\n _this.privFormat = format;\n }\n _this.privEvents = new Exports_2.EventSource();\n _this.privId = Guid_1.createNoDashGuid();\n _this.privStream = new Exports_2.ChunkedArrayBufferStream(_this.privFormat.avgBytesPerSec / 10);\n return _this;\n }\n Object.defineProperty(PushAudioInputStreamImpl.prototype, \"format\", {\n /**\n * Format information for the audio\n */\n get: function () {\n return Promise.resolve(this.privFormat);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Writes the audio data specified by making an internal copy of the data.\n * @member PushAudioInputStreamImpl.prototype.write\n * @function\n * @public\n * @param {ArrayBuffer} dataBuffer - The audio buffer of which this function will make a copy.\n */\n PushAudioInputStreamImpl.prototype.write = function (dataBuffer) {\n this.privStream.writeStreamChunk({\n buffer: dataBuffer,\n isEnd: false,\n timeReceived: Date.now()\n });\n };\n /**\n * Closes the stream.\n * @member PushAudioInputStreamImpl.prototype.close\n * @function\n * @public\n */\n PushAudioInputStreamImpl.prototype.close = function () {\n this.privStream.close();\n };\n PushAudioInputStreamImpl.prototype.id = function () {\n return this.privId;\n };\n Object.defineProperty(PushAudioInputStreamImpl.prototype, \"blob\", {\n get: function () {\n var _this = this;\n return this.attach(\"id\").then(function (audioNode) {\n var data = [];\n var bufferData = Buffer.from(\"\");\n var readCycle = function () {\n return audioNode.read().then(function (audioStreamChunk) {\n if (!audioStreamChunk || audioStreamChunk.isEnd) {\n if (typeof (XMLHttpRequest) !== \"undefined\" && typeof (Blob) !== \"undefined\") {\n return Promise.resolve(new Blob(data));\n }\n else {\n return Promise.resolve(Buffer.from(bufferData));\n }\n }\n else {\n if (typeof (Blob) !== \"undefined\") {\n data.push(audioStreamChunk.buffer);\n }\n else {\n bufferData = Buffer.concat([bufferData, _this.toBuffer(audioStreamChunk.buffer)]);\n }\n return readCycle();\n }\n });\n };\n return readCycle();\n });\n },\n enumerable: false,\n configurable: true\n });\n PushAudioInputStreamImpl.prototype.turnOn = function () {\n this.onEvent(new Exports_2.AudioSourceInitializingEvent(this.privId)); // no stream id\n this.onEvent(new Exports_2.AudioSourceReadyEvent(this.privId));\n return;\n };\n PushAudioInputStreamImpl.prototype.attach = function (audioNodeId) {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.onEvent(new Exports_2.AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\n return [4 /*yield*/, this.turnOn()];\n case 1:\n _a.sent();\n stream = this.privStream;\n this.onEvent(new Exports_2.AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\n return [2 /*return*/, {\n detach: function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n stream.readEnded();\n this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\n return [2 /*return*/, this.turnOff()];\n });\n }); },\n id: function () {\n return audioNodeId;\n },\n read: function () {\n return stream.read();\n },\n }];\n }\n });\n });\n };\n PushAudioInputStreamImpl.prototype.detach = function (audioNodeId) {\n this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\n };\n PushAudioInputStreamImpl.prototype.turnOff = function () {\n return;\n };\n Object.defineProperty(PushAudioInputStreamImpl.prototype, \"events\", {\n get: function () {\n return this.privEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PushAudioInputStreamImpl.prototype, \"deviceInfo\", {\n get: function () {\n return Promise.resolve({\n bitspersample: this.privFormat.bitsPerSample,\n channelcount: this.privFormat.channels,\n connectivity: Exports_1.connectivity.Unknown,\n manufacturer: \"Speech SDK\",\n model: \"PushStream\",\n samplerate: this.privFormat.samplesPerSec,\n type: Exports_1.type.Stream,\n });\n },\n enumerable: false,\n configurable: true\n });\n PushAudioInputStreamImpl.prototype.toBuffer = function (arrayBuffer) {\n var buf = Buffer.alloc(arrayBuffer.byteLength);\n var view = new Uint8Array(arrayBuffer);\n for (var i = 0; i < buf.length; ++i) {\n buf[i] = view[i];\n }\n return buf;\n };\n return PushAudioInputStreamImpl;\n}(PushAudioInputStream));\nexports.PushAudioInputStreamImpl = PushAudioInputStreamImpl;\n/*\n * Represents audio input stream used for custom audio input configurations.\n * @class PullAudioInputStream\n */\nvar PullAudioInputStream = /** @class */ (function (_super) {\n __extends(PullAudioInputStream, _super);\n /**\n * Creates and initializes and instance.\n * @constructor\n */\n function PullAudioInputStream() {\n return _super.call(this) || this;\n }\n /**\n * Creates a PullAudioInputStream that delegates to the specified callback interface for\n * read() and close() methods, using the default format (16 kHz 16bit mono PCM).\n * @member PullAudioInputStream.create\n * @function\n * @public\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object,\n * derived from PullAudioInputStreamCustomCallback\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\n * returned from the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\n * @returns {PullAudioInputStream} The push audio input stream being created.\n */\n PullAudioInputStream.create = function (callback, format) {\n return new PullAudioInputStreamImpl(callback, format);\n };\n return PullAudioInputStream;\n}(AudioInputStream));\nexports.PullAudioInputStream = PullAudioInputStream;\n/**\n * Represents audio input stream used for custom audio input configurations.\n * @private\n * @class PullAudioInputStreamImpl\n */\nvar PullAudioInputStreamImpl = /** @class */ (function (_super) {\n __extends(PullAudioInputStreamImpl, _super);\n /**\n * Creates a PullAudioInputStream that delegates to the specified callback interface for\n * read() and close() methods, using the default format (16 kHz 16bit mono PCM).\n * @constructor\n * @param {PullAudioInputStreamCallback} callback - The custom audio input object,\n * derived from PullAudioInputStreamCustomCallback\n * @param {AudioStreamFormat} format - The audio data format in which audio will be\n * returned from the callback's read() method (Required if format is not 16 kHz 16bit mono PCM).\n */\n function PullAudioInputStreamImpl(callback, format) {\n var _this = _super.call(this) || this;\n _this.onEvent = function (event) {\n _this.privEvents.onEvent(event);\n Exports_2.Events.instance.onEvent(event);\n };\n if (undefined === format) {\n _this.privFormat = Exports_3.AudioStreamFormat.getDefaultInputFormat();\n }\n else {\n _this.privFormat = format;\n }\n _this.privEvents = new Exports_2.EventSource();\n _this.privId = Guid_1.createNoDashGuid();\n _this.privCallback = callback;\n _this.privIsClosed = false;\n _this.privBufferSize = _this.privFormat.avgBytesPerSec / 10;\n return _this;\n }\n Object.defineProperty(PullAudioInputStreamImpl.prototype, \"format\", {\n /**\n * Format information for the audio\n */\n get: function () {\n return Promise.resolve(this.privFormat);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Closes the stream.\n * @member PullAudioInputStreamImpl.prototype.close\n * @function\n * @public\n */\n PullAudioInputStreamImpl.prototype.close = function () {\n this.privIsClosed = true;\n this.privCallback.close();\n };\n PullAudioInputStreamImpl.prototype.id = function () {\n return this.privId;\n };\n Object.defineProperty(PullAudioInputStreamImpl.prototype, \"blob\", {\n get: function () {\n return Promise.reject(\"Not implemented\");\n },\n enumerable: false,\n configurable: true\n });\n PullAudioInputStreamImpl.prototype.turnOn = function () {\n this.onEvent(new Exports_2.AudioSourceInitializingEvent(this.privId)); // no stream id\n this.onEvent(new Exports_2.AudioSourceReadyEvent(this.privId));\n return;\n };\n PullAudioInputStreamImpl.prototype.attach = function (audioNodeId) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.onEvent(new Exports_2.AudioStreamNodeAttachingEvent(this.privId, audioNodeId));\n return [4 /*yield*/, this.turnOn()];\n case 1:\n _a.sent();\n this.onEvent(new Exports_2.AudioStreamNodeAttachedEvent(this.privId, audioNodeId));\n return [2 /*return*/, {\n detach: function () {\n _this.privCallback.close();\n _this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(_this.privId, audioNodeId));\n return _this.turnOff();\n },\n id: function () {\n return audioNodeId;\n },\n read: function () {\n var totalBytes = 0;\n var transmitBuff;\n // Until we have the minimum number of bytes to send in a transmission, keep asking for more.\n while (totalBytes < _this.privBufferSize) {\n // Sizing the read buffer to the delta between the perfect size and what's left means we won't ever get too much\n // data back.\n var readBuff = new ArrayBuffer(_this.privBufferSize - totalBytes);\n var pulledBytes = _this.privCallback.read(readBuff);\n // If there is no return buffer yet defined, set the return buffer to the that was just populated.\n // This was, if we have enough data there's no copy penalty, but if we don't we have a buffer that's the\n // preferred size allocated.\n if (undefined === transmitBuff) {\n transmitBuff = readBuff;\n }\n else {\n // Not the first bite at the apple, so fill the return buffer with the data we got back.\n var intView = new Int8Array(transmitBuff);\n intView.set(new Int8Array(readBuff), totalBytes);\n }\n // If there are no bytes to read, just break out and be done.\n if (0 === pulledBytes) {\n break;\n }\n totalBytes += pulledBytes;\n }\n return Promise.resolve({\n buffer: transmitBuff.slice(0, totalBytes),\n isEnd: _this.privIsClosed || totalBytes === 0,\n timeReceived: Date.now(),\n });\n },\n }];\n }\n });\n });\n };\n PullAudioInputStreamImpl.prototype.detach = function (audioNodeId) {\n this.onEvent(new Exports_2.AudioStreamNodeDetachedEvent(this.privId, audioNodeId));\n };\n PullAudioInputStreamImpl.prototype.turnOff = function () {\n return;\n };\n Object.defineProperty(PullAudioInputStreamImpl.prototype, \"events\", {\n get: function () {\n return this.privEvents;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PullAudioInputStreamImpl.prototype, \"deviceInfo\", {\n get: function () {\n return Promise.resolve({\n bitspersample: this.privFormat.bitsPerSample,\n channelcount: this.privFormat.channels,\n connectivity: Exports_1.connectivity.Unknown,\n manufacturer: \"Speech SDK\",\n model: \"PullStream\",\n samplerate: this.privFormat.samplesPerSec,\n type: Exports_1.type.Stream,\n });\n },\n enumerable: false,\n configurable: true\n });\n return PullAudioInputStreamImpl;\n}(PullAudioInputStream));\nexports.PullAudioInputStreamImpl = PullAudioInputStreamImpl;\n\n//# sourceMappingURL=AudioInputStream.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AudioOutputFormatImpl = void 0;\nvar SpeechSynthesisOutputFormat_1 = require(\"../SpeechSynthesisOutputFormat\");\nvar AudioStreamFormat_1 = require(\"./AudioStreamFormat\");\n/**\n * @private\n * @class AudioOutputFormatImpl\n * Updated in version 1.17.0\n */\n// tslint:disable-next-line:max-classes-per-file\nvar AudioOutputFormatImpl = /** @class */ (function (_super) {\n __extends(AudioOutputFormatImpl, _super);\n /**\n * Creates an instance with the given values.\n * @constructor\n * @param formatTag\n * @param {number} channels - Number of channels.\n * @param {number} samplesPerSec - Samples per second.\n * @param {number} avgBytesPerSec - Average bytes per second.\n * @param {number} blockAlign - Block alignment.\n * @param {number} bitsPerSample - Bits per sample.\n * @param {string} audioFormatString - Audio format string\n * @param {string} requestAudioFormatString - Audio format string sent to service.\n * @param {boolean} hasHeader - If the format has header or not.\n */\n function AudioOutputFormatImpl(formatTag, channels, samplesPerSec, avgBytesPerSec, blockAlign, bitsPerSample, audioFormatString, requestAudioFormatString, hasHeader) {\n var _this = _super.call(this, samplesPerSec, bitsPerSample, channels, formatTag) || this;\n _this.formatTag = formatTag;\n _this.avgBytesPerSec = avgBytesPerSec;\n _this.blockAlign = blockAlign;\n _this.priAudioFormatString = audioFormatString;\n _this.priRequestAudioFormatString = requestAudioFormatString;\n _this.priHasHeader = hasHeader;\n return _this;\n }\n AudioOutputFormatImpl.fromSpeechSynthesisOutputFormat = function (speechSynthesisOutputFormat) {\n if (speechSynthesisOutputFormat === undefined) {\n return AudioOutputFormatImpl.getDefaultOutputFormat();\n }\n return AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString(AudioOutputFormatImpl.SpeechSynthesisOutputFormatToString[speechSynthesisOutputFormat]);\n };\n AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString = function (speechSynthesisOutputFormatString) {\n switch (speechSynthesisOutputFormatString) {\n case \"raw-8khz-8bit-mono-mulaw\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MuLaw, 1, 8000, 8000, 1, 8, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"riff-16khz-16kbps-mono-siren\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.Siren, 1, 16000, 2000, 40, 0, speechSynthesisOutputFormatString, \"audio-16khz-16kbps-mono-siren\", true);\n case \"audio-16khz-16kbps-mono-siren\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.Siren, 1, 16000, 2000, 40, 0, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-16khz-32kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 16000, 32 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-16khz-128kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 16000, 128 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-16khz-64kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 16000, 64 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-24khz-48kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 24000, 48 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-24khz-96kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 24000, 96 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-24khz-160kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 24000, 160 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"raw-16khz-16bit-mono-truesilk\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.SILKSkype, 1, 16000, 32000, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"riff-8khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 8000, 16000, 2, 16, speechSynthesisOutputFormatString, \"raw-8khz-16bit-mono-pcm\", true);\n case \"riff-24khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 24000, 48000, 2, 16, speechSynthesisOutputFormatString, \"raw-24khz-16bit-mono-pcm\", true);\n case \"riff-8khz-8bit-mono-mulaw\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MuLaw, 1, 8000, 8000, 1, 8, speechSynthesisOutputFormatString, \"raw-8khz-8bit-mono-mulaw\", true);\n case \"raw-16khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 16000, 32000, 2, 16, speechSynthesisOutputFormatString, \"raw-16khz-16bit-mono-pcm\", false);\n case \"raw-24khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 24000, 48000, 2, 16, speechSynthesisOutputFormatString, \"raw-24khz-16bit-mono-pcm\", false);\n case \"raw-8khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 8000, 16000, 2, 16, speechSynthesisOutputFormatString, \"raw-8khz-16bit-mono-pcm\", false);\n case \"ogg-16khz-16bit-mono-opus\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.OGG_OPUS, 1, 16000, 8192, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"ogg-24khz-16bit-mono-opus\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.OGG_OPUS, 1, 24000, 8192, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"raw-48khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 48000, 96000, 2, 16, speechSynthesisOutputFormatString, \"raw-48khz-16bit-mono-pcm\", false);\n case \"riff-48khz-16bit-mono-pcm\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 48000, 96000, 2, 16, speechSynthesisOutputFormatString, \"raw-48khz-16bit-mono-pcm\", true);\n case \"audio-48khz-96kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 48000, 96 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"audio-48khz-192kbitrate-mono-mp3\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.MP3, 1, 48000, 192 << 7, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"ogg-48khz-16bit-mono-opus\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.OGG_OPUS, 1, 48000, 12000, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"webm-16khz-16bit-mono-opus\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.WEBM_OPUS, 1, 16000, 8000, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"webm-24khz-16bit-mono-opus\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.WEBM_OPUS, 1, 24000, 8000, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"raw-24khz-16bit-mono-truesilk\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.SILKSkype, 1, 24000, 48000, 2, 16, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"raw-8khz-8bit-mono-alaw\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.ALaw, 1, 8000, 8000, 1, 8, speechSynthesisOutputFormatString, speechSynthesisOutputFormatString, false);\n case \"riff-8khz-8bit-mono-alaw\":\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.ALaw, 1, 8000, 8000, 1, 8, speechSynthesisOutputFormatString, \"raw-8khz-8bit-mono-alaw\", true);\n case \"riff-16khz-16bit-mono-pcm\":\n default:\n return new AudioOutputFormatImpl(AudioStreamFormat_1.AudioFormatTag.PCM, 1, 16000, 32000, 2, 16, \"riff-16khz-16bit-mono-pcm\", \"raw-16khz-16bit-mono-pcm\", true);\n }\n };\n AudioOutputFormatImpl.getDefaultOutputFormat = function () {\n return AudioOutputFormatImpl.fromSpeechSynthesisOutputFormatString((typeof window !== \"undefined\") ? \"audio-24khz-48kbitrate-mono-mp3\" : \"riff-16khz-16bit-mono-pcm\");\n };\n Object.defineProperty(AudioOutputFormatImpl.prototype, \"hasHeader\", {\n /**\n * Specifies if this audio output format has a header\n * @boolean AudioOutputFormatImpl.prototype.hasHeader\n * @function\n * @public\n */\n get: function () {\n return this.priHasHeader;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AudioOutputFormatImpl.prototype, \"header\", {\n /**\n * Specifies the header of this format\n * @ArrayBuffer AudioOutputFormatImpl.prototype.header\n * @function\n * @public\n */\n get: function () {\n if (this.hasHeader) {\n return this.privHeader;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Updates the header based on the audio length\n * @member AudioOutputFormatImpl.updateHeader\n * @function\n * @public\n * @param {number} audioLength - the audio length\n */\n AudioOutputFormatImpl.prototype.updateHeader = function (audioLength) {\n if (this.priHasHeader) {\n var view = new DataView(this.privHeader);\n view.setUint32(40, audioLength, true);\n }\n };\n Object.defineProperty(AudioOutputFormatImpl.prototype, \"requestAudioFormatString\", {\n /**\n * Specifies the audio format string to be sent to the service\n * @string AudioOutputFormatImpl.prototype.requestAudioFormatString\n * @function\n * @public\n */\n get: function () {\n return this.priRequestAudioFormatString;\n },\n enumerable: false,\n configurable: true\n });\n AudioOutputFormatImpl.SpeechSynthesisOutputFormatToString = (_a = {},\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw8Khz8BitMonoMULaw] = \"raw-8khz-8bit-mono-mulaw\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff16Khz16KbpsMonoSiren] = \"riff-16khz-16kbps-mono-siren\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio16Khz16KbpsMonoSiren] = \"audio-16khz-16kbps-mono-siren\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio16Khz32KBitRateMonoMp3] = \"audio-16khz-32kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio16Khz128KBitRateMonoMp3] = \"audio-16khz-128kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio16Khz64KBitRateMonoMp3] = \"audio-16khz-64kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio24Khz48KBitRateMonoMp3] = \"audio-24khz-48kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio24Khz96KBitRateMonoMp3] = \"audio-24khz-96kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio24Khz160KBitRateMonoMp3] = \"audio-24khz-160kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw16Khz16BitMonoTrueSilk] = \"raw-16khz-16bit-mono-truesilk\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff16Khz16BitMonoPcm] = \"riff-16khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff8Khz16BitMonoPcm] = \"riff-8khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm] = \"riff-24khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff8Khz8BitMonoMULaw] = \"riff-8khz-8bit-mono-mulaw\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw16Khz16BitMonoPcm] = \"raw-16khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw24Khz16BitMonoPcm] = \"raw-24khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw8Khz16BitMonoPcm] = \"raw-8khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Ogg16Khz16BitMonoOpus] = \"ogg-16khz-16bit-mono-opus\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Ogg24Khz16BitMonoOpus] = \"ogg-24khz-16bit-mono-opus\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw48Khz16BitMonoPcm] = \"raw-48khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff48Khz16BitMonoPcm] = \"riff-48khz-16bit-mono-pcm\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio48Khz96KBitRateMonoMp3] = \"audio-48khz-96kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Audio48Khz192KBitRateMonoMp3] = \"audio-48khz-192kbitrate-mono-mp3\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Ogg48Khz16BitMonoOpus] = \"ogg-48khz-16bit-mono-opus\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Webm16Khz16BitMonoOpus] = \"webm-16khz-16bit-mono-opus\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Webm24Khz16BitMonoOpus] = \"webm-24khz-16bit-mono-opus\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw24Khz16BitMonoTrueSilk] = \"raw-24khz-16bit-mono-truesilk\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Raw8Khz8BitMonoALaw] = \"raw-8khz-8bit-mono-alaw\",\n _a[SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat.Riff8Khz8BitMonoALaw] = \"riff-8khz-8bit-mono-alaw\",\n _a);\n return AudioOutputFormatImpl;\n}(AudioStreamFormat_1.AudioStreamFormatImpl));\nexports.AudioOutputFormatImpl = AudioOutputFormatImpl;\n\n//# sourceMappingURL=AudioOutputFormat.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PushAudioOutputStreamImpl = exports.PushAudioOutputStream = exports.PullAudioOutputStreamImpl = exports.PullAudioOutputStream = exports.AudioOutputStream = void 0;\n// tslint:disable:max-classes-per-file\nvar Exports_1 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../Contracts\");\nvar AudioOutputFormat_1 = require(\"./AudioOutputFormat\");\n/**\n * Represents audio output stream used for custom audio output configurations.\n * @class AudioOutputStream\n */\nvar AudioOutputStream = /** @class */ (function () {\n /**\n * Creates and initializes an instance.\n * @constructor\n */\n function AudioOutputStream() {\n }\n /**\n * Creates a memory backed PullAudioOutputStream with the specified audio format.\n * @member AudioOutputStream.createPullStream\n * @function\n * @public\n * @returns {PullAudioOutputStream} The audio output stream being created.\n */\n AudioOutputStream.createPullStream = function () {\n return PullAudioOutputStream.create();\n };\n return AudioOutputStream;\n}());\nexports.AudioOutputStream = AudioOutputStream;\n/**\n * Represents memory backed push audio output stream used for custom audio output configurations.\n * @class PullAudioOutputStream\n */\nvar PullAudioOutputStream = /** @class */ (function (_super) {\n __extends(PullAudioOutputStream, _super);\n function PullAudioOutputStream() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /**\n * Creates a memory backed PullAudioOutputStream with the specified audio format.\n * @member PullAudioOutputStream.create\n * @function\n * @public\n * @returns {PullAudioOutputStream} The push audio output stream being created.\n */\n PullAudioOutputStream.create = function () {\n return new PullAudioOutputStreamImpl();\n };\n return PullAudioOutputStream;\n}(AudioOutputStream));\nexports.PullAudioOutputStream = PullAudioOutputStream;\n/**\n * Represents memory backed push audio output stream used for custom audio output configurations.\n * @private\n * @class PullAudioOutputStreamImpl\n */\nvar PullAudioOutputStreamImpl = /** @class */ (function (_super) {\n __extends(PullAudioOutputStreamImpl, _super);\n /**\n * Creates and initializes an instance with the given values.\n * @constructor\n */\n function PullAudioOutputStreamImpl() {\n var _this = _super.call(this) || this;\n _this.privId = Exports_1.createNoDashGuid();\n _this.privStream = new Exports_1.Stream();\n return _this;\n }\n Object.defineProperty(PullAudioOutputStreamImpl.prototype, \"format\", {\n /**\n * Format information for the audio\n */\n get: function () {\n return this.privFormat;\n },\n /**\n * Sets the format information to the stream. For internal use only.\n * @param {AudioStreamFormat} format - the format to be set.\n */\n set: function (format) {\n if (format === undefined || format === null) {\n this.privFormat = AudioOutputFormat_1.AudioOutputFormatImpl.getDefaultOutputFormat();\n }\n this.privFormat = format;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PullAudioOutputStreamImpl.prototype, \"isClosed\", {\n /**\n * Checks if the stream is closed\n * @member PullAudioOutputStreamImpl.prototype.isClosed\n * @property\n * @public\n */\n get: function () {\n return this.privStream.isClosed;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Gets the id of the stream\n * @member PullAudioOutputStreamImpl.prototype.id\n * @property\n * @public\n */\n PullAudioOutputStreamImpl.prototype.id = function () {\n return this.privId;\n };\n /**\n * Reads audio data from the internal buffer.\n * @member PullAudioOutputStreamImpl.prototype.read\n * @function\n * @public\n * @param {ArrayBuffer} dataBuffer - An ArrayBuffer to store the read data.\n * @returns {Promise} - Audio buffer length has been read.\n */\n PullAudioOutputStreamImpl.prototype.read = function (dataBuffer) {\n return __awaiter(this, void 0, void 0, function () {\n var intView, totalBytes, chunk, tmpBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n intView = new Int8Array(dataBuffer);\n totalBytes = 0;\n if (this.privLastChunkView !== undefined) {\n if (this.privLastChunkView.length > dataBuffer.byteLength) {\n intView.set(this.privLastChunkView.slice(0, dataBuffer.byteLength));\n this.privLastChunkView = this.privLastChunkView.slice(dataBuffer.byteLength);\n return [2 /*return*/, Promise.resolve(dataBuffer.byteLength)];\n }\n intView.set(this.privLastChunkView);\n totalBytes = this.privLastChunkView.length;\n this.privLastChunkView = undefined;\n }\n _a.label = 1;\n case 1:\n if (!(totalBytes < dataBuffer.byteLength && !this.privStream.isReadEnded)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.privStream.read()];\n case 2:\n chunk = _a.sent();\n if (!(chunk !== undefined && !chunk.isEnd)) return [3 /*break*/, 3];\n tmpBuffer = void 0;\n if (chunk.buffer.byteLength > dataBuffer.byteLength - totalBytes) {\n tmpBuffer = chunk.buffer.slice(0, dataBuffer.byteLength - totalBytes);\n this.privLastChunkView = new Int8Array(chunk.buffer.slice(dataBuffer.byteLength - totalBytes));\n }\n else {\n tmpBuffer = chunk.buffer;\n }\n intView.set(new Int8Array(tmpBuffer), totalBytes);\n totalBytes += tmpBuffer.byteLength;\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, this.privStream.readEnded()];\n case 4:\n _a.sent();\n _a.label = 5;\n case 5: return [3 /*break*/, 1];\n case 6: return [2 /*return*/, totalBytes];\n }\n });\n });\n };\n /**\n * Writes the audio data specified by making an internal copy of the data.\n * @member PullAudioOutputStreamImpl.prototype.write\n * @function\n * @public\n * @param {ArrayBuffer} dataBuffer - The audio buffer of which this function will make a copy.\n */\n PullAudioOutputStreamImpl.prototype.write = function (dataBuffer) {\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privStream, \"must set format before writing\");\n this.privStream.writeStreamChunk({\n buffer: dataBuffer,\n isEnd: false,\n timeReceived: Date.now()\n });\n };\n /**\n * Closes the stream.\n * @member PullAudioOutputStreamImpl.prototype.close\n * @function\n * @public\n */\n PullAudioOutputStreamImpl.prototype.close = function () {\n this.privStream.close();\n };\n return PullAudioOutputStreamImpl;\n}(PullAudioOutputStream));\nexports.PullAudioOutputStreamImpl = PullAudioOutputStreamImpl;\n/*\n * Represents audio output stream used for custom audio output configurations.\n * @class PushAudioOutputStream\n */\nvar PushAudioOutputStream = /** @class */ (function (_super) {\n __extends(PushAudioOutputStream, _super);\n /**\n * Creates and initializes and instance.\n * @constructor\n */\n function PushAudioOutputStream() {\n return _super.call(this) || this;\n }\n /**\n * Creates a PushAudioOutputStream that delegates to the specified callback interface for\n * write() and close() methods.\n * @member PushAudioOutputStream.create\n * @function\n * @public\n * @param {PushAudioOutputStreamCallback} callback - The custom audio output object,\n * derived from PushAudioOutputStreamCallback\n * @returns {PushAudioOutputStream} The push audio output stream being created.\n */\n PushAudioOutputStream.create = function (callback) {\n return new PushAudioOutputStreamImpl(callback);\n };\n return PushAudioOutputStream;\n}(AudioOutputStream));\nexports.PushAudioOutputStream = PushAudioOutputStream;\n/**\n * Represents audio output stream used for custom audio output configurations.\n * @private\n * @class PushAudioOutputStreamImpl\n */\nvar PushAudioOutputStreamImpl = /** @class */ (function (_super) {\n __extends(PushAudioOutputStreamImpl, _super);\n /**\n * Creates a PushAudioOutputStream that delegates to the specified callback interface for\n * read() and close() methods.\n * @constructor\n * @param {PushAudioOutputStreamCallback} callback - The custom audio output object,\n * derived from PushAudioOutputStreamCallback\n */\n function PushAudioOutputStreamImpl(callback) {\n var _this = _super.call(this) || this;\n _this.privId = Exports_1.createNoDashGuid();\n _this.privCallback = callback;\n return _this;\n }\n Object.defineProperty(PushAudioOutputStreamImpl.prototype, \"format\", {\n // tslint:disable-next-line:no-empty\n set: function (format) { },\n enumerable: false,\n configurable: true\n });\n PushAudioOutputStreamImpl.prototype.write = function (buffer) {\n if (!!this.privCallback.write) {\n this.privCallback.write(buffer);\n }\n };\n PushAudioOutputStreamImpl.prototype.close = function () {\n if (!!this.privCallback.close) {\n this.privCallback.close();\n }\n };\n PushAudioOutputStreamImpl.prototype.id = function () {\n return this.privId;\n };\n return PushAudioOutputStreamImpl;\n}(PushAudioOutputStream));\nexports.PushAudioOutputStreamImpl = PushAudioOutputStreamImpl;\n\n//# sourceMappingURL=AudioOutputStream.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.AudioStreamFormatImpl = exports.AudioStreamFormat = exports.AudioFormatTag = void 0;\nvar AudioFormatTag;\n(function (AudioFormatTag) {\n AudioFormatTag[AudioFormatTag[\"PCM\"] = 1] = \"PCM\";\n AudioFormatTag[AudioFormatTag[\"MuLaw\"] = 2] = \"MuLaw\";\n AudioFormatTag[AudioFormatTag[\"Siren\"] = 3] = \"Siren\";\n AudioFormatTag[AudioFormatTag[\"MP3\"] = 4] = \"MP3\";\n AudioFormatTag[AudioFormatTag[\"SILKSkype\"] = 5] = \"SILKSkype\";\n AudioFormatTag[AudioFormatTag[\"OGG_OPUS\"] = 6] = \"OGG_OPUS\";\n AudioFormatTag[AudioFormatTag[\"WEBM_OPUS\"] = 7] = \"WEBM_OPUS\";\n AudioFormatTag[AudioFormatTag[\"ALaw\"] = 8] = \"ALaw\";\n})(AudioFormatTag = exports.AudioFormatTag || (exports.AudioFormatTag = {}));\n/**\n * Represents audio stream format used for custom audio input configurations.\n * @class AudioStreamFormat\n */\nvar AudioStreamFormat = /** @class */ (function () {\n function AudioStreamFormat() {\n }\n /**\n * Creates an audio stream format object representing the default audio stream\n * format (16KHz 16bit mono PCM).\n * @member AudioStreamFormat.getDefaultInputFormat\n * @function\n * @public\n * @returns {AudioStreamFormat} The audio stream format being created.\n */\n AudioStreamFormat.getDefaultInputFormat = function () {\n return AudioStreamFormatImpl.getDefaultInputFormat();\n };\n /**\n * Creates an audio stream format object with the specified pcm waveformat characteristics.\n * @member AudioStreamFormat.getWaveFormatPCM\n * @function\n * @public\n * @param {number} samplesPerSecond - Sample rate, in samples per second (Hertz).\n * @param {number} bitsPerSample - Bits per sample, typically 16.\n * @param {number} channels - Number of channels in the waveform-audio data. Monaural data\n * uses one channel and stereo data uses two channels.\n * @returns {AudioStreamFormat} The audio stream format being created.\n */\n AudioStreamFormat.getWaveFormatPCM = function (samplesPerSecond, bitsPerSample, channels) {\n return new AudioStreamFormatImpl(samplesPerSecond, bitsPerSample, channels);\n };\n return AudioStreamFormat;\n}());\nexports.AudioStreamFormat = AudioStreamFormat;\n/**\n * @private\n * @class AudioStreamFormatImpl\n */\n// tslint:disable-next-line:max-classes-per-file\nvar AudioStreamFormatImpl = /** @class */ (function (_super) {\n __extends(AudioStreamFormatImpl, _super);\n /**\n * Creates an instance with the given values.\n * @constructor\n * @param {number} samplesPerSec - Samples per second.\n * @param {number} bitsPerSample - Bits per sample.\n * @param {number} channels - Number of channels.\n * @param {AudioFormatTag} format - Audio format (PCM, alaw or mulaw).\n */\n function AudioStreamFormatImpl(samplesPerSec, bitsPerSample, channels, format) {\n if (samplesPerSec === void 0) { samplesPerSec = 16000; }\n if (bitsPerSample === void 0) { bitsPerSample = 16; }\n if (channels === void 0) { channels = 1; }\n if (format === void 0) { format = AudioFormatTag.PCM; }\n var _this = _super.call(this) || this;\n _this.setString = function (view, offset, str) {\n for (var i = 0; i < str.length; i++) {\n view.setUint8(offset + i, str.charCodeAt(i));\n }\n };\n /* 1 for PCM; 6 for alaw; 7 for mulaw */\n switch (format) {\n case AudioFormatTag.PCM:\n _this.formatTag = 1;\n break;\n case AudioFormatTag.ALaw:\n _this.formatTag = 6;\n break;\n case AudioFormatTag.MuLaw:\n _this.formatTag = 7;\n break;\n default:\n }\n _this.bitsPerSample = bitsPerSample;\n _this.samplesPerSec = samplesPerSec;\n _this.channels = channels;\n _this.avgBytesPerSec = _this.samplesPerSec * _this.channels * (_this.bitsPerSample / 8);\n _this.blockAlign = _this.channels * Math.max(_this.bitsPerSample, 8);\n _this.privHeader = new ArrayBuffer(44);\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DataView\n var view = new DataView(_this.privHeader);\n /* RIFF identifier */\n _this.setString(view, 0, \"RIFF\");\n /* file length */\n view.setUint32(4, 0, true);\n /* RIFF type & Format */\n _this.setString(view, 8, \"WAVEfmt \");\n /* format chunk length */\n view.setUint32(16, 16, true);\n /* audio format */\n view.setUint16(20, _this.formatTag, true);\n /* channel count */\n view.setUint16(22, _this.channels, true);\n /* sample rate */\n view.setUint32(24, _this.samplesPerSec, true);\n /* byte rate (sample rate * block align) */\n view.setUint32(28, _this.avgBytesPerSec, true);\n /* block align (channel count * bytes per sample) */\n view.setUint16(32, _this.channels * (_this.bitsPerSample / 8), true);\n /* bits per sample */\n view.setUint16(34, _this.bitsPerSample, true);\n /* data chunk identifier */\n _this.setString(view, 36, \"data\");\n /* data chunk length */\n view.setUint32(40, 0, true);\n return _this;\n }\n /**\n * Retrieves the default input format.\n * @member AudioStreamFormatImpl.getDefaultInputFormat\n * @function\n * @public\n * @returns {AudioStreamFormatImpl} The default input format.\n */\n AudioStreamFormatImpl.getDefaultInputFormat = function () {\n return new AudioStreamFormatImpl();\n };\n /**\n * Creates an audio context appropriate to current browser\n * @member AudioStreamFormatImpl.getAudioContext\n * @function\n * @public\n * @returns {AudioContext} An audio context instance\n */\n AudioStreamFormatImpl.getAudioContext = function (sampleRate) {\n // Workaround for Speech SDK bug in Safari.\n var AudioContext = window.AudioContext // our preferred impl\n || window.webkitAudioContext // fallback, mostly when on Safari\n || false; // could not find.\n // https://developer.mozilla.org/en-US/docs/Web/API/AudioContext\n if (!!AudioContext) {\n if (sampleRate !== undefined && navigator.mediaDevices.getSupportedConstraints().sampleRate) {\n return new AudioContext({ sampleRate: sampleRate });\n }\n else {\n return new AudioContext();\n }\n }\n else {\n throw new Error(\"Browser does not support Web Audio API (AudioContext is not available).\");\n }\n };\n /**\n * Closes the configuration object.\n * @member AudioStreamFormatImpl.prototype.close\n * @function\n * @public\n */\n AudioStreamFormatImpl.prototype.close = function () { return; };\n Object.defineProperty(AudioStreamFormatImpl.prototype, \"header\", {\n get: function () {\n return this.privHeader;\n },\n enumerable: false,\n configurable: true\n });\n return AudioStreamFormatImpl;\n}(AudioStreamFormat));\nexports.AudioStreamFormatImpl = AudioStreamFormatImpl;\n\n//# sourceMappingURL=AudioStreamFormat.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BaseAudioPlayer = void 0;\nvar Error_1 = require(\"../../common/Error\");\nvar Promise_1 = require(\"../../common/Promise\");\nvar Exports_1 = require(\"../Exports\");\nvar AudioStreamFormat_1 = require(\"./AudioStreamFormat\");\n/**\n * Base audio player class\n * TODO: Plays only PCM for now.\n * @class\n */\nvar BaseAudioPlayer = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {AudioStreamFormat} audioFormat audio stream format recognized by the player.\n */\n function BaseAudioPlayer(audioFormat) {\n this.audioContext = null;\n this.gainNode = null;\n this.autoUpdateBufferTimer = 0;\n if (audioFormat === undefined) {\n audioFormat = Exports_1.AudioStreamFormat.getDefaultInputFormat();\n }\n this.init(audioFormat);\n }\n /**\n * play Audio sample\n * @param newAudioData audio data to be played.\n */\n BaseAudioPlayer.prototype.playAudioSample = function (newAudioData, cb, err) {\n var _this = this;\n Promise_1.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var audioData, newSamplesData;\n return __generator(this, function (_a) {\n this.ensureInitializedContext();\n audioData = this.formatAudioData(newAudioData);\n newSamplesData = new Float32Array(this.samples.length + audioData.length);\n newSamplesData.set(this.samples, 0);\n newSamplesData.set(audioData, this.samples.length);\n this.samples = newSamplesData;\n return [2 /*return*/];\n });\n }); })(), cb, err);\n };\n /**\n * stops audio and clears the buffers\n */\n BaseAudioPlayer.prototype.stopAudio = function (cb, err) {\n if (this.audioContext !== null) {\n this.samples = new Float32Array();\n clearInterval(this.autoUpdateBufferTimer);\n this.audioContext.close().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n this.audioContext = null;\n }\n };\n BaseAudioPlayer.prototype.init = function (audioFormat) {\n this.audioFormat = audioFormat;\n this.samples = new Float32Array();\n };\n BaseAudioPlayer.prototype.ensureInitializedContext = function () {\n var _this = this;\n if (this.audioContext === null) {\n this.createAudioContext();\n var timerPeriod = 200;\n this.autoUpdateBufferTimer = setInterval(function () {\n _this.updateAudioBuffer();\n }, timerPeriod);\n }\n };\n BaseAudioPlayer.prototype.createAudioContext = function () {\n // new ((window as any).AudioContext || (window as any).webkitAudioContext)();\n this.audioContext = AudioStreamFormat_1.AudioStreamFormatImpl.getAudioContext();\n // TODO: Various examples shows this gain node, it does not seem to be needed unless we plan\n // to control the volume, not likely\n this.gainNode = this.audioContext.createGain();\n this.gainNode.gain.value = 1;\n this.gainNode.connect(this.audioContext.destination);\n this.startTime = this.audioContext.currentTime;\n };\n BaseAudioPlayer.prototype.formatAudioData = function (audioData) {\n switch (this.audioFormat.bitsPerSample) {\n case 8:\n return this.formatArrayBuffer(new Int8Array(audioData), 128);\n case 16:\n return this.formatArrayBuffer(new Int16Array(audioData), 32768);\n case 32:\n return this.formatArrayBuffer(new Int32Array(audioData), 2147483648);\n default:\n throw new Error_1.InvalidOperationError(\"Only WAVE_FORMAT_PCM (8/16/32 bps) format supported at this time\");\n }\n };\n BaseAudioPlayer.prototype.formatArrayBuffer = function (audioData, maxValue) {\n var float32Data = new Float32Array(audioData.length);\n for (var i = 0; i < audioData.length; i++) {\n float32Data[i] = audioData[i] / maxValue;\n }\n return float32Data;\n };\n BaseAudioPlayer.prototype.updateAudioBuffer = function () {\n if (this.samples.length === 0) {\n return;\n }\n var channelCount = this.audioFormat.channels;\n var bufferSource = this.audioContext.createBufferSource();\n var frameCount = this.samples.length / channelCount;\n var audioBuffer = this.audioContext.createBuffer(channelCount, frameCount, this.audioFormat.samplesPerSec);\n // TODO: Should we do the conversion in the pushAudioSample instead?\n for (var channel = 0; channel < channelCount; channel++) {\n // Fill in individual channel data\n var channelOffset = channel;\n var audioData = audioBuffer.getChannelData(channel);\n for (var i = 0; i < this.samples.length; i++, channelOffset += channelCount) {\n audioData[i] = this.samples[channelOffset];\n }\n }\n if (this.startTime < this.audioContext.currentTime) {\n this.startTime = this.audioContext.currentTime;\n }\n bufferSource.buffer = audioBuffer;\n bufferSource.connect(this.gainNode);\n bufferSource.start(this.startTime);\n // Make sure we play the next sample after the current one.\n this.startTime += audioBuffer.duration;\n // Clear the samples for the next pushed data.\n this.samples = new Float32Array();\n };\n BaseAudioPlayer.prototype.playAudio = function (audioData) {\n return __awaiter(this, void 0, void 0, function () {\n var source, destination;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.audioContext === null) {\n this.createAudioContext();\n }\n source = this.audioContext.createBufferSource();\n destination = this.audioContext.destination;\n return [4 /*yield*/, this.audioContext.decodeAudioData(audioData, function (newBuffer) {\n source.buffer = newBuffer;\n source.connect(destination);\n source.start(0);\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return BaseAudioPlayer;\n}());\nexports.BaseAudioPlayer = BaseAudioPlayer;\n\n//# sourceMappingURL=BaseAudioPlayer.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PullAudioInputStreamCallback = void 0;\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n/**\n * An abstract base class that defines callback methods (read() and close()) for\n * custom audio input streams).\n * @class PullAudioInputStreamCallback\n */\nvar PullAudioInputStreamCallback = /** @class */ (function () {\n function PullAudioInputStreamCallback() {\n }\n return PullAudioInputStreamCallback;\n}());\nexports.PullAudioInputStreamCallback = PullAudioInputStreamCallback;\n\n//# sourceMappingURL=PullAudioInputStreamCallback.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PushAudioOutputStreamCallback = void 0;\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n/**\n * An abstract base class that defines callback methods (write() and close()) for\n * custom audio output streams).\n * @class PushAudioOutputStreamCallback\n */\nvar PushAudioOutputStreamCallback = /** @class */ (function () {\n function PushAudioOutputStreamCallback() {\n }\n return PushAudioOutputStreamCallback;\n}());\nexports.PushAudioOutputStreamCallback = PushAudioOutputStreamCallback;\n\n//# sourceMappingURL=PushAudioOutputStreamCallback.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar _a;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerAudioDestination = void 0;\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar AudioOutputStream_1 = require(\"./AudioOutputStream\");\nvar AudioStreamFormat_1 = require(\"./AudioStreamFormat\");\nvar MediaDurationPlaceholderSeconds = 60 * 30;\nvar AudioFormatToMimeType = (_a = {},\n _a[AudioStreamFormat_1.AudioFormatTag.PCM] = \"audio/wav\",\n _a[AudioStreamFormat_1.AudioFormatTag.MuLaw] = \"audio/x-wav\",\n _a[AudioStreamFormat_1.AudioFormatTag.MP3] = \"audio/mpeg\",\n _a[AudioStreamFormat_1.AudioFormatTag.OGG_OPUS] = \"audio/ogg\",\n _a[AudioStreamFormat_1.AudioFormatTag.WEBM_OPUS] = \"audio/webm; codecs=opus\",\n _a[AudioStreamFormat_1.AudioFormatTag.ALaw] = \"audio/x-wav\",\n _a);\n/**\n * Represents the speaker playback audio destination, which only works in browser.\n * Note: the SDK will try to use Media Source Extensions to play audio.\n * Mp3 format has better supports on Microsoft Edge, Chrome and Safari (desktop), so, it's better to specify mp3 format for playback.\n * @class SpeakerAudioDestination\n * Updated in version 1.17.0\n */\nvar SpeakerAudioDestination = /** @class */ (function () {\n function SpeakerAudioDestination(audioDestinationId) {\n this.privPlaybackStarted = false;\n this.privAppendingToBuffer = false;\n this.privMediaSourceOpened = false;\n this.privBytesReceived = 0;\n this.privId = audioDestinationId ? audioDestinationId : Exports_2.createNoDashGuid();\n this.privIsPaused = false;\n this.privIsClosed = false;\n }\n SpeakerAudioDestination.prototype.id = function () {\n return this.privId;\n };\n SpeakerAudioDestination.prototype.write = function (buffer, cb, err) {\n if (this.privAudioBuffer !== undefined) {\n this.privAudioBuffer.push(buffer);\n this.updateSourceBuffer().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n }\n else if (this.privAudioOutputStream !== undefined) {\n this.privAudioOutputStream.write(buffer);\n this.privBytesReceived += buffer.byteLength;\n }\n };\n SpeakerAudioDestination.prototype.close = function (cb, err) {\n var _this = this;\n this.privIsClosed = true;\n if (this.privSourceBuffer !== undefined) {\n this.handleSourceBufferUpdateEnd().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n }\n else if (this.privAudioOutputStream !== undefined) {\n if ((this.privFormat.formatTag === AudioStreamFormat_1.AudioFormatTag.PCM || this.privFormat.formatTag === AudioStreamFormat_1.AudioFormatTag.MuLaw\n || this.privFormat.formatTag === AudioStreamFormat_1.AudioFormatTag.ALaw) && this.privFormat.hasHeader === false) {\n // tslint:disable-next-line:no-console\n console.warn(\"Play back is not supported for raw PCM, mulaw or alaw format without header.\");\n if (!!this.onAudioEnd) {\n this.onAudioEnd(this);\n }\n }\n else {\n var receivedAudio_1 = new ArrayBuffer(this.privBytesReceived);\n this.privAudioOutputStream.read(receivedAudio_1).then(function (_) {\n receivedAudio_1 = Exports_1.SynthesisAdapterBase.addHeader(receivedAudio_1, _this.privFormat);\n var audioBlob = new Blob([receivedAudio_1], { type: AudioFormatToMimeType[_this.privFormat.formatTag] });\n _this.privAudio.src = window.URL.createObjectURL(audioBlob);\n _this.notifyPlayback().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n }\n }\n else {\n // unsupported format, call onAudioEnd directly.\n if (!!this.onAudioEnd) {\n this.onAudioEnd(this);\n }\n }\n };\n Object.defineProperty(SpeakerAudioDestination.prototype, \"format\", {\n set: function (format) {\n var _this = this;\n if (typeof (AudioContext) !== \"undefined\" || typeof (window.webkitAudioContext) !== \"undefined\") {\n this.privFormat = format;\n var mimeType_1 = AudioFormatToMimeType[this.privFormat.formatTag];\n if (mimeType_1 === undefined) {\n // tslint:disable-next-line:no-console\n console.warn(\"Unknown mimeType for format \" + AudioStreamFormat_1.AudioFormatTag[this.privFormat.formatTag] + \"; playback is not supported.\");\n }\n else if (typeof (MediaSource) !== \"undefined\" && MediaSource.isTypeSupported(mimeType_1)) {\n this.privAudio = new Audio();\n this.privAudioBuffer = [];\n this.privMediaSource = new MediaSource();\n this.privAudio.src = URL.createObjectURL(this.privMediaSource);\n this.privAudio.load();\n this.privMediaSource.onsourceopen = function (event) {\n _this.privMediaSourceOpened = true;\n _this.privMediaSource.duration = MediaDurationPlaceholderSeconds;\n _this.privSourceBuffer = _this.privMediaSource.addSourceBuffer(mimeType_1);\n _this.privSourceBuffer.onupdate = function (_) {\n _this.updateSourceBuffer().catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n };\n _this.privSourceBuffer.onupdateend = function (_) {\n _this.handleSourceBufferUpdateEnd().catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n };\n _this.privSourceBuffer.onupdatestart = function (_) {\n _this.privAppendingToBuffer = false;\n };\n };\n this.updateSourceBuffer().catch(function (reason) {\n Exports_2.Events.instance.onEvent(new Exports_2.BackgroundEvent(reason));\n });\n }\n else {\n // tslint:disable-next-line:no-console\n console.warn(\"Format \" + AudioStreamFormat_1.AudioFormatTag[this.privFormat.formatTag] + \" could not be played by MSE, streaming playback is not enabled.\");\n this.privAudioOutputStream = new AudioOutputStream_1.PullAudioOutputStreamImpl();\n this.privAudioOutputStream.format = this.privFormat;\n this.privAudio = new Audio();\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerAudioDestination.prototype, \"isClosed\", {\n get: function () {\n return this.privIsClosed;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerAudioDestination.prototype, \"currentTime\", {\n get: function () {\n if (this.privAudio !== undefined) {\n return this.privAudio.currentTime;\n }\n return -1;\n },\n enumerable: false,\n configurable: true\n });\n SpeakerAudioDestination.prototype.pause = function () {\n if (!this.privIsPaused && this.privAudio !== undefined) {\n this.privAudio.pause();\n this.privIsPaused = true;\n }\n };\n SpeakerAudioDestination.prototype.resume = function (cb, err) {\n if (this.privIsPaused && this.privAudio !== undefined) {\n this.privAudio.play().then(function () {\n if (!!cb) {\n cb();\n }\n }, function (error) {\n if (!!err) {\n err(error);\n }\n });\n this.privIsPaused = false;\n }\n };\n Object.defineProperty(SpeakerAudioDestination.prototype, \"internalAudio\", {\n get: function () {\n return this.privAudio;\n },\n enumerable: false,\n configurable: true\n });\n SpeakerAudioDestination.prototype.updateSourceBuffer = function () {\n return __awaiter(this, void 0, void 0, function () {\n var binary;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.privAudioBuffer !== undefined && (this.privAudioBuffer.length > 0) && this.sourceBufferAvailable())) return [3 /*break*/, 2];\n this.privAppendingToBuffer = true;\n binary = this.privAudioBuffer.shift();\n try {\n this.privSourceBuffer.appendBuffer(binary);\n }\n catch (error) {\n this.privAudioBuffer.unshift(binary);\n // tslint:disable-next-line:no-console\n console.log(\"buffer filled, pausing addition of binaries until space is made\");\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.notifyPlayback()];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2:\n if (!this.canEndStream()) return [3 /*break*/, 4];\n return [4 /*yield*/, this.handleSourceBufferUpdateEnd()];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n SpeakerAudioDestination.prototype.handleSourceBufferUpdateEnd = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.canEndStream() && this.sourceBufferAvailable())) return [3 /*break*/, 2];\n this.privMediaSource.endOfStream();\n return [4 /*yield*/, this.notifyPlayback()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n SpeakerAudioDestination.prototype.notifyPlayback = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!this.privPlaybackStarted && this.privAudio !== undefined)) return [3 /*break*/, 2];\n this.privPlaybackStarted = true;\n if (!!this.onAudioStart) {\n this.onAudioStart(this);\n }\n this.privAudio.onended = function () {\n if (!!_this.onAudioEnd) {\n _this.onAudioEnd(_this);\n }\n };\n if (!!this.privIsPaused) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privAudio.play()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n SpeakerAudioDestination.prototype.canEndStream = function () {\n return (this.isClosed && this.privSourceBuffer !== undefined && (this.privAudioBuffer.length === 0)\n && this.privMediaSourceOpened && !this.privAppendingToBuffer && this.privMediaSource.readyState === \"open\");\n };\n SpeakerAudioDestination.prototype.sourceBufferAvailable = function () {\n return (this.privSourceBuffer !== undefined && !this.privSourceBuffer.updating);\n };\n return SpeakerAudioDestination;\n}());\nexports.SpeakerAudioDestination = SpeakerAudioDestination;\n\n//# sourceMappingURL=SpeakerAudioDestination.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AutoDetectSourceLanguageConfig = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Language auto detect configuration.\n * @class AutoDetectSourceLanguageConfig\n * Added in version 1.13.0.\n */\nvar AutoDetectSourceLanguageConfig = /** @class */ (function () {\n function AutoDetectSourceLanguageConfig() {\n this.privProperties = new Exports_2.PropertyCollection();\n }\n /**\n * @member AutoDetectSourceLanguageConfig.fromOpenRange\n * @function\n * @public\n * Only [[SpeechSynthesizer]] supports source language auto detection from open range,\n * for [[Recognizer]], please use AutoDetectSourceLanguageConfig with specific source languages.\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with open range.\n */\n AutoDetectSourceLanguageConfig.fromOpenRange = function () {\n var config = new AutoDetectSourceLanguageConfig();\n config.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, Exports_1.AutoDetectSourceLanguagesOpenRangeOptionName);\n return config;\n };\n /**\n * @member AutoDetectSourceLanguageConfig.fromLanguages\n * @function\n * @public\n * @param {string[]} languages Comma-separated string of languages (eg. \"en-US,fr-FR\") to populate properties of config.\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given languages.\n */\n AutoDetectSourceLanguageConfig.fromLanguages = function (languages) {\n Contracts_1.Contracts.throwIfArrayEmptyOrWhitespace(languages, \"languages\");\n var config = new AutoDetectSourceLanguageConfig();\n config.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, languages.join());\n return config;\n };\n /**\n * @member AutoDetectSourceLanguageConfig.fromSourceLanguageConfigs\n * @function\n * @public\n * @param {SourceLanguageConfig[]} configs SourceLanguageConfigs to populate properties of config.\n * @return {AutoDetectSourceLanguageConfig} Instance of AutoDetectSourceLanguageConfig\n * @summary Creates an instance of the AutoDetectSourceLanguageConfig with given SourceLanguageConfigs.\n */\n AutoDetectSourceLanguageConfig.fromSourceLanguageConfigs = function (configs) {\n if (configs.length < 1) {\n throw new Error(\"Expected non-empty SourceLanguageConfig array.\");\n }\n var autoConfig = new AutoDetectSourceLanguageConfig();\n var langs = [];\n configs.forEach(function (config) {\n langs.push(config.language);\n if (config.endpointId !== undefined && config.endpointId !== \"\") {\n var customProperty = config.language + Exports_2.PropertyId.SpeechServiceConnection_EndpointId.toString();\n autoConfig.properties.setProperty(customProperty, config.endpointId);\n }\n });\n autoConfig.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, langs.join());\n return autoConfig;\n };\n Object.defineProperty(AutoDetectSourceLanguageConfig.prototype, \"properties\", {\n /**\n * @member AutoDetectSourceLanguageConfig.prototype.properties\n * @function\n * @public\n * @return {PropertyCollection} Properties of the config.\n * @summary Gets an auto detected language config properties\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n return AutoDetectSourceLanguageConfig;\n}());\nexports.AutoDetectSourceLanguageConfig = AutoDetectSourceLanguageConfig;\n\n//# sourceMappingURL=AutoDetectSourceLanguageConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AutoDetectSourceLanguageResult = void 0;\nvar Contracts_1 = require(\"./Contracts\");\n/**\n * Output format\n * @class AutoDetectSourceLanguageResult\n */\nvar AutoDetectSourceLanguageResult = /** @class */ (function () {\n function AutoDetectSourceLanguageResult(language, languageDetectionConfidence) {\n Contracts_1.Contracts.throwIfNullOrUndefined(language, \"language\");\n Contracts_1.Contracts.throwIfNullOrUndefined(languageDetectionConfidence, \"languageDetectionConfidence\");\n this.privLanguage = language;\n this.privLanguageDetectionConfidence = languageDetectionConfidence;\n }\n /**\n * Creates an instance of AutoDetectSourceLanguageResult object from a SpeechRecognitionResult instance.\n * @member AutoDetectSourceLanguageResult.fromResult\n * @function\n * @public\n * @param {SpeechRecognitionResult} result - The recognition result.\n * @returns {AutoDetectSourceLanguageResult} AutoDetectSourceLanguageResult object being created.\n */\n AutoDetectSourceLanguageResult.fromResult = function (result) {\n return new AutoDetectSourceLanguageResult(result.language, result.languageDetectionConfidence);\n };\n Object.defineProperty(AutoDetectSourceLanguageResult.prototype, \"language\", {\n get: function () {\n return this.privLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(AutoDetectSourceLanguageResult.prototype, \"languageDetectionConfidence\", {\n get: function () {\n return this.privLanguageDetectionConfidence;\n },\n enumerable: false,\n configurable: true\n });\n return AutoDetectSourceLanguageResult;\n}());\nexports.AutoDetectSourceLanguageResult = AutoDetectSourceLanguageResult;\n\n//# sourceMappingURL=AutoDetectSourceLanguageResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.BotFrameworkConfig = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar DialogServiceConfig_1 = require(\"./DialogServiceConfig\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Class that defines configurations for the dialog service connector object for using a Bot Framework backend.\n * @class BotFrameworkConfig\n */\nvar BotFrameworkConfig = /** @class */ (function (_super) {\n __extends(BotFrameworkConfig, _super);\n /**\n * Creates an instance of BotFrameworkConfig.\n */\n function BotFrameworkConfig() {\n return _super.call(this) || this;\n }\n /**\n * Creates a bot framework configuration instance with the provided subscription information.\n * @member BotFrameworkConfig.fromSubscription\n * @function\n * @public\n * @param subscription Subscription key associated with the bot\n * @param region The region name (see the region page).\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\n * resource name.\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\n */\n BotFrameworkConfig.fromSubscription = function (subscription, region, botId) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(subscription, \"subscription\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var botFrameworkConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.BotFramework);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Key, subscription);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Region, region);\n if (botId) {\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_ApplicationId, botId);\n }\n return botFrameworkConfig;\n };\n /**\n * Creates a bot framework configuration instance for the specified authorization token and region.\n * Note: The caller must ensure that an authorization token is valid. Before an authorization token expires, the\n * caller must refresh it by setting the authorizationToken property on the corresponding\n * DialogServiceConnector instance created with this config. The contents of configuration objects are copied\n * when connectors are created, so setting authorizationToken on a DialogServiceConnector will not update the\n * original configuration's authorization token. Create a new configuration instance or set the\n * SpeechServiceAuthorization_Token property to update an existing instance if it will be used to create\n * further DialogServiceConnectors.\n * @member BotFrameworkConfig.fromAuthorizationToken\n * @function\n * @public\n * @param authorizationToken The authorization token associated with the bot\n * @param region The region name (see the region page).\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\n * resource name.\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\n */\n BotFrameworkConfig.fromAuthorizationToken = function (authorizationToken, region, botId) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var botFrameworkConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.BotFramework);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Region, region);\n if (botId) {\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_ApplicationId, botId);\n }\n return botFrameworkConfig;\n };\n /**\n * Creates an instance of a BotFrameworkConfig.\n * This method is intended only for users who use a non-default service host. The standard resource path will be\n * assumed. For services with a non-standard resource path or no path at all, use fromEndpoint instead.\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\n * Note: To use an authorization token with fromHost, use fromHost(URL) and then set the AuthorizationToken\n * property on the created BotFrameworkConfig instance.\n * Note: Added in version 1.15.0.\n * @member BotFrameworkConfig.fromHost\n * @function\n * @public\n * @param {URL | string} host - If a URL is provided, the fully-qualified host with protocol (e.g.\n * wss://your.host.com:1234) will be used. If a string is provided, it will be embedded in\n * wss://{host}.convai.speech.azure.us.\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization\n * token must be set.\n * @param botId Optional. Identifier for using a specific bot within an Azure resource group. Equivalent to the\n * resource name.\n * @returns {BotFrameworkConfig} A new bot framework configuration instance.\n */\n BotFrameworkConfig.fromHost = function (host, subscriptionKey, botId) {\n Contracts_1.Contracts.throwIfNullOrUndefined(host, \"host\");\n var resolvedHost = host instanceof URL ? host : new URL(\"wss://\" + host + \".convai.speech.azure.us\");\n Contracts_1.Contracts.throwIfNullOrUndefined(resolvedHost, \"resolvedHost\");\n var botFrameworkConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.BotFramework);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Host, resolvedHost.toString());\n if (undefined !== subscriptionKey) {\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n }\n return botFrameworkConfig;\n };\n /**\n * Creates an instance of a BotFrameworkConfig.\n * This method is intended only for users who use a non-standard service endpoint or parameters.\n * Note: The query parameters specified in the endpoint URL are not changed, even if they are set by any other APIs.\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created BotFrameworkConfig instance to\n * use the authorization token.\n * Note: Added in version 1.15.0.\n * @member BotFrameworkConfig.fromEndpoint\n * @function\n * @public\n * @param {URL} endpoint - The service endpoint to connect to.\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization\n * token must be set.\n * @returns {BotFrameworkConfig} - A new bot framework configuration instance using the provided endpoint.\n */\n BotFrameworkConfig.fromEndpoint = function (endpoint, subscriptionKey) {\n Contracts_1.Contracts.throwIfNull(endpoint, \"endpoint\");\n var botFrameworkConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n botFrameworkConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.BotFramework);\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Endpoint, endpoint.toString());\n if (undefined !== subscriptionKey) {\n botFrameworkConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n }\n return botFrameworkConfig;\n };\n return BotFrameworkConfig;\n}(DialogServiceConfig_1.DialogServiceConfigImpl));\nexports.BotFrameworkConfig = BotFrameworkConfig;\n\n//# sourceMappingURL=BotFrameworkConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.CancellationDetails = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar CancellationDetailsBase_1 = require(\"./CancellationDetailsBase\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Contains detailed information about why a result was canceled.\n * @class CancellationDetails\n */\nvar CancellationDetails = /** @class */ (function (_super) {\n __extends(CancellationDetails, _super);\n function CancellationDetails(reason, errorDetails, errorCode) {\n return _super.call(this, reason, errorDetails, errorCode) || this;\n }\n /**\n * Creates an instance of CancellationDetails object for the canceled RecognitionResult.\n * @member CancellationDetails.fromResult\n * @function\n * @public\n * @param {RecognitionResult | SpeechSynthesisResult} result - The result that was canceled.\n * @returns {CancellationDetails} The cancellation details object being created.\n */\n CancellationDetails.fromResult = function (result) {\n var reason = Exports_2.CancellationReason.Error;\n var errorCode = Exports_2.CancellationErrorCode.NoError;\n if (result instanceof Exports_2.RecognitionResult && !!result.json) {\n var simpleSpeech = Exports_1.SimpleSpeechPhrase.fromJSON(result.json);\n reason = Exports_1.EnumTranslation.implTranslateCancelResult(simpleSpeech.RecognitionStatus);\n }\n if (!!result.properties) {\n errorCode = Exports_2.CancellationErrorCode[result.properties.getProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.NoError])];\n }\n return new CancellationDetails(reason, result.errorDetails, errorCode);\n };\n return CancellationDetails;\n}(CancellationDetailsBase_1.CancellationDetailsBase));\nexports.CancellationDetails = CancellationDetails;\n\n//# sourceMappingURL=CancellationDetails.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancellationDetailsBase = void 0;\n/**\n * Contains detailed information about why a result was canceled.\n * @class CancellationDetailsBase\n */\nvar CancellationDetailsBase = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {CancellationReason} reason - The cancellation reason.\n * @param {string} errorDetails - The error details, if provided.\n */\n function CancellationDetailsBase(reason, errorDetails, errorCode) {\n this.privReason = reason;\n this.privErrorDetails = errorDetails;\n this.privErrorCode = errorCode;\n }\n Object.defineProperty(CancellationDetailsBase.prototype, \"reason\", {\n /**\n * The reason the recognition was canceled.\n * @member CancellationDetailsBase.prototype.reason\n * @function\n * @public\n * @returns {CancellationReason} Specifies the reason canceled.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CancellationDetailsBase.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful recognition, provides details of the occurred error.\n * @member CancellationDetailsBase.prototype.errorDetails\n * @function\n * @public\n * @returns {string} A String that represents the error details.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CancellationDetailsBase.prototype, \"ErrorCode\", {\n /**\n * The error code in case of an unsuccessful recognition.\n * Added in version 1.1.0.\n * @return An error code that represents the error reason.\n */\n get: function () {\n return this.privErrorCode;\n },\n enumerable: false,\n configurable: true\n });\n return CancellationDetailsBase;\n}());\nexports.CancellationDetailsBase = CancellationDetailsBase;\n\n//# sourceMappingURL=CancellationDetailsBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancellationErrorCode = void 0;\n/**\n * Defines error code in case that CancellationReason is Error.\n * Added in version 1.1.0.\n */\nvar CancellationErrorCode;\n(function (CancellationErrorCode) {\n /**\n * Indicates that no error occurred during speech recognition.\n */\n CancellationErrorCode[CancellationErrorCode[\"NoError\"] = 0] = \"NoError\";\n /**\n * Indicates an authentication error.\n */\n CancellationErrorCode[CancellationErrorCode[\"AuthenticationFailure\"] = 1] = \"AuthenticationFailure\";\n /**\n * Indicates that one or more recognition parameters are invalid.\n */\n CancellationErrorCode[CancellationErrorCode[\"BadRequestParameters\"] = 2] = \"BadRequestParameters\";\n /**\n * Indicates that the number of parallel requests exceeded the number of allowed\n * concurrent transcriptions for the subscription.\n */\n CancellationErrorCode[CancellationErrorCode[\"TooManyRequests\"] = 3] = \"TooManyRequests\";\n /**\n * Indicates a connection error.\n */\n CancellationErrorCode[CancellationErrorCode[\"ConnectionFailure\"] = 4] = \"ConnectionFailure\";\n /**\n * Indicates a time-out error when waiting for response from service.\n */\n CancellationErrorCode[CancellationErrorCode[\"ServiceTimeout\"] = 5] = \"ServiceTimeout\";\n /**\n * Indicates that an error is returned by the service.\n */\n CancellationErrorCode[CancellationErrorCode[\"ServiceError\"] = 6] = \"ServiceError\";\n /**\n * Indicates an unexpected runtime error.\n */\n CancellationErrorCode[CancellationErrorCode[\"RuntimeError\"] = 7] = \"RuntimeError\";\n})(CancellationErrorCode = exports.CancellationErrorCode || (exports.CancellationErrorCode = {}));\n\n//# sourceMappingURL=CancellationErrorCodes.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.CancellationEventArgsBase = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines content of a CancellationEvent.\n * @class CancellationEventArgsBase\n */\nvar CancellationEventArgsBase = /** @class */ (function (_super) {\n __extends(CancellationEventArgsBase, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {CancellationReason} reason - The cancellation reason.\n * @param {string} errorDetails - Error details, if provided.\n * @param {number} offset - The offset.\n * @param {string} sessionId - The session id.\n */\n function CancellationEventArgsBase(reason, errorDetails, errorCode, offset, sessionId) {\n var _this = _super.call(this, offset, sessionId) || this;\n _this.privReason = reason;\n _this.privErrorDetails = errorDetails;\n _this.privErrorCode = errorCode;\n return _this;\n }\n Object.defineProperty(CancellationEventArgsBase.prototype, \"reason\", {\n /**\n * The reason the recognition was canceled.\n * @member CancellationEventArgsBase.prototype.reason\n * @function\n * @public\n * @returns {CancellationReason} Specifies the reason canceled.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CancellationEventArgsBase.prototype, \"errorCode\", {\n /**\n * The error code in case of an unsuccessful operation.\n * @return An error code that represents the error reason.\n */\n get: function () {\n return this.privErrorCode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CancellationEventArgsBase.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful operation, provides details of the occurred error.\n * @member CancellationEventArgsBase.prototype.errorDetails\n * @function\n * @public\n * @returns {string} A String that represents the error details.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n return CancellationEventArgsBase;\n}(Exports_1.RecognitionEventArgs));\nexports.CancellationEventArgsBase = CancellationEventArgsBase;\n\n//# sourceMappingURL=CancellationEventArgsBase.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancellationReason = void 0;\n/**\n * Defines the possible reasons a recognition result might be canceled.\n * @class CancellationReason\n */\nvar CancellationReason;\n(function (CancellationReason) {\n /**\n * Indicates that an error occurred during speech recognition.\n * @member CancellationReason.Error\n */\n CancellationReason[CancellationReason[\"Error\"] = 0] = \"Error\";\n /**\n * Indicates that the end of the audio stream was reached.\n * @member CancellationReason.EndOfStream\n */\n CancellationReason[CancellationReason[\"EndOfStream\"] = 1] = \"EndOfStream\";\n})(CancellationReason = exports.CancellationReason || (exports.CancellationReason = {}));\n\n//# sourceMappingURL=CancellationReason.js.map\n","\"use strict\";\n//\n// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Connection = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar ConnectionMessage_1 = require(\"./ConnectionMessage\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Connection is a proxy class for managing connection to the speech service of the specified Recognizer.\n * By default, a Recognizer autonomously manages connection to service when needed.\n * The Connection class provides additional methods for users to explicitly open or close a connection and\n * to subscribe to connection status changes.\n * The use of Connection is optional, and mainly for scenarios where fine tuning of application\n * behavior based on connection status is needed. Users can optionally call Open() to manually set up a connection\n * in advance before starting recognition on the Recognizer associated with this Connection.\n * If the Recognizer needs to connect or disconnect to service, it will\n * setup or shutdown the connection independently. In this case the Connection will be notified by change of connection\n * status via Connected/Disconnected events.\n * Added in version 1.2.1.\n */\nvar Connection = /** @class */ (function () {\n function Connection() {\n }\n /**\n * Gets the Connection instance from the specified recognizer.\n * @param recognizer The recognizer associated with the connection.\n * @return The Connection instance of the recognizer.\n */\n Connection.fromRecognizer = function (recognizer) {\n var recoBase = recognizer.internalData;\n var ret = new Connection();\n ret.privInternalData = recoBase;\n ret.setupEvents();\n return ret;\n };\n /**\n * Gets the Connection instance from the specified synthesizer.\n * @param synthesizer The synthesizer associated with the connection.\n * @return The Connection instance of the synthesizer.\n */\n Connection.fromSynthesizer = function (synthesizer) {\n var synthBase = synthesizer.internalData;\n var ret = new Connection();\n ret.privInternalData = synthBase;\n ret.setupEvents();\n return ret;\n };\n /**\n * Starts to set up connection to the service.\n * Users can optionally call openConnection() to manually set up a connection in advance before starting recognition on the\n * Recognizer associated with this Connection. After starting recognition, calling Open() will have no effect\n *\n * Note: On return, the connection might not be ready yet. Please subscribe to the Connected event to\n * be notified when the connection is established.\n */\n Connection.prototype.openConnection = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.privInternalData.connect(), cb, err);\n };\n /**\n * Closes the connection the service.\n * Users can optionally call closeConnection() to manually shutdown the connection of the associated Recognizer.\n *\n * If closeConnection() is called during recognition, recognition will fail and cancel with an error.\n */\n Connection.prototype.closeConnection = function (cb, err) {\n if (this.privInternalData instanceof Exports_1.SynthesisAdapterBase) {\n throw new Error(\"Disconnecting a synthesizer's connection is currently not supported\");\n }\n else {\n Exports_2.marshalPromiseToCallbacks(this.privInternalData.disconnect(), cb, err);\n }\n };\n /**\n * Appends a parameter in a message to service.\n * Added in version 1.12.1.\n * @param path The path of the network message.\n * @param propertyName Name of the property\n * @param propertyValue Value of the property. This is a json string.\n */\n Connection.prototype.setMessageProperty = function (path, propertyName, propertyValue) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(propertyName, \"propertyName\");\n if (this.privInternalData instanceof Exports_1.ServiceRecognizerBase) {\n if (path.toLowerCase() !== \"speech.context\") {\n throw new Error(\"Only speech.context message property sets are currently supported for recognizer\");\n }\n else {\n this.privInternalData.speechContext.setSection(propertyName, propertyValue);\n }\n }\n else if (this.privInternalData instanceof Exports_1.SynthesisAdapterBase) {\n if (path.toLowerCase() !== \"synthesis.context\") {\n throw new Error(\"Only synthesis.context message property sets are currently supported for synthesizer\");\n }\n else {\n this.privInternalData.synthesisContext.setSection(propertyName, propertyValue);\n }\n }\n };\n /**\n * Sends a message to the speech service.\n * Added in version 1.13.0.\n * @param path The WebSocket path of the message\n * @param payload The payload of the message. This is a json string or a ArrayBuffer.\n * @param success A callback to indicate success.\n * @param error A callback to indicate an error.\n */\n Connection.prototype.sendMessageAsync = function (path, payload, success, error) {\n Exports_2.marshalPromiseToCallbacks(this.privInternalData.sendNetworkMessage(path, payload), success, error);\n };\n /**\n * Dispose of associated resources.\n */\n Connection.prototype.close = function () {\n /* tslint:disable:no-empty */\n };\n Connection.prototype.setupEvents = function () {\n var _this = this;\n this.privEventListener = this.privInternalData.connectionEvents.attach(function (connectionEvent) {\n if (connectionEvent.name === \"ConnectionEstablishedEvent\") {\n if (!!_this.connected) {\n _this.connected(new Exports_3.ConnectionEventArgs(connectionEvent.connectionId));\n }\n }\n else if (connectionEvent.name === \"ConnectionClosedEvent\") {\n if (!!_this.disconnected) {\n _this.disconnected(new Exports_3.ConnectionEventArgs(connectionEvent.connectionId));\n }\n }\n else if (connectionEvent.name === \"ConnectionMessageSentEvent\") {\n if (!!_this.messageSent) {\n _this.messageSent(new Exports_3.ConnectionMessageEventArgs(new ConnectionMessage_1.ConnectionMessageImpl(connectionEvent.message)));\n }\n }\n else if (connectionEvent.name === \"ConnectionMessageReceivedEvent\") {\n if (!!_this.messageReceived) {\n _this.messageReceived(new Exports_3.ConnectionMessageEventArgs(new ConnectionMessage_1.ConnectionMessageImpl(connectionEvent.message)));\n }\n }\n });\n this.privServiceEventListener = this.privInternalData.serviceEvents.attach(function (e) {\n if (!!_this.receivedServiceMessage) {\n _this.receivedServiceMessage(new Exports_3.ServiceEventArgs(e.jsonString, e.name));\n }\n });\n };\n return Connection;\n}());\nexports.Connection = Connection;\n\n//# sourceMappingURL=Connection.js.map\n","\"use strict\";\n//\n// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\n//\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 });\nexports.ConnectionEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines payload for connection events like Connected/Disconnected.\n * Added in version 1.2.0\n */\nvar ConnectionEventArgs = /** @class */ (function (_super) {\n __extends(ConnectionEventArgs, _super);\n function ConnectionEventArgs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ConnectionEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ConnectionEventArgs = ConnectionEventArgs;\n\n//# sourceMappingURL=ConnectionEventArgs.js.map\n","\"use strict\";\n//\n// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionMessageImpl = exports.ConnectionMessage = void 0;\nvar HeaderNames_1 = require(\"../common.speech/HeaderNames\");\nvar Exports_1 = require(\"../common/Exports\");\nvar PropertyCollection_1 = require(\"./PropertyCollection\");\nvar PropertyId_1 = require(\"./PropertyId\");\n/**\n * ConnectionMessage represents implementation specific messages sent to and received from\n * the speech service. These messages are provided for debugging purposes and should not\n * be used for production use cases with the Azure Cognitive Services Speech Service.\n * Messages sent to and received from the Speech Service are subject to change without\n * notice. This includes message contents, headers, payloads, ordering, etc.\n * Added in version 1.11.0.\n */\nvar ConnectionMessage = /** @class */ (function () {\n function ConnectionMessage() {\n }\n return ConnectionMessage;\n}());\nexports.ConnectionMessage = ConnectionMessage;\n// tslint:disable-next-line:max-classes-per-file\nvar ConnectionMessageImpl = /** @class */ (function () {\n function ConnectionMessageImpl(message) {\n var _this = this;\n this.privConnectionMessage = message;\n this.privProperties = new PropertyCollection_1.PropertyCollection();\n if (!!this.privConnectionMessage.headers[HeaderNames_1.HeaderNames.ConnectionId]) {\n this.privProperties.setProperty(PropertyId_1.PropertyId.Speech_SessionId, this.privConnectionMessage.headers[HeaderNames_1.HeaderNames.ConnectionId]);\n }\n Object.keys(this.privConnectionMessage.headers).forEach(function (header, index, array) {\n _this.privProperties.setProperty(header, _this.privConnectionMessage.headers[header]);\n });\n }\n Object.defineProperty(ConnectionMessageImpl.prototype, \"path\", {\n /**\n * The message path.\n */\n get: function () {\n return this.privConnectionMessage.headers[Object.keys(this.privConnectionMessage.headers).find(function (key) { return key.toLowerCase() === \"path\".toLowerCase(); })];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageImpl.prototype, \"isTextMessage\", {\n /**\n * Checks to see if the ConnectionMessage is a text message.\n * See also IsBinaryMessage().\n */\n get: function () {\n return this.privConnectionMessage.messageType === Exports_1.MessageType.Text;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageImpl.prototype, \"isBinaryMessage\", {\n /**\n * Checks to see if the ConnectionMessage is a binary message.\n * See also GetBinaryMessage().\n */\n get: function () {\n return this.privConnectionMessage.messageType === Exports_1.MessageType.Binary;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageImpl.prototype, \"TextMessage\", {\n /**\n * Gets the text message payload. Typically the text message content-type is\n * application/json. To determine other content-types use\n * Properties.GetProperty(\"Content-Type\").\n */\n get: function () {\n return this.privConnectionMessage.textBody;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageImpl.prototype, \"binaryMessage\", {\n /**\n * Gets the binary message payload.\n */\n get: function () {\n return this.privConnectionMessage.binaryBody;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConnectionMessageImpl.prototype, \"properties\", {\n /**\n * A collection of properties and their values defined for this .\n * Message headers can be accessed via this collection (e.g. \"Content-Type\").\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns a string that represents the connection message.\n */\n ConnectionMessageImpl.prototype.toString = function () {\n return \"\";\n };\n return ConnectionMessageImpl;\n}());\nexports.ConnectionMessageImpl = ConnectionMessageImpl;\n\n//# sourceMappingURL=ConnectionMessage.js.map\n","\"use strict\";\n//\n// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\n//\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConnectionMessageEventArgs = void 0;\nvar ConnectionMessageEventArgs = /** @class */ (function () {\n function ConnectionMessageEventArgs(message) {\n this.privConnectionMessage = message;\n }\n Object.defineProperty(ConnectionMessageEventArgs.prototype, \"message\", {\n /**\n * Gets the associated with this .\n */\n get: function () {\n return this.privConnectionMessage;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Returns a string that represents the connection message event.\n */\n ConnectionMessageEventArgs.prototype.toString = function () {\n return \"Message: \" + this.privConnectionMessage.toString();\n };\n return ConnectionMessageEventArgs;\n}());\nexports.ConnectionMessageEventArgs = ConnectionMessageEventArgs;\n\n//# sourceMappingURL=ConnectionMessageEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Contracts = void 0;\n/**\n * @class Contracts\n * @private\n */\nvar Contracts = /** @class */ (function () {\n function Contracts() {\n }\n Contracts.throwIfNullOrUndefined = function (param, name) {\n if (param === undefined || param === null) {\n throw new Error(\"throwIfNullOrUndefined:\" + name);\n }\n };\n Contracts.throwIfNull = function (param, name) {\n if (param === null) {\n throw new Error(\"throwIfNull:\" + name);\n }\n };\n Contracts.throwIfNullOrWhitespace = function (param, name) {\n Contracts.throwIfNullOrUndefined(param, name);\n if ((\"\" + param).trim().length < 1) {\n throw new Error(\"throwIfNullOrWhitespace:\" + name);\n }\n };\n Contracts.throwIfDisposed = function (isDisposed) {\n if (isDisposed) {\n throw new Error(\"the object is already disposed\");\n }\n };\n Contracts.throwIfArrayEmptyOrWhitespace = function (array, name) {\n Contracts.throwIfNullOrUndefined(array, name);\n if (array.length === 0) {\n throw new Error(\"throwIfArrayEmptyOrWhitespace:\" + name);\n }\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\n var item = array_1[_i];\n Contracts.throwIfNullOrWhitespace(item, name);\n }\n };\n Contracts.throwIfFileDoesNotExist = function (param, name) {\n Contracts.throwIfNullOrWhitespace(param, name);\n // TODO check for file existence.\n };\n Contracts.throwIfNotUndefined = function (param, name) {\n if (param !== undefined) {\n throw new Error(\"throwIfNotUndefined:\" + name);\n }\n };\n return Contracts;\n}());\nexports.Contracts = Contracts;\n\n//# sourceMappingURL=Contracts.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConversationTranscriptionCanceledEventArgs = void 0;\nvar CancellationEventArgsBase_1 = require(\"./CancellationEventArgsBase\");\n/**\n * Defines content of a RecognitionErrorEvent.\n * @class ConversationTranscriptionCanceledEventArgs\n */\nvar ConversationTranscriptionCanceledEventArgs = /** @class */ (function (_super) {\n __extends(ConversationTranscriptionCanceledEventArgs, _super);\n function ConversationTranscriptionCanceledEventArgs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ConversationTranscriptionCanceledEventArgs;\n}(CancellationEventArgsBase_1.CancellationEventArgsBase));\nexports.ConversationTranscriptionCanceledEventArgs = ConversationTranscriptionCanceledEventArgs;\n\n//# sourceMappingURL=ConversationTranscriptionCanceledEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.CustomCommandsConfig = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar DialogServiceConfig_1 = require(\"./DialogServiceConfig\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Class that defines configurations for the dialog service connector object for using a CustomCommands backend.\n * @class CustomCommandsConfig\n */\nvar CustomCommandsConfig = /** @class */ (function (_super) {\n __extends(CustomCommandsConfig, _super);\n /**\n * Creates an instance of CustomCommandsConfig.\n */\n function CustomCommandsConfig() {\n return _super.call(this) || this;\n }\n /**\n * Creates an instance of the bot framework config with the specified subscription and region.\n * @member CustomCommandsConfig.fromSubscription\n * @function\n * @public\n * @param applicationId Speech Commands application id.\n * @param subscription Subscription key associated with the bot\n * @param region The region name (see the region page).\n * @returns {CustomCommandsConfig} A new bot framework config.\n */\n CustomCommandsConfig.fromSubscription = function (applicationId, subscription, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(applicationId, \"applicationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(subscription, \"subscription\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var customCommandsConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n customCommandsConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.CustomCommands);\n customCommandsConfig.setProperty(Exports_1.PropertyId.Conversation_ApplicationId, applicationId);\n customCommandsConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Key, subscription);\n customCommandsConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Region, region);\n return customCommandsConfig;\n };\n /**\n * Creates an instance of the bot framework config with the specified Speech Commands application id, authorization token and region.\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\n * As configuration values are copied when creating a new recognizer, the new token value will not apply to recognizers that have already been created.\n * For recognizers that have been created before, you need to set authorization token of the corresponding recognizer\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\n * @member CustomCommandsConfig.fromAuthorizationToken\n * @function\n * @public\n * @param applicationId Speech Commands application id.\n * @param authorizationToken The authorization token associated with the application.\n * @param region The region name (see the region page).\n * @returns {CustomCommandsConfig} A new speech commands config.\n */\n CustomCommandsConfig.fromAuthorizationToken = function (applicationId, authorizationToken, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(applicationId, \"applicationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var customCommandsConfig = new DialogServiceConfig_1.DialogServiceConfigImpl();\n customCommandsConfig.setProperty(Exports_1.PropertyId.Conversation_DialogType, DialogServiceConfig_1.DialogServiceConfig.DialogTypes.CustomCommands);\n customCommandsConfig.setProperty(Exports_1.PropertyId.Conversation_ApplicationId, applicationId);\n customCommandsConfig.setProperty(Exports_1.PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\n customCommandsConfig.setProperty(Exports_1.PropertyId.SpeechServiceConnection_Region, region);\n return customCommandsConfig;\n };\n Object.defineProperty(CustomCommandsConfig.prototype, \"applicationId\", {\n /**\n * Gets the corresponding backend application identifier.\n * @member CustomCommandsConfig.prototype.Conversation_ApplicationId\n * @function\n * @public\n * @param {string} value - The application identifier to get.\n */\n get: function () {\n return this.getProperty(Exports_1.PropertyId.Conversation_ApplicationId);\n },\n /**\n * Sets the corresponding backend application identifier.\n * @member CustomCommandsConfig.prototype.Conversation_ApplicationId\n * @function\n * @public\n * @param {string} value - The application identifier to set.\n */\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n this.setProperty(Exports_1.PropertyId.Conversation_ApplicationId, value);\n },\n enumerable: false,\n configurable: true\n });\n return CustomCommandsConfig;\n}(DialogServiceConfig_1.DialogServiceConfigImpl));\nexports.CustomCommandsConfig = CustomCommandsConfig;\n\n//# sourceMappingURL=CustomCommandsConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.DialogServiceConfigImpl = exports.DialogServiceConfig = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Class that defines base configurations for dialog service connector\n * @class DialogServiceConfig\n */\nvar DialogServiceConfig = /** @class */ (function () {\n /**\n * Creates an instance of DialogService config.\n * @constructor\n */\n function DialogServiceConfig() {\n }\n Object.defineProperty(DialogServiceConfig.prototype, \"applicationId\", {\n /**\n * Sets the corresponding backend application identifier.\n * @member DialogServiceConfig.prototype.Conversation_ApplicationId\n * @function\n * @public\n * @param {string} value - The application identifier to set.\n */\n // tslint:disable-next-line: no-empty\n set: function (value) { },\n enumerable: false,\n configurable: true\n });\n var _a;\n DialogServiceConfig.DialogTypes = (_a = /** @class */ (function () {\n function class_1() {\n }\n return class_1;\n }()),\n _a.BotFramework = \"bot_framework\",\n _a.CustomCommands = \"custom_commands\",\n _a);\n return DialogServiceConfig;\n}());\nexports.DialogServiceConfig = DialogServiceConfig;\n/**\n * Dialog Service configuration.\n * @class DialogServiceConfigImpl\n */\n// tslint:disable-next-line:max-classes-per-file\nvar DialogServiceConfigImpl = /** @class */ (function (_super) {\n __extends(DialogServiceConfigImpl, _super);\n /**\n * Creates an instance of dialogService config.\n */\n function DialogServiceConfigImpl() {\n var _this = _super.call(this) || this;\n _this.privSpeechConfig = new Exports_1.SpeechConfigImpl();\n return _this;\n }\n Object.defineProperty(DialogServiceConfigImpl.prototype, \"properties\", {\n /**\n * Provides access to custom properties.\n * @member DialogServiceConfigImpl.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The properties.\n */\n get: function () {\n return this.privSpeechConfig.properties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DialogServiceConfigImpl.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the speech recognition language.\n * @member DialogServiceConfigImpl.prototype.speechRecognitionLanguage\n * @function\n * @public\n */\n get: function () {\n return this.privSpeechConfig.speechRecognitionLanguage;\n },\n /**\n * Sets the speech recognition language.\n * @member DialogServiceConfigImpl.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @param {string} value - The language to set.\n */\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n this.privSpeechConfig.speechRecognitionLanguage = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DialogServiceConfigImpl.prototype, \"outputFormat\", {\n get: function () {\n return this.privSpeechConfig.outputFormat;\n },\n set: function (value) {\n this.privSpeechConfig.outputFormat = value;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Sets a named property as value\n * @member DialogServiceConfigImpl.prototype.setProperty\n * @function\n * @public\n * @param {PropertyId | string} name - The property to set.\n * @param {string} value - The value.\n */\n DialogServiceConfigImpl.prototype.setProperty = function (name, value) {\n this.privSpeechConfig.setProperty(name, value);\n };\n /**\n * Sets a named property as value\n * @member DialogServiceConfigImpl.prototype.getProperty\n * @function\n * @public\n * @param {PropertyId | string} name - The property to get.\n * @param {string} def - The default value to return in case the property is not known.\n * @returns {string} The current value, or provided default, of the given property.\n */\n DialogServiceConfigImpl.prototype.getProperty = function (name, def) {\n return this.privSpeechConfig.getProperty(name);\n };\n /**\n * Sets the proxy configuration.\n * Only relevant in Node.js environments.\n * Added in version 1.4.0.\n * @param proxyHostName The host name of the proxy server, without the protocol scheme (http://)\n * @param proxyPort The port number of the proxy server.\n * @param proxyUserName The user name of the proxy server.\n * @param proxyPassword The password of the proxy server.\n */\n DialogServiceConfigImpl.prototype.setProxy = function (proxyHostName, proxyPort, proxyUserName, proxyPassword) {\n this.setProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyHostName, proxyHostName);\n this.setProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyPort, \"\" + proxyPort);\n if (proxyUserName) {\n this.setProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyUserName, proxyUserName);\n }\n if (proxyPassword) {\n this.setProperty(Exports_1.PropertyId.SpeechServiceConnection_ProxyPassword, proxyPassword);\n }\n };\n DialogServiceConfigImpl.prototype.setServiceProperty = function (name, value, channel) {\n this.privSpeechConfig.setServiceProperty(name, value, channel);\n };\n /**\n * Dispose of associated resources.\n * @member DialogServiceConfigImpl.prototype.close\n * @function\n * @public\n */\n DialogServiceConfigImpl.prototype.close = function () {\n return;\n };\n return DialogServiceConfigImpl;\n}(DialogServiceConfig));\nexports.DialogServiceConfigImpl = DialogServiceConfigImpl;\n\n//# sourceMappingURL=DialogServiceConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DialogServiceConnector = void 0;\nvar DialogConnectorFactory_1 = require(\"../common.speech/DialogConnectorFactory\");\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\nvar PropertyId_1 = require(\"./PropertyId\");\n/**\n * Dialog Service Connector\n * @class DialogServiceConnector\n */\nvar DialogServiceConnector = /** @class */ (function (_super) {\n __extends(DialogServiceConnector, _super);\n /**\n * Initializes an instance of the DialogServiceConnector.\n * @constructor\n * @param {DialogServiceConfig} dialogConfig - Set of properties to configure this recognizer.\n * @param {AudioConfig} audioConfig - An optional audio config associated with the recognizer\n */\n function DialogServiceConnector(dialogConfig, audioConfig) {\n var _this = this;\n var dialogServiceConfigImpl = dialogConfig;\n Contracts_1.Contracts.throwIfNull(dialogConfig, \"dialogConfig\");\n _this = _super.call(this, audioConfig, dialogServiceConfigImpl.properties, new DialogConnectorFactory_1.DialogConnectionFactory()) || this;\n _this.isTurnComplete = true;\n _this.privIsDisposed = false;\n _this.privProperties = dialogServiceConfigImpl.properties.clone();\n var agentConfig = _this.buildAgentConfig();\n _this.privReco.agentConfig.set(agentConfig);\n return _this;\n }\n /**\n * Starts a connection to the service.\n * Users can optionally call connect() to manually set up a connection in advance, before starting interactions.\n *\n * Note: On return, the connection might not be ready yet. Please subscribe to the Connected event to\n * be notified when the connection is established.\n * @member DialogServiceConnector.prototype.connect\n * @function\n * @public\n */\n DialogServiceConnector.prototype.connect = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.privReco.connect(), cb, err);\n };\n /**\n * Closes the connection the service.\n * Users can optionally call disconnect() to manually shutdown the connection of the associated DialogServiceConnector.\n *\n * If disconnect() is called during a recognition, recognition will fail and cancel with an error.\n */\n DialogServiceConnector.prototype.disconnect = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.privReco.disconnect(), cb, err);\n };\n Object.defineProperty(DialogServiceConnector.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member DialogServiceConnector.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(PropertyId_1.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Sets the authorization token used to communicate with the service.\n * @member DialogServiceConnector.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(PropertyId_1.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DialogServiceConnector.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this DialogServiceConnector.\n * @member DialogServiceConnector.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this DialogServiceConnector.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(DialogServiceConnector.prototype, \"speechActivityTemplate\", {\n /** Gets the template for the activity generated by service from speech.\n * Properties from the template will be stamped on the generated activity.\n * It can be empty\n */\n get: function () {\n return this.properties.getProperty(PropertyId_1.PropertyId.Conversation_Speech_Activity_Template);\n },\n /** Sets the template for the activity generated by service from speech.\n * Properties from the template will be stamped on the generated activity.\n * It can be null or empty.\n * Note: it has to be a valid Json object.\n */\n set: function (speechActivityTemplate) {\n this.properties.setProperty(PropertyId_1.PropertyId.Conversation_Speech_Activity_Template, speechActivityTemplate);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Starts recognition and stops after the first utterance is recognized.\n * @member DialogServiceConnector.prototype.listenOnceAsync\n * @function\n * @public\n * @param cb - Callback that received the result when the reco has completed.\n * @param err - Callback invoked in case of an error.\n */\n DialogServiceConnector.prototype.listenOnceAsync = function (cb, err) {\n var _this = this;\n if (this.isTurnComplete) {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n var callbackHolder = function () { return __awaiter(_this, void 0, void 0, function () {\n var ret, e;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privReco.connect()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.implRecognizerStop()];\n case 2:\n _a.sent();\n this.isTurnComplete = false;\n ret = new Exports_2.Deferred();\n return [4 /*yield*/, this.privReco.recognize(Exports_1.RecognitionMode.Conversation, ret.resolve, ret.reject)];\n case 3:\n _a.sent();\n return [4 /*yield*/, ret.promise];\n case 4:\n e = _a.sent();\n return [4 /*yield*/, this.implRecognizerStop()];\n case 5:\n _a.sent();\n return [2 /*return*/, e];\n }\n });\n }); };\n var retPromise = callbackHolder();\n retPromise.catch(function () {\n // Destroy the recognizer.\n /* tslint:disable:no-empty */ // We've done all we can here.\n _this.dispose(true).catch(function () { });\n });\n Exports_2.marshalPromiseToCallbacks(retPromise.finally(function () {\n _this.isTurnComplete = true;\n }), cb, err);\n }\n };\n DialogServiceConnector.prototype.sendActivityAsync = function (activity, cb, errCb) {\n Exports_2.marshalPromiseToCallbacks(this.privReco.sendMessage(activity), cb, errCb);\n };\n /**\n * closes all external resources held by an instance of this class.\n * @member DialogServiceConnector.prototype.close\n * @function\n * @public\n */\n DialogServiceConnector.prototype.close = function (cb, err) {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, err);\n };\n DialogServiceConnector.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privIsDisposed) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 3];\n this.privIsDisposed = true;\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n DialogServiceConnector.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_1.RecognizerConfig(speechConfig, this.privProperties);\n };\n DialogServiceConnector.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var audioSource = audioConfig;\n return new Exports_1.DialogServiceAdapter(authentication, connectionFactory, audioSource, recognizerConfig, this);\n };\n DialogServiceConnector.prototype.buildAgentConfig = function () {\n var communicationType = this.properties.getProperty(\"Conversation_Communication_Type\", \"Default\");\n return {\n botInfo: {\n commType: communicationType,\n commandsCulture: undefined,\n connectionId: this.properties.getProperty(PropertyId_1.PropertyId.Conversation_Agent_Connection_Id),\n conversationId: this.properties.getProperty(PropertyId_1.PropertyId.Conversation_Conversation_Id, undefined),\n fromId: this.properties.getProperty(PropertyId_1.PropertyId.Conversation_From_Id, undefined),\n ttsAudioFormat: this.properties.getProperty(PropertyId_1.PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)\n },\n version: 0.2\n };\n };\n return DialogServiceConnector;\n}(Exports_3.Recognizer));\nexports.DialogServiceConnector = DialogServiceConnector;\n\n//# sourceMappingURL=DialogServiceConnector.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar AudioConfig_1 = require(\"./Audio/AudioConfig\");\nObject.defineProperty(exports, \"AudioConfig\", { enumerable: true, get: function () { return AudioConfig_1.AudioConfig; } });\nvar AudioStreamFormat_1 = require(\"./Audio/AudioStreamFormat\");\nObject.defineProperty(exports, \"AudioStreamFormat\", { enumerable: true, get: function () { return AudioStreamFormat_1.AudioStreamFormat; } });\nvar AudioInputStream_1 = require(\"./Audio/AudioInputStream\");\nObject.defineProperty(exports, \"AudioInputStream\", { enumerable: true, get: function () { return AudioInputStream_1.AudioInputStream; } });\nObject.defineProperty(exports, \"PullAudioInputStream\", { enumerable: true, get: function () { return AudioInputStream_1.PullAudioInputStream; } });\nObject.defineProperty(exports, \"PushAudioInputStream\", { enumerable: true, get: function () { return AudioInputStream_1.PushAudioInputStream; } });\nvar AudioOutputStream_1 = require(\"./Audio/AudioOutputStream\");\nObject.defineProperty(exports, \"AudioOutputStream\", { enumerable: true, get: function () { return AudioOutputStream_1.AudioOutputStream; } });\nObject.defineProperty(exports, \"PullAudioOutputStream\", { enumerable: true, get: function () { return AudioOutputStream_1.PullAudioOutputStream; } });\nObject.defineProperty(exports, \"PushAudioOutputStream\", { enumerable: true, get: function () { return AudioOutputStream_1.PushAudioOutputStream; } });\nvar CancellationReason_1 = require(\"./CancellationReason\");\nObject.defineProperty(exports, \"CancellationReason\", { enumerable: true, get: function () { return CancellationReason_1.CancellationReason; } });\nvar PullAudioInputStreamCallback_1 = require(\"./Audio/PullAudioInputStreamCallback\");\nObject.defineProperty(exports, \"PullAudioInputStreamCallback\", { enumerable: true, get: function () { return PullAudioInputStreamCallback_1.PullAudioInputStreamCallback; } });\nvar PushAudioOutputStreamCallback_1 = require(\"./Audio/PushAudioOutputStreamCallback\");\nObject.defineProperty(exports, \"PushAudioOutputStreamCallback\", { enumerable: true, get: function () { return PushAudioOutputStreamCallback_1.PushAudioOutputStreamCallback; } });\nvar KeywordRecognitionModel_1 = require(\"./KeywordRecognitionModel\");\nObject.defineProperty(exports, \"KeywordRecognitionModel\", { enumerable: true, get: function () { return KeywordRecognitionModel_1.KeywordRecognitionModel; } });\nvar SessionEventArgs_1 = require(\"./SessionEventArgs\");\nObject.defineProperty(exports, \"SessionEventArgs\", { enumerable: true, get: function () { return SessionEventArgs_1.SessionEventArgs; } });\nvar RecognitionEventArgs_1 = require(\"./RecognitionEventArgs\");\nObject.defineProperty(exports, \"RecognitionEventArgs\", { enumerable: true, get: function () { return RecognitionEventArgs_1.RecognitionEventArgs; } });\nvar OutputFormat_1 = require(\"./OutputFormat\");\nObject.defineProperty(exports, \"OutputFormat\", { enumerable: true, get: function () { return OutputFormat_1.OutputFormat; } });\nvar IntentRecognitionEventArgs_1 = require(\"./IntentRecognitionEventArgs\");\nObject.defineProperty(exports, \"IntentRecognitionEventArgs\", { enumerable: true, get: function () { return IntentRecognitionEventArgs_1.IntentRecognitionEventArgs; } });\nvar RecognitionResult_1 = require(\"./RecognitionResult\");\nObject.defineProperty(exports, \"RecognitionResult\", { enumerable: true, get: function () { return RecognitionResult_1.RecognitionResult; } });\nvar SpeechRecognitionResult_1 = require(\"./SpeechRecognitionResult\");\nObject.defineProperty(exports, \"SpeechRecognitionResult\", { enumerable: true, get: function () { return SpeechRecognitionResult_1.SpeechRecognitionResult; } });\nvar IntentRecognitionResult_1 = require(\"./IntentRecognitionResult\");\nObject.defineProperty(exports, \"IntentRecognitionResult\", { enumerable: true, get: function () { return IntentRecognitionResult_1.IntentRecognitionResult; } });\nvar LanguageUnderstandingModel_1 = require(\"./LanguageUnderstandingModel\");\nObject.defineProperty(exports, \"LanguageUnderstandingModel\", { enumerable: true, get: function () { return LanguageUnderstandingModel_1.LanguageUnderstandingModel; } });\nvar SpeechRecognitionEventArgs_1 = require(\"./SpeechRecognitionEventArgs\");\nObject.defineProperty(exports, \"SpeechRecognitionEventArgs\", { enumerable: true, get: function () { return SpeechRecognitionEventArgs_1.SpeechRecognitionEventArgs; } });\nObject.defineProperty(exports, \"ConversationTranscriptionEventArgs\", { enumerable: true, get: function () { return SpeechRecognitionEventArgs_1.ConversationTranscriptionEventArgs; } });\nvar SpeechRecognitionCanceledEventArgs_1 = require(\"./SpeechRecognitionCanceledEventArgs\");\nObject.defineProperty(exports, \"SpeechRecognitionCanceledEventArgs\", { enumerable: true, get: function () { return SpeechRecognitionCanceledEventArgs_1.SpeechRecognitionCanceledEventArgs; } });\nvar TranslationRecognitionEventArgs_1 = require(\"./TranslationRecognitionEventArgs\");\nObject.defineProperty(exports, \"TranslationRecognitionEventArgs\", { enumerable: true, get: function () { return TranslationRecognitionEventArgs_1.TranslationRecognitionEventArgs; } });\nvar TranslationSynthesisEventArgs_1 = require(\"./TranslationSynthesisEventArgs\");\nObject.defineProperty(exports, \"TranslationSynthesisEventArgs\", { enumerable: true, get: function () { return TranslationSynthesisEventArgs_1.TranslationSynthesisEventArgs; } });\nvar TranslationRecognitionResult_1 = require(\"./TranslationRecognitionResult\");\nObject.defineProperty(exports, \"TranslationRecognitionResult\", { enumerable: true, get: function () { return TranslationRecognitionResult_1.TranslationRecognitionResult; } });\nvar TranslationSynthesisResult_1 = require(\"./TranslationSynthesisResult\");\nObject.defineProperty(exports, \"TranslationSynthesisResult\", { enumerable: true, get: function () { return TranslationSynthesisResult_1.TranslationSynthesisResult; } });\nvar ResultReason_1 = require(\"./ResultReason\");\nObject.defineProperty(exports, \"ResultReason\", { enumerable: true, get: function () { return ResultReason_1.ResultReason; } });\nvar SpeechConfig_1 = require(\"./SpeechConfig\");\nObject.defineProperty(exports, \"SpeechConfig\", { enumerable: true, get: function () { return SpeechConfig_1.SpeechConfig; } });\nObject.defineProperty(exports, \"SpeechConfigImpl\", { enumerable: true, get: function () { return SpeechConfig_1.SpeechConfigImpl; } });\nvar SpeechTranslationConfig_1 = require(\"./SpeechTranslationConfig\");\nObject.defineProperty(exports, \"SpeechTranslationConfig\", { enumerable: true, get: function () { return SpeechTranslationConfig_1.SpeechTranslationConfig; } });\nObject.defineProperty(exports, \"SpeechTranslationConfigImpl\", { enumerable: true, get: function () { return SpeechTranslationConfig_1.SpeechTranslationConfigImpl; } });\nvar PropertyCollection_1 = require(\"./PropertyCollection\");\nObject.defineProperty(exports, \"PropertyCollection\", { enumerable: true, get: function () { return PropertyCollection_1.PropertyCollection; } });\nvar PropertyId_1 = require(\"./PropertyId\");\nObject.defineProperty(exports, \"PropertyId\", { enumerable: true, get: function () { return PropertyId_1.PropertyId; } });\nvar Recognizer_1 = require(\"./Recognizer\");\nObject.defineProperty(exports, \"Recognizer\", { enumerable: true, get: function () { return Recognizer_1.Recognizer; } });\nvar SpeechRecognizer_1 = require(\"./SpeechRecognizer\");\nObject.defineProperty(exports, \"SpeechRecognizer\", { enumerable: true, get: function () { return SpeechRecognizer_1.SpeechRecognizer; } });\nvar IntentRecognizer_1 = require(\"./IntentRecognizer\");\nObject.defineProperty(exports, \"IntentRecognizer\", { enumerable: true, get: function () { return IntentRecognizer_1.IntentRecognizer; } });\nvar VoiceProfileType_1 = require(\"./VoiceProfileType\");\nObject.defineProperty(exports, \"VoiceProfileType\", { enumerable: true, get: function () { return VoiceProfileType_1.VoiceProfileType; } });\nvar TranslationRecognizer_1 = require(\"./TranslationRecognizer\");\nObject.defineProperty(exports, \"TranslationRecognizer\", { enumerable: true, get: function () { return TranslationRecognizer_1.TranslationRecognizer; } });\nvar Translations_1 = require(\"./Translations\");\nObject.defineProperty(exports, \"Translations\", { enumerable: true, get: function () { return Translations_1.Translations; } });\nvar NoMatchReason_1 = require(\"./NoMatchReason\");\nObject.defineProperty(exports, \"NoMatchReason\", { enumerable: true, get: function () { return NoMatchReason_1.NoMatchReason; } });\nvar NoMatchDetails_1 = require(\"./NoMatchDetails\");\nObject.defineProperty(exports, \"NoMatchDetails\", { enumerable: true, get: function () { return NoMatchDetails_1.NoMatchDetails; } });\nvar TranslationRecognitionCanceledEventArgs_1 = require(\"./TranslationRecognitionCanceledEventArgs\");\nObject.defineProperty(exports, \"TranslationRecognitionCanceledEventArgs\", { enumerable: true, get: function () { return TranslationRecognitionCanceledEventArgs_1.TranslationRecognitionCanceledEventArgs; } });\nvar IntentRecognitionCanceledEventArgs_1 = require(\"./IntentRecognitionCanceledEventArgs\");\nObject.defineProperty(exports, \"IntentRecognitionCanceledEventArgs\", { enumerable: true, get: function () { return IntentRecognitionCanceledEventArgs_1.IntentRecognitionCanceledEventArgs; } });\nvar CancellationDetailsBase_1 = require(\"./CancellationDetailsBase\");\nObject.defineProperty(exports, \"CancellationDetailsBase\", { enumerable: true, get: function () { return CancellationDetailsBase_1.CancellationDetailsBase; } });\nvar CancellationDetails_1 = require(\"./CancellationDetails\");\nObject.defineProperty(exports, \"CancellationDetails\", { enumerable: true, get: function () { return CancellationDetails_1.CancellationDetails; } });\nvar CancellationErrorCodes_1 = require(\"./CancellationErrorCodes\");\nObject.defineProperty(exports, \"CancellationErrorCode\", { enumerable: true, get: function () { return CancellationErrorCodes_1.CancellationErrorCode; } });\nvar ConnectionEventArgs_1 = require(\"./ConnectionEventArgs\");\nObject.defineProperty(exports, \"ConnectionEventArgs\", { enumerable: true, get: function () { return ConnectionEventArgs_1.ConnectionEventArgs; } });\nvar ServiceEventArgs_1 = require(\"./ServiceEventArgs\");\nObject.defineProperty(exports, \"ServiceEventArgs\", { enumerable: true, get: function () { return ServiceEventArgs_1.ServiceEventArgs; } });\nvar Connection_1 = require(\"./Connection\");\nObject.defineProperty(exports, \"Connection\", { enumerable: true, get: function () { return Connection_1.Connection; } });\nvar PhraseListGrammar_1 = require(\"./PhraseListGrammar\");\nObject.defineProperty(exports, \"PhraseListGrammar\", { enumerable: true, get: function () { return PhraseListGrammar_1.PhraseListGrammar; } });\nvar DialogServiceConfig_1 = require(\"./DialogServiceConfig\");\nObject.defineProperty(exports, \"DialogServiceConfig\", { enumerable: true, get: function () { return DialogServiceConfig_1.DialogServiceConfig; } });\nvar BotFrameworkConfig_1 = require(\"./BotFrameworkConfig\");\nObject.defineProperty(exports, \"BotFrameworkConfig\", { enumerable: true, get: function () { return BotFrameworkConfig_1.BotFrameworkConfig; } });\nvar CustomCommandsConfig_1 = require(\"./CustomCommandsConfig\");\nObject.defineProperty(exports, \"CustomCommandsConfig\", { enumerable: true, get: function () { return CustomCommandsConfig_1.CustomCommandsConfig; } });\nvar DialogServiceConnector_1 = require(\"./DialogServiceConnector\");\nObject.defineProperty(exports, \"DialogServiceConnector\", { enumerable: true, get: function () { return DialogServiceConnector_1.DialogServiceConnector; } });\nvar ActivityReceivedEventArgs_1 = require(\"./ActivityReceivedEventArgs\");\nObject.defineProperty(exports, \"ActivityReceivedEventArgs\", { enumerable: true, get: function () { return ActivityReceivedEventArgs_1.ActivityReceivedEventArgs; } });\nvar TurnStatusReceivedEventArgs_1 = require(\"./TurnStatusReceivedEventArgs\");\nObject.defineProperty(exports, \"TurnStatusReceivedEventArgs\", { enumerable: true, get: function () { return TurnStatusReceivedEventArgs_1.TurnStatusReceivedEventArgs; } });\nvar ServicePropertyChannel_1 = require(\"./ServicePropertyChannel\");\nObject.defineProperty(exports, \"ServicePropertyChannel\", { enumerable: true, get: function () { return ServicePropertyChannel_1.ServicePropertyChannel; } });\nvar ProfanityOption_1 = require(\"./ProfanityOption\");\nObject.defineProperty(exports, \"ProfanityOption\", { enumerable: true, get: function () { return ProfanityOption_1.ProfanityOption; } });\nvar BaseAudioPlayer_1 = require(\"./Audio/BaseAudioPlayer\");\nObject.defineProperty(exports, \"BaseAudioPlayer\", { enumerable: true, get: function () { return BaseAudioPlayer_1.BaseAudioPlayer; } });\nvar ConnectionMessageEventArgs_1 = require(\"./ConnectionMessageEventArgs\");\nObject.defineProperty(exports, \"ConnectionMessageEventArgs\", { enumerable: true, get: function () { return ConnectionMessageEventArgs_1.ConnectionMessageEventArgs; } });\nvar ConnectionMessage_1 = require(\"./ConnectionMessage\");\nObject.defineProperty(exports, \"ConnectionMessage\", { enumerable: true, get: function () { return ConnectionMessage_1.ConnectionMessage; } });\nvar VoiceProfile_1 = require(\"./VoiceProfile\");\nObject.defineProperty(exports, \"VoiceProfile\", { enumerable: true, get: function () { return VoiceProfile_1.VoiceProfile; } });\nvar VoiceProfileEnrollmentResult_1 = require(\"./VoiceProfileEnrollmentResult\");\nObject.defineProperty(exports, \"VoiceProfileEnrollmentResult\", { enumerable: true, get: function () { return VoiceProfileEnrollmentResult_1.VoiceProfileEnrollmentResult; } });\nObject.defineProperty(exports, \"VoiceProfileEnrollmentCancellationDetails\", { enumerable: true, get: function () { return VoiceProfileEnrollmentResult_1.VoiceProfileEnrollmentCancellationDetails; } });\nvar VoiceProfileResult_1 = require(\"./VoiceProfileResult\");\nObject.defineProperty(exports, \"VoiceProfileResult\", { enumerable: true, get: function () { return VoiceProfileResult_1.VoiceProfileResult; } });\nObject.defineProperty(exports, \"VoiceProfileCancellationDetails\", { enumerable: true, get: function () { return VoiceProfileResult_1.VoiceProfileCancellationDetails; } });\nvar VoiceProfileAuthorizationPhraseResult_1 = require(\"./VoiceProfileAuthorizationPhraseResult\");\nObject.defineProperty(exports, \"VoiceProfileAuthorizationPhraseResult\", { enumerable: true, get: function () { return VoiceProfileAuthorizationPhraseResult_1.VoiceProfileAuthorizationPhraseResult; } });\nvar VoiceProfileClient_1 = require(\"./VoiceProfileClient\");\nObject.defineProperty(exports, \"VoiceProfileClient\", { enumerable: true, get: function () { return VoiceProfileClient_1.VoiceProfileClient; } });\nvar SpeakerRecognizer_1 = require(\"./SpeakerRecognizer\");\nObject.defineProperty(exports, \"SpeakerRecognizer\", { enumerable: true, get: function () { return SpeakerRecognizer_1.SpeakerRecognizer; } });\nvar SpeakerIdentificationModel_1 = require(\"./SpeakerIdentificationModel\");\nObject.defineProperty(exports, \"SpeakerIdentificationModel\", { enumerable: true, get: function () { return SpeakerIdentificationModel_1.SpeakerIdentificationModel; } });\nvar SpeakerVerificationModel_1 = require(\"./SpeakerVerificationModel\");\nObject.defineProperty(exports, \"SpeakerVerificationModel\", { enumerable: true, get: function () { return SpeakerVerificationModel_1.SpeakerVerificationModel; } });\nvar AutoDetectSourceLanguageConfig_1 = require(\"./AutoDetectSourceLanguageConfig\");\nObject.defineProperty(exports, \"AutoDetectSourceLanguageConfig\", { enumerable: true, get: function () { return AutoDetectSourceLanguageConfig_1.AutoDetectSourceLanguageConfig; } });\nvar AutoDetectSourceLanguageResult_1 = require(\"./AutoDetectSourceLanguageResult\");\nObject.defineProperty(exports, \"AutoDetectSourceLanguageResult\", { enumerable: true, get: function () { return AutoDetectSourceLanguageResult_1.AutoDetectSourceLanguageResult; } });\nvar SourceLanguageConfig_1 = require(\"./SourceLanguageConfig\");\nObject.defineProperty(exports, \"SourceLanguageConfig\", { enumerable: true, get: function () { return SourceLanguageConfig_1.SourceLanguageConfig; } });\nvar SpeakerRecognitionResult_1 = require(\"./SpeakerRecognitionResult\");\nObject.defineProperty(exports, \"SpeakerRecognitionResult\", { enumerable: true, get: function () { return SpeakerRecognitionResult_1.SpeakerRecognitionResult; } });\nObject.defineProperty(exports, \"SpeakerRecognitionResultType\", { enumerable: true, get: function () { return SpeakerRecognitionResult_1.SpeakerRecognitionResultType; } });\nObject.defineProperty(exports, \"SpeakerRecognitionCancellationDetails\", { enumerable: true, get: function () { return SpeakerRecognitionResult_1.SpeakerRecognitionCancellationDetails; } });\nvar Exports_1 = require(\"./Transcription/Exports\");\nObject.defineProperty(exports, \"Conversation\", { enumerable: true, get: function () { return Exports_1.Conversation; } });\nObject.defineProperty(exports, \"ConversationExpirationEventArgs\", { enumerable: true, get: function () { return Exports_1.ConversationExpirationEventArgs; } });\nObject.defineProperty(exports, \"ConversationParticipantsChangedEventArgs\", { enumerable: true, get: function () { return Exports_1.ConversationParticipantsChangedEventArgs; } });\nObject.defineProperty(exports, \"ConversationTranslationCanceledEventArgs\", { enumerable: true, get: function () { return Exports_1.ConversationTranslationCanceledEventArgs; } });\nObject.defineProperty(exports, \"ConversationTranslationEventArgs\", { enumerable: true, get: function () { return Exports_1.ConversationTranslationEventArgs; } });\nObject.defineProperty(exports, \"ConversationTranslationResult\", { enumerable: true, get: function () { return Exports_1.ConversationTranslationResult; } });\nObject.defineProperty(exports, \"ConversationTranslator\", { enumerable: true, get: function () { return Exports_1.ConversationTranslator; } });\nObject.defineProperty(exports, \"ConversationTranscriber\", { enumerable: true, get: function () { return Exports_1.ConversationTranscriber; } });\nObject.defineProperty(exports, \"Participant\", { enumerable: true, get: function () { return Exports_1.Participant; } });\nObject.defineProperty(exports, \"ParticipantChangedReason\", { enumerable: true, get: function () { return Exports_1.ParticipantChangedReason; } });\nObject.defineProperty(exports, \"User\", { enumerable: true, get: function () { return Exports_1.User; } });\nvar SpeechSynthesisOutputFormat_1 = require(\"./SpeechSynthesisOutputFormat\");\nObject.defineProperty(exports, \"SpeechSynthesisOutputFormat\", { enumerable: true, get: function () { return SpeechSynthesisOutputFormat_1.SpeechSynthesisOutputFormat; } });\nvar SpeechSynthesizer_1 = require(\"./SpeechSynthesizer\");\nObject.defineProperty(exports, \"SpeechSynthesizer\", { enumerable: true, get: function () { return SpeechSynthesizer_1.SpeechSynthesizer; } });\nvar SpeechSynthesisResult_1 = require(\"./SpeechSynthesisResult\");\nObject.defineProperty(exports, \"SpeechSynthesisResult\", { enumerable: true, get: function () { return SpeechSynthesisResult_1.SpeechSynthesisResult; } });\nvar SpeechSynthesisEventArgs_1 = require(\"./SpeechSynthesisEventArgs\");\nObject.defineProperty(exports, \"SpeechSynthesisEventArgs\", { enumerable: true, get: function () { return SpeechSynthesisEventArgs_1.SpeechSynthesisEventArgs; } });\nvar SpeechSynthesisWordBoundaryEventArgs_1 = require(\"./SpeechSynthesisWordBoundaryEventArgs\");\nObject.defineProperty(exports, \"SpeechSynthesisWordBoundaryEventArgs\", { enumerable: true, get: function () { return SpeechSynthesisWordBoundaryEventArgs_1.SpeechSynthesisWordBoundaryEventArgs; } });\nvar SpeechSynthesisBookmarkEventArgs_1 = require(\"./SpeechSynthesisBookmarkEventArgs\");\nObject.defineProperty(exports, \"SpeechSynthesisBookmarkEventArgs\", { enumerable: true, get: function () { return SpeechSynthesisBookmarkEventArgs_1.SpeechSynthesisBookmarkEventArgs; } });\nvar SpeechSynthesisVisemeEventArgs_1 = require(\"./SpeechSynthesisVisemeEventArgs\");\nObject.defineProperty(exports, \"SpeechSynthesisVisemeEventArgs\", { enumerable: true, get: function () { return SpeechSynthesisVisemeEventArgs_1.SpeechSynthesisVisemeEventArgs; } });\nvar SpeakerAudioDestination_1 = require(\"./Audio/SpeakerAudioDestination\");\nObject.defineProperty(exports, \"SpeakerAudioDestination\", { enumerable: true, get: function () { return SpeakerAudioDestination_1.SpeakerAudioDestination; } });\nvar ConversationTranscriptionCanceledEventArgs_1 = require(\"./ConversationTranscriptionCanceledEventArgs\");\nObject.defineProperty(exports, \"ConversationTranscriptionCanceledEventArgs\", { enumerable: true, get: function () { return ConversationTranscriptionCanceledEventArgs_1.ConversationTranscriptionCanceledEventArgs; } });\nvar PronunciationAssessmentGradingSystem_1 = require(\"./PronunciationAssessmentGradingSystem\");\nObject.defineProperty(exports, \"PronunciationAssessmentGradingSystem\", { enumerable: true, get: function () { return PronunciationAssessmentGradingSystem_1.PronunciationAssessmentGradingSystem; } });\nvar PronunciationAssessmentGranularity_1 = require(\"./PronunciationAssessmentGranularity\");\nObject.defineProperty(exports, \"PronunciationAssessmentGranularity\", { enumerable: true, get: function () { return PronunciationAssessmentGranularity_1.PronunciationAssessmentGranularity; } });\nvar PronunciationAssessmentConfig_1 = require(\"./PronunciationAssessmentConfig\");\nObject.defineProperty(exports, \"PronunciationAssessmentConfig\", { enumerable: true, get: function () { return PronunciationAssessmentConfig_1.PronunciationAssessmentConfig; } });\nvar PronunciationAssessmentResult_1 = require(\"./PronunciationAssessmentResult\");\nObject.defineProperty(exports, \"PronunciationAssessmentResult\", { enumerable: true, get: function () { return PronunciationAssessmentResult_1.PronunciationAssessmentResult; } });\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.IntentRecognitionCanceledEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Define payload of intent recognition canceled result events.\n * @class IntentRecognitionCanceledEventArgs\n */\nvar IntentRecognitionCanceledEventArgs = /** @class */ (function (_super) {\n __extends(IntentRecognitionCanceledEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {CancellationReason} result - The result of the intent recognition.\n * @param {string} offset - The offset.\n * @param {IntentRecognitionResult} sessionId - The session id.\n */\n function IntentRecognitionCanceledEventArgs(reason, errorDetails, errorCode, result, offset, sessionId) {\n var _this = _super.call(this, result, offset, sessionId) || this;\n _this.privReason = reason;\n _this.privErrorDetails = errorDetails;\n _this.privErrorCode = errorCode;\n return _this;\n }\n Object.defineProperty(IntentRecognitionCanceledEventArgs.prototype, \"reason\", {\n /**\n * The reason the recognition was canceled.\n * @member IntentRecognitionCanceledEventArgs.prototype.reason\n * @function\n * @public\n * @returns {CancellationReason} Specifies the reason canceled.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentRecognitionCanceledEventArgs.prototype, \"errorCode\", {\n /**\n * The error code in case of an unsuccessful recognition.\n * Added in version 1.1.0.\n * @return An error code that represents the error reason.\n */\n get: function () {\n return this.privErrorCode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentRecognitionCanceledEventArgs.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful recognition, provides details of the occurred error.\n * @member IntentRecognitionCanceledEventArgs.prototype.errorDetails\n * @function\n * @public\n * @returns {string} A String that represents the error details.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n return IntentRecognitionCanceledEventArgs;\n}(Exports_1.IntentRecognitionEventArgs));\nexports.IntentRecognitionCanceledEventArgs = IntentRecognitionCanceledEventArgs;\n\n//# sourceMappingURL=IntentRecognitionCanceledEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.IntentRecognitionEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Intent recognition result event arguments.\n * @class\n */\nvar IntentRecognitionEventArgs = /** @class */ (function (_super) {\n __extends(IntentRecognitionEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param result - The result of the intent recognition.\n * @param offset - The offset.\n * @param sessionId - The session id.\n */\n function IntentRecognitionEventArgs(result, offset, sessionId) {\n var _this = _super.call(this, offset, sessionId) || this;\n _this.privResult = result;\n return _this;\n }\n Object.defineProperty(IntentRecognitionEventArgs.prototype, \"result\", {\n /**\n * Represents the intent recognition result.\n * @member IntentRecognitionEventArgs.prototype.result\n * @function\n * @public\n * @returns {IntentRecognitionResult} Represents the intent recognition result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return IntentRecognitionEventArgs;\n}(Exports_1.RecognitionEventArgs));\nexports.IntentRecognitionEventArgs = IntentRecognitionEventArgs;\n\n//# sourceMappingURL=IntentRecognitionEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.IntentRecognitionResult = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Intent recognition result.\n * @class\n */\nvar IntentRecognitionResult = /** @class */ (function (_super) {\n __extends(IntentRecognitionResult, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param intentId - The intent id.\n * @param resultId - The result id.\n * @param reason - The reason.\n * @param text - The recognized text.\n * @param duration - The duration.\n * @param offset - The offset into the stream.\n * @param language - Primary Language detected, if provided.\n * @param languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\n * @param errorDetails - Error details, if provided.\n * @param json - Additional Json, if provided.\n * @param properties - Additional properties, if provided.\n */\n function IntentRecognitionResult(intentId, resultId, reason, text, duration, offset, language, languageDetectionConfidence, errorDetails, json, properties) {\n var _this = _super.call(this, resultId, reason, text, duration, offset, language, languageDetectionConfidence, undefined, errorDetails, json, properties) || this;\n _this.privIntentId = intentId;\n return _this;\n }\n Object.defineProperty(IntentRecognitionResult.prototype, \"intentId\", {\n /**\n * A String that represents the intent identifier being recognized.\n * @member IntentRecognitionResult.prototype.intentId\n * @function\n * @public\n * @returns {string} A String that represents the intent identifier being recognized.\n */\n get: function () {\n return this.privIntentId;\n },\n enumerable: false,\n configurable: true\n });\n return IntentRecognitionResult;\n}(Exports_1.SpeechRecognitionResult));\nexports.IntentRecognitionResult = IntentRecognitionResult;\n\n//# sourceMappingURL=IntentRecognitionResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.IntentRecognizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Intent recognizer.\n * @class\n */\nvar IntentRecognizer = /** @class */ (function (_super) {\n __extends(IntentRecognizer, _super);\n /**\n * Initializes an instance of the IntentRecognizer.\n * @constructor\n * @param {SpeechConfig} speechConfig - The set of configuration properties.\n * @param {AudioConfig} audioConfig - An optional audio input config associated with the recognizer\n */\n function IntentRecognizer(speechConfig, audioConfig) {\n var _this = this;\n Contracts_1.Contracts.throwIfNullOrUndefined(speechConfig, \"speechConfig\");\n var configImpl = speechConfig;\n Contracts_1.Contracts.throwIfNullOrUndefined(configImpl, \"speechConfig\");\n _this = _super.call(this, audioConfig, configImpl.properties, new Exports_1.IntentConnectionFactory()) || this;\n _this.privAddedIntents = [];\n _this.privAddedLmIntents = {};\n _this.privDisposedIntentRecognizer = false;\n _this.privProperties = configImpl.properties;\n Contracts_1.Contracts.throwIfNullOrWhitespace(_this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage), Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage]);\n return _this;\n }\n Object.defineProperty(IntentRecognizer.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the spoken language of recognition.\n * @member IntentRecognizer.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @returns {string} the spoken language of recognition.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentRecognizer.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member IntentRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * Note: Please use a token derived from your LanguageUnderstanding subscription key for the Intent recognizer.\n * @member IntentRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @param {string} value - Authorization token.\n */\n set: function (value) {\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(IntentRecognizer.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this IntentRecognizer.\n * @member IntentRecognizer.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their\n * values defined for this IntentRecognizer.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Starts intent recognition, and stops after the first utterance is recognized.\n * The task returns the recognition text and intent as result.\n * Note: RecognizeOnceAsync() returns when the first utterance has been recognized,\n * so it is suitable only for single shot recognition like command or query.\n * For long-running recognition, use StartContinuousRecognitionAsync() instead.\n * @member IntentRecognizer.prototype.recognizeOnceAsync\n * @function\n * @public\n * @param cb - Callback that received the recognition has finished with an IntentRecognitionResult.\n * @param err - Callback invoked in case of an error.\n */\n IntentRecognizer.prototype.recognizeOnceAsync = function (cb, err) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\n if (Object.keys(this.privAddedLmIntents).length !== 0 || undefined !== this.privUmbrellaIntent) {\n var context = this.buildSpeechContext();\n this.privReco.speechContext.setSection(\"intent\", context.Intent);\n this.privReco.dynamicGrammar.addReferenceGrammar(context.ReferenceGrammars);\n var intentReco = this.privReco;\n intentReco.setIntents(this.privAddedLmIntents, this.privUmbrellaIntent);\n }\n Exports_2.marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(Exports_1.RecognitionMode.Interactive), cb, err);\n };\n /**\n * Starts speech recognition, until stopContinuousRecognitionAsync() is called.\n * User must subscribe to events to receive recognition results.\n * @member IntentRecognizer.prototype.startContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has started.\n * @param err - Callback invoked in case of an error.\n */\n IntentRecognizer.prototype.startContinuousRecognitionAsync = function (cb, err) {\n if (Object.keys(this.privAddedLmIntents).length !== 0 || undefined !== this.privUmbrellaIntent) {\n var context = this.buildSpeechContext();\n this.privReco.speechContext.setSection(\"intent\", context.Intent);\n this.privReco.dynamicGrammar.addReferenceGrammar(context.ReferenceGrammars);\n var intentReco = this.privReco;\n intentReco.setIntents(this.privAddedLmIntents, this.privUmbrellaIntent);\n }\n Exports_2.marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(Exports_1.RecognitionMode.Conversation), cb, err);\n };\n /**\n * Stops continuous intent recognition.\n * @member IntentRecognizer.prototype.stopContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has stopped.\n * @param err - Callback invoked in case of an error.\n */\n IntentRecognizer.prototype.stopContinuousRecognitionAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\n };\n /**\n * Starts speech recognition with keyword spotting, until stopKeywordRecognitionAsync() is called.\n * User must subscribe to events to receive recognition results.\n * Note: Key word spotting functionality is only available on the Speech Devices SDK.\n * This functionality is currently not included in the SDK itself.\n * @member IntentRecognizer.prototype.startKeywordRecognitionAsync\n * @function\n * @public\n * @param {KeywordRecognitionModel} model - The keyword recognition model that specifies the keyword to be recognized.\n * @param cb - Callback invoked once the recognition has started.\n * @param err - Callback invoked in case of an error.\n */\n IntentRecognizer.prototype.startKeywordRecognitionAsync = function (model, cb, err) {\n Contracts_1.Contracts.throwIfNull(model, \"model\");\n if (!!err) {\n err(\"Not yet implemented.\");\n }\n };\n /**\n * Stops continuous speech recognition.\n * Note: Key word spotting functionality is only available on the Speech Devices SDK.\n * This functionality is currently not included in the SDK itself.\n * @member IntentRecognizer.prototype.stopKeywordRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has stopped.\n * @param err - Callback invoked in case of an error.\n */\n IntentRecognizer.prototype.stopKeywordRecognitionAsync = function (cb, err) {\n if (!!cb) {\n cb();\n }\n };\n /**\n * Adds a phrase that should be recognized as intent.\n * @member IntentRecognizer.prototype.addIntent\n * @function\n * @public\n * @param {string} intentId - A String that represents the identifier of the intent to be recognized.\n * @param {string} phrase - A String that specifies the phrase representing the intent.\n */\n IntentRecognizer.prototype.addIntent = function (simplePhrase, intentId) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\n Contracts_1.Contracts.throwIfNullOrWhitespace(intentId, \"intentId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(simplePhrase, \"simplePhrase\");\n this.privAddedIntents.push([intentId, simplePhrase]);\n };\n /**\n * Adds an intent from Language Understanding service for recognition.\n * @member IntentRecognizer.prototype.addIntentWithLanguageModel\n * @function\n * @public\n * @param {string} intentId - A String that represents the identifier of the intent\n * to be recognized. Ignored if intentName is empty.\n * @param {string} model - The intent model from Language Understanding service.\n * @param {string} intentName - The intent name defined in the intent model. If it\n * is empty, all intent names defined in the model will be added.\n */\n IntentRecognizer.prototype.addIntentWithLanguageModel = function (intentId, model, intentName) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\n Contracts_1.Contracts.throwIfNullOrWhitespace(intentId, \"intentId\");\n Contracts_1.Contracts.throwIfNull(model, \"model\");\n var modelImpl = model;\n Contracts_1.Contracts.throwIfNullOrWhitespace(modelImpl.appId, \"model.appId\");\n this.privAddedLmIntents[intentId] = new Exports_1.AddedLmIntent(modelImpl, intentName);\n };\n /**\n * @summary Adds all intents from the specified Language Understanding Model.\n * @member IntentRecognizer.prototype.addAllIntents\n * @function\n * @public\n * @function\n * @public\n * @param {LanguageUnderstandingModel} model - The language understanding model containing the intents.\n * @param {string} intentId - A custom id String to be returned in the IntentRecognitionResult's getIntentId() method.\n */\n IntentRecognizer.prototype.addAllIntents = function (model, intentId) {\n Contracts_1.Contracts.throwIfNull(model, \"model\");\n var modelImpl = model;\n Contracts_1.Contracts.throwIfNullOrWhitespace(modelImpl.appId, \"model.appId\");\n this.privUmbrellaIntent = new Exports_1.AddedLmIntent(modelImpl, intentId);\n };\n /**\n * closes all external resources held by an instance of this class.\n * @member IntentRecognizer.prototype.close\n * @function\n * @public\n */\n IntentRecognizer.prototype.close = function (cb, errorCb) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedIntentRecognizer);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\n };\n IntentRecognizer.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_1.RecognizerConfig(speechConfig, this.properties);\n };\n IntentRecognizer.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var audioImpl = audioConfig;\n return new Exports_1.IntentServiceRecognizer(authentication, connectionFactory, audioImpl, recognizerConfig, this);\n };\n IntentRecognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposedIntentRecognizer) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 2];\n this.privDisposedIntentRecognizer = true;\n return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n IntentRecognizer.prototype.buildSpeechContext = function () {\n var appId;\n var region;\n var subscriptionKey;\n var refGrammers = [];\n if (undefined !== this.privUmbrellaIntent) {\n appId = this.privUmbrellaIntent.modelImpl.appId;\n region = this.privUmbrellaIntent.modelImpl.region;\n subscriptionKey = this.privUmbrellaIntent.modelImpl.subscriptionKey;\n }\n // Build the reference grammer array.\n for (var _i = 0, _a = Object.keys(this.privAddedLmIntents); _i < _a.length; _i++) {\n var intentId = _a[_i];\n var addedLmIntent = this.privAddedLmIntents[intentId];\n // validate all the same model, region, and key...\n if (appId === undefined) {\n appId = addedLmIntent.modelImpl.appId;\n }\n else {\n if (appId !== addedLmIntent.modelImpl.appId) {\n throw new Error(\"Intents must all be from the same LUIS model\");\n }\n }\n if (region === undefined) {\n region = addedLmIntent.modelImpl.region;\n }\n else {\n if (region !== addedLmIntent.modelImpl.region) {\n throw new Error(\"Intents must all be from the same LUIS model in a single region\");\n }\n }\n if (subscriptionKey === undefined) {\n subscriptionKey = addedLmIntent.modelImpl.subscriptionKey;\n }\n else {\n if (subscriptionKey !== addedLmIntent.modelImpl.subscriptionKey) {\n throw new Error(\"Intents must all use the same subscription key\");\n }\n }\n var grammer = \"luis/\" + appId + \"-PRODUCTION#\" + intentId;\n refGrammers.push(grammer);\n }\n return {\n Intent: {\n id: appId,\n key: (subscriptionKey === undefined) ? this.privProperties.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Key]) : subscriptionKey,\n provider: \"LUIS\",\n },\n ReferenceGrammars: (undefined === this.privUmbrellaIntent) ? refGrammers : [\"luis/\" + appId + \"-PRODUCTION\"],\n };\n };\n return IntentRecognizer;\n}(Exports_3.Recognizer));\nexports.IntentRecognizer = IntentRecognizer;\n\n//# sourceMappingURL=IntentRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KeywordRecognitionModel = void 0;\nvar Contracts_1 = require(\"./Contracts\");\n/**\n * Represents a keyword recognition model for recognizing when\n * the user says a keyword to initiate further speech recognition.\n * @class KeywordRecognitionModel\n */\nvar KeywordRecognitionModel = /** @class */ (function () {\n /**\n * Create and initializes a new instance.\n * @constructor\n */\n function KeywordRecognitionModel() {\n this.privDisposed = false;\n }\n /**\n * Creates a keyword recognition model using the specified filename.\n * @member KeywordRecognitionModel.fromFile\n * @function\n * @public\n * @param {string} fileName - A string that represents file name for the keyword recognition model.\n * Note, the file can point to a zip file in which case the model\n * will be extracted from the zip.\n * @returns {KeywordRecognitionModel} The keyword recognition model being created.\n */\n KeywordRecognitionModel.fromFile = function (fileName) {\n Contracts_1.Contracts.throwIfFileDoesNotExist(fileName, \"fileName\");\n throw new Error(\"Not yet implemented.\");\n };\n /**\n * Creates a keyword recognition model using the specified filename.\n * @member KeywordRecognitionModel.fromStream\n * @function\n * @public\n * @param {string} file - A File that represents file for the keyword recognition model.\n * Note, the file can point to a zip file in which case the model will be extracted from the zip.\n * @returns {KeywordRecognitionModel} The keyword recognition model being created.\n */\n KeywordRecognitionModel.fromStream = function (file) {\n Contracts_1.Contracts.throwIfNull(file, \"file\");\n throw new Error(\"Not yet implemented.\");\n };\n /**\n * Dispose of associated resources.\n * @member KeywordRecognitionModel.prototype.close\n * @function\n * @public\n */\n KeywordRecognitionModel.prototype.close = function () {\n if (this.privDisposed) {\n return;\n }\n this.privDisposed = true;\n };\n return KeywordRecognitionModel;\n}());\nexports.KeywordRecognitionModel = KeywordRecognitionModel;\n\n//# sourceMappingURL=KeywordRecognitionModel.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.LanguageUnderstandingModelImpl = exports.LanguageUnderstandingModel = void 0;\nvar Contracts_1 = require(\"./Contracts\");\n/**\n * Language understanding model\n * @class LanguageUnderstandingModel\n */\nvar LanguageUnderstandingModel = /** @class */ (function () {\n /**\n * Creates and initializes a new instance\n * @constructor\n */\n function LanguageUnderstandingModel() {\n }\n /**\n * Creates an language understanding model using the specified endpoint.\n * @member LanguageUnderstandingModel.fromEndpoint\n * @function\n * @public\n * @param {URL} uri - A String that represents the endpoint of the language understanding model.\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\n */\n LanguageUnderstandingModel.fromEndpoint = function (uri) {\n Contracts_1.Contracts.throwIfNull(uri, \"uri\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(uri.hostname, \"uri\");\n var langModelImp = new LanguageUnderstandingModelImpl();\n // Need to extract the app ID from the URL.\n // URL is in the format: https://.api.cognitive.microsoft.com/luis/v2.0/apps/?subscription-key=&timezoneOffset=-360\n // Start tearing the string apart.\n // region can be extracted from the host name.\n var firstDot = uri.host.indexOf(\".\");\n if (-1 === firstDot) {\n throw new Error(\"Could not determine region from endpoint\");\n }\n langModelImp.region = uri.host.substr(0, firstDot);\n // Now the app ID.\n var lastSegment = uri.pathname.lastIndexOf(\"/\") + 1;\n if (-1 === lastSegment) {\n throw new Error(\"Could not determine appId from endpoint\");\n }\n langModelImp.appId = uri.pathname.substr(lastSegment);\n // And finally the key.\n langModelImp.subscriptionKey = uri.searchParams.get(\"subscription-key\");\n if (undefined === langModelImp.subscriptionKey) {\n throw new Error(\"Could not determine subscription key from endpoint\");\n }\n return langModelImp;\n };\n /**\n * Creates an language understanding model using the application id of Language Understanding service.\n * @member LanguageUnderstandingModel.fromAppId\n * @function\n * @public\n * @param {string} appId - A String that represents the application id of Language Understanding service.\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\n */\n LanguageUnderstandingModel.fromAppId = function (appId) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(appId, \"appId\");\n var langModelImp = new LanguageUnderstandingModelImpl();\n langModelImp.appId = appId;\n return langModelImp;\n };\n /**\n * Creates a language understanding model using hostname, subscription key and application\n * id of Language Understanding service.\n * @member LanguageUnderstandingModel.fromSubscription\n * @function\n * @public\n * @param {string} subscriptionKey - A String that represents the subscription key of\n * Language Understanding service.\n * @param {string} appId - A String that represents the application id of Language\n * Understanding service.\n * @param {LanguageUnderstandingModel} region - A String that represents the region\n * of the Language Understanding service (see the region page).\n * @returns {LanguageUnderstandingModel} The language understanding model being created.\n */\n LanguageUnderstandingModel.fromSubscription = function (subscriptionKey, appId, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(appId, \"appId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var langModelImp = new LanguageUnderstandingModelImpl();\n langModelImp.appId = appId;\n langModelImp.region = region;\n langModelImp.subscriptionKey = subscriptionKey;\n return langModelImp;\n };\n return LanguageUnderstandingModel;\n}());\nexports.LanguageUnderstandingModel = LanguageUnderstandingModel;\n/**\n * @private\n * @class LanguageUnderstandingModelImpl\n */\n// tslint:disable-next-line:max-classes-per-file\nvar LanguageUnderstandingModelImpl = /** @class */ (function (_super) {\n __extends(LanguageUnderstandingModelImpl, _super);\n function LanguageUnderstandingModelImpl() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return LanguageUnderstandingModelImpl;\n}(LanguageUnderstandingModel));\nexports.LanguageUnderstandingModelImpl = LanguageUnderstandingModelImpl;\n\n//# sourceMappingURL=LanguageUnderstandingModel.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoMatchDetails = void 0;\nvar Exports_1 = require(\"../../src/common.speech/Exports\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Contains detailed information for NoMatch recognition results.\n * @class NoMatchDetails\n */\nvar NoMatchDetails = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {NoMatchReason} reason - The no-match reason.\n */\n function NoMatchDetails(reason) {\n this.privReason = reason;\n }\n /**\n * Creates an instance of NoMatchDetails object for the NoMatch SpeechRecognitionResults.\n * @member NoMatchDetails.fromResult\n * @function\n * @public\n * @param {SpeechRecognitionResult | IntentRecognitionResult | TranslationRecognitionResult}\n * result - The recognition result that was not recognized.\n * @returns {NoMatchDetails} The no match details object being created.\n */\n NoMatchDetails.fromResult = function (result) {\n var simpleSpeech = Exports_1.SimpleSpeechPhrase.fromJSON(result.json);\n var reason = Exports_2.NoMatchReason.NotRecognized;\n switch (simpleSpeech.RecognitionStatus) {\n case Exports_1.RecognitionStatus.BabbleTimeout:\n reason = Exports_2.NoMatchReason.InitialBabbleTimeout;\n break;\n case Exports_1.RecognitionStatus.InitialSilenceTimeout:\n reason = Exports_2.NoMatchReason.InitialSilenceTimeout;\n break;\n default:\n reason = Exports_2.NoMatchReason.NotRecognized;\n break;\n }\n return new NoMatchDetails(reason);\n };\n Object.defineProperty(NoMatchDetails.prototype, \"reason\", {\n /**\n * The reason the recognition was canceled.\n * @member NoMatchDetails.prototype.reason\n * @function\n * @public\n * @returns {NoMatchReason} Specifies the reason canceled.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n return NoMatchDetails;\n}());\nexports.NoMatchDetails = NoMatchDetails;\n\n//# sourceMappingURL=NoMatchDetails.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.NoMatchReason = void 0;\n/**\n * Defines the possible reasons a recognition result might not be recognized.\n * @class NoMatchReason\n */\nvar NoMatchReason;\n(function (NoMatchReason) {\n /**\n * Indicates that speech was detected, but not recognized.\n * @member NoMatchReason.NotRecognized\n */\n NoMatchReason[NoMatchReason[\"NotRecognized\"] = 0] = \"NotRecognized\";\n /**\n * Indicates that the start of the audio stream contained only silence,\n * and the service timed out waiting for speech.\n * @member NoMatchReason.InitialSilenceTimeout\n */\n NoMatchReason[NoMatchReason[\"InitialSilenceTimeout\"] = 1] = \"InitialSilenceTimeout\";\n /**\n * Indicates that the start of the audio stream contained only noise,\n * and the service timed out waiting for speech.\n * @member NoMatchReason.InitialBabbleTimeout\n */\n NoMatchReason[NoMatchReason[\"InitialBabbleTimeout\"] = 2] = \"InitialBabbleTimeout\";\n})(NoMatchReason = exports.NoMatchReason || (exports.NoMatchReason = {}));\n\n//# sourceMappingURL=NoMatchReason.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OutputFormat = void 0;\n/**\n * Define Speech Recognizer output formats.\n * @class OutputFormat\n */\nvar OutputFormat;\n(function (OutputFormat) {\n /**\n * @member OutputFormat.Simple\n */\n OutputFormat[OutputFormat[\"Simple\"] = 0] = \"Simple\";\n /**\n * @member OutputFormat.Detailed\n */\n OutputFormat[OutputFormat[\"Detailed\"] = 1] = \"Detailed\";\n})(OutputFormat = exports.OutputFormat || (exports.OutputFormat = {}));\n\n//# sourceMappingURL=OutputFormat.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PhraseListGrammar = void 0;\n/**\n * Allows additions of new phrases to improve speech recognition.\n *\n * Phrases added to the recognizer are effective at the start of the next recognition, or the next time the SpeechSDK must reconnect\n * to the speech service.\n */\nvar PhraseListGrammar = /** @class */ (function () {\n function PhraseListGrammar(recogBase) {\n this.privGrammerBuilder = recogBase.dynamicGrammar;\n }\n /**\n * Creates a PhraseListGrammar from a given speech recognizer. Will accept any recognizer that derives from @class Recognizer.\n * @param recognizer The recognizer to add phrase lists to.\n */\n PhraseListGrammar.fromRecognizer = function (recognizer) {\n var recoBase = recognizer.internalData;\n return new PhraseListGrammar(recoBase);\n };\n /**\n * Adds a single phrase to the current recognizer.\n * @param phrase Phrase to add.\n */\n PhraseListGrammar.prototype.addPhrase = function (phrase) {\n this.privGrammerBuilder.addPhrase(phrase);\n };\n /**\n * Adds multiple phrases to the current recognizer.\n * @param phrases Array of phrases to add.\n */\n PhraseListGrammar.prototype.addPhrases = function (phrases) {\n this.privGrammerBuilder.addPhrase(phrases);\n };\n /**\n * Clears all phrases added to the current recognizer.\n */\n PhraseListGrammar.prototype.clear = function () {\n this.privGrammerBuilder.clearPhrases();\n };\n return PhraseListGrammar;\n}());\nexports.PhraseListGrammar = PhraseListGrammar;\n\n//# sourceMappingURL=PhraseListGrammar.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProfanityOption = void 0;\n/**\n * Profanity option.\n * Added in version 1.7.0.\n */\nvar ProfanityOption;\n(function (ProfanityOption) {\n ProfanityOption[ProfanityOption[\"Masked\"] = 0] = \"Masked\";\n ProfanityOption[ProfanityOption[\"Removed\"] = 1] = \"Removed\";\n ProfanityOption[ProfanityOption[\"Raw\"] = 2] = \"Raw\";\n})(ProfanityOption = exports.ProfanityOption || (exports.ProfanityOption = {}));\n\n//# sourceMappingURL=ProfanityOption.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PronunciationAssessmentConfig = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Pronunciation assessment configuration.\n * @class PronunciationAssessmentConfig\n * Added in version 1.15.0.\n */\nvar PronunciationAssessmentConfig = /** @class */ (function () {\n /**\n * PronunciationAssessmentConfig constructor.\n * @constructor\n * @param {string} referenceText\n * @param gradingSystem\n * @param granularity\n * @param enableMiscue\n */\n function PronunciationAssessmentConfig(referenceText, gradingSystem, granularity, enableMiscue) {\n if (gradingSystem === void 0) { gradingSystem = Exports_1.PronunciationAssessmentGradingSystem.FivePoint; }\n if (granularity === void 0) { granularity = Exports_1.PronunciationAssessmentGranularity.Phoneme; }\n if (enableMiscue === void 0) { enableMiscue = false; }\n Contracts_1.Contracts.throwIfNullOrUndefined(referenceText, \"referenceText\");\n this.privProperties = new Exports_1.PropertyCollection();\n this.privProperties.setProperty(Exports_1.PropertyId.PronunciationAssessment_ReferenceText, referenceText);\n this.privProperties.setProperty(Exports_1.PropertyId.PronunciationAssessment_GradingSystem, Exports_1.PronunciationAssessmentGradingSystem[gradingSystem]);\n this.privProperties.setProperty(Exports_1.PropertyId.PronunciationAssessment_Granularity, Exports_1.PronunciationAssessmentGranularity[granularity]);\n this.privProperties.setProperty(Exports_1.PropertyId.PronunciationAssessment_EnableMiscue, String(enableMiscue));\n }\n /**\n * @member PronunciationAssessmentConfig.fromJSON\n * @function\n * @public\n * @param {string} json The json string containing the pronunciation assessment parameters.\n * @return {PronunciationAssessmentConfig} Instance of PronunciationAssessmentConfig\n * @summary Creates an instance of the PronunciationAssessmentConfig from json.\n */\n PronunciationAssessmentConfig.fromJSON = function (json) {\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"json\");\n var config = new PronunciationAssessmentConfig(\"\");\n config.privProperties = new Exports_1.PropertyCollection();\n config.properties.setProperty(Exports_1.PropertyId.PronunciationAssessment_Json, json);\n return config;\n };\n PronunciationAssessmentConfig.prototype.toJSON = function () {\n this.updateJson();\n return this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_Params);\n };\n PronunciationAssessmentConfig.prototype.applyTo = function (recognizer) {\n this.updateJson();\n var recoBase = recognizer.internalData;\n recoBase.speechContext.setPronunciationAssessmentParams(this.properties.getProperty(Exports_1.PropertyId.PronunciationAssessment_Params));\n };\n Object.defineProperty(PronunciationAssessmentConfig.prototype, \"referenceText\", {\n /**\n * Gets the reference text.\n * @member PronunciationAssessmentConfig.prototype.referenceText\n * @function\n * @public\n * @returns {string} Reference text.\n */\n get: function () {\n return this.properties.getProperty(Exports_1.PropertyId.PronunciationAssessment_ReferenceText);\n },\n /**\n * Gets/Sets the reference text.\n * @member PronunciationAssessmentConfig.prototype.referenceText\n * @function\n * @public\n * @param {string} referenceText - Reference text.\n */\n set: function (referenceText) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(referenceText, \"referenceText\");\n this.properties.setProperty(Exports_1.PropertyId.PronunciationAssessment_ReferenceText, referenceText);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PronunciationAssessmentConfig.prototype, \"properties\", {\n /**\n * @member PronunciationAssessmentConfig.prototype.properties\n * @function\n * @public\n * @return {PropertyCollection} Properties of the config.\n * @summary Gets a pronunciation assessment config properties\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n PronunciationAssessmentConfig.prototype.updateJson = function () {\n var jsonString = this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_Json, \"{}\");\n var paramsJson = JSON.parse(jsonString);\n var referenceText = this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_ReferenceText);\n if (referenceText) {\n paramsJson.referenceText = referenceText;\n }\n var gradingSystem = this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_GradingSystem);\n if (gradingSystem) {\n paramsJson.gradingSystem = gradingSystem;\n }\n var granularity = this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_Granularity);\n if (granularity) {\n paramsJson.granularity = granularity;\n }\n // always set dimension to Comprehensive\n paramsJson.dimension = \"Comprehensive\";\n var enableMiscueString = this.privProperties.getProperty(Exports_1.PropertyId.PronunciationAssessment_EnableMiscue);\n if (enableMiscueString === \"true\") {\n paramsJson.enableMiscue = true;\n }\n else if (enableMiscueString === \"false\") {\n paramsJson.enableMiscue = false;\n }\n this.privProperties.setProperty(Exports_1.PropertyId.PronunciationAssessment_Params, JSON.stringify(paramsJson));\n };\n return PronunciationAssessmentConfig;\n}());\nexports.PronunciationAssessmentConfig = PronunciationAssessmentConfig;\n\n//# sourceMappingURL=PronunciationAssessmentConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PronunciationAssessmentGradingSystem = void 0;\n/**\n * Defines the point system for pronunciation score calibration; default value is FivePoint.\n * Added in version 1.15.0\n * @class PronunciationAssessmentGradingSystem\n */\nvar PronunciationAssessmentGradingSystem;\n(function (PronunciationAssessmentGradingSystem) {\n /**\n * Five point calibration\n * @member PronunciationAssessmentGradingSystem.FivePoint\n */\n PronunciationAssessmentGradingSystem[PronunciationAssessmentGradingSystem[\"FivePoint\"] = 1] = \"FivePoint\";\n /**\n * Hundred mark\n * @member PronunciationAssessmentGradingSystem.HundredMark\n */\n PronunciationAssessmentGradingSystem[PronunciationAssessmentGradingSystem[\"HundredMark\"] = 2] = \"HundredMark\";\n})(PronunciationAssessmentGradingSystem = exports.PronunciationAssessmentGradingSystem || (exports.PronunciationAssessmentGradingSystem = {}));\n\n//# sourceMappingURL=PronunciationAssessmentGradingSystem.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PronunciationAssessmentGranularity = void 0;\n/**\n * Defines the pronunciation evaluation granularity; default value is Phoneme.\n * Added in version 1.15.0\n * @class PronunciationAssessmentGranularity\n */\nvar PronunciationAssessmentGranularity;\n(function (PronunciationAssessmentGranularity) {\n /**\n * Shows the score on the full text, word and phoneme level\n * @member PronunciationAssessmentGranularity.Phoneme\n */\n PronunciationAssessmentGranularity[PronunciationAssessmentGranularity[\"Phoneme\"] = 1] = \"Phoneme\";\n /**\n * Shows the score on the full text and word level\n * @member PronunciationAssessmentGranularity.Word\n */\n PronunciationAssessmentGranularity[PronunciationAssessmentGranularity[\"Word\"] = 2] = \"Word\";\n /**\n * Shows the score on the full text level only\n * @member PronunciationAssessmentGranularity.FullText\n */\n PronunciationAssessmentGranularity[PronunciationAssessmentGranularity[\"FullText\"] = 3] = \"FullText\";\n})(PronunciationAssessmentGranularity = exports.PronunciationAssessmentGranularity || (exports.PronunciationAssessmentGranularity = {}));\n\n//# sourceMappingURL=PronunciationAssessmentGranularity.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PronunciationAssessmentResult = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Pronunciation assessment results.\n * @class PronunciationAssessmentResult\n * Added in version 1.15.0.\n */\nvar PronunciationAssessmentResult = /** @class */ (function () {\n function PronunciationAssessmentResult(jsonString) {\n var j = JSON.parse(jsonString);\n Contracts_1.Contracts.throwIfNullOrUndefined(j.NBest[0], \"NBest\");\n this.privPronJson = j.NBest[0];\n }\n /**\n * @member PronunciationAssessmentResult.fromResult\n * @function\n * @public\n * @param {RecognitionResult} result The recognition result.\n * @return {PronunciationAssessmentConfig} Instance of PronunciationAssessmentConfig\n * @summary Creates an instance of the PronunciationAssessmentResult from recognition result.\n */\n PronunciationAssessmentResult.fromResult = function (result) {\n Contracts_1.Contracts.throwIfNullOrUndefined(result, \"result\");\n var json = result.properties.getProperty(Exports_1.PropertyId.SpeechServiceResponse_JsonResult);\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"json\");\n return new PronunciationAssessmentResult(json);\n };\n Object.defineProperty(PronunciationAssessmentResult.prototype, \"detailResult\", {\n /**\n * Gets the detail result of pronunciation assessment.\n * @member PronunciationAssessmentConfig.prototype.detailResult\n * @function\n * @public\n * @returns {any} detail result.\n */\n get: function () {\n return this.privPronJson;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PronunciationAssessmentResult.prototype, \"accuracyScore\", {\n /**\n * The score indicating the pronunciation accuracy of the given speech, which indicates\n * how closely the phonemes match a native speaker's pronunciation.\n * @member PronunciationAssessmentResult.prototype.accuracyScore\n * @function\n * @public\n * @returns {number} Accuracy score.\n */\n get: function () {\n return this.detailResult.PronunciationAssessment.AccuracyScore;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PronunciationAssessmentResult.prototype, \"pronunciationScore\", {\n /**\n * The overall score indicating the pronunciation quality of the given speech.\n * This is calculated from AccuracyScore, FluencyScore and CompletenessScore with weight.\n * @member PronunciationAssessmentResult.prototype.pronunciationScore\n * @function\n * @public\n * @returns {number} Pronunciation score.\n */\n get: function () {\n return this.detailResult.PronunciationAssessment.PronScore;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PronunciationAssessmentResult.prototype, \"completenessScore\", {\n /**\n * The score indicating the completeness of the given speech by calculating the ratio of pronounced words towards entire input.\n * @member PronunciationAssessmentResult.prototype.completenessScore\n * @function\n * @public\n * @returns {number} Completeness score.\n */\n get: function () {\n return this.detailResult.PronunciationAssessment.CompletenessScore;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PronunciationAssessmentResult.prototype, \"fluencyScore\", {\n /**\n * The score indicating the fluency of the given speech.\n * @member PronunciationAssessmentResult.prototype.fluencyScore\n * @function\n * @public\n * @returns {number} Fluency score.\n */\n get: function () {\n return this.detailResult.PronunciationAssessment.FluencyScore;\n },\n enumerable: false,\n configurable: true\n });\n return PronunciationAssessmentResult;\n}());\nexports.PronunciationAssessmentResult = PronunciationAssessmentResult;\n\n//# sourceMappingURL=PronunciationAssessmentResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PropertyCollection = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Represents collection of properties and their values.\n * @class PropertyCollection\n */\nvar PropertyCollection = /** @class */ (function () {\n function PropertyCollection() {\n this.privKeys = [];\n this.privValues = [];\n }\n /**\n * Returns the property value in type String. The parameter must have the same type as String.\n * Currently only String, int and bool are allowed.\n * If the name is not available, the specified defaultValue is returned.\n * @member PropertyCollection.prototype.getProperty\n * @function\n * @public\n * @param {string} key - The parameter name.\n * @param {string} def - The default value which is returned if the parameter\n * is not available in the collection.\n * @returns {string} value of the parameter.\n */\n PropertyCollection.prototype.getProperty = function (key, def) {\n var keyToUse;\n if (typeof key === \"string\") {\n keyToUse = key;\n }\n else {\n keyToUse = Exports_1.PropertyId[key];\n }\n for (var n = 0; n < this.privKeys.length; n++) {\n if (this.privKeys[n] === keyToUse) {\n return this.privValues[n];\n }\n }\n return def;\n };\n /**\n * Sets the String value of the parameter specified by name.\n * @member PropertyCollection.prototype.setProperty\n * @function\n * @public\n * @param {string} key - The parameter name.\n * @param {string} value - The value of the parameter.\n */\n PropertyCollection.prototype.setProperty = function (key, value) {\n var keyToUse;\n if (typeof key === \"string\") {\n keyToUse = key;\n }\n else {\n keyToUse = Exports_1.PropertyId[key];\n }\n for (var n = 0; n < this.privKeys.length; n++) {\n if (this.privKeys[n] === keyToUse) {\n this.privValues[n] = value;\n return;\n }\n }\n this.privKeys.push(keyToUse);\n this.privValues.push(value);\n };\n /**\n * Clones the collection.\n * @member PropertyCollection.prototype.clone\n * @function\n * @public\n * @returns {PropertyCollection} A copy of the collection.\n */\n PropertyCollection.prototype.clone = function () {\n var clonedMap = new PropertyCollection();\n for (var n = 0; n < this.privKeys.length; n++) {\n clonedMap.privKeys.push(this.privKeys[n]);\n clonedMap.privValues.push(this.privValues[n]);\n }\n return clonedMap;\n };\n /**\n * Merges this set of properties into another, no overwrites.\n * @member PropertyCollection.prototype.mergeTo\n * @function\n * @public\n * @param {PropertyCollection} The collection to merge into.\n */\n PropertyCollection.prototype.mergeTo = function (destinationCollection) {\n var _this = this;\n this.privKeys.forEach(function (key) {\n if (destinationCollection.getProperty(key, undefined) === undefined) {\n var value = _this.getProperty(key);\n destinationCollection.setProperty(key, value);\n }\n });\n };\n return PropertyCollection;\n}());\nexports.PropertyCollection = PropertyCollection;\n\n//# sourceMappingURL=PropertyCollection.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PropertyId = void 0;\n/**\n * Defines speech property ids.\n * @class PropertyId\n */\nvar PropertyId;\n(function (PropertyId) {\n /**\n * The Cognitive Services Speech Service subscription Key. If you are using an intent recognizer, you need to specify\n * to specify the LUIS endpoint key for your particular LUIS app. Under normal circumstances, you shouldn't\n * have to use this property directly.\n * Instead, use [[SpeechConfig.fromSubscription]].\n * @member PropertyId.SpeechServiceConnection_Key\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_Key\"] = 0] = \"SpeechServiceConnection_Key\";\n /**\n * The Cognitive Services Speech Service endpoint (url). Under normal circumstances, you shouldn't\n * have to use this property directly.\n * Instead, use [[SpeechConfig.fromEndpoint]].\n * NOTE: This endpoint is not the same as the endpoint used to obtain an access token.\n * @member PropertyId.SpeechServiceConnection_Endpoint\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_Endpoint\"] = 1] = \"SpeechServiceConnection_Endpoint\";\n /**\n * The Cognitive Services Speech Service region. Under normal circumstances, you shouldn't have to\n * use this property directly.\n * Instead, use [[SpeechConfig.fromSubscription]], [[SpeechConfig.fromEndpoint]], [[SpeechConfig.fromAuthorizationToken]].\n * @member PropertyId.SpeechServiceConnection_Region\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_Region\"] = 2] = \"SpeechServiceConnection_Region\";\n /**\n * The Cognitive Services Speech Service authorization token (aka access token). Under normal circumstances,\n * you shouldn't have to use this property directly.\n * Instead, use [[SpeechConfig.fromAuthorizationToken]], [[SpeechRecognizer.authorizationToken]],\n * [[IntentRecognizer.authorizationToken]], [[TranslationRecognizer.authorizationToken]], [[SpeakerRecognizer.authorizationToken]].\n * @member PropertyId.SpeechServiceAuthorization_Token\n */\n PropertyId[PropertyId[\"SpeechServiceAuthorization_Token\"] = 3] = \"SpeechServiceAuthorization_Token\";\n /**\n * The Cognitive Services Speech Service authorization type. Currently unused.\n * @member PropertyId.SpeechServiceAuthorization_Type\n */\n PropertyId[PropertyId[\"SpeechServiceAuthorization_Type\"] = 4] = \"SpeechServiceAuthorization_Type\";\n /**\n * The Cognitive Services Speech Service endpoint id. Under normal circumstances, you shouldn't\n * have to use this property directly.\n * Instead, use [[SpeechConfig.endpointId]].\n * NOTE: The endpoint id is available in the Speech Portal, listed under Endpoint Details.\n * @member PropertyId.SpeechServiceConnection_EndpointId\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_EndpointId\"] = 5] = \"SpeechServiceConnection_EndpointId\";\n /**\n * The list of comma separated languages (BCP-47 format) used as target translation languages. Under normal circumstances,\n * you shouldn't have to use this property directly.\n * Instead use [[SpeechTranslationConfig.addTargetLanguage]],\n * [[SpeechTranslationConfig.targetLanguages]], [[TranslationRecognizer.targetLanguages]].\n * @member PropertyId.SpeechServiceConnection_TranslationToLanguages\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_TranslationToLanguages\"] = 6] = \"SpeechServiceConnection_TranslationToLanguages\";\n /**\n * The name of the Cognitive Service Text to Speech Service Voice. Under normal circumstances, you shouldn't have to use this\n * property directly.\n * Instead, use [[SpeechTranslationConfig.voiceName]].\n * NOTE: Valid voice names can be found here.\n * @member PropertyId.SpeechServiceConnection_TranslationVoice\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_TranslationVoice\"] = 7] = \"SpeechServiceConnection_TranslationVoice\";\n /**\n * Translation features.\n * @member PropertyId.SpeechServiceConnection_TranslationFeatures\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_TranslationFeatures\"] = 8] = \"SpeechServiceConnection_TranslationFeatures\";\n /**\n * The Language Understanding Service Region. Under normal circumstances, you shouldn't have to use this property directly.\n * Instead, use [[LanguageUnderstandingModel]].\n * @member PropertyId.SpeechServiceConnection_IntentRegion\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_IntentRegion\"] = 9] = \"SpeechServiceConnection_IntentRegion\";\n /**\n * The host name of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\n * You shouldn't have to use this property directly.\n * Instead use .\n * Added in version 1.4.0.\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_ProxyHostName\"] = 10] = \"SpeechServiceConnection_ProxyHostName\";\n /**\n * The port of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\n * You shouldn't have to use this property directly.\n * Instead use .\n * Added in version 1.4.0.\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_ProxyPort\"] = 11] = \"SpeechServiceConnection_ProxyPort\";\n /**\n * The user name of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\n * You shouldn't have to use this property directly.\n * Instead use .\n * Added in version 1.4.0.\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_ProxyUserName\"] = 12] = \"SpeechServiceConnection_ProxyUserName\";\n /**\n * The password of the proxy server used to connect to the Cognitive Services Speech Service. Only relevant in Node.js environments.\n * You shouldn't have to use this property directly.\n * Instead use .\n * Added in version 1.4.0.\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_ProxyPassword\"] = 13] = \"SpeechServiceConnection_ProxyPassword\";\n /**\n * The Cognitive Services Speech Service recognition Mode. Can be \"INTERACTIVE\", \"CONVERSATION\", \"DICTATION\".\n * This property is intended to be read-only. The SDK is using it internally.\n * @member PropertyId.SpeechServiceConnection_RecoMode\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_RecoMode\"] = 14] = \"SpeechServiceConnection_RecoMode\";\n /**\n * The spoken language to be recognized (in BCP-47 format). Under normal circumstances, you shouldn't have to use this property\n * directly.\n * Instead, use [[SpeechConfig.speechRecognitionLanguage]].\n * @member PropertyId.SpeechServiceConnection_RecoLanguage\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_RecoLanguage\"] = 15] = \"SpeechServiceConnection_RecoLanguage\";\n /**\n * The session id. This id is a universally unique identifier (aka UUID) representing a specific binding of an audio input stream\n * and the underlying speech recognition instance to which it is bound. Under normal circumstances, you shouldn't have to use this\n * property directly.\n * Instead use [[SessionEventArgs.sessionId]].\n * @member PropertyId.Speech_SessionId\n */\n PropertyId[PropertyId[\"Speech_SessionId\"] = 16] = \"Speech_SessionId\";\n /**\n * The spoken language to be synthesized (e.g. en-US)\n * @member PropertyId.SpeechServiceConnection_SynthLanguage\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_SynthLanguage\"] = 17] = \"SpeechServiceConnection_SynthLanguage\";\n /**\n * The name of the TTS voice to be used for speech synthesis\n * @member PropertyId.SpeechServiceConnection_SynthVoice\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_SynthVoice\"] = 18] = \"SpeechServiceConnection_SynthVoice\";\n /**\n * The string to specify TTS output audio format\n * @member PropertyId.SpeechServiceConnection_SynthOutputFormat\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_SynthOutputFormat\"] = 19] = \"SpeechServiceConnection_SynthOutputFormat\";\n /**\n * The list of comma separated languages used as possible source languages\n * Added in version 1.13.0\n * @member PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_AutoDetectSourceLanguages\"] = 20] = \"SpeechServiceConnection_AutoDetectSourceLanguages\";\n /**\n * The requested Cognitive Services Speech Service response output format (simple or detailed). Under normal circumstances, you shouldn't have\n * to use this property directly.\n * Instead use [[SpeechConfig.outputFormat]].\n * @member PropertyId.SpeechServiceResponse_RequestDetailedResultTrueFalse\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_RequestDetailedResultTrueFalse\"] = 21] = \"SpeechServiceResponse_RequestDetailedResultTrueFalse\";\n /**\n * The requested Cognitive Services Speech Service response output profanity level. Currently unused.\n * @member PropertyId.SpeechServiceResponse_RequestProfanityFilterTrueFalse\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_RequestProfanityFilterTrueFalse\"] = 22] = \"SpeechServiceResponse_RequestProfanityFilterTrueFalse\";\n /**\n * The Cognitive Services Speech Service response output (in JSON format). This property is available on recognition result objects only.\n * @member PropertyId.SpeechServiceResponse_JsonResult\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_JsonResult\"] = 23] = \"SpeechServiceResponse_JsonResult\";\n /**\n * The Cognitive Services Speech Service error details (in JSON format). Under normal circumstances, you shouldn't have to\n * use this property directly. Instead use [[CancellationDetails.errorDetails]].\n * @member PropertyId.SpeechServiceResponse_JsonErrorDetails\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_JsonErrorDetails\"] = 24] = \"SpeechServiceResponse_JsonErrorDetails\";\n /**\n * The cancellation reason. Currently unused.\n * @member PropertyId.CancellationDetails_Reason\n */\n PropertyId[PropertyId[\"CancellationDetails_Reason\"] = 25] = \"CancellationDetails_Reason\";\n /**\n * The cancellation text. Currently unused.\n * @member PropertyId.CancellationDetails_ReasonText\n */\n PropertyId[PropertyId[\"CancellationDetails_ReasonText\"] = 26] = \"CancellationDetails_ReasonText\";\n /**\n * The Cancellation detailed text. Currently unused.\n * @member PropertyId.CancellationDetails_ReasonDetailedText\n */\n PropertyId[PropertyId[\"CancellationDetails_ReasonDetailedText\"] = 27] = \"CancellationDetails_ReasonDetailedText\";\n /**\n * The Language Understanding Service response output (in JSON format). Available via [[IntentRecognitionResult]]\n * @member PropertyId.LanguageUnderstandingServiceResponse_JsonResult\n */\n PropertyId[PropertyId[\"LanguageUnderstandingServiceResponse_JsonResult\"] = 28] = \"LanguageUnderstandingServiceResponse_JsonResult\";\n /**\n * The URL string built from speech configuration.\n * This property is intended to be read-only. The SDK is using it internally.\n * NOTE: Added in version 1.7.0.\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_Url\"] = 29] = \"SpeechServiceConnection_Url\";\n /**\n * The initial silence timeout value (in milliseconds) used by the service.\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_InitialSilenceTimeoutMs\"] = 30] = \"SpeechServiceConnection_InitialSilenceTimeoutMs\";\n /**\n * The end silence timeout value (in milliseconds) used by the service.\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_EndSilenceTimeoutMs\"] = 31] = \"SpeechServiceConnection_EndSilenceTimeoutMs\";\n /**\n * A boolean value specifying whether audio logging is enabled in the service or not.\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_EnableAudioLogging\"] = 32] = \"SpeechServiceConnection_EnableAudioLogging\";\n /**\n * The requested Cognitive Services Speech Service response output profanity setting.\n * Allowed values are \"masked\", \"removed\", and \"raw\".\n * Added in version 1.7.0.\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_ProfanityOption\"] = 33] = \"SpeechServiceResponse_ProfanityOption\";\n /**\n * A string value specifying which post processing option should be used by service.\n * Allowed values are \"TrueText\".\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_PostProcessingOption\"] = 34] = \"SpeechServiceResponse_PostProcessingOption\";\n /**\n * A boolean value specifying whether to include word-level timestamps in the response result.\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_RequestWordLevelTimestamps\"] = 35] = \"SpeechServiceResponse_RequestWordLevelTimestamps\";\n /**\n * The number of times a word has to be in partial results to be returned.\n * Added in version 1.7.0\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_StablePartialResultThreshold\"] = 36] = \"SpeechServiceResponse_StablePartialResultThreshold\";\n /**\n * A string value specifying the output format option in the response result. Internal use only.\n * Added in version 1.7.0.\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_OutputFormatOption\"] = 37] = \"SpeechServiceResponse_OutputFormatOption\";\n /**\n * A boolean value to request for stabilizing translation partial results by omitting words in the end.\n * Added in version 1.7.0.\n */\n PropertyId[PropertyId[\"SpeechServiceResponse_TranslationRequestStablePartialResult\"] = 38] = \"SpeechServiceResponse_TranslationRequestStablePartialResult\";\n /**\n * Identifier used to connect to the backend service.\n * @member PropertyId.Conversation_ApplicationId\n */\n PropertyId[PropertyId[\"Conversation_ApplicationId\"] = 39] = \"Conversation_ApplicationId\";\n /**\n * Type of dialog backend to connect to.\n * @member PropertyId.Conversation_DialogType\n */\n PropertyId[PropertyId[\"Conversation_DialogType\"] = 40] = \"Conversation_DialogType\";\n /**\n * Silence timeout for listening\n * @member PropertyId.Conversation_Initial_Silence_Timeout\n */\n PropertyId[PropertyId[\"Conversation_Initial_Silence_Timeout\"] = 41] = \"Conversation_Initial_Silence_Timeout\";\n /**\n * From Id to add to speech recognition activities.\n * @member PropertyId.Conversation_From_Id\n */\n PropertyId[PropertyId[\"Conversation_From_Id\"] = 42] = \"Conversation_From_Id\";\n /**\n * ConversationId for the session.\n * @member PropertyId.Conversation_Conversation_Id\n */\n PropertyId[PropertyId[\"Conversation_Conversation_Id\"] = 43] = \"Conversation_Conversation_Id\";\n /**\n * Comma separated list of custom voice deployment ids.\n * @member PropertyId.Conversation_Custom_Voice_Deployment_Ids\n */\n PropertyId[PropertyId[\"Conversation_Custom_Voice_Deployment_Ids\"] = 44] = \"Conversation_Custom_Voice_Deployment_Ids\";\n /**\n * Speech activity template, stamp properties from the template on the activity generated by the service for speech.\n * @member PropertyId.Conversation_Speech_Activity_Template\n * Added in version 1.10.0.\n */\n PropertyId[PropertyId[\"Conversation_Speech_Activity_Template\"] = 45] = \"Conversation_Speech_Activity_Template\";\n /**\n * Enables or disables the receipt of turn status messages as obtained on the turnStatusReceived event.\n * @member PropertyId.Conversation_Request_Bot_Status_Messages\n * Added in version 1.15.0.\n */\n PropertyId[PropertyId[\"Conversation_Request_Bot_Status_Messages\"] = 46] = \"Conversation_Request_Bot_Status_Messages\";\n /**\n * Specifies the connection ID to be provided in the Agent configuration message, e.g. a Direct Line token for\n * channel authentication.\n * Added in version 1.15.1.\n */\n PropertyId[PropertyId[\"Conversation_Agent_Connection_Id\"] = 47] = \"Conversation_Agent_Connection_Id\";\n /**\n * The Cognitive Services Speech Service host (url). Under normal circumstances, you shouldn't have to use this property directly.\n * Instead, use [[SpeechConfig.fromHost]].\n */\n PropertyId[PropertyId[\"SpeechServiceConnection_Host\"] = 48] = \"SpeechServiceConnection_Host\";\n /**\n * Set the host for service calls to the Conversation Translator REST management and websocket calls.\n */\n PropertyId[PropertyId[\"ConversationTranslator_Host\"] = 49] = \"ConversationTranslator_Host\";\n /**\n * Optionally set the the host's display name.\n * Used when joining a conversation.\n */\n PropertyId[PropertyId[\"ConversationTranslator_Name\"] = 50] = \"ConversationTranslator_Name\";\n /**\n * Optionally set a value for the X-CorrelationId request header.\n * Used for troubleshooting errors in the server logs. It should be a valid guid.\n */\n PropertyId[PropertyId[\"ConversationTranslator_CorrelationId\"] = 51] = \"ConversationTranslator_CorrelationId\";\n /**\n * Set the conversation token to be sent to the speech service. This enables the\n * service to service call from the speech service to the Conversation Translator service for relaying\n * recognitions. For internal use.\n */\n PropertyId[PropertyId[\"ConversationTranslator_Token\"] = 52] = \"ConversationTranslator_Token\";\n /**\n * The reference text of the audio for pronunciation evaluation.\n * For this and the following pronunciation assessment parameters, see\n * https://docs.microsoft.com/azure/cognitive-services/speech-service/rest-speech-to-text#pronunciation-assessment-parameters for details.\n * Under normal circumstances, you shouldn't have to use this property directly.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_ReferenceText\"] = 53] = \"PronunciationAssessment_ReferenceText\";\n /**\n * The point system for pronunciation score calibration (FivePoint or HundredMark).\n * Under normal circumstances, you shouldn't have to use this property directly.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_GradingSystem\"] = 54] = \"PronunciationAssessment_GradingSystem\";\n /**\n * The pronunciation evaluation granularity (Phoneme, Word, or FullText).\n * Under normal circumstances, you shouldn't have to use this property directly.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_Granularity\"] = 55] = \"PronunciationAssessment_Granularity\";\n /**\n * Defines if enable miscue calculation.\n * With this enabled, the pronounced words will be compared to the reference text,\n * and will be marked with omission/insertion based on the comparison. The default setting is False.\n * Under normal circumstances, you shouldn't have to use this property directly.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_EnableMiscue\"] = 56] = \"PronunciationAssessment_EnableMiscue\";\n /**\n * The json string of pronunciation assessment parameters\n * Under normal circumstances, you shouldn't have to use this property directly.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_Json\"] = 57] = \"PronunciationAssessment_Json\";\n /**\n * Pronunciation assessment parameters.\n * This property is intended to be read-only. The SDK is using it internally.\n * Added in version 1.15.0\n */\n PropertyId[PropertyId[\"PronunciationAssessment_Params\"] = 58] = \"PronunciationAssessment_Params\";\n})(PropertyId = exports.PropertyId || (exports.PropertyId = {}));\n\n//# sourceMappingURL=PropertyId.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.RecognitionEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines payload for session events like Speech Start/End Detected\n * @class\n */\nvar RecognitionEventArgs = /** @class */ (function (_super) {\n __extends(RecognitionEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {number} offset - The offset.\n * @param {string} sessionId - The session id.\n */\n function RecognitionEventArgs(offset, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privOffset = offset;\n return _this;\n }\n Object.defineProperty(RecognitionEventArgs.prototype, \"offset\", {\n /**\n * Represents the message offset\n * @member RecognitionEventArgs.prototype.offset\n * @function\n * @public\n */\n get: function () {\n return this.privOffset;\n },\n enumerable: false,\n configurable: true\n });\n return RecognitionEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.RecognitionEventArgs = RecognitionEventArgs;\n\n//# sourceMappingURL=RecognitionEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RecognitionResult = void 0;\n/**\n * Defines result of speech recognition.\n * @class RecognitionResult\n */\nvar RecognitionResult = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} resultId - The result id.\n * @param {ResultReason} reason - The reason.\n * @param {string} text - The recognized text.\n * @param {number} duration - The duration.\n * @param {number} offset - The offset into the stream.\n * @param {string} language - Primary Language detected, if provided.\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\n * @param {string} errorDetails - Error details, if provided.\n * @param {string} json - Additional Json, if provided.\n * @param {PropertyCollection} properties - Additional properties, if provided.\n */\n function RecognitionResult(resultId, reason, text, duration, offset, language, languageDetectionConfidence, errorDetails, json, properties) {\n this.privResultId = resultId;\n this.privReason = reason;\n this.privText = text;\n this.privDuration = duration;\n this.privOffset = offset;\n this.privLanguage = language;\n this.privLanguageDetectionConfidence = languageDetectionConfidence;\n this.privErrorDetails = errorDetails;\n this.privJson = json;\n this.privProperties = properties;\n }\n Object.defineProperty(RecognitionResult.prototype, \"resultId\", {\n /**\n * Specifies the result identifier.\n * @member RecognitionResult.prototype.resultId\n * @function\n * @public\n * @returns {string} Specifies the result identifier.\n */\n get: function () {\n return this.privResultId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"reason\", {\n /**\n * Specifies status of the result.\n * @member RecognitionResult.prototype.reason\n * @function\n * @public\n * @returns {ResultReason} Specifies status of the result.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"text\", {\n /**\n * Presents the recognized text in the result.\n * @member RecognitionResult.prototype.text\n * @function\n * @public\n * @returns {string} Presents the recognized text in the result.\n */\n get: function () {\n return this.privText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"duration\", {\n /**\n * Duration of recognized speech in 100 nano second incements.\n * @member RecognitionResult.prototype.duration\n * @function\n * @public\n * @returns {number} Duration of recognized speech in 100 nano second incements.\n */\n get: function () {\n return this.privDuration;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"offset\", {\n /**\n * Offset of recognized speech in 100 nano second incements.\n * @member RecognitionResult.prototype.offset\n * @function\n * @public\n * @returns {number} Offset of recognized speech in 100 nano second incements.\n */\n get: function () {\n return this.privOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"language\", {\n /**\n * Primary Language detected.\n * @member RecognitionResult.prototype.language\n * @function\n * @public\n * @returns {string} language detected.\n */\n get: function () {\n return this.privLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"languageDetectionConfidence\", {\n /**\n * Primary Language detection confidence (Unknown, Low, Medium, High).\n * @member RecognitionResult.prototype.languageDetectionConfidence\n * @function\n * @public\n * @returns {string} detection confidence strength.\n */\n get: function () {\n return this.privLanguageDetectionConfidence;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful recognition, provides details of the occurred error.\n * @member RecognitionResult.prototype.errorDetails\n * @function\n * @public\n * @returns {string} a brief description of an error.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"json\", {\n /**\n * A string containing Json serialized recognition result as it was received from the service.\n * @member RecognitionResult.prototype.json\n * @function\n * @private\n * @returns {string} Json serialized representation of the result.\n */\n get: function () {\n return this.privJson;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(RecognitionResult.prototype, \"properties\", {\n /**\n * The set of properties exposed in the result.\n * @member RecognitionResult.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The set of properties exposed in the result.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n return RecognitionResult;\n}());\nexports.RecognitionResult = RecognitionResult;\n\n//# sourceMappingURL=RecognitionResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Recognizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Defines the base class Recognizer which mainly contains common event handlers.\n * @class Recognizer\n */\nvar Recognizer = /** @class */ (function () {\n /**\n * Creates and initializes an instance of a Recognizer\n * @constructor\n * @param {AudioConfig} audioInput - An optional audio input stream associated with the recognizer\n */\n function Recognizer(audioConfig, properties, connectionFactory) {\n this.audioConfig = (audioConfig !== undefined) ? audioConfig : Exports_3.AudioConfig.fromDefaultMicrophoneInput();\n this.privDisposed = false;\n this.privProperties = properties.clone();\n this.privConnectionFactory = connectionFactory;\n this.implCommonRecognizerSetup();\n }\n /**\n * Dispose of associated resources.\n * @member Recognizer.prototype.close\n * @function\n * @public\n */\n Recognizer.prototype.close = function (cb, errorCb) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\n };\n Object.defineProperty(Recognizer.prototype, \"internalData\", {\n /**\n * @Internal\n * Internal data member to support fromRecognizer* pattern methods on other classes.\n * Do not use externally, object returned will change without warning or notice.\n */\n get: function () {\n return this.privReco;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * This method performs cleanup of resources.\n * The Boolean parameter disposing indicates whether the method is called\n * from Dispose (if disposing is true) or from the finalizer (if disposing is false).\n * Derived classes should override this method to dispose resource if needed.\n * @member Recognizer.prototype.dispose\n * @function\n * @public\n * @param {boolean} disposing - Flag to request disposal.\n */\n Recognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposed) {\n return [2 /*return*/];\n }\n this.privDisposed = true;\n if (!disposing) return [3 /*break*/, 3];\n if (!this.privReco) return [3 /*break*/, 3];\n return [4 /*yield*/, this.privReco.audioSource.turnOff()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.privReco.dispose()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(Recognizer, \"telemetryEnabled\", {\n /**\n * This method returns the current state of the telemetry setting.\n * @member Recognizer.prototype.telemetryEnabled\n * @function\n * @public\n * @returns true if the telemetry is enabled, false otherwise.\n */\n get: function () {\n return Exports_1.ServiceRecognizerBase.telemetryDataEnabled;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * This method globally enables or disables telemetry.\n * @member Recognizer.prototype.enableTelemetry\n * @function\n * @public\n * @param enabled - Global setting for telemetry collection.\n * If set to true, telemetry information like microphone errors,\n * recognition errors are collected and sent to Microsoft.\n * If set to false, no telemetry is sent to Microsoft.\n */\n /* tslint:disable:member-ordering */\n Recognizer.enableTelemetry = function (enabled) {\n Exports_1.ServiceRecognizerBase.telemetryDataEnabled = enabled;\n };\n // Does the generic recognizer setup that is common across all recognizer types.\n Recognizer.prototype.implCommonRecognizerSetup = function () {\n var osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\n var osName = \"unknown\";\n var osVersion = \"unknown\";\n if (typeof navigator !== \"undefined\") {\n osPlatform = osPlatform + \"/\" + navigator.platform;\n osName = navigator.userAgent;\n osVersion = navigator.appVersion;\n }\n var recognizerConfig = this.createRecognizerConfig(new Exports_1.SpeechServiceConfig(new Exports_1.Context(new Exports_1.OS(osPlatform, osName, osVersion))));\n this.privReco = this.createServiceRecognizer(Recognizer.getAuthFromProperties(this.privProperties), this.privConnectionFactory, this.audioConfig, recognizerConfig);\n };\n Recognizer.prototype.recognizeOnceAsyncImpl = function (recognitionMode) {\n return __awaiter(this, void 0, void 0, function () {\n var ret, result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n ret = new Exports_2.Deferred();\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.privReco.recognize(recognitionMode, ret.resolve, ret.reject)];\n case 2:\n _a.sent();\n return [4 /*yield*/, ret.promise];\n case 3:\n result = _a.sent();\n return [4 /*yield*/, this.implRecognizerStop()];\n case 4:\n _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n Recognizer.prototype.startContinuousRecognitionAsyncImpl = function (recognitionMode) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.privReco.recognize(recognitionMode, undefined, undefined)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Recognizer.prototype.stopContinuousRecognitionAsyncImpl = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n Recognizer.prototype.implRecognizerStop = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.privReco) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privReco.stopRecognizing()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n Recognizer.getAuthFromProperties = function (properties) {\n var subscriptionKey = properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Key, undefined);\n var authentication = (subscriptionKey && subscriptionKey !== \"\") ?\n new Exports_1.CognitiveSubscriptionKeyAuthentication(subscriptionKey) :\n new Exports_1.CognitiveTokenAuthentication(function (authFetchEventId) {\n var authorizationToken = properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, undefined);\n return Promise.resolve(authorizationToken);\n }, function (authFetchEventId) {\n var authorizationToken = properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, undefined);\n return Promise.resolve(authorizationToken);\n });\n return authentication;\n };\n return Recognizer;\n}());\nexports.Recognizer = Recognizer;\n\n//# sourceMappingURL=Recognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResultReason = void 0;\n/**\n * Defines the possible reasons a recognition result might be generated.\n * @class ResultReason\n */\nvar ResultReason;\n(function (ResultReason) {\n /**\n * Indicates speech could not be recognized. More details\n * can be found in the NoMatchDetails object.\n * @member ResultReason.NoMatch\n */\n ResultReason[ResultReason[\"NoMatch\"] = 0] = \"NoMatch\";\n /**\n * Indicates that the recognition was canceled. More details\n * can be found using the CancellationDetails object.\n * @member ResultReason.Canceled\n */\n ResultReason[ResultReason[\"Canceled\"] = 1] = \"Canceled\";\n /**\n * Indicates the speech result contains hypothesis text.\n * @member ResultReason.RecognizedSpeech\n */\n ResultReason[ResultReason[\"RecognizingSpeech\"] = 2] = \"RecognizingSpeech\";\n /**\n * Indicates the speech result contains final text that has been recognized.\n * Speech Recognition is now complete for this phrase.\n * @member ResultReason.RecognizedSpeech\n */\n ResultReason[ResultReason[\"RecognizedSpeech\"] = 3] = \"RecognizedSpeech\";\n /**\n * Indicates the speech result contains a finalized acceptance of a provided keyword.\n * Speech recognition will continue unless otherwise configured.\n * @member ResultReason.RecognizedKeyword\n */\n ResultReason[ResultReason[\"RecognizedKeyword\"] = 4] = \"RecognizedKeyword\";\n /**\n * Indicates the intent result contains hypothesis text and intent.\n * @member ResultReason.RecognizingIntent\n */\n ResultReason[ResultReason[\"RecognizingIntent\"] = 5] = \"RecognizingIntent\";\n /**\n * Indicates the intent result contains final text and intent.\n * Speech Recognition and Intent determination are now complete for this phrase.\n * @member ResultReason.RecognizedIntent\n */\n ResultReason[ResultReason[\"RecognizedIntent\"] = 6] = \"RecognizedIntent\";\n /**\n * Indicates the translation result contains hypothesis text and its translation(s).\n * @member ResultReason.TranslatingSpeech\n */\n ResultReason[ResultReason[\"TranslatingSpeech\"] = 7] = \"TranslatingSpeech\";\n /**\n * Indicates the translation result contains final text and corresponding translation(s).\n * Speech Recognition and Translation are now complete for this phrase.\n * @member ResultReason.TranslatedSpeech\n */\n ResultReason[ResultReason[\"TranslatedSpeech\"] = 8] = \"TranslatedSpeech\";\n /**\n * Indicates the synthesized audio result contains a non-zero amount of audio data\n * @member ResultReason.SynthesizingAudio\n */\n ResultReason[ResultReason[\"SynthesizingAudio\"] = 9] = \"SynthesizingAudio\";\n /**\n * Indicates the synthesized audio is now complete for this phrase.\n * @member ResultReason.SynthesizingAudioCompleted\n */\n ResultReason[ResultReason[\"SynthesizingAudioCompleted\"] = 10] = \"SynthesizingAudioCompleted\";\n /**\n * Indicates the speech synthesis is now started\n * @member ResultReason.SynthesizingAudioStarted\n */\n ResultReason[ResultReason[\"SynthesizingAudioStarted\"] = 11] = \"SynthesizingAudioStarted\";\n /**\n * Indicates the voice profile is being enrolled and customers need to send more audio to create a voice profile.\n * @member ResultReason.EnrollingVoiceProfile\n */\n ResultReason[ResultReason[\"EnrollingVoiceProfile\"] = 12] = \"EnrollingVoiceProfile\";\n /**\n * Indicates the voice profile has been enrolled.\n * @member ResultReason.EnrolledVoiceProfile\n */\n ResultReason[ResultReason[\"EnrolledVoiceProfile\"] = 13] = \"EnrolledVoiceProfile\";\n /**\n * Indicates successful identification of some speakers.\n * @member ResultReason.RecognizedSpeakers\n */\n ResultReason[ResultReason[\"RecognizedSpeakers\"] = 14] = \"RecognizedSpeakers\";\n /**\n * Indicates successfully verified one speaker.\n * @member ResultReason.RecognizedSpeaker\n */\n ResultReason[ResultReason[\"RecognizedSpeaker\"] = 15] = \"RecognizedSpeaker\";\n /**\n * Indicates a voice profile has been reset successfully.\n * @member ResultReason.ResetVoiceProfile\n */\n ResultReason[ResultReason[\"ResetVoiceProfile\"] = 16] = \"ResetVoiceProfile\";\n /**\n * Indicates a voice profile has been deleted successfully.\n * @member ResultReason.DeletedVoiceProfile\n */\n ResultReason[ResultReason[\"DeletedVoiceProfile\"] = 17] = \"DeletedVoiceProfile\";\n})(ResultReason = exports.ResultReason || (exports.ResultReason = {}));\n\n//# sourceMappingURL=ResultReason.js.map\n","\"use strict\";\n//\n// Copyright (c) Microsoft. All rights reserved.\n// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.\n//\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 });\nexports.ServiceEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines payload for any Service message event\n * Added in version 1.9.0\n */\nvar ServiceEventArgs = /** @class */ (function (_super) {\n __extends(ServiceEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} json - json payload of the USP message.\n */\n function ServiceEventArgs(json, name, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privJsonResult = json;\n _this.privEventName = name;\n return _this;\n }\n Object.defineProperty(ServiceEventArgs.prototype, \"jsonString\", {\n get: function () {\n return this.privJsonResult;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ServiceEventArgs.prototype, \"eventName\", {\n get: function () {\n return this.privEventName;\n },\n enumerable: false,\n configurable: true\n });\n return ServiceEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ServiceEventArgs = ServiceEventArgs;\n\n//# sourceMappingURL=ServiceEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ServicePropertyChannel = void 0;\n/**\n * Defines channels used to pass property settings to service.\n * Added in version 1.7.0.\n */\nvar ServicePropertyChannel;\n(function (ServicePropertyChannel) {\n /**\n * Uses URI query parameter to pass property settings to service.\n */\n ServicePropertyChannel[ServicePropertyChannel[\"UriQueryParameter\"] = 0] = \"UriQueryParameter\";\n})(ServicePropertyChannel = exports.ServicePropertyChannel || (exports.ServicePropertyChannel = {}));\n\n//# sourceMappingURL=ServicePropertyChannel.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SessionEventArgs = void 0;\n/**\n * Defines content for session events like SessionStarted/Stopped, SoundStarted/Stopped.\n * @class SessionEventArgs\n */\nvar SessionEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} sessionId - The session id.\n */\n function SessionEventArgs(sessionId) {\n this.privSessionId = sessionId;\n }\n Object.defineProperty(SessionEventArgs.prototype, \"sessionId\", {\n /**\n * Represents the session identifier.\n * @member SessionEventArgs.prototype.sessionId\n * @function\n * @public\n * @returns {string} Represents the session identifier.\n */\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n return SessionEventArgs;\n}());\nexports.SessionEventArgs = SessionEventArgs;\n\n//# sourceMappingURL=SessionEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SourceLanguageConfig = void 0;\nvar Contracts_1 = require(\"./Contracts\");\n/**\n * Source Language configuration.\n * @class SourceLanguageConfig\n */\nvar SourceLanguageConfig = /** @class */ (function () {\n function SourceLanguageConfig(language, endpointId) {\n Contracts_1.Contracts.throwIfNullOrUndefined(language, \"language\");\n this.privLanguage = language;\n this.privEndpointId = endpointId;\n }\n /**\n * @member SourceLanguageConfig.fromLanguage\n * @function\n * @public\n * @param {string} language language (eg. \"en-US\") value of config.\n * @param {string?} endpointId endpointId of model bound to given language of config.\n * @return {SourceLanguageConfig} Instance of SourceLanguageConfig\n * @summary Creates an instance of the SourceLanguageConfig with the given language and optional endpointId.\n * Added in version 1.13.0.\n */\n SourceLanguageConfig.fromLanguage = function (language, endpointId) {\n return new SourceLanguageConfig(language, endpointId);\n };\n Object.defineProperty(SourceLanguageConfig.prototype, \"language\", {\n get: function () {\n return this.privLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SourceLanguageConfig.prototype, \"endpointId\", {\n get: function () {\n return this.privEndpointId;\n },\n enumerable: false,\n configurable: true\n });\n return SourceLanguageConfig;\n}());\nexports.SourceLanguageConfig = SourceLanguageConfig;\n\n//# sourceMappingURL=SourceLanguageConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerIdentificationModel = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines SpeakerIdentificationModel class for Speaker Recognition\n * Model contains a set of profiles against which to identify speaker(s)\n * @class SpeakerIdentificationModel\n */\nvar SpeakerIdentificationModel = /** @class */ (function () {\n function SpeakerIdentificationModel(profiles) {\n var _this = this;\n this.privVoiceProfiles = [];\n Contracts_1.Contracts.throwIfNullOrUndefined(profiles, \"VoiceProfiles\");\n if (profiles.length === 0) {\n throw new Error(\"Empty Voice Profiles array\");\n }\n profiles.forEach(function (profile) {\n if (profile.profileType !== Exports_1.VoiceProfileType.TextIndependentIdentification) {\n throw new Error(\"Identification model can only be created from Identification profile: \" + profile.profileId);\n }\n _this.privVoiceProfiles.push(profile);\n });\n }\n SpeakerIdentificationModel.fromProfiles = function (profiles) {\n return new SpeakerIdentificationModel(profiles);\n };\n Object.defineProperty(SpeakerIdentificationModel.prototype, \"voiceProfileIds\", {\n get: function () {\n return this.privVoiceProfiles.map(function (profile) { return profile.profileId; }).join(\",\");\n },\n enumerable: false,\n configurable: true\n });\n return SpeakerIdentificationModel;\n}());\nexports.SpeakerIdentificationModel = SpeakerIdentificationModel;\n\n//# sourceMappingURL=SpeakerIdentificationModel.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeakerRecognitionCancellationDetails = exports.SpeakerRecognitionResult = exports.SpeakerRecognitionResultType = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_2 = require(\"./Exports\");\nvar SpeakerRecognitionResultType;\n(function (SpeakerRecognitionResultType) {\n SpeakerRecognitionResultType[SpeakerRecognitionResultType[\"Verify\"] = 0] = \"Verify\";\n SpeakerRecognitionResultType[SpeakerRecognitionResultType[\"Identify\"] = 1] = \"Identify\";\n})(SpeakerRecognitionResultType = exports.SpeakerRecognitionResultType || (exports.SpeakerRecognitionResultType = {}));\n/**\n * Output format\n * @class SpeakerRecognitionResult\n */\nvar SpeakerRecognitionResult = /** @class */ (function () {\n function SpeakerRecognitionResult(resultType, data, profileId, resultReason) {\n if (resultReason === void 0) { resultReason = Exports_2.ResultReason.RecognizedSpeaker; }\n this.privProperties = new Exports_2.PropertyCollection();\n this.privReason = resultReason;\n if (this.privReason !== Exports_2.ResultReason.Canceled) {\n if (resultType === SpeakerRecognitionResultType.Identify) {\n var json = JSON.parse(data);\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"JSON\");\n this.privProfileId = json.identifiedProfile.profileId;\n this.privScore = json.identifiedProfile.score;\n }\n else {\n var json = JSON.parse(data);\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"JSON\");\n this.privScore = json.score;\n if (json.recognitionResult.toLowerCase() !== \"accept\") {\n this.privReason = Exports_2.ResultReason.NoMatch;\n }\n if (profileId !== undefined && profileId !== \"\") {\n this.privProfileId = profileId;\n }\n }\n }\n else {\n var json = JSON.parse(data);\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"JSON\");\n this.privErrorDetails = json.statusText;\n this.privProperties.setProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.ServiceError]);\n }\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceResponse_JsonResult, data);\n }\n Object.defineProperty(SpeakerRecognitionResult.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognitionResult.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognitionResult.prototype, \"profileId\", {\n get: function () {\n return this.privProfileId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognitionResult.prototype, \"errorDetails\", {\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognitionResult.prototype, \"score\", {\n get: function () {\n return this.privScore;\n },\n enumerable: false,\n configurable: true\n });\n return SpeakerRecognitionResult;\n}());\nexports.SpeakerRecognitionResult = SpeakerRecognitionResult;\n/**\n * @class SpeakerRecognitionCancellationDetails\n */\n// tslint:disable-next-line:max-classes-per-file\nvar SpeakerRecognitionCancellationDetails = /** @class */ (function (_super) {\n __extends(SpeakerRecognitionCancellationDetails, _super);\n function SpeakerRecognitionCancellationDetails(reason, errorDetails, errorCode) {\n return _super.call(this, reason, errorDetails, errorCode) || this;\n }\n /**\n * Creates an instance of SpeakerRecognitionCancellationDetails object for the canceled SpeakerRecognitionResult\n * @member SpeakerRecognitionCancellationDetails.fromResult\n * @function\n * @public\n * @param {SpeakerRecognitionResult} result - The result that was canceled.\n * @returns {SpeakerRecognitionCancellationDetails} The cancellation details object being created.\n */\n SpeakerRecognitionCancellationDetails.fromResult = function (result) {\n var reason = Exports_2.CancellationReason.Error;\n var errorCode = Exports_2.CancellationErrorCode.NoError;\n if (!!result.properties) {\n errorCode = Exports_2.CancellationErrorCode[result.properties.getProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.NoError])];\n }\n return new SpeakerRecognitionCancellationDetails(reason, result.errorDetails, errorCode);\n };\n return SpeakerRecognitionCancellationDetails;\n}(Exports_2.CancellationDetailsBase));\nexports.SpeakerRecognitionCancellationDetails = SpeakerRecognitionCancellationDetails;\n\n//# sourceMappingURL=SpeakerRecognitionResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerRecognizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Defines SpeakerRecognizer class for Speaker Recognition\n * Handles operations from user for Voice Profile operations (e.g. createProfile, deleteProfile)\n * @class SpeakerRecognizer\n */\nvar SpeakerRecognizer = /** @class */ (function () {\n /**\n * SpeakerRecognizer constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - An set of initial properties for this recognizer (authentication key, region, &c)\n */\n function SpeakerRecognizer(speechConfig, audioConfig) {\n var speechConfigImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\n this.privAudioConfigImpl = audioConfig;\n Contracts_1.Contracts.throwIfNull(this.privAudioConfigImpl, \"audioConfig\");\n this.privProperties = speechConfigImpl.properties.clone();\n this.implSRSetup();\n }\n Object.defineProperty(SpeakerRecognizer.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member SpeakerRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member SpeakerRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeakerRecognizer.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this SpeakerRecognizer.\n * @member SpeakerRecognizer.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeakerRecognizer.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Get recognition result for model using given audio\n * @member SpeakerRecognizer.prototype.recognizeOnceAsync\n * @function\n * @public\n * @param {SpeakerIdentificationModel} model Model containing Voice Profiles to be identified\n * @param cb - Callback invoked once result is returned.\n * @param err - Callback invoked in case of an error.\n */\n SpeakerRecognizer.prototype.recognizeOnceAsync = function (model, cb, err) {\n if (model instanceof Exports_3.SpeakerIdentificationModel) {\n var responsePromise = this.privAdapter.identifySpeaker(model, this.privAudioConfigImpl);\n Exports_2.marshalPromiseToCallbacks(this.getResult(responsePromise, Exports_3.SpeakerRecognitionResultType.Identify, undefined), cb, err);\n }\n else if (model instanceof Exports_3.SpeakerVerificationModel) {\n var responsePromise = this.privAdapter.verifySpeaker(model, this.privAudioConfigImpl);\n Exports_2.marshalPromiseToCallbacks(this.getResult(responsePromise, Exports_3.SpeakerRecognitionResultType.Verify, model.voiceProfile.profileId), cb, err);\n }\n else {\n throw new Error(\"SpeakerRecognizer.recognizeOnce: Unexpected model type\");\n }\n };\n /**\n * Included for compatibility\n * @member SpeakerRecognizer.prototype.close\n * @function\n * @public\n */\n SpeakerRecognizer.prototype.close = function () {\n return;\n };\n // Does class setup, swiped from Recognizer.\n SpeakerRecognizer.prototype.implSRSetup = function () {\n var osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\n var osName = \"unknown\";\n var osVersion = \"unknown\";\n if (typeof navigator !== \"undefined\") {\n osPlatform = osPlatform + \"/\" + navigator.platform;\n osName = navigator.userAgent;\n osVersion = navigator.appVersion;\n }\n var recognizerConfig = new Exports_1.SpeakerRecognitionConfig(new Exports_1.Context(new Exports_1.OS(osPlatform, osName, osVersion)), this.privProperties);\n this.privAdapter = new Exports_1.SpeakerIdMessageAdapter(recognizerConfig);\n };\n SpeakerRecognizer.prototype.getResult = function (responsePromise, resultType, profileId) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, responsePromise];\n case 1:\n response = _a.sent();\n return [2 /*return*/, new Exports_3.SpeakerRecognitionResult(resultType, response.data, profileId, response.ok ? Exports_3.ResultReason.RecognizedSpeaker : Exports_3.ResultReason.Canceled)];\n }\n });\n });\n };\n return SpeakerRecognizer;\n}());\nexports.SpeakerRecognizer = SpeakerRecognizer;\n\n//# sourceMappingURL=SpeakerRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeakerVerificationModel = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines SpeakerVerificationModel class for Speaker Recognition\n * Model contains a profile against which to verify a speaker\n * @class SpeakerVerificationModel\n */\nvar SpeakerVerificationModel = /** @class */ (function () {\n function SpeakerVerificationModel(profile) {\n Contracts_1.Contracts.throwIfNullOrUndefined(profile, \"VoiceProfile\");\n if (profile.profileType === Exports_1.VoiceProfileType.TextIndependentIdentification) {\n throw new Error(\"Verification model cannot be created from Identification profile\");\n }\n this.privVoiceProfile = profile;\n }\n SpeakerVerificationModel.fromProfile = function (profile) {\n return new SpeakerVerificationModel(profile);\n };\n Object.defineProperty(SpeakerVerificationModel.prototype, \"voiceProfile\", {\n get: function () {\n return this.privVoiceProfile;\n },\n enumerable: false,\n configurable: true\n });\n return SpeakerVerificationModel;\n}());\nexports.SpeakerVerificationModel = SpeakerVerificationModel;\n\n//# sourceMappingURL=SpeakerVerificationModel.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechConfigImpl = exports.SpeechConfig = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Speech configuration.\n * @class SpeechConfig\n */\nvar SpeechConfig = /** @class */ (function () {\n /**\n * Creates and initializes an instance.\n * @constructor\n */\n function SpeechConfig() {\n }\n /**\n * Static instance of SpeechConfig returned by passing subscriptionKey and service region.\n * Note: Please use your LanguageUnderstanding subscription key in case you want to use the Intent recognizer.\n * @member SpeechConfig.fromSubscription\n * @function\n * @public\n * @param {string} subscriptionKey - The subscription key.\n * @param {string} region - The region name (see the region page).\n * @returns {SpeechConfig} The speech factory\n */\n SpeechConfig.fromSubscription = function (subscriptionKey, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var speechImpl = new SpeechConfigImpl();\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, region);\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_IntentRegion, region);\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n return speechImpl;\n };\n /**\n * Creates an instance of the speech config with specified endpoint and subscription key.\n * This method is intended only for users who use a non-standard service endpoint or parameters.\n * Note: Please use your LanguageUnderstanding subscription key in case you want to use the Intent recognizer.\n * Note: The query parameters specified in the endpoint URL are not changed, even if they are set by any other APIs.\n * For example, if language is defined in the uri as query parameter \"language=de-DE\", and also set by\n * SpeechConfig.speechRecognitionLanguage = \"en-US\", the language setting in uri takes precedence,\n * and the effective language is \"de-DE\". Only the parameters that are not specified in the\n * endpoint URL can be set by other APIs.\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created SpeechConfig instance to\n * use the authorization token.\n * @member SpeechConfig.fromEndpoint\n * @function\n * @public\n * @param {URL} endpoint - The service endpoint to connect to.\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\n * @returns {SpeechConfig} A speech factory instance.\n */\n SpeechConfig.fromEndpoint = function (endpoint, subscriptionKey) {\n Contracts_1.Contracts.throwIfNull(endpoint, \"endpoint\");\n var speechImpl = new SpeechConfigImpl();\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, endpoint.href);\n if (undefined !== subscriptionKey) {\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n }\n return speechImpl;\n };\n /**\n * Creates an instance of the speech config with specified host and subscription key.\n * This method is intended only for users who use a non-default service host. Standard resource path will be assumed.\n * For services with a non-standard resource path or no path at all, use fromEndpoint instead.\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\n * Note: To use an authorization token with fromHost, use fromHost(URL),\n * and then set the AuthorizationToken property on the created SpeechConfig instance.\n * Note: Added in version 1.9.0.\n * @member SpeechConfig.fromHost\n * @function\n * @public\n * @param {URL} host - The service endpoint to connect to. Format is \"protocol://host:port\" where \":port\" is optional.\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\n * @returns {SpeechConfig} A speech factory instance.\n */\n SpeechConfig.fromHost = function (hostName, subscriptionKey) {\n Contracts_1.Contracts.throwIfNull(hostName, \"hostName\");\n var speechImpl = new SpeechConfigImpl();\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, hostName.protocol + \"//\" + hostName.hostname + (hostName.port === \"\" ? \"\" : \":\" + hostName.port));\n if (undefined !== subscriptionKey) {\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n }\n return speechImpl;\n };\n /**\n * Creates an instance of the speech factory with specified initial authorization token and region.\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\n * expires, the caller needs to refresh it by calling this setter with a new valid token.\n * Note: Please use a token derived from your LanguageUnderstanding subscription key in case you want\n * to use the Intent recognizer. As configuration values are copied when creating a new recognizer,\n * the new token value will not apply to recognizers that have already been created. For recognizers\n * that have been created before, you need to set authorization token of the corresponding recognizer\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\n * @member SpeechConfig.fromAuthorizationToken\n * @function\n * @public\n * @param {string} authorizationToken - The initial authorization token.\n * @param {string} region - The region name (see the region page).\n * @returns {SpeechConfig} A speech factory instance.\n */\n SpeechConfig.fromAuthorizationToken = function (authorizationToken, region) {\n Contracts_1.Contracts.throwIfNull(authorizationToken, \"authorizationToken\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var speechImpl = new SpeechConfigImpl();\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, region);\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_IntentRegion, region);\n speechImpl.authorizationToken = authorizationToken;\n return speechImpl;\n };\n /**\n * Closes the configuration.\n * @member SpeechConfig.prototype.close\n * @function\n * @public\n */\n /* tslint:disable:no-empty */\n SpeechConfig.prototype.close = function () { };\n return SpeechConfig;\n}());\nexports.SpeechConfig = SpeechConfig;\n/**\n * @public\n * @class SpeechConfigImpl\n */\n// tslint:disable-next-line:max-classes-per-file\nvar SpeechConfigImpl = /** @class */ (function (_super) {\n __extends(SpeechConfigImpl, _super);\n function SpeechConfigImpl() {\n var _this = _super.call(this) || this;\n _this.privProperties = new Exports_2.PropertyCollection();\n _this.speechRecognitionLanguage = \"en-US\"; // Should we have a default?\n _this.outputFormat = Exports_2.OutputFormat.Simple;\n return _this;\n }\n Object.defineProperty(SpeechConfigImpl.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"endPoint\", {\n get: function () {\n return new URL(this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"subscriptionKey\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Key);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"region\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"authorizationToken\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token);\n },\n set: function (value) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"speechRecognitionLanguage\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n set: function (value) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"autoDetectSourceLanguages\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages);\n },\n set: function (value) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"outputFormat\", {\n get: function () {\n return Exports_2.OutputFormat[this.privProperties.getProperty(Exports_1.OutputFormatPropertyName, undefined)];\n },\n set: function (value) {\n this.privProperties.setProperty(Exports_1.OutputFormatPropertyName, Exports_2.OutputFormat[value]);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"endpointId\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId);\n },\n set: function (value) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId, value);\n },\n enumerable: false,\n configurable: true\n });\n SpeechConfigImpl.prototype.setProperty = function (name, value) {\n Contracts_1.Contracts.throwIfNull(value, \"value\");\n this.privProperties.setProperty(name, value);\n };\n SpeechConfigImpl.prototype.getProperty = function (name, def) {\n return this.privProperties.getProperty(name, def);\n };\n SpeechConfigImpl.prototype.setProxy = function (proxyHostName, proxyPort, proxyUserName, proxyPassword) {\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyHostName], proxyHostName);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyPort], proxyPort);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyUserName], proxyUserName);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyPassword], proxyPassword);\n };\n SpeechConfigImpl.prototype.setServiceProperty = function (name, value, channel) {\n var currentProperties = JSON.parse(this.privProperties.getProperty(Exports_1.ServicePropertiesPropertyName, \"{}\"));\n currentProperties[name] = value;\n this.privProperties.setProperty(Exports_1.ServicePropertiesPropertyName, JSON.stringify(currentProperties));\n };\n SpeechConfigImpl.prototype.setProfanity = function (profanity) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceResponse_ProfanityOption, Exports_2.ProfanityOption[profanity]);\n };\n SpeechConfigImpl.prototype.enableAudioLogging = function () {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_EnableAudioLogging, \"true\");\n };\n SpeechConfigImpl.prototype.requestWordLevelTimestamps = function () {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"true\");\n };\n SpeechConfigImpl.prototype.enableDictation = function () {\n this.privProperties.setProperty(Exports_1.ForceDictationPropertyName, \"true\");\n };\n SpeechConfigImpl.prototype.clone = function () {\n var ret = new SpeechConfigImpl();\n ret.privProperties = this.privProperties.clone();\n return ret;\n };\n Object.defineProperty(SpeechConfigImpl.prototype, \"speechSynthesisLanguage\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthLanguage);\n },\n set: function (language) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthLanguage, language);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"speechSynthesisVoiceName\", {\n get: function () {\n return this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthVoice);\n },\n set: function (voice) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthVoice, voice);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechConfigImpl.prototype, \"speechSynthesisOutputFormat\", {\n get: function () {\n return Exports_2.SpeechSynthesisOutputFormat[this.privProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)];\n },\n set: function (format) {\n this.privProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthOutputFormat, Exports_2.SpeechSynthesisOutputFormat[format]);\n },\n enumerable: false,\n configurable: true\n });\n return SpeechConfigImpl;\n}(SpeechConfig));\nexports.SpeechConfigImpl = SpeechConfigImpl;\n\n//# sourceMappingURL=SpeechConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechRecognitionCanceledEventArgs = void 0;\nvar CancellationEventArgsBase_1 = require(\"./CancellationEventArgsBase\");\nvar SpeechRecognitionCanceledEventArgs = /** @class */ (function (_super) {\n __extends(SpeechRecognitionCanceledEventArgs, _super);\n function SpeechRecognitionCanceledEventArgs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return SpeechRecognitionCanceledEventArgs;\n}(CancellationEventArgsBase_1.CancellationEventArgsBase));\nexports.SpeechRecognitionCanceledEventArgs = SpeechRecognitionCanceledEventArgs;\n\n//# sourceMappingURL=SpeechRecognitionCanceledEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.ConversationTranscriptionEventArgs = exports.SpeechRecognitionEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines contents of speech recognizing/recognized event.\n * @class SpeechRecognitionEventArgs\n */\nvar SpeechRecognitionEventArgs = /** @class */ (function (_super) {\n __extends(SpeechRecognitionEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {SpeechRecognitionResult} result - The speech recognition result.\n * @param {number} offset - The offset.\n * @param {string} sessionId - The session id.\n */\n function SpeechRecognitionEventArgs(result, offset, sessionId) {\n var _this = _super.call(this, offset, sessionId) || this;\n _this.privResult = result;\n return _this;\n }\n Object.defineProperty(SpeechRecognitionEventArgs.prototype, \"result\", {\n /**\n * Specifies the recognition result.\n * @member SpeechRecognitionEventArgs.prototype.result\n * @function\n * @public\n * @returns {SpeechRecognitionResult} the recognition result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechRecognitionEventArgs;\n}(Exports_1.RecognitionEventArgs));\nexports.SpeechRecognitionEventArgs = SpeechRecognitionEventArgs;\n/**\n * Defines contents of conversation transcribed/transcribing event.\n * @class ConversationTranscriptionEventArgs\n */\n// tslint:disable-next-line:max-classes-per-file\nvar ConversationTranscriptionEventArgs = /** @class */ (function (_super) {\n __extends(ConversationTranscriptionEventArgs, _super);\n function ConversationTranscriptionEventArgs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ConversationTranscriptionEventArgs;\n}(SpeechRecognitionEventArgs));\nexports.ConversationTranscriptionEventArgs = ConversationTranscriptionEventArgs;\n\n//# sourceMappingURL=SpeechRecognitionEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechRecognitionResult = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Defines result of speech recognition.\n * @class SpeechRecognitionResult\n */\nvar SpeechRecognitionResult = /** @class */ (function (_super) {\n __extends(SpeechRecognitionResult, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @public\n * @param {string} resultId - The result id.\n * @param {ResultReason} reason - The reason.\n * @param {string} text - The recognized text.\n * @param {number} duration - The duration.\n * @param {number} offset - The offset into the stream.\n * @param {string} language - Primary Language detected, if provided.\n * @param {string} languageDetectionConfidence - Primary Language confidence (\"Unknown,\" \"Low,\" \"Medium,\" \"High\"...), if provided.\n * @param {string} speakerId - speaker id for conversation transcription, if provided.\n * @param {string} errorDetails - Error details, if provided.\n * @param {string} json - Additional Json, if provided.\n * @param {PropertyCollection} properties - Additional properties, if provided.\n */\n function SpeechRecognitionResult(resultId, reason, text, duration, offset, language, languageDetectionConfidence, speakerId, errorDetails, json, properties) {\n var _this = _super.call(this, resultId, reason, text, duration, offset, language, languageDetectionConfidence, errorDetails, json, properties) || this;\n _this.privSpeakerId = speakerId;\n return _this;\n }\n Object.defineProperty(SpeechRecognitionResult.prototype, \"speakerId\", {\n /**\n * speaker id from conversation transcription/id scenarios\n * @member SpeechRecognitionResult.prototype.speakerId\n * @function\n * @public\n * @returns {string} id of speaker in given result\n */\n get: function () {\n return this.privSpeakerId;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechRecognitionResult;\n}(Exports_1.RecognitionResult));\nexports.SpeechRecognitionResult = SpeechRecognitionResult;\n\n//# sourceMappingURL=SpeechRecognitionResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechRecognizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Performs speech recognition from microphone, file, or other audio input streams, and gets transcribed text as result.\n * @class SpeechRecognizer\n */\nvar SpeechRecognizer = /** @class */ (function (_super) {\n __extends(SpeechRecognizer, _super);\n /**\n * SpeechRecognizer constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\n */\n function SpeechRecognizer(speechConfig, audioConfig) {\n var _this = this;\n var speechConfigImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(speechConfigImpl.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage), Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage]);\n _this = _super.call(this, audioConfig, speechConfigImpl.properties, new Exports_1.SpeechConnectionFactory()) || this;\n _this.privDisposedRecognizer = false;\n return _this;\n }\n /**\n * SpeechRecognizer constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - an set of initial properties for this recognizer\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the recognizer\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\n */\n SpeechRecognizer.FromConfig = function (speechConfig, autoDetectSourceLanguageConfig, audioConfig) {\n var speechConfigImpl = speechConfig;\n autoDetectSourceLanguageConfig.properties.mergeTo(speechConfigImpl.properties);\n var recognizer = new SpeechRecognizer(speechConfig, audioConfig);\n return recognizer;\n };\n Object.defineProperty(SpeechRecognizer.prototype, \"endpointId\", {\n /**\n * Gets the endpoint id of a customized speech model that is used for speech recognition.\n * @member SpeechRecognizer.prototype.endpointId\n * @function\n * @public\n * @returns {string} the endpoint id of a customized speech model that is used for speech recognition.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_EndpointId, \"00000000-0000-0000-0000-000000000000\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechRecognizer.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member SpeechRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member SpeechRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechRecognizer.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the spoken language of recognition.\n * @member SpeechRecognizer.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @returns {string} The spoken language of recognition.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechRecognizer.prototype, \"outputFormat\", {\n /**\n * Gets the output format of recognition.\n * @member SpeechRecognizer.prototype.outputFormat\n * @function\n * @public\n * @returns {OutputFormat} The output format of recognition.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n if (this.properties.getProperty(Exports_1.OutputFormatPropertyName, Exports_3.OutputFormat[Exports_3.OutputFormat.Simple]) === Exports_3.OutputFormat[Exports_3.OutputFormat.Simple]) {\n return Exports_3.OutputFormat.Simple;\n }\n else {\n return Exports_3.OutputFormat.Detailed;\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechRecognizer.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this SpeechRecognizer.\n * @member SpeechRecognizer.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeechRecognizer.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Starts speech recognition, and stops after the first utterance is recognized.\n * The task returns the recognition text as result.\n * Note: RecognizeOnceAsync() returns when the first utterance has been recognized,\n * so it is suitable only for single shot recognition\n * like command or query. For long-running recognition, use StartContinuousRecognitionAsync() instead.\n * @member SpeechRecognizer.prototype.recognizeOnceAsync\n * @function\n * @public\n * @param cb - Callback that received the SpeechRecognitionResult.\n * @param err - Callback invoked in case of an error.\n */\n SpeechRecognizer.prototype.recognizeOnceAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(Exports_1.RecognitionMode.Interactive), cb, err);\n };\n /**\n * Starts speech recognition, until stopContinuousRecognitionAsync() is called.\n * User must subscribe to events to receive recognition results.\n * @member SpeechRecognizer.prototype.startContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has started.\n * @param err - Callback invoked in case of an error.\n */\n SpeechRecognizer.prototype.startContinuousRecognitionAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(Exports_1.RecognitionMode.Conversation), cb, err);\n };\n /**\n * Stops continuous speech recognition.\n * @member SpeechRecognizer.prototype.stopContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has stopped.\n * @param err - Callback invoked in case of an error.\n */\n SpeechRecognizer.prototype.stopContinuousRecognitionAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\n };\n /**\n * Starts speech recognition with keyword spotting, until\n * stopKeywordRecognitionAsync() is called.\n * User must subscribe to events to receive recognition results.\n * Note: Key word spotting functionality is only available on the\n * Speech Devices SDK. This functionality is currently not included in the SDK itself.\n * @member SpeechRecognizer.prototype.startKeywordRecognitionAsync\n * @function\n * @public\n * @param {KeywordRecognitionModel} model The keyword recognition model that\n * specifies the keyword to be recognized.\n * @param cb - Callback invoked once the recognition has started.\n * @param err - Callback invoked in case of an error.\n */\n SpeechRecognizer.prototype.startKeywordRecognitionAsync = function (model, cb, err) {\n Contracts_1.Contracts.throwIfNull(model, \"model\");\n if (!!err) {\n err(\"Not yet implemented.\");\n }\n };\n /**\n * Stops continuous speech recognition.\n * Note: Key word spotting functionality is only available on the\n * Speech Devices SDK. This functionality is currently not included in the SDK itself.\n * @member SpeechRecognizer.prototype.stopKeywordRecognitionAsync\n * @function\n * @public\n * @param cb - Callback invoked once the recognition has stopped.\n * @param err - Callback invoked in case of an error.\n */\n SpeechRecognizer.prototype.stopKeywordRecognitionAsync = function (cb, err) {\n if (!!cb) {\n cb();\n }\n };\n /**\n * closes all external resources held by an instance of this class.\n * @member SpeechRecognizer.prototype.close\n * @function\n * @public\n */\n SpeechRecognizer.prototype.close = function (cb, errorCb) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\n };\n /**\n * Disposes any resources held by the object.\n * @member SpeechRecognizer.prototype.dispose\n * @function\n * @public\n * @param {boolean} disposing - true if disposing the object.\n */\n SpeechRecognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposedRecognizer) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 2];\n this.privDisposedRecognizer = true;\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n SpeechRecognizer.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_1.RecognizerConfig(speechConfig, this.properties);\n };\n SpeechRecognizer.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var configImpl = audioConfig;\n return new Exports_1.SpeechServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\n };\n return SpeechRecognizer;\n}(Exports_3.Recognizer));\nexports.SpeechRecognizer = SpeechRecognizer;\n\n//# sourceMappingURL=SpeechRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisBookmarkEventArgs = void 0;\n/**\n * Defines contents of speech synthesis bookmark event.\n * @class SpeechSynthesisBookmarkEventArgs\n * Added in version 1.16.0\n */\nvar SpeechSynthesisBookmarkEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {number} audioOffset - The audio offset.\n * @param {string} text - The bookmark text.\n */\n function SpeechSynthesisBookmarkEventArgs(audioOffset, text) {\n this.privAudioOffset = audioOffset;\n this.privText = text;\n }\n Object.defineProperty(SpeechSynthesisBookmarkEventArgs.prototype, \"audioOffset\", {\n /**\n * Specifies the audio offset.\n * @member SpeechSynthesisBookmarkEventArgs.prototype.audioOffset\n * @function\n * @public\n * @returns {number} the audio offset.\n */\n get: function () {\n return this.privAudioOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisBookmarkEventArgs.prototype, \"text\", {\n /**\n * Specifies the bookmark.\n * @member SpeechSynthesisBookmarkEventArgs.prototype.text\n * @function\n * @public\n * @returns {string} the bookmark text.\n */\n get: function () {\n return this.privText;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisBookmarkEventArgs;\n}());\nexports.SpeechSynthesisBookmarkEventArgs = SpeechSynthesisBookmarkEventArgs;\n\n//# sourceMappingURL=SpeechSynthesisBookmarkEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisEventArgs = void 0;\n/**\n * Defines contents of speech synthesis events.\n * @class SpeechSynthesisEventArgs\n * Added in version 1.11.0\n */\nvar SpeechSynthesisEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {SpeechSynthesisResult} result - The speech synthesis result.\n */\n function SpeechSynthesisEventArgs(result) {\n this.privResult = result;\n }\n Object.defineProperty(SpeechSynthesisEventArgs.prototype, \"result\", {\n /**\n * Specifies the synthesis result.\n * @member SpeechSynthesisEventArgs.prototype.result\n * @function\n * @public\n * @returns {SpeechSynthesisResult} the synthesis result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisEventArgs;\n}());\nexports.SpeechSynthesisEventArgs = SpeechSynthesisEventArgs;\n\n//# sourceMappingURL=SpeechSynthesisEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisOutputFormat = void 0;\n/**\n * Define speech synthesis audio output formats.\n * @enum SpeechSynthesisOutputFormat\n * Updated in version 1.17.0\n */\nvar SpeechSynthesisOutputFormat;\n(function (SpeechSynthesisOutputFormat) {\n /**\n * raw-8khz-8bit-mono-mulaw\n * @member SpeechSynthesisOutputFormat.Raw8Khz8BitMonoMULaw,\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw8Khz8BitMonoMULaw\"] = 0] = \"Raw8Khz8BitMonoMULaw\";\n /**\n * riff-16khz-16kbps-mono-siren\n * @note Unsupported by the service. Do not use this value.\n * @member SpeechSynthesisOutputFormat.Riff16Khz16KbpsMonoSiren\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff16Khz16KbpsMonoSiren\"] = 1] = \"Riff16Khz16KbpsMonoSiren\";\n /**\n * audio-16khz-16kbps-mono-siren\n * @note Unsupported by the service. Do not use this value.\n * @member SpeechSynthesisOutputFormat.Audio16Khz16KbpsMonoSiren\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio16Khz16KbpsMonoSiren\"] = 2] = \"Audio16Khz16KbpsMonoSiren\";\n /**\n * audio-16khz-32kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio16Khz32KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio16Khz32KBitRateMonoMp3\"] = 3] = \"Audio16Khz32KBitRateMonoMp3\";\n /**\n * audio-16khz-128kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio16Khz128KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio16Khz128KBitRateMonoMp3\"] = 4] = \"Audio16Khz128KBitRateMonoMp3\";\n /**\n * audio-16khz-64kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio16Khz64KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio16Khz64KBitRateMonoMp3\"] = 5] = \"Audio16Khz64KBitRateMonoMp3\";\n /**\n * audio-24khz-48kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio24Khz48KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio24Khz48KBitRateMonoMp3\"] = 6] = \"Audio24Khz48KBitRateMonoMp3\";\n /**\n * audio-24khz-96kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio24Khz96KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio24Khz96KBitRateMonoMp3\"] = 7] = \"Audio24Khz96KBitRateMonoMp3\";\n /**\n * audio-24khz-160kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio24Khz160KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio24Khz160KBitRateMonoMp3\"] = 8] = \"Audio24Khz160KBitRateMonoMp3\";\n /**\n * raw-16khz-16bit-mono-truesilk\n * @member SpeechSynthesisOutputFormat.Raw16Khz16BitMonoTrueSilk\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw16Khz16BitMonoTrueSilk\"] = 9] = \"Raw16Khz16BitMonoTrueSilk\";\n /**\n * riff-16khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Riff16Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff16Khz16BitMonoPcm\"] = 10] = \"Riff16Khz16BitMonoPcm\";\n /**\n * riff-8khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Riff8Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff8Khz16BitMonoPcm\"] = 11] = \"Riff8Khz16BitMonoPcm\";\n /**\n * riff-24khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Riff24Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff24Khz16BitMonoPcm\"] = 12] = \"Riff24Khz16BitMonoPcm\";\n /**\n * riff-8khz-8bit-mono-mulaw\n * @member SpeechSynthesisOutputFormat.Riff8Khz8BitMonoMULaw\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff8Khz8BitMonoMULaw\"] = 13] = \"Riff8Khz8BitMonoMULaw\";\n /**\n * raw-16khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Raw16Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw16Khz16BitMonoPcm\"] = 14] = \"Raw16Khz16BitMonoPcm\";\n /**\n * raw-24khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Raw24Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw24Khz16BitMonoPcm\"] = 15] = \"Raw24Khz16BitMonoPcm\";\n /**\n * raw-8khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Raw8Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw8Khz16BitMonoPcm\"] = 16] = \"Raw8Khz16BitMonoPcm\";\n /**\n * ogg-16khz-16bit-mono-opus\n * @member SpeechSynthesisOutputFormat.Ogg16Khz16BitMonoOpus\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Ogg16Khz16BitMonoOpus\"] = 17] = \"Ogg16Khz16BitMonoOpus\";\n /**\n * ogg-24khz-16bit-mono-opus\n * @member SpeechSynthesisOutputFormat.Ogg24Khz16BitMonoOpus\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Ogg24Khz16BitMonoOpus\"] = 18] = \"Ogg24Khz16BitMonoOpus\";\n /**\n * raw-48khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Raw48Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw48Khz16BitMonoPcm\"] = 19] = \"Raw48Khz16BitMonoPcm\";\n /**\n * riff-48khz-16bit-mono-pcm\n * @member SpeechSynthesisOutputFormat.Riff48Khz16BitMonoPcm\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff48Khz16BitMonoPcm\"] = 20] = \"Riff48Khz16BitMonoPcm\";\n /**\n * audio-48khz-96kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio48Khz96KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio48Khz96KBitRateMonoMp3\"] = 21] = \"Audio48Khz96KBitRateMonoMp3\";\n /**\n * audio-48khz-192kbitrate-mono-mp3\n * @member SpeechSynthesisOutputFormat.Audio48Khz192KBitRateMonoMp3\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Audio48Khz192KBitRateMonoMp3\"] = 22] = \"Audio48Khz192KBitRateMonoMp3\";\n /**\n * ogg-48khz-16bit-mono-opus\n * Added in version 1.16.0\n * @member SpeechSynthesisOutputFormat.Ogg48Khz16BitMonoOpus\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Ogg48Khz16BitMonoOpus\"] = 23] = \"Ogg48Khz16BitMonoOpus\";\n /**\n * webm-16khz-16bit-mono-opus\n * Added in version 1.16.0\n * @member SpeechSynthesisOutputFormat.Webm16Khz16BitMonoOpus\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Webm16Khz16BitMonoOpus\"] = 24] = \"Webm16Khz16BitMonoOpus\";\n /**\n * webm-24khz-16bit-mono-opus\n * Added in version 1.16.0\n * @member SpeechSynthesisOutputFormat.Webm24Khz16BitMonoOpus\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Webm24Khz16BitMonoOpus\"] = 25] = \"Webm24Khz16BitMonoOpus\";\n /**\n * raw-24khz-16bit-mono-truesilk\n * Added in version 1.17.0\n * @member SpeechSynthesisOutputFormat.Raw24Khz16BitMonoTrueSilk\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw24Khz16BitMonoTrueSilk\"] = 26] = \"Raw24Khz16BitMonoTrueSilk\";\n /**\n * raw-8khz-8bit-mono-alaw\n * Added in version 1.17.0\n * @member SpeechSynthesisOutputFormat.Raw8Khz8BitMonoALaw\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Raw8Khz8BitMonoALaw\"] = 27] = \"Raw8Khz8BitMonoALaw\";\n /**\n * riff-8khz-8bit-mono-alaw\n * Added in version 1.17.0\n * @member SpeechSynthesisOutputFormat.Riff8Khz8BitMonoALaw\n */\n SpeechSynthesisOutputFormat[SpeechSynthesisOutputFormat[\"Riff8Khz8BitMonoALaw\"] = 28] = \"Riff8Khz8BitMonoALaw\";\n})(SpeechSynthesisOutputFormat = exports.SpeechSynthesisOutputFormat || (exports.SpeechSynthesisOutputFormat = {}));\n\n//# sourceMappingURL=SpeechSynthesisOutputFormat.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisResult = void 0;\n/**\n * Defines result of speech synthesis.\n * @class SpeechSynthesisResult\n * Added in version 1.11.0\n */\nvar SpeechSynthesisResult = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} resultId - The result id.\n * @param {ResultReason} reason - The reason.\n * @param {number} audioData - The offset into the stream.\n * @param {string} errorDetails - Error details, if provided.\n * @param {PropertyCollection} properties - Additional properties, if provided.\n */\n function SpeechSynthesisResult(resultId, reason, audioData, errorDetails, properties) {\n this.privResultId = resultId;\n this.privReason = reason;\n this.privAudioData = audioData;\n this.privErrorDetails = errorDetails;\n this.privProperties = properties;\n }\n Object.defineProperty(SpeechSynthesisResult.prototype, \"resultId\", {\n /**\n * Specifies the result identifier.\n * @member SpeechSynthesisResult.prototype.resultId\n * @function\n * @public\n * @returns {string} Specifies the result identifier.\n */\n get: function () {\n return this.privResultId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisResult.prototype, \"reason\", {\n /**\n * Specifies status of the result.\n * @member SpeechSynthesisResult.prototype.reason\n * @function\n * @public\n * @returns {ResultReason} Specifies status of the result.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisResult.prototype, \"audioData\", {\n /**\n * The synthesized audio data\n * @member SpeechSynthesisResult.prototype.audioData\n * @function\n * @public\n * @returns {ArrayBuffer} The synthesized audio data.\n */\n get: function () {\n return this.privAudioData;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisResult.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful synthesis, provides details of the occurred error.\n * @member SpeechSynthesisResult.prototype.errorDetails\n * @function\n * @public\n * @returns {string} a brief description of an error.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisResult.prototype, \"properties\", {\n /**\n * The set of properties exposed in the result.\n * @member SpeechSynthesisResult.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The set of properties exposed in the result.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisResult;\n}());\nexports.SpeechSynthesisResult = SpeechSynthesisResult;\n\n//# sourceMappingURL=SpeechSynthesisResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisVisemeEventArgs = void 0;\n/**\n * Defines contents of speech synthesis viseme event.\n * @class SpeechSynthesisVisemeEventArgs\n * Added in version 1.16.0\n */\nvar SpeechSynthesisVisemeEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {number} audioOffset - The audio offset.\n * @param {number} visemeId - The viseme ID.\n * @param {string} animation - The animation, could be in svg or other format.\n */\n function SpeechSynthesisVisemeEventArgs(audioOffset, visemeId, animation) {\n this.privAudioOffset = audioOffset;\n this.privVisemeId = visemeId;\n this.privAnimation = animation;\n }\n Object.defineProperty(SpeechSynthesisVisemeEventArgs.prototype, \"audioOffset\", {\n /**\n * Specifies the audio offset.\n * @member SpeechSynthesisVisemeEventArgs.prototype.audioOffset\n * @function\n * @public\n * @returns {number} the audio offset.\n */\n get: function () {\n return this.privAudioOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisVisemeEventArgs.prototype, \"visemeId\", {\n /**\n * Specifies the viseme ID.\n * @member SpeechSynthesisVisemeEventArgs.prototype.visemeId\n * @function\n * @public\n * @returns {number} the viseme ID.\n */\n get: function () {\n return this.privVisemeId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisVisemeEventArgs.prototype, \"animation\", {\n /**\n * Specifies the animation.\n * @member SpeechSynthesisVisemeEventArgs.prototype.animation\n * @function\n * @public\n * @returns {string} the animation, could be in svg or other format.\n */\n get: function () {\n return this.privAnimation;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisVisemeEventArgs;\n}());\nexports.SpeechSynthesisVisemeEventArgs = SpeechSynthesisVisemeEventArgs;\n\n//# sourceMappingURL=SpeechSynthesisVisemeEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SpeechSynthesisWordBoundaryEventArgs = void 0;\n/**\n * Defines contents of speech synthesis word boundary event.\n * @class SpeechSynthesisWordBoundaryEventArgs\n * Added in version 1.11.0\n */\nvar SpeechSynthesisWordBoundaryEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {number} audioOffset - The audio offset.\n * @param {string} text - The text.\n * @param {number} wordLength - The length of the word.\n * @param {number} textOffset - The text offset.\n */\n function SpeechSynthesisWordBoundaryEventArgs(audioOffset, text, wordLength, textOffset) {\n this.privAudioOffset = audioOffset;\n this.privText = text;\n this.privWordLength = wordLength;\n this.privTextOffset = textOffset;\n }\n Object.defineProperty(SpeechSynthesisWordBoundaryEventArgs.prototype, \"audioOffset\", {\n /**\n * Specifies the audio offset.\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.audioOffset\n * @function\n * @public\n * @returns {number} the audio offset.\n */\n get: function () {\n return this.privAudioOffset;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisWordBoundaryEventArgs.prototype, \"text\", {\n /**\n * Specifies the text of the word boundary event.\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.text\n * @function\n * @public\n * @returns {string} the text.\n */\n get: function () {\n return this.privText;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisWordBoundaryEventArgs.prototype, \"wordLength\", {\n /**\n * Specifies the word length\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.wordLength\n * @function\n * @public\n * @returns {number} the word length\n */\n get: function () {\n return this.privWordLength;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesisWordBoundaryEventArgs.prototype, \"textOffset\", {\n /**\n * Specifies the text offset.\n * @member SpeechSynthesisWordBoundaryEventArgs.prototype.textOffset\n * @function\n * @public\n * @returns {number} the text offset.\n */\n get: function () {\n return this.privTextOffset;\n },\n enumerable: false,\n configurable: true\n });\n return SpeechSynthesisWordBoundaryEventArgs;\n}());\nexports.SpeechSynthesisWordBoundaryEventArgs = SpeechSynthesisWordBoundaryEventArgs;\n\n//# sourceMappingURL=SpeechSynthesisWordBoundaryEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SynthesisRequest = exports.SpeechSynthesizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar AudioFileWriter_1 = require(\"./Audio/AudioFileWriter\");\nvar AudioOutputFormat_1 = require(\"./Audio/AudioOutputFormat\");\nvar AudioOutputStream_1 = require(\"./Audio/AudioOutputStream\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Defines the class SpeechSynthesizer for text to speech.\n * Updated in version 1.16.0\n * @class SpeechSynthesizer\n */\nvar SpeechSynthesizer = /** @class */ (function () {\n /**\n * SpeechSynthesizer constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - An set of initial properties for this synthesizer.\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the synthesizer.\n */\n function SpeechSynthesizer(speechConfig, audioConfig) {\n var speechConfigImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\n if (audioConfig !== null) {\n if (audioConfig === undefined) {\n this.audioConfig = (typeof window === \"undefined\") ? undefined : Exports_3.AudioConfig.fromDefaultSpeakerOutput();\n }\n else {\n this.audioConfig = audioConfig;\n }\n }\n this.privProperties = speechConfigImpl.properties.clone();\n this.privDisposed = false;\n this.privSynthesizing = false;\n this.privConnectionFactory = new Exports_1.SpeechSynthesisConnectionFactory();\n this.synthesisRequestQueue = new Exports_2.Queue();\n this.implCommonSynthesizeSetup();\n }\n Object.defineProperty(SpeechSynthesizer.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member SpeechSynthesizer.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member SpeechSynthesizer.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesizer.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this SpeechSynthesizer.\n * @member SpeechSynthesizer.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this SpeechSynthesizer.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechSynthesizer.prototype, \"autoDetectSourceLanguage\", {\n /**\n * Indicates if auto detect source language is enabled\n * @member SpeechSynthesizer.prototype.properties\n * @function\n * @public\n * @returns {boolean} if auto detect source language is enabled\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_AutoDetectSourceLanguages) === Exports_1.AutoDetectSourceLanguagesOpenRangeOptionName;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * SpeechSynthesizer constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - an set of initial properties for this synthesizer\n * @param {AutoDetectSourceLanguageConfig} autoDetectSourceLanguageConfig - An source language detection configuration associated with the synthesizer\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the synthesizer\n */\n SpeechSynthesizer.FromConfig = function (speechConfig, autoDetectSourceLanguageConfig, audioConfig) {\n var speechConfigImpl = speechConfig;\n autoDetectSourceLanguageConfig.properties.mergeTo(speechConfigImpl.properties);\n return new SpeechSynthesizer(speechConfig, audioConfig);\n };\n SpeechSynthesizer.prototype.buildSsml = function (text) {\n var _a;\n var languageToDefaultVoice = (_a = {},\n _a[\"ar-EG\"] = \"Microsoft Server Speech Text to Speech Voice (ar-EG, Hoda)\",\n _a[\"ar-SA\"] = \"Microsoft Server Speech Text to Speech Voice (ar-SA, Naayf)\",\n _a[\"bg-BG\"] = \"Microsoft Server Speech Text to Speech Voice (bg-BG, Ivan)\",\n _a[\"ca-ES\"] = \"Microsoft Server Speech Text to Speech Voice (ca-ES, HerenaRUS)\",\n _a[\"cs-CZ\"] = \"Microsoft Server Speech Text to Speech Voice (cs-CZ, Jakub)\",\n _a[\"da-DK\"] = \"Microsoft Server Speech Text to Speech Voice (da-DK, HelleRUS)\",\n _a[\"de-AT\"] = \"Microsoft Server Speech Text to Speech Voice (de-AT, Michael)\",\n _a[\"de-CH\"] = \"Microsoft Server Speech Text to Speech Voice (de-CH, Karsten)\",\n _a[\"de-DE\"] = \"Microsoft Server Speech Text to Speech Voice (de-DE, HeddaRUS)\",\n _a[\"el-GR\"] = \"Microsoft Server Speech Text to Speech Voice (el-GR, Stefanos)\",\n _a[\"en-AU\"] = \"Microsoft Server Speech Text to Speech Voice (en-AU, HayleyRUS)\",\n _a[\"en-CA\"] = \"Microsoft Server Speech Text to Speech Voice (en-CA, HeatherRUS)\",\n _a[\"en-GB\"] = \"Microsoft Server Speech Text to Speech Voice (en-GB, HazelRUS)\",\n _a[\"en-IE\"] = \"Microsoft Server Speech Text to Speech Voice (en-IE, Sean)\",\n _a[\"en-IN\"] = \"Microsoft Server Speech Text to Speech Voice (en-IN, PriyaRUS)\",\n _a[\"en-US\"] = \"Microsoft Server Speech Text to Speech Voice (en-US, AriaRUS)\",\n _a[\"es-ES\"] = \"Microsoft Server Speech Text to Speech Voice (es-ES, HelenaRUS)\",\n _a[\"es-MX\"] = \"Microsoft Server Speech Text to Speech Voice (es-MX, HildaRUS)\",\n _a[\"fi-FI\"] = \"Microsoft Server Speech Text to Speech Voice (fi-FI, HeidiRUS)\",\n _a[\"fr-CA\"] = \"Microsoft Server Speech Text to Speech Voice (fr-CA, HarmonieRUS)\",\n _a[\"fr-CH\"] = \"Microsoft Server Speech Text to Speech Voice (fr-CH, Guillaume)\",\n _a[\"fr-FR\"] = \"Microsoft Server Speech Text to Speech Voice (fr-FR, HortenseRUS)\",\n _a[\"he-IL\"] = \"Microsoft Server Speech Text to Speech Voice (he-IL, Asaf)\",\n _a[\"hi-IN\"] = \"Microsoft Server Speech Text to Speech Voice (hi-IN, Kalpana)\",\n _a[\"hr-HR\"] = \"Microsoft Server Speech Text to Speech Voice (hr-HR, Matej)\",\n _a[\"hu-HU\"] = \"Microsoft Server Speech Text to Speech Voice (hu-HU, Szabolcs)\",\n _a[\"id-ID\"] = \"Microsoft Server Speech Text to Speech Voice (id-ID, Andika)\",\n _a[\"it-IT\"] = \"Microsoft Server Speech Text to Speech Voice (it-IT, LuciaRUS)\",\n _a[\"ja-JP\"] = \"Microsoft Server Speech Text to Speech Voice (ja-JP, HarukaRUS)\",\n _a[\"ko-KR\"] = \"Microsoft Server Speech Text to Speech Voice (ko-KR, HeamiRUS)\",\n _a[\"ms-MY\"] = \"Microsoft Server Speech Text to Speech Voice (ms-MY, Rizwan)\",\n _a[\"nb-NO\"] = \"Microsoft Server Speech Text to Speech Voice (nb-NO, HuldaRUS)\",\n _a[\"nl-NL\"] = \"Microsoft Server Speech Text to Speech Voice (nl-NL, HannaRUS)\",\n _a[\"pl-PL\"] = \"Microsoft Server Speech Text to Speech Voice (pl-PL, PaulinaRUS)\",\n _a[\"pt-BR\"] = \"Microsoft Server Speech Text to Speech Voice (pt-BR, HeloisaRUS)\",\n _a[\"pt-PT\"] = \"Microsoft Server Speech Text to Speech Voice (pt-PT, HeliaRUS)\",\n _a[\"ro-RO\"] = \"Microsoft Server Speech Text to Speech Voice (ro-RO, Andrei)\",\n _a[\"ru-RU\"] = \"Microsoft Server Speech Text to Speech Voice (ru-RU, EkaterinaRUS)\",\n _a[\"sk-SK\"] = \"Microsoft Server Speech Text to Speech Voice (sk-SK, Filip)\",\n _a[\"sl-SI\"] = \"Microsoft Server Speech Text to Speech Voice (sl-SI, Lado)\",\n _a[\"sv-SE\"] = \"Microsoft Server Speech Text to Speech Voice (sv-SE, HedvigRUS)\",\n _a[\"ta-IN\"] = \"Microsoft Server Speech Text to Speech Voice (ta-IN, Valluvar)\",\n _a[\"te-IN\"] = \"Microsoft Server Speech Text to Speech Voice (te-IN, Chitra)\",\n _a[\"th-TH\"] = \"Microsoft Server Speech Text to Speech Voice (th-TH, Pattara)\",\n _a[\"tr-TR\"] = \"Microsoft Server Speech Text to Speech Voice (tr-TR, SedaRUS)\",\n _a[\"vi-VN\"] = \"Microsoft Server Speech Text to Speech Voice (vi-VN, An)\",\n _a[\"zh-CN\"] = \"Microsoft Server Speech Text to Speech Voice (zh-CN, HuihuiRUS)\",\n _a[\"zh-HK\"] = \"Microsoft Server Speech Text to Speech Voice (zh-HK, TracyRUS)\",\n _a[\"zh-TW\"] = \"Microsoft Server Speech Text to Speech Voice (zh-TW, HanHanRUS)\",\n _a);\n var language = this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_SynthLanguage, \"en-US\");\n var voice = this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_SynthVoice, \"\");\n var ssml = SpeechSynthesizer.XMLEncode(text);\n if (this.autoDetectSourceLanguage) {\n language = \"en-US\";\n }\n else {\n voice = voice || languageToDefaultVoice[language];\n }\n if (voice) {\n ssml = \"\" + ssml + \"\";\n }\n ssml = \"\" + ssml + \"\";\n return ssml;\n };\n /**\n * Executes speech synthesis on plain text.\n * The task returns the synthesis result.\n * @member SpeechSynthesizer.prototype.speakTextAsync\n * @function\n * @public\n * @param text - Text to be synthesized.\n * @param cb - Callback that received the SpeechSynthesisResult.\n * @param err - Callback invoked in case of an error.\n * @param stream - AudioOutputStream to receive the synthesized audio.\n */\n SpeechSynthesizer.prototype.speakTextAsync = function (text, cb, err, stream) {\n this.speakImpl(text, false, cb, err, stream);\n };\n /**\n * Executes speech synthesis on SSML.\n * The task returns the synthesis result.\n * @member SpeechSynthesizer.prototype.speakSsmlAsync\n * @function\n * @public\n * @param ssml - SSML to be synthesized.\n * @param cb - Callback that received the SpeechSynthesisResult.\n * @param err - Callback invoked in case of an error.\n * @param stream - AudioOutputStream to receive the synthesized audio.\n */\n SpeechSynthesizer.prototype.speakSsmlAsync = function (ssml, cb, err, stream) {\n this.speakImpl(ssml, true, cb, err, stream);\n };\n /**\n * Dispose of associated resources.\n * @member SpeechSynthesizer.prototype.close\n * @function\n * @public\n */\n SpeechSynthesizer.prototype.close = function (cb, err) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, err);\n };\n Object.defineProperty(SpeechSynthesizer.prototype, \"internalData\", {\n /**\n * @Internal\n * Do not use externally, object returned will change without warning or notice.\n */\n get: function () {\n return this.privAdapter;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * This method performs cleanup of resources.\n * The Boolean parameter disposing indicates whether the method is called\n * from Dispose (if disposing is true) or from the finalizer (if disposing is false).\n * Derived classes should override this method to dispose resource if needed.\n * @member SpeechSynthesizer.prototype.dispose\n * @function\n * @public\n * @param {boolean} disposing - Flag to request disposal.\n */\n SpeechSynthesizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposed) {\n return [2 /*return*/];\n }\n if (!disposing) return [3 /*break*/, 2];\n if (!this.privAdapter) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privAdapter.dispose()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.privDisposed = true;\n return [2 /*return*/];\n }\n });\n });\n };\n //\n // ################################################################################################################\n // IMPLEMENTATION.\n // Move to independent class\n // ################################################################################################################\n //\n SpeechSynthesizer.prototype.createSynthesizerConfig = function (speechConfig) {\n return new Exports_1.SynthesizerConfig(speechConfig, this.privProperties);\n };\n // Creates the synthesis adapter\n SpeechSynthesizer.prototype.createSynthesisAdapter = function (authentication, connectionFactory, audioConfig, synthesizerConfig) {\n return new Exports_1.SynthesisAdapterBase(authentication, connectionFactory, synthesizerConfig, this, this.audioConfig);\n };\n SpeechSynthesizer.prototype.implCommonSynthesizeSetup = function () {\n var _this = this;\n var osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\n var osName = \"unknown\";\n var osVersion = \"unknown\";\n if (typeof navigator !== \"undefined\") {\n osPlatform = osPlatform + \"/\" + navigator.platform;\n osName = navigator.userAgent;\n osVersion = navigator.appVersion;\n }\n var synthesizerConfig = this.createSynthesizerConfig(new Exports_1.SpeechServiceConfig(new Exports_1.Context(new Exports_1.OS(osPlatform, osName, osVersion))));\n var subscriptionKey = this.privProperties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Key, undefined);\n var authentication = (subscriptionKey && subscriptionKey !== \"\") ?\n new Exports_1.CognitiveSubscriptionKeyAuthentication(subscriptionKey) :\n new Exports_1.CognitiveTokenAuthentication(function (authFetchEventId) {\n var authorizationToken = _this.privProperties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, undefined);\n return Promise.resolve(authorizationToken);\n }, function (authFetchEventId) {\n var authorizationToken = _this.privProperties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, undefined);\n return Promise.resolve(authorizationToken);\n });\n this.privAdapter = this.createSynthesisAdapter(authentication, this.privConnectionFactory, this.audioConfig, synthesizerConfig);\n this.privAdapter.audioOutputFormat = AudioOutputFormat_1.AudioOutputFormatImpl.fromSpeechSynthesisOutputFormat(Exports_3.SpeechSynthesisOutputFormat[this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)]);\n };\n SpeechSynthesizer.prototype.speakImpl = function (text, IsSsml, cb, err, dataStream) {\n var _this = this;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposed);\n var requestId = Exports_2.createNoDashGuid();\n var audioDestination = void 0;\n if (dataStream instanceof Exports_3.PushAudioOutputStreamCallback) {\n audioDestination = new AudioOutputStream_1.PushAudioOutputStreamImpl(dataStream);\n }\n else if (dataStream instanceof Exports_3.PullAudioOutputStream) {\n audioDestination = dataStream;\n }\n else if (dataStream !== undefined) {\n audioDestination = new AudioFileWriter_1.AudioFileWriter(dataStream);\n }\n else {\n audioDestination = undefined;\n }\n this.synthesisRequestQueue.enqueue(new SynthesisRequest(requestId, text, IsSsml, function (e) {\n _this.privSynthesizing = false;\n if (!!cb) {\n try {\n cb(e);\n }\n catch (e) {\n if (!!err) {\n err(e);\n }\n }\n }\n cb = undefined;\n /* tslint:disable:no-empty */\n _this.adapterSpeak().catch(function () { });\n }, function (e) {\n if (!!err) {\n err(e);\n }\n }, audioDestination));\n /* tslint:disable:no-empty */\n this.adapterSpeak().catch(function () { });\n }\n catch (error) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n // Destroy the synthesizer.\n /* tslint:disable:no-empty */\n this.dispose(true).catch(function () { });\n }\n };\n SpeechSynthesizer.prototype.adapterSpeak = function () {\n return __awaiter(this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(!this.privDisposed && !this.privSynthesizing)) return [3 /*break*/, 2];\n this.privSynthesizing = true;\n return [4 /*yield*/, this.synthesisRequestQueue.dequeue()];\n case 1:\n request = _a.sent();\n return [2 /*return*/, this.privAdapter.Speak(request.text, request.isSSML, request.requestId, request.cb, request.err, request.dataStream)];\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n SpeechSynthesizer.XMLEncode = function (text) {\n return text.replace(/&/g, \"&\")\n .replace(//g, \">\")\n .replace(/\"/g, \""\")\n .replace(/'/g, \"'\");\n };\n return SpeechSynthesizer;\n}());\nexports.SpeechSynthesizer = SpeechSynthesizer;\n// tslint:disable-next-line:max-classes-per-file\nvar SynthesisRequest = /** @class */ (function () {\n function SynthesisRequest(requestId, text, isSSML, cb, err, dataStream) {\n this.requestId = requestId;\n this.text = text;\n this.isSSML = isSSML;\n this.cb = cb;\n this.err = err;\n this.dataStream = dataStream;\n }\n return SynthesisRequest;\n}());\nexports.SynthesisRequest = SynthesisRequest;\n\n//# sourceMappingURL=SpeechSynthesizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.SpeechTranslationConfigImpl = exports.SpeechTranslationConfig = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Speech translation configuration.\n * @class SpeechTranslationConfig\n */\nvar SpeechTranslationConfig = /** @class */ (function (_super) {\n __extends(SpeechTranslationConfig, _super);\n /**\n * Creates an instance of recognizer config.\n */\n function SpeechTranslationConfig() {\n return _super.call(this) || this;\n }\n /**\n * Static instance of SpeechTranslationConfig returned by passing a subscription key and service region.\n * @member SpeechTranslationConfig.fromSubscription\n * @function\n * @public\n * @param {string} subscriptionKey - The subscription key.\n * @param {string} region - The region name (see the region page).\n * @returns {SpeechTranslationConfig} The speech translation config.\n */\n SpeechTranslationConfig.fromSubscription = function (subscriptionKey, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(subscriptionKey, \"subscriptionKey\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var ret = new SpeechTranslationConfigImpl();\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, region);\n return ret;\n };\n /**\n * Static instance of SpeechTranslationConfig returned by passing authorization token and service region.\n * Note: The caller needs to ensure that the authorization token is valid. Before the authorization token\n * expires, the caller needs to refresh it by setting the property authorizationToken with a new\n * valid token. Otherwise, all the recognizers created by this SpeechTranslationConfig instance\n * will encounter errors during recognition.\n * As configuration values are copied when creating a new recognizer, the new token value will not apply\n * to recognizers that have already been created.\n * For recognizers that have been created before, you need to set authorization token of the corresponding recognizer\n * to refresh the token. Otherwise, the recognizers will encounter errors during recognition.\n * @member SpeechTranslationConfig.fromAuthorizationToken\n * @function\n * @public\n * @param {string} authorizationToken - The authorization token.\n * @param {string} region - The region name (see the region page).\n * @returns {SpeechTranslationConfig} The speech translation config.\n */\n SpeechTranslationConfig.fromAuthorizationToken = function (authorizationToken, region) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(authorizationToken, \"authorizationToken\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(region, \"region\");\n var ret = new SpeechTranslationConfigImpl();\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token, authorizationToken);\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Region, region);\n return ret;\n };\n /**\n * Creates an instance of the speech config with specified host and subscription key.\n * This method is intended only for users who use a non-default service host. Standard resource path will be assumed.\n * For services with a non-standard resource path or no path at all, use fromEndpoint instead.\n * Note: Query parameters are not allowed in the host URI and must be set by other APIs.\n * Note: To use an authorization token with fromHost, use fromHost(URL),\n * and then set the AuthorizationToken property on the created SpeechConfig instance.\n * Note: Added in version 1.9.0.\n * @member SpeechConfig.fromHost\n * @function\n * @public\n * @param {URL} host - The service endpoint to connect to. Format is \"protocol://host:port\" where \":port\" is optional.\n * @param {string} subscriptionKey - The subscription key. If a subscription key is not specified, an authorization token must be set.\n * @returns {SpeechConfig} A speech factory instance.\n */\n SpeechTranslationConfig.fromHost = function (hostName, subscriptionKey) {\n Contracts_1.Contracts.throwIfNull(hostName, \"hostName\");\n var speechImpl = new SpeechTranslationConfigImpl();\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Host, hostName.protocol + \"//\" + hostName.hostname + (hostName.port === \"\" ? \"\" : \":\" + hostName.port));\n if (undefined !== subscriptionKey) {\n speechImpl.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n }\n return speechImpl;\n };\n /**\n * Creates an instance of the speech translation config with specified endpoint and subscription key.\n * This method is intended only for users who use a non-standard service endpoint or paramters.\n * Note: The query properties specified in the endpoint URL are not changed, even if they are\n * set by any other APIs. For example, if language is defined in the uri as query parameter\n * \"language=de-DE\", and also set by the speechRecognitionLanguage property, the language\n * setting in uri takes precedence, and the effective language is \"de-DE\".\n * Only the properties that are not specified in the endpoint URL can be set by other APIs.\n * Note: To use authorization token with fromEndpoint, pass an empty string to the subscriptionKey in the\n * fromEndpoint method, and then set authorizationToken=\"token\" on the created SpeechConfig instance to\n * use the authorization token.\n * @member SpeechTranslationConfig.fromEndpoint\n * @function\n * @public\n * @param {URL} endpoint - The service endpoint to connect to.\n * @param {string} subscriptionKey - The subscription key.\n * @returns {SpeechTranslationConfig} A speech config instance.\n */\n SpeechTranslationConfig.fromEndpoint = function (endpoint, subscriptionKey) {\n Contracts_1.Contracts.throwIfNull(endpoint, \"endpoint\");\n Contracts_1.Contracts.throwIfNull(subscriptionKey, \"subscriptionKey\");\n var ret = new SpeechTranslationConfigImpl();\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Endpoint, endpoint.href);\n ret.properties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_Key, subscriptionKey);\n return ret;\n };\n return SpeechTranslationConfig;\n}(Exports_2.SpeechConfig));\nexports.SpeechTranslationConfig = SpeechTranslationConfig;\n/**\n * @private\n * @class SpeechTranslationConfigImpl\n */\n// tslint:disable-next-line:max-classes-per-file\nvar SpeechTranslationConfigImpl = /** @class */ (function (_super) {\n __extends(SpeechTranslationConfigImpl, _super);\n function SpeechTranslationConfigImpl() {\n var _this = _super.call(this) || this;\n _this.privSpeechProperties = new Exports_2.PropertyCollection();\n _this.outputFormat = Exports_2.OutputFormat.Simple;\n return _this;\n }\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"authorizationToken\", {\n /**\n * Gets/Sets the authorization token.\n * If this is set, subscription key is ignored.\n * User needs to make sure the provided authorization token is valid and not expired.\n * @member SpeechTranslationConfigImpl.prototype.authorizationToken\n * @function\n * @public\n * @param {string} value - The authorization token.\n */\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceAuthorization_Token, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the speech recognition language.\n * @member SpeechTranslationConfigImpl.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @return {string} The speechRecognitionLanguage.\n */\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage]);\n },\n /**\n * Sets the speech recognition language.\n * @member SpeechTranslationConfigImpl.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @param {string} value - The authorization token.\n */\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_RecoLanguage, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"subscriptionKey\", {\n /**\n * @member SpeechTranslationConfigImpl.prototype.subscriptionKey\n * @function\n * @public\n */\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_Key]);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"outputFormat\", {\n /**\n * Gets the output format\n * @member SpeechTranslationConfigImpl.prototype.outputFormat\n * @function\n * @public\n */\n get: function () {\n return Exports_2.OutputFormat[this.privSpeechProperties.getProperty(Exports_1.OutputFormatPropertyName, undefined)];\n },\n /**\n * Gets/Sets the output format\n * @member SpeechTranslationConfigImpl.prototype.outputFormat\n * @function\n * @public\n */\n set: function (value) {\n this.privSpeechProperties.setProperty(Exports_1.OutputFormatPropertyName, Exports_2.OutputFormat[value]);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"endpointId\", {\n /**\n * Gets the endpoint id.\n * @member SpeechTranslationConfigImpl.prototype.endpointId\n * @function\n * @public\n */\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId);\n },\n /**\n * Gets/Sets the endpoint id.\n * @member SpeechTranslationConfigImpl.prototype.endpointId\n * @function\n * @public\n */\n set: function (value) {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_EndpointId, value);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Add a (text) target language to translate into.\n * @member SpeechTranslationConfigImpl.prototype.addTargetLanguage\n * @function\n * @public\n * @param {string} value - The language such as de-DE\n */\n SpeechTranslationConfigImpl.prototype.addTargetLanguage = function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n var languages = this.targetLanguages;\n languages.push(value);\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationToLanguages, languages.join(\",\"));\n };\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"targetLanguages\", {\n /**\n * Gets the (text) target language to translate into.\n * @member SpeechTranslationConfigImpl.prototype.targetLanguages\n * @function\n * @public\n * @param {string} value - The language such as de-DE\n */\n get: function () {\n if (this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationToLanguages, undefined) !== undefined) {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\n }\n else {\n return [];\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"voiceName\", {\n /**\n * Gets the voice name.\n * @member SpeechTranslationConfigImpl.prototype.voiceName\n * @function\n * @public\n */\n get: function () {\n return this.getProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_TranslationVoice]);\n },\n /**\n * Gets/Sets the voice of the translated language, enable voice synthesis output.\n * @member SpeechTranslationConfigImpl.prototype.voiceName\n * @function\n * @public\n * @param {string} value - The name of the voice.\n */\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"value\");\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_TranslationVoice, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"region\", {\n /**\n * Provides the region.\n * @member SpeechTranslationConfigImpl.prototype.region\n * @function\n * @public\n * @returns {string} The region.\n */\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_Region);\n },\n enumerable: false,\n configurable: true\n });\n SpeechTranslationConfigImpl.prototype.setProxy = function (proxyHostName, proxyPort, proxyUserName, proxyPassword) {\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyHostName], proxyHostName);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyPort], proxyPort);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyUserName], proxyUserName);\n this.setProperty(Exports_2.PropertyId[Exports_2.PropertyId.SpeechServiceConnection_ProxyPassword], proxyPassword);\n };\n /**\n * Gets an arbitrary property value.\n * @member SpeechTranslationConfigImpl.prototype.getProperty\n * @function\n * @public\n * @param {string} name - The name of the property.\n * @param {string} def - The default value of the property in case it is not set.\n * @returns {string} The value of the property.\n */\n SpeechTranslationConfigImpl.prototype.getProperty = function (name, def) {\n return this.privSpeechProperties.getProperty(name, def);\n };\n /**\n * Gets/Sets an arbitrary property value.\n * @member SpeechTranslationConfigImpl.prototype.setProperty\n * @function\n * @public\n * @param {string} name - The name of the property.\n * @param {string} value - The value of the property.\n */\n SpeechTranslationConfigImpl.prototype.setProperty = function (name, value) {\n this.privSpeechProperties.setProperty(name, value);\n };\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"properties\", {\n /**\n * Provides access to custom properties.\n * @member SpeechTranslationConfigImpl.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The properties.\n */\n get: function () {\n return this.privSpeechProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Dispose of associated resources.\n * @member SpeechTranslationConfigImpl.prototype.close\n * @function\n * @public\n */\n SpeechTranslationConfigImpl.prototype.close = function () {\n return;\n };\n SpeechTranslationConfigImpl.prototype.setServiceProperty = function (name, value, channel) {\n var currentProperties = JSON.parse(this.privSpeechProperties.getProperty(Exports_1.ServicePropertiesPropertyName, \"{}\"));\n currentProperties[name] = value;\n this.privSpeechProperties.setProperty(Exports_1.ServicePropertiesPropertyName, JSON.stringify(currentProperties));\n };\n SpeechTranslationConfigImpl.prototype.setProfanity = function (profanity) {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceResponse_ProfanityOption, Exports_2.ProfanityOption[profanity]);\n };\n SpeechTranslationConfigImpl.prototype.enableAudioLogging = function () {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_EnableAudioLogging, \"true\");\n };\n SpeechTranslationConfigImpl.prototype.requestWordLevelTimestamps = function () {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceResponse_RequestWordLevelTimestamps, \"true\");\n };\n SpeechTranslationConfigImpl.prototype.enableDictation = function () {\n this.privSpeechProperties.setProperty(Exports_1.ForceDictationPropertyName, \"true\");\n };\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"speechSynthesisLanguage\", {\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthLanguage);\n },\n set: function (language) {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthLanguage, language);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"speechSynthesisVoiceName\", {\n get: function () {\n return this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthVoice);\n },\n set: function (voice) {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthVoice, voice);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpeechTranslationConfigImpl.prototype, \"speechSynthesisOutputFormat\", {\n get: function () {\n return Exports_2.SpeechSynthesisOutputFormat[this.privSpeechProperties.getProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthOutputFormat, undefined)];\n },\n set: function (format) {\n this.privSpeechProperties.setProperty(Exports_2.PropertyId.SpeechServiceConnection_SynthOutputFormat, Exports_2.SpeechSynthesisOutputFormat[format]);\n },\n enumerable: false,\n configurable: true\n });\n return SpeechTranslationConfigImpl;\n}(SpeechTranslationConfig));\nexports.SpeechTranslationConfigImpl = SpeechTranslationConfigImpl;\n\n//# sourceMappingURL=SpeechTranslationConfig.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\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};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationImpl = exports.Conversation = void 0;\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../Contracts\");\nvar Exports_3 = require(\"../Exports\");\nvar Conversation = /** @class */ (function () {\n function Conversation() {\n }\n /**\n * Create a conversation\n * @param speechConfig\n * @param cb\n * @param err\n */\n Conversation.createConversationAsync = function (speechConfig, arg2, arg3, arg4) {\n var _this = this;\n Contracts_1.Contracts.throwIfNullOrUndefined(speechConfig, Exports_1.ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"config\"));\n Contracts_1.Contracts.throwIfNullOrUndefined(speechConfig.region, Exports_1.ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Region\"));\n if (!speechConfig.subscriptionKey && !speechConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceAuthorization_Token])) {\n Contracts_1.Contracts.throwIfNullOrUndefined(speechConfig.subscriptionKey, Exports_1.ConversationConnectionConfig.restErrors.invalidArgs.replace(\"{arg}\", \"SpeechServiceConnection_Key\"));\n }\n if (typeof arg2 === \"string\") {\n var conversationImpl = new ConversationImpl(speechConfig, arg2);\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/];\n }); }); })(), arg3, arg4);\n return conversationImpl;\n }\n else {\n var conversationImpl = new ConversationImpl(speechConfig);\n var cb_1 = arg2;\n var err_1 = arg3;\n conversationImpl.createConversationAsync((function () {\n if (!!cb_1) {\n cb_1();\n }\n }), function (error) {\n if (!!err_1) {\n err_1(error);\n }\n });\n return conversationImpl;\n }\n };\n return Conversation;\n}());\nexports.Conversation = Conversation;\n// tslint:disable-next-line:max-classes-per-file\nvar ConversationImpl = /** @class */ (function (_super) {\n __extends(ConversationImpl, _super);\n /**\n * Create a conversation impl\n * @param speechConfig\n * @param {string} id - optional conversationId\n */\n function ConversationImpl(speechConfig, id) {\n var _this = _super.call(this) || this;\n _this.privIsDisposed = false;\n _this.privIsConnected = false;\n _this.privErrors = Exports_1.ConversationConnectionConfig.restErrors;\n _this.privConversationId = \"\";\n /** websocket callbacks */\n _this.onConnected = function (e) {\n _this.privIsConnected = true;\n try {\n if (!!_this.privConversationTranslator.sessionStarted) {\n _this.privConversationTranslator.sessionStarted(_this.privConversationTranslator, e);\n }\n }\n catch (e) {\n //\n }\n };\n _this.onDisconnected = function (e) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.close(false)];\n case 1:\n _a.sent();\n try {\n if (!!this.privConversationTranslator.sessionStopped) {\n this.privConversationTranslator.sessionStopped(this.privConversationTranslator, e);\n }\n }\n catch (e) {\n //\n }\n return [2 /*return*/];\n }\n });\n }); };\n _this.onCanceled = function (r, e) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.close(false)];\n case 1:\n _a.sent(); // ?\n try {\n if (!!this.privConversationTranslator.canceled) {\n this.privConversationTranslator.canceled(this.privConversationTranslator, e);\n }\n }\n catch (e) {\n //\n }\n return [2 /*return*/];\n }\n });\n }); };\n _this.onParticipantUpdateCommandReceived = function (r, e) {\n var _a, _b;\n try {\n var updatedParticipant = _this.privParticipants.getParticipant(e.id);\n if (updatedParticipant !== undefined) {\n switch (e.key) {\n case Exports_1.ConversationTranslatorCommandTypes.changeNickname:\n updatedParticipant.displayName = e.value;\n break;\n case Exports_1.ConversationTranslatorCommandTypes.setUseTTS:\n updatedParticipant.useTts = e.value;\n break;\n case Exports_1.ConversationTranslatorCommandTypes.setProfanityFiltering:\n updatedParticipant.profanity = e.value;\n break;\n case Exports_1.ConversationTranslatorCommandTypes.setMute:\n updatedParticipant.isMuted = e.value;\n break;\n case Exports_1.ConversationTranslatorCommandTypes.setTranslateToLanguages:\n updatedParticipant.translateToLanguages = e.value;\n break;\n }\n _this.privParticipants.addOrUpdateParticipant(updatedParticipant);\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.participantsChanged)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.participantsChanged(_this.privConversationTranslator, new Exports_3.ConversationParticipantsChangedEventArgs(Exports_3.ParticipantChangedReason.Updated, [_this.toParticipant(updatedParticipant)], e.sessionId));\n }\n }\n }\n catch (e) {\n //\n }\n };\n _this.onLockRoomCommandReceived = function (r, e) {\n // TODO\n };\n _this.onMuteAllCommandReceived = function (r, e) {\n var _a, _b;\n try {\n _this.privParticipants.participants.forEach(function (p) { return p.isMuted = (p.isHost ? false : e.isMuted); });\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.participantsChanged)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.participantsChanged(_this.privConversationTranslator, new Exports_3.ConversationParticipantsChangedEventArgs(Exports_3.ParticipantChangedReason.Updated, _this.toParticipants(false), e.sessionId));\n }\n }\n catch (e) {\n //\n }\n };\n _this.onParticipantJoinCommandReceived = function (r, e) {\n var _a, _b;\n try {\n var newParticipant = _this.privParticipants.addOrUpdateParticipant(e.participant);\n if (newParticipant !== undefined) {\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.participantsChanged)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.participantsChanged(_this.privConversationTranslator, new Exports_3.ConversationParticipantsChangedEventArgs(Exports_3.ParticipantChangedReason.JoinedConversation, [_this.toParticipant(newParticipant)], e.sessionId));\n }\n }\n }\n catch (e) {\n //\n }\n };\n _this.onParticipantLeaveCommandReceived = function (r, e) {\n var _a, _b;\n try {\n var ejectedParticipant = _this.privParticipants.getParticipant(e.participant.id);\n if (ejectedParticipant !== undefined) {\n // remove the participant from the internal participants list\n _this.privParticipants.deleteParticipant(e.participant.id);\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.participantsChanged)) {\n // notify subscribers that the participant has left the conversation\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.participantsChanged(_this.privConversationTranslator, new Exports_3.ConversationParticipantsChangedEventArgs(Exports_3.ParticipantChangedReason.LeftConversation, [_this.toParticipant(ejectedParticipant)], e.sessionId));\n }\n }\n }\n catch (e) {\n //\n }\n };\n _this.onTranslationReceived = function (r, e) {\n var _a, _b, _c, _d, _e, _f;\n try {\n switch (e.command) {\n case Exports_1.ConversationTranslatorMessageTypes.final:\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.transcribed)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.transcribed(_this.privConversationTranslator, new Exports_3.ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\n }\n break;\n case Exports_1.ConversationTranslatorMessageTypes.partial:\n if (!!((_c = _this.privConversationTranslator) === null || _c === void 0 ? void 0 : _c.transcribing)) {\n (_d = _this.privConversationTranslator) === null || _d === void 0 ? void 0 : _d.transcribing(_this.privConversationTranslator, new Exports_3.ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\n }\n break;\n case Exports_1.ConversationTranslatorMessageTypes.instantMessage:\n if (!!((_e = _this.privConversationTranslator) === null || _e === void 0 ? void 0 : _e.textMessageReceived)) {\n (_f = _this.privConversationTranslator) === null || _f === void 0 ? void 0 : _f.textMessageReceived(_this.privConversationTranslator, new Exports_3.ConversationTranslationEventArgs(e.payload, undefined, e.sessionId));\n }\n break;\n }\n }\n catch (e) {\n //\n }\n };\n _this.onParticipantsListReceived = function (r, e) {\n var _a, _b, _c;\n try {\n // check if the session token needs to be updated\n if (e.sessionToken !== undefined && e.sessionToken !== null) {\n _this.privRoom.token = e.sessionToken;\n }\n // save the participants\n _this.privParticipants.participants = __spreadArrays(e.participants);\n // enable the conversation\n if (_this.privParticipants.me !== undefined) {\n _this.privIsReady = true;\n }\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.participantsChanged)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.participantsChanged(_this.privConversationTranslator, new Exports_3.ConversationParticipantsChangedEventArgs(Exports_3.ParticipantChangedReason.JoinedConversation, _this.toParticipants(true), e.sessionId));\n }\n // if this is the host, update the nickname if needed\n if (_this.me.isHost) {\n var nickname = (_c = _this.privConversationTranslator) === null || _c === void 0 ? void 0 : _c.properties.getProperty(Exports_3.PropertyId.ConversationTranslator_Name);\n if (nickname !== undefined && nickname.length > 0 && nickname !== _this.me.displayName) {\n // issue a change nickname request\n _this.changeNicknameAsync(nickname);\n }\n }\n }\n catch (e) {\n //\n }\n };\n _this.onConversationExpiration = function (r, e) {\n var _a, _b;\n try {\n if (!!((_a = _this.privConversationTranslator) === null || _a === void 0 ? void 0 : _a.conversationExpiration)) {\n (_b = _this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.conversationExpiration(_this.privConversationTranslator, e);\n }\n }\n catch (e) {\n //\n }\n };\n _this.privProperties = new Exports_3.PropertyCollection();\n _this.privManager = new Exports_1.ConversationManager();\n // check the speech language\n var language = speechConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage]);\n if (!language) {\n speechConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage], Exports_1.ConversationConnectionConfig.defaultLanguageCode);\n }\n _this.privLanguage = speechConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage]);\n if (!id) {\n // check the target language(s)\n if (speechConfig.targetLanguages.length === 0) {\n speechConfig.addTargetLanguage(_this.privLanguage);\n }\n // check the profanity setting: speech and conversationTranslator should be in sync\n var profanity = speechConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceResponse_ProfanityOption]);\n if (!profanity) {\n speechConfig.setProfanity(Exports_3.ProfanityOption.Masked);\n }\n // check the nickname: it should pass this regex: ^\\w+([\\s-][\\w\\(\\)]+)*$\"\n // TODO: specify the regex required. Nicknames must be unique or get the duplicate nickname error\n // TODO: check what the max length is and if a truncation is required or if the service handles it without an error\n var hostNickname = speechConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.ConversationTranslator_Name]);\n if (hostNickname === undefined || hostNickname === null || hostNickname.length <= 1 || hostNickname.length > 50) {\n hostNickname = \"Host\";\n }\n speechConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.ConversationTranslator_Name], hostNickname);\n }\n else {\n _this.privConversationId = id;\n }\n // save the speech config for future usage\n _this.privConfig = speechConfig;\n // save the config properties\n var configImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(configImpl, \"speechConfig\");\n _this.privProperties = configImpl.properties.clone();\n _this.privIsConnected = false;\n _this.privParticipants = new Exports_1.InternalParticipants();\n _this.privIsReady = false;\n _this.privTextMessageMaxLength = 1000;\n return _this;\n }\n Object.defineProperty(ConversationImpl.prototype, \"conversationTranslator\", {\n set: function (value) {\n this.privConversationTranslator = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"room\", {\n // get the internal data about a conversation\n get: function () {\n return this.privRoom;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"connection\", {\n // get the wrapper for connecting to the websockets\n get: function () {\n return this.privConversationRecognizer; // this.privConnection;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"authorizationToken\", {\n // get / set the speech auth token\n get: function () {\n return this.privToken;\n },\n set: function (value) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(value, \"authorizationToken\");\n this.privToken = value;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"config\", {\n // get the config\n get: function () {\n return this.privConfig;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"conversationId\", {\n // get the conversation Id\n get: function () {\n return this.privRoom ? this.privRoom.roomId : this.privConversationId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"properties\", {\n // get the properties\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"speechRecognitionLanguage\", {\n // get the speech language\n get: function () {\n return this.privLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"isMutedByHost\", {\n get: function () {\n var _a, _b;\n return ((_a = this.privParticipants.me) === null || _a === void 0 ? void 0 : _a.isHost) ? false : (_b = this.privParticipants.me) === null || _b === void 0 ? void 0 : _b.isMuted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"isConnected\", {\n get: function () {\n return this.privIsConnected && this.privIsReady;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"participants\", {\n get: function () {\n return this.toParticipants(true);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"me\", {\n get: function () {\n return this.toParticipant(this.privParticipants.me);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"host\", {\n get: function () {\n return this.toParticipant(this.privParticipants.host);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Create a new conversation as Host\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.createConversationAsync = function (cb, err) {\n var _this = this;\n try {\n if (!!this.privConversationRecognizer) {\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\n }\n this.privManager.createOrJoin(this.privProperties, undefined, (function (room) {\n if (!room) {\n _this.handleError(new Error(_this.privErrors.permissionDeniedConnect), err);\n }\n _this.privRoom = room;\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Starts a new conversation as host.\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.startConversationAsync = function (cb, err) {\n var _this = this;\n try {\n // check if there is already a recognizer\n if (!!this.privConversationRecognizer) {\n this.handleError(new Error(this.privErrors.permissionDeniedStart), err);\n }\n // check if there is conversation data available\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedConnect);\n // connect to the conversation websocket\n this.privParticipants.meId = this.privRoom.participantId;\n this.privConversationRecognizer = Exports_1.ConversationRecognizerFactory.fromConfig(this.privConfig);\n // Because ConversationTranslator manually sets up and manages the connection, Conversation\n // has to forward serviceRecognizer connection events that usually get passed automatically\n this.privConversationRecognizer.connected = this.onConnected;\n this.privConversationRecognizer.disconnected = this.onDisconnected;\n this.privConversationRecognizer.canceled = this.onCanceled;\n this.privConversationRecognizer.participantUpdateCommandReceived = this.onParticipantUpdateCommandReceived;\n this.privConversationRecognizer.lockRoomCommandReceived = this.onLockRoomCommandReceived;\n this.privConversationRecognizer.muteAllCommandReceived = this.onMuteAllCommandReceived;\n this.privConversationRecognizer.participantJoinCommandReceived = this.onParticipantJoinCommandReceived;\n this.privConversationRecognizer.participantLeaveCommandReceived = this.onParticipantLeaveCommandReceived;\n this.privConversationRecognizer.translationReceived = this.onTranslationReceived;\n this.privConversationRecognizer.participantsListReceived = this.onParticipantsListReceived;\n this.privConversationRecognizer.conversationExpiration = this.onConversationExpiration;\n this.privConversationRecognizer.connect(this.privRoom.token, (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Join a conversation as a participant.\n * @param { IParticipant } participant - participant to add\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.addParticipantAsync = function (participant, cb, err) {\n Contracts_1.Contracts.throwIfNullOrUndefined(participant, \"Participant\");\n Exports_2.marshalPromiseToCallbacks(this.addParticipantImplAsync(participant), cb, err);\n };\n /**\n * Join a conversation as a participant.\n * @param conversation\n * @param nickname\n * @param lang\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.joinConversationAsync = function (conversationId, nickname, lang, cb, err) {\n var _this = this;\n try {\n // TODO\n // if (!!this.privConversationRecognizer) {\n // throw new Error(this.privErrors.permissionDeniedStart);\n // }\n Contracts_1.Contracts.throwIfNullOrWhitespace(conversationId, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversationId\"));\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\n Contracts_1.Contracts.throwIfNullOrWhitespace(lang, this.privErrors.invalidArgs.replace(\"{arg}\", \"language\"));\n // join the conversation\n this.privManager.createOrJoin(this.privProperties, conversationId, (function (room) {\n Contracts_1.Contracts.throwIfNullOrUndefined(room, _this.privErrors.permissionDeniedConnect);\n _this.privRoom = room;\n _this.privConfig.authorizationToken = room.cognitiveSpeechAuthToken;\n // join callback\n if (!!cb) {\n cb(room.cognitiveSpeechAuthToken);\n }\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Deletes a conversation\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.deleteConversationAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.deleteConversationImplAsync(), cb, err);\n };\n ConversationImpl.prototype.deleteConversationImplAsync = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privProperties, this.privErrors.permissionDeniedConnect);\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.token, this.privErrors.permissionDeniedConnect);\n return [4 /*yield*/, this.privManager.leave(this.privProperties, this.privRoom.token)];\n case 1:\n _a.sent();\n this.dispose();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Issues a request to close the client websockets\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.endConversationAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.endConversationImplAsync(), cb, err);\n };\n ConversationImpl.prototype.endConversationImplAsync = function () {\n return this.close(true);\n };\n /**\n * Issues a request to lock the conversation\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.lockConversationAsync = function (cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSendAsHost) {\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"lock\")), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getLockCommand(true), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to mute the conversation\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.muteAllParticipantsAsync = function (cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversationRecognizer, this.privErrors.permissionDeniedSend);\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n // check the user's permissions\n if (!this.canSendAsHost) {\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"mute\")), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getMuteAllCommand(true), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to mute a participant in the conversation\n * @param userId\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.muteParticipantAsync = function (userId, cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n // check the connection is open (host + participant can perform the mute command)\n if (!this.canSend) {\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\n }\n // if not host, check the participant is not muting another participant\n if (!this.me.isHost && this.me.id !== userId) {\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\n }\n // check the user exists\n var exists = this.privParticipants.getParticipantIndex(userId);\n if (exists === -1) {\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getMuteCommand(userId, true), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to remove a participant from the conversation\n * @param userId\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.removeParticipantAsync = function (userId, cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n if (!!this.privTranscriberRecognizer && userId.hasOwnProperty(\"id\")) {\n // Assume this is a transcription participant\n Exports_2.marshalPromiseToCallbacks(this.removeParticipantImplAsync(userId), cb, err);\n }\n else {\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSendAsHost) {\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"remove\")), err);\n }\n var participantId_1 = \"\";\n if (typeof userId === \"string\") {\n participantId_1 = userId;\n }\n else if (userId.hasOwnProperty(\"id\")) {\n var participant = userId;\n participantId_1 = participant.id;\n }\n else if (userId.hasOwnProperty(\"userId\")) {\n var user = userId;\n participantId_1 = user.userId;\n }\n Contracts_1.Contracts.throwIfNullOrWhitespace(participantId_1, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\n // check the participant exists\n var index = this.participants.findIndex(function (p) { return p.id === participantId_1; });\n if (index === -1) {\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getEjectCommand(participantId_1), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to unlock the conversation\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.unlockConversationAsync = function (cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSendAsHost) {\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unlock\")), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getLockCommand(false), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to unmute all participants in the conversation\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.unmuteAllParticipantsAsync = function (cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSendAsHost) {\n this.handleError(new Error(this.privErrors.permissionDeniedConversation.replace(\"{command}\", \"unmute all\")), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getMuteAllCommand(false), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Issues a request to unmute a participant in the conversation\n * @param userId\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.unmuteParticipantAsync = function (userId, cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrWhitespace(userId, this.privErrors.invalidArgs.replace(\"{arg}\", \"userId\"));\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n // check the connection is open (host + participant can perform the mute command)\n if (!this.canSend) {\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\n }\n // if not host, check the participant is not muting another participant\n if (!this.me.isHost && this.me.id !== userId) {\n this.handleError(new Error(this.privErrors.permissionDeniedParticipant.replace(\"{command}\", \"mute\")), err);\n }\n // check the user exists\n var exists = this.privParticipants.getParticipantIndex(userId);\n if (exists === -1) {\n this.handleError(new Error(this.privErrors.invalidParticipantRequest), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getMuteCommand(userId, false), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Send a text message\n * @param message\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.sendTextMessageAsync = function (message, cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrWhitespace(message, this.privErrors.invalidArgs.replace(\"{arg}\", \"message\"));\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSend) {\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\n }\n // TODO: is a max length check required?\n if (message.length > this.privTextMessageMaxLength) {\n this.handleError(new Error(this.privErrors.invalidArgs.replace(\"{arg}\", \"message length\")), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getMessageCommand(message), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Change nickname\n * @param message\n * @param cb\n * @param err\n */\n ConversationImpl.prototype.changeNicknameAsync = function (nickname, cb, err) {\n var _this = this;\n var _a;\n try {\n Contracts_1.Contracts.throwIfDisposed(this.privIsDisposed);\n Contracts_1.Contracts.throwIfDisposed(this.privConversationRecognizer.isDisposed());\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRoom, this.privErrors.permissionDeniedSend);\n if (!this.canSend) {\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\n }\n (_a = this.privConversationRecognizer) === null || _a === void 0 ? void 0 : _a.sendRequest(this.getChangeNicknameCommand(nickname), (function () {\n _this.handleCallback(cb, err);\n }), (function (error) {\n _this.handleError(error, err);\n }));\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n ConversationImpl.prototype.isDisposed = function () {\n return this.privIsDisposed;\n };\n ConversationImpl.prototype.dispose = function (reason) {\n var _a;\n if (this.isDisposed) {\n return;\n }\n this.privIsDisposed = true;\n (_a = this.config) === null || _a === void 0 ? void 0 : _a.close();\n this.privConfig = undefined;\n this.privLanguage = undefined;\n this.privProperties = undefined;\n this.privRoom = undefined;\n this.privToken = undefined;\n this.privManager = undefined;\n this.privConversationRecognizer = undefined;\n this.privIsConnected = false;\n this.privIsReady = false;\n this.privParticipants = undefined;\n };\n Object.defineProperty(ConversationImpl.prototype, \"transcriberRecognizer\", {\n get: function () {\n return this.privTranscriberRecognizer;\n },\n enumerable: false,\n configurable: true\n });\n ConversationImpl.prototype.connectTranscriberRecognizer = function (recognizer) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!!this.privTranscriberRecognizer) return [3 /*break*/, 2];\n return [4 /*yield*/, this.privTranscriberRecognizer.close()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n this.privTranscriberRecognizer = recognizer;\n this.privTranscriberRecognizer.conversation = this;\n return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(ConversationImpl.prototype, \"conversationInfo\", {\n get: function () {\n var convId = this.conversationId;\n var p = this.participants.map(function (part) {\n return {\n id: part.id,\n preferredLanguage: part.preferredLanguage,\n voice: part.voice\n };\n });\n var props = {};\n for (var _i = 0, _a = Exports_1.ConversationConnectionConfig.transcriptionEventKeys; _i < _a.length; _i++) {\n var key = _a[_i];\n var val = this.properties.getProperty(key, \"\");\n if (val !== \"\") {\n props[key] = val;\n }\n }\n var info = { id: convId, participants: p, conversationProperties: props };\n return info;\n },\n enumerable: false,\n configurable: true\n });\n ConversationImpl.prototype.addParticipantImplAsync = function (participant) {\n var newParticipant = this.privParticipants.addOrUpdateParticipant(participant);\n if (newParticipant !== undefined) {\n if (!!this.privTranscriberRecognizer) {\n var conversationInfo = this.conversationInfo;\n conversationInfo.participants = [participant];\n return this.privTranscriberRecognizer.pushConversationEvent(conversationInfo, \"join\");\n }\n }\n };\n ConversationImpl.prototype.removeParticipantImplAsync = function (participant) {\n this.privParticipants.deleteParticipant(participant.id);\n var conversationInfo = this.conversationInfo;\n conversationInfo.participants = [participant];\n return this.privTranscriberRecognizer.pushConversationEvent(conversationInfo, \"leave\");\n };\n ConversationImpl.prototype.close = function (dispose) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 3, , 4]);\n this.privIsConnected = false;\n return [4 /*yield*/, this.privConversationRecognizer.close()];\n case 1:\n _c.sent();\n return [4 /*yield*/, ((_a = this.privTranscriberRecognizer) === null || _a === void 0 ? void 0 : _a.close())];\n case 2:\n _c.sent();\n this.privConversationRecognizer = undefined;\n (_b = this.privConversationTranslator) === null || _b === void 0 ? void 0 : _b.dispose();\n return [3 /*break*/, 4];\n case 3:\n e_1 = _c.sent();\n return [3 /*break*/, 4];\n case 4:\n if (dispose) {\n this.dispose();\n }\n return [2 /*return*/];\n }\n });\n });\n };\n Object.defineProperty(ConversationImpl.prototype, \"canSend\", {\n /** Helpers */\n get: function () {\n var _a;\n return this.privIsConnected && !((_a = this.privParticipants.me) === null || _a === void 0 ? void 0 : _a.isMuted);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationImpl.prototype, \"canSendAsHost\", {\n get: function () {\n var _a;\n return this.privIsConnected && ((_a = this.privParticipants.me) === null || _a === void 0 ? void 0 : _a.isHost);\n },\n enumerable: false,\n configurable: true\n });\n ConversationImpl.prototype.handleCallback = function (cb, err) {\n if (!!cb) {\n try {\n cb();\n }\n catch (e) {\n if (!!err) {\n err(e);\n }\n }\n cb = undefined;\n }\n };\n ConversationImpl.prototype.handleError = function (error, err) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n };\n /** Participant Helpers */\n ConversationImpl.prototype.toParticipants = function (includeHost) {\n var _this = this;\n var participants = this.privParticipants.participants.map(function (p) {\n return _this.toParticipant(p);\n });\n if (!includeHost) {\n return participants.filter(function (p) { return p.isHost === false; });\n }\n else {\n return participants;\n }\n };\n ConversationImpl.prototype.toParticipant = function (p) {\n return new Exports_3.Participant(p.id, p.avatar, p.displayName, p.isHost, p.isMuted, p.isUsingTts, p.preferredLanguage, p.voice);\n };\n ConversationImpl.prototype.getMuteAllCommand = function (isMuted) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\n return JSON.stringify({\n command: Exports_1.ConversationTranslatorCommandTypes.setMuteAll,\n // tslint:disable-next-line: object-literal-shorthand\n participantId: this.privRoom.participantId,\n roomid: this.privRoom.roomId,\n type: Exports_1.ConversationTranslatorMessageTypes.participantCommand,\n value: isMuted\n });\n };\n ConversationImpl.prototype.getMuteCommand = function (participantId, isMuted) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\n return JSON.stringify({\n command: Exports_1.ConversationTranslatorCommandTypes.setMute,\n // tslint:disable-next-line: object-literal-shorthand\n participantId: participantId,\n roomid: this.privRoom.roomId,\n type: Exports_1.ConversationTranslatorMessageTypes.participantCommand,\n value: isMuted\n });\n };\n ConversationImpl.prototype.getLockCommand = function (isLocked) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\n return JSON.stringify({\n command: Exports_1.ConversationTranslatorCommandTypes.setLockState,\n // tslint:disable-next-line: object-literal-shorthand\n participantId: this.privRoom.participantId,\n roomid: this.privRoom.roomId,\n type: Exports_1.ConversationTranslatorMessageTypes.participantCommand,\n value: isLocked\n });\n };\n ConversationImpl.prototype.getEjectCommand = function (participantId) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(participantId, \"participantId\");\n return JSON.stringify({\n command: Exports_1.ConversationTranslatorCommandTypes.ejectParticipant,\n // tslint:disable-next-line: object-literal-shorthand\n participantId: participantId,\n roomid: this.privRoom.roomId,\n type: Exports_1.ConversationTranslatorMessageTypes.participantCommand,\n });\n };\n ConversationImpl.prototype.getChangeNicknameCommand = function (nickname) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, \"nickname\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\n return JSON.stringify({\n command: Exports_1.ConversationTranslatorCommandTypes.changeNickname,\n nickname: nickname,\n // tslint:disable-next-line: object-literal-shorthand\n participantId: this.privRoom.participantId,\n roomid: this.privRoom.roomId,\n type: Exports_1.ConversationTranslatorMessageTypes.participantCommand,\n value: nickname\n });\n };\n ConversationImpl.prototype.getMessageCommand = function (message) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.roomId, \"conversationId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(this.privRoom.participantId, \"participantId\");\n Contracts_1.Contracts.throwIfNullOrWhitespace(message, \"message\");\n return JSON.stringify({\n // tslint:disable-next-line: object-literal-shorthand\n participantId: this.privRoom.participantId,\n roomId: this.privRoom.roomId,\n text: message,\n type: Exports_1.ConversationTranslatorMessageTypes.instantMessage\n });\n };\n return ConversationImpl;\n}(Conversation));\nexports.ConversationImpl = ConversationImpl;\n\n//# sourceMappingURL=Conversation.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationCommon = void 0;\nvar ConversationCommon = /** @class */ (function () {\n function ConversationCommon(audioConfig) {\n this.privAudioConfig = audioConfig;\n }\n ConversationCommon.prototype.handleCallback = function (cb, err) {\n if (!!cb) {\n try {\n cb();\n }\n catch (e) {\n if (!!err) {\n err(e);\n }\n }\n cb = undefined;\n }\n };\n ConversationCommon.prototype.handleError = function (error, err) {\n if (!!err) {\n if (error instanceof Error) {\n var typedError = error;\n err(typedError.name + \": \" + typedError.message);\n }\n else {\n err(error);\n }\n }\n };\n return ConversationCommon;\n}());\nexports.ConversationCommon = ConversationCommon;\n\n//# sourceMappingURL=ConversationCommon.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 });\nexports.ConversationExpirationEventArgs = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar ConversationExpirationEventArgs = /** @class */ (function (_super) {\n __extends(ConversationExpirationEventArgs, _super);\n function ConversationExpirationEventArgs(expirationTime, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privExpirationTime = expirationTime;\n return _this;\n }\n Object.defineProperty(ConversationExpirationEventArgs.prototype, \"expirationTime\", {\n /** How much longer until the conversation expires (in minutes). */\n get: function () {\n return this.privExpirationTime;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationExpirationEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ConversationExpirationEventArgs = ConversationExpirationEventArgs;\n\n//# sourceMappingURL=ConversationExpirationEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 });\nexports.ConversationParticipantsChangedEventArgs = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar ConversationParticipantsChangedEventArgs = /** @class */ (function (_super) {\n __extends(ConversationParticipantsChangedEventArgs, _super);\n function ConversationParticipantsChangedEventArgs(reason, participants, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privReason = reason;\n _this.privParticipant = participants;\n return _this;\n }\n Object.defineProperty(ConversationParticipantsChangedEventArgs.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationParticipantsChangedEventArgs.prototype, \"participants\", {\n get: function () {\n return this.privParticipant;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationParticipantsChangedEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.ConversationParticipantsChangedEventArgs = ConversationParticipantsChangedEventArgs;\n\n//# sourceMappingURL=ConversationParticipantsChangedEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationTranscriber = void 0;\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../Contracts\");\nvar Exports_3 = require(\"../Exports\");\nvar ConversationTranscriber = /** @class */ (function () {\n /**\n * ConversationTranscriber constructor.\n * @constructor\n * @param {AudioConfig} audioConfig - An optional audio configuration associated with the recognizer\n */\n function ConversationTranscriber(audioConfig) {\n this.privAudioConfig = audioConfig;\n this.privProperties = new Exports_3.PropertyCollection();\n this.privRecognizer = undefined;\n this.privDisposedRecognizer = false;\n }\n /**\n * @param {Conversation} converation - conversation to be recognized\n */\n ConversationTranscriber.prototype.joinConversationAsync = function (conversation, cb, err) {\n var conversationImpl = conversation;\n Contracts_1.Contracts.throwIfNullOrUndefined(conversationImpl, \"Conversation\");\n // ref the conversation object\n // create recognizer and subscribe to recognizer events\n this.privRecognizer = new Exports_1.TranscriberRecognizer(conversation.config, this.privAudioConfig);\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privRecognizer, \"Recognizer\");\n this.privRecognizer.connectCallbacks(this);\n Exports_2.marshalPromiseToCallbacks(conversationImpl.connectTranscriberRecognizer(this.privRecognizer), cb, err);\n };\n Object.defineProperty(ConversationTranscriber.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member ConversationTranscriber.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member ConversationTranscriber.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranscriber.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the spoken language of recognition.\n * @member ConversationTranscriber.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @returns {string} The spoken language of recognition.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranscriber.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this ConversationTranscriber.\n * @member ConversationTranscriber.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this ConversationTranscriber.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Starts conversation transcription, until stopTranscribingAsync() is called.\n * User must subscribe to events to receive transcription results.\n * @member ConversationTranscriber.prototype.startTranscribingAsync\n * @function\n * @public\n * @param cb - Callback invoked once the transcription has started.\n * @param err - Callback invoked in case of an error.\n */\n ConversationTranscriber.prototype.startTranscribingAsync = function (cb, err) {\n this.privRecognizer.startContinuousRecognitionAsync(cb, err);\n };\n /**\n * Starts conversation transcription, until stopTranscribingAsync() is called.\n * User must subscribe to events to receive transcription results.\n * @member ConversationTranscriber.prototype.stopTranscribingAsync\n * @function\n * @public\n * @param cb - Callback invoked once the transcription has started.\n * @param err - Callback invoked in case of an error.\n */\n ConversationTranscriber.prototype.stopTranscribingAsync = function (cb, err) {\n this.privRecognizer.stopContinuousRecognitionAsync(cb, err);\n };\n /**\n * Leave the current conversation. After this is called, you will no longer receive any events.\n */\n ConversationTranscriber.prototype.leaveConversationAsync = function (cb, err) {\n var _this = this;\n this.privRecognizer.disconnectCallbacks();\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/];\n }); }); })(), cb, err);\n };\n /**\n * closes all external resources held by an instance of this class.\n * @member ConversationTranscriber.prototype.close\n * @function\n * @public\n */\n ConversationTranscriber.prototype.close = function (cb, errorCb) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedRecognizer);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\n };\n /**\n * Disposes any resources held by the object.\n * @member ConversationTranscriber.prototype.dispose\n * @function\n * @public\n * @param {boolean} disposing - true if disposing the object.\n */\n ConversationTranscriber.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (this.privDisposedRecognizer) {\n return [2 /*return*/];\n }\n if (disposing) {\n this.privDisposedRecognizer = true;\n }\n return [2 /*return*/];\n });\n });\n };\n return ConversationTranscriber;\n}());\nexports.ConversationTranscriber = ConversationTranscriber;\n\n//# sourceMappingURL=ConversationTranscriber.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 });\nexports.ConversationTranslationCanceledEventArgs = void 0;\nvar CancellationEventArgsBase_1 = require(\"../CancellationEventArgsBase\");\nvar ConversationTranslationCanceledEventArgs = /** @class */ (function (_super) {\n __extends(ConversationTranslationCanceledEventArgs, _super);\n function ConversationTranslationCanceledEventArgs() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ConversationTranslationCanceledEventArgs;\n}(CancellationEventArgsBase_1.CancellationEventArgsBase));\nexports.ConversationTranslationCanceledEventArgs = ConversationTranslationCanceledEventArgs;\n\n//# sourceMappingURL=ConversationTranslationCanceledEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 });\nexports.ConversationTranslationEventArgs = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar ConversationTranslationEventArgs = /** @class */ (function (_super) {\n __extends(ConversationTranslationEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {ConversationTranslationResult} result - The translation recognition result.\n * @param {number} offset - The offset.\n * @param {string} sessionId - The session id.\n */\n function ConversationTranslationEventArgs(result, offset, sessionId) {\n var _this = _super.call(this, offset, sessionId) || this;\n _this.privResult = result;\n return _this;\n }\n Object.defineProperty(ConversationTranslationEventArgs.prototype, \"result\", {\n /**\n * Specifies the recognition result.\n * @returns {ConversationTranslationResult} the recognition result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationTranslationEventArgs;\n}(Exports_1.RecognitionEventArgs));\nexports.ConversationTranslationEventArgs = ConversationTranslationEventArgs;\n\n//# sourceMappingURL=ConversationTranslationEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 });\nexports.ConversationTranslationResult = void 0;\nvar TranslationRecognitionResult_1 = require(\"../TranslationRecognitionResult\");\nvar ConversationTranslationResult = /** @class */ (function (_super) {\n __extends(ConversationTranslationResult, _super);\n function ConversationTranslationResult(participantId, translations, originalLanguage, resultId, reason, text, duration, offset, errorDetails, json, properties) {\n var _this = _super.call(this, translations, resultId, reason, text, duration, offset, errorDetails, json, properties) || this;\n _this.privId = participantId;\n _this.privOrigLang = originalLanguage;\n return _this;\n }\n Object.defineProperty(ConversationTranslationResult.prototype, \"participantId\", {\n /**\n * The unique identifier for the participant this result is for.\n */\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslationResult.prototype, \"originalLang\", {\n /**\n * The original language this result was in.\n */\n get: function () {\n return this.privOrigLang;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationTranslationResult;\n}(TranslationRecognitionResult_1.TranslationRecognitionResult));\nexports.ConversationTranslationResult = ConversationTranslationResult;\n\n//# sourceMappingURL=ConversationTranslationResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ConversationTranslator = exports.SpeechState = void 0;\nvar Exports_1 = require(\"../../common.speech/Exports\");\nvar Exports_2 = require(\"../../common/Exports\");\nvar Contracts_1 = require(\"../Contracts\");\nvar Exports_3 = require(\"../Exports\");\nvar Conversation_1 = require(\"./Conversation\");\nvar Exports_4 = require(\"./Exports\");\nvar SpeechState;\n(function (SpeechState) {\n SpeechState[SpeechState[\"Inactive\"] = 0] = \"Inactive\";\n SpeechState[SpeechState[\"Connecting\"] = 1] = \"Connecting\";\n SpeechState[SpeechState[\"Connected\"] = 2] = \"Connected\";\n})(SpeechState = exports.SpeechState || (exports.SpeechState = {}));\n// tslint:disable:max-classes-per-file\n// child class of TranslationRecognizer meant only for use with ConversationTranslator\nvar ConversationTranslationRecognizer = /** @class */ (function (_super) {\n __extends(ConversationTranslationRecognizer, _super);\n function ConversationTranslationRecognizer(speechConfig, audioConfig, translator) {\n var _this = _super.call(this, speechConfig, audioConfig) || this;\n _this.privSpeechState = SpeechState.Inactive;\n if (!!translator) {\n _this.privTranslator = translator;\n _this.sessionStarted = function () {\n _this.privSpeechState = SpeechState.Connected;\n };\n _this.sessionStopped = function () {\n _this.privSpeechState = SpeechState.Inactive;\n };\n _this.recognized = function (tr, e) { return __awaiter(_this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!((_a = e.result) === null || _a === void 0 ? void 0 : _a.errorDetails)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.cancelSpeech()];\n case 1:\n _b.sent();\n // TODO: format the error message contained in 'errorDetails'\n this.fireCancelEvent(e.result.errorDetails);\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n }); };\n _this.canceled = function (r, e) { return __awaiter(_this, void 0, void 0, function () {\n var error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.privSpeechState !== SpeechState.Inactive)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cancelSpeech()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n this.privSpeechState = SpeechState.Inactive;\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n }); };\n }\n return _this;\n }\n Object.defineProperty(ConversationTranslationRecognizer.prototype, \"state\", {\n get: function () {\n return this.privSpeechState;\n },\n set: function (newState) {\n this.privSpeechState = newState;\n },\n enumerable: false,\n configurable: true\n });\n ConversationTranslationRecognizer.prototype.onConnection = function () {\n this.privSpeechState = SpeechState.Connected;\n };\n ConversationTranslationRecognizer.prototype.onDisconnection = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.privSpeechState = SpeechState.Inactive;\n return [4 /*yield*/, this.cancelSpeech()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Fire a cancel event\n * @param error\n */\n ConversationTranslationRecognizer.prototype.fireCancelEvent = function (error) {\n var _a, _b, _c;\n try {\n if (!!this.privTranslator.canceled) {\n var cancelEvent = new Exports_4.ConversationTranslationCanceledEventArgs((_a = error === null || error === void 0 ? void 0 : error.reason) !== null && _a !== void 0 ? _a : Exports_3.CancellationReason.Error, (_b = error === null || error === void 0 ? void 0 : error.errorDetails) !== null && _b !== void 0 ? _b : error, (_c = error === null || error === void 0 ? void 0 : error.errorCode) !== null && _c !== void 0 ? _c : Exports_3.CancellationErrorCode.RuntimeError, undefined, error === null || error === void 0 ? void 0 : error.sessionId);\n this.privTranslator.canceled(this.privTranslator, cancelEvent);\n }\n }\n catch (e) {\n //\n }\n };\n ConversationTranslationRecognizer.prototype.cancelSpeech = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n this.stopContinuousRecognitionAsync();\n return [4 /*yield*/, ((_a = this.privReco) === null || _a === void 0 ? void 0 : _a.disconnect())];\n case 1:\n _b.sent();\n this.privSpeechState = SpeechState.Inactive;\n return [3 /*break*/, 3];\n case 2:\n e_1 = _b.sent();\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n return ConversationTranslationRecognizer;\n}(Exports_3.TranslationRecognizer));\n/***\n * Join, leave or connect to a conversation.\n */\nvar ConversationTranslator = /** @class */ (function (_super) {\n __extends(ConversationTranslator, _super);\n function ConversationTranslator(audioConfig) {\n var _this = _super.call(this, audioConfig) || this;\n _this.privIsDisposed = false;\n _this.privIsSpeaking = false;\n _this.privErrors = Exports_1.ConversationConnectionConfig.restErrors;\n _this.privPlaceholderKey = \"abcdefghijklmnopqrstuvwxyz012345\";\n _this.privPlaceholderRegion = \"westus\";\n _this.privProperties = new Exports_3.PropertyCollection();\n return _this;\n }\n Object.defineProperty(ConversationTranslator.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslator.prototype, \"speechRecognitionLanguage\", {\n get: function () {\n return this.privSpeechRecognitionLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ConversationTranslator.prototype, \"participants\", {\n get: function () {\n var _a;\n return (_a = this.privConversation) === null || _a === void 0 ? void 0 : _a.participants;\n },\n enumerable: false,\n configurable: true\n });\n ConversationTranslator.prototype.joinConversationAsync = function (conversation, nickname, param1, param2, param3) {\n var _this = this;\n try {\n if (typeof conversation === \"string\") {\n Contracts_1.Contracts.throwIfNullOrUndefined(conversation, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversation id\"));\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\n if (!!this.privConversation) {\n this.handleError(new Error(this.privErrors.permissionDeniedStart), param3);\n }\n var lang = param1;\n if (lang === undefined || lang === null || lang === \"\") {\n lang = Exports_1.ConversationConnectionConfig.defaultLanguageCode;\n }\n // create a placeholder config\n this.privSpeechTranslationConfig = Exports_3.SpeechTranslationConfig.fromSubscription(this.privPlaceholderKey, this.privPlaceholderRegion);\n this.privSpeechTranslationConfig.setProfanity(Exports_3.ProfanityOption.Masked);\n this.privSpeechTranslationConfig.addTargetLanguage(lang);\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage], lang);\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.ConversationTranslator_Name], nickname);\n var endpoint = this.privProperties.getProperty(Exports_3.PropertyId.ConversationTranslator_Host);\n if (endpoint) {\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.ConversationTranslator_Host], endpoint);\n }\n var speechEndpointHost = this.privProperties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_Host);\n if (speechEndpointHost) {\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Host], speechEndpointHost);\n }\n // join the conversation\n this.privConversation = new Conversation_1.ConversationImpl(this.privSpeechTranslationConfig);\n this.privConversation.conversationTranslator = this;\n this.privConversation.joinConversationAsync(conversation, nickname, lang, (function (result) {\n if (!result) {\n _this.handleError(new Error(_this.privErrors.permissionDeniedConnect), param3);\n }\n _this.privSpeechTranslationConfig.authorizationToken = result;\n // connect to the ws\n _this.privConversation.startConversationAsync((function () {\n _this.handleCallback(param2, param3);\n }), (function (error) {\n _this.handleError(error, param3);\n }));\n }), (function (error) {\n _this.handleError(error, param3);\n }));\n }\n else if (typeof conversation === \"object\") {\n Contracts_1.Contracts.throwIfNullOrUndefined(conversation, this.privErrors.invalidArgs.replace(\"{arg}\", \"conversation id\"));\n Contracts_1.Contracts.throwIfNullOrWhitespace(nickname, this.privErrors.invalidArgs.replace(\"{arg}\", \"nickname\"));\n // save the nickname\n this.privProperties.setProperty(Exports_3.PropertyId.ConversationTranslator_Name, nickname);\n // ref the conversation object\n this.privConversation = conversation;\n // ref the conversation translator object\n this.privConversation.conversationTranslator = this;\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedConnect);\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation.room.token, this.privErrors.permissionDeniedConnect);\n this.privSpeechTranslationConfig = conversation.config;\n this.handleCallback(param1, param2);\n }\n else {\n this.handleError(new Error(this.privErrors.invalidArgs.replace(\"{arg}\", \"invalid conversation type\")), param2);\n }\n }\n catch (error) {\n this.handleError(error, typeof param1 === \"string\" ? param3 : param2);\n }\n };\n /**\n * Leave the conversation\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.leaveConversationAsync = function (cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // stop the speech websocket\n return [4 /*yield*/, this.cancelSpeech()];\n case 1:\n // stop the speech websocket\n _a.sent();\n // stop the websocket\n return [4 /*yield*/, this.privConversation.endConversationImplAsync()];\n case 2:\n // stop the websocket\n _a.sent();\n // https delete request\n return [4 /*yield*/, this.privConversation.deleteConversationImplAsync()];\n case 3:\n // https delete request\n _a.sent();\n this.dispose();\n return [2 /*return*/];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Send a text message\n * @param message\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.sendTextMessageAsync = function (message, cb, err) {\n var _a;\n try {\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedSend);\n Contracts_1.Contracts.throwIfNullOrWhitespace(message, this.privErrors.invalidArgs.replace(\"{arg}\", message));\n (_a = this.privConversation) === null || _a === void 0 ? void 0 : _a.sendTextMessageAsync(message, cb, err);\n }\n catch (error) {\n this.handleError(error, err);\n }\n };\n /**\n * Start speaking\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.startTranscribingAsync = function (cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 4, , 6]);\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation, this.privErrors.permissionDeniedSend);\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privConversation.room.token, this.privErrors.permissionDeniedConnect);\n if (!(this.privCTRecognizer === undefined)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.connectTranslatorRecognizer()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n Contracts_1.Contracts.throwIfNullOrUndefined(this.privCTRecognizer, this.privErrors.permissionDeniedSend);\n if (!this.canSpeak) {\n this.handleError(new Error(this.privErrors.permissionDeniedSend), err);\n }\n return [4 /*yield*/, this.startContinuousRecognition()];\n case 3:\n _a.sent();\n this.privIsSpeaking = true;\n return [3 /*break*/, 6];\n case 4:\n error_2 = _a.sent();\n this.privIsSpeaking = false;\n return [4 /*yield*/, this.cancelSpeech()];\n case 5:\n _a.sent();\n throw error_2;\n case 6: return [2 /*return*/];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Stop speaking\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.stopTranscribingAsync = function (cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var error_3;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 4, , 6]);\n if (!!this.privIsSpeaking) return [3 /*break*/, 2];\n // stop speech\n return [4 /*yield*/, this.cancelSpeech()];\n case 1:\n // stop speech\n _a.sent();\n return [2 /*return*/];\n case 2:\n // stop the recognition but leave the websocket open\n this.privIsSpeaking = false;\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n var _a;\n (_a = _this.privCTRecognizer) === null || _a === void 0 ? void 0 : _a.stopContinuousRecognitionAsync(resolve, reject);\n })];\n case 3:\n _a.sent();\n return [3 /*break*/, 6];\n case 4:\n error_3 = _a.sent();\n return [4 /*yield*/, this.cancelSpeech()];\n case 5:\n _a.sent();\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/];\n }\n });\n }); })(), cb, err);\n };\n ConversationTranslator.prototype.isDisposed = function () {\n return this.privIsDisposed;\n };\n ConversationTranslator.prototype.dispose = function (reason, success, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (this.isDisposed && !this.privIsSpeaking) {\n return [2 /*return*/];\n }\n return [4 /*yield*/, this.cancelSpeech()];\n case 1:\n _c.sent();\n this.privIsDisposed = true;\n (_a = this.privSpeechTranslationConfig) === null || _a === void 0 ? void 0 : _a.close();\n this.privSpeechRecognitionLanguage = undefined;\n this.privProperties = undefined;\n this.privAudioConfig = undefined;\n this.privSpeechTranslationConfig = undefined;\n (_b = this.privConversation) === null || _b === void 0 ? void 0 : _b.dispose();\n this.privConversation = undefined;\n return [2 /*return*/];\n }\n });\n }); })(), success, err);\n };\n /**\n * Cancel the speech websocket\n */\n ConversationTranslator.prototype.cancelSpeech = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var e_2;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 3]);\n this.privIsSpeaking = false;\n return [4 /*yield*/, ((_a = this.privCTRecognizer) === null || _a === void 0 ? void 0 : _a.onDisconnection())];\n case 1:\n _b.sent();\n this.privCTRecognizer = undefined;\n return [3 /*break*/, 3];\n case 2:\n e_2 = _b.sent();\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Connect to the speech translation recognizer.\n * Currently there is no language validation performed before sending the SpeechLanguage code to the service.\n * If it's an invalid language the raw error will be: 'Error during WebSocket handshake: Unexpected response code: 400'\n * e.g. pass in 'fr' instead of 'fr-FR', or a text-only language 'cy'\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.connectTranslatorRecognizer = function () {\n return __awaiter(this, void 0, void 0, function () {\n var token, endpointHost, url, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 1, , 3]);\n if (this.privAudioConfig === undefined) {\n this.privAudioConfig = Exports_3.AudioConfig.fromDefaultMicrophoneInput();\n }\n // clear the temp subscription key if it's a participant joining\n if (this.privSpeechTranslationConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Key])\n === this.privPlaceholderKey) {\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Key], \"\");\n }\n token = encodeURIComponent(this.privConversation.room.token);\n endpointHost = this.privSpeechTranslationConfig.getProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Host], Exports_1.ConversationConnectionConfig.speechHost);\n endpointHost = endpointHost.replace(\"{region}\", this.privConversation.room.cognitiveSpeechRegion);\n url = \"wss://\" + endpointHost + Exports_1.ConversationConnectionConfig.speechPath + \"?\" + Exports_1.ConversationConnectionConfig.configParams.token + \"=\" + token;\n this.privSpeechTranslationConfig.setProperty(Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_Endpoint], url);\n this.privCTRecognizer = new ConversationTranslationRecognizer(this.privSpeechTranslationConfig, this.privAudioConfig, this);\n return [3 /*break*/, 3];\n case 1:\n error_4 = _a.sent();\n return [4 /*yield*/, this.cancelSpeech()];\n case 2:\n _a.sent();\n throw error_4;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Handle the start speaking request\n * @param cb\n * @param err\n */\n ConversationTranslator.prototype.startContinuousRecognition = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.privCTRecognizer.startContinuousRecognitionAsync(resolve, reject);\n });\n };\n Object.defineProperty(ConversationTranslator.prototype, \"canSpeak\", {\n get: function () {\n // is there a Conversation websocket available and has the Recognizer been set up\n if (!this.privConversation.isConnected || !this.privCTRecognizer) {\n return false;\n }\n // is the user already speaking\n if (this.privIsSpeaking || this.privCTRecognizer.state === SpeechState.Connected || this.privCTRecognizer.state === SpeechState.Connecting) {\n return false;\n }\n // is the user muted\n if (this.privConversation.isMutedByHost) {\n return false;\n }\n return true;\n },\n enumerable: false,\n configurable: true\n });\n return ConversationTranslator;\n}(Exports_4.ConversationCommon));\nexports.ConversationTranslator = ConversationTranslator;\n\n//# sourceMappingURL=ConversationTranslator.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Conversation_1 = require(\"./Conversation\");\nObject.defineProperty(exports, \"Conversation\", { enumerable: true, get: function () { return Conversation_1.Conversation; } });\nObject.defineProperty(exports, \"ConversationImpl\", { enumerable: true, get: function () { return Conversation_1.ConversationImpl; } });\nvar ConversationCommon_1 = require(\"./ConversationCommon\");\nObject.defineProperty(exports, \"ConversationCommon\", { enumerable: true, get: function () { return ConversationCommon_1.ConversationCommon; } });\nvar ConversationExpirationEventArgs_1 = require(\"./ConversationExpirationEventArgs\");\nObject.defineProperty(exports, \"ConversationExpirationEventArgs\", { enumerable: true, get: function () { return ConversationExpirationEventArgs_1.ConversationExpirationEventArgs; } });\nvar ConversationParticipantsChangedEventArgs_1 = require(\"./ConversationParticipantsChangedEventArgs\");\nObject.defineProperty(exports, \"ConversationParticipantsChangedEventArgs\", { enumerable: true, get: function () { return ConversationParticipantsChangedEventArgs_1.ConversationParticipantsChangedEventArgs; } });\nvar ConversationTranslationCanceledEventArgs_1 = require(\"./ConversationTranslationCanceledEventArgs\");\nObject.defineProperty(exports, \"ConversationTranslationCanceledEventArgs\", { enumerable: true, get: function () { return ConversationTranslationCanceledEventArgs_1.ConversationTranslationCanceledEventArgs; } });\nvar ConversationTranslationEventArgs_1 = require(\"./ConversationTranslationEventArgs\");\nObject.defineProperty(exports, \"ConversationTranslationEventArgs\", { enumerable: true, get: function () { return ConversationTranslationEventArgs_1.ConversationTranslationEventArgs; } });\nvar ConversationTranslationResult_1 = require(\"./ConversationTranslationResult\");\nObject.defineProperty(exports, \"ConversationTranslationResult\", { enumerable: true, get: function () { return ConversationTranslationResult_1.ConversationTranslationResult; } });\nvar ConversationTranslator_1 = require(\"./ConversationTranslator\");\nObject.defineProperty(exports, \"ConversationTranslator\", { enumerable: true, get: function () { return ConversationTranslator_1.ConversationTranslator; } });\nvar ConversationTranscriber_1 = require(\"./ConversationTranscriber\");\nObject.defineProperty(exports, \"ConversationTranscriber\", { enumerable: true, get: function () { return ConversationTranscriber_1.ConversationTranscriber; } });\nvar IParticipant_1 = require(\"./IParticipant\");\nObject.defineProperty(exports, \"Participant\", { enumerable: true, get: function () { return IParticipant_1.Participant; } });\nObject.defineProperty(exports, \"User\", { enumerable: true, get: function () { return IParticipant_1.User; } });\nvar ParticipantChangedReason_1 = require(\"./ParticipantChangedReason\");\nObject.defineProperty(exports, \"ParticipantChangedReason\", { enumerable: true, get: function () { return ParticipantChangedReason_1.ParticipantChangedReason; } });\n\n//# sourceMappingURL=Exports.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Participant = exports.User = void 0;\nvar Exports_1 = require(\"../Exports\");\nvar User = /** @class */ (function () {\n function User(userId) {\n this.privUserId = userId;\n }\n Object.defineProperty(User.prototype, \"userId\", {\n get: function () {\n return this.privUserId;\n },\n enumerable: false,\n configurable: true\n });\n return User;\n}());\nexports.User = User;\n// tslint:disable-next-line: max-classes-per-file\nvar Participant = /** @class */ (function () {\n function Participant(id, avatar, displayName, isHost, isMuted, isUsingTts, preferredLanguage, voice) {\n this.privId = id;\n this.privAvatar = avatar;\n this.privDisplayName = displayName;\n this.privIsHost = isHost;\n this.privIsMuted = isMuted;\n this.privIsUsingTts = isUsingTts;\n this.privPreferredLanguage = preferredLanguage;\n this.privVoice = voice;\n this.privProperties = new Exports_1.PropertyCollection();\n }\n Participant.From = function (id, language, voice) {\n return new Participant(id, \"\", id, false, false, false, language, voice);\n };\n Object.defineProperty(Participant.prototype, \"avatar\", {\n get: function () {\n return this.privAvatar;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"displayName\", {\n get: function () {\n return this.privDisplayName;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"id\", {\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"preferredLanguage\", {\n get: function () {\n return this.privPreferredLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"isHost\", {\n get: function () {\n return this.privIsHost;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"isMuted\", {\n get: function () {\n return this.privIsMuted;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"isUsingTts\", {\n get: function () {\n return this.privIsUsingTts;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"voice\", {\n get: function () {\n return this.privVoice;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Participant.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n return Participant;\n}());\nexports.Participant = Participant;\n\n//# sourceMappingURL=IParticipant.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n// Multi-device Conversation is a Preview feature.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ParticipantChangedReason = void 0;\nvar ParticipantChangedReason;\n(function (ParticipantChangedReason) {\n /** Participant has joined the conversation. */\n ParticipantChangedReason[ParticipantChangedReason[\"JoinedConversation\"] = 0] = \"JoinedConversation\";\n /** Participant has left the conversation. This could be voluntary, or involuntary\n * (e.g. they are experiencing networking issues).\n */\n ParticipantChangedReason[ParticipantChangedReason[\"LeftConversation\"] = 1] = \"LeftConversation\";\n /** The participants' state has changed (e.g. they became muted, changed their nickname). */\n ParticipantChangedReason[ParticipantChangedReason[\"Updated\"] = 2] = \"Updated\";\n})(ParticipantChangedReason = exports.ParticipantChangedReason || (exports.ParticipantChangedReason = {}));\n\n//# sourceMappingURL=ParticipantChangedReason.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationRecognitionCanceledEventArgs = void 0;\n/**\n * Define payload of speech recognition canceled result events.\n * @class TranslationRecognitionCanceledEventArgs\n */\nvar TranslationRecognitionCanceledEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} sessionid - The session id.\n * @param {CancellationReason} cancellationReason - The cancellation reason.\n * @param {string} errorDetails - Error details, if provided.\n * @param {TranslationRecognitionResult} result - The result.\n */\n function TranslationRecognitionCanceledEventArgs(sessionid, cancellationReason, errorDetails, errorCode, result) {\n this.privCancelReason = cancellationReason;\n this.privErrorDetails = errorDetails;\n this.privResult = result;\n this.privSessionId = sessionid;\n this.privErrorCode = errorCode;\n }\n Object.defineProperty(TranslationRecognitionCanceledEventArgs.prototype, \"result\", {\n /**\n * Specifies the recognition result.\n * @member TranslationRecognitionCanceledEventArgs.prototype.result\n * @function\n * @public\n * @returns {TranslationRecognitionResult} the recognition result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognitionCanceledEventArgs.prototype, \"sessionId\", {\n /**\n * Specifies the session identifier.\n * @member TranslationRecognitionCanceledEventArgs.prototype.sessionId\n * @function\n * @public\n * @returns {string} the session identifier.\n */\n get: function () {\n return this.privSessionId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognitionCanceledEventArgs.prototype, \"reason\", {\n /**\n * The reason the recognition was canceled.\n * @member TranslationRecognitionCanceledEventArgs.prototype.reason\n * @function\n * @public\n * @returns {CancellationReason} Specifies the reason canceled.\n */\n get: function () {\n return this.privCancelReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognitionCanceledEventArgs.prototype, \"errorCode\", {\n /**\n * The error code in case of an unsuccessful recognition.\n * Added in version 1.1.0.\n * @return An error code that represents the error reason.\n */\n get: function () {\n return this.privErrorCode;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognitionCanceledEventArgs.prototype, \"errorDetails\", {\n /**\n * In case of an unsuccessful recognition, provides details of the occurred error.\n * @member TranslationRecognitionCanceledEventArgs.prototype.errorDetails\n * @function\n * @public\n * @returns {string} A String that represents the error details.\n */\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationRecognitionCanceledEventArgs;\n}());\nexports.TranslationRecognitionCanceledEventArgs = TranslationRecognitionCanceledEventArgs;\n\n//# sourceMappingURL=TranslationRecognitionCanceledEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.TranslationRecognitionEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Translation text result event arguments.\n * @class TranslationRecognitionEventArgs\n */\nvar TranslationRecognitionEventArgs = /** @class */ (function (_super) {\n __extends(TranslationRecognitionEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {TranslationRecognitionResult} result - The translation recognition result.\n * @param {number} offset - The offset.\n * @param {string} sessionId - The session id.\n */\n function TranslationRecognitionEventArgs(result, offset, sessionId) {\n var _this = _super.call(this, offset, sessionId) || this;\n _this.privResult = result;\n return _this;\n }\n Object.defineProperty(TranslationRecognitionEventArgs.prototype, \"result\", {\n /**\n * Specifies the recognition result.\n * @member TranslationRecognitionEventArgs.prototype.result\n * @function\n * @public\n * @returns {TranslationRecognitionResult} the recognition result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationRecognitionEventArgs;\n}(Exports_1.RecognitionEventArgs));\nexports.TranslationRecognitionEventArgs = TranslationRecognitionEventArgs;\n\n//# sourceMappingURL=TranslationRecognitionEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.TranslationRecognitionResult = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Translation text result.\n * @class TranslationRecognitionResult\n */\nvar TranslationRecognitionResult = /** @class */ (function (_super) {\n __extends(TranslationRecognitionResult, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {Translations} translations - The translations.\n * @param {string} resultId - The result id.\n * @param {ResultReason} reason - The reason.\n * @param {string} text - The recognized text.\n * @param {number} duration - The duration.\n * @param {number} offset - The offset into the stream.\n * @param {string} errorDetails - Error details, if provided.\n * @param {string} json - Additional Json, if provided.\n * @param {PropertyCollection} properties - Additional properties, if provided.\n */\n function TranslationRecognitionResult(translations, resultId, reason, text, duration, offset, errorDetails, json, properties) {\n var _this = _super.call(this, resultId, reason, text, duration, offset, undefined, undefined, undefined, errorDetails, json, properties) || this;\n _this.privTranslations = translations;\n return _this;\n }\n Object.defineProperty(TranslationRecognitionResult.prototype, \"translations\", {\n /**\n * Presents the translation results. Each item in the dictionary represents\n * a translation result in one of target languages, where the key is the name\n * of the target language, in BCP-47 format, and the value is the translation\n * text in the specified language.\n * @member TranslationRecognitionResult.prototype.translations\n * @function\n * @public\n * @returns {Translations} the current translation map that holds all translations requested.\n */\n get: function () {\n return this.privTranslations;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationRecognitionResult;\n}(Exports_1.SpeechRecognitionResult));\nexports.TranslationRecognitionResult = TranslationRecognitionResult;\n\n//# sourceMappingURL=TranslationRecognitionResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationRecognizer = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Translation recognizer\n * @class TranslationRecognizer\n */\nvar TranslationRecognizer = /** @class */ (function (_super) {\n __extends(TranslationRecognizer, _super);\n /**\n * Initializes an instance of the TranslationRecognizer.\n * @constructor\n * @param {SpeechTranslationConfig} speechConfig - Set of properties to configure this recognizer.\n * @param {AudioConfig} audioConfig - An optional audio config associated with the recognizer\n */\n function TranslationRecognizer(speechConfig, audioConfig) {\n var _this = this;\n var configImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(configImpl, \"speechConfig\");\n _this = _super.call(this, audioConfig, configImpl.properties, new Exports_1.TranslationConnectionFactory()) || this;\n _this.privDisposedTranslationRecognizer = false;\n _this.privProperties = configImpl.properties.clone();\n if (_this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_TranslationVoice, undefined) !== undefined) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(_this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_TranslationVoice), Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_TranslationVoice]);\n }\n Contracts_1.Contracts.throwIfNullOrWhitespace(_this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_TranslationToLanguages), Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_TranslationToLanguages]);\n Contracts_1.Contracts.throwIfNullOrWhitespace(_this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage), Exports_3.PropertyId[Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage]);\n return _this;\n }\n Object.defineProperty(TranslationRecognizer.prototype, \"speechRecognitionLanguage\", {\n /**\n * Gets the language name that was set when the recognizer was created.\n * @member TranslationRecognizer.prototype.speechRecognitionLanguage\n * @function\n * @public\n * @returns {string} Gets the language name that was set when the recognizer was created.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_RecoLanguage);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognizer.prototype, \"targetLanguages\", {\n /**\n * Gets target languages for translation that were set when the recognizer was created.\n * The language is specified in BCP-47 format. The translation will provide translated text for each of language.\n * @member TranslationRecognizer.prototype.targetLanguages\n * @function\n * @public\n * @returns {string[]} Gets target languages for translation that were set when the recognizer was created.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_TranslationToLanguages).split(\",\");\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognizer.prototype, \"voiceName\", {\n /**\n * Gets the name of output voice.\n * @member TranslationRecognizer.prototype.voiceName\n * @function\n * @public\n * @returns {string} the name of output voice.\n */\n get: function () {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceConnection_TranslationVoice, undefined);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognizer.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member TranslationRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member TranslationRecognizer.prototype.authorizationToken\n * @function\n * @public\n * @param {string} value - Authorization token.\n */\n set: function (value) {\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationRecognizer.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this TranslationRecognizer.\n * @member TranslationRecognizer.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this TranslationRecognizer.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Starts recognition and translation, and stops after the first utterance is recognized.\n * The task returns the translation text as result.\n * Note: recognizeOnceAsync returns when the first utterance has been recognized, so it is suitableonly\n * for single shot recognition like command or query. For long-running recognition,\n * use startContinuousRecognitionAsync() instead.\n * @member TranslationRecognizer.prototype.recognizeOnceAsync\n * @function\n * @public\n * @param cb - Callback that received the result when the translation has completed.\n * @param err - Callback invoked in case of an error.\n */\n TranslationRecognizer.prototype.recognizeOnceAsync = function (cb, err) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\n Exports_2.marshalPromiseToCallbacks(this.recognizeOnceAsyncImpl(Exports_1.RecognitionMode.Conversation), cb, err);\n };\n /**\n * Starts recognition and translation, until stopContinuousRecognitionAsync() is called.\n * User must subscribe to events to receive translation results.\n * @member TranslationRecognizer.prototype.startContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback that received the translation has started.\n * @param err - Callback invoked in case of an error.\n */\n TranslationRecognizer.prototype.startContinuousRecognitionAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.startContinuousRecognitionAsyncImpl(Exports_1.RecognitionMode.Conversation), cb, err);\n };\n /**\n * Stops continuous recognition and translation.\n * @member TranslationRecognizer.prototype.stopContinuousRecognitionAsync\n * @function\n * @public\n * @param cb - Callback that received the translation has stopped.\n * @param err - Callback invoked in case of an error.\n */\n TranslationRecognizer.prototype.stopContinuousRecognitionAsync = function (cb, err) {\n Exports_2.marshalPromiseToCallbacks(this.stopContinuousRecognitionAsyncImpl(), cb, err);\n };\n /**\n * closes all external resources held by an instance of this class.\n * @member TranslationRecognizer.prototype.close\n * @function\n * @public\n */\n TranslationRecognizer.prototype.close = function (cb, errorCb) {\n Contracts_1.Contracts.throwIfDisposed(this.privDisposedTranslationRecognizer);\n Exports_2.marshalPromiseToCallbacks(this.dispose(true), cb, errorCb);\n };\n /**\n * handles ConnectionEstablishedEvent for conversation translation scenarios.\n * @member TranslationRecognizer.prototype.onConnection\n * @function\n * @public\n */\n /* tslint:disable:no-empty */\n TranslationRecognizer.prototype.onConnection = function () { };\n /**\n * handles disconnection events for conversation translation scenarios.\n * @member TranslationRecognizer.prototype.onDisconnection\n * @function\n * @public\n */\n /* tslint:disable:no-empty */\n TranslationRecognizer.prototype.onDisconnection = function () {\n return __awaiter(this, void 0, void 0, function () { return __generator(this, function (_a) {\n return [2 /*return*/];\n }); });\n };\n TranslationRecognizer.prototype.dispose = function (disposing) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.privDisposedTranslationRecognizer) {\n return [2 /*return*/];\n }\n this.privDisposedTranslationRecognizer = true;\n if (!disposing) return [3 /*break*/, 3];\n return [4 /*yield*/, this.implRecognizerStop()];\n case 1:\n _a.sent();\n return [4 /*yield*/, _super.prototype.dispose.call(this, disposing)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n TranslationRecognizer.prototype.createRecognizerConfig = function (speechConfig) {\n return new Exports_1.RecognizerConfig(speechConfig, this.properties);\n };\n TranslationRecognizer.prototype.createServiceRecognizer = function (authentication, connectionFactory, audioConfig, recognizerConfig) {\n var configImpl = audioConfig;\n return new Exports_1.TranslationServiceRecognizer(authentication, connectionFactory, configImpl, recognizerConfig, this);\n };\n return TranslationRecognizer;\n}(Exports_3.Recognizer));\nexports.TranslationRecognizer = TranslationRecognizer;\n\n//# sourceMappingURL=TranslationRecognizer.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.TranslationSynthesisEventArgs = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Translation Synthesis event arguments\n * @class TranslationSynthesisEventArgs\n */\nvar TranslationSynthesisEventArgs = /** @class */ (function (_super) {\n __extends(TranslationSynthesisEventArgs, _super);\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {TranslationSynthesisResult} result - The translation synthesis result.\n * @param {string} sessionId - The session id.\n */\n function TranslationSynthesisEventArgs(result, sessionId) {\n var _this = _super.call(this, sessionId) || this;\n _this.privResult = result;\n return _this;\n }\n Object.defineProperty(TranslationSynthesisEventArgs.prototype, \"result\", {\n /**\n * Specifies the translation synthesis result.\n * @member TranslationSynthesisEventArgs.prototype.result\n * @function\n * @public\n * @returns {TranslationSynthesisResult} Specifies the translation synthesis result.\n */\n get: function () {\n return this.privResult;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationSynthesisEventArgs;\n}(Exports_1.SessionEventArgs));\nexports.TranslationSynthesisEventArgs = TranslationSynthesisEventArgs;\n\n//# sourceMappingURL=TranslationSynthesisEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TranslationSynthesisResult = void 0;\n/**\n * Defines translation synthesis result, i.e. the voice output of the translated\n * text in the target language.\n * @class TranslationSynthesisResult\n */\nvar TranslationSynthesisResult = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {ResultReason} reason - The synthesis reason.\n * @param {ArrayBuffer} audio - The audio data.\n */\n function TranslationSynthesisResult(reason, audio) {\n this.privReason = reason;\n this.privAudio = audio;\n }\n Object.defineProperty(TranslationSynthesisResult.prototype, \"audio\", {\n /**\n * Translated text in the target language.\n * @member TranslationSynthesisResult.prototype.audio\n * @function\n * @public\n * @returns {ArrayBuffer} Translated audio in the target language.\n */\n get: function () {\n return this.privAudio;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TranslationSynthesisResult.prototype, \"reason\", {\n /**\n * The synthesis status.\n * @member TranslationSynthesisResult.prototype.reason\n * @function\n * @public\n * @returns {ResultReason} The synthesis status.\n */\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n return TranslationSynthesisResult;\n}());\nexports.TranslationSynthesisResult = TranslationSynthesisResult;\n\n//# sourceMappingURL=TranslationSynthesisResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Translations = void 0;\nvar Exports_1 = require(\"./Exports\");\n/**\n * Represents collection of parameters and their values.\n * @class Translation\n */\nvar Translations = /** @class */ (function () {\n function Translations() {\n // Use an PropertyCollection internally, just wrapping it to hide the | enum syntax it has.\n this.privMap = new Exports_1.PropertyCollection();\n }\n /**\n * Returns the parameter value in type String. The parameter must have the same type as String.\n * Currently only String, int and bool are allowed.\n * If the name is not available, the specified defaultValue is returned.\n * @member Translation.prototype.get\n * @function\n * @public\n * @param {string} key - The parameter name.\n * @param {string} def - The default value which is returned if the parameter is not available in the collection.\n * @returns {string} value of the parameter.\n */\n Translations.prototype.get = function (key, def) {\n return this.privMap.getProperty(key, def);\n };\n /**\n * Sets the String value of the parameter specified by name.\n * @member Translation.prototype.set\n * @function\n * @public\n * @param {string} key - The parameter name.\n * @param {string} value - The value of the parameter.\n */\n Translations.prototype.set = function (key, value) {\n this.privMap.setProperty(key, value);\n };\n return Translations;\n}());\nexports.Translations = Translations;\n\n//# sourceMappingURL=Translations.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TurnStatusReceivedEventArgs = void 0;\nvar TurnStatusPayload_1 = require(\"../common.speech/ServiceMessages/TurnStatusPayload\");\n/**\n * Defines contents of received message/events.\n * @class TurnStatusReceivedEventArgs\n */\nvar TurnStatusReceivedEventArgs = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} turnStatus - The JSON-encoded turn status message.\n */\n function TurnStatusReceivedEventArgs(turnStatus) {\n this.privTurnStatus = TurnStatusPayload_1.TurnStatusResponsePayload.fromJSON(turnStatus);\n }\n Object.defineProperty(TurnStatusReceivedEventArgs.prototype, \"interactionId\", {\n /**\n * Gets the interaction identifier associated with this turn status event.\n * @member TurnStatusReceivedEventArgs.prototype.interactionId\n * @function\n * @public\n * @returns {any} the received interaction id.\n */\n get: function () {\n return this.privTurnStatus.interactionId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TurnStatusReceivedEventArgs.prototype, \"conversationId\", {\n /**\n * Gets the conversation identifier associated with this turn status event.\n * @member TurnStatusReceivedEventArgs.prototype.conversationId\n * @function\n * @public\n * @returns {any} the received conversation id.\n */\n get: function () {\n return this.privTurnStatus.conversationId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TurnStatusReceivedEventArgs.prototype, \"statusCode\", {\n /**\n * Gets the received turn status code.\n * @member TurnStatusReceivedEventArgs.prototype.statusCode\n * @function\n * @public\n * @returns {number} the received turn status.\n */\n get: function () {\n return this.privTurnStatus.statusCode;\n },\n enumerable: false,\n configurable: true\n });\n return TurnStatusReceivedEventArgs;\n}());\nexports.TurnStatusReceivedEventArgs = TurnStatusReceivedEventArgs;\n\n//# sourceMappingURL=TurnStatusReceivedEventArgs.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VoiceProfile = void 0;\n/**\n * Defines Voice Profile class for Speaker Recognition\n * @class VoiceProfile\n */\nvar VoiceProfile = /** @class */ (function () {\n /**\n * Creates and initializes an instance of this class.\n * @constructor\n * @param {string} profileId - profileId of this Voice Profile.\n * @param {VoiceProfileType} profileType - profileType of this Voice Profile.\n */\n function VoiceProfile(profileId, profileType) {\n this.privId = profileId;\n this.privProfileType = profileType;\n }\n Object.defineProperty(VoiceProfile.prototype, \"profileId\", {\n /**\n * profileId of this Voice Profile instance\n * @member VoiceProfile.prototype.profileId\n * @function\n * @public\n * @returns {string} profileId of this Voice Profile instance.\n */\n get: function () {\n return this.privId;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfile.prototype, \"profileType\", {\n /**\n * profileType of this Voice Profile instance\n * @member VoiceProfile.prototype.profileType\n * @function\n * @public\n * @returns {VoiceProfileType} profile type of this Voice Profile instance.\n */\n get: function () {\n return this.privProfileType;\n },\n enumerable: false,\n configurable: true\n });\n return VoiceProfile;\n}());\nexports.VoiceProfile = VoiceProfile;\n\n//# sourceMappingURL=VoiceProfile.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.VoiceProfileAuthorizationPhraseResult = void 0;\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_1 = require(\"./Exports\");\n/**\n * Output format\n * @class VoiceProfileAuthorizationPhraseResult\n */\nvar VoiceProfileAuthorizationPhraseResult = /** @class */ (function (_super) {\n __extends(VoiceProfileAuthorizationPhraseResult, _super);\n function VoiceProfileAuthorizationPhraseResult(reason, statusText, json) {\n var _this = _super.call(this, reason, statusText) || this;\n _this.privPhrases = [];\n Contracts_1.Contracts.throwIfNullOrUndefined(json, \"phrases array\");\n for (var _i = 0, json_1 = json; _i < json_1.length; _i++) {\n var item = json_1[_i];\n _this.privPhrases.push(item.passPhrase);\n }\n return _this;\n }\n Object.defineProperty(VoiceProfileAuthorizationPhraseResult.prototype, \"phrases\", {\n get: function () {\n return this.privPhrases;\n },\n enumerable: false,\n configurable: true\n });\n return VoiceProfileAuthorizationPhraseResult;\n}(Exports_1.VoiceProfileResult));\nexports.VoiceProfileAuthorizationPhraseResult = VoiceProfileAuthorizationPhraseResult;\n\n//# sourceMappingURL=VoiceProfileAuthorizationPhraseResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VoiceProfileClient = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"../common/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_3 = require(\"./Exports\");\n/**\n * Defines VoiceProfileClient class for Speaker Recognition\n * Handles operations from user for Voice Profile operations (e.g. createProfile, deleteProfile)\n * @class VoiceProfileClient\n */\nvar VoiceProfileClient = /** @class */ (function () {\n /**\n * VoiceProfileClient constructor.\n * @constructor\n * @param {SpeechConfig} speechConfig - An set of initial properties for this synthesizer (authentication key, region, &c)\n */\n function VoiceProfileClient(speechConfig) {\n var speechConfigImpl = speechConfig;\n Contracts_1.Contracts.throwIfNull(speechConfigImpl, \"speechConfig\");\n this.privProperties = speechConfigImpl.properties.clone();\n this.implClientSetup();\n }\n Object.defineProperty(VoiceProfileClient.prototype, \"authorizationToken\", {\n /**\n * Gets the authorization token used to communicate with the service.\n * @member VoiceProfileClient.prototype.authorizationToken\n * @function\n * @public\n * @returns {string} Authorization token.\n */\n get: function () {\n return this.properties.getProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token);\n },\n /**\n * Gets/Sets the authorization token used to communicate with the service.\n * @member VoiceProfileClient.prototype.authorizationToken\n * @function\n * @public\n * @param {string} token - Authorization token.\n */\n set: function (token) {\n Contracts_1.Contracts.throwIfNullOrWhitespace(token, \"token\");\n this.properties.setProperty(Exports_3.PropertyId.SpeechServiceAuthorization_Token, token);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileClient.prototype, \"properties\", {\n /**\n * The collection of properties and their values defined for this VoiceProfileClient.\n * @member VoiceProfileClient.prototype.properties\n * @function\n * @public\n * @returns {PropertyCollection} The collection of properties and their values defined for this VoiceProfileClient.\n */\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Create a speaker recognition voice profile\n * @member VoiceProfileClient.prototype.createProfileAsync\n * @function\n * @public\n * @param {VoiceProfileType} profileType Type of Voice Profile to be created\n * specifies the keyword to be recognized.\n * @param {string} lang Language string (locale) for Voice Profile\n * @param cb - Callback invoked once Voice Profile has been created.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.createProfileAsync = function (profileType, lang, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result, response, profile;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.createProfile(profileType, lang)];\n case 1:\n result = _a.sent();\n response = result.json();\n profile = new Exports_3.VoiceProfile(response.profileId, profileType);\n return [2 /*return*/, profile];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Get current information of a voice profile\n * @member VoiceProfileClient.prototype.retrieveEnrollmentResultAsync\n * @function\n * @public\n * @param {VoiceProfile} profile Voice Profile to retrieve info for\n * @param cb - Callback invoked once Voice Profile has been created.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.retrieveEnrollmentResultAsync = function (profile, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.getProfileStatus(profile)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, new Exports_3.VoiceProfileEnrollmentResult(result.ok ? Exports_3.ResultReason.EnrolledVoiceProfile : Exports_3.ResultReason.Canceled, result.data, result.statusText)];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Get all voice profiles on account with given voice profile type\n * @member VoiceProfileClient.prototype.getAllProfilesAsync\n * @function\n * @public\n * @param {VoiceProfileType} profileType profile type (identification/verification) for which to list profiles\n * @param cb - Callback invoked once Profile list has been returned.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.getAllProfilesAsync = function (profileType, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.getProfiles(profileType)];\n case 1:\n result = _a.sent();\n if (profileType === Exports_3.VoiceProfileType.TextIndependentIdentification) {\n return [2 /*return*/, Exports_3.VoiceProfileEnrollmentResult.FromIdentificationProfileList(result.json())];\n }\n return [2 /*return*/, Exports_3.VoiceProfileEnrollmentResult.FromVerificationProfileList(result.json())];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Get valid authorization phrases for voice profile enrollment\n * @member VoiceProfileClient.prototype.getAuthorizationPhrasesAsync\n * @function\n * @public\n * @param {string} lang Language string (locale) for Voice Profile\n * @param cb - Callback invoked once phrases have been returned.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.getAuthorizationPhrasesAsync = function (lang, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.getAuthorizationPhrases(lang)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, new Exports_3.VoiceProfileAuthorizationPhraseResult(result.ok ? Exports_3.ResultReason.EnrollingVoiceProfile : Exports_3.ResultReason.Canceled, result.statusText, result.json())];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Create a speaker recognition voice profile\n * @member VoiceProfileClient.prototype.enrollProfileAsync\n * @function\n * @public\n * @param {VoiceProfile} profile Voice Profile to create enrollment for\n * @param {AudioConfig} audioConfig source info from which to create enrollment\n * @param cb - Callback invoked once Enrollment request has been submitted.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.enrollProfileAsync = function (profile, audioConfig, cb, err) {\n var _this = this;\n var configImpl = audioConfig;\n Contracts_1.Contracts.throwIfNullOrUndefined(configImpl, \"audioConfig\");\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.createEnrollment(profile, configImpl)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, new Exports_3.VoiceProfileEnrollmentResult(result.ok ? Exports_3.ResultReason.EnrolledVoiceProfile : Exports_3.ResultReason.Canceled, result.data, result.statusText)];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Delete a speaker recognition voice profile\n * @member VoiceProfileClient.prototype.deleteProfileAsync\n * @function\n * @public\n * @param {VoiceProfile} profile Voice Profile to be deleted\n * @param cb - Callback invoked once Voice Profile has been deleted.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.deleteProfileAsync = function (profile, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.deleteProfile(profile)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, this.getResult(result, Exports_3.ResultReason.DeletedVoiceProfile)];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Remove all enrollments for a speaker recognition voice profile\n * @member VoiceProfileClient.prototype.resetProfileAsync\n * @function\n * @public\n * @param {VoiceProfile} profile Voice Profile to be reset\n * @param cb - Callback invoked once Voice Profile has been reset.\n * @param err - Callback invoked in case of an error.\n */\n VoiceProfileClient.prototype.resetProfileAsync = function (profile, cb, err) {\n var _this = this;\n Exports_2.marshalPromiseToCallbacks((function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.privAdapter.resetProfile(profile)];\n case 1:\n result = _a.sent();\n return [2 /*return*/, this.getResult(result, Exports_3.ResultReason.ResetVoiceProfile)];\n }\n });\n }); })(), cb, err);\n };\n /**\n * Included for compatibility\n * @member VoiceProfileClient.prototype.close\n * @function\n * @public\n */\n VoiceProfileClient.prototype.close = function () {\n return;\n };\n // Does class setup, swiped from Recognizer.\n VoiceProfileClient.prototype.implClientSetup = function () {\n var osPlatform = (typeof window !== \"undefined\") ? \"Browser\" : \"Node\";\n var osName = \"unknown\";\n var osVersion = \"unknown\";\n if (typeof navigator !== \"undefined\") {\n osPlatform = osPlatform + \"/\" + navigator.platform;\n osName = navigator.userAgent;\n osVersion = navigator.appVersion;\n }\n var recognizerConfig = new Exports_1.SpeakerRecognitionConfig(new Exports_1.Context(new Exports_1.OS(osPlatform, osName, osVersion)), this.privProperties);\n this.privAdapter = new Exports_1.SpeakerIdMessageAdapter(recognizerConfig);\n };\n VoiceProfileClient.prototype.getResult = function (result, successReason, cb) {\n var response = new Exports_3.VoiceProfileResult(result.ok ? successReason : Exports_3.ResultReason.Canceled, result.statusText);\n return (response);\n };\n return VoiceProfileClient;\n}());\nexports.VoiceProfileClient = VoiceProfileClient;\n\n//# sourceMappingURL=VoiceProfileClient.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.VoiceProfileEnrollmentCancellationDetails = exports.VoiceProfileEnrollmentResult = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Output format\n * @class VoiceProfileEnrollmentResult\n */\nvar VoiceProfileEnrollmentResult = /** @class */ (function () {\n function VoiceProfileEnrollmentResult(reason, json, statusText) {\n this.privReason = reason;\n this.privProperties = new Exports_2.PropertyCollection();\n if (this.privReason !== Exports_2.ResultReason.Canceled) {\n if (!!json) {\n this.privDetails = JSON.parse(json);\n if (this.privDetails.enrollmentStatus.toLowerCase() === \"enrolling\") {\n this.privReason = Exports_2.ResultReason.EnrollingVoiceProfile;\n }\n }\n }\n else {\n this.privErrorDetails = statusText;\n this.privProperties.setProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.ServiceError]);\n }\n }\n VoiceProfileEnrollmentResult.FromIdentificationProfileList = function (json) {\n var results = [];\n for (var _i = 0, _a = json.profiles; _i < _a.length; _i++) {\n var item = _a[_i];\n var reason = item.enrollmentStatus.toLowerCase() === \"enrolling\" ?\n Exports_2.ResultReason.EnrollingVoiceProfile : item.enrollmentStatus.toLowerCase() === \"enrolled\" ?\n Exports_2.ResultReason.EnrolledVoiceProfile : Exports_2.ResultReason.Canceled;\n var result = new VoiceProfileEnrollmentResult(reason, null, null);\n result.privDetails = this.getIdentificationDetails(item);\n results.push(result);\n }\n return results;\n };\n VoiceProfileEnrollmentResult.FromVerificationProfileList = function (json) {\n var results = [];\n for (var _i = 0, _a = json.profiles; _i < _a.length; _i++) {\n var item = _a[_i];\n var reason = item.enrollmentStatus.toLowerCase() === \"enrolling\" ?\n Exports_2.ResultReason.EnrollingVoiceProfile : item.enrollmentStatus.toLowerCase() === \"enrolled\" ?\n Exports_2.ResultReason.EnrolledVoiceProfile : Exports_2.ResultReason.Canceled;\n var result = new VoiceProfileEnrollmentResult(reason, null, null);\n result.privDetails = this.getVerificationDetails(item);\n results.push(result);\n }\n return results;\n };\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"enrollmentsCount\", {\n get: function () {\n return this.privDetails.enrollmentsCount;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"enrollmentsLength\", {\n get: function () {\n return this.privDetails.enrollmentsLength;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"enrollmentResultDetails\", {\n get: function () {\n return this.privDetails;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileEnrollmentResult.prototype, \"errorDetails\", {\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n VoiceProfileEnrollmentResult.getIdentificationDetails = function (json) {\n return {\n audioSpeechLength: json.speechTime ? parseFloat(json.speechTime) : 0,\n enrollmentStatus: json.enrollmentStatus,\n enrollmentsLength: json.enrollmentSpeechTime ? parseFloat(json.enrollmentSpeechTime) : 0,\n profileId: json.profileId || json.identificationProfileId,\n remainingEnrollmentSpeechLength: json.remainingEnrollmentSpeechTime ? parseFloat(json.remainingEnrollmentSpeechTime) : 0\n };\n };\n VoiceProfileEnrollmentResult.getVerificationDetails = function (json) {\n return {\n enrollmentStatus: json.enrollmentStatus,\n enrollmentsCount: json.enrollmentsCount,\n profileId: json.profileId || json.verificationProfileId,\n remainingEnrollmentSpeechLength: json.remainingEnrollmentSpeechLength ? parseFloat(json.remainingEnrollmentSpeechLength) : 0,\n remainingEnrollmentsCount: json.remainingEnrollments || json.remainingEnrollmentsCount\n };\n };\n return VoiceProfileEnrollmentResult;\n}());\nexports.VoiceProfileEnrollmentResult = VoiceProfileEnrollmentResult;\n/**\n * @class VoiceProfileEnrollmentCancellationDetails\n */\n// tslint:disable-next-line:max-classes-per-file\nvar VoiceProfileEnrollmentCancellationDetails = /** @class */ (function (_super) {\n __extends(VoiceProfileEnrollmentCancellationDetails, _super);\n function VoiceProfileEnrollmentCancellationDetails(reason, errorDetails, errorCode) {\n return _super.call(this, reason, errorDetails, errorCode) || this;\n }\n /**\n * Creates an instance of VoiceProfileEnrollmentCancellationDetails object for the canceled VoiceProfileEnrollmentResult.\n * @member VoiceProfileEnrollmentCancellationDetails.fromResult\n * @function\n * @public\n * @param {VoiceProfileEnrollmentResult} result - The result that was canceled.\n * @returns {VoiceProfileEnrollmentCancellationDetails} The cancellation details object being created.\n */\n VoiceProfileEnrollmentCancellationDetails.fromResult = function (result) {\n var reason = Exports_2.CancellationReason.Error;\n var errorCode = Exports_2.CancellationErrorCode.NoError;\n if (!!result.properties) {\n errorCode = Exports_2.CancellationErrorCode[result.properties.getProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.NoError])];\n }\n return new VoiceProfileEnrollmentCancellationDetails(reason, result.errorDetails, errorCode);\n };\n return VoiceProfileEnrollmentCancellationDetails;\n}(Exports_2.CancellationDetailsBase));\nexports.VoiceProfileEnrollmentCancellationDetails = VoiceProfileEnrollmentCancellationDetails;\n\n//# sourceMappingURL=VoiceProfileEnrollmentResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\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 });\nexports.VoiceProfileCancellationDetails = exports.VoiceProfileResult = void 0;\nvar Exports_1 = require(\"../common.speech/Exports\");\nvar Contracts_1 = require(\"./Contracts\");\nvar Exports_2 = require(\"./Exports\");\n/**\n * Output format\n * @class VoiceProfileResult\n */\nvar VoiceProfileResult = /** @class */ (function () {\n function VoiceProfileResult(reason, statusText) {\n this.privReason = reason;\n this.privProperties = new Exports_2.PropertyCollection();\n if (reason === Exports_2.ResultReason.Canceled) {\n Contracts_1.Contracts.throwIfNullOrUndefined(statusText, \"statusText\");\n this.privErrorDetails = statusText;\n this.privProperties.setProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.ServiceError]);\n }\n }\n Object.defineProperty(VoiceProfileResult.prototype, \"reason\", {\n get: function () {\n return this.privReason;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileResult.prototype, \"properties\", {\n get: function () {\n return this.privProperties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(VoiceProfileResult.prototype, \"errorDetails\", {\n get: function () {\n return this.privErrorDetails;\n },\n enumerable: false,\n configurable: true\n });\n return VoiceProfileResult;\n}());\nexports.VoiceProfileResult = VoiceProfileResult;\n/**\n * @class VoiceProfileCancellationDetails\n */\n// tslint:disable-next-line:max-classes-per-file\nvar VoiceProfileCancellationDetails = /** @class */ (function (_super) {\n __extends(VoiceProfileCancellationDetails, _super);\n function VoiceProfileCancellationDetails(reason, errorDetails, errorCode) {\n return _super.call(this, reason, errorDetails, errorCode) || this;\n }\n /**\n * Creates an instance of VoiceProfileCancellationDetails object for the canceled VoiceProfileResult.\n * @member VoiceProfileCancellationDetails.fromResult\n * @function\n * @public\n * @param {VoiceProfileResult} result - The result that was canceled.\n * @returns {VoiceProfileCancellationDetails} The cancellation details object being created.\n */\n VoiceProfileCancellationDetails.fromResult = function (result) {\n var reason = Exports_2.CancellationReason.Error;\n var errorCode = Exports_2.CancellationErrorCode.NoError;\n if (!!result.properties) {\n errorCode = Exports_2.CancellationErrorCode[result.properties.getProperty(Exports_1.CancellationErrorCodePropertyName, Exports_2.CancellationErrorCode[Exports_2.CancellationErrorCode.NoError])];\n }\n return new VoiceProfileCancellationDetails(reason, result.errorDetails, errorCode);\n };\n return VoiceProfileCancellationDetails;\n}(Exports_2.CancellationDetailsBase));\nexports.VoiceProfileCancellationDetails = VoiceProfileCancellationDetails;\n\n//# sourceMappingURL=VoiceProfileResult.js.map\n","\"use strict\";\n// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.VoiceProfileType = void 0;\n/**\n * Output format\n * @class VoiceProfileType\n */\nvar VoiceProfileType;\n(function (VoiceProfileType) {\n /**\n * Text independent speaker identification\n * @member VoiceProfileType.TextIndependentIdentification\n */\n VoiceProfileType[VoiceProfileType[\"TextIndependentIdentification\"] = 0] = \"TextIndependentIdentification\";\n /**\n * Text dependent speaker verification\n * @member VoiceProfileType.TextDependentVerification\n */\n VoiceProfileType[VoiceProfileType[\"TextDependentVerification\"] = 1] = \"TextDependentVerification\";\n /**\n * Text independent speaker verification\n * @member VoiceProfileType.TextIndependentVerification\n */\n VoiceProfileType[VoiceProfileType[\"TextIndependentVerification\"] = 2] = \"TextIndependentVerification\";\n})(VoiceProfileType = exports.VoiceProfileType || (exports.VoiceProfileType = {}));\n\n//# sourceMappingURL=VoiceProfileType.js.map\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime-corejs3/helpers/interopRequireDefault\")[\"default\"];\nvar _promise = _interopRequireDefault(require(\"@babel/runtime-corejs3/core-js-stable/promise\"));\n// ../p-defer/index.js\nfunction pDefer() {\n var deferred = {};\n deferred.promise = new _promise[\"default\"](function (resolve, reject) {\n deferred.resolve = resolve;\n deferred.reject = reject;\n });\n return deferred;\n}\n\n// src/index.js\nmodule.exports = pDefer;\n","/**\n * Srcset Parser\n *\n * By Alex Bell | MIT License\n *\n * JS Parser for the string value that appears in markup \n *\n * @returns Array [{url: _, d: _, w: _, h:_}, ...]\n *\n * Based super duper closely on the reference algorithm at:\n * https://html.spec.whatwg.org/multipage/embedded-content.html#parse-a-srcset-attribute\n *\n * Most comments are copied in directly from the spec\n * (except for comments in parens).\n */\n\n(function (root, factory) {\n\tif (typeof define === 'function' && define.amd) {\n\t\t// AMD. Register as an anonymous module.\n\t\tdefine([], factory);\n\t} else if (typeof module === 'object' && module.exports) {\n\t\t// Node. Does not work with strict CommonJS, but\n\t\t// only CommonJS-like environments that support module.exports,\n\t\t// like Node.\n\t\tmodule.exports = factory();\n\t} else {\n\t\t// Browser globals (root is window)\n\t\troot.parseSrcset = factory();\n\t}\n}(this, function () {\n\n\t// 1. Let input be the value passed to this algorithm.\n\treturn function (input) {\n\n\t\t// UTILITY FUNCTIONS\n\n\t\t// Manual is faster than RegEx\n\t\t// http://bjorn.tipling.com/state-and-regular-expressions-in-javascript\n\t\t// http://jsperf.com/whitespace-character/5\n\t\tfunction isSpace(c) {\n\t\t\treturn (c === \"\\u0020\" || // space\n\t\t\tc === \"\\u0009\" || // horizontal tab\n\t\t\tc === \"\\u000A\" || // new line\n\t\t\tc === \"\\u000C\" || // form feed\n\t\t\tc === \"\\u000D\"); // carriage return\n\t\t}\n\n\t\tfunction collectCharacters(regEx) {\n\t\t\tvar chars,\n\t\t\t\tmatch = regEx.exec(input.substring(pos));\n\t\t\tif (match) {\n\t\t\t\tchars = match[ 0 ];\n\t\t\t\tpos += chars.length;\n\t\t\t\treturn chars;\n\t\t\t}\n\t\t}\n\n\t\tvar inputLength = input.length,\n\n\t\t\t// (Don't use \\s, to avoid matching non-breaking space)\n\t\t\tregexLeadingSpaces = /^[ \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingCommasOrSpaces = /^[, \\t\\n\\r\\u000c]+/,\n\t\t\tregexLeadingNotSpaces = /^[^ \\t\\n\\r\\u000c]+/,\n\t\t\tregexTrailingCommas = /[,]+$/,\n\t\t\tregexNonNegativeInteger = /^\\d+$/,\n\n\t\t\t// ( Positive or negative or unsigned integers or decimals, without or without exponents.\n\t\t\t// Must include at least one digit.\n\t\t\t// According to spec tests any decimal point must be followed by a digit.\n\t\t\t// No leading plus sign is allowed.)\n\t\t\t// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-floating-point-number\n\t\t\tregexFloatingPoint = /^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,\n\n\t\t\turl,\n\t\t\tdescriptors,\n\t\t\tcurrentDescriptor,\n\t\t\tstate,\n\t\t\tc,\n\n\t\t\t// 2. Let position be a pointer into input, initially pointing at the start\n\t\t\t// of the string.\n\t\t\tpos = 0,\n\n\t\t\t// 3. Let candidates be an initially empty source set.\n\t\t\tcandidates = [];\n\n\t\t// 4. Splitting loop: Collect a sequence of characters that are space\n\t\t// characters or U+002C COMMA characters. If any U+002C COMMA characters\n\t\t// were collected, that is a parse error.\n\t\twhile (true) {\n\t\t\tcollectCharacters(regexLeadingCommasOrSpaces);\n\n\t\t\t// 5. If position is past the end of input, return candidates and abort these steps.\n\t\t\tif (pos >= inputLength) {\n\t\t\t\treturn candidates; // (we're done, this is the sole return path)\n\t\t\t}\n\n\t\t\t// 6. Collect a sequence of characters that are not space characters,\n\t\t\t// and let that be url.\n\t\t\turl = collectCharacters(regexLeadingNotSpaces);\n\n\t\t\t// 7. Let descriptors be a new empty list.\n\t\t\tdescriptors = [];\n\n\t\t\t// 8. If url ends with a U+002C COMMA character (,), follow these substeps:\n\t\t\t//\t\t(1). Remove all trailing U+002C COMMA characters from url. If this removed\n\t\t\t// more than one character, that is a parse error.\n\t\t\tif (url.slice(-1) === \",\") {\n\t\t\t\turl = url.replace(regexTrailingCommas, \"\");\n\t\t\t\t// (Jump ahead to step 9 to skip tokenization and just push the candidate).\n\t\t\t\tparseDescriptors();\n\n\t\t\t\t//\tOtherwise, follow these substeps:\n\t\t\t} else {\n\t\t\t\ttokenize();\n\t\t\t} // (close else of step 8)\n\n\t\t\t// 16. Return to the step labeled splitting loop.\n\t\t} // (Close of big while loop.)\n\n\t\t/**\n\t\t * Tokenizes descriptor properties prior to parsing\n\t\t * Returns undefined.\n\t\t */\n\t\tfunction tokenize() {\n\n\t\t\t// 8.1. Descriptor tokeniser: Skip whitespace\n\t\t\tcollectCharacters(regexLeadingSpaces);\n\n\t\t\t// 8.2. Let current descriptor be the empty string.\n\t\t\tcurrentDescriptor = \"\";\n\n\t\t\t// 8.3. Let state be in descriptor.\n\t\t\tstate = \"in descriptor\";\n\n\t\t\twhile (true) {\n\n\t\t\t\t// 8.4. Let c be the character at position.\n\t\t\t\tc = input.charAt(pos);\n\n\t\t\t\t// Do the following depending on the value of state.\n\t\t\t\t// For the purpose of this step, \"EOF\" is a special character representing\n\t\t\t\t// that position is past the end of input.\n\n\t\t\t\t// In descriptor\n\t\t\t\tif (state === \"in descriptor\") {\n\t\t\t\t\t// Do the following, depending on the value of c:\n\n\t\t\t\t\t// Space character\n\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t// descriptors and let current descriptor be the empty string.\n\t\t\t\t\t// Set state to after descriptor.\n\t\t\t\t\tif (isSpace(c)) {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t\tcurrentDescriptor = \"\";\n\t\t\t\t\t\t\tstate = \"after descriptor\";\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// U+002C COMMA (,)\n\t\t\t\t\t\t// Advance position to the next character in input. If current descriptor\n\t\t\t\t\t\t// is not empty, append current descriptor to descriptors. Jump to the step\n\t\t\t\t\t\t// labeled descriptor parser.\n\t\t\t\t\t} else if (c === \",\") {\n\t\t\t\t\t\tpos += 1;\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// U+0028 LEFT PARENTHESIS (()\n\t\t\t\t\t\t// Append c to current descriptor. Set state to in parens.\n\t\t\t\t\t} else if (c === \"\\u0028\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in parens\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// If current descriptor is not empty, append current descriptor to\n\t\t\t\t\t\t// descriptors. Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tif (currentDescriptor) {\n\t\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\t\t\t\t\t// (end \"in descriptor\"\n\n\t\t\t\t\t// In parens\n\t\t\t\t} else if (state === \"in parens\") {\n\n\t\t\t\t\t// U+0029 RIGHT PARENTHESIS ())\n\t\t\t\t\t// Append c to current descriptor. Set state to in descriptor.\n\t\t\t\t\tif (c === \")\") {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t\tstate = \"in descriptor\";\n\n\t\t\t\t\t\t// EOF\n\t\t\t\t\t\t// Append current descriptor to descriptors. Jump to the step labeled\n\t\t\t\t\t\t// descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tdescriptors.push(currentDescriptor);\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Append c to current descriptor.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcurrentDescriptor = currentDescriptor + c;\n\t\t\t\t\t}\n\n\t\t\t\t\t// After descriptor\n\t\t\t\t} else if (state === \"after descriptor\") {\n\n\t\t\t\t\t// Do the following, depending on the value of c:\n\t\t\t\t\t// Space character: Stay in this state.\n\t\t\t\t\tif (isSpace(c)) {\n\n\t\t\t\t\t\t// EOF: Jump to the step labeled descriptor parser.\n\t\t\t\t\t} else if (c === \"\") {\n\t\t\t\t\t\tparseDescriptors();\n\t\t\t\t\t\treturn;\n\n\t\t\t\t\t\t// Anything else\n\t\t\t\t\t\t// Set state to in descriptor. Set position to the previous character in input.\n\t\t\t\t\t} else {\n\t\t\t\t\t\tstate = \"in descriptor\";\n\t\t\t\t\t\tpos -= 1;\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Advance position to the next character in input.\n\t\t\t\tpos += 1;\n\n\t\t\t\t// Repeat this step.\n\t\t\t} // (close while true loop)\n\t\t}\n\n\t\t/**\n\t\t * Adds descriptor properties to a candidate, pushes to the candidates array\n\t\t * @return undefined\n\t\t */\n\t\t// Declared outside of the while loop so that it's only created once.\n\t\tfunction parseDescriptors() {\n\n\t\t\t// 9. Descriptor parser: Let error be no.\n\t\t\tvar pError = false,\n\n\t\t\t\t// 10. Let width be absent.\n\t\t\t\t// 11. Let density be absent.\n\t\t\t\t// 12. Let future-compat-h be absent. (We're implementing it now as h)\n\t\t\t\tw, d, h, i,\n\t\t\t\tcandidate = {},\n\t\t\t\tdesc, lastChar, value, intVal, floatVal;\n\n\t\t\t// 13. For each descriptor in descriptors, run the appropriate set of steps\n\t\t\t// from the following list:\n\t\t\tfor (i = 0 ; i < descriptors.length; i++) {\n\t\t\t\tdesc = descriptors[ i ];\n\n\t\t\t\tlastChar = desc[ desc.length - 1 ];\n\t\t\t\tvalue = desc.substring(0, desc.length - 1);\n\t\t\t\tintVal = parseInt(value, 10);\n\t\t\t\tfloatVal = parseFloat(value);\n\n\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t// a U+0077 LATIN SMALL LETTER W character\n\t\t\t\tif (regexNonNegativeInteger.test(value) && (lastChar === \"w\")) {\n\n\t\t\t\t\t// If width and density are not both absent, then let error be yes.\n\t\t\t\t\tif (w || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes.\n\t\t\t\t\t// Otherwise, let width be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {w = intVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid floating-point number followed by\n\t\t\t\t\t// a U+0078 LATIN SMALL LETTER X character\n\t\t\t\t} else if (regexFloatingPoint.test(value) && (lastChar === \"x\")) {\n\n\t\t\t\t\t// If width, density and future-compat-h are not all absent, then let error\n\t\t\t\t\t// be yes.\n\t\t\t\t\tif (w || d || h) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing floating-point number values to the descriptor.\n\t\t\t\t\t// If the result is less than zero, let error be yes. Otherwise, let density\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (floatVal < 0) {pError = true;} else {d = floatVal;}\n\n\t\t\t\t\t// If the descriptor consists of a valid non-negative integer followed by\n\t\t\t\t\t// a U+0068 LATIN SMALL LETTER H character\n\t\t\t\t} else if (regexNonNegativeInteger.test(value) && (lastChar === \"h\")) {\n\n\t\t\t\t\t// If height and density are not both absent, then let error be yes.\n\t\t\t\t\tif (h || d) {pError = true;}\n\n\t\t\t\t\t// Apply the rules for parsing non-negative integers to the descriptor.\n\t\t\t\t\t// If the result is zero, let error be yes. Otherwise, let future-compat-h\n\t\t\t\t\t// be the result.\n\t\t\t\t\tif (intVal === 0) {pError = true;} else {h = intVal;}\n\n\t\t\t\t\t// Anything else, Let error be yes.\n\t\t\t\t} else {pError = true;}\n\t\t\t} // (close step 13 for loop)\n\n\t\t\t// 15. If error is still no, then append a new image source to candidates whose\n\t\t\t// URL is url, associated with a width width if not absent and a pixel\n\t\t\t// density density if not absent. Otherwise, there is a parse error.\n\t\t\tif (!pError) {\n\t\t\t\tcandidate.url = url;\n\t\t\t\tif (w) { candidate.w = w;}\n\t\t\t\tif (d) { candidate.d = d;}\n\t\t\t\tif (h) { candidate.h = h;}\n\t\t\t\tcandidates.push(candidate);\n\t\t\t} else if (console && console.log) {\n\t\t\t\tconsole.log(\"Invalid srcset descriptor found in '\" +\n\t\t\t\t\tinput + \"' at '\" + desc + \"'.\");\n\t\t\t}\n\t\t} // (close parseDescriptors fn)\n\n\t}\n}));\n","var x=String;\nvar create=function() {return {isColorSupported:false,reset:x,bold:x,dim:x,italic:x,underline:x,inverse:x,hidden:x,strikethrough:x,black:x,red:x,green:x,yellow:x,blue:x,magenta:x,cyan:x,white:x,gray:x,bgBlack:x,bgRed:x,bgGreen:x,bgYellow:x,bgBlue:x,bgMagenta:x,bgCyan:x,bgWhite:x,blackBright:x,redBright:x,greenBright:x,yellowBright:x,blueBright:x,magentaBright:x,cyanBright:x,whiteBright:x,bgBlackBright:x,bgRedBright:x,bgGreenBright:x,bgYellowBright:x,bgBlueBright:x,bgMagentaBright:x,bgCyanBright:x,bgWhiteBright:x}};\nmodule.exports=create();\nmodule.exports.createColors = create;\n","'use strict'\n\nlet Container = require('./container')\n\nclass AtRule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'atrule'\n }\n\n append(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.append(...children)\n }\n\n prepend(...children) {\n if (!this.proxyOf.nodes) this.nodes = []\n return super.prepend(...children)\n }\n}\n\nmodule.exports = AtRule\nAtRule.default = AtRule\n\nContainer.registerAtRule(AtRule)\n","'use strict'\n\nlet Node = require('./node')\n\nclass Comment extends Node {\n constructor(defaults) {\n super(defaults)\n this.type = 'comment'\n }\n}\n\nmodule.exports = Comment\nComment.default = Comment\n","'use strict'\n\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Node = require('./node')\nlet { isClean, my } = require('./symbols')\n\nlet AtRule, parse, Root, Rule\n\nfunction cleanSource(nodes) {\n return nodes.map(i => {\n if (i.nodes) i.nodes = cleanSource(i.nodes)\n delete i.source\n return i\n })\n}\n\nfunction markTreeDirty(node) {\n node[isClean] = false\n if (node.proxyOf.nodes) {\n for (let i of node.proxyOf.nodes) {\n markTreeDirty(i)\n }\n }\n}\n\nclass Container extends Node {\n append(...children) {\n for (let child of children) {\n let nodes = this.normalize(child, this.last)\n for (let node of nodes) this.proxyOf.nodes.push(node)\n }\n\n this.markDirty()\n\n return this\n }\n\n cleanRaws(keepBetween) {\n super.cleanRaws(keepBetween)\n if (this.nodes) {\n for (let node of this.nodes) node.cleanRaws(keepBetween)\n }\n }\n\n each(callback) {\n if (!this.proxyOf.nodes) return undefined\n let iterator = this.getIterator()\n\n let index, result\n while (this.indexes[iterator] < this.proxyOf.nodes.length) {\n index = this.indexes[iterator]\n result = callback(this.proxyOf.nodes[index], index)\n if (result === false) break\n\n this.indexes[iterator] += 1\n }\n\n delete this.indexes[iterator]\n return result\n }\n\n every(condition) {\n return this.nodes.every(condition)\n }\n\n getIterator() {\n if (!this.lastEach) this.lastEach = 0\n if (!this.indexes) this.indexes = {}\n\n this.lastEach += 1\n let iterator = this.lastEach\n this.indexes[iterator] = 0\n\n return iterator\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (!node[prop]) {\n return node[prop]\n } else if (\n prop === 'each' ||\n (typeof prop === 'string' && prop.startsWith('walk'))\n ) {\n return (...args) => {\n return node[prop](\n ...args.map(i => {\n if (typeof i === 'function') {\n return (child, index) => i(child.toProxy(), index)\n } else {\n return i\n }\n })\n )\n }\n } else if (prop === 'every' || prop === 'some') {\n return cb => {\n return node[prop]((child, ...other) =>\n cb(child.toProxy(), ...other)\n )\n }\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else if (prop === 'nodes') {\n return node.nodes.map(i => i.toProxy())\n } else if (prop === 'first' || prop === 'last') {\n return node[prop].toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (prop === 'name' || prop === 'params' || prop === 'selector') {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n index(child) {\n if (typeof child === 'number') return child\n if (child.proxyOf) child = child.proxyOf\n return this.proxyOf.nodes.indexOf(child)\n }\n\n insertAfter(exist, add) {\n let existIndex = this.index(exist)\n let nodes = this.normalize(add, this.proxyOf.nodes[existIndex]).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex + 1, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex < index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n insertBefore(exist, add) {\n let existIndex = this.index(exist)\n let type = existIndex === 0 ? 'prepend' : false\n let nodes = this.normalize(\n add,\n this.proxyOf.nodes[existIndex],\n type\n ).reverse()\n existIndex = this.index(exist)\n for (let node of nodes) this.proxyOf.nodes.splice(existIndex, 0, node)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (existIndex <= index) {\n this.indexes[id] = index + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n normalize(nodes, sample) {\n if (typeof nodes === 'string') {\n nodes = cleanSource(parse(nodes).nodes)\n } else if (typeof nodes === 'undefined') {\n nodes = []\n } else if (Array.isArray(nodes)) {\n nodes = nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type === 'root' && this.type !== 'document') {\n nodes = nodes.nodes.slice(0)\n for (let i of nodes) {\n if (i.parent) i.parent.removeChild(i, 'ignore')\n }\n } else if (nodes.type) {\n nodes = [nodes]\n } else if (nodes.prop) {\n if (typeof nodes.value === 'undefined') {\n throw new Error('Value field is missed in node creation')\n } else if (typeof nodes.value !== 'string') {\n nodes.value = String(nodes.value)\n }\n nodes = [new Declaration(nodes)]\n } else if (nodes.selector || nodes.selectors) {\n nodes = [new Rule(nodes)]\n } else if (nodes.name) {\n nodes = [new AtRule(nodes)]\n } else if (nodes.text) {\n nodes = [new Comment(nodes)]\n } else {\n throw new Error('Unknown node type in node creation')\n }\n\n let processed = nodes.map(i => {\n /* c8 ignore next */\n if (!i[my]) Container.rebuild(i)\n i = i.proxyOf\n if (i.parent) i.parent.removeChild(i)\n if (i[isClean]) markTreeDirty(i)\n\n if (!i.raws) i.raws = {}\n if (typeof i.raws.before === 'undefined') {\n if (sample && typeof sample.raws.before !== 'undefined') {\n i.raws.before = sample.raws.before.replace(/\\S/g, '')\n }\n }\n i.parent = this.proxyOf\n return i\n })\n\n return processed\n }\n\n prepend(...children) {\n children = children.reverse()\n for (let child of children) {\n let nodes = this.normalize(child, this.first, 'prepend').reverse()\n for (let node of nodes) this.proxyOf.nodes.unshift(node)\n for (let id in this.indexes) {\n this.indexes[id] = this.indexes[id] + nodes.length\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n push(child) {\n child.parent = this\n this.proxyOf.nodes.push(child)\n return this\n }\n\n removeAll() {\n for (let node of this.proxyOf.nodes) node.parent = undefined\n this.proxyOf.nodes = []\n\n this.markDirty()\n\n return this\n }\n\n removeChild(child) {\n child = this.index(child)\n this.proxyOf.nodes[child].parent = undefined\n this.proxyOf.nodes.splice(child, 1)\n\n let index\n for (let id in this.indexes) {\n index = this.indexes[id]\n if (index >= child) {\n this.indexes[id] = index - 1\n }\n }\n\n this.markDirty()\n\n return this\n }\n\n replaceValues(pattern, opts, callback) {\n if (!callback) {\n callback = opts\n opts = {}\n }\n\n this.walkDecls(decl => {\n if (opts.props && !opts.props.includes(decl.prop)) return\n if (opts.fast && !decl.value.includes(opts.fast)) return\n\n decl.value = decl.value.replace(pattern, callback)\n })\n\n this.markDirty()\n\n return this\n }\n\n some(condition) {\n return this.nodes.some(condition)\n }\n\n walk(callback) {\n return this.each((child, i) => {\n let result\n try {\n result = callback(child, i)\n } catch (e) {\n throw child.addToError(e)\n }\n if (result !== false && child.walk) {\n result = child.walk(callback)\n }\n\n return result\n })\n }\n\n walkAtRules(name, callback) {\n if (!callback) {\n callback = name\n return this.walk((child, i) => {\n if (child.type === 'atrule') {\n return callback(child, i)\n }\n })\n }\n if (name instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'atrule' && name.test(child.name)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'atrule' && child.name === name) {\n return callback(child, i)\n }\n })\n }\n\n walkComments(callback) {\n return this.walk((child, i) => {\n if (child.type === 'comment') {\n return callback(child, i)\n }\n })\n }\n\n walkDecls(prop, callback) {\n if (!callback) {\n callback = prop\n return this.walk((child, i) => {\n if (child.type === 'decl') {\n return callback(child, i)\n }\n })\n }\n if (prop instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'decl' && prop.test(child.prop)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'decl' && child.prop === prop) {\n return callback(child, i)\n }\n })\n }\n\n walkRules(selector, callback) {\n if (!callback) {\n callback = selector\n\n return this.walk((child, i) => {\n if (child.type === 'rule') {\n return callback(child, i)\n }\n })\n }\n if (selector instanceof RegExp) {\n return this.walk((child, i) => {\n if (child.type === 'rule' && selector.test(child.selector)) {\n return callback(child, i)\n }\n })\n }\n return this.walk((child, i) => {\n if (child.type === 'rule' && child.selector === selector) {\n return callback(child, i)\n }\n })\n }\n\n get first() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[0]\n }\n\n get last() {\n if (!this.proxyOf.nodes) return undefined\n return this.proxyOf.nodes[this.proxyOf.nodes.length - 1]\n }\n}\n\nContainer.registerParse = dependant => {\n parse = dependant\n}\n\nContainer.registerRule = dependant => {\n Rule = dependant\n}\n\nContainer.registerAtRule = dependant => {\n AtRule = dependant\n}\n\nContainer.registerRoot = dependant => {\n Root = dependant\n}\n\nmodule.exports = Container\nContainer.default = Container\n\n/* c8 ignore start */\nContainer.rebuild = node => {\n if (node.type === 'atrule') {\n Object.setPrototypeOf(node, AtRule.prototype)\n } else if (node.type === 'rule') {\n Object.setPrototypeOf(node, Rule.prototype)\n } else if (node.type === 'decl') {\n Object.setPrototypeOf(node, Declaration.prototype)\n } else if (node.type === 'comment') {\n Object.setPrototypeOf(node, Comment.prototype)\n } else if (node.type === 'root') {\n Object.setPrototypeOf(node, Root.prototype)\n }\n\n node[my] = true\n\n if (node.nodes) {\n node.nodes.forEach(child => {\n Container.rebuild(child)\n })\n }\n}\n/* c8 ignore stop */\n","'use strict'\n\nlet pico = require('picocolors')\n\nlet terminalHighlight = require('./terminal-highlight')\n\nclass CssSyntaxError extends Error {\n constructor(message, line, column, source, file, plugin) {\n super(message)\n this.name = 'CssSyntaxError'\n this.reason = message\n\n if (file) {\n this.file = file\n }\n if (source) {\n this.source = source\n }\n if (plugin) {\n this.plugin = plugin\n }\n if (typeof line !== 'undefined' && typeof column !== 'undefined') {\n if (typeof line === 'number') {\n this.line = line\n this.column = column\n } else {\n this.line = line.line\n this.column = line.column\n this.endLine = column.line\n this.endColumn = column.column\n }\n }\n\n this.setMessage()\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, CssSyntaxError)\n }\n }\n\n setMessage() {\n this.message = this.plugin ? this.plugin + ': ' : ''\n this.message += this.file ? this.file : ''\n if (typeof this.line !== 'undefined') {\n this.message += ':' + this.line + ':' + this.column\n }\n this.message += ': ' + this.reason\n }\n\n showSourceCode(color) {\n if (!this.source) return ''\n\n let css = this.source\n if (color == null) color = pico.isColorSupported\n\n let aside = text => text\n let mark = text => text\n let highlight = text => text\n if (color) {\n let { bold, gray, red } = pico.createColors(true)\n mark = text => bold(red(text))\n aside = text => gray(text)\n if (terminalHighlight) {\n highlight = text => terminalHighlight(text)\n }\n }\n\n let lines = css.split(/\\r?\\n/)\n let start = Math.max(this.line - 3, 0)\n let end = Math.min(this.line + 2, lines.length)\n let maxWidth = String(end).length\n\n return lines\n .slice(start, end)\n .map((line, index) => {\n let number = start + 1 + index\n let gutter = ' ' + (' ' + number).slice(-maxWidth) + ' | '\n if (number === this.line) {\n if (line.length > 160) {\n let padding = 20\n let subLineStart = Math.max(0, this.column - padding)\n let subLineEnd = Math.max(\n this.column + padding,\n this.endColumn + padding\n )\n let subLine = line.slice(subLineStart, subLineEnd)\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line\n .slice(0, Math.min(this.column - 1, padding - 1))\n .replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(subLine) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n let spacing =\n aside(gutter.replace(/\\d/g, ' ')) +\n line.slice(0, this.column - 1).replace(/[^\\t]/g, ' ')\n\n return (\n mark('>') +\n aside(gutter) +\n highlight(line) +\n '\\n ' +\n spacing +\n mark('^')\n )\n }\n\n return ' ' + aside(gutter) + highlight(line)\n })\n .join('\\n')\n }\n\n toString() {\n let code = this.showSourceCode()\n if (code) {\n code = '\\n\\n' + code + '\\n'\n }\n return this.name + ': ' + this.message + code\n }\n}\n\nmodule.exports = CssSyntaxError\nCssSyntaxError.default = CssSyntaxError\n","'use strict'\n\nlet Node = require('./node')\n\nclass Declaration extends Node {\n constructor(defaults) {\n if (\n defaults &&\n typeof defaults.value !== 'undefined' &&\n typeof defaults.value !== 'string'\n ) {\n defaults = { ...defaults, value: String(defaults.value) }\n }\n super(defaults)\n this.type = 'decl'\n }\n\n get variable() {\n return this.prop.startsWith('--') || this.prop[0] === '$'\n }\n}\n\nmodule.exports = Declaration\nDeclaration.default = Declaration\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Document extends Container {\n constructor(defaults) {\n // type needs to be passed to super, otherwise child roots won't be normalized correctly\n super({ type: 'document', ...defaults })\n\n if (!this.nodes) {\n this.nodes = []\n }\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n\n return lazy.stringify()\n }\n}\n\nDocument.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nDocument.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Document\nDocument.default = Document\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Input = require('./input')\nlet PreviousMap = require('./previous-map')\nlet Root = require('./root')\nlet Rule = require('./rule')\n\nfunction fromJSON(json, inputs) {\n if (Array.isArray(json)) return json.map(n => fromJSON(n))\n\n let { inputs: ownInputs, ...defaults } = json\n if (ownInputs) {\n inputs = []\n for (let input of ownInputs) {\n let inputHydrated = { ...input, __proto__: Input.prototype }\n if (inputHydrated.map) {\n inputHydrated.map = {\n ...inputHydrated.map,\n __proto__: PreviousMap.prototype\n }\n }\n inputs.push(inputHydrated)\n }\n }\n if (defaults.nodes) {\n defaults.nodes = json.nodes.map(n => fromJSON(n, inputs))\n }\n if (defaults.source) {\n let { inputId, ...source } = defaults.source\n defaults.source = source\n if (inputId != null) {\n defaults.source.input = inputs[inputId]\n }\n }\n if (defaults.type === 'root') {\n return new Root(defaults)\n } else if (defaults.type === 'decl') {\n return new Declaration(defaults)\n } else if (defaults.type === 'rule') {\n return new Rule(defaults)\n } else if (defaults.type === 'comment') {\n return new Comment(defaults)\n } else if (defaults.type === 'atrule') {\n return new AtRule(defaults)\n } else {\n throw new Error('Unknown node type: ' + json.type)\n }\n}\n\nmodule.exports = fromJSON\nfromJSON.default = fromJSON\n","'use strict'\n\nlet { nanoid } = require('nanoid/non-secure')\nlet { isAbsolute, resolve } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { fileURLToPath, pathToFileURL } = require('url')\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet PreviousMap = require('./previous-map')\nlet terminalHighlight = require('./terminal-highlight')\n\nlet fromOffsetCache = Symbol('fromOffsetCache')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(resolve && isAbsolute)\n\nclass Input {\n constructor(css, opts = {}) {\n if (\n css === null ||\n typeof css === 'undefined' ||\n (typeof css === 'object' && !css.toString)\n ) {\n throw new Error(`PostCSS received ${css} instead of CSS string`)\n }\n\n this.css = css.toString()\n\n if (this.css[0] === '\\uFEFF' || this.css[0] === '\\uFFFE') {\n this.hasBOM = true\n this.css = this.css.slice(1)\n } else {\n this.hasBOM = false\n }\n\n if (opts.from) {\n if (\n !pathAvailable ||\n /^\\w+:\\/\\//.test(opts.from) ||\n isAbsolute(opts.from)\n ) {\n this.file = opts.from\n } else {\n this.file = resolve(opts.from)\n }\n }\n\n if (pathAvailable && sourceMapAvailable) {\n let map = new PreviousMap(this.css, opts)\n if (map.text) {\n this.map = map\n let file = map.consumer().file\n if (!this.file && file) this.file = this.mapResolve(file)\n }\n }\n\n if (!this.file) {\n this.id = ''\n }\n if (this.map) this.map.file = this.from\n }\n\n error(message, line, column, opts = {}) {\n let endColumn, endLine, result\n\n if (line && typeof line === 'object') {\n let start = line\n let end = column\n if (typeof start.offset === 'number') {\n let pos = this.fromOffset(start.offset)\n line = pos.line\n column = pos.col\n } else {\n line = start.line\n column = start.column\n }\n if (typeof end.offset === 'number') {\n let pos = this.fromOffset(end.offset)\n endLine = pos.line\n endColumn = pos.col\n } else {\n endLine = end.line\n endColumn = end.column\n }\n } else if (!column) {\n let pos = this.fromOffset(line)\n line = pos.line\n column = pos.col\n }\n\n let origin = this.origin(line, column, endLine, endColumn)\n if (origin) {\n result = new CssSyntaxError(\n message,\n origin.endLine === undefined\n ? origin.line\n : { column: origin.column, line: origin.line },\n origin.endLine === undefined\n ? origin.column\n : { column: origin.endColumn, line: origin.endLine },\n origin.source,\n origin.file,\n opts.plugin\n )\n } else {\n result = new CssSyntaxError(\n message,\n endLine === undefined ? line : { column, line },\n endLine === undefined ? column : { column: endColumn, line: endLine },\n this.css,\n this.file,\n opts.plugin\n )\n }\n\n result.input = { column, endColumn, endLine, line, source: this.css }\n if (this.file) {\n if (pathToFileURL) {\n result.input.url = pathToFileURL(this.file).toString()\n }\n result.input.file = this.file\n }\n\n return result\n }\n\n fromOffset(offset) {\n let lastLine, lineToIndex\n if (!this[fromOffsetCache]) {\n let lines = this.css.split('\\n')\n lineToIndex = new Array(lines.length)\n let prevIndex = 0\n\n for (let i = 0, l = lines.length; i < l; i++) {\n lineToIndex[i] = prevIndex\n prevIndex += lines[i].length + 1\n }\n\n this[fromOffsetCache] = lineToIndex\n } else {\n lineToIndex = this[fromOffsetCache]\n }\n lastLine = lineToIndex[lineToIndex.length - 1]\n\n let min = 0\n if (offset >= lastLine) {\n min = lineToIndex.length - 1\n } else {\n let max = lineToIndex.length - 2\n let mid\n while (min < max) {\n mid = min + ((max - min) >> 1)\n if (offset < lineToIndex[mid]) {\n max = mid - 1\n } else if (offset >= lineToIndex[mid + 1]) {\n min = mid + 1\n } else {\n min = mid\n break\n }\n }\n }\n return {\n col: offset - lineToIndex[min] + 1,\n line: min + 1\n }\n }\n\n mapResolve(file) {\n if (/^\\w+:\\/\\//.test(file)) {\n return file\n }\n return resolve(this.map.consumer().sourceRoot || this.map.root || '.', file)\n }\n\n origin(line, column, endLine, endColumn) {\n if (!this.map) return false\n let consumer = this.map.consumer()\n\n let from = consumer.originalPositionFor({ column, line })\n if (!from.source) return false\n\n let to\n if (typeof endLine === 'number') {\n to = consumer.originalPositionFor({ column: endColumn, line: endLine })\n }\n\n let fromUrl\n\n if (isAbsolute(from.source)) {\n fromUrl = pathToFileURL(from.source)\n } else {\n fromUrl = new URL(\n from.source,\n this.map.consumer().sourceRoot || pathToFileURL(this.map.mapFile)\n )\n }\n\n let result = {\n column: from.column,\n endColumn: to && to.column,\n endLine: to && to.line,\n line: from.line,\n url: fromUrl.toString()\n }\n\n if (fromUrl.protocol === 'file:') {\n if (fileURLToPath) {\n result.file = fileURLToPath(fromUrl)\n } else {\n /* c8 ignore next 2 */\n throw new Error(`file: protocol is not available in this PostCSS build`)\n }\n }\n\n let source = consumer.sourceContentFor(from.source)\n if (source) result.source = source\n\n return result\n }\n\n toJSON() {\n let json = {}\n for (let name of ['hasBOM', 'css', 'file', 'id']) {\n if (this[name] != null) {\n json[name] = this[name]\n }\n }\n if (this.map) {\n json.map = { ...this.map }\n if (json.map.consumerCache) {\n json.map.consumerCache = undefined\n }\n }\n return json\n }\n\n get from() {\n return this.file || this.id\n }\n}\n\nmodule.exports = Input\nInput.default = Input\n\nif (terminalHighlight && terminalHighlight.registerInput) {\n terminalHighlight.registerInput(Input)\n}\n","'use strict'\n\nlet Container = require('./container')\nlet Document = require('./document')\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nlet Result = require('./result')\nlet Root = require('./root')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\nlet warnOnce = require('./warn-once')\n\nconst TYPE_TO_CLASS_NAME = {\n atrule: 'AtRule',\n comment: 'Comment',\n decl: 'Declaration',\n document: 'Document',\n root: 'Root',\n rule: 'Rule'\n}\n\nconst PLUGIN_PROPS = {\n AtRule: true,\n AtRuleExit: true,\n Comment: true,\n CommentExit: true,\n Declaration: true,\n DeclarationExit: true,\n Document: true,\n DocumentExit: true,\n Once: true,\n OnceExit: true,\n postcssPlugin: true,\n prepare: true,\n Root: true,\n RootExit: true,\n Rule: true,\n RuleExit: true\n}\n\nconst NOT_VISITORS = {\n Once: true,\n postcssPlugin: true,\n prepare: true\n}\n\nconst CHILDREN = 0\n\nfunction isPromise(obj) {\n return typeof obj === 'object' && typeof obj.then === 'function'\n}\n\nfunction getEvents(node) {\n let key = false\n let type = TYPE_TO_CLASS_NAME[node.type]\n if (node.type === 'decl') {\n key = node.prop.toLowerCase()\n } else if (node.type === 'atrule') {\n key = node.name.toLowerCase()\n }\n\n if (key && node.append) {\n return [\n type,\n type + '-' + key,\n CHILDREN,\n type + 'Exit',\n type + 'Exit-' + key\n ]\n } else if (key) {\n return [type, type + '-' + key, type + 'Exit', type + 'Exit-' + key]\n } else if (node.append) {\n return [type, CHILDREN, type + 'Exit']\n } else {\n return [type, type + 'Exit']\n }\n}\n\nfunction toStack(node) {\n let events\n if (node.type === 'document') {\n events = ['Document', CHILDREN, 'DocumentExit']\n } else if (node.type === 'root') {\n events = ['Root', CHILDREN, 'RootExit']\n } else {\n events = getEvents(node)\n }\n\n return {\n eventIndex: 0,\n events,\n iterator: 0,\n node,\n visitorIndex: 0,\n visitors: []\n }\n}\n\nfunction cleanMarks(node) {\n node[isClean] = false\n if (node.nodes) node.nodes.forEach(i => cleanMarks(i))\n return node\n}\n\nlet postcss = {}\n\nclass LazyResult {\n constructor(processor, css, opts) {\n this.stringified = false\n this.processed = false\n\n let root\n if (\n typeof css === 'object' &&\n css !== null &&\n (css.type === 'root' || css.type === 'document')\n ) {\n root = cleanMarks(css)\n } else if (css instanceof LazyResult || css instanceof Result) {\n root = cleanMarks(css.root)\n if (css.map) {\n if (typeof opts.map === 'undefined') opts.map = {}\n if (!opts.map.inline) opts.map.inline = false\n opts.map.prev = css.map\n }\n } else {\n let parser = parse\n if (opts.syntax) parser = opts.syntax.parse\n if (opts.parser) parser = opts.parser\n if (parser.parse) parser = parser.parse\n\n try {\n root = parser(css, opts)\n } catch (error) {\n this.processed = true\n this.error = error\n }\n\n if (root && !root[my]) {\n /* c8 ignore next 2 */\n Container.rebuild(root)\n }\n }\n\n this.result = new Result(processor, root, opts)\n this.helpers = { ...postcss, postcss, result: this.result }\n this.plugins = this.processor.plugins.map(plugin => {\n if (typeof plugin === 'object' && plugin.prepare) {\n return { ...plugin, ...plugin.prepare(this.result) }\n } else {\n return plugin\n }\n })\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n if (this.processed) return Promise.resolve(this.result)\n if (!this.processing) {\n this.processing = this.runAsync()\n }\n return this.processing\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n getAsyncError() {\n throw new Error('Use process(css).then(cb) to work with async plugins')\n }\n\n handleError(error, node) {\n let plugin = this.result.lastPlugin\n try {\n if (node) node.addToError(error)\n this.error = error\n if (error.name === 'CssSyntaxError' && !error.plugin) {\n error.plugin = plugin.postcssPlugin\n error.setMessage()\n } else if (plugin.postcssVersion) {\n if (process.env.NODE_ENV !== 'production') {\n let pluginName = plugin.postcssPlugin\n let pluginVer = plugin.postcssVersion\n let runtimeVer = this.result.processor.version\n let a = pluginVer.split('.')\n let b = runtimeVer.split('.')\n\n if (a[0] !== b[0] || parseInt(a[1]) > parseInt(b[1])) {\n // eslint-disable-next-line no-console\n console.error(\n 'Unknown error from PostCSS plugin. Your current PostCSS ' +\n 'version is ' +\n runtimeVer +\n ', but ' +\n pluginName +\n ' uses ' +\n pluginVer +\n '. Perhaps this is the source of the error below.'\n )\n }\n }\n }\n } catch (err) {\n /* c8 ignore next 3 */\n // eslint-disable-next-line no-console\n if (console && console.error) console.error(err)\n }\n return error\n }\n\n prepareVisitors() {\n this.listeners = {}\n let add = (plugin, type, cb) => {\n if (!this.listeners[type]) this.listeners[type] = []\n this.listeners[type].push([plugin, cb])\n }\n for (let plugin of this.plugins) {\n if (typeof plugin === 'object') {\n for (let event in plugin) {\n if (!PLUGIN_PROPS[event] && /^[A-Z]/.test(event)) {\n throw new Error(\n `Unknown event ${event} in ${plugin.postcssPlugin}. ` +\n `Try to update PostCSS (${this.processor.version} now).`\n )\n }\n if (!NOT_VISITORS[event]) {\n if (typeof plugin[event] === 'object') {\n for (let filter in plugin[event]) {\n if (filter === '*') {\n add(plugin, event, plugin[event][filter])\n } else {\n add(\n plugin,\n event + '-' + filter.toLowerCase(),\n plugin[event][filter]\n )\n }\n }\n } else if (typeof plugin[event] === 'function') {\n add(plugin, event, plugin[event])\n }\n }\n }\n }\n }\n this.hasListener = Object.keys(this.listeners).length > 0\n }\n\n async runAsync() {\n this.plugin = 0\n for (let i = 0; i < this.plugins.length; i++) {\n let plugin = this.plugins[i]\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (error) {\n throw this.handleError(error)\n }\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n let stack = [toStack(root)]\n while (stack.length > 0) {\n let promise = this.visitTick(stack)\n if (isPromise(promise)) {\n try {\n await promise\n } catch (e) {\n let node = stack[stack.length - 1].node\n throw this.handleError(e, node)\n }\n }\n }\n }\n\n if (this.listeners.OnceExit) {\n for (let [plugin, visitor] of this.listeners.OnceExit) {\n this.result.lastPlugin = plugin\n try {\n if (root.type === 'document') {\n let roots = root.nodes.map(subRoot =>\n visitor(subRoot, this.helpers)\n )\n\n await Promise.all(roots)\n } else {\n await visitor(root, this.helpers)\n }\n } catch (e) {\n throw this.handleError(e)\n }\n }\n }\n }\n\n this.processed = true\n return this.stringify()\n }\n\n runOnRoot(plugin) {\n this.result.lastPlugin = plugin\n try {\n if (typeof plugin === 'object' && plugin.Once) {\n if (this.result.root.type === 'document') {\n let roots = this.result.root.nodes.map(root =>\n plugin.Once(root, this.helpers)\n )\n\n if (isPromise(roots[0])) {\n return Promise.all(roots)\n }\n\n return roots\n }\n\n return plugin.Once(this.result.root, this.helpers)\n } else if (typeof plugin === 'function') {\n return plugin(this.result.root, this.result)\n }\n } catch (error) {\n throw this.handleError(error)\n }\n }\n\n stringify() {\n if (this.error) throw this.error\n if (this.stringified) return this.result\n this.stringified = true\n\n this.sync()\n\n let opts = this.result.opts\n let str = stringify\n if (opts.syntax) str = opts.syntax.stringify\n if (opts.stringifier) str = opts.stringifier\n if (str.stringify) str = str.stringify\n\n let map = new MapGenerator(str, this.result.root, this.result.opts)\n let data = map.generate()\n this.result.css = data[0]\n this.result.map = data[1]\n\n return this.result\n }\n\n sync() {\n if (this.error) throw this.error\n if (this.processed) return this.result\n this.processed = true\n\n if (this.processing) {\n throw this.getAsyncError()\n }\n\n for (let plugin of this.plugins) {\n let promise = this.runOnRoot(plugin)\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n\n this.prepareVisitors()\n if (this.hasListener) {\n let root = this.result.root\n while (!root[isClean]) {\n root[isClean] = true\n this.walkSync(root)\n }\n if (this.listeners.OnceExit) {\n if (root.type === 'document') {\n for (let subRoot of root.nodes) {\n this.visitSync(this.listeners.OnceExit, subRoot)\n }\n } else {\n this.visitSync(this.listeners.OnceExit, root)\n }\n }\n }\n\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this.opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this.css\n }\n\n visitSync(visitors, node) {\n for (let [plugin, visitor] of visitors) {\n this.result.lastPlugin = plugin\n let promise\n try {\n promise = visitor(node, this.helpers)\n } catch (e) {\n throw this.handleError(e, node.proxyOf)\n }\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n return true\n }\n if (isPromise(promise)) {\n throw this.getAsyncError()\n }\n }\n }\n\n visitTick(stack) {\n let visit = stack[stack.length - 1]\n let { node, visitors } = visit\n\n if (node.type !== 'root' && node.type !== 'document' && !node.parent) {\n stack.pop()\n return\n }\n\n if (visitors.length > 0 && visit.visitorIndex < visitors.length) {\n let [plugin, visitor] = visitors[visit.visitorIndex]\n visit.visitorIndex += 1\n if (visit.visitorIndex === visitors.length) {\n visit.visitors = []\n visit.visitorIndex = 0\n }\n this.result.lastPlugin = plugin\n try {\n return visitor(node.toProxy(), this.helpers)\n } catch (e) {\n throw this.handleError(e, node)\n }\n }\n\n if (visit.iterator !== 0) {\n let iterator = visit.iterator\n let child\n while ((child = node.nodes[node.indexes[iterator]])) {\n node.indexes[iterator] += 1\n if (!child[isClean]) {\n child[isClean] = true\n stack.push(toStack(child))\n return\n }\n }\n visit.iterator = 0\n delete node.indexes[iterator]\n }\n\n let events = visit.events\n while (visit.eventIndex < events.length) {\n let event = events[visit.eventIndex]\n visit.eventIndex += 1\n if (event === CHILDREN) {\n if (node.nodes && node.nodes.length) {\n node[isClean] = true\n visit.iterator = node.getIterator()\n }\n return\n } else if (this.listeners[event]) {\n visit.visitors = this.listeners[event]\n return\n }\n }\n stack.pop()\n }\n\n walkSync(node) {\n node[isClean] = true\n let events = getEvents(node)\n for (let event of events) {\n if (event === CHILDREN) {\n if (node.nodes) {\n node.each(child => {\n if (!child[isClean]) this.walkSync(child)\n })\n }\n } else {\n let visitors = this.listeners[event]\n if (visitors) {\n if (this.visitSync(visitors, node.toProxy())) return\n }\n }\n }\n }\n\n warnings() {\n return this.sync().warnings()\n }\n\n get content() {\n return this.stringify().content\n }\n\n get css() {\n return this.stringify().css\n }\n\n get map() {\n return this.stringify().map\n }\n\n get messages() {\n return this.sync().messages\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n return this.sync().root\n }\n\n get [Symbol.toStringTag]() {\n return 'LazyResult'\n }\n}\n\nLazyResult.registerPostcss = dependant => {\n postcss = dependant\n}\n\nmodule.exports = LazyResult\nLazyResult.default = LazyResult\n\nRoot.registerLazyResult(LazyResult)\nDocument.registerLazyResult(LazyResult)\n","'use strict'\n\nlet list = {\n comma(string) {\n return list.split(string, [','], true)\n },\n\n space(string) {\n let spaces = [' ', '\\n', '\\t']\n return list.split(string, spaces)\n },\n\n split(string, separators, last) {\n let array = []\n let current = ''\n let split = false\n\n let func = 0\n let inQuote = false\n let prevQuote = ''\n let escape = false\n\n for (let letter of string) {\n if (escape) {\n escape = false\n } else if (letter === '\\\\') {\n escape = true\n } else if (inQuote) {\n if (letter === prevQuote) {\n inQuote = false\n }\n } else if (letter === '\"' || letter === \"'\") {\n inQuote = true\n prevQuote = letter\n } else if (letter === '(') {\n func += 1\n } else if (letter === ')') {\n if (func > 0) func -= 1\n } else if (func === 0) {\n if (separators.includes(letter)) split = true\n }\n\n if (split) {\n if (current !== '') array.push(current.trim())\n current = ''\n split = false\n } else {\n current += letter\n }\n }\n\n if (last || current !== '') array.push(current.trim())\n return array\n }\n}\n\nmodule.exports = list\nlist.default = list\n","'use strict'\n\nlet { dirname, relative, resolve, sep } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\nlet { pathToFileURL } = require('url')\n\nlet Input = require('./input')\n\nlet sourceMapAvailable = Boolean(SourceMapConsumer && SourceMapGenerator)\nlet pathAvailable = Boolean(dirname && resolve && relative && sep)\n\nclass MapGenerator {\n constructor(stringify, root, opts, cssString) {\n this.stringify = stringify\n this.mapOpts = opts.map || {}\n this.root = root\n this.opts = opts\n this.css = cssString\n this.originalCSS = cssString\n this.usesFileUrls = !this.mapOpts.from && this.mapOpts.absolute\n\n this.memoizedFileURLs = new Map()\n this.memoizedPaths = new Map()\n this.memoizedURLs = new Map()\n }\n\n addAnnotation() {\n let content\n\n if (this.isInline()) {\n content =\n 'data:application/json;base64,' + this.toBase64(this.map.toString())\n } else if (typeof this.mapOpts.annotation === 'string') {\n content = this.mapOpts.annotation\n } else if (typeof this.mapOpts.annotation === 'function') {\n content = this.mapOpts.annotation(this.opts.to, this.root)\n } else {\n content = this.outputFile() + '.map'\n }\n let eol = '\\n'\n if (this.css.includes('\\r\\n')) eol = '\\r\\n'\n\n this.css += eol + '/*# sourceMappingURL=' + content + ' */'\n }\n\n applyPrevMaps() {\n for (let prev of this.previous()) {\n let from = this.toUrl(this.path(prev.file))\n let root = prev.root || dirname(prev.file)\n let map\n\n if (this.mapOpts.sourcesContent === false) {\n map = new SourceMapConsumer(prev.text)\n if (map.sourcesContent) {\n map.sourcesContent = null\n }\n } else {\n map = prev.consumer()\n }\n\n this.map.applySourceMap(map, from, this.toUrl(this.path(root)))\n }\n }\n\n clearAnnotation() {\n if (this.mapOpts.annotation === false) return\n\n if (this.root) {\n let node\n for (let i = this.root.nodes.length - 1; i >= 0; i--) {\n node = this.root.nodes[i]\n if (node.type !== 'comment') continue\n if (node.text.startsWith('# sourceMappingURL=')) {\n this.root.removeChild(i)\n }\n }\n } else if (this.css) {\n this.css = this.css.replace(/\\n*\\/\\*#[\\S\\s]*?\\*\\/$/gm, '')\n }\n }\n\n generate() {\n this.clearAnnotation()\n if (pathAvailable && sourceMapAvailable && this.isMap()) {\n return this.generateMap()\n } else {\n let result = ''\n this.stringify(this.root, i => {\n result += i\n })\n return [result]\n }\n }\n\n generateMap() {\n if (this.root) {\n this.generateString()\n } else if (this.previous().length === 1) {\n let prev = this.previous()[0].consumer()\n prev.file = this.outputFile()\n this.map = SourceMapGenerator.fromSourceMap(prev, {\n ignoreInvalidMapping: true\n })\n } else {\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n this.map.addMapping({\n generated: { column: 0, line: 1 },\n original: { column: 0, line: 1 },\n source: this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n })\n }\n\n if (this.isSourcesContent()) this.setSourcesContent()\n if (this.root && this.previous().length > 0) this.applyPrevMaps()\n if (this.isAnnotation()) this.addAnnotation()\n\n if (this.isInline()) {\n return [this.css]\n } else {\n return [this.css, this.map]\n }\n }\n\n generateString() {\n this.css = ''\n this.map = new SourceMapGenerator({\n file: this.outputFile(),\n ignoreInvalidMapping: true\n })\n\n let line = 1\n let column = 1\n\n let noSource = ''\n let mapping = {\n generated: { column: 0, line: 0 },\n original: { column: 0, line: 0 },\n source: ''\n }\n\n let last, lines\n this.stringify(this.root, (str, node, type) => {\n this.css += str\n\n if (node && type !== 'end') {\n mapping.generated.line = line\n mapping.generated.column = column - 1\n if (node.source && node.source.start) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.start.line\n mapping.original.column = node.source.start.column - 1\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n this.map.addMapping(mapping)\n }\n }\n\n lines = str.match(/\\n/g)\n if (lines) {\n line += lines.length\n last = str.lastIndexOf('\\n')\n column = str.length - last\n } else {\n column += str.length\n }\n\n if (node && type !== 'start') {\n let p = node.parent || { raws: {} }\n let childless =\n node.type === 'decl' || (node.type === 'atrule' && !node.nodes)\n if (!childless || node !== p.last || p.raws.semicolon) {\n if (node.source && node.source.end) {\n mapping.source = this.sourcePath(node)\n mapping.original.line = node.source.end.line\n mapping.original.column = node.source.end.column - 1\n mapping.generated.line = line\n mapping.generated.column = column - 2\n this.map.addMapping(mapping)\n } else {\n mapping.source = noSource\n mapping.original.line = 1\n mapping.original.column = 0\n mapping.generated.line = line\n mapping.generated.column = column - 1\n this.map.addMapping(mapping)\n }\n }\n }\n })\n }\n\n isAnnotation() {\n if (this.isInline()) {\n return true\n }\n if (typeof this.mapOpts.annotation !== 'undefined') {\n return this.mapOpts.annotation\n }\n if (this.previous().length) {\n return this.previous().some(i => i.annotation)\n }\n return true\n }\n\n isInline() {\n if (typeof this.mapOpts.inline !== 'undefined') {\n return this.mapOpts.inline\n }\n\n let annotation = this.mapOpts.annotation\n if (typeof annotation !== 'undefined' && annotation !== true) {\n return false\n }\n\n if (this.previous().length) {\n return this.previous().some(i => i.inline)\n }\n return true\n }\n\n isMap() {\n if (typeof this.opts.map !== 'undefined') {\n return !!this.opts.map\n }\n return this.previous().length > 0\n }\n\n isSourcesContent() {\n if (typeof this.mapOpts.sourcesContent !== 'undefined') {\n return this.mapOpts.sourcesContent\n }\n if (this.previous().length) {\n return this.previous().some(i => i.withContent())\n }\n return true\n }\n\n outputFile() {\n if (this.opts.to) {\n return this.path(this.opts.to)\n } else if (this.opts.from) {\n return this.path(this.opts.from)\n } else {\n return 'to.css'\n }\n }\n\n path(file) {\n if (this.mapOpts.absolute) return file\n if (file.charCodeAt(0) === 60 /* `<` */) return file\n if (/^\\w+:\\/\\//.test(file)) return file\n let cached = this.memoizedPaths.get(file)\n if (cached) return cached\n\n let from = this.opts.to ? dirname(this.opts.to) : '.'\n\n if (typeof this.mapOpts.annotation === 'string') {\n from = dirname(resolve(from, this.mapOpts.annotation))\n }\n\n let path = relative(from, file)\n this.memoizedPaths.set(file, path)\n\n return path\n }\n\n previous() {\n if (!this.previousMaps) {\n this.previousMaps = []\n if (this.root) {\n this.root.walk(node => {\n if (node.source && node.source.input.map) {\n let map = node.source.input.map\n if (!this.previousMaps.includes(map)) {\n this.previousMaps.push(map)\n }\n }\n })\n } else {\n let input = new Input(this.originalCSS, this.opts)\n if (input.map) this.previousMaps.push(input.map)\n }\n }\n\n return this.previousMaps\n }\n\n setSourcesContent() {\n let already = {}\n if (this.root) {\n this.root.walk(node => {\n if (node.source) {\n let from = node.source.input.from\n if (from && !already[from]) {\n already[from] = true\n let fromUrl = this.usesFileUrls\n ? this.toFileUrl(from)\n : this.toUrl(this.path(from))\n this.map.setSourceContent(fromUrl, node.source.input.css)\n }\n }\n })\n } else if (this.css) {\n let from = this.opts.from\n ? this.toUrl(this.path(this.opts.from))\n : ''\n this.map.setSourceContent(from, this.css)\n }\n }\n\n sourcePath(node) {\n if (this.mapOpts.from) {\n return this.toUrl(this.mapOpts.from)\n } else if (this.usesFileUrls) {\n return this.toFileUrl(node.source.input.from)\n } else {\n return this.toUrl(this.path(node.source.input.from))\n }\n }\n\n toBase64(str) {\n if (Buffer) {\n return Buffer.from(str).toString('base64')\n } else {\n return window.btoa(unescape(encodeURIComponent(str)))\n }\n }\n\n toFileUrl(path) {\n let cached = this.memoizedFileURLs.get(path)\n if (cached) return cached\n\n if (pathToFileURL) {\n let fileURL = pathToFileURL(path).toString()\n this.memoizedFileURLs.set(path, fileURL)\n\n return fileURL\n } else {\n throw new Error(\n '`map.absolute` option is not available in this PostCSS build'\n )\n }\n }\n\n toUrl(path) {\n let cached = this.memoizedURLs.get(path)\n if (cached) return cached\n\n if (sep === '\\\\') {\n path = path.replace(/\\\\/g, '/')\n }\n\n let url = encodeURI(path).replace(/[#?]/g, encodeURIComponent)\n this.memoizedURLs.set(path, url)\n\n return url\n }\n}\n\nmodule.exports = MapGenerator\n","'use strict'\n\nlet MapGenerator = require('./map-generator')\nlet parse = require('./parse')\nconst Result = require('./result')\nlet stringify = require('./stringify')\nlet warnOnce = require('./warn-once')\n\nclass NoWorkResult {\n constructor(processor, css, opts) {\n css = css.toString()\n this.stringified = false\n\n this._processor = processor\n this._css = css\n this._opts = opts\n this._map = undefined\n let root\n\n let str = stringify\n this.result = new Result(this._processor, root, this._opts)\n this.result.css = css\n\n let self = this\n Object.defineProperty(this.result, 'root', {\n get() {\n return self.root\n }\n })\n\n let map = new MapGenerator(str, root, this._opts, css)\n if (map.isMap()) {\n let [generatedCSS, generatedMap] = map.generate()\n if (generatedCSS) {\n this.result.css = generatedCSS\n }\n if (generatedMap) {\n this.result.map = generatedMap\n }\n } else {\n map.clearAnnotation()\n this.result.css = map.css\n }\n }\n\n async() {\n if (this.error) return Promise.reject(this.error)\n return Promise.resolve(this.result)\n }\n\n catch(onRejected) {\n return this.async().catch(onRejected)\n }\n\n finally(onFinally) {\n return this.async().then(onFinally, onFinally)\n }\n\n sync() {\n if (this.error) throw this.error\n return this.result\n }\n\n then(onFulfilled, onRejected) {\n if (process.env.NODE_ENV !== 'production') {\n if (!('from' in this._opts)) {\n warnOnce(\n 'Without `from` option PostCSS could generate wrong source map ' +\n 'and will not find Browserslist config. Set it to CSS file path ' +\n 'or to `undefined` to prevent this warning.'\n )\n }\n }\n\n return this.async().then(onFulfilled, onRejected)\n }\n\n toString() {\n return this._css\n }\n\n warnings() {\n return []\n }\n\n get content() {\n return this.result.css\n }\n\n get css() {\n return this.result.css\n }\n\n get map() {\n return this.result.map\n }\n\n get messages() {\n return []\n }\n\n get opts() {\n return this.result.opts\n }\n\n get processor() {\n return this.result.processor\n }\n\n get root() {\n if (this._root) {\n return this._root\n }\n\n let root\n let parser = parse\n\n try {\n root = parser(this._css, this._opts)\n } catch (error) {\n this.error = error\n }\n\n if (this.error) {\n throw this.error\n } else {\n this._root = root\n return root\n }\n }\n\n get [Symbol.toStringTag]() {\n return 'NoWorkResult'\n }\n}\n\nmodule.exports = NoWorkResult\nNoWorkResult.default = NoWorkResult\n","'use strict'\n\nlet CssSyntaxError = require('./css-syntax-error')\nlet Stringifier = require('./stringifier')\nlet stringify = require('./stringify')\nlet { isClean, my } = require('./symbols')\n\nfunction cloneNode(obj, parent) {\n let cloned = new obj.constructor()\n\n for (let i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n /* c8 ignore next 2 */\n continue\n }\n if (i === 'proxyCache') continue\n let value = obj[i]\n let type = typeof value\n\n if (i === 'parent' && type === 'object') {\n if (parent) cloned[i] = parent\n } else if (i === 'source') {\n cloned[i] = value\n } else if (Array.isArray(value)) {\n cloned[i] = value.map(j => cloneNode(j, cloned))\n } else {\n if (type === 'object' && value !== null) value = cloneNode(value)\n cloned[i] = value\n }\n }\n\n return cloned\n}\n\nclass Node {\n constructor(defaults = {}) {\n this.raws = {}\n this[isClean] = false\n this[my] = true\n\n for (let name in defaults) {\n if (name === 'nodes') {\n this.nodes = []\n for (let node of defaults[name]) {\n if (typeof node.clone === 'function') {\n this.append(node.clone())\n } else {\n this.append(node)\n }\n }\n } else {\n this[name] = defaults[name]\n }\n }\n }\n\n addToError(error) {\n error.postcssNode = this\n if (error.stack && this.source && /\\n\\s{4}at /.test(error.stack)) {\n let s = this.source\n error.stack = error.stack.replace(\n /\\n\\s{4}at /,\n `$&${s.input.from}:${s.start.line}:${s.start.column}$&`\n )\n }\n return error\n }\n\n after(add) {\n this.parent.insertAfter(this, add)\n return this\n }\n\n assign(overrides = {}) {\n for (let name in overrides) {\n this[name] = overrides[name]\n }\n return this\n }\n\n before(add) {\n this.parent.insertBefore(this, add)\n return this\n }\n\n cleanRaws(keepBetween) {\n delete this.raws.before\n delete this.raws.after\n if (!keepBetween) delete this.raws.between\n }\n\n clone(overrides = {}) {\n let cloned = cloneNode(this)\n for (let name in overrides) {\n cloned[name] = overrides[name]\n }\n return cloned\n }\n\n cloneAfter(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertAfter(this, cloned)\n return cloned\n }\n\n cloneBefore(overrides = {}) {\n let cloned = this.clone(overrides)\n this.parent.insertBefore(this, cloned)\n return cloned\n }\n\n error(message, opts = {}) {\n if (this.source) {\n let { end, start } = this.rangeBy(opts)\n return this.source.input.error(\n message,\n { column: start.column, line: start.line },\n { column: end.column, line: end.line },\n opts\n )\n }\n return new CssSyntaxError(message)\n }\n\n getProxyProcessor() {\n return {\n get(node, prop) {\n if (prop === 'proxyOf') {\n return node\n } else if (prop === 'root') {\n return () => node.root().toProxy()\n } else {\n return node[prop]\n }\n },\n\n set(node, prop, value) {\n if (node[prop] === value) return true\n node[prop] = value\n if (\n prop === 'prop' ||\n prop === 'value' ||\n prop === 'name' ||\n prop === 'params' ||\n prop === 'important' ||\n /* c8 ignore next */\n prop === 'text'\n ) {\n node.markDirty()\n }\n return true\n }\n }\n }\n\n /* c8 ignore next 3 */\n markClean() {\n this[isClean] = true\n }\n\n markDirty() {\n if (this[isClean]) {\n this[isClean] = false\n let next = this\n while ((next = next.parent)) {\n next[isClean] = false\n }\n }\n }\n\n next() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index + 1]\n }\n\n positionBy(opts, stringRepresentation) {\n let pos = this.source.start\n if (opts.index) {\n pos = this.positionInside(opts.index, stringRepresentation)\n } else if (opts.word) {\n stringRepresentation = this.toString()\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) pos = this.positionInside(index, stringRepresentation)\n }\n return pos\n }\n\n positionInside(index, stringRepresentation) {\n let string = stringRepresentation || this.toString()\n let column = this.source.start.column\n let line = this.source.start.line\n\n for (let i = 0; i < index; i++) {\n if (string[i] === '\\n') {\n column = 1\n line += 1\n } else {\n column += 1\n }\n }\n\n return { column, line }\n }\n\n prev() {\n if (!this.parent) return undefined\n let index = this.parent.index(this)\n return this.parent.nodes[index - 1]\n }\n\n rangeBy(opts) {\n let start = {\n column: this.source.start.column,\n line: this.source.start.line\n }\n let end = this.source.end\n ? {\n column: this.source.end.column + 1,\n line: this.source.end.line\n }\n : {\n column: start.column + 1,\n line: start.line\n }\n\n if (opts.word) {\n let stringRepresentation = this.toString()\n let index = stringRepresentation.indexOf(opts.word)\n if (index !== -1) {\n start = this.positionInside(index, stringRepresentation)\n end = this.positionInside(\n index + opts.word.length,\n stringRepresentation\n )\n }\n } else {\n if (opts.start) {\n start = {\n column: opts.start.column,\n line: opts.start.line\n }\n } else if (opts.index) {\n start = this.positionInside(opts.index)\n }\n\n if (opts.end) {\n end = {\n column: opts.end.column,\n line: opts.end.line\n }\n } else if (typeof opts.endIndex === 'number') {\n end = this.positionInside(opts.endIndex)\n } else if (opts.index) {\n end = this.positionInside(opts.index + 1)\n }\n }\n\n if (\n end.line < start.line ||\n (end.line === start.line && end.column <= start.column)\n ) {\n end = { column: start.column + 1, line: start.line }\n }\n\n return { end, start }\n }\n\n raw(prop, defaultType) {\n let str = new Stringifier()\n return str.raw(this, prop, defaultType)\n }\n\n remove() {\n if (this.parent) {\n this.parent.removeChild(this)\n }\n this.parent = undefined\n return this\n }\n\n replaceWith(...nodes) {\n if (this.parent) {\n let bookmark = this\n let foundSelf = false\n for (let node of nodes) {\n if (node === this) {\n foundSelf = true\n } else if (foundSelf) {\n this.parent.insertAfter(bookmark, node)\n bookmark = node\n } else {\n this.parent.insertBefore(bookmark, node)\n }\n }\n\n if (!foundSelf) {\n this.remove()\n }\n }\n\n return this\n }\n\n root() {\n let result = this\n while (result.parent && result.parent.type !== 'document') {\n result = result.parent\n }\n return result\n }\n\n toJSON(_, inputs) {\n let fixed = {}\n let emitInputs = inputs == null\n inputs = inputs || new Map()\n let inputsNextIndex = 0\n\n for (let name in this) {\n if (!Object.prototype.hasOwnProperty.call(this, name)) {\n /* c8 ignore next 2 */\n continue\n }\n if (name === 'parent' || name === 'proxyCache') continue\n let value = this[name]\n\n if (Array.isArray(value)) {\n fixed[name] = value.map(i => {\n if (typeof i === 'object' && i.toJSON) {\n return i.toJSON(null, inputs)\n } else {\n return i\n }\n })\n } else if (typeof value === 'object' && value.toJSON) {\n fixed[name] = value.toJSON(null, inputs)\n } else if (name === 'source') {\n let inputId = inputs.get(value.input)\n if (inputId == null) {\n inputId = inputsNextIndex\n inputs.set(value.input, inputsNextIndex)\n inputsNextIndex++\n }\n fixed[name] = {\n end: value.end,\n inputId,\n start: value.start\n }\n } else {\n fixed[name] = value\n }\n }\n\n if (emitInputs) {\n fixed.inputs = [...inputs.keys()].map(input => input.toJSON())\n }\n\n return fixed\n }\n\n toProxy() {\n if (!this.proxyCache) {\n this.proxyCache = new Proxy(this, this.getProxyProcessor())\n }\n return this.proxyCache\n }\n\n toString(stringifier = stringify) {\n if (stringifier.stringify) stringifier = stringifier.stringify\n let result = ''\n stringifier(this, i => {\n result += i\n })\n return result\n }\n\n warn(result, text, opts) {\n let data = { node: this }\n for (let i in opts) data[i] = opts[i]\n return result.warn(text, data)\n }\n\n get proxyOf() {\n return this\n }\n}\n\nmodule.exports = Node\nNode.default = Node\n","'use strict'\n\nlet Container = require('./container')\nlet Input = require('./input')\nlet Parser = require('./parser')\n\nfunction parse(css, opts) {\n let input = new Input(css, opts)\n let parser = new Parser(input)\n try {\n parser.parse()\n } catch (e) {\n if (process.env.NODE_ENV !== 'production') {\n if (e.name === 'CssSyntaxError' && opts && opts.from) {\n if (/\\.scss$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse SCSS with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-scss parser'\n } else if (/\\.sass/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Sass with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-sass parser'\n } else if (/\\.less$/i.test(opts.from)) {\n e.message +=\n '\\nYou tried to parse Less with ' +\n 'the standard CSS parser; ' +\n 'try again with the postcss-less parser'\n }\n }\n }\n throw e\n }\n\n return parser.root\n}\n\nmodule.exports = parse\nparse.default = parse\n\nContainer.registerParse(parse)\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Declaration = require('./declaration')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet tokenizer = require('./tokenize')\n\nconst SAFE_COMMENT_NEIGHBOR = {\n empty: true,\n space: true\n}\n\nfunction findLastWithPosition(tokens) {\n for (let i = tokens.length - 1; i >= 0; i--) {\n let token = tokens[i]\n let pos = token[3] || token[2]\n if (pos) return pos\n }\n}\n\nclass Parser {\n constructor(input) {\n this.input = input\n\n this.root = new Root()\n this.current = this.root\n this.spaces = ''\n this.semicolon = false\n\n this.createTokenizer()\n this.root.source = { input, start: { column: 1, line: 1, offset: 0 } }\n }\n\n atrule(token) {\n let node = new AtRule()\n node.name = token[1].slice(1)\n if (node.name === '') {\n this.unnamedAtrule(node, token)\n }\n this.init(node, token[2])\n\n let type\n let prev\n let shift\n let last = false\n let open = false\n let params = []\n let brackets = []\n\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n type = token[0]\n\n if (type === '(' || type === '[') {\n brackets.push(type === '(' ? ')' : ']')\n } else if (type === '{' && brackets.length > 0) {\n brackets.push('}')\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n }\n\n if (brackets.length === 0) {\n if (type === ';') {\n node.source.end = this.getPosition(token[2])\n node.source.end.offset++\n this.semicolon = true\n break\n } else if (type === '{') {\n open = true\n break\n } else if (type === '}') {\n if (params.length > 0) {\n shift = params.length - 1\n prev = params[shift]\n while (prev && prev[0] === 'space') {\n prev = params[--shift]\n }\n if (prev) {\n node.source.end = this.getPosition(prev[3] || prev[2])\n node.source.end.offset++\n }\n }\n this.end(token)\n break\n } else {\n params.push(token)\n }\n } else {\n params.push(token)\n }\n\n if (this.tokenizer.endOfFile()) {\n last = true\n break\n }\n }\n\n node.raws.between = this.spacesAndCommentsFromEnd(params)\n if (params.length) {\n node.raws.afterName = this.spacesAndCommentsFromStart(params)\n this.raw(node, 'params', params)\n if (last) {\n token = params[params.length - 1]\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n this.spaces = node.raws.between\n node.raws.between = ''\n }\n } else {\n node.raws.afterName = ''\n node.params = ''\n }\n\n if (open) {\n node.nodes = []\n this.current = node\n }\n }\n\n checkMissedSemicolon(tokens) {\n let colon = this.colon(tokens)\n if (colon === false) return\n\n let founded = 0\n let token\n for (let j = colon - 1; j >= 0; j--) {\n token = tokens[j]\n if (token[0] !== 'space') {\n founded += 1\n if (founded === 2) break\n }\n }\n // If the token is a word, e.g. `!important`, `red` or any other valid property's value.\n // Then we need to return the colon after that word token. [3] is the \"end\" colon of that word.\n // And because we need it after that one we do +1 to get the next one.\n throw this.input.error(\n 'Missed semicolon',\n token[0] === 'word' ? token[3] + 1 : token[2]\n )\n }\n\n colon(tokens) {\n let brackets = 0\n let prev, token, type\n for (let [i, element] of tokens.entries()) {\n token = element\n type = token[0]\n\n if (type === '(') {\n brackets += 1\n }\n if (type === ')') {\n brackets -= 1\n }\n if (brackets === 0 && type === ':') {\n if (!prev) {\n this.doubleColon(token)\n } else if (prev[0] === 'word' && prev[1] === 'progid') {\n continue\n } else {\n return i\n }\n }\n\n prev = token\n }\n return false\n }\n\n comment(token) {\n let node = new Comment()\n this.init(node, token[2])\n node.source.end = this.getPosition(token[3] || token[2])\n node.source.end.offset++\n\n let text = token[1].slice(2, -2)\n if (/^\\s*$/.test(text)) {\n node.text = ''\n node.raws.left = text\n node.raws.right = ''\n } else {\n let match = text.match(/^(\\s*)([^]*\\S)(\\s*)$/)\n node.text = match[2]\n node.raws.left = match[1]\n node.raws.right = match[3]\n }\n }\n\n createTokenizer() {\n this.tokenizer = tokenizer(this.input)\n }\n\n decl(tokens, customProperty) {\n let node = new Declaration()\n this.init(node, tokens[0][2])\n\n let last = tokens[tokens.length - 1]\n if (last[0] === ';') {\n this.semicolon = true\n tokens.pop()\n }\n\n node.source.end = this.getPosition(\n last[3] || last[2] || findLastWithPosition(tokens)\n )\n node.source.end.offset++\n\n while (tokens[0][0] !== 'word') {\n if (tokens.length === 1) this.unknownWord(tokens)\n node.raws.before += tokens.shift()[1]\n }\n node.source.start = this.getPosition(tokens[0][2])\n\n node.prop = ''\n while (tokens.length) {\n let type = tokens[0][0]\n if (type === ':' || type === 'space' || type === 'comment') {\n break\n }\n node.prop += tokens.shift()[1]\n }\n\n node.raws.between = ''\n\n let token\n while (tokens.length) {\n token = tokens.shift()\n\n if (token[0] === ':') {\n node.raws.between += token[1]\n break\n } else {\n if (token[0] === 'word' && /\\w/.test(token[1])) {\n this.unknownWord([token])\n }\n node.raws.between += token[1]\n }\n }\n\n if (node.prop[0] === '_' || node.prop[0] === '*') {\n node.raws.before += node.prop[0]\n node.prop = node.prop.slice(1)\n }\n\n let firstSpaces = []\n let next\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n firstSpaces.push(tokens.shift())\n }\n\n this.precheckMissedSemicolon(tokens)\n\n for (let i = tokens.length - 1; i >= 0; i--) {\n token = tokens[i]\n if (token[1].toLowerCase() === '!important') {\n node.important = true\n let string = this.stringFrom(tokens, i)\n string = this.spacesFromEnd(tokens) + string\n if (string !== ' !important') node.raws.important = string\n break\n } else if (token[1].toLowerCase() === 'important') {\n let cache = tokens.slice(0)\n let str = ''\n for (let j = i; j > 0; j--) {\n let type = cache[j][0]\n if (str.trim().startsWith('!') && type !== 'space') {\n break\n }\n str = cache.pop()[1] + str\n }\n if (str.trim().startsWith('!')) {\n node.important = true\n node.raws.important = str\n tokens = cache\n }\n }\n\n if (token[0] !== 'space' && token[0] !== 'comment') {\n break\n }\n }\n\n let hasWord = tokens.some(i => i[0] !== 'space' && i[0] !== 'comment')\n\n if (hasWord) {\n node.raws.between += firstSpaces.map(i => i[1]).join('')\n firstSpaces = []\n }\n this.raw(node, 'value', firstSpaces.concat(tokens), customProperty)\n\n if (node.value.includes(':') && !customProperty) {\n this.checkMissedSemicolon(tokens)\n }\n }\n\n doubleColon(token) {\n throw this.input.error(\n 'Double colon',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n\n emptyRule(token) {\n let node = new Rule()\n this.init(node, token[2])\n node.selector = ''\n node.raws.between = ''\n this.current = node\n }\n\n end(token) {\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.semicolon = false\n\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.spaces = ''\n\n if (this.current.parent) {\n this.current.source.end = this.getPosition(token[2])\n this.current.source.end.offset++\n this.current = this.current.parent\n } else {\n this.unexpectedClose(token)\n }\n }\n\n endFile() {\n if (this.current.parent) this.unclosedBlock()\n if (this.current.nodes && this.current.nodes.length) {\n this.current.raws.semicolon = this.semicolon\n }\n this.current.raws.after = (this.current.raws.after || '') + this.spaces\n this.root.source.end = this.getPosition(this.tokenizer.position())\n }\n\n freeSemicolon(token) {\n this.spaces += token[1]\n if (this.current.nodes) {\n let prev = this.current.nodes[this.current.nodes.length - 1]\n if (prev && prev.type === 'rule' && !prev.raws.ownSemicolon) {\n prev.raws.ownSemicolon = this.spaces\n this.spaces = ''\n }\n }\n }\n\n // Helpers\n\n getPosition(offset) {\n let pos = this.input.fromOffset(offset)\n return {\n column: pos.col,\n line: pos.line,\n offset\n }\n }\n\n init(node, offset) {\n this.current.push(node)\n node.source = {\n input: this.input,\n start: this.getPosition(offset)\n }\n node.raws.before = this.spaces\n this.spaces = ''\n if (node.type !== 'comment') this.semicolon = false\n }\n\n other(start) {\n let end = false\n let type = null\n let colon = false\n let bracket = null\n let brackets = []\n let customProperty = start[1].startsWith('--')\n\n let tokens = []\n let token = start\n while (token) {\n type = token[0]\n tokens.push(token)\n\n if (type === '(' || type === '[') {\n if (!bracket) bracket = token\n brackets.push(type === '(' ? ')' : ']')\n } else if (customProperty && colon && type === '{') {\n if (!bracket) bracket = token\n brackets.push('}')\n } else if (brackets.length === 0) {\n if (type === ';') {\n if (colon) {\n this.decl(tokens, customProperty)\n return\n } else {\n break\n }\n } else if (type === '{') {\n this.rule(tokens)\n return\n } else if (type === '}') {\n this.tokenizer.back(tokens.pop())\n end = true\n break\n } else if (type === ':') {\n colon = true\n }\n } else if (type === brackets[brackets.length - 1]) {\n brackets.pop()\n if (brackets.length === 0) bracket = null\n }\n\n token = this.tokenizer.nextToken()\n }\n\n if (this.tokenizer.endOfFile()) end = true\n if (brackets.length > 0) this.unclosedBracket(bracket)\n\n if (end && colon) {\n if (!customProperty) {\n while (tokens.length) {\n token = tokens[tokens.length - 1][0]\n if (token !== 'space' && token !== 'comment') break\n this.tokenizer.back(tokens.pop())\n }\n }\n this.decl(tokens, customProperty)\n } else {\n this.unknownWord(tokens)\n }\n }\n\n parse() {\n let token\n while (!this.tokenizer.endOfFile()) {\n token = this.tokenizer.nextToken()\n\n switch (token[0]) {\n case 'space':\n this.spaces += token[1]\n break\n\n case ';':\n this.freeSemicolon(token)\n break\n\n case '}':\n this.end(token)\n break\n\n case 'comment':\n this.comment(token)\n break\n\n case 'at-word':\n this.atrule(token)\n break\n\n case '{':\n this.emptyRule(token)\n break\n\n default:\n this.other(token)\n break\n }\n }\n this.endFile()\n }\n\n precheckMissedSemicolon(/* tokens */) {\n // Hook for Safe Parser\n }\n\n raw(node, prop, tokens, customProperty) {\n let token, type\n let length = tokens.length\n let value = ''\n let clean = true\n let next, prev\n\n for (let i = 0; i < length; i += 1) {\n token = tokens[i]\n type = token[0]\n if (type === 'space' && i === length - 1 && !customProperty) {\n clean = false\n } else if (type === 'comment') {\n prev = tokens[i - 1] ? tokens[i - 1][0] : 'empty'\n next = tokens[i + 1] ? tokens[i + 1][0] : 'empty'\n if (!SAFE_COMMENT_NEIGHBOR[prev] && !SAFE_COMMENT_NEIGHBOR[next]) {\n if (value.slice(-1) === ',') {\n clean = false\n } else {\n value += token[1]\n }\n } else {\n clean = false\n }\n } else {\n value += token[1]\n }\n }\n if (!clean) {\n let raw = tokens.reduce((all, i) => all + i[1], '')\n node.raws[prop] = { raw, value }\n }\n node[prop] = value\n }\n\n rule(tokens) {\n tokens.pop()\n\n let node = new Rule()\n this.init(node, tokens[0][2])\n\n node.raws.between = this.spacesAndCommentsFromEnd(tokens)\n this.raw(node, 'selector', tokens)\n this.current = node\n }\n\n spacesAndCommentsFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space' && lastTokenType !== 'comment') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n // Errors\n\n spacesAndCommentsFromStart(tokens) {\n let next\n let spaces = ''\n while (tokens.length) {\n next = tokens[0][0]\n if (next !== 'space' && next !== 'comment') break\n spaces += tokens.shift()[1]\n }\n return spaces\n }\n\n spacesFromEnd(tokens) {\n let lastTokenType\n let spaces = ''\n while (tokens.length) {\n lastTokenType = tokens[tokens.length - 1][0]\n if (lastTokenType !== 'space') break\n spaces = tokens.pop()[1] + spaces\n }\n return spaces\n }\n\n stringFrom(tokens, from) {\n let result = ''\n for (let i = from; i < tokens.length; i++) {\n result += tokens[i][1]\n }\n tokens.splice(from, tokens.length - from)\n return result\n }\n\n unclosedBlock() {\n let pos = this.current.source.start\n throw this.input.error('Unclosed block', pos.line, pos.column)\n }\n\n unclosedBracket(bracket) {\n throw this.input.error(\n 'Unclosed bracket',\n { offset: bracket[2] },\n { offset: bracket[2] + 1 }\n )\n }\n\n unexpectedClose(token) {\n throw this.input.error(\n 'Unexpected }',\n { offset: token[2] },\n { offset: token[2] + 1 }\n )\n }\n\n unknownWord(tokens) {\n throw this.input.error(\n 'Unknown word',\n { offset: tokens[0][2] },\n { offset: tokens[0][2] + tokens[0][1].length }\n )\n }\n\n unnamedAtrule(node, token) {\n throw this.input.error(\n 'At-rule without name',\n { offset: token[2] },\n { offset: token[2] + token[1].length }\n )\n }\n}\n\nmodule.exports = Parser\n","'use strict'\n\nlet AtRule = require('./at-rule')\nlet Comment = require('./comment')\nlet Container = require('./container')\nlet CssSyntaxError = require('./css-syntax-error')\nlet Declaration = require('./declaration')\nlet Document = require('./document')\nlet fromJSON = require('./fromJSON')\nlet Input = require('./input')\nlet LazyResult = require('./lazy-result')\nlet list = require('./list')\nlet Node = require('./node')\nlet parse = require('./parse')\nlet Processor = require('./processor')\nlet Result = require('./result.js')\nlet Root = require('./root')\nlet Rule = require('./rule')\nlet stringify = require('./stringify')\nlet Warning = require('./warning')\n\nfunction postcss(...plugins) {\n if (plugins.length === 1 && Array.isArray(plugins[0])) {\n plugins = plugins[0]\n }\n return new Processor(plugins)\n}\n\npostcss.plugin = function plugin(name, initializer) {\n let warningPrinted = false\n function creator(...args) {\n // eslint-disable-next-line no-console\n if (console && console.warn && !warningPrinted) {\n warningPrinted = true\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': postcss.plugin was deprecated. Migration guide:\\n' +\n 'https://evilmartians.com/chronicles/postcss-8-plugin-migration'\n )\n if (process.env.LANG && process.env.LANG.startsWith('cn')) {\n /* c8 ignore next 7 */\n // eslint-disable-next-line no-console\n console.warn(\n name +\n ': 里面 postcss.plugin 被弃用. 迁移指南:\\n' +\n 'https://www.w3ctech.com/topic/2226'\n )\n }\n }\n let transformer = initializer(...args)\n transformer.postcssPlugin = name\n transformer.postcssVersion = new Processor().version\n return transformer\n }\n\n let cache\n Object.defineProperty(creator, 'postcss', {\n get() {\n if (!cache) cache = creator()\n return cache\n }\n })\n\n creator.process = function (css, processOpts, pluginOpts) {\n return postcss([creator(pluginOpts)]).process(css, processOpts)\n }\n\n return creator\n}\n\npostcss.stringify = stringify\npostcss.parse = parse\npostcss.fromJSON = fromJSON\npostcss.list = list\n\npostcss.comment = defaults => new Comment(defaults)\npostcss.atRule = defaults => new AtRule(defaults)\npostcss.decl = defaults => new Declaration(defaults)\npostcss.rule = defaults => new Rule(defaults)\npostcss.root = defaults => new Root(defaults)\npostcss.document = defaults => new Document(defaults)\n\npostcss.CssSyntaxError = CssSyntaxError\npostcss.Declaration = Declaration\npostcss.Container = Container\npostcss.Processor = Processor\npostcss.Document = Document\npostcss.Comment = Comment\npostcss.Warning = Warning\npostcss.AtRule = AtRule\npostcss.Result = Result\npostcss.Input = Input\npostcss.Rule = Rule\npostcss.Root = Root\npostcss.Node = Node\n\nLazyResult.registerPostcss(postcss)\n\nmodule.exports = postcss\npostcss.default = postcss\n","'use strict'\n\nlet { existsSync, readFileSync } = require('fs')\nlet { dirname, join } = require('path')\nlet { SourceMapConsumer, SourceMapGenerator } = require('source-map-js')\n\nfunction fromBase64(str) {\n if (Buffer) {\n return Buffer.from(str, 'base64').toString()\n } else {\n /* c8 ignore next 2 */\n return window.atob(str)\n }\n}\n\nclass PreviousMap {\n constructor(css, opts) {\n if (opts.map === false) return\n this.loadAnnotation(css)\n this.inline = this.startWith(this.annotation, 'data:')\n\n let prev = opts.map ? opts.map.prev : undefined\n let text = this.loadMap(opts.from, prev)\n if (!this.mapFile && opts.from) {\n this.mapFile = opts.from\n }\n if (this.mapFile) this.root = dirname(this.mapFile)\n if (text) this.text = text\n }\n\n consumer() {\n if (!this.consumerCache) {\n this.consumerCache = new SourceMapConsumer(this.text)\n }\n return this.consumerCache\n }\n\n decodeInline(text) {\n let baseCharsetUri = /^data:application\\/json;charset=utf-?8;base64,/\n let baseUri = /^data:application\\/json;base64,/\n let charsetUri = /^data:application\\/json;charset=utf-?8,/\n let uri = /^data:application\\/json,/\n\n let uriMatch = text.match(charsetUri) || text.match(uri)\n if (uriMatch) {\n return decodeURIComponent(text.substr(uriMatch[0].length))\n }\n\n let baseUriMatch = text.match(baseCharsetUri) || text.match(baseUri)\n if (baseUriMatch) {\n return fromBase64(text.substr(baseUriMatch[0].length))\n }\n\n let encoding = text.match(/data:application\\/json;([^,]+),/)[1]\n throw new Error('Unsupported source map encoding ' + encoding)\n }\n\n getAnnotationURL(sourceMapString) {\n return sourceMapString.replace(/^\\/\\*\\s*# sourceMappingURL=/, '').trim()\n }\n\n isMap(map) {\n if (typeof map !== 'object') return false\n return (\n typeof map.mappings === 'string' ||\n typeof map._mappings === 'string' ||\n Array.isArray(map.sections)\n )\n }\n\n loadAnnotation(css) {\n let comments = css.match(/\\/\\*\\s*# sourceMappingURL=/g)\n if (!comments) return\n\n // sourceMappingURLs from comments, strings, etc.\n let start = css.lastIndexOf(comments.pop())\n let end = css.indexOf('*/', start)\n\n if (start > -1 && end > -1) {\n // Locate the last sourceMappingURL to avoid pickin\n this.annotation = this.getAnnotationURL(css.substring(start, end))\n }\n }\n\n loadFile(path) {\n this.root = dirname(path)\n if (existsSync(path)) {\n this.mapFile = path\n return readFileSync(path, 'utf-8').toString().trim()\n }\n }\n\n loadMap(file, prev) {\n if (prev === false) return false\n\n if (prev) {\n if (typeof prev === 'string') {\n return prev\n } else if (typeof prev === 'function') {\n let prevPath = prev(file)\n if (prevPath) {\n let map = this.loadFile(prevPath)\n if (!map) {\n throw new Error(\n 'Unable to load previous source map: ' + prevPath.toString()\n )\n }\n return map\n }\n } else if (prev instanceof SourceMapConsumer) {\n return SourceMapGenerator.fromSourceMap(prev).toString()\n } else if (prev instanceof SourceMapGenerator) {\n return prev.toString()\n } else if (this.isMap(prev)) {\n return JSON.stringify(prev)\n } else {\n throw new Error(\n 'Unsupported previous source map format: ' + prev.toString()\n )\n }\n } else if (this.inline) {\n return this.decodeInline(this.annotation)\n } else if (this.annotation) {\n let map = this.annotation\n if (file) map = join(dirname(file), map)\n return this.loadFile(map)\n }\n }\n\n startWith(string, start) {\n if (!string) return false\n return string.substr(0, start.length) === start\n }\n\n withContent() {\n return !!(\n this.consumer().sourcesContent &&\n this.consumer().sourcesContent.length > 0\n )\n }\n}\n\nmodule.exports = PreviousMap\nPreviousMap.default = PreviousMap\n","'use strict'\n\nlet Document = require('./document')\nlet LazyResult = require('./lazy-result')\nlet NoWorkResult = require('./no-work-result')\nlet Root = require('./root')\n\nclass Processor {\n constructor(plugins = []) {\n this.version = '8.4.47'\n this.plugins = this.normalize(plugins)\n }\n\n normalize(plugins) {\n let normalized = []\n for (let i of plugins) {\n if (i.postcss === true) {\n i = i()\n } else if (i.postcss) {\n i = i.postcss\n }\n\n if (typeof i === 'object' && Array.isArray(i.plugins)) {\n normalized = normalized.concat(i.plugins)\n } else if (typeof i === 'object' && i.postcssPlugin) {\n normalized.push(i)\n } else if (typeof i === 'function') {\n normalized.push(i)\n } else if (typeof i === 'object' && (i.parse || i.stringify)) {\n if (process.env.NODE_ENV !== 'production') {\n throw new Error(\n 'PostCSS syntaxes cannot be used as plugins. Instead, please use ' +\n 'one of the syntax/parser/stringifier options as outlined ' +\n 'in your PostCSS runner documentation.'\n )\n }\n } else {\n throw new Error(i + ' is not a PostCSS plugin')\n }\n }\n return normalized\n }\n\n process(css, opts = {}) {\n if (\n !this.plugins.length &&\n !opts.parser &&\n !opts.stringifier &&\n !opts.syntax\n ) {\n return new NoWorkResult(this, css, opts)\n } else {\n return new LazyResult(this, css, opts)\n }\n }\n\n use(plugin) {\n this.plugins = this.plugins.concat(this.normalize([plugin]))\n return this\n }\n}\n\nmodule.exports = Processor\nProcessor.default = Processor\n\nRoot.registerProcessor(Processor)\nDocument.registerProcessor(Processor)\n","'use strict'\n\nlet Warning = require('./warning')\n\nclass Result {\n constructor(processor, root, opts) {\n this.processor = processor\n this.messages = []\n this.root = root\n this.opts = opts\n this.css = undefined\n this.map = undefined\n }\n\n toString() {\n return this.css\n }\n\n warn(text, opts = {}) {\n if (!opts.plugin) {\n if (this.lastPlugin && this.lastPlugin.postcssPlugin) {\n opts.plugin = this.lastPlugin.postcssPlugin\n }\n }\n\n let warning = new Warning(text, opts)\n this.messages.push(warning)\n\n return warning\n }\n\n warnings() {\n return this.messages.filter(i => i.type === 'warning')\n }\n\n get content() {\n return this.css\n }\n}\n\nmodule.exports = Result\nResult.default = Result\n","'use strict'\n\nlet Container = require('./container')\n\nlet LazyResult, Processor\n\nclass Root extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'root'\n if (!this.nodes) this.nodes = []\n }\n\n normalize(child, sample, type) {\n let nodes = super.normalize(child)\n\n if (sample) {\n if (type === 'prepend') {\n if (this.nodes.length > 1) {\n sample.raws.before = this.nodes[1].raws.before\n } else {\n delete sample.raws.before\n }\n } else if (this.first !== sample) {\n for (let node of nodes) {\n node.raws.before = sample.raws.before\n }\n }\n }\n\n return nodes\n }\n\n removeChild(child, ignore) {\n let index = this.index(child)\n\n if (!ignore && index === 0 && this.nodes.length > 1) {\n this.nodes[1].raws.before = this.nodes[index].raws.before\n }\n\n return super.removeChild(child)\n }\n\n toResult(opts = {}) {\n let lazy = new LazyResult(new Processor(), this, opts)\n return lazy.stringify()\n }\n}\n\nRoot.registerLazyResult = dependant => {\n LazyResult = dependant\n}\n\nRoot.registerProcessor = dependant => {\n Processor = dependant\n}\n\nmodule.exports = Root\nRoot.default = Root\n\nContainer.registerRoot(Root)\n","'use strict'\n\nlet Container = require('./container')\nlet list = require('./list')\n\nclass Rule extends Container {\n constructor(defaults) {\n super(defaults)\n this.type = 'rule'\n if (!this.nodes) this.nodes = []\n }\n\n get selectors() {\n return list.comma(this.selector)\n }\n\n set selectors(values) {\n let match = this.selector ? this.selector.match(/,\\s*/) : null\n let sep = match ? match[0] : ',' + this.raw('between', 'beforeOpen')\n this.selector = values.join(sep)\n }\n}\n\nmodule.exports = Rule\nRule.default = Rule\n\nContainer.registerRule(Rule)\n","'use strict'\n\nconst DEFAULT_RAW = {\n after: '\\n',\n beforeClose: '\\n',\n beforeComment: '\\n',\n beforeDecl: '\\n',\n beforeOpen: ' ',\n beforeRule: '\\n',\n colon: ': ',\n commentLeft: ' ',\n commentRight: ' ',\n emptyBody: '',\n indent: ' ',\n semicolon: false\n}\n\nfunction capitalize(str) {\n return str[0].toUpperCase() + str.slice(1)\n}\n\nclass Stringifier {\n constructor(builder) {\n this.builder = builder\n }\n\n atrule(node, semicolon) {\n let name = '@' + node.name\n let params = node.params ? this.rawValue(node, 'params') : ''\n\n if (typeof node.raws.afterName !== 'undefined') {\n name += node.raws.afterName\n } else if (params) {\n name += ' '\n }\n\n if (node.nodes) {\n this.block(node, name + params)\n } else {\n let end = (node.raws.between || '') + (semicolon ? ';' : '')\n this.builder(name + params + end, node)\n }\n }\n\n beforeAfter(node, detect) {\n let value\n if (node.type === 'decl') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (node.type === 'comment') {\n value = this.raw(node, null, 'beforeComment')\n } else if (detect === 'before') {\n value = this.raw(node, null, 'beforeRule')\n } else {\n value = this.raw(node, null, 'beforeClose')\n }\n\n let buf = node.parent\n let depth = 0\n while (buf && buf.type !== 'root') {\n depth += 1\n buf = buf.parent\n }\n\n if (value.includes('\\n')) {\n let indent = this.raw(node, null, 'indent')\n if (indent.length) {\n for (let step = 0; step < depth; step++) value += indent\n }\n }\n\n return value\n }\n\n block(node, start) {\n let between = this.raw(node, 'between', 'beforeOpen')\n this.builder(start + between + '{', node, 'start')\n\n let after\n if (node.nodes && node.nodes.length) {\n this.body(node)\n after = this.raw(node, 'after')\n } else {\n after = this.raw(node, 'after', 'emptyBody')\n }\n\n if (after) this.builder(after)\n this.builder('}', node, 'end')\n }\n\n body(node) {\n let last = node.nodes.length - 1\n while (last > 0) {\n if (node.nodes[last].type !== 'comment') break\n last -= 1\n }\n\n let semicolon = this.raw(node, 'semicolon')\n for (let i = 0; i < node.nodes.length; i++) {\n let child = node.nodes[i]\n let before = this.raw(child, 'before')\n if (before) this.builder(before)\n this.stringify(child, last !== i || semicolon)\n }\n }\n\n comment(node) {\n let left = this.raw(node, 'left', 'commentLeft')\n let right = this.raw(node, 'right', 'commentRight')\n this.builder('/*' + left + node.text + right + '*/', node)\n }\n\n decl(node, semicolon) {\n let between = this.raw(node, 'between', 'colon')\n let string = node.prop + between + this.rawValue(node, 'value')\n\n if (node.important) {\n string += node.raws.important || ' !important'\n }\n\n if (semicolon) string += ';'\n this.builder(string, node)\n }\n\n document(node) {\n this.body(node)\n }\n\n raw(node, own, detect) {\n let value\n if (!detect) detect = own\n\n // Already had\n if (own) {\n value = node.raws[own]\n if (typeof value !== 'undefined') return value\n }\n\n let parent = node.parent\n\n if (detect === 'before') {\n // Hack for first rule in CSS\n if (!parent || (parent.type === 'root' && parent.first === node)) {\n return ''\n }\n\n // `root` nodes in `document` should use only their own raws\n if (parent && parent.type === 'document') {\n return ''\n }\n }\n\n // Floating child without parent\n if (!parent) return DEFAULT_RAW[detect]\n\n // Detect style by other nodes\n let root = node.root()\n if (!root.rawCache) root.rawCache = {}\n if (typeof root.rawCache[detect] !== 'undefined') {\n return root.rawCache[detect]\n }\n\n if (detect === 'before' || detect === 'after') {\n return this.beforeAfter(node, detect)\n } else {\n let method = 'raw' + capitalize(detect)\n if (this[method]) {\n value = this[method](root, node)\n } else {\n root.walk(i => {\n value = i.raws[own]\n if (typeof value !== 'undefined') return false\n })\n }\n }\n\n if (typeof value === 'undefined') value = DEFAULT_RAW[detect]\n\n root.rawCache[detect] = value\n return value\n }\n\n rawBeforeClose(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length > 0) {\n if (typeof i.raws.after !== 'undefined') {\n value = i.raws.after\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawBeforeComment(root, node) {\n let value\n root.walkComments(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeDecl')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeDecl(root, node) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n })\n if (typeof value === 'undefined') {\n value = this.raw(node, null, 'beforeRule')\n } else if (value) {\n value = value.replace(/\\S/g, '')\n }\n return value\n }\n\n rawBeforeOpen(root) {\n let value\n root.walk(i => {\n if (i.type !== 'decl') {\n value = i.raws.between\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawBeforeRule(root) {\n let value\n root.walk(i => {\n if (i.nodes && (i.parent !== root || root.first !== i)) {\n if (typeof i.raws.before !== 'undefined') {\n value = i.raws.before\n if (value.includes('\\n')) {\n value = value.replace(/[^\\n]+$/, '')\n }\n return false\n }\n }\n })\n if (value) value = value.replace(/\\S/g, '')\n return value\n }\n\n rawColon(root) {\n let value\n root.walkDecls(i => {\n if (typeof i.raws.between !== 'undefined') {\n value = i.raws.between.replace(/[^\\s:]/g, '')\n return false\n }\n })\n return value\n }\n\n rawEmptyBody(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length === 0) {\n value = i.raws.after\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawIndent(root) {\n if (root.raws.indent) return root.raws.indent\n let value\n root.walk(i => {\n let p = i.parent\n if (p && p !== root && p.parent && p.parent === root) {\n if (typeof i.raws.before !== 'undefined') {\n let parts = i.raws.before.split('\\n')\n value = parts[parts.length - 1]\n value = value.replace(/\\S/g, '')\n return false\n }\n }\n })\n return value\n }\n\n rawSemicolon(root) {\n let value\n root.walk(i => {\n if (i.nodes && i.nodes.length && i.last.type === 'decl') {\n value = i.raws.semicolon\n if (typeof value !== 'undefined') return false\n }\n })\n return value\n }\n\n rawValue(node, prop) {\n let value = node[prop]\n let raw = node.raws[prop]\n if (raw && raw.value === value) {\n return raw.raw\n }\n\n return value\n }\n\n root(node) {\n this.body(node)\n if (node.raws.after) this.builder(node.raws.after)\n }\n\n rule(node) {\n this.block(node, this.rawValue(node, 'selector'))\n if (node.raws.ownSemicolon) {\n this.builder(node.raws.ownSemicolon, node, 'end')\n }\n }\n\n stringify(node, semicolon) {\n /* c8 ignore start */\n if (!this[node.type]) {\n throw new Error(\n 'Unknown AST node type ' +\n node.type +\n '. ' +\n 'Maybe you need to change PostCSS stringifier.'\n )\n }\n /* c8 ignore stop */\n this[node.type](node, semicolon)\n }\n}\n\nmodule.exports = Stringifier\nStringifier.default = Stringifier\n","'use strict'\n\nlet Stringifier = require('./stringifier')\n\nfunction stringify(node, builder) {\n let str = new Stringifier(builder)\n str.stringify(node)\n}\n\nmodule.exports = stringify\nstringify.default = stringify\n","'use strict'\n\nmodule.exports.isClean = Symbol('isClean')\n\nmodule.exports.my = Symbol('my')\n","'use strict'\n\nconst SINGLE_QUOTE = \"'\".charCodeAt(0)\nconst DOUBLE_QUOTE = '\"'.charCodeAt(0)\nconst BACKSLASH = '\\\\'.charCodeAt(0)\nconst SLASH = '/'.charCodeAt(0)\nconst NEWLINE = '\\n'.charCodeAt(0)\nconst SPACE = ' '.charCodeAt(0)\nconst FEED = '\\f'.charCodeAt(0)\nconst TAB = '\\t'.charCodeAt(0)\nconst CR = '\\r'.charCodeAt(0)\nconst OPEN_SQUARE = '['.charCodeAt(0)\nconst CLOSE_SQUARE = ']'.charCodeAt(0)\nconst OPEN_PARENTHESES = '('.charCodeAt(0)\nconst CLOSE_PARENTHESES = ')'.charCodeAt(0)\nconst OPEN_CURLY = '{'.charCodeAt(0)\nconst CLOSE_CURLY = '}'.charCodeAt(0)\nconst SEMICOLON = ';'.charCodeAt(0)\nconst ASTERISK = '*'.charCodeAt(0)\nconst COLON = ':'.charCodeAt(0)\nconst AT = '@'.charCodeAt(0)\n\nconst RE_AT_END = /[\\t\\n\\f\\r \"#'()/;[\\\\\\]{}]/g\nconst RE_WORD_END = /[\\t\\n\\f\\r !\"#'():;@[\\\\\\]{}]|\\/(?=\\*)/g\nconst RE_BAD_BRACKET = /.[\\r\\n\"'(/\\\\]/\nconst RE_HEX_ESCAPE = /[\\da-f]/i\n\nmodule.exports = function tokenizer(input, options = {}) {\n let css = input.css.valueOf()\n let ignore = options.ignoreErrors\n\n let code, content, escape, next, quote\n let currentToken, escaped, escapePos, n, prev\n\n let length = css.length\n let pos = 0\n let buffer = []\n let returned = []\n\n function position() {\n return pos\n }\n\n function unclosed(what) {\n throw input.error('Unclosed ' + what, pos)\n }\n\n function endOfFile() {\n return returned.length === 0 && pos >= length\n }\n\n function nextToken(opts) {\n if (returned.length) return returned.pop()\n if (pos >= length) return\n\n let ignoreUnclosed = opts ? opts.ignoreUnclosed : false\n\n code = css.charCodeAt(pos)\n\n switch (code) {\n case NEWLINE:\n case SPACE:\n case TAB:\n case CR:\n case FEED: {\n next = pos\n do {\n next += 1\n code = css.charCodeAt(next)\n } while (\n code === SPACE ||\n code === NEWLINE ||\n code === TAB ||\n code === CR ||\n code === FEED\n )\n\n currentToken = ['space', css.slice(pos, next)]\n pos = next - 1\n break\n }\n\n case OPEN_SQUARE:\n case CLOSE_SQUARE:\n case OPEN_CURLY:\n case CLOSE_CURLY:\n case COLON:\n case SEMICOLON:\n case CLOSE_PARENTHESES: {\n let controlChar = String.fromCharCode(code)\n currentToken = [controlChar, controlChar, pos]\n break\n }\n\n case OPEN_PARENTHESES: {\n prev = buffer.length ? buffer.pop()[1] : ''\n n = css.charCodeAt(pos + 1)\n if (\n prev === 'url' &&\n n !== SINGLE_QUOTE &&\n n !== DOUBLE_QUOTE &&\n n !== SPACE &&\n n !== NEWLINE &&\n n !== TAB &&\n n !== FEED &&\n n !== CR\n ) {\n next = pos\n do {\n escaped = false\n next = css.indexOf(')', next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos\n break\n } else {\n unclosed('bracket')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['brackets', css.slice(pos, next + 1), pos, next]\n\n pos = next\n } else {\n next = css.indexOf(')', pos + 1)\n content = css.slice(pos, next + 1)\n\n if (next === -1 || RE_BAD_BRACKET.test(content)) {\n currentToken = ['(', '(', pos]\n } else {\n currentToken = ['brackets', content, pos, next]\n pos = next\n }\n }\n\n break\n }\n\n case SINGLE_QUOTE:\n case DOUBLE_QUOTE: {\n quote = code === SINGLE_QUOTE ? \"'\" : '\"'\n next = pos\n do {\n escaped = false\n next = css.indexOf(quote, next + 1)\n if (next === -1) {\n if (ignore || ignoreUnclosed) {\n next = pos + 1\n break\n } else {\n unclosed('string')\n }\n }\n escapePos = next\n while (css.charCodeAt(escapePos - 1) === BACKSLASH) {\n escapePos -= 1\n escaped = !escaped\n }\n } while (escaped)\n\n currentToken = ['string', css.slice(pos, next + 1), pos, next]\n pos = next\n break\n }\n\n case AT: {\n RE_AT_END.lastIndex = pos + 1\n RE_AT_END.test(css)\n if (RE_AT_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_AT_END.lastIndex - 2\n }\n\n currentToken = ['at-word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n case BACKSLASH: {\n next = pos\n escape = true\n while (css.charCodeAt(next + 1) === BACKSLASH) {\n next += 1\n escape = !escape\n }\n code = css.charCodeAt(next + 1)\n if (\n escape &&\n code !== SLASH &&\n code !== SPACE &&\n code !== NEWLINE &&\n code !== TAB &&\n code !== CR &&\n code !== FEED\n ) {\n next += 1\n if (RE_HEX_ESCAPE.test(css.charAt(next))) {\n while (RE_HEX_ESCAPE.test(css.charAt(next + 1))) {\n next += 1\n }\n if (css.charCodeAt(next + 1) === SPACE) {\n next += 1\n }\n }\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n\n pos = next\n break\n }\n\n default: {\n if (code === SLASH && css.charCodeAt(pos + 1) === ASTERISK) {\n next = css.indexOf('*/', pos + 2) + 1\n if (next === 0) {\n if (ignore || ignoreUnclosed) {\n next = css.length\n } else {\n unclosed('comment')\n }\n }\n\n currentToken = ['comment', css.slice(pos, next + 1), pos, next]\n pos = next\n } else {\n RE_WORD_END.lastIndex = pos + 1\n RE_WORD_END.test(css)\n if (RE_WORD_END.lastIndex === 0) {\n next = css.length - 1\n } else {\n next = RE_WORD_END.lastIndex - 2\n }\n\n currentToken = ['word', css.slice(pos, next + 1), pos, next]\n buffer.push(currentToken)\n pos = next\n }\n\n break\n }\n }\n\n pos++\n return currentToken\n }\n\n function back(token) {\n returned.push(token)\n }\n\n return {\n back,\n endOfFile,\n nextToken,\n position\n }\n}\n","/* eslint-disable no-console */\n'use strict'\n\nlet printed = {}\n\nmodule.exports = function warnOnce(message) {\n if (printed[message]) return\n printed[message] = true\n\n if (typeof console !== 'undefined' && console.warn) {\n console.warn(message)\n }\n}\n","'use strict'\n\nclass Warning {\n constructor(text, opts = {}) {\n this.type = 'warning'\n this.text = text\n\n if (opts.node && opts.node.source) {\n let range = opts.node.rangeBy(opts)\n this.line = range.start.line\n this.column = range.start.column\n this.endLine = range.end.line\n this.endColumn = range.end.column\n }\n\n for (let opt in opts) this[opt] = opts[opt]\n }\n\n toString() {\n if (this.node) {\n return this.node.error(this.text, {\n index: this.index,\n plugin: this.plugin,\n word: this.word\n }).message\n }\n\n if (this.plugin) {\n return this.plugin + ': ' + this.text\n }\n\n return this.text\n }\n}\n\nmodule.exports = Warning\nWarning.default = Warning\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","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , undef;\n\n/**\n * Decode a URI encoded string.\n *\n * @param {String} input The URI encoded string.\n * @returns {String|Null} The decoded string.\n * @api private\n */\nfunction decode(input) {\n try {\n return decodeURIComponent(input.replace(/\\+/g, ' '));\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Attempts to encode a given input.\n *\n * @param {String} input The string that needs to be encoded.\n * @returns {String|Null} The encoded string.\n * @api private\n */\nfunction encode(input) {\n try {\n return encodeURIComponent(input);\n } catch (e) {\n return null;\n }\n}\n\n/**\n * Simple query string parser.\n *\n * @param {String} query The query string that needs to be parsed.\n * @returns {Object}\n * @api public\n */\nfunction querystring(query) {\n var parser = /([^=?#&]+)=?([^&]*)/g\n , result = {}\n , part;\n\n while (part = parser.exec(query)) {\n var key = decode(part[1])\n , value = decode(part[2]);\n\n //\n // Prevent overriding of existing properties. This ensures that build-in\n // methods like `toString` or __proto__ are not overriden by malicious\n // querystrings.\n //\n // In the case if failed decoding, we want to omit the key/value pairs\n // from the result.\n //\n if (key === null || value === null || key in result) continue;\n result[key] = value;\n }\n\n return result;\n}\n\n/**\n * Transform a query string to an object.\n *\n * @param {Object} obj Object that should be transformed.\n * @param {String} prefix Optional prefix.\n * @returns {String}\n * @api public\n */\nfunction querystringify(obj, prefix) {\n prefix = prefix || '';\n\n var pairs = []\n , value\n , key;\n\n //\n // Optionally prefix with a '?' if needed\n //\n if ('string' !== typeof prefix) prefix = '?';\n\n for (key in obj) {\n if (has.call(obj, key)) {\n value = obj[key];\n\n //\n // Edge cases where we actually want to encode the value to an empty\n // string instead of the stringified value.\n //\n if (!value && (value === null || value === undef || isNaN(value))) {\n value = '';\n }\n\n key = encode(key);\n value = encode(value);\n\n //\n // If we failed to encode the strings, we should bail out as we don't\n // want to add invalid strings to the query.\n //\n if (key === null || value === null) continue;\n pairs.push(key +'='+ value);\n }\n }\n\n return pairs.length ? prefix + pairs.join('&') : '';\n}\n\n//\n// Expose the module.\n//\nexports.stringify = querystringify;\nexports.parse = querystring;\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 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","/** @license React v16.8.6\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),n=require(\"object-assign\"),r=require(\"scheduler\");function ba(a,b,c,d,e,f,g,h){if(!a){a=void 0;if(void 0===b)a=Error(\"Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.\");else{var l=[c,d,e,f,g,h],k=0;a=Error(b.replace(/%s/g,function(){return l[k++]}));a.name=\"Invariant Violation\"}a.framesToPop=1;throw a;}}\nfunction x(a){for(var b=arguments.length-1,c=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,d=0;dthis.eventPool.length&&this.eventPool.push(a)}\nfunction hb(a){a.eventPool=[];a.getPooled=ib;a.release=jb}var kb=y.extend({data:null}),lb=y.extend({data:null}),mb=[9,13,27,32],nb=Ra&&\"CompositionEvent\"in window,ob=null;Ra&&\"documentMode\"in document&&(ob=document.documentMode);\nvar pb=Ra&&\"TextEvent\"in window&&!ob,qb=Ra&&(!nb||ob&&8=ob),rb=String.fromCharCode(32),sb={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"blur compositionend keydown keypress keyup mousedown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"blur compositionstart keydown keypress keyup mousedown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"blur compositionupdate keydown keypress keyup mousedown\".split(\" \")}},tb=!1;\nfunction ub(a,b){switch(a){case \"keyup\":return-1!==mb.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"blur\":return!0;default:return!1}}function vb(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var wb=!1;function xb(a,b){switch(a){case \"compositionend\":return vb(b);case \"keypress\":if(32!==b.which)return null;tb=!0;return rb;case \"textInput\":return a=b.data,a===rb&&tb?null:a;default:return null}}\nfunction yb(a,b){if(wb)return\"compositionend\"===a||!nb&&ub(a,b)?(a=eb(),db=cb=bb=null,wb=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1b}return!1}function C(a,b,c,d,e){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b}var D={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){D[a]=new C(a,0,!1,a,null)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];D[b]=new C(b,1,!1,a[1],null)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){D[a]=new C(a,2,!1,a.toLowerCase(),null)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){D[a]=new C(a,2,!1,a,null)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){D[a]=new C(a,3,!1,a.toLowerCase(),null)});[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){D[a]=new C(a,3,!0,a,null)});\n[\"capture\",\"download\"].forEach(function(a){D[a]=new C(a,4,!1,a,null)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){D[a]=new C(a,6,!1,a,null)});[\"rowSpan\",\"start\"].forEach(function(a){D[a]=new C(a,5,!1,a.toLowerCase(),null)});var rc=/[\\-:]([a-z])/g;function sc(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(rc,\nsc);D[b]=new C(b,1,!1,a,null)});\"xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/1999/xlink\")});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(rc,sc);D[b]=new C(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\")});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){D[a]=new C(a,1,!1,a.toLowerCase(),null)});\nfunction tc(a,b,c,d){var e=D.hasOwnProperty(b)?D[b]:null;var f=null!==e?0===e.type:d?!1:!(2zd.length&&zd.push(a)}}}var Fd={},Gd=0,Hd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);\nfunction Id(a){Object.prototype.hasOwnProperty.call(a,Hd)||(a[Hd]=Gd++,Fd[a[Hd]]={});return Fd[a[Hd]]}function Jd(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}function Kd(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ld(a,b){var c=Kd(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Kd(c)}}function Md(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Md(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Nd(){for(var a=window,b=Jd();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Jd(a.document)}return b}function Od(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Pd(){var a=Nd();if(Od(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{b=(b=a.ownerDocument)&&b.defaultView||window;var c=b.getSelection&&b.getSelection();if(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(A){b=null;break a}var f=0,g=-1,h=-1,l=0,k=0,m=a,p=null;b:for(;;){for(var t;;){m!==b||0!==d&&3!==m.nodeType||(g=f+d);m!==e||0!==c&&3!==m.nodeType||(h=f+c);3===m.nodeType&&(f+=m.nodeValue.length);\nif(null===(t=m.firstChild))break;p=m;m=t}for(;;){if(m===a)break b;p===b&&++l===d&&(g=f);p===e&&++k===c&&(h=f);if(null!==(t=m.nextSibling))break;m=p;p=m.parentNode}m=t}b=-1===g||-1===h?null:{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;return{focusedElem:a,selectionRange:b}}\nfunction Qd(a){var b=Nd(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Md(c.ownerDocument.documentElement,c)){if(null!==d&&Od(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ld(c,f);var g=Ld(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c=document.documentMode,Sd={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"blur contextmenu dragend focus keydown keyup mousedown mouseup selectionchange\".split(\" \")}},Td=null,Ud=null,Vd=null,Wd=!1;\nfunction Xd(a,b){var c=b.window===b?b.document:9===b.nodeType?b:b.ownerDocument;if(Wd||null==Td||Td!==Jd(c))return null;c=Td;\"selectionStart\"in c&&Od(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset});return Vd&&dd(Vd,c)?null:(Vd=c,a=y.getPooled(Sd.select,Ud,a,b),a.type=\"select\",a.target=Td,Qa(a),a)}\nvar Yd={eventTypes:Sd,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Id(e);f=sa.onSelect;for(var g=0;g=b.length?void 0:x(\"93\"),b=b[0]),c=b),null==c&&(c=\"\"));a._wrapperState={initialValue:uc(c)}}\nfunction de(a,b){var c=uc(b.value),d=uc(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function ee(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var fe={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction ge(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function he(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?ge(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ie=void 0,je=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==fe.svg||\"innerHTML\"in a)a.innerHTML=b;else{ie=ie||document.createElement(\"div\");ie.innerHTML=\"\"+b+\"\";for(b=ie.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ke(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar le={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,\nfloodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},me=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(le).forEach(function(a){me.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);le[b]=le[a]})});function ne(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||le.hasOwnProperty(a)&&le[a]?(\"\"+b).trim():b+\"px\"}\nfunction oe(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=ne(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var pe=n({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction qe(a,b){b&&(pe[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?x(\"137\",a,\"\"):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?x(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:x(\"61\")),null!=b.style&&\"object\"!==typeof b.style?x(\"62\",\"\"):void 0)}\nfunction re(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}\nfunction se(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Id(a);b=sa[b];for(var d=0;dGe||(a.current=Fe[Ge],Fe[Ge]=null,Ge--)}function G(a,b){Ge++;Fe[Ge]=a.current;a.current=b}var He={},H={current:He},I={current:!1},Ie=He;\nfunction Je(a,b){var c=a.type.contextTypes;if(!c)return He;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function J(a){a=a.childContextTypes;return null!==a&&void 0!==a}function Ke(a){F(I,a);F(H,a)}function Le(a){F(I,a);F(H,a)}\nfunction Me(a,b,c){H.current!==He?x(\"168\"):void 0;G(H,b,a);G(I,c,a)}function Ne(a,b,c){var d=a.stateNode;a=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)e in a?void 0:x(\"108\",ic(b)||\"Unknown\",e);return n({},c,d)}function Oe(a){var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||He;Ie=H.current;G(H,b,a);G(I,I.current,a);return!0}\nfunction Pe(a,b,c){var d=a.stateNode;d?void 0:x(\"169\");c?(b=Ne(a,b,Ie),d.__reactInternalMemoizedMergedChildContext=b,F(I,a),F(H,a),G(H,b,a)):F(I,a);G(I,c,a)}var Qe=null,Re=null;function Se(a){return function(b){try{return a(b)}catch(c){}}}\nfunction Te(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);Qe=Se(function(a){return b.onCommitFiberRoot(c,a)});Re=Se(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}\nfunction Ue(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.contextDependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.childExpirationTime=this.expirationTime=0;this.alternate=null}function K(a,b,c,d){return new Ue(a,b,c,d)}\nfunction Ve(a){a=a.prototype;return!(!a||!a.isReactComponent)}function We(a){if(\"function\"===typeof a)return Ve(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===cc)return 11;if(a===ec)return 14}return 2}\nfunction Xe(a,b){var c=a.alternate;null===c?(c=K(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.effectTag=0,c.nextEffect=null,c.firstEffect=null,c.lastEffect=null);c.childExpirationTime=a.childExpirationTime;c.expirationTime=a.expirationTime;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;c.contextDependencies=a.contextDependencies;c.sibling=a.sibling;\nc.index=a.index;c.ref=a.ref;return c}\nfunction Ye(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)Ve(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case Xb:return Ze(c.children,e,f,b);case bc:return $e(c,e|3,f,b);case Yb:return $e(c,e|2,f,b);case Zb:return a=K(12,c,b,e|4),a.elementType=Zb,a.type=Zb,a.expirationTime=f,a;case dc:return a=K(13,c,b,e),a.elementType=dc,a.type=dc,a.expirationTime=f,a;default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case $b:g=10;break a;case ac:g=9;break a;case cc:g=11;break a;case ec:g=\n14;break a;case fc:g=16;d=null;break a}x(\"130\",null==a?a:typeof a,\"\")}b=K(g,c,b,e);b.elementType=a;b.type=d;b.expirationTime=f;return b}function Ze(a,b,c,d){a=K(7,a,d,b);a.expirationTime=c;return a}function $e(a,b,c,d){a=K(8,a,d,b);b=0===(b&1)?Yb:bc;a.elementType=b;a.type=b;a.expirationTime=c;return a}function af(a,b,c){a=K(6,a,null,b);a.expirationTime=c;return a}\nfunction bf(a,b,c){b=K(4,null!==a.children?a.children:[],a.key,b);b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}function cf(a,b){a.didError=!1;var c=a.earliestPendingTime;0===c?a.earliestPendingTime=a.latestPendingTime=b:cb&&(a.latestPendingTime=b);df(b,a)}\nfunction ef(a,b){a.didError=!1;if(0===b)a.earliestPendingTime=0,a.latestPendingTime=0,a.earliestSuspendedTime=0,a.latestSuspendedTime=0,a.latestPingedTime=0;else{bb?a.earliestPendingTime=a.latestPendingTime=0:a.earliestPendingTime>b&&(a.earliestPendingTime=a.latestPendingTime));c=a.earliestSuspendedTime;0===c?cf(a,b):bc&&cf(a,b)}df(0,a)}function ff(a,b){a.didError=!1;a.latestPingedTime>=b&&(a.latestPingedTime=0);var c=a.earliestPendingTime,d=a.latestPendingTime;c===b?a.earliestPendingTime=d===b?a.latestPendingTime=0:d:d===b&&(a.latestPendingTime=c);c=a.earliestSuspendedTime;d=a.latestSuspendedTime;0===c?a.earliestSuspendedTime=a.latestSuspendedTime=b:cb&&(a.latestSuspendedTime=b);df(b,a)}\nfunction gf(a,b){var c=a.earliestPendingTime;a=a.earliestSuspendedTime;c>b&&(b=c);a>b&&(b=a);return b}function df(a,b){var c=b.earliestSuspendedTime,d=b.latestSuspendedTime,e=b.earliestPendingTime,f=b.latestPingedTime;e=0!==e?e:f;0===e&&(0===a||da&&(a=c);b.nextExpirationTimeToWorkOn=e;b.expirationTime=a}function L(a,b){if(a&&a.defaultProps){b=n({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c])}return b}\nfunction hf(a){var b=a._result;switch(a._status){case 1:return b;case 2:throw b;case 0:throw b;default:a._status=0;b=a._ctor;b=b();b.then(function(b){0===a._status&&(b=b.default,a._status=1,a._result=b)},function(b){0===a._status&&(a._status=2,a._result=b)});switch(a._status){case 1:return a._result;case 2:throw a._result;}a._result=b;throw b;}}var jf=(new aa.Component).refs;\nfunction kf(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:n({},b,c);a.memoizedState=c;d=a.updateQueue;null!==d&&0===a.expirationTime&&(d.baseState=c)}\nvar tf={isMounted:function(a){return(a=a._reactInternalFiber)?2===ed(a):!1},enqueueSetState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueReplaceState:function(a,b,c){a=a._reactInternalFiber;var d=lf();d=mf(d,a);var e=nf(d);e.tag=rf;e.payload=b;void 0!==c&&null!==c&&(e.callback=c);of();pf(a,e);qf(a,d)},enqueueForceUpdate:function(a,b){a=a._reactInternalFiber;var c=lf();c=mf(c,a);var d=nf(c);d.tag=\nsf;void 0!==b&&null!==b&&(d.callback=b);of();pf(a,d);qf(a,c)}};function uf(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!dd(c,d)||!dd(e,f):!0}\nfunction vf(a,b,c){var d=!1,e=He;var f=b.contextType;\"object\"===typeof f&&null!==f?f=M(f):(e=J(b)?Ie:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Je(a,e):He);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=tf;a.stateNode=b;b._reactInternalFiber=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction wf(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&tf.enqueueReplaceState(b,b.state,null)}\nfunction xf(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs=jf;var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=M(f):(f=J(b)?Ie:H.current,e.context=Je(a,f));f=a.updateQueue;null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState);f=b.getDerivedStateFromProps;\"function\"===typeof f&&(kf(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==\ntypeof e.componentWillMount||(b=e.state,\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&tf.enqueueReplaceState(e,e.state,null),f=a.updateQueue,null!==f&&(yf(a,f,c,e,d),e.state=a.memoizedState));\"function\"===typeof e.componentDidMount&&(a.effectTag|=4)}var zf=Array.isArray;\nfunction Af(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;var d=void 0;c&&(1!==c.tag?x(\"309\"):void 0,d=c.stateNode);d?void 0:x(\"147\",a);var e=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===e)return b.ref;b=function(a){var b=d.refs;b===jf&&(b=d.refs={});null===a?delete b[e]:b[e]=a};b._stringRef=e;return b}\"string\"!==typeof a?x(\"284\"):void 0;c._owner?void 0:x(\"290\",a)}return a}\nfunction Bf(a,b){\"textarea\"!==a.type&&x(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction Cf(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=Xe(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,du?(B=q,q=null):B=q.sibling;var w=t(e,q,h[u],k);if(null===w){null===q&&(q=B);break}a&&\nq&&null===w.alternate&&b(e,q);g=f(w,g,u);null===m?l=w:m.sibling=w;m=w;q=B}if(u===h.length)return c(e,q),l;if(null===q){for(;uu?(B=q,q=null):B=q.sibling;var v=t(e,q,w.value,k);if(null===v){q||(q=B);break}a&&q&&null===v.alternate&&b(e,q);g=f(v,g,u);null===m?l=v:m.sibling=v;m=v;q=B}if(w.done)return c(e,q),l;if(null===q){for(;!w.done;u++,w=h.next())w=p(e,w.value,k),null!==w&&(g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);return l}for(q=d(e,q);!w.done;u++,w=h.next())w=A(q,e,u,w.value,k),null!==w&&(a&&null!==w.alternate&&q.delete(null===w.key?u:\nw.key),g=f(w,g,u),null===m?l=w:m.sibling=w,m=w);a&&q.forEach(function(a){return b(e,a)});return l}return function(a,d,f,h){var k=\"object\"===typeof f&&null!==f&&f.type===Xb&&null===f.key;k&&(f=f.props.children);var l=\"object\"===typeof f&&null!==f;if(l)switch(f.$$typeof){case Vb:a:{l=f.key;for(k=d;null!==k;){if(k.key===l)if(7===k.tag?f.type===Xb:k.elementType===f.type){c(a,k.sibling);d=e(k,f.type===Xb?f.props.children:f.props,h);d.ref=Af(a,k,f);d.return=a;a=d;break a}else{c(a,k);break}else b(a,k);k=\nk.sibling}f.type===Xb?(d=Ze(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Ye(f.type,f.key,f.props,null,a.mode,h),h.ref=Af(a,d,f),h.return=a,a=h)}return g(a);case Wb:a:{for(k=f.key;null!==d;){if(d.key===k)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=bf(f,a.mode,h);d.return=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\n\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h),d.return=a,a=d):(c(a,d),d=af(f,a.mode,h),d.return=a,a=d),g(a);if(zf(f))return v(a,d,f,h);if(hc(f))return R(a,d,f,h);l&&Bf(a,f);if(\"undefined\"===typeof f&&!k)switch(a.tag){case 1:case 0:h=a.type,x(\"152\",h.displayName||h.name||\"Component\")}return c(a,d)}}var Df=Cf(!0),Ef=Cf(!1),Ff={},N={current:Ff},Gf={current:Ff},Hf={current:Ff};function If(a){a===Ff?x(\"174\"):void 0;return a}\nfunction Jf(a,b){G(Hf,b,a);G(Gf,a,a);G(N,Ff,a);var c=b.nodeType;switch(c){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:he(null,\"\");break;default:c=8===c?b.parentNode:b,b=c.namespaceURI||null,c=c.tagName,b=he(b,c)}F(N,a);G(N,b,a)}function Kf(a){F(N,a);F(Gf,a);F(Hf,a)}function Lf(a){If(Hf.current);var b=If(N.current);var c=he(b,a.type);b!==c&&(G(Gf,a,a),G(N,c,a))}function Mf(a){Gf.current===a&&(F(N,a),F(Gf,a))}\nvar Nf=0,Of=2,Pf=4,Qf=8,Rf=16,Sf=32,Tf=64,Uf=128,Vf=Tb.ReactCurrentDispatcher,Wf=0,Xf=null,O=null,P=null,Yf=null,Q=null,Zf=null,$f=0,ag=null,bg=0,cg=!1,dg=null,eg=0;function fg(){x(\"321\")}function gg(a,b){if(null===b)return!1;for(var c=0;c$f&&($f=m)):f=l.eagerReducer===a?l.eagerState:a(f,l.action);g=l;l=l.next}while(null!==l&&l!==d);k||(h=g,e=f);bd(f,b.memoizedState)||(qg=!0);b.memoizedState=f;b.baseUpdate=h;b.baseState=e;c.lastRenderedState=f}return[b.memoizedState,c.dispatch]}\nfunction rg(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};null===ag?(ag={lastEffect:null},ag.lastEffect=a.next=a):(b=ag.lastEffect,null===b?ag.lastEffect=a.next=a:(c=b.next,b.next=a,a.next=c,ag.lastEffect=a));return a}function sg(a,b,c,d){var e=mg();bg|=a;e.memoizedState=rg(b,c,void 0,void 0===d?null:d)}\nfunction tg(a,b,c,d){var e=ng();d=void 0===d?null:d;var f=void 0;if(null!==O){var g=O.memoizedState;f=g.destroy;if(null!==d&&gg(d,g.deps)){rg(Nf,c,f,d);return}}bg|=a;e.memoizedState=rg(b,c,f,d)}function ug(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function vg(){}\nfunction wg(a,b,c){25>eg?void 0:x(\"301\");var d=a.alternate;if(a===Xf||null!==d&&d===Xf)if(cg=!0,a={expirationTime:Wf,action:c,eagerReducer:null,eagerState:null,next:null},null===dg&&(dg=new Map),c=dg.get(b),void 0===c)dg.set(b,a);else{for(b=c;null!==b.next;)b=b.next;b.next=a}else{of();var e=lf();e=mf(e,a);var f={expirationTime:e,action:c,eagerReducer:null,eagerState:null,next:null},g=b.last;if(null===g)f.next=f;else{var h=g.next;null!==h&&(f.next=h);g.next=f}b.last=f;if(0===a.expirationTime&&(null===\nd||0===d.expirationTime)&&(d=b.lastRenderedReducer,null!==d))try{var l=b.lastRenderedState,k=d(l,c);f.eagerReducer=d;f.eagerState=k;if(bd(k,l))return}catch(m){}finally{}qf(a,e)}}\nvar kg={readContext:M,useCallback:fg,useContext:fg,useEffect:fg,useImperativeHandle:fg,useLayoutEffect:fg,useMemo:fg,useReducer:fg,useRef:fg,useState:fg,useDebugValue:fg},ig={readContext:M,useCallback:function(a,b){mg().memoizedState=[a,void 0===b?null:b];return a},useContext:M,useEffect:function(a,b){return sg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return sg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,b){return sg(4,Pf|Sf,a,b)},\nuseMemo:function(a,b){var c=mg();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=mg();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a=d.queue={last:null,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};a=a.dispatch=wg.bind(null,Xf,a);return[d.memoizedState,a]},useRef:function(a){var b=mg();a={current:a};return b.memoizedState=a},useState:function(a){var b=mg();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a=b.queue={last:null,dispatch:null,\nlastRenderedReducer:og,lastRenderedState:a};a=a.dispatch=wg.bind(null,Xf,a);return[b.memoizedState,a]},useDebugValue:vg},jg={readContext:M,useCallback:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];c.memoizedState=[a,b];return a},useContext:M,useEffect:function(a,b){return tg(516,Uf|Tf,a,b)},useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return tg(4,Pf|Sf,ug.bind(null,b,a),c)},useLayoutEffect:function(a,\nb){return tg(4,Pf|Sf,a,b)},useMemo:function(a,b){var c=ng();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&gg(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a},useReducer:pg,useRef:function(){return ng().memoizedState},useState:function(a){return pg(og,a)},useDebugValue:vg},xg=null,yg=null,zg=!1;\nfunction Ag(a,b){var c=K(5,null,null,0);c.elementType=\"DELETED\";c.type=\"DELETED\";c.stateNode=b;c.return=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function Bg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,!0):!1;case 13:return!1;default:return!1}}\nfunction Cg(a){if(zg){var b=yg;if(b){var c=b;if(!Bg(a,b)){b=De(c);if(!b||!Bg(a,b)){a.effectTag|=2;zg=!1;xg=a;return}Ag(xg,c)}xg=a;yg=Ee(b)}else a.effectTag|=2,zg=!1,xg=a}}function Dg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&18!==a.tag;)a=a.return;xg=a}function Eg(a){if(a!==xg)return!1;if(!zg)return Dg(a),zg=!0,!1;var b=a.type;if(5!==a.tag||\"head\"!==b&&\"body\"!==b&&!xe(b,a.memoizedProps))for(b=yg;b;)Ag(a,b),b=De(b);Dg(a);yg=xg?De(a.stateNode):null;return!0}function Fg(){yg=xg=null;zg=!1}\nvar Gg=Tb.ReactCurrentOwner,qg=!1;function S(a,b,c,d){b.child=null===a?Ef(b,null,c,d):Df(b,a.child,c,d)}function Hg(a,b,c,d,e){c=c.render;var f=b.ref;Ig(b,e);d=hg(a,b,c,d,f,e);if(null!==a&&!qg)return b.updateQueue=a.updateQueue,b.effectTag&=-517,a.expirationTime<=e&&(a.expirationTime=0),Jg(a,b,e);b.effectTag|=1;S(a,b,d,e);return b.child}\nfunction Kg(a,b,c,d,e,f){if(null===a){var g=c.type;if(\"function\"===typeof g&&!Ve(g)&&void 0===g.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=g,Lg(a,b,g,d,e,f);a=Ye(c.type,null,d,null,b.mode,f);a.ref=b.ref;a.return=b;return b.child=a}g=a.child;if(e=c)return Sg(a,b,c);b=Jg(a,b,c);return null!==b?b.sibling:null}}return Jg(a,b,c)}}else qg=!1;b.expirationTime=0;switch(b.tag){case 2:d=\nb.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);a=b.pendingProps;var e=Je(b,H.current);Ig(b,c);e=hg(null,b,d,a,e,c);b.effectTag|=1;if(\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof){b.tag=1;lg();if(J(d)){var f=!0;Oe(b)}else f=!1;b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null;var g=d.getDerivedStateFromProps;\"function\"===typeof g&&kf(b,d,g,a);e.updater=tf;b.stateNode=e;e._reactInternalFiber=b;xf(b,d,a,c);b=Qg(null,b,d,!0,f,\nc)}else b.tag=0,S(null,b,e,c),b=b.child;return b;case 16:e=b.elementType;null!==a&&(a.alternate=null,b.alternate=null,b.effectTag|=2);f=b.pendingProps;a=hf(e);b.type=a;e=b.tag=We(a);f=L(a,f);g=void 0;switch(e){case 0:g=Mg(null,b,a,f,c);break;case 1:g=Og(null,b,a,f,c);break;case 11:g=Hg(null,b,a,f,c);break;case 14:g=Kg(null,b,a,L(a.type,f),d,c);break;default:x(\"306\",a,\"\")}return g;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Mg(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,\ne=b.elementType===d?e:L(d,e),Og(a,b,d,e,c);case 3:Rg(b);d=b.updateQueue;null===d?x(\"282\"):void 0;e=b.memoizedState;e=null!==e?e.element:null;yf(b,d,b.pendingProps,null,c);d=b.memoizedState.element;if(d===e)Fg(),b=Jg(a,b,c);else{e=b.stateNode;if(e=(null===a||null===a.child)&&e.hydrate)yg=Ee(b.stateNode.containerInfo),xg=b,e=zg=!0;e?(b.effectTag|=2,b.child=Ef(b,null,d,c)):(S(a,b,d,c),Fg());b=b.child}return b;case 5:return Lf(b),null===a&&Cg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,\ng=e.children,xe(d,e)?g=null:null!==f&&xe(d,f)&&(b.effectTag|=16),Ng(a,b),1!==c&&b.mode&1&&e.hidden?(b.expirationTime=b.childExpirationTime=1,b=null):(S(a,b,g,c),b=b.child),b;case 6:return null===a&&Cg(b),null;case 13:return Sg(a,b,c);case 4:return Jf(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Df(b,null,d,c):S(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:L(d,e),Hg(a,b,d,e,c);case 7:return S(a,b,b.pendingProps,c),b.child;case 8:return S(a,b,b.pendingProps.children,\nc),b.child;case 12:return S(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;g=b.memoizedProps;f=e.value;Ug(b,f);if(null!==g){var h=g.value;f=bd(h,f)?0:(\"function\"===typeof d._calculateChangedBits?d._calculateChangedBits(h,f):1073741823)|0;if(0===f){if(g.children===e.children&&!I.current){b=Jg(a,b,c);break a}}else for(h=b.child,null!==h&&(h.return=b);null!==h;){var l=h.contextDependencies;if(null!==l){g=h.child;for(var k=l.first;null!==k;){if(k.context===d&&0!==\n(k.observedBits&f)){1===h.tag&&(k=nf(c),k.tag=sf,pf(h,k));h.expirationTime=b&&(qg=!0);a.contextDependencies=null}\nfunction M(a,b){if(Yg!==a&&!1!==b&&0!==b){if(\"number\"!==typeof b||1073741823===b)Yg=a,b=1073741823;b={context:a,observedBits:b,next:null};null===Xg?(null===Wg?x(\"308\"):void 0,Xg=b,Wg.contextDependencies={first:b,expirationTime:0}):Xg=Xg.next=b}return a._currentValue}var $g=0,rf=1,sf=2,ah=3,Pg=!1;function bh(a){return{baseState:a,firstUpdate:null,lastUpdate:null,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}\nfunction ch(a){return{baseState:a.baseState,firstUpdate:a.firstUpdate,lastUpdate:a.lastUpdate,firstCapturedUpdate:null,lastCapturedUpdate:null,firstEffect:null,lastEffect:null,firstCapturedEffect:null,lastCapturedEffect:null}}function nf(a){return{expirationTime:a,tag:$g,payload:null,callback:null,next:null,nextEffect:null}}function dh(a,b){null===a.lastUpdate?a.firstUpdate=a.lastUpdate=b:(a.lastUpdate.next=b,a.lastUpdate=b)}\nfunction pf(a,b){var c=a.alternate;if(null===c){var d=a.updateQueue;var e=null;null===d&&(d=a.updateQueue=bh(a.memoizedState))}else d=a.updateQueue,e=c.updateQueue,null===d?null===e?(d=a.updateQueue=bh(a.memoizedState),e=c.updateQueue=bh(c.memoizedState)):d=a.updateQueue=ch(e):null===e&&(e=c.updateQueue=ch(d));null===e||d===e?dh(d,b):null===d.lastUpdate||null===e.lastUpdate?(dh(d,b),dh(e,b)):(dh(d,b),e.lastUpdate=b)}\nfunction eh(a,b){var c=a.updateQueue;c=null===c?a.updateQueue=bh(a.memoizedState):fh(a,c);null===c.lastCapturedUpdate?c.firstCapturedUpdate=c.lastCapturedUpdate=b:(c.lastCapturedUpdate.next=b,c.lastCapturedUpdate=b)}function fh(a,b){var c=a.alternate;null!==c&&b===c.updateQueue&&(b=a.updateQueue=ch(b));return b}\nfunction gh(a,b,c,d,e,f){switch(c.tag){case rf:return a=c.payload,\"function\"===typeof a?a.call(f,d,e):a;case ah:a.effectTag=a.effectTag&-2049|64;case $g:a=c.payload;e=\"function\"===typeof a?a.call(f,d,e):a;if(null===e||void 0===e)break;return n({},d,e);case sf:Pg=!0}return d}\nfunction yf(a,b,c,d,e){Pg=!1;b=fh(a,b);for(var f=b.baseState,g=null,h=0,l=b.firstUpdate,k=f;null!==l;){var m=l.expirationTime;md?e:d);Ih.current=null;d=void 0;1c?b:c;0===b&&(Fh=null);$h(a,b)}\nfunction ai(a){for(;;){var b=a.alternate,c=a.return,d=a.sibling;if(0===(a.effectTag&1024)){T=a;a:{var e=b;b=a;var f=U;var g=b.pendingProps;switch(b.tag){case 2:break;case 16:break;case 15:case 0:break;case 1:J(b.type)&&Ke(b);break;case 3:Kf(b);Le(b);g=b.stateNode;g.pendingContext&&(g.context=g.pendingContext,g.pendingContext=null);if(null===e||null===e.child)Eg(b),b.effectTag&=-3;mh(b);break;case 5:Mf(b);var h=If(Hf.current);f=b.type;if(null!==e&&null!=b.stateNode)nh(e,b,f,g,h),e.ref!==b.ref&&(b.effectTag|=\n128);else if(g){var l=If(N.current);if(Eg(b)){g=b;e=g.stateNode;var k=g.type,m=g.memoizedProps,p=h;e[Fa]=g;e[Ga]=m;f=void 0;h=k;switch(h){case \"iframe\":case \"object\":E(\"load\",e);break;case \"video\":case \"audio\":for(k=0;k\\x3c/script>\",k=e.removeChild(e.firstChild)):\"string\"===typeof e.is?k=k.createElement(p,{is:e.is}):(k=k.createElement(p),\"select\"===p&&(p=k,e.multiple?p.multiple=!0:e.size&&(p.size=e.size))):k=k.createElementNS(l,p);e=k;e[Fa]=m;e[Ga]=g;lh(e,b,!1,!1);p=e;k=f;m=g;var t=h,A=re(k,m);switch(k){case \"iframe\":case \"object\":E(\"load\",\np);h=m;break;case \"video\":case \"audio\":for(h=0;hg&&(g=e),h>g&&(g=h),f=f.sibling;b.childExpirationTime=g}if(null!==T)return T;null!==c&&0===(c.effectTag&1024)&&(null===c.firstEffect&&\n(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1=v)t=0;else if(-1===t||v component higher in the tree to provide a loading indicator or placeholder to display.\"+jc(k))}Nh=!0;m=jh(m,k);h=l;do{switch(h.tag){case 3:h.effectTag|=2048;h.expirationTime=g;g=Ch(h,m,g);eh(h,g);break a;case 1:if(t=m,A=h.type,k=h.stateNode,0===(h.effectTag&64)&&(\"function\"===typeof A.getDerivedStateFromError||null!==k&&\"function\"===typeof k.componentDidCatch&&(null===Fh||!Fh.has(k)))){h.effectTag|=2048;\nh.expirationTime=g;g=Eh(h,t,g);eh(h,g);break a}}h=h.return}while(null!==h)}T=ai(f);continue}}}break}while(1);Kh=!1;Hh.current=c;Yg=Xg=Wg=null;lg();if(e)Lh=null,a.finishedWork=null;else if(null!==T)a.finishedWork=null;else{c=a.current.alternate;null===c?x(\"281\"):void 0;Lh=null;if(Nh){e=a.latestPendingTime;f=a.latestSuspendedTime;g=a.latestPingedTime;if(0!==e&&eb?0:b)):(a.pendingCommitExpirationTime=d,a.finishedWork=c)}}\nfunction sh(a,b){for(var c=a.return;null!==c;){switch(c.tag){case 1:var d=c.stateNode;if(\"function\"===typeof c.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Fh||!Fh.has(d))){a=jh(b,a);a=Eh(c,a,1073741823);pf(c,a);qf(c,1073741823);return}break;case 3:a=jh(b,a);a=Ch(c,a,1073741823);pf(c,a);qf(c,1073741823);return}c=c.return}3===a.tag&&(c=jh(b,a),c=Ch(a,c,1073741823),pf(a,c),qf(a,1073741823))}\nfunction mf(a,b){var c=r.unstable_getCurrentPriorityLevel(),d=void 0;if(0===(b.mode&1))d=1073741823;else if(Kh&&!Oh)d=U;else{switch(c){case r.unstable_ImmediatePriority:d=1073741823;break;case r.unstable_UserBlockingPriority:d=1073741822-10*(((1073741822-a+15)/10|0)+1);break;case r.unstable_NormalPriority:d=1073741822-25*(((1073741822-a+500)/25|0)+1);break;case r.unstable_LowPriority:case r.unstable_IdlePriority:d=1;break;default:x(\"313\")}null!==Lh&&d===U&&--d}c===r.unstable_UserBlockingPriority&&\n(0===gi||d=d){a.didError=!1;b=a.latestPingedTime;if(0===b||b>c)a.latestPingedTime=c;df(c,a);c=a.expirationTime;0!==c&&Xh(a,c)}}function Ah(a,b){var c=a.stateNode;null!==c&&c.delete(b);b=lf();b=mf(b,a);a=hi(a,b);null!==a&&(cf(a,b),b=a.expirationTime,0!==b&&Xh(a,b))}\nfunction hi(a,b){a.expirationTimeU&&Sh(),cf(a,b),Kh&&!Oh&&Lh===a||Xh(a,a.expirationTime),ii>ji&&(ii=0,x(\"185\")))}function ki(a,b,c,d,e){return r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){return a(b,c,d,e)})}var li=null,Y=null,mi=0,ni=void 0,W=!1,oi=null,Z=0,gi=0,pi=!1,qi=null,X=!1,ri=!1,si=null,ti=r.unstable_now(),ui=1073741822-(ti/10|0),vi=ui,ji=50,ii=0,wi=null;function xi(){ui=1073741822-((r.unstable_now()-ti)/10|0)}\nfunction yi(a,b){if(0!==mi){if(ba.expirationTime&&(a.expirationTime=b);W||(X?ri&&(oi=a,Z=1073741823,Di(a,1073741823,!1)):1073741823===b?Yh(1073741823,!1):yi(a,b))}\nfunction Ci(){var a=0,b=null;if(null!==Y)for(var c=Y,d=li;null!==d;){var e=d.expirationTime;if(0===e){null===c||null===Y?x(\"244\"):void 0;if(d===d.nextScheduledRoot){li=Y=d.nextScheduledRoot=null;break}else if(d===li)li=e=d.nextScheduledRoot,Y.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===Y){Y=c;Y.nextScheduledRoot=li;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{e>a&&(a=e,b=d);if(d===Y)break;if(1073741823===\na)break;c=d;d=d.nextScheduledRoot}}oi=b;Z=a}var Ei=!1;function di(){return Ei?!0:r.unstable_shouldYield()?Ei=!0:!1}function zi(){try{if(!di()&&null!==li){xi();var a=li;do{var b=a.expirationTime;0!==b&&ui<=b&&(a.nextExpirationTimeToWorkOn=ui);a=a.nextScheduledRoot}while(a!==li)}Yh(0,!0)}finally{Ei=!1}}\nfunction Yh(a,b){Ci();if(b)for(xi(),vi=ui;null!==oi&&0!==Z&&a<=Z&&!(Ei&&ui>Z);)Di(oi,Z,ui>Z),Ci(),xi(),vi=ui;else for(;null!==oi&&0!==Z&&a<=Z;)Di(oi,Z,!1),Ci();b&&(mi=0,ni=null);0!==Z&&yi(oi,Z);ii=0;wi=null;if(null!==si)for(a=si,si=null,b=0;b=c&&(null===si?si=[d]:si.push(d),d._defer)){a.finishedWork=b;a.expirationTime=0;return}a.finishedWork=null;a===wi?ii++:(wi=a,ii=0);r.unstable_runWithPriority(r.unstable_ImmediatePriority,function(){Zh(a,b)})}function Dh(a){null===oi?x(\"246\"):void 0;oi.expirationTime=0;pi||(pi=!0,qi=a)}function Gi(a,b){var c=X;X=!0;try{return a(b)}finally{(X=c)||W||Yh(1073741823,!1)}}\nfunction Hi(a,b){if(X&&!ri){ri=!0;try{return a(b)}finally{ri=!1}}return a(b)}function Ii(a,b,c){X||W||0===gi||(Yh(gi,!1),gi=0);var d=X;X=!0;try{return r.unstable_runWithPriority(r.unstable_UserBlockingPriority,function(){return a(b,c)})}finally{(X=d)||W||Yh(1073741823,!1)}}\nfunction Ji(a,b,c,d,e){var f=b.current;a:if(c){c=c._reactInternalFiber;b:{2===ed(c)&&1===c.tag?void 0:x(\"170\");var g=c;do{switch(g.tag){case 3:g=g.stateNode.context;break b;case 1:if(J(g.type)){g=g.stateNode.__reactInternalMemoizedMergedChildContext;break b}}g=g.return}while(null!==g);x(\"171\");g=void 0}if(1===c.tag){var h=c.type;if(J(h)){c=Ne(c,h,g);break a}}c=g}else c=He;null===b.context?b.context=c:b.pendingContext=c;b=e;e=nf(d);e.payload={element:a};b=void 0===b?null:b;null!==b&&(e.callback=b);\nof();pf(f,e);qf(f,d);return d}function Ki(a,b,c,d){var e=b.current,f=lf();e=mf(f,e);return Ji(a,b,c,e,d)}function Li(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function Mi(a,b,c){var d=3=Jh&&(b=Jh-1);this._expirationTime=Jh=b;this._root=a;this._callbacks=this._next=null;this._hasChildren=this._didComplete=!1;this._children=null;this._defer=!0}Ni.prototype.render=function(a){this._defer?void 0:x(\"250\");this._hasChildren=!0;this._children=a;var b=this._root._internalRoot,c=this._expirationTime,d=new Oi;Ji(a,b,null,c,d._onCommit);return d};\nNi.prototype.then=function(a){if(this._didComplete)a();else{var b=this._callbacks;null===b&&(b=this._callbacks=[]);b.push(a)}};\nNi.prototype.commit=function(){var a=this._root._internalRoot,b=a.firstBatch;this._defer&&null!==b?void 0:x(\"251\");if(this._hasChildren){var c=this._expirationTime;if(b!==this){this._hasChildren&&(c=this._expirationTime=b._expirationTime,this.render(this._children));for(var d=null,e=b;e!==this;)d=e,e=e._next;null===d?x(\"251\"):void 0;d._next=e._next;this._next=b;a.firstBatch=this}this._defer=!1;Bi(a,c);b=this._next;this._next=null;b=a.firstBatch=b;null!==b&&b._hasChildren&&b.render(b._children)}else this._next=\nnull,this._defer=!1};Ni.prototype._onComplete=function(){if(!this._didComplete){this._didComplete=!0;var a=this._callbacks;if(null!==a)for(var b=0;b=b;)c=d,d=d._next;a._next=d;null!==c&&(c._next=a)}return a};function Qi(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}Gb=Gi;Hb=Ii;Ib=function(){W||0===gi||(Yh(gi,!1),gi=0)};\nfunction Ri(a,b){b||(b=a?9===a.nodeType?a.documentElement:a.firstChild:null,b=!(!b||1!==b.nodeType||!b.hasAttribute(\"data-reactroot\")));if(!b)for(var c;c=a.lastChild;)a.removeChild(c);return new Pi(a,!1,b)}\nfunction Si(a,b,c,d,e){var f=c._reactRootContainer;if(f){if(\"function\"===typeof e){var g=e;e=function(){var a=Li(f._internalRoot);g.call(a)}}null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)}else{f=c._reactRootContainer=Ri(c,d);if(\"function\"===typeof e){var h=e;e=function(){var a=Li(f._internalRoot);h.call(a)}}Hi(function(){null!=a?f.legacy_renderSubtreeIntoContainer(a,b,e):f.render(b,e)})}return Li(f._internalRoot)}\nfunction Ti(a,b){var c=2 2 && arguments[2] !== undefined ? arguments[2] : {},\n onEnd = _ref2.onEnd,\n onError = _ref2.onError,\n onStart = _ref2.onStart;\n\n if (!(utterance instanceof ponyfill.SpeechSynthesisUtterance)) {\n throw new Error('utterance must be instance of the ponyfill');\n }\n\n var queuedUtterance = new _QueuedUtterance[\"default\"](ponyfill, utterance, {\n onEnd: onEnd,\n onError: onError,\n onStart: onStart\n });\n queueWithCurrent = [].concat((0, _toConsumableArray2[\"default\"])(queueWithCurrent), [queuedUtterance]);\n run();\n return {\n // The cancel() function returns a Promise\n cancel: function cancel() {\n return queuedUtterance.cancel();\n },\n promise: queuedUtterance.promise\n };\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVTeW50aGVzaXplLmpzIl0sIm5hbWVzIjpbImNyZWF0ZVN5bnRoZXNpemUiLCJxdWV1ZVdpdGhDdXJyZW50IiwicnVubmluZyIsInJ1biIsInF1ZXVlZFV0dGVyYW5jZSIsInNwZWFrIiwibWVzc2FnZSIsImNvbnNvbGUiLCJlcnJvciIsImZpbHRlciIsInRhcmdldCIsInBvbnlmaWxsIiwidXR0ZXJhbmNlIiwib25FbmQiLCJvbkVycm9yIiwib25TdGFydCIsIlNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsIkVycm9yIiwiUXVldWVkVXR0ZXJhbmNlIiwiY2FuY2VsIiwicHJvbWlzZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBRWUsU0FBU0EsZ0JBQVQsR0FBNEI7QUFDekMsTUFBSUMsZ0JBQWdCLEdBQUcsRUFBdkI7QUFDQSxNQUFJQyxPQUFKOztBQUVBLE1BQU1DLEdBQUc7QUFBQSw2RkFBRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBQ05ELE9BRE07QUFBQTtBQUFBO0FBQUE7O0FBQUE7O0FBQUE7QUFLVkEsY0FBQUEsT0FBTyxHQUFHLElBQVY7QUFMVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLDhCQVVBRSxlQUFlLEdBQUdILGdCQUFnQixDQUFDLENBQUQsQ0FWbEM7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBLCtCQVlFRyxlQUFlLENBQUNDLEtBQWhCLEVBWkY7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQWNKO0FBQ0E7QUFFQSxvQ0FBSUMsT0FBSixLQUFnQixXQUFoQixJQUErQkMsT0FBTyxDQUFDQyxLQUFSLGFBQS9COztBQWpCSTtBQW9CTlAsd0JBQUFBLGdCQUFnQixHQUFHQSxnQkFBZ0IsQ0FBQ1EsTUFBakIsQ0FBd0IsVUFBQUMsTUFBTTtBQUFBLGlDQUFJQSxNQUFNLEtBQUtOLGVBQWY7QUFBQSx5QkFBOUIsQ0FBbkI7QUFwQk07QUFBQTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7QUFBQTtBQUFBO0FBdUJSRixjQUFBQSxPQUFPLEdBQUcsS0FBVjtBQXZCUTs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxLQUFIOztBQUFBLG9CQUFIQyxHQUFHO0FBQUE7QUFBQTtBQUFBLEtBQVQ7O0FBMkJBLFNBQU8sVUFBQ1EsUUFBRCxFQUFXQyxTQUFYLEVBQTJEO0FBQUEsb0ZBQVAsRUFBTztBQUFBLFFBQW5DQyxLQUFtQyxTQUFuQ0EsS0FBbUM7QUFBQSxRQUE1QkMsT0FBNEIsU0FBNUJBLE9BQTRCO0FBQUEsUUFBbkJDLE9BQW1CLFNBQW5CQSxPQUFtQjs7QUFDaEUsUUFBSSxFQUFFSCxTQUFTLFlBQVlELFFBQVEsQ0FBQ0ssd0JBQWhDLENBQUosRUFBK0Q7QUFDN0QsWUFBTSxJQUFJQyxLQUFKLENBQVUsNENBQVYsQ0FBTjtBQUNEOztBQUVELFFBQU1iLGVBQWUsR0FBRyxJQUFJYywyQkFBSixDQUFvQlAsUUFBcEIsRUFBOEJDLFNBQTlCLEVBQXlDO0FBQUVDLE1BQUFBLEtBQUssRUFBTEEsS0FBRjtBQUFTQyxNQUFBQSxPQUFPLEVBQVBBLE9BQVQ7QUFBa0JDLE1BQUFBLE9BQU8sRUFBUEE7QUFBbEIsS0FBekMsQ0FBeEI7QUFFQWQsSUFBQUEsZ0JBQWdCLGlEQUFPQSxnQkFBUCxJQUF5QkcsZUFBekIsRUFBaEI7QUFDQUQsSUFBQUEsR0FBRztBQUVILFdBQU87QUFDTDtBQUNBZ0IsTUFBQUEsTUFBTSxFQUFFO0FBQUEsZUFBTWYsZUFBZSxDQUFDZSxNQUFoQixFQUFOO0FBQUEsT0FGSDtBQUdMQyxNQUFBQSxPQUFPLEVBQUVoQixlQUFlLENBQUNnQjtBQUhwQixLQUFQO0FBS0QsR0FmRDtBQWdCRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBRdWV1ZWRVdHRlcmFuY2UgZnJvbSAnLi9RdWV1ZWRVdHRlcmFuY2UnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBjcmVhdGVTeW50aGVzaXplKCkge1xuICBsZXQgcXVldWVXaXRoQ3VycmVudCA9IFtdO1xuICBsZXQgcnVubmluZztcblxuICBjb25zdCBydW4gPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKHJ1bm5pbmcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBydW5uaW5nID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBsZXQgcXVldWVkVXR0ZXJhbmNlO1xuXG4gICAgICB3aGlsZSAoKHF1ZXVlZFV0dGVyYW5jZSA9IHF1ZXVlV2l0aEN1cnJlbnRbMF0pKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgcXVldWVkVXR0ZXJhbmNlLnNwZWFrKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIC8vIFRPRE86IElmIHRoZSBlcnJvciBpcyBkdWUgdG8gU2FmYXJpIHJlc3RyaWN0aW9uIG9uIHVzZXIgdG91Y2hcbiAgICAgICAgICAvLyAgICAgICBUaGUgbmV4dCBsb29wIG9uIHRoZSBuZXh0IGF1ZGlvIHdpbGwgYWxzbyBmYWlsIGJlY2F1c2UgaXQgd2FzIG5vdCBxdWV1ZWQgd2l0aCBhIHVzZXIgdG91Y2hcblxuICAgICAgICAgIGVyci5tZXNzYWdlICE9PSAnY2FuY2VsbGVkJyAmJiBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgIH1cblxuICAgICAgICBxdWV1ZVdpdGhDdXJyZW50ID0gcXVldWVXaXRoQ3VycmVudC5maWx0ZXIodGFyZ2V0ID0+IHRhcmdldCAhPT0gcXVldWVkVXR0ZXJhbmNlKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgcnVubmluZyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAocG9ueWZpbGwsIHV0dGVyYW5jZSwgeyBvbkVuZCwgb25FcnJvciwgb25TdGFydCB9ID0ge30pID0+IHtcbiAgICBpZiAoISh1dHRlcmFuY2UgaW5zdGFuY2VvZiBwb255ZmlsbC5TcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ3V0dGVyYW5jZSBtdXN0IGJlIGluc3RhbmNlIG9mIHRoZSBwb255ZmlsbCcpO1xuICAgIH1cblxuICAgIGNvbnN0IHF1ZXVlZFV0dGVyYW5jZSA9IG5ldyBRdWV1ZWRVdHRlcmFuY2UocG9ueWZpbGwsIHV0dGVyYW5jZSwgeyBvbkVuZCwgb25FcnJvciwgb25TdGFydCB9KTtcblxuICAgIHF1ZXVlV2l0aEN1cnJlbnQgPSBbLi4ucXVldWVXaXRoQ3VycmVudCwgcXVldWVkVXR0ZXJhbmNlXTtcbiAgICBydW4oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAvLyBUaGUgY2FuY2VsKCkgZnVuY3Rpb24gcmV0dXJucyBhIFByb21pc2VcbiAgICAgIGNhbmNlbDogKCkgPT4gcXVldWVkVXR0ZXJhbmNlLmNhbmNlbCgpLFxuICAgICAgcHJvbWlzZTogcXVldWVkVXR0ZXJhbmNlLnByb21pc2VcbiAgICB9O1xuICB9O1xufVxuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"Composer\", {\n enumerable: true,\n get: function get() {\n return _Composer[\"default\"];\n }\n});\nObject.defineProperty(exports, \"Context\", {\n enumerable: true,\n get: function get() {\n return _Context[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SayButton\", {\n enumerable: true,\n get: function get() {\n return _SayButton[\"default\"];\n }\n});\nObject.defineProperty(exports, \"SayUtterance\", {\n enumerable: true,\n get: function get() {\n return _SayUtterance[\"default\"];\n }\n});\nexports[\"default\"] = void 0;\n\nvar _Say = _interopRequireDefault(require(\"./Say\"));\n\nvar _Composer = _interopRequireDefault(require(\"./Composer\"));\n\nvar _Context = _interopRequireDefault(require(\"./Context\"));\n\nvar _SayButton = _interopRequireDefault(require(\"./SayButton\"));\n\nvar _SayUtterance = _interopRequireDefault(require(\"./SayUtterance\"));\n\nvar _default = _Say[\"default\"];\nexports[\"default\"] = _default;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJuYW1lcyI6WyJTYXkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztlQUVlQSxlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFNheSBmcm9tICcuL1NheSc7XG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9Db21wb3Nlcic7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuL0NvbnRleHQnO1xuaW1wb3J0IFNheUJ1dHRvbiBmcm9tICcuL1NheUJ1dHRvbic7XG5pbXBvcnQgU2F5VXR0ZXJhbmNlIGZyb20gJy4vU2F5VXR0ZXJhbmNlJztcblxuZXhwb3J0IGRlZmF1bHQgU2F5XG5cbmV4cG9ydCB7XG4gIENvbXBvc2VyLFxuICBDb250ZXh0LFxuICBTYXlCdXR0b24sXG4gIFNheVV0dGVyYW5jZVxufVxuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = migrateDeprecatedProps;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _Say = _interopRequireDefault(require(\"./Say\"));\n\nvar _SayButton = _interopRequireDefault(require(\"./SayButton\"));\n\nvar _excluded = [\"ponyfill\", \"speak\", \"speechSynthesis\", \"speechSynthesisUtterance\", \"text\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar warnings = {\n ponyfill: true,\n saySpeak: true\n};\n\nfunction migrateDeprecatedProps(_ref, componentType) {\n var ponyfill = _ref.ponyfill,\n speak = _ref.speak,\n speechSynthesis = _ref.speechSynthesis,\n speechSynthesisUtterance = _ref.speechSynthesisUtterance,\n text = _ref.text,\n otherProps = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n\n if (!ponyfill && (speechSynthesis || speechSynthesisUtterance)) {\n if (warnings.ponyfill) {\n console.warn('react-say: \"speechSynthesis\" and \"speechSynthesisUtterance\" props has been renamed to \"ponyfill\". Please update your code. The deprecated props will be removed in version >= 3.0.0.');\n warnings.ponyfill = false;\n }\n\n ponyfill = {\n speechSynthesis: speechSynthesis,\n SpeechSynthesisUtterance: speechSynthesisUtterance\n };\n }\n\n if (componentType === _Say[\"default\"] || componentType === _SayButton[\"default\"]) {\n if (speak && !text) {\n if (warnings.saySpeak) {\n console.warn('react-say: \"speak\" prop has been renamed to \"text\". Please update your code. The deprecated props will be removed in version >= 3.0.0.');\n warnings.saySpeak = false;\n }\n\n text = speak;\n }\n }\n\n return _objectSpread({\n ponyfill: ponyfill,\n text: text\n }, otherProps);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRGVwcmVjYXRlZFByb3BzLmpzIl0sIm5hbWVzIjpbIndhcm5pbmdzIiwicG9ueWZpbGwiLCJzYXlTcGVhayIsIm1pZ3JhdGVEZXByZWNhdGVkUHJvcHMiLCJjb21wb25lbnRUeXBlIiwic3BlYWsiLCJzcGVlY2hTeW50aGVzaXMiLCJzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UiLCJ0ZXh0Iiwib3RoZXJQcm9wcyIsImNvbnNvbGUiLCJ3YXJuIiwiU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwiU2F5IiwiU2F5QnV0dG9uIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7Ozs7O0FBRUEsSUFBTUEsUUFBUSxHQUFHO0FBQ2ZDLEVBQUFBLFFBQVEsRUFBRSxJQURLO0FBRWZDLEVBQUFBLFFBQVEsRUFBRTtBQUZLLENBQWpCOztBQUtlLFNBQVNDLHNCQUFULE9BU2JDLGFBVGEsRUFVYjtBQUFBLE1BUkVILFFBUUYsUUFSRUEsUUFRRjtBQUFBLE1BUEVJLEtBT0YsUUFQRUEsS0FPRjtBQUFBLE1BTkVDLGVBTUYsUUFORUEsZUFNRjtBQUFBLE1BTEVDLHdCQUtGLFFBTEVBLHdCQUtGO0FBQUEsTUFKRUMsSUFJRixRQUpFQSxJQUlGO0FBQUEsTUFIS0MsVUFHTDs7QUFDQSxNQUNFLENBQUNSLFFBQUQsS0FDSUssZUFBZSxJQUFJQyx3QkFEdkIsQ0FERixFQUdFO0FBQ0EsUUFBSVAsUUFBUSxDQUFDQyxRQUFiLEVBQXVCO0FBQ3JCUyxNQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSxzTEFBYjtBQUVBWCxNQUFBQSxRQUFRLENBQUNDLFFBQVQsR0FBb0IsS0FBcEI7QUFDRDs7QUFFREEsSUFBQUEsUUFBUSxHQUFHO0FBQ1RLLE1BQUFBLGVBQWUsRUFBZkEsZUFEUztBQUVUTSxNQUFBQSx3QkFBd0IsRUFBRUw7QUFGakIsS0FBWDtBQUlEOztBQUVELE1BQUlILGFBQWEsS0FBS1MsZUFBbEIsSUFBeUJULGFBQWEsS0FBS1UscUJBQS9DLEVBQTBEO0FBQ3hELFFBQUlULEtBQUssSUFBSSxDQUFDRyxJQUFkLEVBQW9CO0FBQ2xCLFVBQUlSLFFBQVEsQ0FBQ0UsUUFBYixFQUF1QjtBQUNyQlEsUUFBQUEsT0FBTyxDQUFDQyxJQUFSLENBQWEsd0lBQWI7QUFFQVgsUUFBQUEsUUFBUSxDQUFDRSxRQUFULEdBQW9CLEtBQXBCO0FBQ0Q7O0FBRURNLE1BQUFBLElBQUksR0FBR0gsS0FBUDtBQUNEO0FBQ0Y7O0FBRUQ7QUFDRUosSUFBQUEsUUFBUSxFQUFSQSxRQURGO0FBRUVPLElBQUFBLElBQUksRUFBSkE7QUFGRixLQUdLQyxVQUhMO0FBS0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgU2F5IGZyb20gJy4vU2F5JztcbmltcG9ydCBTYXlCdXR0b24gZnJvbSAnLi9TYXlCdXR0b24nO1xuXG5jb25zdCB3YXJuaW5ncyA9IHtcbiAgcG9ueWZpbGw6IHRydWUsXG4gIHNheVNwZWFrOiB0cnVlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBtaWdyYXRlRGVwcmVjYXRlZFByb3BzKFxuICB7XG4gICAgcG9ueWZpbGwsXG4gICAgc3BlYWssXG4gICAgc3BlZWNoU3ludGhlc2lzLFxuICAgIHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSxcbiAgICB0ZXh0LFxuICAgIC4uLm90aGVyUHJvcHNcbiAgfSxcbiAgY29tcG9uZW50VHlwZVxuKSB7XG4gIGlmIChcbiAgICAhcG9ueWZpbGxcbiAgICAmJiAoc3BlZWNoU3ludGhlc2lzIHx8IHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSlcbiAgKSB7XG4gICAgaWYgKHdhcm5pbmdzLnBvbnlmaWxsKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ3JlYWN0LXNheTogXCJzcGVlY2hTeW50aGVzaXNcIiBhbmQgXCJzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VcIiBwcm9wcyBoYXMgYmVlbiByZW5hbWVkIHRvIFwicG9ueWZpbGxcIi4gUGxlYXNlIHVwZGF0ZSB5b3VyIGNvZGUuIFRoZSBkZXByZWNhdGVkIHByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uID49IDMuMC4wLicpO1xuXG4gICAgICB3YXJuaW5ncy5wb255ZmlsbCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHBvbnlmaWxsID0ge1xuICAgICAgc3BlZWNoU3ludGhlc2lzLFxuICAgICAgU3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlOiBzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2VcbiAgICB9O1xuICB9XG5cbiAgaWYgKGNvbXBvbmVudFR5cGUgPT09IFNheSB8fCBjb21wb25lbnRUeXBlID09PSBTYXlCdXR0b24pIHtcbiAgICBpZiAoc3BlYWsgJiYgIXRleHQpIHtcbiAgICAgIGlmICh3YXJuaW5ncy5zYXlTcGVhaykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ3JlYWN0LXNheTogXCJzcGVha1wiIHByb3AgaGFzIGJlZW4gcmVuYW1lZCB0byBcInRleHRcIi4gUGxlYXNlIHVwZGF0ZSB5b3VyIGNvZGUuIFRoZSBkZXByZWNhdGVkIHByb3BzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uID49IDMuMC4wLicpO1xuXG4gICAgICAgIHdhcm5pbmdzLnNheVNwZWFrID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHRleHQgPSBzcGVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBvbnlmaWxsLFxuICAgIHRleHQsXG4gICAgLi4ub3RoZXJQcm9wc1xuICB9O1xufVxuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useEvent;\n\nvar _useImmediateEffect = _interopRequireDefault(require(\"./useImmediateEffect\"));\n\nfunction useEvent(target, name, listener, options) {\n (0, _useImmediateEffect[\"default\"])(function () {\n var handler = function handler(event) {\n return listener && listener(event);\n };\n\n target.addEventListener(name, handler, options);\n return function () {\n // It seems speechSynthesis.onvoiceschanged still fire after we called removeEventListener.\n // We are protecting this scenario by setting listener to falsy.\n listener = null;\n target.removeEventListener(name, handler, options);\n };\n }, [listener, name, options, target]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VFdmVudC5qcyJdLCJuYW1lcyI6WyJ1c2VFdmVudCIsInRhcmdldCIsIm5hbWUiLCJsaXN0ZW5lciIsIm9wdGlvbnMiLCJoYW5kbGVyIiwiZXZlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBRWUsU0FBU0EsUUFBVCxDQUFrQkMsTUFBbEIsRUFBMEJDLElBQTFCLEVBQWdDQyxRQUFoQyxFQUEwQ0MsT0FBMUMsRUFBbUQ7QUFDaEUsc0NBQW1CLFlBQU07QUFDdkIsUUFBTUMsT0FBTyxHQUFHLFNBQVZBLE9BQVUsQ0FBQUMsS0FBSztBQUFBLGFBQUlILFFBQVEsSUFBSUEsUUFBUSxDQUFDRyxLQUFELENBQXhCO0FBQUEsS0FBckI7O0FBRUFMLElBQUFBLE1BQU0sQ0FBQ00sZ0JBQVAsQ0FBd0JMLElBQXhCLEVBQThCRyxPQUE5QixFQUF1Q0QsT0FBdkM7QUFFQSxXQUFPLFlBQU07QUFDWDtBQUNBO0FBQ0FELE1BQUFBLFFBQVEsR0FBRyxJQUFYO0FBQ0FGLE1BQUFBLE1BQU0sQ0FBQ08sbUJBQVAsQ0FBMkJOLElBQTNCLEVBQWlDRyxPQUFqQyxFQUEwQ0QsT0FBMUM7QUFDRCxLQUxEO0FBTUQsR0FYRCxFQVdHLENBQUNELFFBQUQsRUFBV0QsSUFBWCxFQUFpQkUsT0FBakIsRUFBMEJILE1BQTFCLENBWEg7QUFZRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VJbW1lZGlhdGVFZmZlY3QgZnJvbSAnLi91c2VJbW1lZGlhdGVFZmZlY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VFdmVudCh0YXJnZXQsIG5hbWUsIGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gIHVzZUltbWVkaWF0ZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlciA9IGV2ZW50ID0+IGxpc3RlbmVyICYmIGxpc3RlbmVyKGV2ZW50KTtcblxuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIsIG9wdGlvbnMpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIEl0IHNlZW1zIHNwZWVjaFN5bnRoZXNpcy5vbnZvaWNlc2NoYW5nZWQgc3RpbGwgZmlyZSBhZnRlciB3ZSBjYWxsZWQgcmVtb3ZlRXZlbnRMaXN0ZW5lci5cbiAgICAgIC8vIFdlIGFyZSBwcm90ZWN0aW5nIHRoaXMgc2NlbmFyaW8gYnkgc2V0dGluZyBsaXN0ZW5lciB0byBmYWxzeS5cbiAgICAgIGxpc3RlbmVyID0gbnVsbDtcbiAgICAgIHRhcmdldC5yZW1vdmVFdmVudExpc3RlbmVyKG5hbWUsIGhhbmRsZXIsIG9wdGlvbnMpO1xuICAgIH07XG4gIH0sIFtsaXN0ZW5lciwgbmFtZSwgb3B0aW9ucywgdGFyZ2V0XSk7XG59XG4iXX0=","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useImmediateEffect;\n\nvar _react = require(\"react\");\n\nfunction useImmediateEffect(fn, deps) {\n var unsubscribeRef = (0, _react.useRef)({\n first: true,\n id: Math.random().toString(36).substr(2, 5),\n unsubscribe: fn()\n });\n (0, _react.useEffect)(function () {\n var current = unsubscribeRef.current;\n\n if (!current.first) {\n current.unsubscribe = fn();\n } else {\n current.first = false;\n }\n\n return function () {\n current.unsubscribe && current.unsubscribe();\n current.unsubscribe = null;\n };\n }, deps);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VJbW1lZGlhdGVFZmZlY3QuanMiXSwibmFtZXMiOlsidXNlSW1tZWRpYXRlRWZmZWN0IiwiZm4iLCJkZXBzIiwidW5zdWJzY3JpYmVSZWYiLCJmaXJzdCIsImlkIiwiTWF0aCIsInJhbmRvbSIsInRvU3RyaW5nIiwic3Vic3RyIiwidW5zdWJzY3JpYmUiLCJjdXJyZW50Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUE7O0FBRWUsU0FBU0Esa0JBQVQsQ0FBNEJDLEVBQTVCLEVBQWdDQyxJQUFoQyxFQUFzQztBQUNuRCxNQUFNQyxjQUFjLEdBQUcsbUJBQU87QUFDNUJDLElBQUFBLEtBQUssRUFBRSxJQURxQjtBQUU1QkMsSUFBQUEsRUFBRSxFQUFFQyxJQUFJLENBQUNDLE1BQUwsR0FBY0MsUUFBZCxDQUF1QixFQUF2QixFQUEyQkMsTUFBM0IsQ0FBa0MsQ0FBbEMsRUFBcUMsQ0FBckMsQ0FGd0I7QUFHNUJDLElBQUFBLFdBQVcsRUFBRVQsRUFBRTtBQUhhLEdBQVAsQ0FBdkI7QUFNQSx3QkFBVSxZQUFNO0FBQ2QsUUFBUVUsT0FBUixHQUFvQlIsY0FBcEIsQ0FBUVEsT0FBUjs7QUFFQSxRQUFJLENBQUNBLE9BQU8sQ0FBQ1AsS0FBYixFQUFvQjtBQUNsQk8sTUFBQUEsT0FBTyxDQUFDRCxXQUFSLEdBQXNCVCxFQUFFLEVBQXhCO0FBQ0QsS0FGRCxNQUVPO0FBQ0xVLE1BQUFBLE9BQU8sQ0FBQ1AsS0FBUixHQUFnQixLQUFoQjtBQUNEOztBQUVELFdBQU8sWUFBTTtBQUNYTyxNQUFBQSxPQUFPLENBQUNELFdBQVIsSUFBdUJDLE9BQU8sQ0FBQ0QsV0FBUixFQUF2QjtBQUNBQyxNQUFBQSxPQUFPLENBQUNELFdBQVIsR0FBc0IsSUFBdEI7QUFDRCxLQUhEO0FBSUQsR0FiRCxFQWFHUixJQWJIO0FBY0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlSW1tZWRpYXRlRWZmZWN0KGZuLCBkZXBzKSB7XG4gIGNvbnN0IHVuc3Vic2NyaWJlUmVmID0gdXNlUmVmKHtcbiAgICBmaXJzdDogdHJ1ZSxcbiAgICBpZDogTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDUpLFxuICAgIHVuc3Vic2NyaWJlOiBmbigpXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgeyBjdXJyZW50IH0gPSB1bnN1YnNjcmliZVJlZjtcblxuICAgIGlmICghY3VycmVudC5maXJzdCkge1xuICAgICAgY3VycmVudC51bnN1YnNjcmliZSA9IGZuKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGN1cnJlbnQuZmlyc3QgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY3VycmVudC51bnN1YnNjcmliZSAmJiBjdXJyZW50LnVuc3Vic2NyaWJlKCk7XG4gICAgICBjdXJyZW50LnVuc3Vic2NyaWJlID0gbnVsbDtcbiAgICB9O1xuICB9LCBkZXBzKTtcbn1cbiJdfQ==","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = useSynthesize;\n\nvar _react = require(\"react\");\n\nvar _Context = _interopRequireDefault(require(\"./Context\"));\n\nvar _createNativeUtterance = _interopRequireDefault(require(\"./createNativeUtterance\"));\n\nfunction useSynthesize() {\n var _useContext = (0, _react.useContext)(_Context[\"default\"]),\n ponyfill = _useContext.ponyfill,\n synthesize = _useContext.synthesize;\n\n return function (utteranceOrText, progressFn) {\n if (typeof utteranceOrText === 'string') {\n utteranceOrText = (0, _createNativeUtterance[\"default\"])(ponyfill, {\n text: utteranceOrText\n });\n }\n\n return synthesize(ponyfill, utteranceOrText, {\n onStart: progressFn && function () {\n return progressFn();\n }\n });\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy91c2VTeW50aGVzaXplLmpzIl0sIm5hbWVzIjpbInVzZVN5bnRoZXNpemUiLCJDb250ZXh0IiwicG9ueWZpbGwiLCJzeW50aGVzaXplIiwidXR0ZXJhbmNlT3JUZXh0IiwicHJvZ3Jlc3NGbiIsInRleHQiLCJvblN0YXJ0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQTs7QUFFQTs7QUFDQTs7QUFFZSxTQUFTQSxhQUFULEdBQXlCO0FBQ3RDLG9CQUFpQyx1QkFBV0MsbUJBQVgsQ0FBakM7QUFBQSxNQUFRQyxRQUFSLGVBQVFBLFFBQVI7QUFBQSxNQUFrQkMsVUFBbEIsZUFBa0JBLFVBQWxCOztBQUVBLFNBQU8sVUFBQ0MsZUFBRCxFQUFrQkMsVUFBbEIsRUFBaUM7QUFDdEMsUUFBSSxPQUFPRCxlQUFQLEtBQTJCLFFBQS9CLEVBQXlDO0FBQ3ZDQSxNQUFBQSxlQUFlLEdBQUcsdUNBQXNCRixRQUF0QixFQUFnQztBQUFFSSxRQUFBQSxJQUFJLEVBQUVGO0FBQVIsT0FBaEMsQ0FBbEI7QUFDRDs7QUFFRCxXQUFPRCxVQUFVLENBQUNELFFBQUQsRUFBV0UsZUFBWCxFQUE0QjtBQUFFRyxNQUFBQSxPQUFPLEVBQUVGLFVBQVUsSUFBSztBQUFBLGVBQU1BLFVBQVUsRUFBaEI7QUFBQTtBQUExQixLQUE1QixDQUFqQjtBQUNELEdBTkQ7QUFPRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDb250ZXh0IGZyb20gJy4vQ29udGV4dCc7XG5pbXBvcnQgY3JlYXRlTmF0aXZlVXR0ZXJhbmNlIGZyb20gJy4vY3JlYXRlTmF0aXZlVXR0ZXJhbmNlJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlU3ludGhlc2l6ZSgpIHtcbiAgY29uc3QgeyBwb255ZmlsbCwgc3ludGhlc2l6ZSB9ID0gdXNlQ29udGV4dChDb250ZXh0KTtcblxuICByZXR1cm4gKHV0dGVyYW5jZU9yVGV4dCwgcHJvZ3Jlc3NGbikgPT4ge1xuICAgIGlmICh0eXBlb2YgdXR0ZXJhbmNlT3JUZXh0ID09PSAnc3RyaW5nJykge1xuICAgICAgdXR0ZXJhbmNlT3JUZXh0ID0gY3JlYXRlTmF0aXZlVXR0ZXJhbmNlKHBvbnlmaWxsLCB7IHRleHQ6IHV0dGVyYW5jZU9yVGV4dCB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3ludGhlc2l6ZShwb255ZmlsbCwgdXR0ZXJhbmNlT3JUZXh0LCB7IG9uU3RhcnQ6IHByb2dyZXNzRm4gJiYgKCgpID0+IHByb2dyZXNzRm4oKSkgfSk7XG4gIH07XG59XG4iXX0=","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _readOnlyError(name) {\n throw new TypeError(\"\\\"\" + name + \"\\\" is read-only\");\n}\n\nmodule.exports = _readOnlyError;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","/**\n * Copyright (c) 2014-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\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; };\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n defineProperty(generator, \"_invoke\", { value: makeInvokeMethod(innerFn, self, context) });\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = GeneratorFunctionPrototype;\n defineProperty(Gp, \"constructor\", { value: GeneratorFunctionPrototype, configurable: true });\n defineProperty(\n GeneratorFunctionPrototype,\n \"constructor\",\n { value: GeneratorFunction, configurable: true }\n );\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n defineProperty(this, \"_invoke\", { value: enqueue });\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n });\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method;\n var method = delegate.iterator[methodName];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method, or a missing .next mehtod, always terminate the\n // yield* loop.\n context.delegate = null;\n\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (methodName === \"throw\" && delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n if (methodName !== \"return\") {\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a '\" + methodName + \"' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n define(Gp, iteratorSymbol, function() {\n return this;\n });\n\n define(Gp, \"toString\", function() {\n return \"[object Generator]\";\n });\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(val) {\n var object = Object(val);\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, in modern engines\n // we can explicitly access globalThis. In older engines we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n if (typeof globalThis === \"object\") {\n globalThis.regeneratorRuntime = runtime;\n } else {\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n }\n}\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","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var isObject = require('../internals/is-object');\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw TypeError(String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nmodule.exports = function (KEY, exec, FORCED, SHAM) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n FORCED\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n });\n\n redefine(String.prototype, KEY, methods[0]);\n redefine(RegExpPrototype, SYMBOL, methods[1]);\n }\n\n if (SHAM) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return func == null ? undefined : aCallable(func);\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = function (argument) {\n return typeof argument === 'function';\n};\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it === 'object' ? it !== null : isCallable(it);\n};\n","module.exports = false;\n","var isCallable = require('../internals/is-callable');\nvar getBuiltIn = require('../internals/get-built-in');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && Object(it) instanceof $Symbol;\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(inspectSource(WeakMap));\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = fn.call(input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var name = options && options.name !== undefined ? options.name : key;\n var state;\n if (isCallable(value)) {\n if (String(name).slice(0, 7) === 'Symbol(') {\n name = '[' + String(name).replace(/^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n createNonEnumerableProperty(value, 'name', name);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof name == 'string' ? name : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n});\n","var anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof-raw');\nvar regexpExec = require('../internals/regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (isCallable(exec)) {\n var result = exec.call(R, S);\n if (result !== null) anObject(result);\n return result;\n }\n if (classof(R) === 'RegExp') return regexpExec.call(R, S);\n throw TypeError('RegExp#exec called on incompatible receiver');\n};\n","'use strict';\n/* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar toString = require('../internals/to-string');\nvar regexpFlags = require('../internals/regexp-flags');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\nvar shared = require('../internals/shared');\nvar create = require('../internals/object-create');\nvar getInternalState = require('../internals/internal-state').get;\nvar UNSUPPORTED_DOT_ALL = require('../internals/regexp-unsupported-dot-all');\nvar UNSUPPORTED_NCG = require('../internals/regexp-unsupported-ncg');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y || UNSUPPORTED_DOT_ALL || UNSUPPORTED_NCG;\n\nif (PATCH) {\n // eslint-disable-next-line max-statements -- TODO\n patchedExec = function exec(string) {\n var re = this;\n var state = getInternalState(re);\n var str = toString(string);\n var raw = state.raw;\n var result, reCopy, lastIndex, match, i, object, group;\n\n if (raw) {\n raw.lastIndex = re.lastIndex;\n result = patchedExec.call(raw, str);\n re.lastIndex = raw.lastIndex;\n return result;\n }\n\n var groups = state.groups;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = str.slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str.charAt(re.lastIndex - 1) !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n if (match && groups) {\n match.groups = object = create(null);\n for (i = 0; i < groups.length; i++) {\n group = groups[i];\n object[group[0]] = match[group[1]];\n }\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nexports.UNSUPPORTED_Y = fails(function () {\n var re = $RegExp('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = $RegExp('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('.', 's');\n return !(re.dotAll && re.exec('\\n') && re.flags === 's');\n});\n","var fails = require('../internals/fails');\nvar global = require('../internals/global');\n\n// babel-minify and Closure Compiler transpiles RegExp('(?b)', 'g') -> /(?b)/g and it causes SyntaxError\nvar $RegExp = global.RegExp;\n\nmodule.exports = fails(function () {\n var re = $RegExp('(?b)', 'g');\n return re.exec('b').groups.a !== 'b' ||\n 'b'.replace(re, '$c') !== 'bc';\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\n\nmodule.exports = function (key, value) {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.18.3',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = toString(requireObjectCoercible($this));\n var position = toIntegerOrInfinity(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- safe\n return number !== number || number === 0 ? 0 : (number > 0 ? floor : ceil)(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = exoticToPrim.call(input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : String(key);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return String(argument);\n};\n","module.exports = function (argument) {\n try {\n return String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var redefine = require('../internals/redefine');\n\nvar DatePrototype = Date.prototype;\nvar INVALID_DATE = 'Invalid Date';\nvar TO_STRING = 'toString';\nvar nativeDateToString = DatePrototype[TO_STRING];\nvar getTime = DatePrototype.getTime;\n\n// `Date.prototype.toString` method\n// https://tc39.es/ecma262/#sec-date.prototype.tostring\nif (String(new Date(NaN)) != INVALID_DATE) {\n redefine(DatePrototype, TO_STRING, function toString() {\n var value = getTime.call(this);\n // eslint-disable-next-line no-self-compare -- NaN check\n return value === value ? nativeDateToString.call(this) : INVALID_DATE;\n });\n}\n","var DESCRIPTORS = require('../internals/descriptors');\nvar FUNCTION_NAME_EXISTS = require('../internals/function-name').EXISTS;\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !FUNCTION_NAME_EXISTS) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\nvar PROPER_FUNCTION_NAME = require('../internals/function-name').PROPER;\nvar redefine = require('../internals/redefine');\nvar anObject = require('../internals/an-object');\nvar $toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar flags = require('../internals/regexp-flags');\n\nvar TO_STRING = 'toString';\nvar RegExpPrototype = RegExp.prototype;\nvar nativeToString = RegExpPrototype[TO_STRING];\n\nvar NOT_GENERIC = fails(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });\n// FF44- RegExp#toString has a wrong name\nvar INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;\n\n// `RegExp.prototype.toString` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.tostring\nif (NOT_GENERIC || INCORRECT_NAME) {\n redefine(RegExp.prototype, TO_STRING, function toString() {\n var R = anObject(this);\n var p = $toString(R.source);\n var rf = R.flags;\n var f = $toString(rf === undefined && R instanceof RegExp && !('flags' in RegExpPrototype) ? flags.call(R) : rf);\n return '/' + p + '/' + f;\n }, { unsafe: true });\n}\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar fails = require('../internals/fails');\nvar anObject = require('../internals/an-object');\nvar isCallable = require('../internals/is-callable');\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\nvar toLength = require('../internals/to-length');\nvar toString = require('../internals/to-string');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getMethod = require('../internals/get-method');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar REPLACE = wellKnownSymbol('replace');\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n // eslint-disable-next-line regexp/no-useless-dollar-replacements -- false positive\n return ''.replace(re, '$') !== '7';\n});\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', function (_, nativeReplace, maybeCallNative) {\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : getMethod(searchValue, REPLACE);\n return replacer\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(toString(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (string, replaceValue) {\n var rx = anObject(this);\n var S = toString(string);\n\n if (\n typeof replaceValue === 'string' &&\n replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1 &&\n replaceValue.indexOf('$<') === -1\n ) {\n var res = maybeCallNative(nativeReplace, rx, S, replaceValue);\n if (res.done) return res.value;\n }\n\n var functionalReplace = isCallable(replaceValue);\n if (!functionalReplace) replaceValue = toString(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = toString(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = toString(result[0]);\n var position = max(min(toIntegerOrInfinity(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = toString(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n}, !REPLACE_SUPPORTS_NAMED_GROUPS || !REPLACE_KEEPS_$0 || REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE);\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 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","'use strict';\n\n/**\n * Check if we're required to add a port number.\n *\n * @see https://url.spec.whatwg.org/#default-port\n * @param {Number|String} port Port number we need to check\n * @param {String} protocol Protocol we need to check against.\n * @returns {Boolean} Is it a default port for the given protocol\n * @api private\n */\nmodule.exports = function required(port, protocol) {\n protocol = protocol.split(':')[0];\n port = +port;\n\n if (!port) return false;\n\n switch (protocol) {\n case 'http':\n case 'ws':\n return port !== 80;\n\n case 'https':\n case 'wss':\n return port !== 443;\n\n case 'ftp':\n return port !== 21;\n\n case 'gopher':\n return port !== 70;\n\n case 'file':\n return false;\n }\n\n return port !== 0;\n};\n","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('./Subject');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\n/**\n * @class BehaviorSubject\n */\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n _super.call(this);\n this._value = _value;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: true,\n configurable: true\n });\n /** @deprecated internal use only */ BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n if (subscription && !subscription.closed) {\n subscriber.next(this._value);\n }\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n if (this.hasError) {\n throw this.thrownError;\n }\n else if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return this._value;\n }\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, this._value = value);\n };\n return BehaviorSubject;\n}(Subject_1.Subject));\nexports.BehaviorSubject = BehaviorSubject;\n//# sourceMappingURL=BehaviorSubject.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar InnerSubscriber = (function (_super) {\n __extends(InnerSubscriber, _super);\n function InnerSubscriber(parent, outerValue, outerIndex) {\n _super.call(this);\n this.parent = parent;\n this.outerValue = outerValue;\n this.outerIndex = outerIndex;\n this.index = 0;\n }\n InnerSubscriber.prototype._next = function (value) {\n this.parent.notifyNext(this.outerValue, value, this.outerIndex, this.index++, this);\n };\n InnerSubscriber.prototype._error = function (error) {\n this.parent.notifyError(error, this);\n this.unsubscribe();\n };\n InnerSubscriber.prototype._complete = function () {\n this.parent.notifyComplete(this);\n this.unsubscribe();\n };\n return InnerSubscriber;\n}(Subscriber_1.Subscriber));\nexports.InnerSubscriber = InnerSubscriber;\n//# sourceMappingURL=InnerSubscriber.js.map","\"use strict\";\nvar Observable_1 = require('./Observable');\n/**\n * Represents a push-based event or value that an {@link Observable} can emit.\n * This class is particularly useful for operators that manage notifications,\n * like {@link materialize}, {@link dematerialize}, {@link observeOn}, and\n * others. Besides wrapping the actual delivered value, it also annotates it\n * with metadata of, for instance, what type of push message it is (`next`,\n * `error`, or `complete`).\n *\n * @see {@link materialize}\n * @see {@link dematerialize}\n * @see {@link observeOn}\n *\n * @class Notification\n */\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n /**\n * Delivers to the given `observer` the value wrapped by this Notification.\n * @param {Observer} observer\n * @return\n */\n Notification.prototype.observe = function (observer) {\n switch (this.kind) {\n case 'N':\n return observer.next && observer.next(this.value);\n case 'E':\n return observer.error && observer.error(this.error);\n case 'C':\n return observer.complete && observer.complete();\n }\n };\n /**\n * Given some {@link Observer} callbacks, deliver the value represented by the\n * current Notification to the correctly corresponding callback.\n * @param {function(value: T): void} next An Observer `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n Notification.prototype.do = function (next, error, complete) {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return next && next(this.value);\n case 'E':\n return error && error(this.error);\n case 'C':\n return complete && complete();\n }\n };\n /**\n * Takes an Observer or its individual callback functions, and calls `observe`\n * or `do` methods accordingly.\n * @param {Observer|function(value: T): void} nextOrObserver An Observer or\n * the `next` callback.\n * @param {function(err: any): void} [error] An Observer `error` callback.\n * @param {function(): void} [complete] An Observer `complete` callback.\n * @return {any}\n */\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n if (nextOrObserver && typeof nextOrObserver.next === 'function') {\n return this.observe(nextOrObserver);\n }\n else {\n return this.do(nextOrObserver, error, complete);\n }\n };\n /**\n * Returns a simple Observable that just delivers the notification represented\n * by this Notification instance.\n * @return {any}\n */\n Notification.prototype.toObservable = function () {\n var kind = this.kind;\n switch (kind) {\n case 'N':\n return Observable_1.Observable.of(this.value);\n case 'E':\n return Observable_1.Observable.throw(this.error);\n case 'C':\n return Observable_1.Observable.empty();\n }\n throw new Error('unexpected notification kind value');\n };\n /**\n * A shortcut to create a Notification instance of the type `next` from a\n * given value.\n * @param {T} value The `next` value.\n * @return {Notification} The \"next\" Notification representing the\n * argument.\n */\n Notification.createNext = function (value) {\n if (typeof value !== 'undefined') {\n return new Notification('N', value);\n }\n return Notification.undefinedValueNotification;\n };\n /**\n * A shortcut to create a Notification instance of the type `error` from a\n * given error.\n * @param {any} [err] The `error` error.\n * @return {Notification} The \"error\" Notification representing the\n * argument.\n */\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n /**\n * A shortcut to create a Notification instance of the type `complete`.\n * @return {Notification} The valueless \"complete\" Notification.\n */\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n Notification.undefinedValueNotification = new Notification('N', undefined);\n return Notification;\n}());\nexports.Notification = Notification;\n//# sourceMappingURL=Notification.js.map","\"use strict\";\nvar root_1 = require('./util/root');\nvar toSubscriber_1 = require('./util/toSubscriber');\nvar observable_1 = require('./symbol/observable');\nvar pipe_1 = require('./util/pipe');\n/**\n * A representation of any set of values over any amount of time. This is the most basic building block\n * of RxJS.\n *\n * @class Observable\n */\nvar Observable = (function () {\n /**\n * @constructor\n * @param {Function} subscribe the function that is called when the Observable is\n * initially subscribed to. This function is given a Subscriber, to which new values\n * can be `next`ed, or an `error` method can be called to raise an error, or\n * `complete` can be called to notify of a successful completion.\n */\n function Observable(subscribe) {\n this._isScalar = false;\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n /**\n * Creates a new Observable, with this Observable as the source, and the passed\n * operator defined as the new observable's operator.\n * @method lift\n * @param {Operator} operator the operator defining the operation to take on the observable\n * @return {Observable} a new observable with the Operator applied\n */\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n /**\n * Invokes an execution of an Observable and registers Observer handlers for notifications it will emit.\n *\n * Use it when you have all these Observables, but still nothing is happening.\n *\n * `subscribe` is not a regular operator, but a method that calls Observable's internal `subscribe` function. It\n * might be for example a function that you passed to a {@link create} static factory, but most of the time it is\n * a library implementation, which defines what and when will be emitted by an Observable. This means that calling\n * `subscribe` is actually the moment when Observable starts its work, not when it is created, as it is often\n * thought.\n *\n * Apart from starting the execution of an Observable, this method allows you to listen for values\n * that an Observable emits, as well as for when it completes or errors. You can achieve this in two\n * following ways.\n *\n * The first way is creating an object that implements {@link Observer} interface. It should have methods\n * defined by that interface, but note that it should be just a regular JavaScript object, which you can create\n * yourself in any way you want (ES6 class, classic function constructor, object literal etc.). In particular do\n * not attempt to use any RxJS implementation details to create Observers - you don't need them. Remember also\n * that your object does not have to implement all methods. If you find yourself creating a method that doesn't\n * do anything, you can simply omit it. Note however, that if `error` method is not provided, all errors will\n * be left uncaught.\n *\n * The second way is to give up on Observer object altogether and simply provide callback functions in place of its methods.\n * This means you can provide three functions as arguments to `subscribe`, where first function is equivalent\n * of a `next` method, second of an `error` method and third of a `complete` method. Just as in case of Observer,\n * if you do not need to listen for something, you can omit a function, preferably by passing `undefined` or `null`,\n * since `subscribe` recognizes these functions by where they were placed in function call. When it comes\n * to `error` function, just as before, if not provided, errors emitted by an Observable will be thrown.\n *\n * Whatever style of calling `subscribe` you use, in both cases it returns a Subscription object.\n * This object allows you to call `unsubscribe` on it, which in turn will stop work that an Observable does and will clean\n * up all resources that an Observable used. Note that cancelling a subscription will not call `complete` callback\n * provided to `subscribe` function, which is reserved for a regular completion signal that comes from an Observable.\n *\n * Remember that callbacks provided to `subscribe` are not guaranteed to be called asynchronously.\n * It is an Observable itself that decides when these functions will be called. For example {@link of}\n * by default emits all its values synchronously. Always check documentation for how given Observable\n * will behave when subscribed and if its default behavior can be modified with a {@link Scheduler}.\n *\n * @example Subscribe with an Observer\n * const sumObserver = {\n * sum: 0,\n * next(value) {\n * console.log('Adding: ' + value);\n * this.sum = this.sum + value;\n * },\n * error() { // We actually could just remove this method,\n * }, // since we do not really care about errors right now.\n * complete() {\n * console.log('Sum equals: ' + this.sum);\n * }\n * };\n *\n * Rx.Observable.of(1, 2, 3) // Synchronously emits 1, 2, 3 and then completes.\n * .subscribe(sumObserver);\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Subscribe with functions\n * let sum = 0;\n *\n * Rx.Observable.of(1, 2, 3)\n * .subscribe(\n * function(value) {\n * console.log('Adding: ' + value);\n * sum = sum + value;\n * },\n * undefined,\n * function() {\n * console.log('Sum equals: ' + sum);\n * }\n * );\n *\n * // Logs:\n * // \"Adding: 1\"\n * // \"Adding: 2\"\n * // \"Adding: 3\"\n * // \"Sum equals: 6\"\n *\n *\n * @example Cancel a subscription\n * const subscription = Rx.Observable.interval(1000).subscribe(\n * num => console.log(num),\n * undefined,\n * () => console.log('completed!') // Will not be called, even\n * ); // when cancelling subscription\n *\n *\n * setTimeout(() => {\n * subscription.unsubscribe();\n * console.log('unsubscribed!');\n * }, 2500);\n *\n * // Logs:\n * // 0 after 1s\n * // 1 after 2s\n * // \"unsubscribed!\" after 2.5s\n *\n *\n * @param {Observer|Function} observerOrNext (optional) Either an observer with methods to be called,\n * or the first of three possible handlers, which is the handler for each value emitted from the subscribed\n * Observable.\n * @param {Function} error (optional) A handler for a terminal event resulting from an error. If no error handler is provided,\n * the error will be thrown as unhandled.\n * @param {Function} complete (optional) A handler for a terminal event resulting from successful completion.\n * @return {ISubscription} a subscription reference to the registered handlers\n * @method subscribe\n */\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var operator = this.operator;\n var sink = toSubscriber_1.toSubscriber(observerOrNext, error, complete);\n if (operator) {\n operator.call(sink, this.source);\n }\n else {\n sink.add(this.source || !sink.syncErrorThrowable ? this._subscribe(sink) : this._trySubscribe(sink));\n }\n if (sink.syncErrorThrowable) {\n sink.syncErrorThrowable = false;\n if (sink.syncErrorThrown) {\n throw sink.syncErrorValue;\n }\n }\n return sink;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.syncErrorThrown = true;\n sink.syncErrorValue = err;\n sink.error(err);\n }\n };\n /**\n * @method forEach\n * @param {Function} next a handler for each value emitted by the observable\n * @param {PromiseConstructor} [PromiseCtor] a constructor function used to instantiate the Promise\n * @return {Promise} a promise that either resolves on observable completion or\n * rejects with the handled error\n */\n Observable.prototype.forEach = function (next, PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n // Must be declared in a separate statement to avoid a RefernceError when\n // accessing subscription below in the closure due to Temporal Dead Zone.\n var subscription;\n subscription = _this.subscribe(function (value) {\n if (subscription) {\n // if there is a subscription, then we can surmise\n // the next handling is asynchronous. Any errors thrown\n // need to be rejected explicitly and unsubscribe must be\n // called manually\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n }\n else {\n // if there is NO subscription, then we're getting a nexted\n // value synchronously during subscription. We can just call it.\n // If it errors, Observable's `subscribe` will ensure the\n // unsubscription logic is called, then synchronously rethrow the error.\n // After that, Promise will trap the error and send it\n // down the rejection path.\n next(value);\n }\n }, reject, resolve);\n });\n };\n /** @deprecated internal use only */ Observable.prototype._subscribe = function (subscriber) {\n return this.source.subscribe(subscriber);\n };\n /**\n * An interop point defined by the es7-observable spec https://github.com/zenparsing/es-observable\n * @method Symbol.observable\n * @return {Observable} this instance of the observable\n */\n Observable.prototype[observable_1.observable] = function () {\n return this;\n };\n /* tslint:enable:max-line-length */\n /**\n * Used to stitch together functional operators into a chain.\n * @method pipe\n * @return {Observable} the Observable result of all of the operators having\n * been called in the order they were passed in.\n *\n * @example\n *\n * import { map, filter, scan } from 'rxjs/operators';\n *\n * Rx.Observable.interval(1000)\n * .pipe(\n * filter(x => x % 2 === 0),\n * map(x => x + x),\n * scan((acc, x) => acc + x)\n * )\n * .subscribe(x => console.log(x))\n */\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i - 0] = arguments[_i];\n }\n if (operations.length === 0) {\n return this;\n }\n return pipe_1.pipeFromArray(operations)(this);\n };\n /* tslint:enable:max-line-length */\n Observable.prototype.toPromise = function (PromiseCtor) {\n var _this = this;\n if (!PromiseCtor) {\n if (root_1.root.Rx && root_1.root.Rx.config && root_1.root.Rx.config.Promise) {\n PromiseCtor = root_1.root.Rx.config.Promise;\n }\n else if (root_1.root.Promise) {\n PromiseCtor = root_1.root.Promise;\n }\n }\n if (!PromiseCtor) {\n throw new Error('no Promise impl found');\n }\n return new PromiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return value = x; }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n // HACK: Since TypeScript inherits static properties too, we have to\n // fight against TypeScript here so Subject can have a different static create signature\n /**\n * Creates a new cold Observable by calling the Observable constructor\n * @static true\n * @owner Observable\n * @method create\n * @param {Function} subscribe? the subscriber function to be passed to the Observable constructor\n * @return {Observable} a new cold observable\n */\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexports.Observable = Observable;\n//# sourceMappingURL=Observable.js.map","\"use strict\";\nexports.empty = {\n closed: true,\n next: function (value) { },\n error: function (err) { throw err; },\n complete: function () { }\n};\n//# sourceMappingURL=Observer.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('./Subscriber');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar OuterSubscriber = (function (_super) {\n __extends(OuterSubscriber, _super);\n function OuterSubscriber() {\n _super.apply(this, arguments);\n }\n OuterSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n this.destination.next(innerValue);\n };\n OuterSubscriber.prototype.notifyError = function (error, innerSub) {\n this.destination.error(error);\n };\n OuterSubscriber.prototype.notifyComplete = function (innerSub) {\n this.destination.complete();\n };\n return OuterSubscriber;\n}(Subscriber_1.Subscriber));\nexports.OuterSubscriber = OuterSubscriber;\n//# sourceMappingURL=OuterSubscriber.js.map","\"use strict\";\n/**\n * An execution context and a data structure to order tasks and schedule their\n * execution. Provides a notion of (potentially virtual) time, through the\n * `now()` getter method.\n *\n * Each unit of work in a Scheduler is called an {@link Action}.\n *\n * ```ts\n * class Scheduler {\n * now(): number;\n * schedule(work, delay?, state?): Subscription;\n * }\n * ```\n *\n * @class Scheduler\n */\nvar Scheduler = (function () {\n function Scheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.SchedulerAction = SchedulerAction;\n this.now = now;\n }\n /**\n * Schedules a function, `work`, for execution. May happen at some point in\n * the future, according to the `delay` parameter, if specified. May be passed\n * some context object, `state`, which will be passed to the `work` function.\n *\n * The given arguments will be processed an stored as an Action object in a\n * queue of actions.\n *\n * @param {function(state: ?T): ?Subscription} work A function representing a\n * task, or some unit of work to be executed by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler itself.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @return {Subscription} A subscription in order to be able to unsubscribe\n * the scheduled work.\n */\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.SchedulerAction(this, work).schedule(state, delay);\n };\n Scheduler.now = Date.now ? Date.now : function () { return +new Date(); };\n return Scheduler;\n}());\nexports.Scheduler = Scheduler;\n//# sourceMappingURL=Scheduler.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('./Observable');\nvar Subscriber_1 = require('./Subscriber');\nvar Subscription_1 = require('./Subscription');\nvar ObjectUnsubscribedError_1 = require('./util/ObjectUnsubscribedError');\nvar SubjectSubscription_1 = require('./SubjectSubscription');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * @class SubjectSubscriber\n */\nvar SubjectSubscriber = (function (_super) {\n __extends(SubjectSubscriber, _super);\n function SubjectSubscriber(destination) {\n _super.call(this, destination);\n this.destination = destination;\n }\n return SubjectSubscriber;\n}(Subscriber_1.Subscriber));\nexports.SubjectSubscriber = SubjectSubscriber;\n/**\n * @class Subject\n */\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n _super.call(this);\n this.observers = [];\n this.closed = false;\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n Subject.prototype[rxSubscriber_1.rxSubscriber] = function () {\n return new SubjectSubscriber(this);\n };\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype.next = function (value) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n if (!this.isStopped) {\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].next(value);\n }\n }\n };\n Subject.prototype.error = function (err) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.hasError = true;\n this.thrownError = err;\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].error(err);\n }\n this.observers.length = 0;\n };\n Subject.prototype.complete = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n this.isStopped = true;\n var observers = this.observers;\n var len = observers.length;\n var copy = observers.slice();\n for (var i = 0; i < len; i++) {\n copy[i].complete();\n }\n this.observers.length = 0;\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = true;\n this.closed = true;\n this.observers = null;\n };\n Subject.prototype._trySubscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else {\n return _super.prototype._trySubscribe.call(this, subscriber);\n }\n };\n /** @deprecated internal use only */ Subject.prototype._subscribe = function (subscriber) {\n if (this.closed) {\n throw new ObjectUnsubscribedError_1.ObjectUnsubscribedError();\n }\n else if (this.hasError) {\n subscriber.error(this.thrownError);\n return Subscription_1.Subscription.EMPTY;\n }\n else if (this.isStopped) {\n subscriber.complete();\n return Subscription_1.Subscription.EMPTY;\n }\n else {\n this.observers.push(subscriber);\n return new SubjectSubscription_1.SubjectSubscription(this, subscriber);\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable_1.Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable_1.Observable));\nexports.Subject = Subject;\n/**\n * @class AnonymousSubject\n */\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n _super.call(this);\n this.destination = destination;\n this.source = source;\n }\n AnonymousSubject.prototype.next = function (value) {\n var destination = this.destination;\n if (destination && destination.next) {\n destination.next(value);\n }\n };\n AnonymousSubject.prototype.error = function (err) {\n var destination = this.destination;\n if (destination && destination.error) {\n this.destination.error(err);\n }\n };\n AnonymousSubject.prototype.complete = function () {\n var destination = this.destination;\n if (destination && destination.complete) {\n this.destination.complete();\n }\n };\n /** @deprecated internal use only */ AnonymousSubject.prototype._subscribe = function (subscriber) {\n var source = this.source;\n if (source) {\n return this.source.subscribe(subscriber);\n }\n else {\n return Subscription_1.Subscription.EMPTY;\n }\n };\n return AnonymousSubject;\n}(Subject));\nexports.AnonymousSubject = AnonymousSubject;\n//# sourceMappingURL=Subject.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('./Subscription');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SubjectSubscription = (function (_super) {\n __extends(SubjectSubscription, _super);\n function SubjectSubscription(subject, subscriber) {\n _super.call(this);\n this.subject = subject;\n this.subscriber = subscriber;\n this.closed = false;\n }\n SubjectSubscription.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.closed = true;\n var subject = this.subject;\n var observers = subject.observers;\n this.subject = null;\n if (!observers || observers.length === 0 || subject.isStopped || subject.closed) {\n return;\n }\n var subscriberIndex = observers.indexOf(this.subscriber);\n if (subscriberIndex !== -1) {\n observers.splice(subscriberIndex, 1);\n }\n };\n return SubjectSubscription;\n}(Subscription_1.Subscription));\nexports.SubjectSubscription = SubjectSubscription;\n//# sourceMappingURL=SubjectSubscription.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isFunction_1 = require('./util/isFunction');\nvar Subscription_1 = require('./Subscription');\nvar Observer_1 = require('./Observer');\nvar rxSubscriber_1 = require('./symbol/rxSubscriber');\n/**\n * Implements the {@link Observer} interface and extends the\n * {@link Subscription} class. While the {@link Observer} is the public API for\n * consuming the values of an {@link Observable}, all Observers get converted to\n * a Subscriber, in order to provide Subscription-like capabilities such as\n * `unsubscribe`. Subscriber is a common type in RxJS, and crucial for\n * implementing operators, but it is rarely used as a public API.\n *\n * @class Subscriber\n */\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n /**\n * @param {Observer|function(value: T): void} [destinationOrNext] A partially\n * defined Observer or a `next` callback function.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n */\n function Subscriber(destinationOrNext, error, complete) {\n _super.call(this);\n this.syncErrorValue = null;\n this.syncErrorThrown = false;\n this.syncErrorThrowable = false;\n this.isStopped = false;\n switch (arguments.length) {\n case 0:\n this.destination = Observer_1.empty;\n break;\n case 1:\n if (!destinationOrNext) {\n this.destination = Observer_1.empty;\n break;\n }\n if (typeof destinationOrNext === 'object') {\n // HACK(benlesh): To resolve an issue where Node users may have multiple\n // copies of rxjs in their node_modules directory.\n if (isTrustedSubscriber(destinationOrNext)) {\n var trustedSubscriber = destinationOrNext[rxSubscriber_1.rxSubscriber]();\n this.syncErrorThrowable = trustedSubscriber.syncErrorThrowable;\n this.destination = trustedSubscriber;\n trustedSubscriber.add(this);\n }\n else {\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext);\n }\n break;\n }\n default:\n this.syncErrorThrowable = true;\n this.destination = new SafeSubscriber(this, destinationOrNext, error, complete);\n break;\n }\n }\n Subscriber.prototype[rxSubscriber_1.rxSubscriber] = function () { return this; };\n /**\n * A static factory for a Subscriber, given a (potentially partial) definition\n * of an Observer.\n * @param {function(x: ?T): void} [next] The `next` callback of an Observer.\n * @param {function(e: ?any): void} [error] The `error` callback of an\n * Observer.\n * @param {function(): void} [complete] The `complete` callback of an\n * Observer.\n * @return {Subscriber} A Subscriber wrapping the (partially defined)\n * Observer represented by the given arguments.\n */\n Subscriber.create = function (next, error, complete) {\n var subscriber = new Subscriber(next, error, complete);\n subscriber.syncErrorThrowable = false;\n return subscriber;\n };\n /**\n * The {@link Observer} callback to receive notifications of type `next` from\n * the Observable, with a value. The Observable may call this method 0 or more\n * times.\n * @param {T} [value] The `next` value.\n * @return {void}\n */\n Subscriber.prototype.next = function (value) {\n if (!this.isStopped) {\n this._next(value);\n }\n };\n /**\n * The {@link Observer} callback to receive notifications of type `error` from\n * the Observable, with an attached {@link Error}. Notifies the Observer that\n * the Observable has experienced an error condition.\n * @param {any} [err] The `error` exception.\n * @return {void}\n */\n Subscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n this.isStopped = true;\n this._error(err);\n }\n };\n /**\n * The {@link Observer} callback to receive a valueless notification of type\n * `complete` from the Observable. Notifies the Observer that the Observable\n * has finished sending push-based notifications.\n * @return {void}\n */\n Subscriber.prototype.complete = function () {\n if (!this.isStopped) {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (this.closed) {\n return;\n }\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n this.destination.error(err);\n this.unsubscribe();\n };\n Subscriber.prototype._complete = function () {\n this.destination.complete();\n this.unsubscribe();\n };\n /** @deprecated internal use only */ Subscriber.prototype._unsubscribeAndRecycle = function () {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n this._parent = null;\n this._parents = null;\n this.unsubscribe();\n this.closed = false;\n this.isStopped = false;\n this._parent = _parent;\n this._parents = _parents;\n return this;\n };\n return Subscriber;\n}(Subscription_1.Subscription));\nexports.Subscriber = Subscriber;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(_parentSubscriber, observerOrNext, error, complete) {\n _super.call(this);\n this._parentSubscriber = _parentSubscriber;\n var next;\n var context = this;\n if (isFunction_1.isFunction(observerOrNext)) {\n next = observerOrNext;\n }\n else if (observerOrNext) {\n next = observerOrNext.next;\n error = observerOrNext.error;\n complete = observerOrNext.complete;\n if (observerOrNext !== Observer_1.empty) {\n context = Object.create(observerOrNext);\n if (isFunction_1.isFunction(context.unsubscribe)) {\n this.add(context.unsubscribe.bind(context));\n }\n context.unsubscribe = this.unsubscribe.bind(this);\n }\n }\n this._context = context;\n this._next = next;\n this._error = error;\n this._complete = complete;\n }\n SafeSubscriber.prototype.next = function (value) {\n if (!this.isStopped && this._next) {\n var _parentSubscriber = this._parentSubscriber;\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._next, value);\n }\n else if (this.__tryOrSetError(_parentSubscriber, this._next, value)) {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._error) {\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(this._error, err);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, this._error, err);\n this.unsubscribe();\n }\n }\n else if (!_parentSubscriber.syncErrorThrowable) {\n this.unsubscribe();\n throw err;\n }\n else {\n _parentSubscriber.syncErrorValue = err;\n _parentSubscriber.syncErrorThrown = true;\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.complete = function () {\n var _this = this;\n if (!this.isStopped) {\n var _parentSubscriber = this._parentSubscriber;\n if (this._complete) {\n var wrappedComplete = function () { return _this._complete.call(_this._context); };\n if (!_parentSubscriber.syncErrorThrowable) {\n this.__tryOrUnsub(wrappedComplete);\n this.unsubscribe();\n }\n else {\n this.__tryOrSetError(_parentSubscriber, wrappedComplete);\n this.unsubscribe();\n }\n }\n else {\n this.unsubscribe();\n }\n }\n };\n SafeSubscriber.prototype.__tryOrUnsub = function (fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n this.unsubscribe();\n throw err;\n }\n };\n SafeSubscriber.prototype.__tryOrSetError = function (parent, fn, value) {\n try {\n fn.call(this._context, value);\n }\n catch (err) {\n parent.syncErrorValue = err;\n parent.syncErrorThrown = true;\n return true;\n }\n return false;\n };\n /** @deprecated internal use only */ SafeSubscriber.prototype._unsubscribe = function () {\n var _parentSubscriber = this._parentSubscriber;\n this._context = null;\n this._parentSubscriber = null;\n _parentSubscriber.unsubscribe();\n };\n return SafeSubscriber;\n}(Subscriber));\nfunction isTrustedSubscriber(obj) {\n return obj instanceof Subscriber || ('syncErrorThrowable' in obj && obj[rxSubscriber_1.rxSubscriber]);\n}\n//# sourceMappingURL=Subscriber.js.map","\"use strict\";\nvar isArray_1 = require('./util/isArray');\nvar isObject_1 = require('./util/isObject');\nvar isFunction_1 = require('./util/isFunction');\nvar tryCatch_1 = require('./util/tryCatch');\nvar errorObject_1 = require('./util/errorObject');\nvar UnsubscriptionError_1 = require('./util/UnsubscriptionError');\n/**\n * Represents a disposable resource, such as the execution of an Observable. A\n * Subscription has one important method, `unsubscribe`, that takes no argument\n * and just disposes the resource held by the subscription.\n *\n * Additionally, subscriptions may be grouped together through the `add()`\n * method, which will attach a child Subscription to the current Subscription.\n * When a Subscription is unsubscribed, all its children (and its grandchildren)\n * will be unsubscribed as well.\n *\n * @class Subscription\n */\nvar Subscription = (function () {\n /**\n * @param {function(): void} [unsubscribe] A function describing how to\n * perform the disposal of resources when the `unsubscribe` method is called.\n */\n function Subscription(unsubscribe) {\n /**\n * A flag to indicate whether this Subscription has already been unsubscribed.\n * @type {boolean}\n */\n this.closed = false;\n this._parent = null;\n this._parents = null;\n this._subscriptions = null;\n if (unsubscribe) {\n this._unsubscribe = unsubscribe;\n }\n }\n /**\n * Disposes the resources held by the subscription. May, for instance, cancel\n * an ongoing Observable execution or cancel any other type of work that\n * started when the Subscription was created.\n * @return {void}\n */\n Subscription.prototype.unsubscribe = function () {\n var hasErrors = false;\n var errors;\n if (this.closed) {\n return;\n }\n var _a = this, _parent = _a._parent, _parents = _a._parents, _unsubscribe = _a._unsubscribe, _subscriptions = _a._subscriptions;\n this.closed = true;\n this._parent = null;\n this._parents = null;\n // null out _subscriptions first so any child subscriptions that attempt\n // to remove themselves from this subscription will noop\n this._subscriptions = null;\n var index = -1;\n var len = _parents ? _parents.length : 0;\n // if this._parent is null, then so is this._parents, and we\n // don't have to remove ourselves from any parent subscriptions.\n while (_parent) {\n _parent.remove(this);\n // if this._parents is null or index >= len,\n // then _parent is set to null, and the loop exits\n _parent = ++index < len && _parents[index] || null;\n }\n if (isFunction_1.isFunction(_unsubscribe)) {\n var trial = tryCatch_1.tryCatch(_unsubscribe).call(this);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || (errorObject_1.errorObject.e instanceof UnsubscriptionError_1.UnsubscriptionError ?\n flattenUnsubscriptionErrors(errorObject_1.errorObject.e.errors) : [errorObject_1.errorObject.e]);\n }\n }\n if (isArray_1.isArray(_subscriptions)) {\n index = -1;\n len = _subscriptions.length;\n while (++index < len) {\n var sub = _subscriptions[index];\n if (isObject_1.isObject(sub)) {\n var trial = tryCatch_1.tryCatch(sub.unsubscribe).call(sub);\n if (trial === errorObject_1.errorObject) {\n hasErrors = true;\n errors = errors || [];\n var err = errorObject_1.errorObject.e;\n if (err instanceof UnsubscriptionError_1.UnsubscriptionError) {\n errors = errors.concat(flattenUnsubscriptionErrors(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n }\n if (hasErrors) {\n throw new UnsubscriptionError_1.UnsubscriptionError(errors);\n }\n };\n /**\n * Adds a tear down to be called during the unsubscribe() of this\n * Subscription.\n *\n * If the tear down being added is a subscription that is already\n * unsubscribed, is the same reference `add` is being called on, or is\n * `Subscription.EMPTY`, it will not be added.\n *\n * If this subscription is already in an `closed` state, the passed\n * tear down logic will be executed immediately.\n *\n * @param {TeardownLogic} teardown The additional logic to execute on\n * teardown.\n * @return {Subscription} Returns the Subscription used or created to be\n * added to the inner subscriptions list. This Subscription can be used with\n * `remove()` to remove the passed teardown logic from the inner subscriptions\n * list.\n */\n Subscription.prototype.add = function (teardown) {\n if (!teardown || (teardown === Subscription.EMPTY)) {\n return Subscription.EMPTY;\n }\n if (teardown === this) {\n return this;\n }\n var subscription = teardown;\n switch (typeof teardown) {\n case 'function':\n subscription = new Subscription(teardown);\n case 'object':\n if (subscription.closed || typeof subscription.unsubscribe !== 'function') {\n return subscription;\n }\n else if (this.closed) {\n subscription.unsubscribe();\n return subscription;\n }\n else if (typeof subscription._addParent !== 'function' /* quack quack */) {\n var tmp = subscription;\n subscription = new Subscription();\n subscription._subscriptions = [tmp];\n }\n break;\n default:\n throw new Error('unrecognized teardown ' + teardown + ' added to Subscription.');\n }\n var subscriptions = this._subscriptions || (this._subscriptions = []);\n subscriptions.push(subscription);\n subscription._addParent(this);\n return subscription;\n };\n /**\n * Removes a Subscription from the internal list of subscriptions that will\n * unsubscribe during the unsubscribe process of this Subscription.\n * @param {Subscription} subscription The subscription to remove.\n * @return {void}\n */\n Subscription.prototype.remove = function (subscription) {\n var subscriptions = this._subscriptions;\n if (subscriptions) {\n var subscriptionIndex = subscriptions.indexOf(subscription);\n if (subscriptionIndex !== -1) {\n subscriptions.splice(subscriptionIndex, 1);\n }\n }\n };\n Subscription.prototype._addParent = function (parent) {\n var _a = this, _parent = _a._parent, _parents = _a._parents;\n if (!_parent || _parent === parent) {\n // If we don't have a parent, or the new parent is the same as the\n // current parent, then set this._parent to the new parent.\n this._parent = parent;\n }\n else if (!_parents) {\n // If there's already one parent, but not multiple, allocate an Array to\n // store the rest of the parent Subscriptions.\n this._parents = [parent];\n }\n else if (_parents.indexOf(parent) === -1) {\n // Only add the new parent to the _parents list if it's not already there.\n _parents.push(parent);\n }\n };\n Subscription.EMPTY = (function (empty) {\n empty.closed = true;\n return empty;\n }(new Subscription()));\n return Subscription;\n}());\nexports.Subscription = Subscription;\nfunction flattenUnsubscriptionErrors(errors) {\n return errors.reduce(function (errs, err) { return errs.concat((err instanceof UnsubscriptionError_1.UnsubscriptionError) ? err.errors : err); }, []);\n}\n//# sourceMappingURL=Subscription.js.map","\"use strict\";\nvar Observable_1 = require('../../../Observable');\nvar ajax_1 = require('../../../observable/dom/ajax');\nObservable_1.Observable.ajax = ajax_1.ajax;\n//# sourceMappingURL=ajax.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar empty_1 = require('../../observable/empty');\nObservable_1.Observable.empty = empty_1.empty;\n//# sourceMappingURL=empty.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar from_1 = require('../../observable/from');\nObservable_1.Observable.from = from_1.from;\n//# sourceMappingURL=from.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar interval_1 = require('../../observable/interval');\nObservable_1.Observable.interval = interval_1.interval;\n//# sourceMappingURL=interval.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar of_1 = require('../../observable/of');\nObservable_1.Observable.of = of_1.of;\n//# sourceMappingURL=of.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar throw_1 = require('../../observable/throw');\nObservable_1.Observable.throw = throw_1._throw;\n//# sourceMappingURL=throw.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar catch_1 = require('../../operator/catch');\nObservable_1.Observable.prototype.catch = catch_1._catch;\nObservable_1.Observable.prototype._catch = catch_1._catch;\n//# sourceMappingURL=catch.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar combineLatest_1 = require('../../operator/combineLatest');\nObservable_1.Observable.prototype.combineLatest = combineLatest_1.combineLatest;\n//# sourceMappingURL=combineLatest.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar concatMap_1 = require('../../operator/concatMap');\nObservable_1.Observable.prototype.concatMap = concatMap_1.concatMap;\n//# sourceMappingURL=concatMap.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar count_1 = require('../../operator/count');\nObservable_1.Observable.prototype.count = count_1.count;\n//# sourceMappingURL=count.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar delay_1 = require('../../operator/delay');\nObservable_1.Observable.prototype.delay = delay_1.delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar do_1 = require('../../operator/do');\nObservable_1.Observable.prototype.do = do_1._do;\nObservable_1.Observable.prototype._do = do_1._do;\n//# sourceMappingURL=do.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar filter_1 = require('../../operator/filter');\nObservable_1.Observable.prototype.filter = filter_1.filter;\n//# sourceMappingURL=filter.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar map_1 = require('../../operator/map');\nObservable_1.Observable.prototype.map = map_1.map;\n//# sourceMappingURL=map.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar mergeMap_1 = require('../../operator/mergeMap');\nObservable_1.Observable.prototype.mergeMap = mergeMap_1.mergeMap;\nObservable_1.Observable.prototype.flatMap = mergeMap_1.mergeMap;\n//# sourceMappingURL=mergeMap.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar retryWhen_1 = require('../../operator/retryWhen');\nObservable_1.Observable.prototype.retryWhen = retryWhen_1.retryWhen;\n//# sourceMappingURL=retryWhen.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar share_1 = require('../../operator/share');\nObservable_1.Observable.prototype.share = share_1.share;\n//# sourceMappingURL=share.js.map","\"use strict\";\nvar Observable_1 = require('../../Observable');\nvar take_1 = require('../../operator/take');\nObservable_1.Observable.prototype.take = take_1.take;\n//# sourceMappingURL=take.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayLikeObservable = (function (_super) {\n __extends(ArrayLikeObservable, _super);\n function ArrayLikeObservable(arrayLike, scheduler) {\n _super.call(this);\n this.arrayLike = arrayLike;\n this.scheduler = scheduler;\n if (!scheduler && arrayLike.length === 1) {\n this._isScalar = true;\n this.value = arrayLike[0];\n }\n }\n ArrayLikeObservable.create = function (arrayLike, scheduler) {\n var length = arrayLike.length;\n if (length === 0) {\n return new EmptyObservable_1.EmptyObservable();\n }\n else if (length === 1) {\n return new ScalarObservable_1.ScalarObservable(arrayLike[0], scheduler);\n }\n else {\n return new ArrayLikeObservable(arrayLike, scheduler);\n }\n };\n ArrayLikeObservable.dispatch = function (state) {\n var arrayLike = state.arrayLike, index = state.index, length = state.length, subscriber = state.subscriber;\n if (subscriber.closed) {\n return;\n }\n if (index >= length) {\n subscriber.complete();\n return;\n }\n subscriber.next(arrayLike[index]);\n state.index = index + 1;\n this.schedule(state);\n };\n /** @deprecated internal use only */ ArrayLikeObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var _a = this, arrayLike = _a.arrayLike, scheduler = _a.scheduler;\n var length = arrayLike.length;\n if (scheduler) {\n return scheduler.schedule(ArrayLikeObservable.dispatch, 0, {\n arrayLike: arrayLike, index: index, length: length, subscriber: subscriber\n });\n }\n else {\n for (var i = 0; i < length && !subscriber.closed; i++) {\n subscriber.next(arrayLike[i]);\n }\n subscriber.complete();\n }\n };\n return ArrayLikeObservable;\n}(Observable_1.Observable));\nexports.ArrayLikeObservable = ArrayLikeObservable;\n//# sourceMappingURL=ArrayLikeObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\nvar ScalarObservable_1 = require('./ScalarObservable');\nvar EmptyObservable_1 = require('./EmptyObservable');\nvar isScheduler_1 = require('../util/isScheduler');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ArrayObservable = (function (_super) {\n __extends(ArrayObservable, _super);\n function ArrayObservable(array, scheduler) {\n _super.call(this);\n this.array = array;\n this.scheduler = scheduler;\n if (!scheduler && array.length === 1) {\n this._isScalar = true;\n this.value = array[0];\n }\n }\n ArrayObservable.create = function (array, scheduler) {\n return new ArrayObservable(array, scheduler);\n };\n /**\n * Creates an Observable that emits some values you specify as arguments,\n * immediately one after the other, and then emits a complete notification.\n *\n * Emits the arguments you provide, then completes.\n * \n *\n * \n *\n * This static operator is useful for creating a simple Observable that only\n * emits the arguments given, and the complete notification thereafter. It can\n * be used for composing with other Observables, such as with {@link concat}.\n * By default, it uses a `null` IScheduler, which means the `next`\n * notifications are sent synchronously, although with a different IScheduler\n * it is possible to determine when those notifications will be delivered.\n *\n * @example Emit 10, 20, 30, then 'a', 'b', 'c', then start ticking every second.\n * var numbers = Rx.Observable.of(10, 20, 30);\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var interval = Rx.Observable.interval(1000);\n * var result = numbers.concat(letters).concat(interval);\n * result.subscribe(x => console.log(x));\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link never}\n * @see {@link throw}\n *\n * @param {...T} values Arguments that represent `next` values to be emitted.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emissions of the `next` notifications.\n * @return {Observable} An Observable that emits each given input value.\n * @static true\n * @name of\n * @owner Observable\n */\n ArrayObservable.of = function () {\n var array = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n array[_i - 0] = arguments[_i];\n }\n var scheduler = array[array.length - 1];\n if (isScheduler_1.isScheduler(scheduler)) {\n array.pop();\n }\n else {\n scheduler = null;\n }\n var len = array.length;\n if (len > 1) {\n return new ArrayObservable(array, scheduler);\n }\n else if (len === 1) {\n return new ScalarObservable_1.ScalarObservable(array[0], scheduler);\n }\n else {\n return new EmptyObservable_1.EmptyObservable(scheduler);\n }\n };\n ArrayObservable.dispatch = function (state) {\n var array = state.array, index = state.index, count = state.count, subscriber = state.subscriber;\n if (index >= count) {\n subscriber.complete();\n return;\n }\n subscriber.next(array[index]);\n if (subscriber.closed) {\n return;\n }\n state.index = index + 1;\n this.schedule(state);\n };\n /** @deprecated internal use only */ ArrayObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var array = this.array;\n var count = array.length;\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(ArrayObservable.dispatch, 0, {\n array: array, index: index, count: count, subscriber: subscriber\n });\n }\n else {\n for (var i = 0; i < count && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n }\n };\n return ArrayObservable;\n}(Observable_1.Observable));\nexports.ArrayObservable = ArrayObservable;\n//# sourceMappingURL=ArrayObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar Observable_1 = require('../Observable');\nvar Subscriber_1 = require('../Subscriber');\nvar Subscription_1 = require('../Subscription');\nvar refCount_1 = require('../operators/refCount');\n/**\n * @class ConnectableObservable\n */\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(/** @deprecated internal use only */ source, \n /** @deprecated internal use only */ subjectFactory) {\n _super.call(this);\n this.source = source;\n this.subjectFactory = subjectFactory;\n /** @deprecated internal use only */ this._refCount = 0;\n this._isComplete = false;\n }\n /** @deprecated internal use only */ ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n /** @deprecated internal use only */ ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype.connect = function () {\n var connection = this._connection;\n if (!connection) {\n this._isComplete = false;\n connection = this._connection = new Subscription_1.Subscription();\n connection.add(this.source\n .subscribe(new ConnectableSubscriber(this.getSubject(), this)));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription_1.Subscription.EMPTY;\n }\n else {\n this._connection = connection;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return refCount_1.refCount()(this);\n };\n return ConnectableObservable;\n}(Observable_1.Observable));\nexports.ConnectableObservable = ConnectableObservable;\nvar connectableProto = ConnectableObservable.prototype;\nexports.connectableObservableDescriptor = {\n operator: { value: null },\n _refCount: { value: 0, writable: true },\n _subject: { value: null, writable: true },\n _connection: { value: null, writable: true },\n _subscribe: { value: connectableProto._subscribe },\n _isComplete: { value: connectableProto._isComplete, writable: true },\n getSubject: { value: connectableProto.getSubject },\n connect: { value: connectableProto.connect },\n refCount: { value: connectableProto.refCount }\n};\nvar ConnectableSubscriber = (function (_super) {\n __extends(ConnectableSubscriber, _super);\n function ConnectableSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n ConnectableSubscriber.prototype._error = function (err) {\n this._unsubscribe();\n _super.prototype._error.call(this, err);\n };\n ConnectableSubscriber.prototype._complete = function () {\n this.connectable._isComplete = true;\n this._unsubscribe();\n _super.prototype._complete.call(this);\n };\n /** @deprecated internal use only */ ConnectableSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (connectable) {\n this.connectable = null;\n var connection = connectable._connection;\n connectable._refCount = 0;\n connectable._subject = null;\n connectable._connection = null;\n if (connection) {\n connection.unsubscribe();\n }\n }\n };\n return ConnectableSubscriber;\n}(Subject_1.SubjectSubscriber));\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n /** @deprecated internal use only */ RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=ConnectableObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar EmptyObservable = (function (_super) {\n __extends(EmptyObservable, _super);\n function EmptyObservable(scheduler) {\n _super.call(this);\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable that emits no items to the Observer and immediately\n * emits a complete notification.\n *\n * Just emits 'complete', and nothing else.\n * \n *\n * \n *\n * This static operator is useful for creating a simple Observable that only\n * emits the complete notification. It can be used for composing with other\n * Observables, such as in a {@link mergeMap}.\n *\n * @example Emit the number 7, then complete.\n * var result = Rx.Observable.empty().startWith(7);\n * result.subscribe(x => console.log(x));\n *\n * @example Map and flatten only odd numbers to the sequence 'a', 'b', 'c'\n * var interval = Rx.Observable.interval(1000);\n * var result = interval.mergeMap(x =>\n * x % 2 === 1 ? Rx.Observable.of('a', 'b', 'c') : Rx.Observable.empty()\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following to the console:\n * // x is equal to the count on the interval eg(0,1,2,3,...)\n * // x will occur every 1000ms\n * // if x % 2 is equal to 1 print abc\n * // if x % 2 is not equal to 1 nothing will be output\n *\n * @see {@link create}\n * @see {@link never}\n * @see {@link of}\n * @see {@link throw}\n *\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emission of the complete notification.\n * @return {Observable} An \"empty\" Observable: emits only the complete\n * notification.\n * @static true\n * @name empty\n * @owner Observable\n */\n EmptyObservable.create = function (scheduler) {\n return new EmptyObservable(scheduler);\n };\n EmptyObservable.dispatch = function (arg) {\n var subscriber = arg.subscriber;\n subscriber.complete();\n };\n /** @deprecated internal use only */ EmptyObservable.prototype._subscribe = function (subscriber) {\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(EmptyObservable.dispatch, 0, { subscriber: subscriber });\n }\n else {\n subscriber.complete();\n }\n };\n return EmptyObservable;\n}(Observable_1.Observable));\nexports.EmptyObservable = EmptyObservable;\n//# sourceMappingURL=EmptyObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ErrorObservable = (function (_super) {\n __extends(ErrorObservable, _super);\n function ErrorObservable(error, scheduler) {\n _super.call(this);\n this.error = error;\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable that emits no items to the Observer and immediately\n * emits an error notification.\n *\n * Just emits 'error', and nothing else.\n * \n *\n * \n *\n * This static operator is useful for creating a simple Observable that only\n * emits the error notification. It can be used for composing with other\n * Observables, such as in a {@link mergeMap}.\n *\n * @example Emit the number 7, then emit an error.\n * var result = Rx.Observable.throw(new Error('oops!')).startWith(7);\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @example Map and flatten numbers to the sequence 'a', 'b', 'c', but throw an error for 13\n * var interval = Rx.Observable.interval(1000);\n * var result = interval.mergeMap(x =>\n * x === 13 ?\n * Rx.Observable.throw('Thirteens are bad') :\n * Rx.Observable.of('a', 'b', 'c')\n * );\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link create}\n * @see {@link empty}\n * @see {@link never}\n * @see {@link of}\n *\n * @param {any} error The particular Error to pass to the error notification.\n * @param {Scheduler} [scheduler] A {@link IScheduler} to use for scheduling\n * the emission of the error notification.\n * @return {Observable} An error Observable: emits only the error notification\n * using the given error argument.\n * @static true\n * @name throw\n * @owner Observable\n */\n ErrorObservable.create = function (error, scheduler) {\n return new ErrorObservable(error, scheduler);\n };\n ErrorObservable.dispatch = function (arg) {\n var error = arg.error, subscriber = arg.subscriber;\n subscriber.error(error);\n };\n /** @deprecated internal use only */ ErrorObservable.prototype._subscribe = function (subscriber) {\n var error = this.error;\n var scheduler = this.scheduler;\n subscriber.syncErrorThrowable = true;\n if (scheduler) {\n return scheduler.schedule(ErrorObservable.dispatch, 0, {\n error: error, subscriber: subscriber\n });\n }\n else {\n subscriber.error(error);\n }\n };\n return ErrorObservable;\n}(Observable_1.Observable));\nexports.ErrorObservable = ErrorObservable;\n//# sourceMappingURL=ErrorObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isArray_1 = require('../util/isArray');\nvar isArrayLike_1 = require('../util/isArrayLike');\nvar isPromise_1 = require('../util/isPromise');\nvar PromiseObservable_1 = require('./PromiseObservable');\nvar IteratorObservable_1 = require('./IteratorObservable');\nvar ArrayObservable_1 = require('./ArrayObservable');\nvar ArrayLikeObservable_1 = require('./ArrayLikeObservable');\nvar iterator_1 = require('../symbol/iterator');\nvar Observable_1 = require('../Observable');\nvar observeOn_1 = require('../operators/observeOn');\nvar observable_1 = require('../symbol/observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar FromObservable = (function (_super) {\n __extends(FromObservable, _super);\n function FromObservable(ish, scheduler) {\n _super.call(this, null);\n this.ish = ish;\n this.scheduler = scheduler;\n }\n /**\n * Creates an Observable from an Array, an array-like object, a Promise, an\n * iterable object, or an Observable-like object.\n *\n * Converts almost anything to an Observable.\n *\n * \n *\n * Convert various other objects and data types into Observables. `from`\n * converts a Promise or an array-like or an\n * [iterable](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols#iterable)\n * object into an Observable that emits the items in that promise or array or\n * iterable. A String, in this context, is treated as an array of characters.\n * Observable-like objects (contains a function named with the ES2015 Symbol\n * for Observable) can also be converted through this operator.\n *\n * @example Converts an array to an Observable\n * var array = [10, 20, 30];\n * var result = Rx.Observable.from(array);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 10 20 30\n *\n * @example Convert an infinite iterable (from a generator) to an Observable\n * function* generateDoubles(seed) {\n * var i = seed;\n * while (true) {\n * yield i;\n * i = 2 * i; // double it\n * }\n * }\n *\n * var iterator = generateDoubles(3);\n * var result = Rx.Observable.from(iterator).take(10);\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // 3 6 12 24 48 96 192 384 768 1536\n *\n * @see {@link create}\n * @see {@link fromEvent}\n * @see {@link fromEventPattern}\n * @see {@link fromPromise}\n *\n * @param {ObservableInput} ish A subscribable object, a Promise, an\n * Observable-like, an Array, an iterable or an array-like object to be\n * converted.\n * @param {Scheduler} [scheduler] The scheduler on which to schedule the\n * emissions of values.\n * @return {Observable} The Observable whose values are originally from the\n * input object that was converted.\n * @static true\n * @name from\n * @owner Observable\n */\n FromObservable.create = function (ish, scheduler) {\n if (ish != null) {\n if (typeof ish[observable_1.observable] === 'function') {\n if (ish instanceof Observable_1.Observable && !scheduler) {\n return ish;\n }\n return new FromObservable(ish, scheduler);\n }\n else if (isArray_1.isArray(ish)) {\n return new ArrayObservable_1.ArrayObservable(ish, scheduler);\n }\n else if (isPromise_1.isPromise(ish)) {\n return new PromiseObservable_1.PromiseObservable(ish, scheduler);\n }\n else if (typeof ish[iterator_1.iterator] === 'function' || typeof ish === 'string') {\n return new IteratorObservable_1.IteratorObservable(ish, scheduler);\n }\n else if (isArrayLike_1.isArrayLike(ish)) {\n return new ArrayLikeObservable_1.ArrayLikeObservable(ish, scheduler);\n }\n }\n throw new TypeError((ish !== null && typeof ish || ish) + ' is not observable');\n };\n /** @deprecated internal use only */ FromObservable.prototype._subscribe = function (subscriber) {\n var ish = this.ish;\n var scheduler = this.scheduler;\n if (scheduler == null) {\n return ish[observable_1.observable]().subscribe(subscriber);\n }\n else {\n return ish[observable_1.observable]().subscribe(new observeOn_1.ObserveOnSubscriber(subscriber, scheduler, 0));\n }\n };\n return FromObservable;\n}(Observable_1.Observable));\nexports.FromObservable = FromObservable;\n//# sourceMappingURL=FromObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar isNumeric_1 = require('../util/isNumeric');\nvar Observable_1 = require('../Observable');\nvar async_1 = require('../scheduler/async');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IntervalObservable = (function (_super) {\n __extends(IntervalObservable, _super);\n function IntervalObservable(period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n _super.call(this);\n this.period = period;\n this.scheduler = scheduler;\n if (!isNumeric_1.isNumeric(period) || period < 0) {\n this.period = 0;\n }\n if (!scheduler || typeof scheduler.schedule !== 'function') {\n this.scheduler = async_1.async;\n }\n }\n /**\n * Creates an Observable that emits sequential numbers every specified\n * interval of time, on a specified IScheduler.\n *\n * Emits incremental numbers periodically in time.\n * \n *\n * \n *\n * `interval` returns an Observable that emits an infinite sequence of\n * ascending integers, with a constant interval of time of your choosing\n * between those emissions. The first emission is not sent immediately, but\n * only after the first period has passed. By default, this operator uses the\n * `async` IScheduler to provide a notion of time, but you may pass any\n * IScheduler to it.\n *\n * @example Emits ascending numbers, one every second (1000ms)\n * var numbers = Rx.Observable.interval(1000);\n * numbers.subscribe(x => console.log(x));\n *\n * @see {@link timer}\n * @see {@link delay}\n *\n * @param {number} [period=0] The interval size in milliseconds (by default)\n * or the time unit determined by the scheduler's clock.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for scheduling\n * the emission of values, and providing a notion of \"time\".\n * @return {Observable} An Observable that emits a sequential number each time\n * interval.\n * @static true\n * @name interval\n * @owner Observable\n */\n IntervalObservable.create = function (period, scheduler) {\n if (period === void 0) { period = 0; }\n if (scheduler === void 0) { scheduler = async_1.async; }\n return new IntervalObservable(period, scheduler);\n };\n IntervalObservable.dispatch = function (state) {\n var index = state.index, subscriber = state.subscriber, period = state.period;\n subscriber.next(index);\n if (subscriber.closed) {\n return;\n }\n state.index += 1;\n this.schedule(state, period);\n };\n /** @deprecated internal use only */ IntervalObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var period = this.period;\n var scheduler = this.scheduler;\n subscriber.add(scheduler.schedule(IntervalObservable.dispatch, period, {\n index: index, subscriber: subscriber, period: period\n }));\n };\n return IntervalObservable;\n}(Observable_1.Observable));\nexports.IntervalObservable = IntervalObservable;\n//# sourceMappingURL=IntervalObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar IteratorObservable = (function (_super) {\n __extends(IteratorObservable, _super);\n function IteratorObservable(iterator, scheduler) {\n _super.call(this);\n this.scheduler = scheduler;\n if (iterator == null) {\n throw new Error('iterator cannot be null.');\n }\n this.iterator = getIterator(iterator);\n }\n IteratorObservable.create = function (iterator, scheduler) {\n return new IteratorObservable(iterator, scheduler);\n };\n IteratorObservable.dispatch = function (state) {\n var index = state.index, hasError = state.hasError, iterator = state.iterator, subscriber = state.subscriber;\n if (hasError) {\n subscriber.error(state.error);\n return;\n }\n var result = iterator.next();\n if (result.done) {\n subscriber.complete();\n return;\n }\n subscriber.next(result.value);\n state.index = index + 1;\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n return;\n }\n this.schedule(state);\n };\n /** @deprecated internal use only */ IteratorObservable.prototype._subscribe = function (subscriber) {\n var index = 0;\n var _a = this, iterator = _a.iterator, scheduler = _a.scheduler;\n if (scheduler) {\n return scheduler.schedule(IteratorObservable.dispatch, 0, {\n index: index, iterator: iterator, subscriber: subscriber\n });\n }\n else {\n do {\n var result = iterator.next();\n if (result.done) {\n subscriber.complete();\n break;\n }\n else {\n subscriber.next(result.value);\n }\n if (subscriber.closed) {\n if (typeof iterator.return === 'function') {\n iterator.return();\n }\n break;\n }\n } while (true);\n }\n };\n return IteratorObservable;\n}(Observable_1.Observable));\nexports.IteratorObservable = IteratorObservable;\nvar StringIterator = (function () {\n function StringIterator(str, idx, len) {\n if (idx === void 0) { idx = 0; }\n if (len === void 0) { len = str.length; }\n this.str = str;\n this.idx = idx;\n this.len = len;\n }\n StringIterator.prototype[iterator_1.iterator] = function () { return (this); };\n StringIterator.prototype.next = function () {\n return this.idx < this.len ? {\n done: false,\n value: this.str.charAt(this.idx++)\n } : {\n done: true,\n value: undefined\n };\n };\n return StringIterator;\n}());\nvar ArrayIterator = (function () {\n function ArrayIterator(arr, idx, len) {\n if (idx === void 0) { idx = 0; }\n if (len === void 0) { len = toLength(arr); }\n this.arr = arr;\n this.idx = idx;\n this.len = len;\n }\n ArrayIterator.prototype[iterator_1.iterator] = function () { return this; };\n ArrayIterator.prototype.next = function () {\n return this.idx < this.len ? {\n done: false,\n value: this.arr[this.idx++]\n } : {\n done: true,\n value: undefined\n };\n };\n return ArrayIterator;\n}());\nfunction getIterator(obj) {\n var i = obj[iterator_1.iterator];\n if (!i && typeof obj === 'string') {\n return new StringIterator(obj);\n }\n if (!i && obj.length !== undefined) {\n return new ArrayIterator(obj);\n }\n if (!i) {\n throw new TypeError('object is not iterable');\n }\n return obj[iterator_1.iterator]();\n}\nvar maxSafeInteger = Math.pow(2, 53) - 1;\nfunction toLength(o) {\n var len = +o.length;\n if (isNaN(len)) {\n return 0;\n }\n if (len === 0 || !numberIsFinite(len)) {\n return len;\n }\n len = sign(len) * Math.floor(Math.abs(len));\n if (len <= 0) {\n return 0;\n }\n if (len > maxSafeInteger) {\n return maxSafeInteger;\n }\n return len;\n}\nfunction numberIsFinite(value) {\n return typeof value === 'number' && root_1.root.isFinite(value);\n}\nfunction sign(value) {\n var valueAsNumber = +value;\n if (valueAsNumber === 0) {\n return valueAsNumber;\n }\n if (isNaN(valueAsNumber)) {\n return valueAsNumber;\n }\n return valueAsNumber < 0 ? -1 : 1;\n}\n//# sourceMappingURL=IteratorObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar PromiseObservable = (function (_super) {\n __extends(PromiseObservable, _super);\n function PromiseObservable(promise, scheduler) {\n _super.call(this);\n this.promise = promise;\n this.scheduler = scheduler;\n }\n /**\n * Converts a Promise to an Observable.\n *\n * Returns an Observable that just emits the Promise's\n * resolved value, then completes.\n *\n * Converts an ES2015 Promise or a Promises/A+ spec compliant Promise to an\n * Observable. If the Promise resolves with a value, the output Observable\n * emits that resolved value as a `next`, and then completes. If the Promise\n * is rejected, then the output Observable emits the corresponding Error.\n *\n * @example Convert the Promise returned by Fetch to an Observable\n * var result = Rx.Observable.fromPromise(fetch('http://myserver.com/'));\n * result.subscribe(x => console.log(x), e => console.error(e));\n *\n * @see {@link bindCallback}\n * @see {@link from}\n *\n * @param {PromiseLike} promise The promise to be converted.\n * @param {Scheduler} [scheduler] An optional IScheduler to use for scheduling\n * the delivery of the resolved value (or the rejection).\n * @return {Observable} An Observable which wraps the Promise.\n * @static true\n * @name fromPromise\n * @owner Observable\n */\n PromiseObservable.create = function (promise, scheduler) {\n return new PromiseObservable(promise, scheduler);\n };\n /** @deprecated internal use only */ PromiseObservable.prototype._subscribe = function (subscriber) {\n var _this = this;\n var promise = this.promise;\n var scheduler = this.scheduler;\n if (scheduler == null) {\n if (this._isScalar) {\n if (!subscriber.closed) {\n subscriber.next(this.value);\n subscriber.complete();\n }\n }\n else {\n promise.then(function (value) {\n _this.value = value;\n _this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) {\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n })\n .then(null, function (err) {\n // escape the promise trap, throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n }\n }\n else {\n if (this._isScalar) {\n if (!subscriber.closed) {\n return scheduler.schedule(dispatchNext, 0, { value: this.value, subscriber: subscriber });\n }\n }\n else {\n promise.then(function (value) {\n _this.value = value;\n _this._isScalar = true;\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchNext, 0, { value: value, subscriber: subscriber }));\n }\n }, function (err) {\n if (!subscriber.closed) {\n subscriber.add(scheduler.schedule(dispatchError, 0, { err: err, subscriber: subscriber }));\n }\n })\n .then(null, function (err) {\n // escape the promise trap, throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n }\n }\n };\n return PromiseObservable;\n}(Observable_1.Observable));\nexports.PromiseObservable = PromiseObservable;\nfunction dispatchNext(arg) {\n var value = arg.value, subscriber = arg.subscriber;\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n}\nfunction dispatchError(arg) {\n var err = arg.err, subscriber = arg.subscriber;\n if (!subscriber.closed) {\n subscriber.error(err);\n }\n}\n//# sourceMappingURL=PromiseObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Observable_1 = require('../Observable');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar ScalarObservable = (function (_super) {\n __extends(ScalarObservable, _super);\n function ScalarObservable(value, scheduler) {\n _super.call(this);\n this.value = value;\n this.scheduler = scheduler;\n this._isScalar = true;\n if (scheduler) {\n this._isScalar = false;\n }\n }\n ScalarObservable.create = function (value, scheduler) {\n return new ScalarObservable(value, scheduler);\n };\n ScalarObservable.dispatch = function (state) {\n var done = state.done, value = state.value, subscriber = state.subscriber;\n if (done) {\n subscriber.complete();\n return;\n }\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n state.done = true;\n this.schedule(state);\n };\n /** @deprecated internal use only */ ScalarObservable.prototype._subscribe = function (subscriber) {\n var value = this.value;\n var scheduler = this.scheduler;\n if (scheduler) {\n return scheduler.schedule(ScalarObservable.dispatch, 0, {\n done: false, value: value, subscriber: subscriber\n });\n }\n else {\n subscriber.next(value);\n if (!subscriber.closed) {\n subscriber.complete();\n }\n }\n };\n return ScalarObservable;\n}(Observable_1.Observable));\nexports.ScalarObservable = ScalarObservable;\n//# sourceMappingURL=ScalarObservable.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../../util/root');\nvar tryCatch_1 = require('../../util/tryCatch');\nvar errorObject_1 = require('../../util/errorObject');\nvar Observable_1 = require('../../Observable');\nvar Subscriber_1 = require('../../Subscriber');\nvar map_1 = require('../../operators/map');\nfunction getCORSRequest() {\n if (root_1.root.XMLHttpRequest) {\n return new root_1.root.XMLHttpRequest();\n }\n else if (!!root_1.root.XDomainRequest) {\n return new root_1.root.XDomainRequest();\n }\n else {\n throw new Error('CORS is not supported by your browser');\n }\n}\nfunction getXMLHttpRequest() {\n if (root_1.root.XMLHttpRequest) {\n return new root_1.root.XMLHttpRequest();\n }\n else {\n var progId = void 0;\n try {\n var progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'];\n for (var i = 0; i < 3; i++) {\n try {\n progId = progIds[i];\n if (new root_1.root.ActiveXObject(progId)) {\n break;\n }\n }\n catch (e) {\n }\n }\n return new root_1.root.ActiveXObject(progId);\n }\n catch (e) {\n throw new Error('XMLHttpRequest is not supported by your browser');\n }\n }\n}\nfunction ajaxGet(url, headers) {\n if (headers === void 0) { headers = null; }\n return new AjaxObservable({ method: 'GET', url: url, headers: headers });\n}\nexports.ajaxGet = ajaxGet;\n;\nfunction ajaxPost(url, body, headers) {\n return new AjaxObservable({ method: 'POST', url: url, body: body, headers: headers });\n}\nexports.ajaxPost = ajaxPost;\n;\nfunction ajaxDelete(url, headers) {\n return new AjaxObservable({ method: 'DELETE', url: url, headers: headers });\n}\nexports.ajaxDelete = ajaxDelete;\n;\nfunction ajaxPut(url, body, headers) {\n return new AjaxObservable({ method: 'PUT', url: url, body: body, headers: headers });\n}\nexports.ajaxPut = ajaxPut;\n;\nfunction ajaxPatch(url, body, headers) {\n return new AjaxObservable({ method: 'PATCH', url: url, body: body, headers: headers });\n}\nexports.ajaxPatch = ajaxPatch;\n;\nvar mapResponse = map_1.map(function (x, index) { return x.response; });\nfunction ajaxGetJSON(url, headers) {\n return mapResponse(new AjaxObservable({\n method: 'GET',\n url: url,\n responseType: 'json',\n headers: headers\n }));\n}\nexports.ajaxGetJSON = ajaxGetJSON;\n;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @extends {Ignored}\n * @hide true\n */\nvar AjaxObservable = (function (_super) {\n __extends(AjaxObservable, _super);\n function AjaxObservable(urlOrRequest) {\n _super.call(this);\n var request = {\n async: true,\n createXHR: function () {\n return this.crossDomain ? getCORSRequest.call(this) : getXMLHttpRequest();\n },\n crossDomain: false,\n withCredentials: false,\n headers: {},\n method: 'GET',\n responseType: 'json',\n timeout: 0\n };\n if (typeof urlOrRequest === 'string') {\n request.url = urlOrRequest;\n }\n else {\n for (var prop in urlOrRequest) {\n if (urlOrRequest.hasOwnProperty(prop)) {\n request[prop] = urlOrRequest[prop];\n }\n }\n }\n this.request = request;\n }\n /** @deprecated internal use only */ AjaxObservable.prototype._subscribe = function (subscriber) {\n return new AjaxSubscriber(subscriber, this.request);\n };\n /**\n * Creates an observable for an Ajax request with either a request object with\n * url, headers, etc or a string for a URL.\n *\n * @example\n * source = Rx.Observable.ajax('/products');\n * source = Rx.Observable.ajax({ url: 'products', method: 'GET' });\n *\n * @param {string|Object} request Can be one of the following:\n * A string of the URL to make the Ajax call.\n * An object with the following properties\n * - url: URL of the request\n * - body: The body of the request\n * - method: Method of the request, such as GET, POST, PUT, PATCH, DELETE\n * - async: Whether the request is async\n * - headers: Optional headers\n * - crossDomain: true if a cross domain request, else false\n * - createXHR: a function to override if you need to use an alternate\n * XMLHttpRequest implementation.\n * - resultSelector: a function to use to alter the output value type of\n * the Observable. Gets {@link AjaxResponse} as an argument.\n * @return {Observable} An observable sequence containing the XMLHttpRequest.\n * @static true\n * @name ajax\n * @owner Observable\n */\n AjaxObservable.create = (function () {\n var create = function (urlOrRequest) {\n return new AjaxObservable(urlOrRequest);\n };\n create.get = ajaxGet;\n create.post = ajaxPost;\n create.delete = ajaxDelete;\n create.put = ajaxPut;\n create.patch = ajaxPatch;\n create.getJSON = ajaxGetJSON;\n return create;\n })();\n return AjaxObservable;\n}(Observable_1.Observable));\nexports.AjaxObservable = AjaxObservable;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AjaxSubscriber = (function (_super) {\n __extends(AjaxSubscriber, _super);\n function AjaxSubscriber(destination, request) {\n _super.call(this, destination);\n this.request = request;\n this.done = false;\n var headers = request.headers = request.headers || {};\n // force CORS if requested\n if (!request.crossDomain && !headers['X-Requested-With']) {\n headers['X-Requested-With'] = 'XMLHttpRequest';\n }\n // ensure content type is set\n if (!('Content-Type' in headers) && !(root_1.root.FormData && request.body instanceof root_1.root.FormData) && typeof request.body !== 'undefined') {\n headers['Content-Type'] = 'application/x-www-form-urlencoded; charset=UTF-8';\n }\n // properly serialize body\n request.body = this.serializeBody(request.body, request.headers['Content-Type']);\n this.send();\n }\n AjaxSubscriber.prototype.next = function (e) {\n this.done = true;\n var _a = this, xhr = _a.xhr, request = _a.request, destination = _a.destination;\n var response = new AjaxResponse(e, xhr, request);\n destination.next(response);\n };\n AjaxSubscriber.prototype.send = function () {\n var _a = this, request = _a.request, _b = _a.request, user = _b.user, method = _b.method, url = _b.url, async = _b.async, password = _b.password, headers = _b.headers, body = _b.body;\n var createXHR = request.createXHR;\n var xhr = tryCatch_1.tryCatch(createXHR).call(request);\n if (xhr === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n }\n else {\n this.xhr = xhr;\n // set up the events before open XHR\n // https://developer.mozilla.org/en/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest\n // You need to add the event listeners before calling open() on the request.\n // Otherwise the progress events will not fire.\n this.setupEvents(xhr, request);\n // open XHR\n var result = void 0;\n if (user) {\n result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async, user, password);\n }\n else {\n result = tryCatch_1.tryCatch(xhr.open).call(xhr, method, url, async);\n }\n if (result === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n return null;\n }\n // timeout, responseType and withCredentials can be set once the XHR is open\n if (async) {\n xhr.timeout = request.timeout;\n xhr.responseType = request.responseType;\n }\n if ('withCredentials' in xhr) {\n xhr.withCredentials = !!request.withCredentials;\n }\n // set headers\n this.setHeaders(xhr, headers);\n // finally send the request\n result = body ? tryCatch_1.tryCatch(xhr.send).call(xhr, body) : tryCatch_1.tryCatch(xhr.send).call(xhr);\n if (result === errorObject_1.errorObject) {\n this.error(errorObject_1.errorObject.e);\n return null;\n }\n }\n return xhr;\n };\n AjaxSubscriber.prototype.serializeBody = function (body, contentType) {\n if (!body || typeof body === 'string') {\n return body;\n }\n else if (root_1.root.FormData && body instanceof root_1.root.FormData) {\n return body;\n }\n if (contentType) {\n var splitIndex = contentType.indexOf(';');\n if (splitIndex !== -1) {\n contentType = contentType.substring(0, splitIndex);\n }\n }\n switch (contentType) {\n case 'application/x-www-form-urlencoded':\n return Object.keys(body).map(function (key) { return (encodeURIComponent(key) + \"=\" + encodeURIComponent(body[key])); }).join('&');\n case 'application/json':\n return JSON.stringify(body);\n default:\n return body;\n }\n };\n AjaxSubscriber.prototype.setHeaders = function (xhr, headers) {\n for (var key in headers) {\n if (headers.hasOwnProperty(key)) {\n xhr.setRequestHeader(key, headers[key]);\n }\n }\n };\n AjaxSubscriber.prototype.setupEvents = function (xhr, request) {\n var progressSubscriber = request.progressSubscriber;\n function xhrTimeout(e) {\n var _a = xhrTimeout, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxTimeoutError(this, request)); //TODO: Make betterer.\n }\n ;\n xhr.ontimeout = xhrTimeout;\n xhrTimeout.request = request;\n xhrTimeout.subscriber = this;\n xhrTimeout.progressSubscriber = progressSubscriber;\n if (xhr.upload && 'withCredentials' in xhr) {\n if (progressSubscriber) {\n var xhrProgress_1;\n xhrProgress_1 = function (e) {\n var progressSubscriber = xhrProgress_1.progressSubscriber;\n progressSubscriber.next(e);\n };\n if (root_1.root.XDomainRequest) {\n xhr.onprogress = xhrProgress_1;\n }\n else {\n xhr.upload.onprogress = xhrProgress_1;\n }\n xhrProgress_1.progressSubscriber = progressSubscriber;\n }\n var xhrError_1;\n xhrError_1 = function (e) {\n var _a = xhrError_1, progressSubscriber = _a.progressSubscriber, subscriber = _a.subscriber, request = _a.request;\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error', this, request));\n };\n xhr.onerror = xhrError_1;\n xhrError_1.request = request;\n xhrError_1.subscriber = this;\n xhrError_1.progressSubscriber = progressSubscriber;\n }\n function xhrReadyStateChange(e) {\n var _a = xhrReadyStateChange, subscriber = _a.subscriber, progressSubscriber = _a.progressSubscriber, request = _a.request;\n if (this.readyState === 4) {\n // normalize IE9 bug (http://bugs.jquery.com/ticket/1450)\n var status_1 = this.status === 1223 ? 204 : this.status;\n var response = (this.responseType === 'text' ? (this.response || this.responseText) : this.response);\n // fix status code when it is 0 (0 status is undocumented).\n // Occurs when accessing file resources or on Android 4.1 stock browser\n // while retrieving files from application cache.\n if (status_1 === 0) {\n status_1 = response ? 200 : 0;\n }\n if (200 <= status_1 && status_1 < 300) {\n if (progressSubscriber) {\n progressSubscriber.complete();\n }\n subscriber.next(e);\n subscriber.complete();\n }\n else {\n if (progressSubscriber) {\n progressSubscriber.error(e);\n }\n subscriber.error(new AjaxError('ajax error ' + status_1, this, request));\n }\n }\n }\n ;\n xhr.onreadystatechange = xhrReadyStateChange;\n xhrReadyStateChange.subscriber = this;\n xhrReadyStateChange.progressSubscriber = progressSubscriber;\n xhrReadyStateChange.request = request;\n };\n AjaxSubscriber.prototype.unsubscribe = function () {\n var _a = this, done = _a.done, xhr = _a.xhr;\n if (!done && xhr && xhr.readyState !== 4 && typeof xhr.abort === 'function') {\n xhr.abort();\n }\n _super.prototype.unsubscribe.call(this);\n };\n return AjaxSubscriber;\n}(Subscriber_1.Subscriber));\nexports.AjaxSubscriber = AjaxSubscriber;\n/**\n * A normalized AJAX response.\n *\n * @see {@link ajax}\n *\n * @class AjaxResponse\n */\nvar AjaxResponse = (function () {\n function AjaxResponse(originalEvent, xhr, request) {\n this.originalEvent = originalEvent;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n return AjaxResponse;\n}());\nexports.AjaxResponse = AjaxResponse;\n/**\n * A normalized AJAX error.\n *\n * @see {@link ajax}\n *\n * @class AjaxError\n */\nvar AjaxError = (function (_super) {\n __extends(AjaxError, _super);\n function AjaxError(message, xhr, request) {\n _super.call(this, message);\n this.message = message;\n this.xhr = xhr;\n this.request = request;\n this.status = xhr.status;\n this.responseType = xhr.responseType || request.responseType;\n this.response = parseXhrResponse(this.responseType, xhr);\n }\n return AjaxError;\n}(Error));\nexports.AjaxError = AjaxError;\nfunction parseXhrResponse(responseType, xhr) {\n switch (responseType) {\n case 'json':\n if ('response' in xhr) {\n //IE does not support json as responseType, parse it internally\n return xhr.responseType ? xhr.response : JSON.parse(xhr.response || xhr.responseText || 'null');\n }\n else {\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return JSON.parse(xhr.responseText || 'null');\n }\n case 'xml':\n return xhr.responseXML;\n case 'text':\n default:\n // HACK(benlesh): TypeScript shennanigans\n // tslint:disable-next-line:no-any latest TS seems to think xhr is \"never\" here.\n return ('response' in xhr) ? xhr.response : xhr.responseText;\n }\n}\n/**\n * @see {@link ajax}\n *\n * @class AjaxTimeoutError\n */\nvar AjaxTimeoutError = (function (_super) {\n __extends(AjaxTimeoutError, _super);\n function AjaxTimeoutError(xhr, request) {\n _super.call(this, 'ajax timeout', xhr, request);\n }\n return AjaxTimeoutError;\n}(AjaxError));\nexports.AjaxTimeoutError = AjaxTimeoutError;\n//# sourceMappingURL=AjaxObservable.js.map","\"use strict\";\nvar AjaxObservable_1 = require('./AjaxObservable');\nexports.ajax = AjaxObservable_1.AjaxObservable.create;\n//# sourceMappingURL=ajax.js.map","\"use strict\";\nvar EmptyObservable_1 = require('./EmptyObservable');\nexports.empty = EmptyObservable_1.EmptyObservable.create;\n//# sourceMappingURL=empty.js.map","\"use strict\";\nvar FromObservable_1 = require('./FromObservable');\nexports.from = FromObservable_1.FromObservable.create;\n//# sourceMappingURL=from.js.map","\"use strict\";\nvar IntervalObservable_1 = require('./IntervalObservable');\nexports.interval = IntervalObservable_1.IntervalObservable.create;\n//# sourceMappingURL=interval.js.map","\"use strict\";\nvar ArrayObservable_1 = require('./ArrayObservable');\nexports.of = ArrayObservable_1.ArrayObservable.of;\n//# sourceMappingURL=of.js.map","\"use strict\";\nvar ErrorObservable_1 = require('./ErrorObservable');\nexports._throw = ErrorObservable_1.ErrorObservable.create;\n//# sourceMappingURL=throw.js.map","\"use strict\";\nvar catchError_1 = require('../operators/catchError');\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * \n *\n * @example Continues with a different Observable when there's an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example Retries the caught source Observable again in case of error, similar to retry() operator\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example Throws a new error when the source Observable throws an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @method catch\n * @name catch\n * @owner Observable\n */\nfunction _catch(selector) {\n return catchError_1.catchError(selector)(this);\n}\nexports._catch = _catch;\n//# sourceMappingURL=catch.js.map","\"use strict\";\nvar combineLatest_1 = require('../operators/combineLatest');\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n return combineLatest_1.combineLatest.apply(void 0, observables)(this);\n}\nexports.combineLatest = combineLatest;\n//# sourceMappingURL=combineLatest.js.map","\"use strict\";\nvar concatMap_1 = require('../operators/concatMap');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, in a serialized fashion waiting for each one to complete before\n * merging the next.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link concatAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each new inner Observable is\n * concatenated with the previous inner Observable.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMapTo}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking values from each projected inner\n * Observable sequentially.\n * @method concatMap\n * @owner Observable\n */\nfunction concatMap(project, resultSelector) {\n return concatMap_1.concatMap(project, resultSelector)(this);\n}\nexports.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map","\"use strict\";\nvar count_1 = require('../operators/count');\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return count_1.count(predicate)(this);\n}\nexports.count = count;\n//# sourceMappingURL=count.js.map","\"use strict\";\nvar async_1 = require('../scheduler/async');\nvar delay_1 = require('../operators/delay');\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * Time shifts each item by some specified amount of\n * milliseconds.\n *\n * \n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example Delay each click by one second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example Delay all clicks until a future date happens\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n return delay_1.delay(delay, scheduler)(this);\n}\nexports.delay = delay;\n//# sourceMappingURL=delay.js.map","\"use strict\";\nvar tap_1 = require('../operators/tap');\n/* tslint:enable:max-line-length */\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.\n *\n * \n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example Map every click to the clientX position of that click, while also logging the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @method do\n * @name do\n * @owner Observable\n */\nfunction _do(nextOrObserver, error, complete) {\n return tap_1.tap(nextOrObserver, error, complete)(this);\n}\nexports._do = _do;\n//# sourceMappingURL=do.js.map","\"use strict\";\nvar filter_1 = require('../operators/filter');\n/* tslint:enable:max-line-length */\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.\n *\n * \n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example Emit only click events whose target was a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nfunction filter(predicate, thisArg) {\n return filter_1.filter(predicate, thisArg)(this);\n}\nexports.filter = filter;\n//# sourceMappingURL=filter.js.map","\"use strict\";\nvar map_1 = require('../operators/map');\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.\n *\n * \n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example Map every click to the clientX position of that click\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nfunction map(project, thisArg) {\n return map_1.map(project, thisArg)(this);\n}\nexports.map = map;\n//# sourceMappingURL=map.js.map","\"use strict\";\nvar mergeMap_1 = require('../operators/mergeMap');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example Map and flatten each letter to an Observable ticking every 1 second\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n * Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // a0\n * // b0\n * // c0\n * // a1\n * // b1\n * // c1\n * // continues to list a,b,c with respective ascending integers\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return mergeMap_1.mergeMap(project, resultSelector, concurrent)(this);\n}\nexports.mergeMap = mergeMap;\n//# sourceMappingURL=mergeMap.js.map","\"use strict\";\nvar retryWhen_1 = require('../operators/retryWhen');\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nfunction retryWhen(notifier) {\n return retryWhen_1.retryWhen(notifier)(this);\n}\nexports.retryWhen = retryWhen;\n//# sourceMappingURL=retryWhen.js.map","\"use strict\";\nvar share_1 = require('../operators/share');\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n *\n * This behaves similarly to .publish().refCount(), with a behavior difference when the source observable emits complete.\n * .publish().refCount() will not resubscribe to the original source, however .share() will resubscribe to the original source.\n * Observable.of(\"test\").publish().refCount() will not re-emit \"test\" on new subscriptions, Observable.of(\"test\").share() will\n * re-emit \"test\" to new subscriptions.\n *\n * \n *\n * @return {Observable} An Observable that upon connection causes the source Observable to emit items to its Observers.\n * @method share\n * @owner Observable\n */\nfunction share() {\n return share_1.share()(this);\n}\nexports.share = share;\n;\n//# sourceMappingURL=share.js.map","\"use strict\";\nvar take_1 = require('../operators/take');\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * Takes the first `count` values from the source, then\n * completes.\n *\n * \n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example Take the first 5 seconds of an infinite 1-second interval Observable\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nfunction take(count) {\n return take_1.take(count)(this);\n}\nexports.take = take;\n//# sourceMappingURL=take.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Catches errors on the observable to be handled by returning a new observable or throwing an error.\n *\n * \n *\n * @example Continues with a different Observable when there's an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n == 4) {\n * \t throw 'four!';\n * }\n *\t return n;\n * })\n * .catch(err => Observable.of('I', 'II', 'III', 'IV', 'V'))\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, I, II, III, IV, V\n *\n * @example Retries the caught source Observable again in case of error, similar to retry() operator\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * \t if (n === 4) {\n * \t throw 'four!';\n * }\n * \t return n;\n * })\n * .catch((err, caught) => caught)\n * .take(30)\n * .subscribe(x => console.log(x));\n * // 1, 2, 3, 1, 2, 3, ...\n *\n * @example Throws a new error when the source Observable throws an error\n *\n * Observable.of(1, 2, 3, 4, 5)\n * .map(n => {\n * if (n == 4) {\n * throw 'four!';\n * }\n * return n;\n * })\n * .catch(err => {\n * throw 'error in source. Details: ' + err;\n * })\n * .subscribe(\n * x => console.log(x),\n * err => console.log(err)\n * );\n * // 1, 2, 3, error in source. Details: four!\n *\n * @param {function} selector a function that takes as arguments `err`, which is the error, and `caught`, which\n * is the source observable, in case you'd like to \"retry\" that observable by returning it again. Whatever observable\n * is returned by the `selector` will be used to continue the observable chain.\n * @return {Observable} An observable that originates from either the source or the observable returned by the\n * catch `selector` function.\n * @name catchError\n */\nfunction catchError(selector) {\n return function catchErrorOperatorFunction(source) {\n var operator = new CatchOperator(selector);\n var caught = source.lift(operator);\n return (operator.caught = caught);\n };\n}\nexports.catchError = catchError;\nvar CatchOperator = (function () {\n function CatchOperator(selector) {\n this.selector = selector;\n }\n CatchOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CatchSubscriber(subscriber, this.selector, this.caught));\n };\n return CatchOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CatchSubscriber = (function (_super) {\n __extends(CatchSubscriber, _super);\n function CatchSubscriber(destination, selector, caught) {\n _super.call(this, destination);\n this.selector = selector;\n this.caught = caught;\n }\n // NOTE: overriding `error` instead of `_error` because we don't want\n // to have this flag this subscriber as `isStopped`. We can mimic the\n // behavior of the RetrySubscriber (from the `retry` operator), where\n // we unsubscribe from our source chain, reset our Subscriber flags,\n // then subscribe to the selector result.\n CatchSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var result = void 0;\n try {\n result = this.selector(err, this.caught);\n }\n catch (err2) {\n _super.prototype.error.call(this, err2);\n return;\n }\n this._unsubscribeAndRecycle();\n this.add(subscribeToResult_1.subscribeToResult(this, result));\n }\n };\n return CatchSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=catchError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar ArrayObservable_1 = require('../observable/ArrayObservable');\nvar isArray_1 = require('../util/isArray');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar none = {};\n/* tslint:enable:max-line-length */\n/**\n * Combines multiple Observables to create an Observable whose values are\n * calculated from the latest values of each of its input Observables.\n *\n * Whenever any input Observable emits a value, it\n * computes a formula using the latest values from all the inputs, then emits\n * the output of that formula.\n *\n * \n *\n * `combineLatest` combines the values from this Observable with values from\n * Observables passed as arguments. This is done by subscribing to each\n * Observable, in order, and collecting an array of each of the most recent\n * values any time any of the input Observables emits, then either taking that\n * array and passing it as arguments to an optional `project` function and\n * emitting the return value of that, or just emitting the array of recent\n * values directly if there is no `project` function.\n *\n * @example Dynamically calculate the Body-Mass Index from an Observable of weight and one for height\n * var weight = Rx.Observable.of(70, 72, 76, 79, 75);\n * var height = Rx.Observable.of(1.76, 1.77, 1.78);\n * var bmi = weight.combineLatest(height, (w, h) => w / (h * h));\n * bmi.subscribe(x => console.log('BMI is ' + x));\n *\n * // With output to console:\n * // BMI is 24.212293388429753\n * // BMI is 23.93948099205209\n * // BMI is 23.671253629592222\n *\n * @see {@link combineAll}\n * @see {@link merge}\n * @see {@link withLatestFrom}\n *\n * @param {ObservableInput} other An input Observable to combine with the source\n * Observable. More than one input Observables may be given as argument.\n * @param {function} [project] An optional function to project the values from\n * the combined latest values into a new value on the output Observable.\n * @return {Observable} An Observable of projected values from the most recent\n * values from each input Observable, or an array of the most recent values from\n * each input Observable.\n * @method combineLatest\n * @owner Observable\n */\nfunction combineLatest() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i - 0] = arguments[_i];\n }\n var project = null;\n if (typeof observables[observables.length - 1] === 'function') {\n project = observables.pop();\n }\n // if the first and only other argument besides the resultSelector is an array\n // assume it's been called with `combineLatest([obs1, obs2, obs3], project)`\n if (observables.length === 1 && isArray_1.isArray(observables[0])) {\n observables = observables[0].slice();\n }\n return function (source) { return source.lift.call(new ArrayObservable_1.ArrayObservable([source].concat(observables)), new CombineLatestOperator(project)); };\n}\nexports.combineLatest = combineLatest;\nvar CombineLatestOperator = (function () {\n function CombineLatestOperator(project) {\n this.project = project;\n }\n CombineLatestOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CombineLatestSubscriber(subscriber, this.project));\n };\n return CombineLatestOperator;\n}());\nexports.CombineLatestOperator = CombineLatestOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CombineLatestSubscriber = (function (_super) {\n __extends(CombineLatestSubscriber, _super);\n function CombineLatestSubscriber(destination, project) {\n _super.call(this, destination);\n this.project = project;\n this.active = 0;\n this.values = [];\n this.observables = [];\n }\n CombineLatestSubscriber.prototype._next = function (observable) {\n this.values.push(none);\n this.observables.push(observable);\n };\n CombineLatestSubscriber.prototype._complete = function () {\n var observables = this.observables;\n var len = observables.length;\n if (len === 0) {\n this.destination.complete();\n }\n else {\n this.active = len;\n this.toRespond = len;\n for (var i = 0; i < len; i++) {\n var observable = observables[i];\n this.add(subscribeToResult_1.subscribeToResult(this, observable, observable, i));\n }\n }\n };\n CombineLatestSubscriber.prototype.notifyComplete = function (unused) {\n if ((this.active -= 1) === 0) {\n this.destination.complete();\n }\n };\n CombineLatestSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var values = this.values;\n var oldVal = values[outerIndex];\n var toRespond = !this.toRespond\n ? 0\n : oldVal === none ? --this.toRespond : this.toRespond;\n values[outerIndex] = innerValue;\n if (toRespond === 0) {\n if (this.project) {\n this._tryProject(values);\n }\n else {\n this.destination.next(values.slice());\n }\n }\n };\n CombineLatestSubscriber.prototype._tryProject = function (values) {\n var result;\n try {\n result = this.project.apply(this, values);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return CombineLatestSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.CombineLatestSubscriber = CombineLatestSubscriber;\n//# sourceMappingURL=combineLatest.js.map","\"use strict\";\nvar mergeMap_1 = require('./mergeMap');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable, in a serialized fashion waiting for each one to complete before\n * merging the next.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link concatAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an (so-called \"inner\") Observable. Each new inner Observable is\n * concatenated with the previous inner Observable.\n *\n * __Warning:__ if source values arrive endlessly and faster than their\n * corresponding inner Observables can complete, it will result in memory issues\n * as inner Observables amass in an unbounded buffer waiting for their turn to\n * be subscribed to.\n *\n * Note: `concatMap` is equivalent to `mergeMap` with concurrency parameter set\n * to `1`.\n *\n * @example For each click event, tick every second from 0 to 3, with no concurrency\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var result = clicks.concatMap(ev => Rx.Observable.interval(1000).take(4));\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // (results are not concurrent)\n * // For every click on the \"document\" it will emit values 0 to 3 spaced\n * // on a 1000ms interval\n * // one click = 1000ms-> 0 -1000ms-> 1 -1000ms-> 2 -1000ms-> 3\n *\n * @see {@link concat}\n * @see {@link concatAll}\n * @see {@link concatMapTo}\n * @see {@link exhaustMap}\n * @see {@link mergeMap}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and taking values from each projected inner\n * Observable sequentially.\n * @method concatMap\n * @owner Observable\n */\nfunction concatMap(project, resultSelector) {\n return mergeMap_1.mergeMap(project, resultSelector, 1);\n}\nexports.concatMap = concatMap;\n//# sourceMappingURL=concatMap.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Counts the number of emissions on the source and emits that number when the\n * source completes.\n *\n * Tells how many values were emitted, when the source\n * completes.\n *\n * \n *\n * `count` transforms an Observable that emits values into an Observable that\n * emits a single value that represents the number of values emitted by the\n * source Observable. If the source Observable terminates with an error, `count`\n * will pass this error notification along without emitting a value first. If\n * the source Observable does not terminate at all, `count` will neither emit\n * a value nor terminate. This operator takes an optional `predicate` function\n * as argument, in which case the output emission will represent the number of\n * source values that matched `true` with the `predicate`.\n *\n * @example Counts how many seconds have passed before the first click happened\n * var seconds = Rx.Observable.interval(1000);\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var secondsBeforeClick = seconds.takeUntil(clicks);\n * var result = secondsBeforeClick.count();\n * result.subscribe(x => console.log(x));\n *\n * @example Counts how many odd numbers are there between 1 and 7\n * var numbers = Rx.Observable.range(1, 7);\n * var result = numbers.count(i => i % 2 === 1);\n * result.subscribe(x => console.log(x));\n *\n * // Results in:\n * // 4\n *\n * @see {@link max}\n * @see {@link min}\n * @see {@link reduce}\n *\n * @param {function(value: T, i: number, source: Observable): boolean} [predicate] A\n * boolean function to select what values are to be counted. It is provided with\n * arguments of:\n * - `value`: the value from the source Observable.\n * - `index`: the (zero-based) \"index\" of the value from the source Observable.\n * - `source`: the source Observable instance itself.\n * @return {Observable} An Observable of one number that represents the count as\n * described above.\n * @method count\n * @owner Observable\n */\nfunction count(predicate) {\n return function (source) { return source.lift(new CountOperator(predicate, source)); };\n}\nexports.count = count;\nvar CountOperator = (function () {\n function CountOperator(predicate, source) {\n this.predicate = predicate;\n this.source = source;\n }\n CountOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new CountSubscriber(subscriber, this.predicate, this.source));\n };\n return CountOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar CountSubscriber = (function (_super) {\n __extends(CountSubscriber, _super);\n function CountSubscriber(destination, predicate, source) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.source = source;\n this.count = 0;\n this.index = 0;\n }\n CountSubscriber.prototype._next = function (value) {\n if (this.predicate) {\n this._tryPredicate(value);\n }\n else {\n this.count++;\n }\n };\n CountSubscriber.prototype._tryPredicate = function (value) {\n var result;\n try {\n result = this.predicate(value, this.index++, this.source);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.count++;\n }\n };\n CountSubscriber.prototype._complete = function () {\n this.destination.next(this.count);\n this.destination.complete();\n };\n return CountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=count.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar async_1 = require('../scheduler/async');\nvar isDate_1 = require('../util/isDate');\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n * Delays the emission of items from the source Observable by a given timeout or\n * until a given Date.\n *\n * Time shifts each item by some specified amount of\n * milliseconds.\n *\n * \n *\n * If the delay argument is a Number, this operator time shifts the source\n * Observable by that amount of time expressed in milliseconds. The relative\n * time intervals between the values are preserved.\n *\n * If the delay argument is a Date, this operator time shifts the start of the\n * Observable execution until the given date occurs.\n *\n * @example Delay each click by one second\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var delayedClicks = clicks.delay(1000); // each click emitted after 1 second\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @example Delay all clicks until a future date happens\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var date = new Date('March 15, 2050 12:00:00'); // in the future\n * var delayedClicks = clicks.delay(date); // click emitted only after that date\n * delayedClicks.subscribe(x => console.log(x));\n *\n * @see {@link debounceTime}\n * @see {@link delayWhen}\n *\n * @param {number|Date} delay The delay duration in milliseconds (a `number`) or\n * a `Date` until which the emission of the source items is delayed.\n * @param {Scheduler} [scheduler=async] The IScheduler to use for\n * managing the timers that handle the time-shift for each item.\n * @return {Observable} An Observable that delays the emissions of the source\n * Observable by the specified timeout or Date.\n * @method delay\n * @owner Observable\n */\nfunction delay(delay, scheduler) {\n if (scheduler === void 0) { scheduler = async_1.async; }\n var absoluteDelay = isDate_1.isDate(delay);\n var delayFor = absoluteDelay ? (+delay - scheduler.now()) : Math.abs(delay);\n return function (source) { return source.lift(new DelayOperator(delayFor, scheduler)); };\n}\nexports.delay = delay;\nvar DelayOperator = (function () {\n function DelayOperator(delay, scheduler) {\n this.delay = delay;\n this.scheduler = scheduler;\n }\n DelayOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DelaySubscriber(subscriber, this.delay, this.scheduler));\n };\n return DelayOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DelaySubscriber = (function (_super) {\n __extends(DelaySubscriber, _super);\n function DelaySubscriber(destination, delay, scheduler) {\n _super.call(this, destination);\n this.delay = delay;\n this.scheduler = scheduler;\n this.queue = [];\n this.active = false;\n this.errored = false;\n }\n DelaySubscriber.dispatch = function (state) {\n var source = state.source;\n var queue = source.queue;\n var scheduler = state.scheduler;\n var destination = state.destination;\n while (queue.length > 0 && (queue[0].time - scheduler.now()) <= 0) {\n queue.shift().notification.observe(destination);\n }\n if (queue.length > 0) {\n var delay_1 = Math.max(0, queue[0].time - scheduler.now());\n this.schedule(state, delay_1);\n }\n else {\n this.unsubscribe();\n source.active = false;\n }\n };\n DelaySubscriber.prototype._schedule = function (scheduler) {\n this.active = true;\n this.add(scheduler.schedule(DelaySubscriber.dispatch, this.delay, {\n source: this, destination: this.destination, scheduler: scheduler\n }));\n };\n DelaySubscriber.prototype.scheduleNotification = function (notification) {\n if (this.errored === true) {\n return;\n }\n var scheduler = this.scheduler;\n var message = new DelayMessage(scheduler.now() + this.delay, notification);\n this.queue.push(message);\n if (this.active === false) {\n this._schedule(scheduler);\n }\n };\n DelaySubscriber.prototype._next = function (value) {\n this.scheduleNotification(Notification_1.Notification.createNext(value));\n };\n DelaySubscriber.prototype._error = function (err) {\n this.errored = true;\n this.queue = [];\n this.destination.error(err);\n };\n DelaySubscriber.prototype._complete = function () {\n this.scheduleNotification(Notification_1.Notification.createComplete());\n };\n return DelaySubscriber;\n}(Subscriber_1.Subscriber));\nvar DelayMessage = (function () {\n function DelayMessage(time, notification) {\n this.time = time;\n this.notification = notification;\n }\n return DelayMessage;\n}());\n//# sourceMappingURL=delay.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Filter items emitted by the source Observable by only emitting those that\n * satisfy a specified predicate.\n *\n * Like\n * [Array.prototype.filter()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter),\n * it only emits a value from the source if it passes a criterion function.\n *\n * \n *\n * Similar to the well-known `Array.prototype.filter` method, this operator\n * takes values from the source Observable, passes them through a `predicate`\n * function and only emits those values that yielded `true`.\n *\n * @example Emit only click events whose target was a DIV element\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var clicksOnDivs = clicks.filter(ev => ev.target.tagName === 'DIV');\n * clicksOnDivs.subscribe(x => console.log(x));\n *\n * @see {@link distinct}\n * @see {@link distinctUntilChanged}\n * @see {@link distinctUntilKeyChanged}\n * @see {@link ignoreElements}\n * @see {@link partition}\n * @see {@link skip}\n *\n * @param {function(value: T, index: number): boolean} predicate A function that\n * evaluates each value emitted by the source Observable. If it returns `true`,\n * the value is emitted, if `false` the value is not passed to the output\n * Observable. The `index` parameter is the number `i` for the i-th source\n * emission that has happened since the subscription, starting from the number\n * `0`.\n * @param {any} [thisArg] An optional argument to determine the value of `this`\n * in the `predicate` function.\n * @return {Observable} An Observable of values from the source that were\n * allowed by the `predicate` function.\n * @method filter\n * @owner Observable\n */\nfunction filter(predicate, thisArg) {\n return function filterOperatorFunction(source) {\n return source.lift(new FilterOperator(predicate, thisArg));\n };\n}\nexports.filter = filter;\nvar FilterOperator = (function () {\n function FilterOperator(predicate, thisArg) {\n this.predicate = predicate;\n this.thisArg = thisArg;\n }\n FilterOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new FilterSubscriber(subscriber, this.predicate, this.thisArg));\n };\n return FilterOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar FilterSubscriber = (function (_super) {\n __extends(FilterSubscriber, _super);\n function FilterSubscriber(destination, predicate, thisArg) {\n _super.call(this, destination);\n this.predicate = predicate;\n this.thisArg = thisArg;\n this.count = 0;\n }\n // the try catch block below is left specifically for\n // optimization and perf reasons. a tryCatcher is not necessary here.\n FilterSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.predicate.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n if (result) {\n this.destination.next(value);\n }\n };\n return FilterSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=filter.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/**\n * Applies a given `project` function to each value emitted by the source\n * Observable, and emits the resulting values as an Observable.\n *\n * Like [Array.prototype.map()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map),\n * it passes each source value through a transformation function to get\n * corresponding output values.\n *\n * \n *\n * Similar to the well known `Array.prototype.map` function, this operator\n * applies a projection to each value and emits that projection in the output\n * Observable.\n *\n * @example Map every click to the clientX position of that click\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks.map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link mapTo}\n * @see {@link pluck}\n *\n * @param {function(value: T, index: number): R} project The function to apply\n * to each `value` emitted by the source Observable. The `index` parameter is\n * the number `i` for the i-th emission that has happened since the\n * subscription, starting from the number `0`.\n * @param {any} [thisArg] An optional argument to define what `this` is in the\n * `project` function.\n * @return {Observable} An Observable that emits the values from the source\n * Observable transformed by the given `project` function.\n * @method map\n * @owner Observable\n */\nfunction map(project, thisArg) {\n return function mapOperation(source) {\n if (typeof project !== 'function') {\n throw new TypeError('argument is not a function. Are you looking for `mapTo()`?');\n }\n return source.lift(new MapOperator(project, thisArg));\n };\n}\nexports.map = map;\nvar MapOperator = (function () {\n function MapOperator(project, thisArg) {\n this.project = project;\n this.thisArg = thisArg;\n }\n MapOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new MapSubscriber(subscriber, this.project, this.thisArg));\n };\n return MapOperator;\n}());\nexports.MapOperator = MapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MapSubscriber = (function (_super) {\n __extends(MapSubscriber, _super);\n function MapSubscriber(destination, project, thisArg) {\n _super.call(this, destination);\n this.project = project;\n this.count = 0;\n this.thisArg = thisArg || this;\n }\n // NOTE: This looks unoptimized, but it's actually purposefully NOT\n // using try/catch optimizations.\n MapSubscriber.prototype._next = function (value) {\n var result;\n try {\n result = this.project.call(this.thisArg, value, this.count++);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n return MapSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=map.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar subscribeToResult_1 = require('../util/subscribeToResult');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\n/* tslint:enable:max-line-length */\n/**\n * Projects each source value to an Observable which is merged in the output\n * Observable.\n *\n * Maps each value to an Observable, then flattens all of\n * these inner Observables using {@link mergeAll}.\n *\n * \n *\n * Returns an Observable that emits items based on applying a function that you\n * supply to each item emitted by the source Observable, where that function\n * returns an Observable, and then merging those resulting Observables and\n * emitting the results of this merger.\n *\n * @example Map and flatten each letter to an Observable ticking every 1 second\n * var letters = Rx.Observable.of('a', 'b', 'c');\n * var result = letters.mergeMap(x =>\n * Rx.Observable.interval(1000).map(i => x+i)\n * );\n * result.subscribe(x => console.log(x));\n *\n * // Results in the following:\n * // a0\n * // b0\n * // c0\n * // a1\n * // b1\n * // c1\n * // continues to list a,b,c with respective ascending integers\n *\n * @see {@link concatMap}\n * @see {@link exhaustMap}\n * @see {@link merge}\n * @see {@link mergeAll}\n * @see {@link mergeMapTo}\n * @see {@link mergeScan}\n * @see {@link switchMap}\n *\n * @param {function(value: T, ?index: number): ObservableInput} project A function\n * that, when applied to an item emitted by the source Observable, returns an\n * Observable.\n * @param {function(outerValue: T, innerValue: I, outerIndex: number, innerIndex: number): any} [resultSelector]\n * A function to produce the value on the output Observable based on the values\n * and the indices of the source (outer) emission and the inner Observable\n * emission. The arguments passed to this function are:\n * - `outerValue`: the value that came from the source\n * - `innerValue`: the value that came from the projected Observable\n * - `outerIndex`: the \"index\" of the value that came from the source\n * - `innerIndex`: the \"index\" of the value from the projected Observable\n * @param {number} [concurrent=Number.POSITIVE_INFINITY] Maximum number of input\n * Observables being subscribed to concurrently.\n * @return {Observable} An Observable that emits the result of applying the\n * projection function (and the optional `resultSelector`) to each item emitted\n * by the source Observable and merging the results of the Observables obtained\n * from this transformation.\n * @method mergeMap\n * @owner Observable\n */\nfunction mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n return function mergeMapOperatorFunction(source) {\n if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n resultSelector = null;\n }\n return source.lift(new MergeMapOperator(project, resultSelector, concurrent));\n };\n}\nexports.mergeMap = mergeMap;\nvar MergeMapOperator = (function () {\n function MergeMapOperator(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n this.project = project;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n }\n MergeMapOperator.prototype.call = function (observer, source) {\n return source.subscribe(new MergeMapSubscriber(observer, this.project, this.resultSelector, this.concurrent));\n };\n return MergeMapOperator;\n}());\nexports.MergeMapOperator = MergeMapOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar MergeMapSubscriber = (function (_super) {\n __extends(MergeMapSubscriber, _super);\n function MergeMapSubscriber(destination, project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Number.POSITIVE_INFINITY; }\n _super.call(this, destination);\n this.project = project;\n this.resultSelector = resultSelector;\n this.concurrent = concurrent;\n this.hasCompleted = false;\n this.buffer = [];\n this.active = 0;\n this.index = 0;\n }\n MergeMapSubscriber.prototype._next = function (value) {\n if (this.active < this.concurrent) {\n this._tryNext(value);\n }\n else {\n this.buffer.push(value);\n }\n };\n MergeMapSubscriber.prototype._tryNext = function (value) {\n var result;\n var index = this.index++;\n try {\n result = this.project(value, index);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.active++;\n this._innerSub(result, value, index);\n };\n MergeMapSubscriber.prototype._innerSub = function (ish, value, index) {\n this.add(subscribeToResult_1.subscribeToResult(this, ish, value, index));\n };\n MergeMapSubscriber.prototype._complete = function () {\n this.hasCompleted = true;\n if (this.active === 0 && this.buffer.length === 0) {\n this.destination.complete();\n }\n };\n MergeMapSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n if (this.resultSelector) {\n this._notifyResultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n else {\n this.destination.next(innerValue);\n }\n };\n MergeMapSubscriber.prototype._notifyResultSelector = function (outerValue, innerValue, outerIndex, innerIndex) {\n var result;\n try {\n result = this.resultSelector(outerValue, innerValue, outerIndex, innerIndex);\n }\n catch (err) {\n this.destination.error(err);\n return;\n }\n this.destination.next(result);\n };\n MergeMapSubscriber.prototype.notifyComplete = function (innerSub) {\n var buffer = this.buffer;\n this.remove(innerSub);\n this.active--;\n if (buffer.length > 0) {\n this._next(buffer.shift());\n }\n else if (this.active === 0 && this.hasCompleted) {\n this.destination.complete();\n }\n };\n return MergeMapSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\nexports.MergeMapSubscriber = MergeMapSubscriber;\n//# sourceMappingURL=mergeMap.js.map","\"use strict\";\nvar ConnectableObservable_1 = require('../observable/ConnectableObservable');\n/* tslint:enable:max-line-length */\n/**\n * Returns an Observable that emits the results of invoking a specified selector on items\n * emitted by a ConnectableObservable that shares a single subscription to the underlying stream.\n *\n * \n *\n * @param {Function|Subject} subjectOrSubjectFactory - Factory function to create an intermediate subject through\n * which the source sequence's elements will be multicast to the selector function\n * or Subject to push source elements into.\n * @param {Function} [selector] - Optional selector function that can use the multicasted source stream\n * as many times as needed, without causing multiple subscriptions to the source stream.\n * Subscribers to the given source will receive all notifications of the source from the\n * time of the subscription forward.\n * @return {Observable} An Observable that emits the results of invoking the selector\n * on the items emitted by a `ConnectableObservable` that shares a single subscription to\n * the underlying stream.\n * @method multicast\n * @owner Observable\n */\nfunction multicast(subjectOrSubjectFactory, selector) {\n return function multicastOperatorFunction(source) {\n var subjectFactory;\n if (typeof subjectOrSubjectFactory === 'function') {\n subjectFactory = subjectOrSubjectFactory;\n }\n else {\n subjectFactory = function subjectFactory() {\n return subjectOrSubjectFactory;\n };\n }\n if (typeof selector === 'function') {\n return source.lift(new MulticastOperator(subjectFactory, selector));\n }\n var connectable = Object.create(source, ConnectableObservable_1.connectableObservableDescriptor);\n connectable.source = source;\n connectable.subjectFactory = subjectFactory;\n return connectable;\n };\n}\nexports.multicast = multicast;\nvar MulticastOperator = (function () {\n function MulticastOperator(subjectFactory, selector) {\n this.subjectFactory = subjectFactory;\n this.selector = selector;\n }\n MulticastOperator.prototype.call = function (subscriber, source) {\n var selector = this.selector;\n var subject = this.subjectFactory();\n var subscription = selector(subject).subscribe(subscriber);\n subscription.add(source.subscribe(subject));\n return subscription;\n };\n return MulticastOperator;\n}());\nexports.MulticastOperator = MulticastOperator;\n//# sourceMappingURL=multicast.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar Notification_1 = require('../Notification');\n/**\n *\n * Re-emits all notifications from source Observable with specified scheduler.\n *\n * Ensure a specific scheduler is used, from outside of an Observable.\n *\n * `observeOn` is an operator that accepts a scheduler as a first parameter, which will be used to reschedule\n * notifications emitted by the source Observable. It might be useful, if you do not have control over\n * internal scheduler of a given Observable, but want to control when its values are emitted nevertheless.\n *\n * Returned Observable emits the same notifications (nexted values, complete and error events) as the source Observable,\n * but rescheduled with provided scheduler. Note that this doesn't mean that source Observables internal\n * scheduler will be replaced in any way. Original scheduler still will be used, but when the source Observable emits\n * notification, it will be immediately scheduled again - this time with scheduler passed to `observeOn`.\n * An anti-pattern would be calling `observeOn` on Observable that emits lots of values synchronously, to split\n * that emissions into asynchronous chunks. For this to happen, scheduler would have to be passed into the source\n * Observable directly (usually into the operator that creates it). `observeOn` simply delays notifications a\n * little bit more, to ensure that they are emitted at expected moments.\n *\n * As a matter of fact, `observeOn` accepts second parameter, which specifies in milliseconds with what delay notifications\n * will be emitted. The main difference between {@link delay} operator and `observeOn` is that `observeOn`\n * will delay all notifications - including error notifications - while `delay` will pass through error\n * from source Observable immediately when it is emitted. In general it is highly recommended to use `delay` operator\n * for any kind of delaying of values in the stream, while using `observeOn` to specify which scheduler should be used\n * for notification emissions in general.\n *\n * @example Ensure values in subscribe are called just before browser repaint.\n * const intervals = Rx.Observable.interval(10); // Intervals are scheduled\n * // with async scheduler by default...\n *\n * intervals\n * .observeOn(Rx.Scheduler.animationFrame) // ...but we will observe on animationFrame\n * .subscribe(val => { // scheduler to ensure smooth animation.\n * someDiv.style.height = val + 'px';\n * });\n *\n * @see {@link delay}\n *\n * @param {IScheduler} scheduler Scheduler that will be used to reschedule notifications from source Observable.\n * @param {number} [delay] Number of milliseconds that states with what delay every notification should be rescheduled.\n * @return {Observable} Observable that emits the same notifications as the source Observable,\n * but with provided scheduler.\n *\n * @method observeOn\n * @owner Observable\n */\nfunction observeOn(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n return function observeOnOperatorFunction(source) {\n return source.lift(new ObserveOnOperator(scheduler, delay));\n };\n}\nexports.observeOn = observeOn;\nvar ObserveOnOperator = (function () {\n function ObserveOnOperator(scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new ObserveOnSubscriber(subscriber, this.scheduler, this.delay));\n };\n return ObserveOnOperator;\n}());\nexports.ObserveOnOperator = ObserveOnOperator;\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar ObserveOnSubscriber = (function (_super) {\n __extends(ObserveOnSubscriber, _super);\n function ObserveOnSubscriber(destination, scheduler, delay) {\n if (delay === void 0) { delay = 0; }\n _super.call(this, destination);\n this.scheduler = scheduler;\n this.delay = delay;\n }\n ObserveOnSubscriber.dispatch = function (arg) {\n var notification = arg.notification, destination = arg.destination;\n notification.observe(destination);\n this.unsubscribe();\n };\n ObserveOnSubscriber.prototype.scheduleMessage = function (notification) {\n this.add(this.scheduler.schedule(ObserveOnSubscriber.dispatch, this.delay, new ObserveOnMessage(notification, this.destination)));\n };\n ObserveOnSubscriber.prototype._next = function (value) {\n this.scheduleMessage(Notification_1.Notification.createNext(value));\n };\n ObserveOnSubscriber.prototype._error = function (err) {\n this.scheduleMessage(Notification_1.Notification.createError(err));\n };\n ObserveOnSubscriber.prototype._complete = function () {\n this.scheduleMessage(Notification_1.Notification.createComplete());\n };\n return ObserveOnSubscriber;\n}(Subscriber_1.Subscriber));\nexports.ObserveOnSubscriber = ObserveOnSubscriber;\nvar ObserveOnMessage = (function () {\n function ObserveOnMessage(notification, destination) {\n this.notification = notification;\n this.destination = destination;\n }\n return ObserveOnMessage;\n}());\nexports.ObserveOnMessage = ObserveOnMessage;\n//# sourceMappingURL=observeOn.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nfunction refCount() {\n return function refCountOperatorFunction(source) {\n return source.lift(new RefCountOperator(source));\n };\n}\nexports.refCount = refCount;\nvar RefCountOperator = (function () {\n function RefCountOperator(connectable) {\n this.connectable = connectable;\n }\n RefCountOperator.prototype.call = function (subscriber, source) {\n var connectable = this.connectable;\n connectable._refCount++;\n var refCounter = new RefCountSubscriber(subscriber, connectable);\n var subscription = source.subscribe(refCounter);\n if (!refCounter.closed) {\n refCounter.connection = connectable.connect();\n }\n return subscription;\n };\n return RefCountOperator;\n}());\nvar RefCountSubscriber = (function (_super) {\n __extends(RefCountSubscriber, _super);\n function RefCountSubscriber(destination, connectable) {\n _super.call(this, destination);\n this.connectable = connectable;\n }\n /** @deprecated internal use only */ RefCountSubscriber.prototype._unsubscribe = function () {\n var connectable = this.connectable;\n if (!connectable) {\n this.connection = null;\n return;\n }\n this.connectable = null;\n var refCount = connectable._refCount;\n if (refCount <= 0) {\n this.connection = null;\n return;\n }\n connectable._refCount = refCount - 1;\n if (refCount > 1) {\n this.connection = null;\n return;\n }\n ///\n // Compare the local RefCountSubscriber's connection Subscription to the\n // connection Subscription on the shared ConnectableObservable. In cases\n // where the ConnectableObservable source synchronously emits values, and\n // the RefCountSubscriber's downstream Observers synchronously unsubscribe,\n // execution continues to here before the RefCountOperator has a chance to\n // supply the RefCountSubscriber with the shared connection Subscription.\n // For example:\n // ```\n // Observable.range(0, 10)\n // .publish()\n // .refCount()\n // .take(5)\n // .subscribe();\n // ```\n // In order to account for this case, RefCountSubscriber should only dispose\n // the ConnectableObservable's shared connection Subscription if the\n // connection Subscription exists, *and* either:\n // a. RefCountSubscriber doesn't have a reference to the shared connection\n // Subscription yet, or,\n // b. RefCountSubscriber's connection Subscription reference is identical\n // to the shared connection Subscription\n ///\n var connection = this.connection;\n var sharedConnection = connectable._connection;\n this.connection = null;\n if (sharedConnection && (!connection || sharedConnection === connection)) {\n sharedConnection.unsubscribe();\n }\n };\n return RefCountSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=refCount.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subject_1 = require('../Subject');\nvar tryCatch_1 = require('../util/tryCatch');\nvar errorObject_1 = require('../util/errorObject');\nvar OuterSubscriber_1 = require('../OuterSubscriber');\nvar subscribeToResult_1 = require('../util/subscribeToResult');\n/**\n * Returns an Observable that mirrors the source Observable with the exception of an `error`. If the source Observable\n * calls `error`, this method will emit the Throwable that caused the error to the Observable returned from `notifier`.\n * If that Observable calls `complete` or `error` then this method will call `complete` or `error` on the child\n * subscription. Otherwise this method will resubscribe to the source Observable.\n *\n * \n *\n * @param {function(errors: Observable): Observable} notifier - Receives an Observable of notifications with which a\n * user can `complete` or `error`, aborting the retry.\n * @return {Observable} The source Observable modified with retry logic.\n * @method retryWhen\n * @owner Observable\n */\nfunction retryWhen(notifier) {\n return function (source) { return source.lift(new RetryWhenOperator(notifier, source)); };\n}\nexports.retryWhen = retryWhen;\nvar RetryWhenOperator = (function () {\n function RetryWhenOperator(notifier, source) {\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new RetryWhenSubscriber(subscriber, this.notifier, this.source));\n };\n return RetryWhenOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar RetryWhenSubscriber = (function (_super) {\n __extends(RetryWhenSubscriber, _super);\n function RetryWhenSubscriber(destination, notifier, source) {\n _super.call(this, destination);\n this.notifier = notifier;\n this.source = source;\n }\n RetryWhenSubscriber.prototype.error = function (err) {\n if (!this.isStopped) {\n var errors = this.errors;\n var retries = this.retries;\n var retriesSubscription = this.retriesSubscription;\n if (!retries) {\n errors = new Subject_1.Subject();\n retries = tryCatch_1.tryCatch(this.notifier)(errors);\n if (retries === errorObject_1.errorObject) {\n return _super.prototype.error.call(this, errorObject_1.errorObject.e);\n }\n retriesSubscription = subscribeToResult_1.subscribeToResult(this, retries);\n }\n else {\n this.errors = null;\n this.retriesSubscription = null;\n }\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n errors.next(err);\n }\n };\n /** @deprecated internal use only */ RetryWhenSubscriber.prototype._unsubscribe = function () {\n var _a = this, errors = _a.errors, retriesSubscription = _a.retriesSubscription;\n if (errors) {\n errors.unsubscribe();\n this.errors = null;\n }\n if (retriesSubscription) {\n retriesSubscription.unsubscribe();\n this.retriesSubscription = null;\n }\n this.retries = null;\n };\n RetryWhenSubscriber.prototype.notifyNext = function (outerValue, innerValue, outerIndex, innerIndex, innerSub) {\n var _a = this, errors = _a.errors, retries = _a.retries, retriesSubscription = _a.retriesSubscription;\n this.errors = null;\n this.retries = null;\n this.retriesSubscription = null;\n this._unsubscribeAndRecycle();\n this.errors = errors;\n this.retries = retries;\n this.retriesSubscription = retriesSubscription;\n this.source.subscribe(this);\n };\n return RetryWhenSubscriber;\n}(OuterSubscriber_1.OuterSubscriber));\n//# sourceMappingURL=retryWhen.js.map","\"use strict\";\nvar multicast_1 = require('./multicast');\nvar refCount_1 = require('./refCount');\nvar Subject_1 = require('../Subject');\nfunction shareSubjectFactory() {\n return new Subject_1.Subject();\n}\n/**\n * Returns a new Observable that multicasts (shares) the original Observable. As long as there is at least one\n * Subscriber this Observable will be subscribed and emitting data. When all subscribers have unsubscribed it will\n * unsubscribe from the source Observable. Because the Observable is multicasting it makes the stream `hot`.\n * This is an alias for .multicast(() => new Subject()).refCount().\n *\n * \n *\n * @return {Observable} An Observable that upon connection causes the source Observable to emit items to its Observers.\n * @method share\n * @owner Observable\n */\nfunction share() {\n return function (source) { return refCount_1.refCount()(multicast_1.multicast(shareSubjectFactory)(source)); };\n}\nexports.share = share;\n;\n//# sourceMappingURL=share.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\nvar ArgumentOutOfRangeError_1 = require('../util/ArgumentOutOfRangeError');\nvar EmptyObservable_1 = require('../observable/EmptyObservable');\n/**\n * Emits only the first `count` values emitted by the source Observable.\n *\n * Takes the first `count` values from the source, then\n * completes.\n *\n * \n *\n * `take` returns an Observable that emits only the first `count` values emitted\n * by the source Observable. If the source emits fewer than `count` values then\n * all of its values are emitted. After that, it completes, regardless if the\n * source completes.\n *\n * @example Take the first 5 seconds of an infinite 1-second interval Observable\n * var interval = Rx.Observable.interval(1000);\n * var five = interval.take(5);\n * five.subscribe(x => console.log(x));\n *\n * @see {@link takeLast}\n * @see {@link takeUntil}\n * @see {@link takeWhile}\n * @see {@link skip}\n *\n * @throws {ArgumentOutOfRangeError} When using `take(i)`, it delivers an\n * ArgumentOutOrRangeError to the Observer's `error` callback if `i < 0`.\n *\n * @param {number} count The maximum number of `next` values to emit.\n * @return {Observable} An Observable that emits only the first `count`\n * values emitted by the source Observable, or all of the values from the source\n * if the source emits fewer than `count` values.\n * @method take\n * @owner Observable\n */\nfunction take(count) {\n return function (source) {\n if (count === 0) {\n return new EmptyObservable_1.EmptyObservable();\n }\n else {\n return source.lift(new TakeOperator(count));\n }\n };\n}\nexports.take = take;\nvar TakeOperator = (function () {\n function TakeOperator(total) {\n this.total = total;\n if (this.total < 0) {\n throw new ArgumentOutOfRangeError_1.ArgumentOutOfRangeError;\n }\n }\n TakeOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new TakeSubscriber(subscriber, this.total));\n };\n return TakeOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar TakeSubscriber = (function (_super) {\n __extends(TakeSubscriber, _super);\n function TakeSubscriber(destination, total) {\n _super.call(this, destination);\n this.total = total;\n this.count = 0;\n }\n TakeSubscriber.prototype._next = function (value) {\n var total = this.total;\n var count = ++this.count;\n if (count <= total) {\n this.destination.next(value);\n if (count === total) {\n this.destination.complete();\n this.unsubscribe();\n }\n }\n };\n return TakeSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=take.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscriber_1 = require('../Subscriber');\n/* tslint:enable:max-line-length */\n/**\n * Perform a side effect for every emission on the source Observable, but return\n * an Observable that is identical to the source.\n *\n * Intercepts each emission on the source and runs a\n * function, but returns an output which is identical to the source as long as errors don't occur.\n *\n * \n *\n * Returns a mirrored Observable of the source Observable, but modified so that\n * the provided Observer is called to perform a side effect for every value,\n * error, and completion emitted by the source. Any errors that are thrown in\n * the aforementioned Observer or handlers are safely sent down the error path\n * of the output Observable.\n *\n * This operator is useful for debugging your Observables for the correct values\n * or performing other side effects.\n *\n * Note: this is different to a `subscribe` on the Observable. If the Observable\n * returned by `do` is not subscribed, the side effects specified by the\n * Observer will never happen. `do` therefore simply spies on existing\n * execution, it does not trigger an execution to happen like `subscribe` does.\n *\n * @example Map every click to the clientX position of that click, while also logging the click event\n * var clicks = Rx.Observable.fromEvent(document, 'click');\n * var positions = clicks\n * .do(ev => console.log(ev))\n * .map(ev => ev.clientX);\n * positions.subscribe(x => console.log(x));\n *\n * @see {@link map}\n * @see {@link subscribe}\n *\n * @param {Observer|function} [nextOrObserver] A normal Observer object or a\n * callback for `next`.\n * @param {function} [error] Callback for errors in the source.\n * @param {function} [complete] Callback for the completion of the source.\n * @return {Observable} An Observable identical to the source, but runs the\n * specified Observer or callback(s) for each item.\n * @name tap\n */\nfunction tap(nextOrObserver, error, complete) {\n return function tapOperatorFunction(source) {\n return source.lift(new DoOperator(nextOrObserver, error, complete));\n };\n}\nexports.tap = tap;\nvar DoOperator = (function () {\n function DoOperator(nextOrObserver, error, complete) {\n this.nextOrObserver = nextOrObserver;\n this.error = error;\n this.complete = complete;\n }\n DoOperator.prototype.call = function (subscriber, source) {\n return source.subscribe(new DoSubscriber(subscriber, this.nextOrObserver, this.error, this.complete));\n };\n return DoOperator;\n}());\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar DoSubscriber = (function (_super) {\n __extends(DoSubscriber, _super);\n function DoSubscriber(destination, nextOrObserver, error, complete) {\n _super.call(this, destination);\n var safeSubscriber = new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n safeSubscriber.syncErrorThrowable = true;\n this.add(safeSubscriber);\n this.safeSubscriber = safeSubscriber;\n }\n DoSubscriber.prototype._next = function (value) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.next(value);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.next(value);\n }\n };\n DoSubscriber.prototype._error = function (err) {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.error(err);\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.error(err);\n }\n };\n DoSubscriber.prototype._complete = function () {\n var safeSubscriber = this.safeSubscriber;\n safeSubscriber.complete();\n if (safeSubscriber.syncErrorThrown) {\n this.destination.error(safeSubscriber.syncErrorValue);\n }\n else {\n this.destination.complete();\n }\n };\n return DoSubscriber;\n}(Subscriber_1.Subscriber));\n//# sourceMappingURL=tap.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Subscription_1 = require('../Subscription');\n/**\n * A unit of work to be executed in a {@link Scheduler}. An action is typically\n * created from within a Scheduler and an RxJS user does not need to concern\n * themselves about creating and manipulating an Action.\n *\n * ```ts\n * class Action extends Subscription {\n * new (scheduler: Scheduler, work: (state?: T) => void);\n * schedule(state?: T, delay: number = 0): Subscription;\n * }\n * ```\n *\n * @class Action\n */\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n _super.call(this);\n }\n /**\n * Schedules this action on its parent Scheduler for execution. May be passed\n * some context object, `state`. May happen at some point in the future,\n * according to the `delay` parameter, if specified.\n * @param {T} [state] Some contextual data that the `work` function uses when\n * called by the Scheduler.\n * @param {number} [delay] Time to wait before executing the work, where the\n * time unit is implicit and defined by the Scheduler.\n * @return {void}\n */\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription_1.Subscription));\nexports.Action = Action;\n//# sourceMappingURL=Action.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar root_1 = require('../util/root');\nvar Action_1 = require('./Action');\n/**\n * We need this JSDoc comment for affecting ESDoc.\n * @ignore\n * @extends {Ignored}\n */\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n _super.call(this, scheduler, work);\n this.scheduler = scheduler;\n this.pending = false;\n this.work = work;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n // Always replace the current state with the new state.\n this.state = state;\n // Set the pending flag indicating that this action has been scheduled, or\n // has recursively rescheduled itself.\n this.pending = true;\n var id = this.id;\n var scheduler = this.scheduler;\n //\n // Important implementation note:\n //\n // Actions only execute once by default, unless rescheduled from within the\n // scheduled callback. This allows us to implement single and repeat\n // actions via the same code path, without adding API surface area, as well\n // as mimic traditional recursion but across asynchronous boundaries.\n //\n // However, JS runtimes and timers distinguish between intervals achieved by\n // serial `setTimeout` calls vs. a single `setInterval` call. An interval of\n // serial `setTimeout` calls can be individually delayed, which delays\n // scheduling the next `setTimeout`, and so on. `setInterval` attempts to\n // guarantee the interval callback will be invoked more precisely to the\n // interval period, regardless of load.\n //\n // Therefore, we use `setInterval` to schedule single and repeat actions.\n // If the action reschedules itself with the same delay, the interval is not\n // canceled. If the action doesn't reschedule, or reschedules with a\n // different delay, the interval will be canceled after scheduled callback\n // execution.\n //\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.delay = delay;\n // If this action has already an async Id, don't request a new one.\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return root_1.root.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n // If this action is rescheduled with the same delay time, don't clear the interval id.\n if (delay !== null && this.delay === delay && this.pending === false) {\n return id;\n }\n // Otherwise, if the action's delay time is different from the current delay,\n // or the action has been rescheduled before it's executed, clear the interval id\n return root_1.root.clearInterval(id) && undefined || undefined;\n };\n /**\n * Immediately executes this action and the `work` it contains.\n * @return {any}\n */\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n // Dequeue if the action didn't reschedule itself. Don't call\n // unsubscribe(), because the action could reschedule later.\n // For example:\n // ```\n // scheduler.schedule(function doWork(counter) {\n // /* ... I'm a busy worker bee ... */\n // var originalAction = this;\n // /* wait 100ms before rescheduling the action */\n // setTimeout(function () {\n // originalAction.schedule(counter + 1);\n // }, 100);\n // }, 1000);\n // ```\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, delay) {\n var errored = false;\n var errorValue = undefined;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = !!e && e || new Error(e);\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n /** @deprecated internal use only */ AsyncAction.prototype._unsubscribe = function () {\n var id = this.id;\n var scheduler = this.scheduler;\n var actions = scheduler.actions;\n var index = actions.indexOf(this);\n this.work = null;\n this.state = null;\n this.pending = false;\n this.scheduler = null;\n if (index !== -1) {\n actions.splice(index, 1);\n }\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n };\n return AsyncAction;\n}(Action_1.Action));\nexports.AsyncAction = AsyncAction;\n//# sourceMappingURL=AsyncAction.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\nvar Scheduler_1 = require('../Scheduler');\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler() {\n _super.apply(this, arguments);\n this.actions = [];\n /**\n * A flag to indicate whether the Scheduler is currently executing a batch of\n * queued actions.\n * @type {boolean}\n */\n this.active = false;\n /**\n * An internal ID used to track the latest asynchronous task such as those\n * coming from `setTimeout`, `setInterval`, `requestAnimationFrame`, and\n * others.\n * @type {any}\n */\n this.scheduled = undefined;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this.active) {\n actions.push(action);\n return;\n }\n var error;\n this.active = true;\n do {\n if (error = action.execute(action.state, action.delay)) {\n break;\n }\n } while (action = actions.shift()); // exhaust the scheduler queue\n this.active = false;\n if (error) {\n while (action = actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler_1.Scheduler));\nexports.AsyncScheduler = AsyncScheduler;\n//# sourceMappingURL=AsyncScheduler.js.map","\"use strict\";\nvar AsyncAction_1 = require('./AsyncAction');\nvar AsyncScheduler_1 = require('./AsyncScheduler');\n/**\n *\n * Async Scheduler\n *\n * Schedule task as if you used setTimeout(task, duration)\n *\n * `async` scheduler schedules tasks asynchronously, by putting them on the JavaScript\n * event loop queue. It is best used to delay tasks in time or to schedule tasks repeating\n * in intervals.\n *\n * If you just want to \"defer\" task, that is to perform it right after currently\n * executing synchronous code ends (commonly achieved by `setTimeout(deferredTask, 0)`),\n * better choice will be the {@link asap} scheduler.\n *\n * @example Use async scheduler to delay task\n * const task = () => console.log('it works!');\n *\n * Rx.Scheduler.async.schedule(task, 2000);\n *\n * // After 2 seconds logs:\n * // \"it works!\"\n *\n *\n * @example Use async scheduler to repeat task in intervals\n * function task(state) {\n * console.log(state);\n * this.schedule(state + 1, 1000); // `this` references currently executing Action,\n * // which we reschedule with new state and delay\n * }\n *\n * Rx.Scheduler.async.schedule(task, 3000, 0);\n *\n * // Logs:\n * // 0 after 3s\n * // 1 after 4s\n * // 2 after 5s\n * // 3 after 6s\n *\n * @static true\n * @name async\n * @owner Scheduler\n */\nexports.async = new AsyncScheduler_1.AsyncScheduler(AsyncAction_1.AsyncAction);\n//# sourceMappingURL=async.js.map","\"use strict\";\nvar root_1 = require('../util/root');\nfunction symbolIteratorPonyfill(root) {\n var Symbol = root.Symbol;\n if (typeof Symbol === 'function') {\n if (!Symbol.iterator) {\n Symbol.iterator = Symbol('iterator polyfill');\n }\n return Symbol.iterator;\n }\n else {\n // [for Mozilla Gecko 27-35:](https://mzl.la/2ewE1zC)\n var Set_1 = root.Set;\n if (Set_1 && typeof new Set_1()['@@iterator'] === 'function') {\n return '@@iterator';\n }\n var Map_1 = root.Map;\n // required for compatability with es6-shim\n if (Map_1) {\n var keys = Object.getOwnPropertyNames(Map_1.prototype);\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n // according to spec, Map.prototype[@@iterator] and Map.orototype.entries must be equal.\n if (key !== 'entries' && key !== 'size' && Map_1.prototype[key] === Map_1.prototype['entries']) {\n return key;\n }\n }\n }\n return '@@iterator';\n }\n}\nexports.symbolIteratorPonyfill = symbolIteratorPonyfill;\nexports.iterator = symbolIteratorPonyfill(root_1.root);\n/**\n * @deprecated use iterator instead\n */\nexports.$$iterator = exports.iterator;\n//# sourceMappingURL=iterator.js.map","\"use strict\";\nvar root_1 = require('../util/root');\nfunction getSymbolObservable(context) {\n var $$observable;\n var Symbol = context.Symbol;\n if (typeof Symbol === 'function') {\n if (Symbol.observable) {\n $$observable = Symbol.observable;\n }\n else {\n $$observable = Symbol('observable');\n Symbol.observable = $$observable;\n }\n }\n else {\n $$observable = '@@observable';\n }\n return $$observable;\n}\nexports.getSymbolObservable = getSymbolObservable;\nexports.observable = getSymbolObservable(root_1.root);\n/**\n * @deprecated use observable instead\n */\nexports.$$observable = exports.observable;\n//# sourceMappingURL=observable.js.map","\"use strict\";\nvar root_1 = require('../util/root');\nvar Symbol = root_1.root.Symbol;\nexports.rxSubscriber = (typeof Symbol === 'function' && typeof Symbol.for === 'function') ?\n Symbol.for('rxSubscriber') : '@@rxSubscriber';\n/**\n * @deprecated use rxSubscriber instead\n */\nexports.$$rxSubscriber = exports.rxSubscriber;\n//# sourceMappingURL=rxSubscriber.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an element was queried at a certain index of an\n * Observable, but no such index or position exists in that sequence.\n *\n * @see {@link elementAt}\n * @see {@link take}\n * @see {@link takeLast}\n *\n * @class ArgumentOutOfRangeError\n */\nvar ArgumentOutOfRangeError = (function (_super) {\n __extends(ArgumentOutOfRangeError, _super);\n function ArgumentOutOfRangeError() {\n var err = _super.call(this, 'argument out of range');\n this.name = err.name = 'ArgumentOutOfRangeError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return ArgumentOutOfRangeError;\n}(Error));\nexports.ArgumentOutOfRangeError = ArgumentOutOfRangeError;\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when an action is invalid because the object has been\n * unsubscribed.\n *\n * @see {@link Subject}\n * @see {@link BehaviorSubject}\n *\n * @class ObjectUnsubscribedError\n */\nvar ObjectUnsubscribedError = (function (_super) {\n __extends(ObjectUnsubscribedError, _super);\n function ObjectUnsubscribedError() {\n var err = _super.call(this, 'object unsubscribed');\n this.name = err.name = 'ObjectUnsubscribedError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return ObjectUnsubscribedError;\n}(Error));\nexports.ObjectUnsubscribedError = ObjectUnsubscribedError;\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","\"use strict\";\nvar __extends = (this && this.__extends) || function (d, b) {\n for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n};\n/**\n * An error thrown when one or more errors have occurred during the\n * `unsubscribe` of a {@link Subscription}.\n */\nvar UnsubscriptionError = (function (_super) {\n __extends(UnsubscriptionError, _super);\n function UnsubscriptionError(errors) {\n _super.call(this);\n this.errors = errors;\n var err = Error.call(this, errors ?\n errors.length + \" errors occurred during unsubscription:\\n \" + errors.map(function (err, i) { return ((i + 1) + \") \" + err.toString()); }).join('\\n ') : '');\n this.name = err.name = 'UnsubscriptionError';\n this.stack = err.stack;\n this.message = err.message;\n }\n return UnsubscriptionError;\n}(Error));\nexports.UnsubscriptionError = UnsubscriptionError;\n//# sourceMappingURL=UnsubscriptionError.js.map","\"use strict\";\n// typeof any so that it we don't have to cast when comparing a result to the error object\nexports.errorObject = { e: {} };\n//# sourceMappingURL=errorObject.js.map","\"use strict\";\nexports.isArray = Array.isArray || (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArray.js.map","\"use strict\";\nexports.isArrayLike = (function (x) { return x && typeof x.length === 'number'; });\n//# sourceMappingURL=isArrayLike.js.map","\"use strict\";\nfunction isDate(value) {\n return value instanceof Date && !isNaN(+value);\n}\nexports.isDate = isDate;\n//# sourceMappingURL=isDate.js.map","\"use strict\";\nfunction isFunction(x) {\n return typeof x === 'function';\n}\nexports.isFunction = isFunction;\n//# sourceMappingURL=isFunction.js.map","\"use strict\";\nvar isArray_1 = require('../util/isArray');\nfunction isNumeric(val) {\n // parseFloat NaNs numeric-cast false positives (null|true|false|\"\")\n // ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n // subtraction forces infinities to NaN\n // adding 1 corrects loss of precision from parseFloat (#15100)\n return !isArray_1.isArray(val) && (val - parseFloat(val) + 1) >= 0;\n}\nexports.isNumeric = isNumeric;\n;\n//# sourceMappingURL=isNumeric.js.map","\"use strict\";\nfunction isObject(x) {\n return x != null && typeof x === 'object';\n}\nexports.isObject = isObject;\n//# sourceMappingURL=isObject.js.map","\"use strict\";\nfunction isPromise(value) {\n return value && typeof value.subscribe !== 'function' && typeof value.then === 'function';\n}\nexports.isPromise = isPromise;\n//# sourceMappingURL=isPromise.js.map","\"use strict\";\nfunction isScheduler(value) {\n return value && typeof value.schedule === 'function';\n}\nexports.isScheduler = isScheduler;\n//# sourceMappingURL=isScheduler.js.map","\"use strict\";\n/* tslint:disable:no-empty */\nfunction noop() { }\nexports.noop = noop;\n//# sourceMappingURL=noop.js.map","\"use strict\";\nvar noop_1 = require('./noop');\n/* tslint:enable:max-line-length */\nfunction pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i - 0] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexports.pipe = pipe;\n/* @internal */\nfunction pipeFromArray(fns) {\n if (!fns) {\n return noop_1.noop;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\nexports.pipeFromArray = pipeFromArray;\n//# sourceMappingURL=pipe.js.map","\"use strict\";\n// CommonJS / Node have global context exposed as \"global\" variable.\n// We don't want to include the whole node.d.ts this this compilation unit so we'll just fake\n// the global \"global\" var for now.\nvar __window = typeof window !== 'undefined' && window;\nvar __self = typeof self !== 'undefined' && typeof WorkerGlobalScope !== 'undefined' &&\n self instanceof WorkerGlobalScope && self;\nvar __global = typeof global !== 'undefined' && global;\nvar _root = __window || __global || __self;\nexports.root = _root;\n// Workaround Closure Compiler restriction: The body of a goog.module cannot use throw.\n// This is needed when used with angular/tsickle which inserts a goog.module statement.\n// Wrap in IIFE\n(function () {\n if (!_root) {\n throw new Error('RxJS could not find any global context (window, self, global)');\n }\n})();\n//# sourceMappingURL=root.js.map","\"use strict\";\nvar root_1 = require('./root');\nvar isArrayLike_1 = require('./isArrayLike');\nvar isPromise_1 = require('./isPromise');\nvar isObject_1 = require('./isObject');\nvar Observable_1 = require('../Observable');\nvar iterator_1 = require('../symbol/iterator');\nvar InnerSubscriber_1 = require('../InnerSubscriber');\nvar observable_1 = require('../symbol/observable');\nfunction subscribeToResult(outerSubscriber, result, outerValue, outerIndex) {\n var destination = new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex);\n if (destination.closed) {\n return null;\n }\n if (result instanceof Observable_1.Observable) {\n if (result._isScalar) {\n destination.next(result.value);\n destination.complete();\n return null;\n }\n else {\n destination.syncErrorThrowable = true;\n return result.subscribe(destination);\n }\n }\n else if (isArrayLike_1.isArrayLike(result)) {\n for (var i = 0, len = result.length; i < len && !destination.closed; i++) {\n destination.next(result[i]);\n }\n if (!destination.closed) {\n destination.complete();\n }\n }\n else if (isPromise_1.isPromise(result)) {\n result.then(function (value) {\n if (!destination.closed) {\n destination.next(value);\n destination.complete();\n }\n }, function (err) { return destination.error(err); })\n .then(null, function (err) {\n // Escaping the Promise trap: globally throw unhandled errors\n root_1.root.setTimeout(function () { throw err; });\n });\n return destination;\n }\n else if (result && typeof result[iterator_1.iterator] === 'function') {\n var iterator = result[iterator_1.iterator]();\n do {\n var item = iterator.next();\n if (item.done) {\n destination.complete();\n break;\n }\n destination.next(item.value);\n if (destination.closed) {\n break;\n }\n } while (true);\n }\n else if (result && typeof result[observable_1.observable] === 'function') {\n var obs = result[observable_1.observable]();\n if (typeof obs.subscribe !== 'function') {\n destination.error(new TypeError('Provided object does not correctly implement Symbol.observable'));\n }\n else {\n return obs.subscribe(new InnerSubscriber_1.InnerSubscriber(outerSubscriber, outerValue, outerIndex));\n }\n }\n else {\n var value = isObject_1.isObject(result) ? 'an invalid object' : \"'\" + result + \"'\";\n var msg = (\"You provided \" + value + \" where a stream was expected.\")\n + ' You can provide an Observable, Promise, Array, or Iterable.';\n destination.error(new TypeError(msg));\n }\n return null;\n}\nexports.subscribeToResult = subscribeToResult;\n//# sourceMappingURL=subscribeToResult.js.map","\"use strict\";\nvar Subscriber_1 = require('../Subscriber');\nvar rxSubscriber_1 = require('../symbol/rxSubscriber');\nvar Observer_1 = require('../Observer');\nfunction toSubscriber(nextOrObserver, error, complete) {\n if (nextOrObserver) {\n if (nextOrObserver instanceof Subscriber_1.Subscriber) {\n return nextOrObserver;\n }\n if (nextOrObserver[rxSubscriber_1.rxSubscriber]) {\n return nextOrObserver[rxSubscriber_1.rxSubscriber]();\n }\n }\n if (!nextOrObserver && !error && !complete) {\n return new Subscriber_1.Subscriber(Observer_1.empty);\n }\n return new Subscriber_1.Subscriber(nextOrObserver, error, complete);\n}\nexports.toSubscriber = toSubscriber;\n//# sourceMappingURL=toSubscriber.js.map","\"use strict\";\nvar errorObject_1 = require('./errorObject');\nvar tryCatchTarget;\nfunction tryCatcher() {\n try {\n return tryCatchTarget.apply(this, arguments);\n }\n catch (e) {\n errorObject_1.errorObject.e = e;\n return errorObject_1.errorObject;\n }\n}\nfunction tryCatch(fn) {\n tryCatchTarget = fn;\n return tryCatcher;\n}\nexports.tryCatch = tryCatch;\n;\n//# sourceMappingURL=tryCatch.js.map","const htmlparser = require('htmlparser2');\nconst escapeStringRegexp = require('escape-string-regexp');\nconst { isPlainObject } = require('is-plain-object');\nconst deepmerge = require('deepmerge');\nconst parseSrcset = require('parse-srcset');\nconst { parse: postcssParse } = require('postcss');\n// Tags that can conceivably represent stand-alone media.\nconst mediaTags = [\n 'img', 'audio', 'video', 'picture', 'svg',\n 'object', 'map', 'iframe', 'embed'\n];\n// Tags that are inherently vulnerable to being used in XSS attacks.\nconst vulnerableTags = [ 'script', 'style' ];\n\nfunction each(obj, cb) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n cb(obj[key], key);\n });\n }\n}\n\n// Avoid false positives with .__proto__, .hasOwnProperty, etc.\nfunction has(obj, key) {\n return ({}).hasOwnProperty.call(obj, key);\n}\n\n// Returns those elements of `a` for which `cb(a)` returns truthy\nfunction filter(a, cb) {\n const n = [];\n each(a, function(v) {\n if (cb(v)) {\n n.push(v);\n }\n });\n return n;\n}\n\nfunction isEmptyObject(obj) {\n for (const key in obj) {\n if (has(obj, key)) {\n return false;\n }\n }\n return true;\n}\n\nfunction stringifySrcset(parsedSrcset) {\n return parsedSrcset.map(function(part) {\n if (!part.url) {\n throw new Error('URL missing');\n }\n\n return (\n part.url +\n (part.w ? ` ${part.w}w` : '') +\n (part.h ? ` ${part.h}h` : '') +\n (part.d ? ` ${part.d}x` : '')\n );\n }).join(', ');\n}\n\nmodule.exports = sanitizeHtml;\n\n// A valid attribute name.\n// We use a tolerant definition based on the set of strings defined by\n// html.spec.whatwg.org/multipage/parsing.html#before-attribute-name-state\n// and html.spec.whatwg.org/multipage/parsing.html#attribute-name-state .\n// The characters accepted are ones which can be appended to the attribute\n// name buffer without triggering a parse error:\n// * unexpected-equals-sign-before-attribute-name\n// * unexpected-null-character\n// * unexpected-character-in-attribute-name\n// We exclude the empty string because it's impossible to get to the after\n// attribute name state with an empty attribute name buffer.\nconst VALID_HTML_ATTRIBUTE_NAME = /^[^\\0\\t\\n\\f\\r /<=>]+$/;\n\n// Ignore the _recursing flag; it's there for recursive\n// invocation as a guard against this exploit:\n// https://github.com/fb55/htmlparser2/issues/105\n\nfunction sanitizeHtml(html, options, _recursing) {\n if (html == null) {\n return '';\n }\n if (typeof html === 'number') {\n html = html.toString();\n }\n\n let result = '';\n // Used for hot swapping the result variable with an empty string in order to \"capture\" the text written to it.\n let tempResult = '';\n\n function Frame(tag, attribs) {\n const that = this;\n this.tag = tag;\n this.attribs = attribs || {};\n this.tagPosition = result.length;\n this.text = ''; // Node inner text\n this.mediaChildren = [];\n\n this.updateParentNodeText = function() {\n if (stack.length) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.text += that.text;\n }\n };\n\n this.updateParentNodeMediaChildren = function() {\n if (stack.length && mediaTags.includes(this.tag)) {\n const parentFrame = stack[stack.length - 1];\n parentFrame.mediaChildren.push(this.tag);\n }\n };\n }\n\n options = Object.assign({}, sanitizeHtml.defaults, options);\n options.parser = Object.assign({}, htmlParserDefaults, options.parser);\n\n const tagAllowed = function (name) {\n return options.allowedTags === false || (options.allowedTags || []).indexOf(name) > -1;\n };\n\n // vulnerableTags\n vulnerableTags.forEach(function (tag) {\n if (tagAllowed(tag) && !options.allowVulnerableTags) {\n console.warn(`\\n\\n⚠️ Your \\`allowedTags\\` option includes, \\`${tag}\\`, which is inherently\\nvulnerable to XSS attacks. Please remove it from \\`allowedTags\\`.\\nOr, to disable this warning, add the \\`allowVulnerableTags\\` option\\nand ensure you are accounting for this risk.\\n\\n`);\n }\n });\n\n // Tags that contain something other than HTML, or where discarding\n // the text when the tag is disallowed makes sense for other reasons.\n // If we are not allowing these tags, we should drop their content too.\n // For other tags you would drop the tag but keep its content.\n const nonTextTagsArray = options.nonTextTags || [\n 'script',\n 'style',\n 'textarea',\n 'option'\n ];\n let allowedAttributesMap;\n let allowedAttributesGlobMap;\n if (options.allowedAttributes) {\n allowedAttributesMap = {};\n allowedAttributesGlobMap = {};\n each(options.allowedAttributes, function(attributes, tag) {\n allowedAttributesMap[tag] = [];\n const globRegex = [];\n attributes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else {\n allowedAttributesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedAttributesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n });\n }\n const allowedClassesMap = {};\n const allowedClassesGlobMap = {};\n const allowedClassesRegexMap = {};\n each(options.allowedClasses, function(classes, tag) {\n // Implicitly allows the class attribute\n if (allowedAttributesMap) {\n if (!has(allowedAttributesMap, tag)) {\n allowedAttributesMap[tag] = [];\n }\n allowedAttributesMap[tag].push('class');\n }\n\n allowedClassesMap[tag] = classes;\n\n if (Array.isArray(classes)) {\n const globRegex = [];\n allowedClassesMap[tag] = [];\n allowedClassesRegexMap[tag] = [];\n classes.forEach(function(obj) {\n if (typeof obj === 'string' && obj.indexOf('*') >= 0) {\n globRegex.push(escapeStringRegexp(obj).replace(/\\\\\\*/g, '.*'));\n } else if (obj instanceof RegExp) {\n allowedClassesRegexMap[tag].push(obj);\n } else {\n allowedClassesMap[tag].push(obj);\n }\n });\n if (globRegex.length) {\n allowedClassesGlobMap[tag] = new RegExp('^(' + globRegex.join('|') + ')$');\n }\n }\n });\n\n const transformTagsMap = {};\n let transformTagsAll;\n each(options.transformTags, function(transform, tag) {\n let transFun;\n if (typeof transform === 'function') {\n transFun = transform;\n } else if (typeof transform === 'string') {\n transFun = sanitizeHtml.simpleTransform(transform);\n }\n if (tag === '*') {\n transformTagsAll = transFun;\n } else {\n transformTagsMap[tag] = transFun;\n }\n });\n\n let depth;\n let stack;\n let skipMap;\n let transformMap;\n let skipText;\n let skipTextDepth;\n let addedText = false;\n\n initializeState();\n\n const parser = new htmlparser.Parser({\n onopentag: function(name, attribs) {\n // If `enforceHtmlBoundary` is `true` and this has found the opening\n // `html` tag, reset the state.\n if (options.enforceHtmlBoundary && name === 'html') {\n initializeState();\n }\n\n if (skipText) {\n skipTextDepth++;\n return;\n }\n const frame = new Frame(name, attribs);\n stack.push(frame);\n\n let skip = false;\n const hasText = !!frame.text;\n let transformedTag;\n if (has(transformTagsMap, name)) {\n transformedTag = transformTagsMap[name](name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n\n if (transformedTag.text !== undefined) {\n frame.innerText = transformedTag.text;\n }\n\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n if (transformTagsAll) {\n transformedTag = transformTagsAll(name, attribs);\n\n frame.attribs = attribs = transformedTag.attribs;\n if (name !== transformedTag.tagName) {\n frame.name = name = transformedTag.tagName;\n transformMap[depth] = transformedTag.tagName;\n }\n }\n\n if (!tagAllowed(name) || (options.disallowedTagsMode === 'recursiveEscape' && !isEmptyObject(skipMap)) || (options.nestingLimit != null && depth >= options.nestingLimit)) {\n skip = true;\n skipMap[depth] = true;\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n if (nonTextTagsArray.indexOf(name) !== -1) {\n skipText = true;\n skipTextDepth = 1;\n }\n }\n skipMap[depth] = true;\n }\n depth++;\n if (skip) {\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n // We want the contents but not this tag\n return;\n }\n tempResult = result;\n result = '';\n }\n result += '<' + name;\n\n if (name === 'script') {\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n frame.innerText = '';\n }\n }\n\n if (!allowedAttributesMap || has(allowedAttributesMap, name) || allowedAttributesMap['*']) {\n each(attribs, function(value, a) {\n if (!VALID_HTML_ATTRIBUTE_NAME.test(a)) {\n // This prevents part of an attribute name in the output from being\n // interpreted as the end of an attribute, or end of a tag.\n delete frame.attribs[a];\n return;\n }\n // If the value is empty, check if the attribute is in the allowedEmptyAttributes array.\n // If it is not in the allowedEmptyAttributes array, and it is a known non-boolean attribute, delete it\n // List taken from https://html.spec.whatwg.org/multipage/indices.html#attributes-3\n if (value === '' && (!options.allowedEmptyAttributes.includes(a)) &&\n (options.nonBooleanAttributes.includes(a) || options.nonBooleanAttributes.includes('*'))) {\n delete frame.attribs[a];\n return;\n }\n // check allowedAttributesMap for the element and attribute and modify the value\n // as necessary if there are specific values defined.\n let passedAllowedAttributesMapCheck = false;\n if (!allowedAttributesMap ||\n (has(allowedAttributesMap, name) && allowedAttributesMap[name].indexOf(a) !== -1) ||\n (allowedAttributesMap['*'] && allowedAttributesMap['*'].indexOf(a) !== -1) ||\n (has(allowedAttributesGlobMap, name) && allowedAttributesGlobMap[name].test(a)) ||\n (allowedAttributesGlobMap['*'] && allowedAttributesGlobMap['*'].test(a))) {\n passedAllowedAttributesMapCheck = true;\n } else if (allowedAttributesMap && allowedAttributesMap[name]) {\n for (const o of allowedAttributesMap[name]) {\n if (isPlainObject(o) && o.name && (o.name === a)) {\n passedAllowedAttributesMapCheck = true;\n let newValue = '';\n if (o.multiple === true) {\n // verify the values that are allowed\n const splitStrArray = value.split(' ');\n for (const s of splitStrArray) {\n if (o.values.indexOf(s) !== -1) {\n if (newValue === '') {\n newValue = s;\n } else {\n newValue += ' ' + s;\n }\n }\n }\n } else if (o.values.indexOf(value) >= 0) {\n // verified an allowed value matches the entire attribute value\n newValue = value;\n }\n value = newValue;\n }\n }\n }\n if (passedAllowedAttributesMapCheck) {\n if (options.allowedSchemesAppliedToAttributes.indexOf(a) !== -1) {\n if (naughtyHref(name, value)) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'script' && a === 'src') {\n\n let allowed = true;\n\n try {\n const parsed = parseUrl(value);\n\n if (options.allowedScriptHostnames || options.allowedScriptDomains) {\n const allowedHostname = (options.allowedScriptHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedScriptDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n allowed = false;\n }\n\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n\n if (name === 'iframe' && a === 'src') {\n let allowed = true;\n try {\n const parsed = parseUrl(value);\n\n if (parsed.isRelativeUrl) {\n // default value of allowIframeRelativeUrls is true\n // unless allowedIframeHostnames or allowedIframeDomains specified\n allowed = has(options, 'allowIframeRelativeUrls')\n ? options.allowIframeRelativeUrls\n : (!options.allowedIframeHostnames && !options.allowedIframeDomains);\n } else if (options.allowedIframeHostnames || options.allowedIframeDomains) {\n const allowedHostname = (options.allowedIframeHostnames || []).find(function (hostname) {\n return hostname === parsed.url.hostname;\n });\n const allowedDomain = (options.allowedIframeDomains || []).find(function(domain) {\n return parsed.url.hostname === domain || parsed.url.hostname.endsWith(`.${domain}`);\n });\n allowed = allowedHostname || allowedDomain;\n }\n } catch (e) {\n // Unparseable iframe src\n allowed = false;\n }\n if (!allowed) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'srcset') {\n try {\n let parsed = parseSrcset(value);\n parsed.forEach(function(value) {\n if (naughtyHref('srcset', value.url)) {\n value.evil = true;\n }\n });\n parsed = filter(parsed, function(v) {\n return !v.evil;\n });\n if (!parsed.length) {\n delete frame.attribs[a];\n return;\n } else {\n value = stringifySrcset(filter(parsed, function(v) {\n return !v.evil;\n }));\n frame.attribs[a] = value;\n }\n } catch (e) {\n // Unparseable srcset\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'class') {\n const allowedSpecificClasses = allowedClassesMap[name];\n const allowedWildcardClasses = allowedClassesMap['*'];\n const allowedSpecificClassesGlob = allowedClassesGlobMap[name];\n const allowedSpecificClassesRegex = allowedClassesRegexMap[name];\n const allowedWildcardClassesGlob = allowedClassesGlobMap['*'];\n const allowedClassesGlobs = [\n allowedSpecificClassesGlob,\n allowedWildcardClassesGlob\n ]\n .concat(allowedSpecificClassesRegex)\n .filter(function (t) {\n return t;\n });\n if (allowedSpecificClasses && allowedWildcardClasses) {\n value = filterClasses(value, deepmerge(allowedSpecificClasses, allowedWildcardClasses), allowedClassesGlobs);\n } else {\n value = filterClasses(value, allowedSpecificClasses || allowedWildcardClasses, allowedClassesGlobs);\n }\n if (!value.length) {\n delete frame.attribs[a];\n return;\n }\n }\n if (a === 'style') {\n if (options.parseStyleAttributes) {\n try {\n const abstractSyntaxTree = postcssParse(name + ' {' + value + '}', { map: false });\n const filteredAST = filterCss(abstractSyntaxTree, options.allowedStyles);\n\n value = stringifyStyleAttributes(filteredAST);\n\n if (value.length === 0) {\n delete frame.attribs[a];\n return;\n }\n } catch (e) {\n if (typeof window !== 'undefined') {\n console.warn('Failed to parse \"' + name + ' {' + value + '}' + '\", If you\\'re running this in a browser, we recommend to disable style parsing: options.parseStyleAttributes: false, since this only works in a node environment due to a postcss dependency, More info: https://github.com/apostrophecms/sanitize-html/issues/547');\n }\n delete frame.attribs[a];\n return;\n }\n } else if (options.allowedStyles) {\n throw new Error('allowedStyles option cannot be used together with parseStyleAttributes: false.');\n }\n }\n result += ' ' + a;\n if (value && value.length) {\n result += '=\"' + escapeHtml(value, true) + '\"';\n } else if (options.allowedEmptyAttributes.includes(a)) {\n result += '=\"\"';\n }\n } else {\n delete frame.attribs[a];\n }\n });\n }\n if (options.selfClosing.indexOf(name) !== -1) {\n result += ' />';\n } else {\n result += '>';\n if (frame.innerText && !hasText && !options.textFilter) {\n result += escapeHtml(frame.innerText);\n addedText = true;\n }\n }\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n },\n ontext: function(text) {\n if (skipText) {\n return;\n }\n const lastFrame = stack[stack.length - 1];\n let tag;\n\n if (lastFrame) {\n tag = lastFrame.tag;\n // If inner text was set by transform function then let's use it\n text = lastFrame.innerText !== undefined ? lastFrame.innerText : text;\n }\n\n if (options.disallowedTagsMode === 'completelyDiscard' && !tagAllowed(tag)) {\n text = '';\n } else if ((options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') && ((tag === 'script') || (tag === 'style'))) {\n // htmlparser2 gives us these as-is. Escaping them ruins the content. Allowing\n // script tags is, by definition, game over for XSS protection, so if that's\n // your concern, don't allow them. The same is essentially true for style tags\n // which have their own collection of XSS vectors.\n result += text;\n } else {\n const escaped = escapeHtml(text, false);\n if (options.textFilter && !addedText) {\n result += options.textFilter(escaped, tag);\n } else if (!addedText) {\n result += escaped;\n }\n }\n if (stack.length) {\n const frame = stack[stack.length - 1];\n frame.text += text;\n }\n },\n onclosetag: function(name, isImplied) {\n\n if (skipText) {\n skipTextDepth--;\n if (!skipTextDepth) {\n skipText = false;\n } else {\n return;\n }\n }\n\n const frame = stack.pop();\n if (!frame) {\n // Do not crash on bad markup\n return;\n }\n\n if (frame.tag !== name) {\n // Another case of bad markup.\n // Push to stack, so that it will be used in future closing tags.\n stack.push(frame);\n return;\n }\n\n skipText = options.enforceHtmlBoundary ? name === 'html' : false;\n depth--;\n const skip = skipMap[depth];\n if (skip) {\n delete skipMap[depth];\n if (options.disallowedTagsMode === 'discard' || options.disallowedTagsMode === 'completelyDiscard') {\n frame.updateParentNodeText();\n return;\n }\n tempResult = result;\n result = '';\n }\n\n if (transformMap[depth]) {\n name = transformMap[depth];\n delete transformMap[depth];\n }\n\n if (options.exclusiveFilter && options.exclusiveFilter(frame)) {\n result = result.substr(0, frame.tagPosition);\n return;\n }\n\n frame.updateParentNodeMediaChildren();\n frame.updateParentNodeText();\n\n if (\n // Already output />\n options.selfClosing.indexOf(name) !== -1 ||\n // Escaped tag, closing tag is implied\n (isImplied && !tagAllowed(name) && [ 'escape', 'recursiveEscape' ].indexOf(options.disallowedTagsMode) >= 0)\n ) {\n if (skip) {\n result = tempResult;\n tempResult = '';\n }\n return;\n }\n\n result += '';\n if (skip) {\n result = tempResult + escapeHtml(result);\n tempResult = '';\n }\n addedText = false;\n }\n }, options.parser);\n parser.write(html);\n parser.end();\n\n return result;\n\n function initializeState() {\n result = '';\n depth = 0;\n stack = [];\n skipMap = {};\n transformMap = {};\n skipText = false;\n skipTextDepth = 0;\n }\n\n function escapeHtml(s, quote) {\n if (typeof (s) !== 'string') {\n s = s + '';\n }\n if (options.parser.decodeEntities) {\n s = s.replace(/&/g, '&').replace(//g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n }\n // TODO: this is inadequate because it will pass `&0;`. This approach\n // will not work, each & must be considered with regard to whether it\n // is followed by a 100% syntactically valid entity or not, and escaped\n // if it is not. If this bothers you, don't set parser.decodeEntities\n // to false. (The default is true.)\n s = s.replace(/&(?![a-zA-Z0-9#]{1,20};)/g, '&') // Match ampersands not part of existing HTML entity\n .replace(//g, '>');\n if (quote) {\n s = s.replace(/\"/g, '"');\n }\n return s;\n }\n\n function naughtyHref(name, href) {\n // Browsers ignore character codes of 32 (space) and below in a surprising\n // number of situations. Start reading here:\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#Embedded_tab\n // eslint-disable-next-line no-control-regex\n href = href.replace(/[\\x00-\\x20]+/g, '');\n // Clobber any comments in URLs, which the browser might\n // interpret inside an XML data island, allowing\n // a javascript: URL to be snuck through\n while (true) {\n const firstIndex = href.indexOf('', firstIndex + 4);\n if (lastIndex === -1) {\n break;\n }\n href = href.substring(0, firstIndex) + href.substring(lastIndex + 3);\n }\n // Case insensitive so we don't get faked out by JAVASCRIPT #1\n // Allow more characters after the first so we don't get faked\n // out by certain schemes browsers accept\n const matches = href.match(/^([a-zA-Z][a-zA-Z0-9.\\-+]*):/);\n if (!matches) {\n // Protocol-relative URL starting with any combination of '/' and '\\'\n if (href.match(/^[/\\\\]{2}/)) {\n return !options.allowProtocolRelative;\n }\n\n // No scheme\n return false;\n }\n const scheme = matches[1].toLowerCase();\n\n if (has(options.allowedSchemesByTag, name)) {\n return options.allowedSchemesByTag[name].indexOf(scheme) === -1;\n }\n\n return !options.allowedSchemes || options.allowedSchemes.indexOf(scheme) === -1;\n }\n\n function parseUrl(value) {\n value = value.replace(/^(\\w+:)?\\s*[\\\\/]\\s*[\\\\/]/, '$1//');\n if (value.startsWith('relative:')) {\n // An attempt to exploit our workaround for base URLs being\n // mandatory for relative URL validation in the WHATWG\n // URL parser, reject it\n throw new Error('relative: exploit attempt');\n }\n // naughtyHref is in charge of whether protocol relative URLs\n // are cool. Here we are concerned just with allowed hostnames and\n // whether to allow relative URLs.\n //\n // Build a placeholder \"base URL\" against which any reasonable\n // relative URL may be parsed successfully\n let base = 'relative://relative-site';\n for (let i = 0; (i < 100); i++) {\n base += `/${i}`;\n }\n\n const parsed = new URL(value, base);\n\n const isRelativeUrl = parsed && parsed.hostname === 'relative-site' && parsed.protocol === 'relative:';\n return {\n isRelativeUrl,\n url: parsed\n };\n }\n /**\n * Filters user input css properties by allowlisted regex attributes.\n * Modifies the abstractSyntaxTree object.\n *\n * @param {object} abstractSyntaxTree - Object representation of CSS attributes.\n * @property {array[Declaration]} abstractSyntaxTree.nodes[0] - Each object cointains prop and value key, i.e { prop: 'color', value: 'red' }.\n * @param {object} allowedStyles - Keys are properties (i.e color), value is list of permitted regex rules (i.e /green/i).\n * @return {object} - The modified tree.\n */\n function filterCss(abstractSyntaxTree, allowedStyles) {\n if (!allowedStyles) {\n return abstractSyntaxTree;\n }\n\n const astRules = abstractSyntaxTree.nodes[0];\n let selectedRule;\n\n // Merge global and tag-specific styles into new AST.\n if (allowedStyles[astRules.selector] && allowedStyles['*']) {\n selectedRule = deepmerge(\n allowedStyles[astRules.selector],\n allowedStyles['*']\n );\n } else {\n selectedRule = allowedStyles[astRules.selector] || allowedStyles['*'];\n }\n\n if (selectedRule) {\n abstractSyntaxTree.nodes[0].nodes = astRules.nodes.reduce(filterDeclarations(selectedRule), []);\n }\n\n return abstractSyntaxTree;\n }\n\n /**\n * Extracts the style attributes from an AbstractSyntaxTree and formats those\n * values in the inline style attribute format.\n *\n * @param {AbstractSyntaxTree} filteredAST\n * @return {string} - Example: \"color:yellow;text-align:center !important;font-family:helvetica;\"\n */\n function stringifyStyleAttributes(filteredAST) {\n return filteredAST.nodes[0].nodes\n .reduce(function(extractedAttributes, attrObject) {\n extractedAttributes.push(\n `${attrObject.prop}:${attrObject.value}${attrObject.important ? ' !important' : ''}`\n );\n return extractedAttributes;\n }, [])\n .join(';');\n }\n\n /**\n * Filters the existing attributes for the given property. Discards any attributes\n * which don't match the allowlist.\n *\n * @param {object} selectedRule - Example: { color: red, font-family: helvetica }\n * @param {array} allowedDeclarationsList - List of declarations which pass the allowlist.\n * @param {object} attributeObject - Object representing the current css property.\n * @property {string} attributeObject.type - Typically 'declaration'.\n * @property {string} attributeObject.prop - The CSS property, i.e 'color'.\n * @property {string} attributeObject.value - The corresponding value to the css property, i.e 'red'.\n * @return {function} - When used in Array.reduce, will return an array of Declaration objects\n */\n function filterDeclarations(selectedRule) {\n return function (allowedDeclarationsList, attributeObject) {\n // If this property is allowlisted...\n if (has(selectedRule, attributeObject.prop)) {\n const matchesRegex = selectedRule[attributeObject.prop].some(function(regularExpression) {\n return regularExpression.test(attributeObject.value);\n });\n\n if (matchesRegex) {\n allowedDeclarationsList.push(attributeObject);\n }\n }\n return allowedDeclarationsList;\n };\n }\n\n function filterClasses(classes, allowed, allowedGlobs) {\n if (!allowed) {\n // The class attribute is allowed without filtering on this tag\n return classes;\n }\n classes = classes.split(/\\s+/);\n return classes.filter(function(clss) {\n return allowed.indexOf(clss) !== -1 || allowedGlobs.some(function(glob) {\n return glob.test(clss);\n });\n }).join(' ');\n }\n}\n\n// Defaults are accessible to you so that you can use them as a starting point\n// programmatically if you wish\n\nconst htmlParserDefaults = {\n decodeEntities: true\n};\nsanitizeHtml.defaults = {\n allowedTags: [\n // Sections derived from MDN element categories and limited to the more\n // benign categories.\n // https://developer.mozilla.org/en-US/docs/Web/HTML/Element\n // Content sectioning\n 'address', 'article', 'aside', 'footer', 'header',\n 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'hgroup',\n 'main', 'nav', 'section',\n // Text content\n 'blockquote', 'dd', 'div', 'dl', 'dt', 'figcaption', 'figure',\n 'hr', 'li', 'main', 'ol', 'p', 'pre', 'ul',\n // Inline text semantics\n 'a', 'abbr', 'b', 'bdi', 'bdo', 'br', 'cite', 'code', 'data', 'dfn',\n 'em', 'i', 'kbd', 'mark', 'q',\n 'rb', 'rp', 'rt', 'rtc', 'ruby',\n 's', 'samp', 'small', 'span', 'strong', 'sub', 'sup', 'time', 'u', 'var', 'wbr',\n // Table content\n 'caption', 'col', 'colgroup', 'table', 'tbody', 'td', 'tfoot', 'th',\n 'thead', 'tr'\n ],\n // Tags that cannot be boolean\n nonBooleanAttributes: [\n 'abbr', 'accept', 'accept-charset', 'accesskey', 'action',\n 'allow', 'alt', 'as', 'autocapitalize', 'autocomplete',\n 'blocking', 'charset', 'cite', 'class', 'color', 'cols',\n 'colspan', 'content', 'contenteditable', 'coords', 'crossorigin',\n 'data', 'datetime', 'decoding', 'dir', 'dirname', 'download',\n 'draggable', 'enctype', 'enterkeyhint', 'fetchpriority', 'for',\n 'form', 'formaction', 'formenctype', 'formmethod', 'formtarget',\n 'headers', 'height', 'hidden', 'high', 'href', 'hreflang',\n 'http-equiv', 'id', 'imagesizes', 'imagesrcset', 'inputmode',\n 'integrity', 'is', 'itemid', 'itemprop', 'itemref', 'itemtype',\n 'kind', 'label', 'lang', 'list', 'loading', 'low', 'max',\n 'maxlength', 'media', 'method', 'min', 'minlength', 'name',\n 'nonce', 'optimum', 'pattern', 'ping', 'placeholder', 'popover',\n 'popovertarget', 'popovertargetaction', 'poster', 'preload',\n 'referrerpolicy', 'rel', 'rows', 'rowspan', 'sandbox', 'scope',\n 'shape', 'size', 'sizes', 'slot', 'span', 'spellcheck', 'src',\n 'srcdoc', 'srclang', 'srcset', 'start', 'step', 'style',\n 'tabindex', 'target', 'title', 'translate', 'type', 'usemap',\n 'value', 'width', 'wrap',\n // Event handlers\n 'onauxclick', 'onafterprint', 'onbeforematch', 'onbeforeprint',\n 'onbeforeunload', 'onbeforetoggle', 'onblur', 'oncancel',\n 'oncanplay', 'oncanplaythrough', 'onchange', 'onclick', 'onclose',\n 'oncontextlost', 'oncontextmenu', 'oncontextrestored', 'oncopy',\n 'oncuechange', 'oncut', 'ondblclick', 'ondrag', 'ondragend',\n 'ondragenter', 'ondragleave', 'ondragover', 'ondragstart',\n 'ondrop', 'ondurationchange', 'onemptied', 'onended',\n 'onerror', 'onfocus', 'onformdata', 'onhashchange', 'oninput',\n 'oninvalid', 'onkeydown', 'onkeypress', 'onkeyup',\n 'onlanguagechange', 'onload', 'onloadeddata', 'onloadedmetadata',\n 'onloadstart', 'onmessage', 'onmessageerror', 'onmousedown',\n 'onmouseenter', 'onmouseleave', 'onmousemove', 'onmouseout',\n 'onmouseover', 'onmouseup', 'onoffline', 'ononline', 'onpagehide',\n 'onpageshow', 'onpaste', 'onpause', 'onplay', 'onplaying',\n 'onpopstate', 'onprogress', 'onratechange', 'onreset', 'onresize',\n 'onrejectionhandled', 'onscroll', 'onscrollend',\n 'onsecuritypolicyviolation', 'onseeked', 'onseeking', 'onselect',\n 'onslotchange', 'onstalled', 'onstorage', 'onsubmit', 'onsuspend',\n 'ontimeupdate', 'ontoggle', 'onunhandledrejection', 'onunload',\n 'onvolumechange', 'onwaiting', 'onwheel'\n ],\n disallowedTagsMode: 'discard',\n allowedAttributes: {\n a: [ 'href', 'name', 'target' ],\n // We don't currently allow img itself by default, but\n // these attributes would make sense if we did.\n img: [ 'src', 'srcset', 'alt', 'title', 'width', 'height', 'loading' ]\n },\n allowedEmptyAttributes: [\n 'alt'\n ],\n // Lots of these won't come up by default because we don't allow them\n selfClosing: [ 'img', 'br', 'hr', 'area', 'base', 'basefont', 'input', 'link', 'meta' ],\n // URL schemes we permit\n allowedSchemes: [ 'http', 'https', 'ftp', 'mailto', 'tel' ],\n allowedSchemesByTag: {},\n allowedSchemesAppliedToAttributes: [ 'href', 'src', 'cite' ],\n allowProtocolRelative: true,\n enforceHtmlBoundary: false,\n parseStyleAttributes: true\n};\n\nsanitizeHtml.simpleTransform = function(newTagName, newAttribs, merge) {\n merge = (merge === undefined) ? true : merge;\n newAttribs = newAttribs || {};\n\n return function(tagName, attribs) {\n let attrib;\n if (merge) {\n for (attrib in newAttribs) {\n attribs[attrib] = newAttribs[attrib];\n }\n } else {\n attribs = newAttribs;\n }\n\n return {\n tagName: newTagName,\n attribs: attribs\n };\n };\n};\n","'use strict';\n\nmodule.exports = string => {\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError('Expected a string');\n\t}\n\n\t// Escape characters with special meaning either inside or outside character sets.\n\t// Use a simple backslash escape when it’s always valid, and a \\unnnn escape when the simpler form would be disallowed by Unicode patterns’ stricter grammar.\n\treturn string\n\t\t.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&')\n\t\t.replace(/-/g, '\\\\x2d');\n};\n","/** @license React v0.13.6\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';Object.defineProperty(exports,\"__esModule\",{value:!0});var d=null,e=!1,g=3,k=-1,l=-1,m=!1,n=!1;function p(){if(!m){var a=d.expirationTime;n?q():n=!0;r(t,a)}}\nfunction u(){var a=d,b=d.next;if(d===b)d=null;else{var c=d.previous;d=c.next=b;b.previous=c}a.next=a.previous=null;c=a.callback;b=a.expirationTime;a=a.priorityLevel;var f=g,Q=l;g=a;l=b;try{var h=c()}finally{g=f,l=Q}if(\"function\"===typeof h)if(h={callback:h,priorityLevel:a,expirationTime:b,next:null,previous:null},null===d)d=h.next=h.previous=h;else{c=null;a=d;do{if(a.expirationTime>=b){c=a;break}a=a.next}while(a!==d);null===c?c=d:c===d&&(d=h,p());b=c.previous;b.next=c.previous=h;h.next=c;h.previous=\nb}}function v(){if(-1===k&&null!==d&&1===d.priorityLevel){m=!0;try{do u();while(null!==d&&1===d.priorityLevel)}finally{m=!1,null!==d?p():n=!1}}}function t(a){m=!0;var b=e;e=a;try{if(a)for(;null!==d;){var c=exports.unstable_now();if(d.expirationTime<=c){do u();while(null!==d&&d.expirationTime<=c)}else break}else if(null!==d){do u();while(null!==d&&!w())}}finally{m=!1,e=b,null!==d?p():n=!1,v()}}\nvar x=Date,y=\"function\"===typeof setTimeout?setTimeout:void 0,z=\"function\"===typeof clearTimeout?clearTimeout:void 0,A=\"function\"===typeof requestAnimationFrame?requestAnimationFrame:void 0,B=\"function\"===typeof cancelAnimationFrame?cancelAnimationFrame:void 0,C,D;function E(a){C=A(function(b){z(D);a(b)});D=y(function(){B(C);a(exports.unstable_now())},100)}\nif(\"object\"===typeof performance&&\"function\"===typeof performance.now){var F=performance;exports.unstable_now=function(){return F.now()}}else exports.unstable_now=function(){return x.now()};var r,q,w,G=null;\"undefined\"!==typeof window?G=window:\"undefined\"!==typeof global&&(G=global);\nif(G&&G._schedMock){var H=G._schedMock;r=H[0];q=H[1];w=H[2];exports.unstable_now=H[3]}else if(\"undefined\"===typeof window||\"function\"!==typeof MessageChannel){var I=null,J=function(a){if(null!==I)try{I(a)}finally{I=null}};r=function(a){null!==I?setTimeout(r,0,a):(I=a,setTimeout(J,0,!1))};q=function(){I=null};w=function(){return!1}}else{\"undefined\"!==typeof console&&(\"function\"!==typeof A&&console.error(\"This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"),\n\"function\"!==typeof B&&console.error(\"This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills\"));var K=null,L=!1,M=-1,N=!1,O=!1,P=0,R=33,S=33;w=function(){return P<=exports.unstable_now()};var T=new MessageChannel,U=T.port2;T.port1.onmessage=function(){L=!1;var a=K,b=M;K=null;M=-1;var c=exports.unstable_now(),f=!1;if(0>=P-c)if(-1!==b&&b<=c)f=!0;else{N||(N=!0,E(V));K=a;M=b;return}if(null!==a){O=!0;try{a(f)}finally{O=!1}}};\nvar V=function(a){if(null!==K){E(V);var b=a-P+S;bb&&(b=8),S=bb?U.postMessage(void 0):N||(N=!0,E(V))};q=function(){K=null;L=!1;M=-1}}exports.unstable_ImmediatePriority=1;exports.unstable_UserBlockingPriority=2;exports.unstable_NormalPriority=3;exports.unstable_IdlePriority=5;exports.unstable_LowPriority=4;\nexports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=g,f=k;g=a;k=exports.unstable_now();try{return b()}finally{g=c,k=f,v()}};exports.unstable_next=function(a){switch(g){case 1:case 2:case 3:var b=3;break;default:b=g}var c=g,f=k;g=b;k=exports.unstable_now();try{return a()}finally{g=c,k=f,v()}};\nexports.unstable_scheduleCallback=function(a,b){var c=-1!==k?k:exports.unstable_now();if(\"object\"===typeof b&&null!==b&&\"number\"===typeof b.timeout)b=c+b.timeout;else switch(g){case 1:b=c+-1;break;case 2:b=c+250;break;case 5:b=c+1073741823;break;case 4:b=c+1E4;break;default:b=c+5E3}a={callback:a,priorityLevel:g,expirationTime:b,next:null,previous:null};if(null===d)d=a.next=a.previous=a,p();else{c=null;var f=d;do{if(f.expirationTime>b){c=f;break}f=f.next}while(f!==d);null===c?c=d:c===d&&(d=a,p());\nb=c.previous;b.next=c.previous=a;a.next=c;a.previous=b}return a};exports.unstable_cancelCallback=function(a){var b=a.next;if(null!==b){if(b===a)d=null;else{a===d&&(d=b);var c=a.previous;c.next=b;b.previous=c}a.next=a.previous=null}};exports.unstable_wrapCallback=function(a){var b=g;return function(){var c=g,f=k;g=b;k=exports.unstable_now();try{return a.apply(this,arguments)}finally{g=c,k=f,v()}}};exports.unstable_getCurrentPriorityLevel=function(){return g};\nexports.unstable_shouldYield=function(){return!e&&(null!==d&&d.expirationTimet.length)&&(e=t.length);for(var r=0,n=new Array(e);r=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(t){throw t},f:r}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var n,o,a=!0,i=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return a=t.done,t},e:function(t){i=!0,o=t},f:function(){try{a||null==n.return||n.return()}finally{if(i)throw o}}}}var d=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};function r(t,e,r){s(e);var n,o=f(function t(e,r){if(!r.length)return;var n=b(r),o=n[0],a=n.slice(1);if(\"function\"==typeof o){var i=[];if(Array.isArray(e))for(var u=0,c=e.length;u= 2) {\n rest = rest.slice(2);\n }\n } else if (isSpecial(protocol)) {\n rest = match[4];\n } else if (protocol) {\n if (forwardSlashes) {\n rest = rest.slice(2);\n }\n } else if (slashesCount >= 2 && isSpecial(location.protocol)) {\n rest = match[4];\n }\n\n return {\n protocol: protocol,\n slashes: forwardSlashes || isSpecial(protocol),\n slashesCount: slashesCount,\n rest: rest\n };\n}\n\n/**\n * Resolve a relative URL pathname against a base URL pathname.\n *\n * @param {String} relative Pathname of the relative URL.\n * @param {String} base Pathname of the base URL.\n * @return {String} Resolved pathname.\n * @private\n */\nfunction resolve(relative, base) {\n if (relative === '') return base;\n\n var path = (base || '/').split('/').slice(0, -1).concat(relative.split('/'))\n , i = path.length\n , last = path[i - 1]\n , unshift = false\n , up = 0;\n\n while (i--) {\n if (path[i] === '.') {\n path.splice(i, 1);\n } else if (path[i] === '..') {\n path.splice(i, 1);\n up++;\n } else if (up) {\n if (i === 0) unshift = true;\n path.splice(i, 1);\n up--;\n }\n }\n\n if (unshift) path.unshift('');\n if (last === '.' || last === '..') path.push('');\n\n return path.join('/');\n}\n\n/**\n * The actual URL instance. Instead of returning an object we've opted-in to\n * create an actual constructor as it's much more memory efficient and\n * faster and it pleases my OCD.\n *\n * It is worth noting that we should not use `URL` as class name to prevent\n * clashes with the global URL instance that got introduced in browsers.\n *\n * @constructor\n * @param {String} address URL we want to parse.\n * @param {Object|String} [location] Location defaults for relative paths.\n * @param {Boolean|Function} [parser] Parser for the query string.\n * @private\n */\nfunction Url(address, location, parser) {\n address = trimLeft(address);\n address = address.replace(CRHTLF, '');\n\n if (!(this instanceof Url)) {\n return new Url(address, location, parser);\n }\n\n var relative, extracted, parse, instruction, index, key\n , instructions = rules.slice()\n , type = typeof location\n , url = this\n , i = 0;\n\n //\n // The following if statements allows this module two have compatibility with\n // 2 different API:\n //\n // 1. Node.js's `url.parse` api which accepts a URL, boolean as arguments\n // where the boolean indicates that the query string should also be parsed.\n //\n // 2. The `URL` interface of the browser which accepts a URL, object as\n // arguments. The supplied object will be used as default values / fall-back\n // for relative paths.\n //\n if ('object' !== type && 'string' !== type) {\n parser = location;\n location = null;\n }\n\n if (parser && 'function' !== typeof parser) parser = qs.parse;\n\n location = lolcation(location);\n\n //\n // Extract protocol information before running the instructions.\n //\n extracted = extractProtocol(address || '', location);\n relative = !extracted.protocol && !extracted.slashes;\n url.slashes = extracted.slashes || relative && location.slashes;\n url.protocol = extracted.protocol || location.protocol || '';\n address = extracted.rest;\n\n //\n // When the authority component is absent the URL starts with a path\n // component.\n //\n if (\n extracted.protocol === 'file:' && (\n extracted.slashesCount !== 2 || windowsDriveLetter.test(address)) ||\n (!extracted.slashes &&\n (extracted.protocol ||\n extracted.slashesCount < 2 ||\n !isSpecial(url.protocol)))\n ) {\n instructions[3] = [/(.*)/, 'pathname'];\n }\n\n for (; i < instructions.length; i++) {\n instruction = instructions[i];\n\n if (typeof instruction === 'function') {\n address = instruction(address, url);\n continue;\n }\n\n parse = instruction[0];\n key = instruction[1];\n\n if (parse !== parse) {\n url[key] = address;\n } else if ('string' === typeof parse) {\n index = parse === '@'\n ? address.lastIndexOf(parse)\n : address.indexOf(parse);\n\n if (~index) {\n if ('number' === typeof instruction[2]) {\n url[key] = address.slice(0, index);\n address = address.slice(index + instruction[2]);\n } else {\n url[key] = address.slice(index);\n address = address.slice(0, index);\n }\n }\n } else if ((index = parse.exec(address))) {\n url[key] = index[1];\n address = address.slice(0, index.index);\n }\n\n url[key] = url[key] || (\n relative && instruction[3] ? location[key] || '' : ''\n );\n\n //\n // Hostname, host and protocol should be lowercased so they can be used to\n // create a proper `origin`.\n //\n if (instruction[4]) url[key] = url[key].toLowerCase();\n }\n\n //\n // Also parse the supplied query string in to an object. If we're supplied\n // with a custom parser as function use that instead of the default build-in\n // parser.\n //\n if (parser) url.query = parser(url.query);\n\n //\n // If the URL is relative, resolve the pathname against the base URL.\n //\n if (\n relative\n && location.slashes\n && url.pathname.charAt(0) !== '/'\n && (url.pathname !== '' || location.pathname !== '')\n ) {\n url.pathname = resolve(url.pathname, location.pathname);\n }\n\n //\n // Default to a / for pathname if none exists. This normalizes the URL\n // to always have a /\n //\n if (url.pathname.charAt(0) !== '/' && isSpecial(url.protocol)) {\n url.pathname = '/' + url.pathname;\n }\n\n //\n // We should not add port numbers if they are already the default port number\n // for a given protocol. As the host also contains the port number we're going\n // override it with the hostname which contains no port number.\n //\n if (!required(url.port, url.protocol)) {\n url.host = url.hostname;\n url.port = '';\n }\n\n //\n // Parse down the `auth` for the username and password.\n //\n url.username = url.password = '';\n\n if (url.auth) {\n index = url.auth.indexOf(':');\n\n if (~index) {\n url.username = url.auth.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = url.auth.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password))\n } else {\n url.username = encodeURIComponent(decodeURIComponent(url.auth));\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n }\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n //\n // The href is just the compiled result.\n //\n url.href = url.toString();\n}\n\n/**\n * This is convenience method for changing properties in the URL instance to\n * insure that they all propagate correctly.\n *\n * @param {String} part Property we need to adjust.\n * @param {Mixed} value The newly assigned value.\n * @param {Boolean|Function} fn When setting the query, it will be the function\n * used to parse the query.\n * When setting the protocol, double slash will be\n * removed from the final url if it is true.\n * @returns {URL} URL instance for chaining.\n * @public\n */\nfunction set(part, value, fn) {\n var url = this;\n\n switch (part) {\n case 'query':\n if ('string' === typeof value && value.length) {\n value = (fn || qs.parse)(value);\n }\n\n url[part] = value;\n break;\n\n case 'port':\n url[part] = value;\n\n if (!required(value, url.protocol)) {\n url.host = url.hostname;\n url[part] = '';\n } else if (value) {\n url.host = url.hostname +':'+ value;\n }\n\n break;\n\n case 'hostname':\n url[part] = value;\n\n if (url.port) value += ':'+ url.port;\n url.host = value;\n break;\n\n case 'host':\n url[part] = value;\n\n if (port.test(value)) {\n value = value.split(':');\n url.port = value.pop();\n url.hostname = value.join(':');\n } else {\n url.hostname = value;\n url.port = '';\n }\n\n break;\n\n case 'protocol':\n url.protocol = value.toLowerCase();\n url.slashes = !fn;\n break;\n\n case 'pathname':\n case 'hash':\n if (value) {\n var char = part === 'pathname' ? '/' : '#';\n url[part] = value.charAt(0) !== char ? char + value : value;\n } else {\n url[part] = value;\n }\n break;\n\n case 'username':\n case 'password':\n url[part] = encodeURIComponent(value);\n break;\n\n case 'auth':\n var index = value.indexOf(':');\n\n if (~index) {\n url.username = value.slice(0, index);\n url.username = encodeURIComponent(decodeURIComponent(url.username));\n\n url.password = value.slice(index + 1);\n url.password = encodeURIComponent(decodeURIComponent(url.password));\n } else {\n url.username = encodeURIComponent(decodeURIComponent(value));\n }\n }\n\n for (var i = 0; i < rules.length; i++) {\n var ins = rules[i];\n\n if (ins[4]) url[ins[1]] = url[ins[1]].toLowerCase();\n }\n\n url.auth = url.password ? url.username +':'+ url.password : url.username;\n\n url.origin = url.protocol !== 'file:' && isSpecial(url.protocol) && url.host\n ? url.protocol +'//'+ url.host\n : 'null';\n\n url.href = url.toString();\n\n return url;\n}\n\n/**\n * Transform the properties back in to a valid and full URL string.\n *\n * @param {Function} stringify Optional query stringify function.\n * @returns {String} Compiled version of the URL.\n * @public\n */\nfunction toString(stringify) {\n if (!stringify || 'function' !== typeof stringify) stringify = qs.stringify;\n\n var query\n , url = this\n , host = url.host\n , protocol = url.protocol;\n\n if (protocol && protocol.charAt(protocol.length - 1) !== ':') protocol += ':';\n\n var result =\n protocol +\n ((url.protocol && url.slashes) || isSpecial(url.protocol) ? '//' : '');\n\n if (url.username) {\n result += url.username;\n if (url.password) result += ':'+ url.password;\n result += '@';\n } else if (url.password) {\n result += ':'+ url.password;\n result += '@';\n } else if (\n url.protocol !== 'file:' &&\n isSpecial(url.protocol) &&\n !host &&\n url.pathname !== '/'\n ) {\n //\n // Add back the empty userinfo, otherwise the original invalid URL\n // might be transformed into a valid one with `url.pathname` as host.\n //\n result += '@';\n }\n\n //\n // Trailing colon is removed from `url.host` when it is parsed. If it still\n // ends with a colon, then add back the trailing colon that was removed. This\n // prevents an invalid URL from being transformed into a valid one.\n //\n if (host[host.length - 1] === ':' || (port.test(url.hostname) && !url.port)) {\n host += ':';\n }\n\n result += host + url.pathname;\n\n query = 'object' === typeof url.query ? stringify(url.query) : url.query;\n if (query) result += '?' !== query.charAt(0) ? '?'+ query : query;\n\n if (url.hash) result += url.hash;\n\n return result;\n}\n\nUrl.prototype = { set: set, toString: toString };\n\n//\n// Expose the URL parser and some additional properties that might be useful for\n// others or testing.\n//\nUrl.extractProtocol = extractProtocol;\nUrl.location = lolcation;\nUrl.trimLeft = trimLeft;\nUrl.qs = qs;\n\nmodule.exports = Url;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _microsoftCognitiveservicesSpeech = require(\"microsoft-cognitiveservices-speech-sdk/distrib/lib/microsoft.cognitiveservices.speech.sdk\");\n\n// We are only importing what we need.\nvar _default = {\n AudioConfig: _microsoftCognitiveservicesSpeech.AudioConfig,\n OutputFormat: _microsoftCognitiveservicesSpeech.OutputFormat,\n ResultReason: _microsoftCognitiveservicesSpeech.ResultReason,\n SpeechConfig: _microsoftCognitiveservicesSpeech.SpeechConfig,\n SpeechRecognizer: _microsoftCognitiveservicesSpeech.SpeechRecognizer\n};\nexports.default = _default;\n//# sourceMappingURL=SpeechSDK.js.map","\"use strict\";\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"createSpeechRecognitionPonyfillFromRecognizer\", {\n enumerable: true,\n get: function get() {\n return _createSpeechRecognitionPonyfill.createSpeechRecognitionPonyfillFromRecognizer;\n }\n});\nexports.default = void 0;\n\nvar _createSpeechRecognitionPonyfill = _interopRequireWildcard(require(\"./SpeechToText/createSpeechRecognitionPonyfill\"));\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar _default = _createSpeechRecognitionPonyfill.default;\nexports.default = _default;\n//# sourceMappingURL=SpeechToText.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\n/* eslint class-methods-use-this: \"off\" */\nvar _default = /*#__PURE__*/function () {\n function _default() {\n (0, _classCallCheck2.default)(this, _default);\n this._phrases = [];\n }\n\n (0, _createClass2.default)(_default, [{\n key: \"addFromString\",\n value: function addFromString() {\n throw new Error('JSGF is not supported');\n }\n }, {\n key: \"phrases\",\n get: function get() {\n return this._phrases;\n },\n set: function set(value) {\n if (Array.isArray(value)) {\n this._phrases = value;\n } else if (typeof value === 'string') {\n this._phrases = [value];\n } else {\n throw new Error(\"The provided value is not an array or of type 'string'\");\n }\n }\n }]);\n return _default;\n}();\n\nexports.default = _default;\n//# sourceMappingURL=SpeechGrammarList.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _arrayToMap = _interopRequireDefault(require(\"../../Util/arrayToMap\"));\n\nvar _SpeechSDK = _interopRequireDefault(require(\"../SpeechSDK\"));\n\nvar _SpeechSDK$ResultReas = _SpeechSDK.default.ResultReason,\n RecognizingSpeech = _SpeechSDK$ResultReas.RecognizingSpeech,\n RecognizedSpeech = _SpeechSDK$ResultReas.RecognizedSpeech;\n\nfunction _default(result) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$maxAlternatives = _ref.maxAlternatives,\n maxAlternatives = _ref$maxAlternatives === void 0 ? Infinity : _ref$maxAlternatives,\n _ref$textNormalizatio = _ref.textNormalization,\n textNormalization = _ref$textNormalizatio === void 0 ? 'display' : _ref$textNormalizatio;\n\n if (result.reason === RecognizingSpeech || result.reason === RecognizedSpeech && !result.json.NBest) {\n var resultList = [{\n confidence: 0.5,\n transcript: result.text\n }];\n\n if (result.reason === RecognizedSpeech) {\n resultList.isFinal = true;\n }\n\n return resultList;\n } else if (result.reason === RecognizedSpeech) {\n var _resultList = (0, _arrayToMap.default)((result.json.NBest || []).slice(0, maxAlternatives).map(function (_ref2) {\n var confidence = _ref2.Confidence,\n display = _ref2.Display,\n itn = _ref2.ITN,\n lexical = _ref2.Lexical,\n maskedITN = _ref2.MaskedITN;\n return {\n confidence: confidence,\n transcript: textNormalization === 'itn' ? itn : textNormalization === 'lexical' ? lexical : textNormalization === 'maskeditn' ? maskedITN : display\n };\n }), {\n isFinal: true\n });\n\n return _resultList;\n }\n\n return [];\n}\n//# sourceMappingURL=cognitiveServiceEventResultToWebSpeechRecognitionResultList.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSpeechRecognitionPonyfillFromRecognizer = createSpeechRecognitionPonyfillFromRecognizer;\nexports.default = void 0;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _es = require(\"event-target-shim/es5\");\n\nvar _cognitiveServiceEventResultToWebSpeechRecognitionResultList = _interopRequireDefault(require(\"./cognitiveServiceEventResultToWebSpeechRecognitionResultList\"));\n\nvar _createPromiseQueue = _interopRequireDefault(require(\"../../Util/createPromiseQueue\"));\n\nvar _patchOptions2 = _interopRequireDefault(require(\"../patchOptions\"));\n\nvar _SpeechGrammarList = _interopRequireDefault(require(\"./SpeechGrammarList\"));\n\nvar _SpeechSDK = _interopRequireDefault(require(\"../SpeechSDK\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\n// https://docs.microsoft.com/en-us/javascript/api/microsoft-cognitiveservices-speech-sdk/speechconfig?view=azure-node-latest#outputformat\n// {\n// \"RecognitionStatus\": \"Success\",\n// \"Offset\": 900000,\n// \"Duration\": 49000000,\n// \"NBest\": [\n// {\n// \"Confidence\": 0.738919,\n// \"Lexical\": \"second\",\n// \"ITN\": \"second\",\n// \"MaskedITN\": \"second\",\n// \"Display\": \"Second.\"\n// }\n// ]\n// }\n// {\n// \"RecognitionStatus\": \"InitialSilenceTimeout\",\n// \"Offset\": 50000000,\n// \"Duration\": 0\n// }\nvar AudioConfig = _SpeechSDK.default.AudioConfig,\n OutputFormat = _SpeechSDK.default.OutputFormat,\n ResultReason = _SpeechSDK.default.ResultReason,\n SpeechConfig = _SpeechSDK.default.SpeechConfig,\n SpeechRecognizer = _SpeechSDK.default.SpeechRecognizer;\n\nfunction serializeRecognitionResult(_ref) {\n var duration = _ref.duration,\n errorDetails = _ref.errorDetails,\n json = _ref.json,\n offset = _ref.offset,\n properties = _ref.properties,\n reason = _ref.reason,\n resultId = _ref.resultId,\n text = _ref.text;\n return {\n duration: duration,\n errorDetails: errorDetails,\n json: JSON.parse(json),\n offset: offset,\n properties: properties,\n reason: reason,\n resultId: resultId,\n text: text\n };\n}\n\nfunction averageAmplitude(arrayBuffer) {\n var array = new Int16Array(arrayBuffer);\n return [].reduce.call(array, function (averageAmplitude, amplitude) {\n return averageAmplitude + Math.abs(amplitude);\n }, 0) / array.length;\n}\n\nfunction cognitiveServicesAsyncToPromise(fn) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return new Promise(function (resolve, reject) {\n return fn.apply(void 0, args.concat([resolve, reject]));\n });\n };\n}\n\nvar SpeechRecognitionEvent = /*#__PURE__*/function (_Event) {\n (0, _inherits2.default)(SpeechRecognitionEvent, _Event);\n\n var _super = _createSuper(SpeechRecognitionEvent);\n\n function SpeechRecognitionEvent(type) {\n var _this;\n\n var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n data = _ref2.data,\n emma = _ref2.emma,\n interpretation = _ref2.interpretation,\n resultIndex = _ref2.resultIndex,\n results = _ref2.results;\n\n (0, _classCallCheck2.default)(this, SpeechRecognitionEvent);\n _this = _super.call(this, type);\n _this.data = data;\n _this.emma = emma;\n _this.interpretation = interpretation;\n _this.resultIndex = resultIndex;\n _this.results = results;\n return _this;\n }\n\n return (0, _createClass2.default)(SpeechRecognitionEvent);\n}(_es.Event);\n\nfunction prepareAudioConfig(audioConfig) {\n var originalAttach = audioConfig.attach;\n var boundOriginalAttach = audioConfig.attach.bind(audioConfig);\n var firstChunk;\n var muted; // We modify \"attach\" function and detect when audible chunk is read.\n // We will only modify \"attach\" function once.\n\n audioConfig.attach = /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var reader;\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return boundOriginalAttach();\n\n case 2:\n reader = _context2.sent;\n return _context2.abrupt(\"return\", _objectSpread(_objectSpread({}, reader), {}, {\n read: function () {\n var _read = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n var chunk;\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n _context.next = 2;\n return reader.read();\n\n case 2:\n chunk = _context.sent;\n\n // The magic number 150 is measured by:\n // 1. Set microphone volume to 0\n // 2. Observe the amplitude (100-110) for the first few chunks\n // (There is a short static caught when turning on the microphone)\n // 3. Set the number a bit higher than the observation\n if (!firstChunk && averageAmplitude(chunk.buffer) > 150) {\n audioConfig.events.onEvent({\n name: 'FirstAudibleChunk'\n });\n firstChunk = true;\n }\n\n if (!muted) {\n _context.next = 6;\n break;\n }\n\n return _context.abrupt(\"return\", {\n buffer: new ArrayBuffer(0),\n isEnd: true,\n timeReceived: Date.now()\n });\n\n case 6:\n return _context.abrupt(\"return\", chunk);\n\n case 7:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n function read() {\n return _read.apply(this, arguments);\n }\n\n return read;\n }()\n }));\n\n case 4:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return {\n audioConfig: audioConfig,\n pause: function pause() {\n muted = true;\n },\n unprepare: function unprepare() {\n audioConfig.attach = originalAttach;\n }\n };\n}\n\nfunction createSpeechRecognitionPonyfillFromRecognizer(_ref4) {\n var createRecognizer = _ref4.createRecognizer,\n enableTelemetry = _ref4.enableTelemetry,\n looseEvents = _ref4.looseEvents,\n referenceGrammars = _ref4.referenceGrammars,\n textNormalization = _ref4.textNormalization;\n // If enableTelemetry is set to null or non-boolean, we will default to true.\n SpeechRecognizer.enableTelemetry(enableTelemetry !== false);\n\n var SpeechRecognition = /*#__PURE__*/function (_EventTarget) {\n (0, _inherits2.default)(SpeechRecognition, _EventTarget);\n\n var _super2 = _createSuper(SpeechRecognition);\n\n function SpeechRecognition() {\n var _this2;\n\n (0, _classCallCheck2.default)(this, SpeechRecognition);\n _this2 = _super2.call(this);\n _this2._continuous = false;\n _this2._interimResults = false;\n _this2._lang = typeof window !== 'undefined' ? window.document.documentElement.getAttribute('lang') || window.navigator.language : 'en-US';\n _this2._grammars = new _SpeechGrammarList.default();\n _this2._maxAlternatives = 1;\n return _this2;\n }\n\n (0, _createClass2.default)(SpeechRecognition, [{\n key: \"emitCognitiveServices\",\n value: function emitCognitiveServices(type, event) {\n this.dispatchEvent(new SpeechRecognitionEvent('cognitiveservices', {\n data: _objectSpread(_objectSpread({}, event), {}, {\n type: type\n })\n }));\n }\n }, {\n key: \"continuous\",\n get: function get() {\n return this._continuous;\n },\n set: function set(value) {\n this._continuous = value;\n }\n }, {\n key: \"grammars\",\n get: function get() {\n return this._grammars;\n },\n set: function set(value) {\n if (value instanceof _SpeechGrammarList.default) {\n this._grammars = value;\n } else {\n throw new Error(\"The provided value is not of type 'SpeechGrammarList'\");\n }\n }\n }, {\n key: \"interimResults\",\n get: function get() {\n return this._interimResults;\n },\n set: function set(value) {\n this._interimResults = value;\n }\n }, {\n key: \"maxAlternatives\",\n get: function get() {\n return this._maxAlternatives;\n },\n set: function set(value) {\n this._maxAlternatives = value;\n }\n }, {\n key: \"lang\",\n get: function get() {\n return this._lang;\n },\n set: function set(value) {\n this._lang = value;\n }\n }, {\n key: \"onaudioend\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'audioend');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'audioend', value);\n }\n }, {\n key: \"onaudiostart\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'audiostart');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'audiostart', value);\n }\n }, {\n key: \"oncognitiveservices\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'cognitiveservices');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'cognitiveservices', value);\n }\n }, {\n key: \"onend\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'end');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'end', value);\n }\n }, {\n key: \"onerror\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'error');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'error', value);\n }\n }, {\n key: \"onresult\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'result');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'result', value);\n }\n }, {\n key: \"onsoundend\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'soundend');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'soundend', value);\n }\n }, {\n key: \"onsoundstart\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'soundstart');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'soundstart', value);\n }\n }, {\n key: \"onspeechend\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'speechend');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'speechend', value);\n }\n }, {\n key: \"onspeechstart\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'speechstart');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'speechstart', value);\n }\n }, {\n key: \"onstart\",\n get: function get() {\n return (0, _es.getEventAttributeValue)(this, 'start');\n },\n set: function set(value) {\n (0, _es.setEventAttributeValue)(this, 'start', value);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this3 = this;\n\n this._startOnce().catch(function (err) {\n _this3.dispatchEvent(new ErrorEvent('error', {\n error: err,\n message: err && (err.stack || err.message)\n }));\n });\n }\n }, {\n key: \"_startOnce\",\n value: function () {\n var _startOnce2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() {\n var _this4 = this;\n\n var recognizer, _prepareAudioConfig, pause, unprepare, queue, soundStarted, speechStarted, stopping, _recognizer$audioConf, detachAudioConfigEvent, phrases, dynamicGrammar, audioStarted, finalEvent, finalizedResults, _loop, loop, _ret;\n\n return _regenerator.default.wrap(function _callee3$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n _context4.next = 2;\n return createRecognizer(this.lang);\n\n case 2:\n recognizer = _context4.sent;\n _prepareAudioConfig = prepareAudioConfig(recognizer.audioConfig), pause = _prepareAudioConfig.pause, unprepare = _prepareAudioConfig.unprepare;\n _context4.prev = 4;\n queue = (0, _createPromiseQueue.default)();\n _recognizer$audioConf = recognizer.audioConfig.events.attach(function (event) {\n var name = event.name;\n\n if (name === 'AudioSourceReadyEvent') {\n queue.push({\n audioSourceReady: {}\n });\n } else if (name === 'AudioSourceOffEvent') {\n queue.push({\n audioSourceOff: {}\n });\n } else if (name === 'FirstAudibleChunk') {\n queue.push({\n firstAudibleChunk: {}\n });\n }\n }), detachAudioConfigEvent = _recognizer$audioConf.detach;\n\n recognizer.canceled = function (_, _ref5) {\n var errorDetails = _ref5.errorDetails,\n offset = _ref5.offset,\n reason = _ref5.reason,\n sessionId = _ref5.sessionId;\n queue.push({\n canceled: {\n errorDetails: errorDetails,\n offset: offset,\n reason: reason,\n sessionId: sessionId\n }\n });\n };\n\n recognizer.recognized = function (_, _ref6) {\n var offset = _ref6.offset,\n result = _ref6.result,\n sessionId = _ref6.sessionId;\n queue.push({\n recognized: {\n offset: offset,\n result: serializeRecognitionResult(result),\n sessionId: sessionId\n }\n });\n };\n\n recognizer.recognizing = function (_, _ref7) {\n var offset = _ref7.offset,\n result = _ref7.result,\n sessionId = _ref7.sessionId;\n queue.push({\n recognizing: {\n offset: offset,\n result: serializeRecognitionResult(result),\n sessionId: sessionId\n }\n });\n };\n\n recognizer.sessionStarted = function (_, _ref8) {\n var sessionId = _ref8.sessionId;\n queue.push({\n sessionStarted: {\n sessionId: sessionId\n }\n });\n };\n\n recognizer.sessionStopped = function (_, _ref9) {\n var sessionId = _ref9.sessionId;\n // \"sessionStopped\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n queue.push({\n sessionStopped: {\n sessionId: sessionId\n }\n });\n };\n\n recognizer.speechStartDetected = function (_, _ref10) {\n var offset = _ref10.offset,\n sessionId = _ref10.sessionId;\n queue.push({\n speechStartDetected: {\n offset: offset,\n sessionId: sessionId\n }\n });\n };\n\n recognizer.speechEndDetected = function (_, _ref11) {\n var sessionId = _ref11.sessionId;\n // \"speechEndDetected\" is never fired, probably because we are using startContinuousRecognitionAsync instead of recognizeOnceAsync.\n // Update: \"speechEndDetected\" is fired for DLSpeech.listenOnceAsync()\n queue.push({\n speechEndDetected: {\n sessionId: sessionId\n }\n });\n };\n\n phrases = this.grammars.phrases; // HACK: We are using the internal of SpeechRecognizer because they did not expose it\n\n dynamicGrammar = recognizer.privReco.dynamicGrammar;\n referenceGrammars && referenceGrammars.length && dynamicGrammar.addReferenceGrammar(referenceGrammars);\n phrases && phrases.length && dynamicGrammar.addPhrase(phrases);\n _context4.next = 20;\n return cognitiveServicesAsyncToPromise(recognizer.startContinuousRecognitionAsync.bind(recognizer))();\n\n case 20:\n if (recognizer.stopContinuousRecognitionAsync) {\n this.abort = function () {\n return queue.push({\n abort: {}\n });\n };\n\n this.stop = function () {\n return queue.push({\n stop: {}\n });\n };\n } else {\n this.abort = this.stop = undefined;\n }\n\n finalizedResults = [];\n _loop = /*#__PURE__*/_regenerator.default.mark(function _loop(loop) {\n var event, abort, audioSourceOff, audioSourceReady, canceled, firstAudibleChunk, recognized, recognizing, stop, errorMessage, result, recognizable;\n return _regenerator.default.wrap(function _loop$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return queue.shift();\n\n case 2:\n event = _context3.sent;\n abort = event.abort, audioSourceOff = event.audioSourceOff, audioSourceReady = event.audioSourceReady, canceled = event.canceled, firstAudibleChunk = event.firstAudibleChunk, recognized = event.recognized, recognizing = event.recognizing, stop = event.stop; // We are emitting event \"cognitiveservices\" for debugging purpose.\n\n Object.keys(event).forEach(function (name) {\n return _this4.emitCognitiveServices(name, event[name]);\n });\n errorMessage = canceled && canceled.errorDetails;\n\n if (!/Permission[\\t-\\r \\xA0\\u1680\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000\\uFEFF]denied/.test(errorMessage || '')) {\n _context3.next = 9;\n break;\n }\n\n // If microphone is not allowed, we should not emit \"start\" event.\n finalEvent = {\n error: 'not-allowed',\n type: 'error'\n };\n return _context3.abrupt(\"return\", \"break\");\n\n case 9:\n if (!loop) {\n _this4.dispatchEvent(new SpeechRecognitionEvent('start'));\n }\n\n if (!errorMessage) {\n _context3.next = 15;\n break;\n }\n\n if (/1006/.test(errorMessage)) {\n if (!audioStarted) {\n _this4.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n _this4.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n finalEvent = {\n error: 'network',\n type: 'error'\n };\n } else {\n finalEvent = {\n error: 'unknown',\n type: 'error'\n };\n }\n\n return _context3.abrupt(\"return\", \"break\");\n\n case 15:\n if (!(abort || stop)) {\n _context3.next = 22;\n break;\n }\n\n if (abort) {\n finalEvent = {\n error: 'aborted',\n type: 'error'\n }; // If we are aborting, we will ignore lingering recognizing/recognized events. But if we are stopping, we need them.\n\n stopping = 'abort';\n } else {\n // When we pause, we will send { isEnd: true }, Speech Services will send us \"recognized\" event.\n pause();\n stopping = 'stop';\n } // Abort should not be dispatched without support of \"stopContinuousRecognitionAsync\".\n // But for defensive purpose, we make sure \"stopContinuousRecognitionAsync\" is available before we can call.\n\n\n if (!(abort && recognizer.stopContinuousRecognitionAsync)) {\n _context3.next = 20;\n break;\n }\n\n _context3.next = 20;\n return cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n\n case 20:\n _context3.next = 61;\n break;\n\n case 22:\n if (!audioSourceReady) {\n _context3.next = 27;\n break;\n }\n\n _this4.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n _context3.next = 61;\n break;\n\n case 27:\n if (!firstAudibleChunk) {\n _context3.next = 32;\n break;\n }\n\n _this4.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n _context3.next = 61;\n break;\n\n case 32:\n if (!audioSourceOff) {\n _context3.next = 40;\n break;\n }\n\n // Looks like we don't need this line and all the tests are still working.\n // Guessing probably stopping is already truthy.\n // stopping = true;\n speechStarted && _this4.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n soundStarted && _this4.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n audioStarted && _this4.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n audioStarted = soundStarted = speechStarted = false;\n return _context3.abrupt(\"return\", \"break\");\n\n case 40:\n if (!(stopping !== 'abort')) {\n _context3.next = 61;\n break;\n }\n\n if (!(recognized && recognized.result && recognized.result.reason === ResultReason.NoMatch)) {\n _context3.next = 45;\n break;\n }\n\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n _context3.next = 61;\n break;\n\n case 45:\n if (!(recognized || recognizing)) {\n _context3.next = 61;\n break;\n }\n\n if (!audioStarted) {\n // Unconfirmed prevention of quirks\n _this4.dispatchEvent(new SpeechRecognitionEvent('audiostart'));\n\n audioStarted = true;\n }\n\n if (!soundStarted) {\n _this4.dispatchEvent(new SpeechRecognitionEvent('soundstart'));\n\n soundStarted = true;\n }\n\n if (!speechStarted) {\n _this4.dispatchEvent(new SpeechRecognitionEvent('speechstart'));\n\n speechStarted = true;\n }\n\n if (!recognized) {\n _context3.next = 60;\n break;\n }\n\n result = (0, _cognitiveServiceEventResultToWebSpeechRecognitionResultList.default)(recognized.result, {\n maxAlternatives: _this4.maxAlternatives,\n textNormalization: textNormalization\n });\n recognizable = !!result[0].transcript;\n\n if (recognizable) {\n finalizedResults = [].concat((0, _toConsumableArray2.default)(finalizedResults), [result]);\n _this4.continuous && _this4.dispatchEvent(new SpeechRecognitionEvent('result', {\n results: finalizedResults\n }));\n } // If it is continuous, we just sent the finalized results. So we don't need to send it again after \"audioend\" event.\n\n\n if (_this4.continuous && recognizable) {\n finalEvent = null;\n } else {\n finalEvent = {\n results: finalizedResults,\n type: 'result'\n };\n }\n\n if (!(!_this4.continuous && recognizer.stopContinuousRecognitionAsync)) {\n _context3.next = 57;\n break;\n }\n\n _context3.next = 57;\n return cognitiveServicesAsyncToPromise(recognizer.stopContinuousRecognitionAsync.bind(recognizer))();\n\n case 57:\n // If event order can be loosened, we can send the recognized event as soon as we receive it.\n // 1. If it is not recognizable (no-speech), we should send an \"error\" event just before \"end\" event. We will not loosen \"error\" events.\n if (looseEvents && finalEvent && recognizable) {\n _this4.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n\n finalEvent = null;\n }\n\n _context3.next = 61;\n break;\n\n case 60:\n if (recognizing) {\n _this4.interimResults && _this4.dispatchEvent(new SpeechRecognitionEvent('result', {\n results: [].concat((0, _toConsumableArray2.default)(finalizedResults), [(0, _cognitiveServiceEventResultToWebSpeechRecognitionResultList.default)(recognizing.result, {\n maxAlternatives: _this4.maxAlternatives,\n textNormalization: textNormalization\n })])\n }));\n }\n\n case 61:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _loop);\n });\n loop = 0;\n\n case 24:\n if (!(!stopping || audioStarted)) {\n _context4.next = 32;\n break;\n }\n\n return _context4.delegateYield(_loop(loop), \"t0\", 26);\n\n case 26:\n _ret = _context4.t0;\n\n if (!(_ret === \"break\")) {\n _context4.next = 29;\n break;\n }\n\n return _context4.abrupt(\"break\", 32);\n\n case 29:\n loop++;\n _context4.next = 24;\n break;\n\n case 32:\n if (speechStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('speechend'));\n }\n\n if (soundStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('soundend'));\n }\n\n if (audioStarted) {\n this.dispatchEvent(new SpeechRecognitionEvent('audioend'));\n }\n\n if (finalEvent) {\n if (finalEvent.type === 'result' && !finalEvent.results.length) {\n finalEvent = {\n error: 'no-speech',\n type: 'error'\n };\n }\n\n if (finalEvent.type === 'error') {\n this.dispatchEvent(new ErrorEvent('error', finalEvent));\n } else {\n this.dispatchEvent(new SpeechRecognitionEvent(finalEvent.type, finalEvent));\n }\n } // Even though there is no \"start\" event emitted, we will still emit \"end\" event\n // This is mainly for \"microphone blocked\" story.\n\n\n this.dispatchEvent(new SpeechRecognitionEvent('end'));\n detachAudioConfigEvent();\n _context4.next = 44;\n break;\n\n case 40:\n _context4.prev = 40;\n _context4.t1 = _context4[\"catch\"](4);\n // Logging out the erorr because Speech SDK would fail silently.\n console.error(_context4.t1);\n throw _context4.t1;\n\n case 44:\n _context4.prev = 44;\n unprepare();\n recognizer.dispose();\n return _context4.finish(44);\n\n case 48:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee3, this, [[4, 40, 44, 48]]);\n }));\n\n function _startOnce() {\n return _startOnce2.apply(this, arguments);\n }\n\n return _startOnce;\n }()\n }]);\n return SpeechRecognition;\n }(_es.EventTarget);\n\n return {\n SpeechGrammarList: _SpeechGrammarList.default,\n SpeechRecognition: SpeechRecognition,\n SpeechRecognitionEvent: SpeechRecognitionEvent\n };\n}\n\nvar _default = function _default(options) {\n var _patchOptions = (0, _patchOptions2.default)(options),\n _patchOptions$audioCo = _patchOptions.audioConfig,\n audioConfig = _patchOptions$audioCo === void 0 ? AudioConfig.fromDefaultMicrophoneInput() : _patchOptions$audioCo,\n _patchOptions$enableT = _patchOptions.enableTelemetry,\n enableTelemetry = _patchOptions$enableT === void 0 ? true : _patchOptions$enableT,\n fetchCredentials = _patchOptions.fetchCredentials,\n looseEvents = _patchOptions.looseEvents,\n referenceGrammars = _patchOptions.referenceGrammars,\n speechRecognitionEndpointId = _patchOptions.speechRecognitionEndpointId,\n _patchOptions$textNor = _patchOptions.textNormalization,\n textNormalization = _patchOptions$textNor === void 0 ? 'display' : _patchOptions$textNor;\n\n if (!audioConfig && (!window.navigator.mediaDevices || !window.navigator.mediaDevices.getUserMedia)) {\n console.warn('web-speech-cognitive-services: This browser does not support WebRTC and it will not work with Cognitive Services Speech Services.');\n return {};\n }\n\n var createRecognizer = /*#__PURE__*/function () {\n var _ref12 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(lang) {\n var _yield$fetchCredentia, authorizationToken, region, speechRecognitionHostname, subscriptionKey, speechConfig, host;\n\n return _regenerator.default.wrap(function _callee4$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n _context5.next = 2;\n return fetchCredentials();\n\n case 2:\n _yield$fetchCredentia = _context5.sent;\n authorizationToken = _yield$fetchCredentia.authorizationToken;\n region = _yield$fetchCredentia.region;\n speechRecognitionHostname = _yield$fetchCredentia.speechRecognitionHostname;\n subscriptionKey = _yield$fetchCredentia.subscriptionKey;\n\n if (speechRecognitionHostname) {\n host = {\n hostname: speechRecognitionHostname,\n port: 443,\n protocol: 'wss:'\n };\n\n if (authorizationToken) {\n speechConfig = SpeechConfig.fromHost(host);\n speechConfig.authorizationToken = authorizationToken;\n } else {\n speechConfig = SpeechConfig.fromHost(host, subscriptionKey);\n }\n } else {\n speechConfig = authorizationToken ? SpeechConfig.fromAuthorizationToken(authorizationToken, region) : SpeechConfig.fromSubscription(subscriptionKey, region);\n }\n\n if (speechRecognitionEndpointId) {\n speechConfig.endpointId = speechRecognitionEndpointId;\n }\n\n speechConfig.outputFormat = OutputFormat.Detailed;\n speechConfig.speechRecognitionLanguage = lang || 'en-US';\n return _context5.abrupt(\"return\", new SpeechRecognizer(speechConfig, audioConfig));\n\n case 12:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee4);\n }));\n\n return function createRecognizer(_x) {\n return _ref12.apply(this, arguments);\n };\n }();\n\n return createSpeechRecognitionPonyfillFromRecognizer({\n audioConfig: audioConfig,\n createRecognizer: createRecognizer,\n enableTelemetry: enableTelemetry,\n looseEvents: looseEvents,\n referenceGrammars: referenceGrammars,\n textNormalization: textNormalization\n });\n};\n\nexports.default = _default;\n//# sourceMappingURL=createSpeechRecognitionPonyfill.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = patchOptions;\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _resolveFunctionOrReturnValue = _interopRequireDefault(require(\"./resolveFunctionOrReturnValue\"));\n\nvar _excluded = [\"authorizationToken\", \"credentials\", \"looseEvent\", \"looseEvents\", \"region\", \"subscriptionKey\"];\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nvar shouldWarnOnSubscriptionKey = true;\n\nfunction patchOptions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var authorizationToken = _ref.authorizationToken,\n credentials = _ref.credentials,\n looseEvent = _ref.looseEvent,\n looseEvents = _ref.looseEvents,\n _ref$region = _ref.region,\n region = _ref$region === void 0 ? 'westus' : _ref$region,\n subscriptionKey = _ref.subscriptionKey,\n otherOptions = (0, _objectWithoutProperties2.default)(_ref, _excluded);\n\n if (typeof looseEvent !== 'undefined') {\n console.warn('web-speech-cognitive-services: The option \"looseEvent\" should be named as \"looseEvents\".');\n looseEvents = looseEvent;\n }\n\n if (!credentials) {\n if (!authorizationToken && !subscriptionKey) {\n throw new Error('web-speech-cognitive-services: Credentials must be specified.');\n } else {\n console.warn('web-speech-cognitive-services: We are deprecating authorizationToken, region, and subscriptionKey. Please use credentials instead. The deprecated option will be removed on or after 2020-11-14.');\n\n credentials = /*#__PURE__*/function () {\n var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {\n return _regenerator.default.wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n if (!authorizationToken) {\n _context.next = 8;\n break;\n }\n\n _context.next = 3;\n return (0, _resolveFunctionOrReturnValue.default)(authorizationToken);\n\n case 3:\n _context.t1 = _context.sent;\n _context.t2 = region;\n _context.t0 = {\n authorizationToken: _context.t1,\n region: _context.t2\n };\n _context.next = 13;\n break;\n\n case 8:\n _context.t3 = region;\n _context.next = 11;\n return (0, _resolveFunctionOrReturnValue.default)(subscriptionKey);\n\n case 11:\n _context.t4 = _context.sent;\n _context.t0 = {\n region: _context.t3,\n subscriptionKey: _context.t4\n };\n\n case 13:\n return _context.abrupt(\"return\", _context.t0);\n\n case 14:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n\n return function credentials() {\n return _ref2.apply(this, arguments);\n };\n }();\n }\n }\n\n return _objectSpread(_objectSpread({}, otherOptions), {}, {\n fetchCredentials: function () {\n var _fetchCredentials = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() {\n var _yield$resolveFunctio, authorizationToken, customVoiceHostname, region, speechRecognitionHostname, speechSynthesisHostname, subscriptionKey, resolvedCredentials;\n\n return _regenerator.default.wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _context2.next = 2;\n return (0, _resolveFunctionOrReturnValue.default)(credentials);\n\n case 2:\n _yield$resolveFunctio = _context2.sent;\n authorizationToken = _yield$resolveFunctio.authorizationToken;\n customVoiceHostname = _yield$resolveFunctio.customVoiceHostname;\n region = _yield$resolveFunctio.region;\n speechRecognitionHostname = _yield$resolveFunctio.speechRecognitionHostname;\n speechSynthesisHostname = _yield$resolveFunctio.speechSynthesisHostname;\n subscriptionKey = _yield$resolveFunctio.subscriptionKey;\n\n if (!(!authorizationToken && !subscriptionKey || authorizationToken && subscriptionKey)) {\n _context2.next = 13;\n break;\n }\n\n throw new Error('web-speech-cognitive-services: Either \"authorizationToken\" or \"subscriptionKey\" must be provided.');\n\n case 13:\n if (!(!region && !(speechRecognitionHostname && speechSynthesisHostname))) {\n _context2.next = 17;\n break;\n }\n\n throw new Error('web-speech-cognitive-services: Either \"region\" or \"speechRecognitionHostname\" and \"speechSynthesisHostname\" must be set.');\n\n case 17:\n if (!(region && (customVoiceHostname || speechRecognitionHostname || speechSynthesisHostname))) {\n _context2.next = 21;\n break;\n }\n\n throw new Error('web-speech-cognitive-services: Only either \"region\" or \"customVoiceHostname\", \"speechRecognitionHostname\" and \"speechSynthesisHostname\" can be set.');\n\n case 21:\n if (!authorizationToken) {\n _context2.next = 26;\n break;\n }\n\n if (!(typeof authorizationToken !== 'string')) {\n _context2.next = 24;\n break;\n }\n\n throw new Error('web-speech-cognitive-services: \"authorizationToken\" must be a string.');\n\n case 24:\n _context2.next = 28;\n break;\n\n case 26:\n if (!(typeof subscriptionKey !== 'string')) {\n _context2.next = 28;\n break;\n }\n\n throw new Error('web-speech-cognitive-services: \"subscriptionKey\" must be a string.');\n\n case 28:\n if (shouldWarnOnSubscriptionKey && subscriptionKey) {\n console.warn('web-speech-cognitive-services: In production environment, subscription key should not be used, authorization token should be used instead.');\n shouldWarnOnSubscriptionKey = false;\n }\n\n resolvedCredentials = authorizationToken ? {\n authorizationToken: authorizationToken\n } : {\n subscriptionKey: subscriptionKey\n };\n\n if (region) {\n resolvedCredentials.region = region;\n } else {\n resolvedCredentials.customVoiceHostname = customVoiceHostname;\n resolvedCredentials.speechRecognitionHostname = speechRecognitionHostname;\n resolvedCredentials.speechSynthesisHostname = speechSynthesisHostname;\n }\n\n return _context2.abrupt(\"return\", resolvedCredentials);\n\n case 32:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n function fetchCredentials() {\n return _fetchCredentials.apply(this, arguments);\n }\n\n return fetchCredentials;\n }(),\n looseEvents: looseEvents\n });\n}\n//# sourceMappingURL=patchOptions.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = resolveFunctionOrReturnValue;\n\nfunction resolveFunctionOrReturnValue(fnOrValue) {\n return typeof fnOrValue === 'function' ? fnOrValue() : fnOrValue;\n}\n//# sourceMappingURL=resolveFunctionOrReturnValue.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _default(array, extras) {\n var map = _objectSpread(_objectSpread(_objectSpread({}, [].reduce.call(array, function (map, value, index) {\n map[index] = value;\n return map;\n }, {})), extras), {}, (0, _defineProperty2.default)({\n length: array.length\n }, Symbol.iterator, function () {\n return [].slice.call(map)[Symbol.iterator]();\n }));\n\n return map;\n}\n//# sourceMappingURL=arrayToMap.js.map","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\n\nvar _pDeferEs = _interopRequireDefault(require(\"p-defer-es5\"));\n\nfunction _default() {\n var shiftDeferred;\n var queue = [];\n\n var push = function push(value) {\n if (shiftDeferred) {\n var _shiftDeferred = shiftDeferred,\n resolve = _shiftDeferred.resolve;\n shiftDeferred = null;\n resolve(value);\n } else {\n queue.push(value);\n }\n };\n\n var shift = function shift() {\n if (queue.length) {\n return Promise.resolve(queue.shift());\n }\n\n return (shiftDeferred || (shiftDeferred = (0, _pDeferEs.default)())).promise;\n };\n\n return {\n push: push,\n shift: shift\n };\n}\n//# sourceMappingURL=createPromiseQueue.js.map","'use strict';\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\nvar _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');\nvar _set = require('@babel/runtime/helpers/set');\nvar _get = require('@babel/runtime/helpers/get');\nvar _assertThisInitialized = require('@babel/runtime/helpers/assertThisInitialized');\nvar _inherits = require('@babel/runtime/helpers/inherits');\nvar _possibleConstructorReturn = require('@babel/runtime/helpers/possibleConstructorReturn');\nvar _getPrototypeOf = require('@babel/runtime/helpers/getPrototypeOf');\nvar _wrapNativeSuper = require('@babel/runtime/helpers/wrapNativeSuper');\nvar _defineProperty = require('@babel/runtime/helpers/defineProperty');\nvar _classCallCheck = require('@babel/runtime/helpers/classCallCheck');\nvar _createClass = require('@babel/runtime/helpers/createClass');\nvar _typeof = require('@babel/runtime/helpers/typeof');\n\nfunction _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }\n\nvar _toConsumableArray__default = /*#__PURE__*/_interopDefaultLegacy(_toConsumableArray);\nvar _set__default = /*#__PURE__*/_interopDefaultLegacy(_set);\nvar _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);\nvar _assertThisInitialized__default = /*#__PURE__*/_interopDefaultLegacy(_assertThisInitialized);\nvar _inherits__default = /*#__PURE__*/_interopDefaultLegacy(_inherits);\nvar _possibleConstructorReturn__default = /*#__PURE__*/_interopDefaultLegacy(_possibleConstructorReturn);\nvar _getPrototypeOf__default = /*#__PURE__*/_interopDefaultLegacy(_getPrototypeOf);\nvar _wrapNativeSuper__default = /*#__PURE__*/_interopDefaultLegacy(_wrapNativeSuper);\nvar _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);\nvar _classCallCheck__default = /*#__PURE__*/_interopDefaultLegacy(_classCallCheck);\nvar _createClass__default = /*#__PURE__*/_interopDefaultLegacy(_createClass);\nvar _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default['default'](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default['default'](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default['default'](this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default['default'](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n/**\n * Assert a condition.\n * @param condition The condition that it should satisfy.\n * @param message The error message.\n * @param args The arguments for replacing placeholders in the message.\n */\nfunction assertType(condition, message) {\n if (!condition) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n\n throw new TypeError(format(message, args));\n }\n}\n/**\n * Convert a text and arguments to one string.\n * @param message The formating text\n * @param args The arguments.\n */\n\n\nfunction format(message, args) {\n var i = 0;\n return message.replace(/%[os]/g, function () {\n return anyToString(args[i++]);\n });\n}\n/**\n * Convert a value to a string representation.\n * @param x The value to get the string representation.\n */\n\n\nfunction anyToString(x) {\n if (_typeof__default['default'](x) !== \"object\" || x === null) {\n return String(x);\n }\n\n return Object.prototype.toString.call(x);\n}\n\nvar currentErrorHandler;\n/**\n * Set the error handler.\n * @param value The error handler to set.\n */\n\nfunction setErrorHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The error handler must be a function or undefined, but got %o.\", value);\n currentErrorHandler = value;\n}\n/**\n * Print a error message.\n * @param maybeError The error object.\n */\n\n\nfunction reportError(maybeError) {\n try {\n var error = maybeError instanceof Error ? maybeError : new Error(anyToString(maybeError)); // Call the user-defined error handler if exists.\n\n if (currentErrorHandler) {\n currentErrorHandler(error);\n return;\n } // Dispatch an `error` event if this is on a browser.\n\n\n if (typeof dispatchEvent === \"function\" && typeof ErrorEvent === \"function\") {\n dispatchEvent(new ErrorEvent(\"error\", {\n error: error,\n message: error.message\n }));\n } // Emit an `uncaughtException` event if this is on Node.js.\n //istanbul ignore else\n else if (typeof process !== \"undefined\" && typeof process.emit === \"function\") {\n process.emit(\"uncaughtException\", error);\n return;\n } // Otherwise, print the error.\n\n\n console.error(error);\n } catch (_a) {// ignore.\n }\n}\n/**\n * The global object.\n */\n//istanbul ignore next\n\n\nvar Global = typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : typeof global !== \"undefined\" ? global : typeof globalThis !== \"undefined\" ? globalThis : undefined;\nvar currentWarnHandler;\n/**\n * Set the warning handler.\n * @param value The warning handler to set.\n */\n\nfunction setWarningHandler(value) {\n assertType(typeof value === \"function\" || value === undefined, \"The warning handler must be a function or undefined, but got %o.\", value);\n currentWarnHandler = value;\n}\n/**\n * The warning information.\n */\n\n\nvar Warning = /*#__PURE__*/function () {\n function Warning(code, message) {\n _classCallCheck__default['default'](this, Warning);\n\n this.code = code;\n this.message = message;\n }\n /**\n * Report this warning.\n * @param args The arguments of the warning.\n */\n\n\n _createClass__default['default'](Warning, [{\n key: \"warn\",\n value: function warn() {\n var _a;\n\n try {\n var _console;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n // Call the user-defined warning handler if exists.\n if (currentWarnHandler) {\n currentWarnHandler(_objectSpread(_objectSpread({}, this), {}, {\n args: args\n }));\n return;\n } // Otherwise, print the warning.\n\n\n var stack = ((_a = new Error().stack) !== null && _a !== void 0 ? _a : \"\").replace(/^(?:(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+?\\n){2}/g, \"\\n\");\n\n (_console = console).warn.apply(_console, [this.message].concat(args, [stack]));\n } catch (_b) {// Ignore.\n }\n }\n }]);\n\n return Warning;\n}();\n\nvar InitEventWasCalledWhileDispatching = new Warning(\"W01\", \"Unable to initialize event under dispatching.\");\nvar FalsyWasAssignedToCancelBubble = new Warning(\"W02\", \"Assigning any falsy value to 'cancelBubble' property has no effect.\");\nvar TruthyWasAssignedToReturnValue = new Warning(\"W03\", \"Assigning any truthy value to 'returnValue' property has no effect.\");\nvar NonCancelableEventWasCanceled = new Warning(\"W04\", \"Unable to preventDefault on non-cancelable events.\");\nvar CanceledInPassiveListener = new Warning(\"W05\", \"Unable to preventDefault inside passive event listener invocation.\");\nvar EventListenerWasDuplicated = new Warning(\"W06\", \"An event listener wasn't added because it has been added already: %o, %o\");\nvar OptionWasIgnored = new Warning(\"W07\", \"The %o option value was abandoned because the event listener wasn't added as duplicated.\");\nvar InvalidEventListener = new Warning(\"W08\", \"The 'callback' argument must be a function or an object that has 'handleEvent' method: %o\");\nvar InvalidAttributeHandler = new Warning(\"W09\", \"Event attribute handler must be a function: %o\");\n/*eslint-disable class-methods-use-this */\n\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * `EventTarget` shim can control the internal state of this `Event` objects.\n * @see https://dom.spec.whatwg.org/#event\n */\n\nvar Event = /*#__PURE__*/function () {\n _createClass__default['default'](Event, null, [{\n key: \"NONE\",\n\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n get: function get() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n\n }, {\n key: \"CAPTURING_PHASE\",\n get: function get() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n\n }, {\n key: \"AT_TARGET\",\n get: function get() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n\n }, {\n key: \"BUBBLING_PHASE\",\n get: function get() {\n return BUBBLING_PHASE;\n }\n /**\n * Initialize this event instance.\n * @param type The type of this event.\n * @param eventInitDict Options to initialize.\n * @see https://dom.spec.whatwg.org/#dom-event-event\n */\n\n }]);\n\n function Event(type, eventInitDict) {\n _classCallCheck__default['default'](this, Event);\n\n Object.defineProperty(this, \"isTrusted\", {\n value: false,\n enumerable: true\n });\n var opts = eventInitDict !== null && eventInitDict !== void 0 ? eventInitDict : {};\n internalDataMap.set(this, {\n type: String(type),\n bubbles: Boolean(opts.bubbles),\n cancelable: Boolean(opts.cancelable),\n composed: Boolean(opts.composed),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false,\n inPassiveListenerFlag: false,\n dispatchFlag: false,\n timeStamp: Date.now()\n });\n }\n /**\n * The type of this event.\n * @see https://dom.spec.whatwg.org/#dom-event-type\n */\n\n\n _createClass__default['default'](Event, [{\n key: \"composedPath\",\n\n /**\n * The event target of the current dispatching.\n * This doesn't support node tree.\n * @see https://dom.spec.whatwg.org/#dom-event-composedpath\n */\n value: function composedPath() {\n var currentTarget = $(this).currentTarget;\n\n if (currentTarget) {\n return [currentTarget];\n }\n\n return [];\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-none\n */\n\n }, {\n key: \"stopPropagation\",\n\n /**\n * Stop event bubbling.\n * Because this shim doesn't support node tree, this merely changes the `cancelBubble` property value.\n * @see https://dom.spec.whatwg.org/#dom-event-stoppropagation\n */\n value: function stopPropagation() {\n $(this).stopPropagationFlag = true;\n }\n /**\n * `true` if event bubbling was stopped.\n * @deprecated\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n\n }, {\n key: \"stopImmediatePropagation\",\n\n /**\n * Stop event bubbling and subsequent event listener callings.\n * @see https://dom.spec.whatwg.org/#dom-event-stopimmediatepropagation\n */\n value: function stopImmediatePropagation() {\n var data = $(this);\n data.stopPropagationFlag = data.stopImmediatePropagationFlag = true;\n }\n /**\n * `true` if this event will bubble.\n * @see https://dom.spec.whatwg.org/#dom-event-bubbles\n */\n\n }, {\n key: \"preventDefault\",\n\n /**\n * Cancel the default behavior.\n * @see https://dom.spec.whatwg.org/#dom-event-preventdefault\n */\n value: function preventDefault() {\n setCancelFlag($(this));\n }\n /**\n * `true` if the default behavior was canceled.\n * @see https://dom.spec.whatwg.org/#dom-event-defaultprevented\n */\n\n }, {\n key: \"initEvent\",\n\n /**\n * @deprecated Don't use this method. The constructor did initialization.\n */\n value: function initEvent(type) {\n var bubbles = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cancelable = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var data = $(this);\n\n if (data.dispatchFlag) {\n InitEventWasCalledWhileDispatching.warn();\n return;\n }\n\n internalDataMap.set(this, _objectSpread(_objectSpread({}, data), {}, {\n type: String(type),\n bubbles: Boolean(bubbles),\n cancelable: Boolean(cancelable),\n target: null,\n currentTarget: null,\n stopPropagationFlag: false,\n stopImmediatePropagationFlag: false,\n canceledFlag: false\n }));\n }\n }, {\n key: \"type\",\n get: function get() {\n return $(this).type;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-target\n */\n\n }, {\n key: \"target\",\n get: function get() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @deprecated Use the `target` property instead.\n * @see https://dom.spec.whatwg.org/#dom-event-srcelement\n */\n\n }, {\n key: \"srcElement\",\n get: function get() {\n return $(this).target;\n }\n /**\n * The event target of the current dispatching.\n * @see https://dom.spec.whatwg.org/#dom-event-currenttarget\n */\n\n }, {\n key: \"currentTarget\",\n get: function get() {\n return $(this).currentTarget;\n }\n }, {\n key: \"NONE\",\n get: function get() {\n return NONE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-capturing_phase\n */\n\n }, {\n key: \"CAPTURING_PHASE\",\n get: function get() {\n return CAPTURING_PHASE;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-at_target\n */\n\n }, {\n key: \"AT_TARGET\",\n get: function get() {\n return AT_TARGET;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-bubbling_phase\n */\n\n }, {\n key: \"BUBBLING_PHASE\",\n get: function get() {\n return BUBBLING_PHASE;\n }\n /**\n * The current event phase.\n * @see https://dom.spec.whatwg.org/#dom-event-eventphase\n */\n\n }, {\n key: \"eventPhase\",\n get: function get() {\n return $(this).dispatchFlag ? 2 : 0;\n }\n }, {\n key: \"cancelBubble\",\n get: function get() {\n return $(this).stopPropagationFlag;\n }\n /**\n * Stop event bubbling if `true` is set.\n * @deprecated Use the `stopPropagation()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelbubble\n */\n ,\n set: function set(value) {\n if (value) {\n $(this).stopPropagationFlag = true;\n } else {\n FalsyWasAssignedToCancelBubble.warn();\n }\n }\n }, {\n key: \"bubbles\",\n get: function get() {\n return $(this).bubbles;\n }\n /**\n * `true` if this event can be canceled by the `preventDefault()` method.\n * @see https://dom.spec.whatwg.org/#dom-event-cancelable\n */\n\n }, {\n key: \"cancelable\",\n get: function get() {\n return $(this).cancelable;\n }\n /**\n * `true` if the default behavior will act.\n * @deprecated Use the `defaultPrevented` proeprty instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n\n }, {\n key: \"returnValue\",\n get: function get() {\n return !$(this).canceledFlag;\n }\n /**\n * Cancel the default behavior if `false` is set.\n * @deprecated Use the `preventDefault()` method instead.\n * @see https://dom.spec.whatwg.org/#dom-event-returnvalue\n */\n ,\n set: function set(value) {\n if (!value) {\n setCancelFlag($(this));\n } else {\n TruthyWasAssignedToReturnValue.warn();\n }\n }\n }, {\n key: \"defaultPrevented\",\n get: function get() {\n return $(this).canceledFlag;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-composed\n */\n\n }, {\n key: \"composed\",\n get: function get() {\n return $(this).composed;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-istrusted\n */\n //istanbul ignore next\n\n }, {\n key: \"isTrusted\",\n get: function get() {\n return false;\n }\n /**\n * @see https://dom.spec.whatwg.org/#dom-event-timestamp\n */\n\n }, {\n key: \"timeStamp\",\n get: function get() {\n return $(this).timeStamp;\n }\n }]);\n\n return Event;\n}(); //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n\nvar NONE = 0;\nvar CAPTURING_PHASE = 1;\nvar AT_TARGET = 2;\nvar BUBBLING_PHASE = 3;\n/**\n * Private data for event wrappers.\n */\n\nvar internalDataMap = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\n\nfunction $(event) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"this\";\n var retv = internalDataMap.get(event);\n assertType(retv != null, \"'%s' must be an object that Event constructor created, but got another one: %o\", name, event);\n return retv;\n}\n/**\n * https://dom.spec.whatwg.org/#set-the-canceled-flag\n * @param data private data.\n */\n\n\nfunction setCancelFlag(data) {\n if (data.inPassiveListenerFlag) {\n CanceledInPassiveListener.warn();\n return;\n }\n\n if (!data.cancelable) {\n NonCancelableEventWasCanceled.warn();\n return;\n }\n\n data.canceledFlag = true;\n} // Set enumerable\n\n\nObject.defineProperty(Event, \"NONE\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"CAPTURING_PHASE\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"AT_TARGET\", {\n enumerable: true\n});\nObject.defineProperty(Event, \"BUBBLING_PHASE\", {\n enumerable: true\n});\nvar keys = Object.getOwnPropertyNames(Event.prototype);\n\nfor (var i = 0; i < keys.length; ++i) {\n if (keys[i] === \"constructor\") {\n continue;\n }\n\n Object.defineProperty(Event.prototype, keys[i], {\n enumerable: true\n });\n} // Ensure `event instanceof window.Event` is `true`.\n\n\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n Object.setPrototypeOf(Event.prototype, Global.Event.prototype);\n}\n/**\n * Create a new InvalidStateError instance.\n * @param message The error message.\n */\n\n\nfunction createInvalidStateError(message) {\n if (Global.DOMException) {\n return new Global.DOMException(message, \"InvalidStateError\");\n }\n\n if (DOMException == null) {\n DOMException = /*#__PURE__*/function (_Error) {\n _inherits__default['default'](DOMException, _Error);\n\n var _super = _createSuper(DOMException);\n\n function DOMException(msg) {\n var _this;\n\n _classCallCheck__default['default'](this, DOMException);\n\n _this = _super.call(this, msg);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized__default['default'](_this), DOMException);\n }\n\n return _this;\n } // eslint-disable-next-line class-methods-use-this\n\n\n _createClass__default['default'](DOMException, [{\n key: \"code\",\n get: function get() {\n return 11;\n } // eslint-disable-next-line class-methods-use-this\n\n }, {\n key: \"name\",\n get: function get() {\n return \"InvalidStateError\";\n }\n }]);\n\n return DOMException;\n }( /*#__PURE__*/_wrapNativeSuper__default['default'](Error));\n\n Object.defineProperties(DOMException.prototype, {\n code: {\n enumerable: true\n },\n name: {\n enumerable: true\n }\n });\n defineErrorCodeProperties(DOMException);\n defineErrorCodeProperties(DOMException.prototype);\n }\n\n return new DOMException(message);\n} //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n\nvar DOMException;\nvar ErrorCodeMap = {\n INDEX_SIZE_ERR: 1,\n DOMSTRING_SIZE_ERR: 2,\n HIERARCHY_REQUEST_ERR: 3,\n WRONG_DOCUMENT_ERR: 4,\n INVALID_CHARACTER_ERR: 5,\n NO_DATA_ALLOWED_ERR: 6,\n NO_MODIFICATION_ALLOWED_ERR: 7,\n NOT_FOUND_ERR: 8,\n NOT_SUPPORTED_ERR: 9,\n INUSE_ATTRIBUTE_ERR: 10,\n INVALID_STATE_ERR: 11,\n SYNTAX_ERR: 12,\n INVALID_MODIFICATION_ERR: 13,\n NAMESPACE_ERR: 14,\n INVALID_ACCESS_ERR: 15,\n VALIDATION_ERR: 16,\n TYPE_MISMATCH_ERR: 17,\n SECURITY_ERR: 18,\n NETWORK_ERR: 19,\n ABORT_ERR: 20,\n URL_MISMATCH_ERR: 21,\n QUOTA_EXCEEDED_ERR: 22,\n TIMEOUT_ERR: 23,\n INVALID_NODE_TYPE_ERR: 24,\n DATA_CLONE_ERR: 25\n};\n\nfunction defineErrorCodeProperties(obj) {\n var keys = Object.keys(ErrorCodeMap);\n\n var _loop = function _loop(_i) {\n var key = keys[_i];\n var value = ErrorCodeMap[key];\n Object.defineProperty(obj, key, {\n get: function get() {\n return value;\n },\n configurable: true,\n enumerable: true\n });\n };\n\n for (var _i = 0; _i < keys.length; ++_i) {\n _loop(_i);\n }\n}\n/**\n * An implementation of `Event` interface, that wraps a given event object.\n * This class controls the internal state of `Event`.\n * @see https://dom.spec.whatwg.org/#interface-event\n */\n\n\nvar EventWrapper = /*#__PURE__*/function (_Event) {\n _inherits__default['default'](EventWrapper, _Event);\n\n var _super2 = _createSuper(EventWrapper);\n\n _createClass__default['default'](EventWrapper, null, [{\n key: \"wrap\",\n\n /**\n * Wrap a given event object to control states.\n * @param event The event-like object to wrap.\n */\n value: function wrap(event) {\n return new (getWrapperClassOf(event))(event);\n }\n }]);\n\n function EventWrapper(event) {\n var _thisSuper, _thisSuper2, _this2;\n\n _classCallCheck__default['default'](this, EventWrapper);\n\n _this2 = _super2.call(this, event.type, {\n bubbles: event.bubbles,\n cancelable: event.cancelable,\n composed: event.composed\n });\n\n if (event.cancelBubble) {\n _get__default['default']((_thisSuper = _assertThisInitialized__default['default'](_this2), _getPrototypeOf__default['default'](EventWrapper.prototype)), \"stopPropagation\", _thisSuper).call(_thisSuper);\n }\n\n if (event.defaultPrevented) {\n _get__default['default']((_thisSuper2 = _assertThisInitialized__default['default'](_this2), _getPrototypeOf__default['default'](EventWrapper.prototype)), \"preventDefault\", _thisSuper2).call(_thisSuper2);\n }\n\n internalDataMap$1.set(_assertThisInitialized__default['default'](_this2), {\n original: event\n }); // Define accessors\n\n var keys = Object.keys(event);\n\n for (var _i2 = 0; _i2 < keys.length; ++_i2) {\n var key = keys[_i2];\n\n if (!(key in _assertThisInitialized__default['default'](_this2))) {\n Object.defineProperty(_assertThisInitialized__default['default'](_this2), key, defineRedirectDescriptor(event, key));\n }\n }\n\n return _this2;\n }\n\n _createClass__default['default'](EventWrapper, [{\n key: \"stopPropagation\",\n value: function stopPropagation() {\n _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"stopPropagation\", this).call(this);\n\n var _$$ = $$1(this),\n original = _$$.original;\n\n if (\"stopPropagation\" in original) {\n original.stopPropagation();\n }\n }\n }, {\n key: \"stopImmediatePropagation\",\n value: function stopImmediatePropagation() {\n _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"stopImmediatePropagation\", this).call(this);\n\n var _$$2 = $$1(this),\n original = _$$2.original;\n\n if (\"stopImmediatePropagation\" in original) {\n original.stopImmediatePropagation();\n }\n }\n }, {\n key: \"preventDefault\",\n value: function preventDefault() {\n _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"preventDefault\", this).call(this);\n\n var _$$3 = $$1(this),\n original = _$$3.original;\n\n if (\"preventDefault\" in original) {\n original.preventDefault();\n }\n }\n }, {\n key: \"cancelBubble\",\n get: function get() {\n return _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"cancelBubble\", this);\n },\n set: function set(value) {\n _set__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"cancelBubble\", value, this, true);\n\n var _$$4 = $$1(this),\n original = _$$4.original;\n\n if (\"cancelBubble\" in original) {\n original.cancelBubble = value;\n }\n }\n }, {\n key: \"returnValue\",\n get: function get() {\n return _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"returnValue\", this);\n },\n set: function set(value) {\n _set__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"returnValue\", value, this, true);\n\n var _$$5 = $$1(this),\n original = _$$5.original;\n\n if (\"returnValue\" in original) {\n original.returnValue = value;\n }\n }\n }, {\n key: \"timeStamp\",\n get: function get() {\n var _$$6 = $$1(this),\n original = _$$6.original;\n\n if (\"timeStamp\" in original) {\n return original.timeStamp;\n }\n\n return _get__default['default'](_getPrototypeOf__default['default'](EventWrapper.prototype), \"timeStamp\", this);\n }\n }]);\n\n return EventWrapper;\n}(Event);\n/**\n * Private data for event wrappers.\n */\n\n\nvar internalDataMap$1 = new WeakMap();\n/**\n * Get private data.\n * @param event The event object to get private data.\n * @returns The private data of the event.\n */\n\nfunction $$1(event) {\n var retv = internalDataMap$1.get(event);\n assertType(retv != null, \"'this' is expected an Event object, but got\", event);\n return retv;\n}\n/**\n * Cache for wrapper classes.\n * @type {WeakMap}\n * @private\n */\n\n\nvar wrapperClassCache = new WeakMap(); // Make association for wrappers.\n\nwrapperClassCache.set(Object.prototype, EventWrapper);\n\nif (typeof Global !== \"undefined\" && typeof Global.Event !== \"undefined\") {\n wrapperClassCache.set(Global.Event.prototype, EventWrapper);\n}\n/**\n * Get the wrapper class of a given prototype.\n * @param originalEvent The event object to wrap.\n */\n\n\nfunction getWrapperClassOf(originalEvent) {\n var prototype = Object.getPrototypeOf(originalEvent);\n\n if (prototype == null) {\n return EventWrapper;\n }\n\n var wrapper = wrapperClassCache.get(prototype);\n\n if (wrapper == null) {\n wrapper = defineWrapper(getWrapperClassOf(prototype), prototype);\n wrapperClassCache.set(prototype, wrapper);\n }\n\n return wrapper;\n}\n/**\n * Define new wrapper class.\n * @param BaseEventWrapper The base wrapper class.\n * @param originalPrototype The prototype of the original event.\n */\n\n\nfunction defineWrapper(BaseEventWrapper, originalPrototype) {\n var CustomEventWrapper = /*#__PURE__*/function (_BaseEventWrapper) {\n _inherits__default['default'](CustomEventWrapper, _BaseEventWrapper);\n\n var _super3 = _createSuper(CustomEventWrapper);\n\n function CustomEventWrapper() {\n _classCallCheck__default['default'](this, CustomEventWrapper);\n\n return _super3.apply(this, arguments);\n }\n\n return CustomEventWrapper;\n }(BaseEventWrapper);\n\n var keys = Object.keys(originalPrototype);\n\n for (var _i3 = 0; _i3 < keys.length; ++_i3) {\n Object.defineProperty(CustomEventWrapper.prototype, keys[_i3], defineRedirectDescriptor(originalPrototype, keys[_i3]));\n }\n\n return CustomEventWrapper;\n}\n/**\n * Get the property descriptor to redirect a given property.\n */\n\n\nfunction defineRedirectDescriptor(obj, key) {\n var d = Object.getOwnPropertyDescriptor(obj, key);\n return {\n get: function get() {\n var original = $$1(this).original;\n var value = original[key];\n\n if (typeof value === \"function\") {\n return value.bind(original);\n }\n\n return value;\n },\n set: function set(value) {\n var original = $$1(this).original;\n original[key] = value;\n },\n configurable: d.configurable,\n enumerable: d.enumerable\n };\n}\n/**\n * Create a new listener.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n * @param signalListener The abort event listener for the abort signal.\n */\n\n\nfunction createListener(callback, capture, passive, once, signal, signalListener) {\n return {\n callback: callback,\n flags: (capture ? 1\n /* Capture */\n : 0) | (passive ? 2\n /* Passive */\n : 0) | (once ? 4\n /* Once */\n : 0),\n signal: signal,\n signalListener: signalListener\n };\n}\n/**\n * Set the `removed` flag to the given listener.\n * @param listener The listener to check.\n */\n\n\nfunction setRemoved(listener) {\n listener.flags |= 8\n /* Removed */\n ;\n}\n/**\n * Check if the given listener has the `capture` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isCapture(listener) {\n return (listener.flags & 1\n /* Capture */\n ) === 1\n /* Capture */\n ;\n}\n/**\n * Check if the given listener has the `passive` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isPassive(listener) {\n return (listener.flags & 2\n /* Passive */\n ) === 2\n /* Passive */\n ;\n}\n/**\n * Check if the given listener has the `once` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isOnce(listener) {\n return (listener.flags & 4\n /* Once */\n ) === 4\n /* Once */\n ;\n}\n/**\n * Check if the given listener has the `removed` flag or not.\n * @param listener The listener to check.\n */\n\n\nfunction isRemoved(listener) {\n return (listener.flags & 8\n /* Removed */\n ) === 8\n /* Removed */\n ;\n}\n/**\n * Call an event listener.\n * @param listener The listener to call.\n * @param target The event target object for `thisArg`.\n * @param event The event object for the first argument.\n * @param attribute `true` if this callback is an event attribute handler.\n */\n\n\nfunction invokeCallback(_ref, target, event) {\n var callback = _ref.callback;\n\n try {\n if (typeof callback === \"function\") {\n callback.call(target, event);\n } else if (typeof callback.handleEvent === \"function\") {\n callback.handleEvent(event);\n }\n } catch (thrownError) {\n reportError(thrownError);\n }\n}\n/**\n * Find the index of given listener.\n * This returns `-1` if not found.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n */\n\n\nfunction findIndexOfListener(_ref2, callback, capture) {\n var listeners = _ref2.listeners;\n\n for (var _i4 = 0; _i4 < listeners.length; ++_i4) {\n if (listeners[_i4].callback === callback && isCapture(listeners[_i4]) === capture) {\n return _i4;\n }\n }\n\n return -1;\n}\n/**\n * Add the given listener.\n * Does copy-on-write if needed.\n * @param list The listener list.\n * @param callback The callback function.\n * @param capture The capture flag.\n * @param passive The passive flag.\n * @param once The once flag.\n * @param signal The abort signal.\n */\n\n\nfunction addListener(list, callback, capture, passive, once, signal) {\n var signalListener;\n\n if (signal) {\n signalListener = removeListener.bind(null, list, callback, capture);\n signal.addEventListener(\"abort\", signalListener);\n }\n\n var listener = createListener(callback, capture, passive, once, signal, signalListener);\n\n if (list.cow) {\n list.cow = false;\n list.listeners = [].concat(_toConsumableArray__default['default'](list.listeners), [listener]);\n } else {\n list.listeners.push(listener);\n }\n\n return listener;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param callback The callback function to find.\n * @param capture The capture flag to find.\n * @returns `true` if it mutated the list directly.\n */\n\n\nfunction removeListener(list, callback, capture) {\n var index = findIndexOfListener(list, callback, capture);\n\n if (index !== -1) {\n return removeListenerAt(list, index);\n }\n\n return false;\n}\n/**\n * Remove a listener.\n * @param list The listener list.\n * @param index The index of the target listener.\n * @param disableCow Disable copy-on-write if true.\n * @returns `true` if it mutated the `listeners` array directly.\n */\n\n\nfunction removeListenerAt(list, index) {\n var disableCow = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var listener = list.listeners[index]; // Set the removed flag.\n\n setRemoved(listener); // Dispose the abort signal listener if exists.\n\n if (listener.signal) {\n listener.signal.removeEventListener(\"abort\", listener.signalListener);\n } // Remove it from the array.\n\n\n if (list.cow && !disableCow) {\n list.cow = false;\n list.listeners = list.listeners.filter(function (_, i) {\n return i !== index;\n });\n return false;\n }\n\n list.listeners.splice(index, 1);\n return true;\n}\n/**\n * Create a new `ListenerListMap` object.\n */\n\n\nfunction createListenerListMap() {\n return Object.create(null);\n}\n/**\n * Get the listener list of the given type.\n * If the listener list has not been initialized, initialize and return it.\n * @param listenerMap The listener list map.\n * @param type The event type to get.\n */\n\n\nfunction ensureListenerList(listenerMap, type) {\n var _a;\n\n return (_a = listenerMap[type]) !== null && _a !== void 0 ? _a : listenerMap[type] = {\n attrCallback: undefined,\n attrListener: undefined,\n cow: false,\n listeners: []\n };\n}\n/**\n * An implementation of the `EventTarget` interface.\n * @see https://dom.spec.whatwg.org/#eventtarget\n */\n\n\nvar EventTarget = /*#__PURE__*/function () {\n /**\n * Initialize this instance.\n */\n function EventTarget() {\n _classCallCheck__default['default'](this, EventTarget);\n\n internalDataMap$2.set(this, createListenerListMap());\n } // Implementation\n\n\n _createClass__default['default'](EventTarget, [{\n key: \"addEventListener\",\n value: function addEventListener(type0, callback0, options0) {\n var listenerMap = $$2(this);\n\n var _normalizeAddOptions = normalizeAddOptions(type0, callback0, options0),\n callback = _normalizeAddOptions.callback,\n capture = _normalizeAddOptions.capture,\n once = _normalizeAddOptions.once,\n passive = _normalizeAddOptions.passive,\n signal = _normalizeAddOptions.signal,\n type = _normalizeAddOptions.type;\n\n if (callback == null || (signal === null || signal === void 0 ? void 0 : signal.aborted)) {\n return;\n }\n\n var list = ensureListenerList(listenerMap, type); // Find existing listener.\n\n var i = findIndexOfListener(list, callback, capture);\n\n if (i !== -1) {\n warnDuplicate(list.listeners[i], passive, once, signal);\n return;\n } // Add the new listener.\n\n\n addListener(list, callback, capture, passive, once, signal);\n } // Implementation\n\n }, {\n key: \"removeEventListener\",\n value: function removeEventListener(type0, callback0, options0) {\n var listenerMap = $$2(this);\n\n var _normalizeOptions = normalizeOptions(type0, callback0, options0),\n callback = _normalizeOptions.callback,\n capture = _normalizeOptions.capture,\n type = _normalizeOptions.type;\n\n var list = listenerMap[type];\n\n if (callback != null && list) {\n removeListener(list, callback, capture);\n }\n } // Implementation\n\n }, {\n key: \"dispatchEvent\",\n value: function dispatchEvent(e) {\n var list = $$2(this)[String(e.type)];\n\n if (list == null) {\n return true;\n }\n\n var event = e instanceof Event ? e : EventWrapper.wrap(e);\n var eventData = $(event, \"event\");\n\n if (eventData.dispatchFlag) {\n throw createInvalidStateError(\"This event has been in dispatching.\");\n }\n\n eventData.dispatchFlag = true;\n eventData.target = eventData.currentTarget = this;\n\n if (!eventData.stopPropagationFlag) {\n var cow = list.cow,\n listeners = list.listeners; // Set copy-on-write flag.\n\n list.cow = true; // Call listeners.\n\n for (var _i5 = 0; _i5 < listeners.length; ++_i5) {\n var listener = listeners[_i5]; // Skip if removed.\n\n if (isRemoved(listener)) {\n continue;\n } // Remove this listener if has the `once` flag.\n\n\n if (isOnce(listener) && removeListenerAt(list, _i5, !cow)) {\n // Because this listener was removed, the next index is the\n // same as the current value.\n _i5 -= 1;\n } // Call this listener with the `passive` flag.\n\n\n eventData.inPassiveListenerFlag = isPassive(listener);\n invokeCallback(listener, this, event);\n eventData.inPassiveListenerFlag = false; // Stop if the `event.stopImmediatePropagation()` method was called.\n\n if (eventData.stopImmediatePropagationFlag) {\n break;\n }\n } // Restore copy-on-write flag.\n\n\n if (!cow) {\n list.cow = false;\n }\n }\n\n eventData.target = null;\n eventData.currentTarget = null;\n eventData.stopImmediatePropagationFlag = false;\n eventData.stopPropagationFlag = false;\n eventData.dispatchFlag = false;\n return !eventData.canceledFlag;\n }\n }]);\n\n return EventTarget;\n}();\n/**\n * Internal data.\n */\n\n\nvar internalDataMap$2 = new WeakMap();\n/**\n * Get private data.\n * @param target The event target object to get private data.\n * @param name The variable name to report.\n * @returns The private data of the event.\n */\n\nfunction $$2(target) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"this\";\n var retv = internalDataMap$2.get(target);\n assertType(retv != null, \"'%s' must be an object that EventTarget constructor created, but got another one: %o\", name, target);\n return retv;\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\n\n\nfunction normalizeAddOptions(type, callback, options) {\n var _a;\n\n assertCallback(callback);\n\n if (_typeof__default['default'](options) === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture),\n passive: Boolean(options.passive),\n once: Boolean(options.once),\n signal: (_a = options.signal) !== null && _a !== void 0 ? _a : undefined\n };\n }\n\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options),\n passive: false,\n once: false,\n signal: undefined\n };\n}\n/**\n * Normalize options.\n * @param options The options to normalize.\n */\n\n\nfunction normalizeOptions(type, callback, options) {\n assertCallback(callback);\n\n if (_typeof__default['default'](options) === \"object\" && options !== null) {\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options.capture)\n };\n }\n\n return {\n type: String(type),\n callback: callback !== null && callback !== void 0 ? callback : undefined,\n capture: Boolean(options)\n };\n}\n/**\n * Assert the type of 'callback' argument.\n * @param callback The callback to check.\n */\n\n\nfunction assertCallback(callback) {\n if (typeof callback === \"function\" || _typeof__default['default'](callback) === \"object\" && callback !== null && typeof callback.handleEvent === \"function\") {\n return;\n }\n\n if (callback == null || _typeof__default['default'](callback) === \"object\") {\n InvalidEventListener.warn(callback);\n return;\n }\n\n throw new TypeError(format(InvalidEventListener.message, [callback]));\n}\n/**\n * Print warning for duplicated.\n * @param listener The current listener that is duplicated.\n * @param passive The passive flag of the new duplicated listener.\n * @param once The once flag of the new duplicated listener.\n * @param signal The signal object of the new duplicated listener.\n */\n\n\nfunction warnDuplicate(listener, passive, once, signal) {\n EventListenerWasDuplicated.warn(isCapture(listener) ? \"capture\" : \"bubble\", listener.callback);\n\n if (isPassive(listener) !== passive) {\n OptionWasIgnored.warn(\"passive\");\n }\n\n if (isOnce(listener) !== once) {\n OptionWasIgnored.warn(\"once\");\n }\n\n if (listener.signal !== signal) {\n OptionWasIgnored.warn(\"signal\");\n }\n} // Set enumerable\n\n\nvar keys$1 = Object.getOwnPropertyNames(EventTarget.prototype);\n\nfor (var _i6 = 0; _i6 < keys$1.length; ++_i6) {\n if (keys$1[_i6] === \"constructor\") {\n continue;\n }\n\n Object.defineProperty(EventTarget.prototype, keys$1[_i6], {\n enumerable: true\n });\n} // Ensure `eventTarget instanceof window.EventTarget` is `true`.\n\n\nif (typeof Global !== \"undefined\" && typeof Global.EventTarget !== \"undefined\") {\n Object.setPrototypeOf(EventTarget.prototype, Global.EventTarget.prototype);\n}\n/**\n * Get the current value of a given event attribute.\n * @param target The `EventTarget` object to get.\n * @param type The event type.\n */\n\n\nfunction getEventAttributeValue(target, type) {\n var _a, _b;\n\n var listMap = $$2(target, \"target\");\n return (_b = (_a = listMap[type]) === null || _a === void 0 ? void 0 : _a.attrCallback) !== null && _b !== void 0 ? _b : null;\n}\n/**\n * Set an event listener to a given event attribute.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction setEventAttributeValue(target, type, callback) {\n if (callback != null && typeof callback !== \"function\") {\n InvalidAttributeHandler.warn(callback);\n }\n\n if (typeof callback === \"function\" || _typeof__default['default'](callback) === \"object\" && callback !== null) {\n upsertEventAttributeListener(target, type, callback);\n } else {\n removeEventAttributeListener(target, type);\n }\n} //------------------------------------------------------------------------------\n// Helpers\n//------------------------------------------------------------------------------\n\n/**\n * Update or insert the given event attribute handler.\n * @param target The `EventTarget` object to set.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction upsertEventAttributeListener(target, type, callback) {\n var list = ensureListenerList($$2(target, \"target\"), String(type));\n list.attrCallback = callback;\n\n if (list.attrListener == null) {\n list.attrListener = addListener(list, defineEventAttributeCallback(list), false, false, false, undefined);\n }\n}\n/**\n * Remove the given event attribute handler.\n * @param target The `EventTarget` object to remove.\n * @param type The event type.\n * @param callback The event listener.\n */\n\n\nfunction removeEventAttributeListener(target, type) {\n var listMap = $$2(target, \"target\");\n var list = listMap[String(type)];\n\n if (list && list.attrListener) {\n removeListener(list, list.attrListener.callback, false);\n list.attrCallback = list.attrListener = undefined;\n }\n}\n/**\n * Define the callback function for the given listener list object.\n * It calls `attrCallback` property if the property value is a function.\n * @param list The `ListenerList` object.\n */\n\n\nfunction defineEventAttributeCallback(list) {\n return function (event) {\n var callback = list.attrCallback;\n\n if (typeof callback === \"function\") {\n callback.call(this, event);\n }\n };\n}\n/**\n * Define an `EventTarget` class that has event attibutes.\n * @param types The types to define event attributes.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\n\n\nfunction defineCustomEventTarget() {\n var CustomEventTarget = /*#__PURE__*/function (_EventTarget) {\n _inherits__default['default'](CustomEventTarget, _EventTarget);\n\n var _super4 = _createSuper(CustomEventTarget);\n\n function CustomEventTarget() {\n _classCallCheck__default['default'](this, CustomEventTarget);\n\n return _super4.apply(this, arguments);\n }\n\n return CustomEventTarget;\n }(EventTarget);\n\n for (var _i7 = 0; _i7 < arguments.length; ++_i7) {\n defineEventAttribute(CustomEventTarget.prototype, _i7 < 0 || arguments.length <= _i7 ? undefined : arguments[_i7]);\n }\n\n return CustomEventTarget;\n}\n/**\n * Define an event attribute.\n * @param target The `EventTarget` object to define an event attribute.\n * @param type The event type to define.\n * @param _eventClass Unused, but to infer `Event` class type.\n * @deprecated Use `getEventAttributeValue`/`setEventAttributeValue` pair on your derived class instead because of static analysis friendly.\n */\n\n\nfunction defineEventAttribute(target, type, _eventClass) {\n Object.defineProperty(target, \"on\".concat(type), {\n get: function get() {\n return getEventAttributeValue(this, type);\n },\n set: function set(value) {\n setEventAttributeValue(this, type, value);\n },\n configurable: true,\n enumerable: true\n });\n}\n\nexports.Event = Event;\nexports.EventTarget = EventTarget;\nexports.default = EventTarget;\nexports.defineCustomEventTarget = defineCustomEventTarget;\nexports.defineEventAttribute = defineEventAttribute;\nexports.getEventAttributeValue = getEventAttributeValue;\nexports.setErrorHandler = setErrorHandler;\nexports.setEventAttributeValue = setEventAttributeValue;\nexports.setWarningHandler = setWarningHandler;\n","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LoginRequestResponse = exports.ErrorResponse = exports.SuccessResponse = exports.ActivityResponse = exports.ActivityRequestError = exports.ActivityRequestTrigger = void 0;\r\nvar ActivityRequestTrigger;\r\n(function (ActivityRequestTrigger) {\r\n ActivityRequestTrigger[\"Automatic\"] = \"automatic\";\r\n ActivityRequestTrigger[\"Manual\"] = \"manual\";\r\n})(ActivityRequestTrigger = exports.ActivityRequestTrigger || (exports.ActivityRequestTrigger = {}));\r\nvar ActivityRequestError = /** @class */ (function () {\r\n function ActivityRequestError(code, message) {\r\n this.code = code;\r\n this.message = message;\r\n }\r\n return ActivityRequestError;\r\n}());\r\nexports.ActivityRequestError = ActivityRequestError;\r\nvar ActivityResponse = /** @class */ (function () {\r\n function ActivityResponse(request) {\r\n this.request = request;\r\n }\r\n return ActivityResponse;\r\n}());\r\nexports.ActivityResponse = ActivityResponse;\r\nvar SuccessResponse = /** @class */ (function (_super) {\r\n __extends(SuccessResponse, _super);\r\n function SuccessResponse(request, rawContent) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.rawContent = rawContent;\r\n return _this;\r\n }\r\n return SuccessResponse;\r\n}(ActivityResponse));\r\nexports.SuccessResponse = SuccessResponse;\r\nvar ErrorResponse = /** @class */ (function (_super) {\r\n __extends(ErrorResponse, _super);\r\n function ErrorResponse(request, error) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorResponse;\r\n}(ActivityResponse));\r\nexports.ErrorResponse = ErrorResponse;\r\nvar LoginRequestResponse = /** @class */ (function (_super) {\r\n __extends(LoginRequestResponse, _super);\r\n function LoginRequestResponse(request, auth) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this._auth = auth;\r\n for (var _i = 0, _a = _this._auth.buttons; _i < _a.length; _i++) {\r\n var button = _a[_i];\r\n if (button.type === \"signin\" && button.value !== undefined) {\r\n try {\r\n new URL(button.value);\r\n _this.signinButton = button;\r\n break;\r\n }\r\n catch (e) {\r\n // Ignore parsing error\r\n }\r\n }\r\n }\r\n return _this;\r\n }\r\n Object.defineProperty(LoginRequestResponse.prototype, \"tokenExchangeResource\", {\r\n get: function () {\r\n return this._auth.tokenExchangeResource;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return LoginRequestResponse;\r\n}(ActivityResponse));\r\nexports.LoginRequestResponse = LoginRequestResponse;\r\n//# sourceMappingURL=activity-request.js.map","\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AdaptiveApplet = void 0;\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\nvar activity_request_1 = require(\"./activity-request\");\r\nvar strings_1 = require(\"./strings\");\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar serialization_1 = require(\"./serialization\");\r\nfunction logEvent(level, message) {\r\n var optionalParams = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n optionalParams[_i - 2] = arguments[_i];\r\n }\r\n if (shared_1.GlobalSettings.applets.logEnabled) {\r\n if (shared_1.GlobalSettings.applets.onLogEvent) {\r\n shared_1.GlobalSettings.applets.onLogEvent(level, message, optionalParams);\r\n }\r\n else {\r\n /* eslint-disable no-console */\r\n switch (level) {\r\n case Enums.LogLevel.Warning:\r\n console.warn(message, optionalParams);\r\n break;\r\n case Enums.LogLevel.Error:\r\n console.error(message, optionalParams);\r\n break;\r\n default:\r\n console.log(message, optionalParams);\r\n break;\r\n }\r\n /* eslint-enable no-console */\r\n }\r\n }\r\n}\r\nvar ActivityRequest = /** @class */ (function () {\r\n function ActivityRequest(action, trigger, consecutiveActions) {\r\n this.action = action;\r\n this.trigger = trigger;\r\n this.consecutiveActions = consecutiveActions;\r\n this.attemptNumber = 0;\r\n }\r\n // eslint-disable-next-line @typescript-eslint/require-await\r\n ActivityRequest.prototype.retryAsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (this.onSend) {\r\n this.onSend(this);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n return ActivityRequest;\r\n}());\r\nvar AdaptiveApplet = /** @class */ (function () {\r\n function AdaptiveApplet() {\r\n this._allowAutomaticCardUpdate = false;\r\n this.renderedElement = document.createElement(\"div\");\r\n this.renderedElement.className = \"aaf-cardHost\";\r\n this.renderedElement.style.position = \"relative\";\r\n this.renderedElement.style.display = \"flex\";\r\n this.renderedElement.style.flexDirection = \"column\";\r\n this._cardHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement.className = \"aaf-refreshButtonHost\";\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this.renderedElement.appendChild(this._cardHostElement);\r\n this.renderedElement.appendChild(this._refreshButtonHostElement);\r\n }\r\n AdaptiveApplet.prototype.displayCard = function (card) {\r\n if (card.renderedElement) {\r\n Utils.clearElementChildren(this._cardHostElement);\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this._cardHostElement.appendChild(card.renderedElement);\r\n }\r\n else {\r\n throw new Error(\"displayCard: undefined card.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.showManualRefreshButton = function (refreshAction) {\r\n var _this = this;\r\n var displayBuiltInManualRefreshButton = this.onShowManualRefreshButton\r\n ? this.onShowManualRefreshButton(this)\r\n : true;\r\n if (displayBuiltInManualRefreshButton) {\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n var renderedRefreshButton = undefined;\r\n if (this.onRenderManualRefreshButton) {\r\n renderedRefreshButton = this.onRenderManualRefreshButton(this);\r\n }\r\n else {\r\n var message = strings_1.Strings.runtime.refreshThisCard();\r\n if (shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Automatic) {\r\n var autoRefreshPausedMessage = strings_1.Strings.runtime.automaticRefreshPaused();\r\n if (autoRefreshPausedMessage[autoRefreshPausedMessage.length - 1] !== \" \") {\r\n autoRefreshPausedMessage += \" \";\r\n }\r\n message = strings_1.Strings.runtime.clckToRestartAutomaticRefresh();\r\n }\r\n var cardPayload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.2\",\r\n body: [\r\n {\r\n type: \"RichTextBlock\",\r\n horizontalAlignment: \"right\",\r\n inlines: [\r\n {\r\n type: \"TextRun\",\r\n text: message,\r\n selectAction: {\r\n type: \"Action.Submit\",\r\n id: \"refreshCard\"\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(cardPayload, new card_elements_1.SerializationContext(serialization_1.Versions.v1_2));\r\n card.onExecuteAction = function (action) {\r\n if (action.id === \"refreshCard\") {\r\n Utils.clearElementChildren(_this._refreshButtonHostElement);\r\n _this.internalExecuteAction(refreshAction, activity_request_1.ActivityRequestTrigger.Automatic, 0);\r\n }\r\n };\r\n renderedRefreshButton = card.render();\r\n }\r\n if (renderedRefreshButton) {\r\n Utils.clearElementChildren(this._refreshButtonHostElement);\r\n this._refreshButtonHostElement.appendChild(renderedRefreshButton);\r\n this._refreshButtonHostElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.createActivityRequest = function (action, trigger, consecutiveActions) {\r\n var _this = this;\r\n if (this.card) {\r\n var request_1 = new ActivityRequest(action, trigger, consecutiveActions);\r\n request_1.onSend = function (sender) {\r\n sender.attemptNumber++;\r\n void _this.internalSendActivityRequestAsync(request_1);\r\n };\r\n var cancel = this.onPrepareActivityRequest\r\n ? !this.onPrepareActivityRequest(this, request_1, action)\r\n : false;\r\n return cancel ? undefined : request_1;\r\n }\r\n else {\r\n throw new Error(\"createActivityRequest: no card has been set.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.createMagicCodeInputCard = function (attemptNumber) {\r\n var payload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.0\",\r\n body: [\r\n {\r\n type: \"TextBlock\",\r\n color: \"attention\",\r\n text: attemptNumber === 1 ? undefined : \"That didn't work... let's try again.\",\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"TextBlock\",\r\n text: 'Please login in the popup. You will obtain a magic code. Paste that code below and select \"Submit\"',\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"Input.Text\",\r\n id: \"magicCode\",\r\n placeholder: \"Enter magic code\"\r\n },\r\n {\r\n type: \"ActionSet\",\r\n horizontalAlignment: \"center\",\r\n actions: [\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet._submitMagicCodeActionId,\r\n title: \"Submit\"\r\n },\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet._cancelMagicCodeAuthActionId,\r\n title: \"Cancel\"\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(payload);\r\n return card;\r\n };\r\n AdaptiveApplet.prototype.cancelAutomaticRefresh = function () {\r\n if (this._allowAutomaticCardUpdate) {\r\n logEvent(Enums.LogLevel.Warning, \"Automatic card refresh has been cancelled as a result of the user interacting with the card.\");\r\n }\r\n this._allowAutomaticCardUpdate = false;\r\n };\r\n AdaptiveApplet.prototype.createSerializationContext = function () {\r\n return this.onCreateSerializationContext\r\n ? this.onCreateSerializationContext(this)\r\n : new card_elements_1.SerializationContext();\r\n };\r\n AdaptiveApplet.prototype.internalSetCard = function (payload, consecutiveActions) {\r\n var _this = this;\r\n if (typeof payload === \"object\" && payload[\"type\"] === \"AdaptiveCard\") {\r\n this._cardPayload = payload;\r\n }\r\n if (this._cardPayload) {\r\n try {\r\n var card = new card_elements_1.AdaptiveCard();\r\n if (this.hostConfig) {\r\n card.hostConfig = this.hostConfig;\r\n }\r\n var serializationContext = this.createSerializationContext();\r\n card.parse(this._cardPayload, serializationContext);\r\n var doChangeCard = this.onCardChanging\r\n ? this.onCardChanging(this, this._cardPayload)\r\n : true;\r\n if (doChangeCard) {\r\n this._card = card;\r\n if (this._card.authentication &&\r\n this._card.authentication.tokenExchangeResource &&\r\n this.onPrefetchSSOToken) {\r\n this.onPrefetchSSOToken(this, this._card.authentication.tokenExchangeResource);\r\n }\r\n this._card.onExecuteAction = function (action) {\r\n // If the user takes an action, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n _this.internalExecuteAction(action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n };\r\n this._card.onInputValueChanged = function (input) {\r\n var _a, _b, _c;\r\n // If the user modifies an input, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n if (input instanceof card_elements_1.ChoiceSetInput && input.isDynamicTypeahead()) {\r\n var filter = input.getFilterForDynamicSearch();\r\n if (filter) {\r\n var dataQueryAction = new card_elements_1.DataQuery();\r\n dataQueryAction.filter = filter;\r\n dataQueryAction.dataset = ((_a = input.choicesData) === null || _a === void 0 ? void 0 : _a.dataset) || \"\";\r\n dataQueryAction.count = (_b = input.choicesData) === null || _b === void 0 ? void 0 : _b.count;\r\n dataQueryAction.skip = (_c = input.choicesData) === null || _c === void 0 ? void 0 : _c.skip;\r\n _this._choiceSet = input;\r\n _this.internalExecuteAction(dataQueryAction, activity_request_1.ActivityRequestTrigger.Manual, 0 // consecutiveActions\r\n );\r\n }\r\n }\r\n };\r\n this._card.render();\r\n if (this._card.renderedElement) {\r\n this.displayCard(this._card);\r\n if (this.onCardChanged) {\r\n this.onCardChanged(this);\r\n }\r\n if (this._card.refresh) {\r\n if (shared_1.GlobalSettings.applets.refresh.mode ===\r\n Enums.RefreshMode.Automatic &&\r\n consecutiveActions <\r\n shared_1.GlobalSettings.applets.refresh\r\n .maximumConsecutiveAutomaticRefreshes) {\r\n if (shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes <=\r\n 0) {\r\n logEvent(Enums.LogLevel.Info, \"Triggering automatic card refresh number \" +\r\n (consecutiveActions + 1));\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveActions + 1);\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Scheduling automatic card refresh number \" +\r\n (consecutiveActions + 1) +\r\n \" in \" +\r\n shared_1.GlobalSettings.applets.refresh\r\n .timeBetweenAutomaticRefreshes +\r\n \"ms\");\r\n var action_1 = this._card.refresh.action;\r\n this._allowAutomaticCardUpdate = true;\r\n window.setTimeout(function () {\r\n if (_this._allowAutomaticCardUpdate) {\r\n _this.internalExecuteAction(action_1, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveActions + 1);\r\n }\r\n }, shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes);\r\n }\r\n }\r\n else if (shared_1.GlobalSettings.applets.refresh.mode !== Enums.RefreshMode.Disabled) {\r\n if (consecutiveActions > 0) {\r\n logEvent(Enums.LogLevel.Warning, \"Stopping automatic refreshes after \" +\r\n consecutiveActions +\r\n \" consecutive refreshes.\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Warning, \"The card has a refresh section, but automatic refreshes are disabled.\");\r\n }\r\n if (shared_1.GlobalSettings.applets.refresh\r\n .allowManualRefreshesAfterAutomaticRefreshes ||\r\n shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Manual) {\r\n logEvent(Enums.LogLevel.Info, \"Showing manual refresh button.\");\r\n this.showManualRefreshButton(this._card.refresh.action);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch (error) {\r\n // Ignore all errors\r\n logEvent(Enums.LogLevel.Error, \"setCard: \" + error);\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalExecuteAction = function (action, trigger, consecutiveActions) {\r\n if (action instanceof card_elements_1.UniversalAction) {\r\n if (this.channelAdapter) {\r\n var request = this.createActivityRequest(action, trigger, consecutiveActions);\r\n if (request) {\r\n void request.retryAsync();\r\n }\r\n }\r\n else {\r\n throw new Error(\"internalExecuteAction: No channel adapter set.\");\r\n }\r\n }\r\n if (this.onAction) {\r\n this.onAction(this, action);\r\n }\r\n };\r\n AdaptiveApplet.prototype.createProgressOverlay = function (request) {\r\n if (!this._progressOverlay) {\r\n if (this.onCreateProgressOverlay) {\r\n this._progressOverlay = this.onCreateProgressOverlay(this, request);\r\n }\r\n else {\r\n this._progressOverlay = document.createElement(\"div\");\r\n this._progressOverlay.className = \"aaf-progress-overlay\";\r\n var spinner = document.createElement(\"div\");\r\n spinner.className = \"aaf-spinner\";\r\n spinner.style.width = \"28px\";\r\n spinner.style.height = \"28px\";\r\n this._progressOverlay.appendChild(spinner);\r\n }\r\n }\r\n return this._progressOverlay;\r\n };\r\n AdaptiveApplet.prototype.removeProgressOverlay = function (request) {\r\n if (this.onRemoveProgressOverlay) {\r\n this.onRemoveProgressOverlay(this, request);\r\n }\r\n if (this._progressOverlay !== undefined) {\r\n this.renderedElement.removeChild(this._progressOverlay);\r\n this._progressOverlay = undefined;\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestSucceeded = function (response, parsedContent) {\r\n if (this.onActivityRequestSucceeded) {\r\n this.onActivityRequestSucceeded(this, response, parsedContent);\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestFailed = function (response) {\r\n return this.onActivityRequestFailed\r\n ? this.onActivityRequestFailed(this, response)\r\n : shared_1.GlobalSettings.applets.defaultTimeBetweenRetryAttempts;\r\n };\r\n AdaptiveApplet.prototype.showAuthCodeInputDialog = function (request) {\r\n var _this = this;\r\n var showBuiltInAuthCodeInputCard = this.onShowAuthCodeInputDialog\r\n ? this.onShowAuthCodeInputDialog(this, request)\r\n : true;\r\n if (showBuiltInAuthCodeInputCard) {\r\n var authCodeInputCard = this.createMagicCodeInputCard(request.attemptNumber);\r\n authCodeInputCard.render();\r\n authCodeInputCard.onExecuteAction = function (submitMagicCodeAction) {\r\n if (_this.card && submitMagicCodeAction instanceof card_elements_1.SubmitAction) {\r\n switch (submitMagicCodeAction.id) {\r\n case AdaptiveApplet._submitMagicCodeActionId:\r\n var authCode = undefined;\r\n if (submitMagicCodeAction.data &&\r\n typeof submitMagicCodeAction.data[\"magicCode\"] === \"string\") {\r\n authCode = submitMagicCodeAction.data[\"magicCode\"];\r\n }\r\n if (authCode) {\r\n _this.displayCard(_this.card);\r\n request.authCode = authCode;\r\n void request.retryAsync();\r\n }\r\n else {\r\n alert(\"Please enter the magic code you received.\");\r\n }\r\n break;\r\n case AdaptiveApplet._cancelMagicCodeAuthActionId:\r\n logEvent(Enums.LogLevel.Warning, \"Authentication cancelled by user.\");\r\n _this.displayCard(_this.card);\r\n break;\r\n default:\r\n logEvent(Enums.LogLevel.Error, \"Unexpected action taken from magic code input card (id = \" +\r\n submitMagicCodeAction.id +\r\n \")\");\r\n alert(strings_1.Strings.magicCodeInputCard.somethingWentWrong());\r\n break;\r\n }\r\n }\r\n };\r\n this.displayCard(authCodeInputCard);\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalSendActivityRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var action;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendActivityRequestAsync: channelAdapter is not set.\");\r\n }\r\n action = request.action;\r\n if (!(action instanceof card_elements_1.ExecuteAction)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, this.internalSendExecuteRequestAsync(request)];\r\n case 1:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 2:\r\n if (!(action instanceof card_elements_1.DataQuery)) return [3 /*break*/, 4];\r\n return [4 /*yield*/, this.internalSendDataQueryRequestAsync(request)];\r\n case 3:\r\n _a.sent();\r\n return [3 /*break*/, 5];\r\n case 4: throw new Error(\"internalSendActivityRequestAsync: Unhandled Action Type\");\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.internalSendExecuteRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var overlay, done, _loop_1, this_1, state_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendExecuteRequestAsync: channelAdapter is not set.\");\r\n }\r\n overlay = this.createProgressOverlay(request);\r\n if (overlay !== undefined) {\r\n this.renderedElement.appendChild(overlay);\r\n }\r\n done = false;\r\n _loop_1 = function () {\r\n var response, error_1, parsedContent, retryIn_1, attemptOAuth, left, top_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n response = undefined;\r\n if (request.attemptNumber === 1) {\r\n logEvent(Enums.LogLevel.Info, \"Sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Re-sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this_1.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _b.sent();\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_1);\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (!response) return [3 /*break*/, 10];\r\n if (!(response instanceof activity_request_1.SuccessResponse)) return [3 /*break*/, 5];\r\n this_1.removeProgressOverlay(request);\r\n if (response.rawContent === undefined) {\r\n throw new Error(\"internalSendExecuteRequestAsync: Action.Execute result is undefined\");\r\n }\r\n parsedContent = response.rawContent;\r\n try {\r\n parsedContent = JSON.parse(response.rawContent);\r\n }\r\n catch (_c) {\r\n // Leave parseContent as is\r\n }\r\n if (typeof parsedContent === \"string\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a string after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.activityRequestSucceeded(response, parsedContent);\r\n }\r\n else if (typeof parsedContent === \"object\" &&\r\n parsedContent[\"type\"] === \"AdaptiveCard\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned an Adaptive Card after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n this_1.internalSetCard(parsedContent, request.consecutiveActions);\r\n this_1.activityRequestSucceeded(response, this_1.card);\r\n }\r\n else {\r\n throw new Error(\"internalSendExecuteRequestAsync: Action.Execute result is of unsupported type (\" +\r\n typeof response.rawContent +\r\n \")\");\r\n }\r\n done = true;\r\n return [3 /*break*/, 10];\r\n case 5:\r\n if (!(response instanceof activity_request_1.ErrorResponse)) return [3 /*break*/, 9];\r\n retryIn_1 = this_1.activityRequestFailed(response);\r\n if (!(retryIn_1 >= 0 &&\r\n request.attemptNumber < shared_1.GlobalSettings.applets.maximumRetryAttempts)) return [3 /*break*/, 7];\r\n logEvent(Enums.LogLevel.Warning, \"Activity request failed: \".concat(response.error.message, \". Retrying in \").concat(retryIn_1, \"ms\"));\r\n request.attemptNumber++;\r\n return [4 /*yield*/, new Promise(function (resolve, _reject) {\r\n window.setTimeout(function () {\r\n resolve();\r\n }, retryIn_1);\r\n })];\r\n case 6:\r\n _b.sent();\r\n return [3 /*break*/, 8];\r\n case 7:\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \".concat(response.error.message, \". Giving up after \").concat(request.attemptNumber, \" attempt(s)\"));\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n _b.label = 8;\r\n case 8: return [3 /*break*/, 10];\r\n case 9:\r\n if (response instanceof activity_request_1.LoginRequestResponse) {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a LoginRequestResponse after \" +\r\n request.attemptNumber +\r\n \" attempt(s).\");\r\n if (request.attemptNumber <= shared_1.GlobalSettings.applets.maximumRetryAttempts) {\r\n attemptOAuth = true;\r\n if (response.tokenExchangeResource && this_1.onSSOTokenNeeded) {\r\n // Attempt to use SSO. The host will return true if it can handle SSO, in which case\r\n // we bypass OAuth\r\n attemptOAuth = !this_1.onSSOTokenNeeded(this_1, request, response.tokenExchangeResource);\r\n }\r\n if (attemptOAuth) {\r\n // Attempt to use OAuth\r\n this_1.removeProgressOverlay(request);\r\n if (response.signinButton === undefined) {\r\n throw new Error(\"internalSendExecuteRequestAsync: the login request doesn't contain a valid signin URL.\");\r\n }\r\n logEvent(Enums.LogLevel.Info, \"Login required at \" + response.signinButton.value);\r\n if (this_1.onShowSigninPrompt) {\r\n // Bypass the built-in auth prompt if the host app handles it\r\n this_1.onShowSigninPrompt(this_1, request, response.signinButton);\r\n }\r\n else {\r\n this_1.showAuthCodeInputDialog(request);\r\n left = window.screenX +\r\n (window.outerWidth - shared_1.GlobalSettings.applets.authPromptWidth) /\r\n 2;\r\n top_1 = window.screenY +\r\n (window.outerHeight - shared_1.GlobalSettings.applets.authPromptHeight) /\r\n 2;\r\n window.open(response.signinButton.value, response.signinButton.title\r\n ? response.signinButton.title\r\n : \"Sign in\", \"width=\".concat(shared_1.GlobalSettings.applets.authPromptWidth, \",height=\").concat(shared_1.GlobalSettings.applets.authPromptHeight, \",left=\").concat(left, \",top=\").concat(top_1));\r\n }\r\n }\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Error, \"Authentication failed. Giving up after \" +\r\n request.attemptNumber +\r\n \" attempt(s)\");\r\n alert(strings_1.Strings.magicCodeInputCard.authenticationFailed());\r\n }\r\n return [2 /*return*/, \"break\"];\r\n }\r\n else {\r\n throw new Error(\"Unhandled response type: \" + JSON.stringify(response));\r\n }\r\n _b.label = 10;\r\n case 10: return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 1;\r\n case 1:\r\n if (!!done) return [3 /*break*/, 3];\r\n return [5 /*yield**/, _loop_1()];\r\n case 2:\r\n state_1 = _a.sent();\r\n if (state_1 === \"break\")\r\n return [3 /*break*/, 3];\r\n return [3 /*break*/, 1];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.internalSendDataQueryRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var filter, response, error_2, rawResponse, parsedResponse;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendDataQueryRequestAsync: channel adapter not set\");\r\n }\r\n filter = request.action.filter;\r\n if (!this._choiceSet) return [3 /*break*/, 5];\r\n this._choiceSet.showLoadingIndicator();\r\n response = undefined;\r\n _a.label = 1;\r\n case 1:\r\n _a.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _a.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_2 = _a.sent();\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_2);\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (response) {\r\n if (response instanceof activity_request_1.SuccessResponse) {\r\n rawResponse = response.rawContent;\r\n if (rawResponse) {\r\n parsedResponse = void 0;\r\n try {\r\n parsedResponse = JSON.parse(rawResponse);\r\n }\r\n catch (error) {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Cannot parse response object: \" +\r\n rawResponse);\r\n }\r\n if (typeof parsedResponse === \"object\") {\r\n this._choiceSet.renderChoices(filter, parsedResponse);\r\n this.activityRequestSucceeded(response, rawResponse);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Error loading results\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is of unsupported type (\" +\r\n typeof rawResponse +\r\n \")\");\r\n }\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"internalSendDataQueryRequestAsync: Data.Query result is undefined\");\r\n }\r\n }\r\n else if (response instanceof activity_request_1.ErrorResponse) {\r\n this._choiceSet.showErrorIndicator(filter, response.error.message || \"Error loading results\");\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \".concat(response.error.message, \".\"));\r\n this.activityRequestFailed(response);\r\n }\r\n else {\r\n this._choiceSet.showErrorIndicator(filter, \"Unable to load\");\r\n throw new Error(\"Unhandled response type: \" + JSON.stringify(response));\r\n }\r\n }\r\n else {\r\n this._choiceSet.removeLoadingIndicator();\r\n }\r\n _a.label = 5;\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.refreshCard = function () {\r\n if (this._card && this._card.refresh) {\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n }\r\n };\r\n AdaptiveApplet.prototype.setCard = function (payload) {\r\n this.internalSetCard(payload, 0);\r\n };\r\n Object.defineProperty(AdaptiveApplet.prototype, \"card\", {\r\n get: function () {\r\n return this._card;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveApplet._submitMagicCodeActionId = \"submitMagicCode\";\r\n AdaptiveApplet._cancelMagicCodeAuthActionId = \"cancelMagicCodeAuth\";\r\n return AdaptiveApplet;\r\n}());\r\nexports.AdaptiveApplet = AdaptiveApplet;\r\n//# sourceMappingURL=adaptive-applet.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n__exportStar(require(\"./strings\"), exports);\r\n__exportStar(require(\"./enums\"), exports);\r\n__exportStar(require(\"./shared\"), exports);\r\n__exportStar(require(\"./utils\"), exports);\r\n__exportStar(require(\"./serialization\"), exports);\r\n__exportStar(require(\"./host-capabilities\"), exports);\r\n__exportStar(require(\"./host-config\"), exports);\r\n__exportStar(require(\"./registry\"), exports);\r\n__exportStar(require(\"./card-object\"), exports);\r\n__exportStar(require(\"./card-elements\"), exports);\r\n__exportStar(require(\"./carousel\"), exports);\r\n__exportStar(require(\"./table\"), exports);\r\n__exportStar(require(\"./channel-adapter\"), exports);\r\n__exportStar(require(\"./activity-request\"), exports);\r\n__exportStar(require(\"./adaptive-applet\"), exports);\r\n//# sourceMappingURL=adaptivecards.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.BackgroundImage = exports.ContainerBase = exports.StylableCardElementContainer = exports.ContainerStyleProperty = exports.ActionSet = exports.ShowCardAction = exports.HttpAction = exports.HttpHeader = exports.ToggleVisibilityAction = exports.OpenUrlAction = exports.DataQuery = exports.ExecuteAction = exports.UniversalAction = exports.SubmitAction = exports.SubmitActionBase = exports.Action = exports.TimeInput = exports.TimeProperty = exports.DateInput = exports.NumberInput = exports.FilteredChoiceSet = exports.ChoiceSetInput = exports.ChoiceSetInputDataQuery = exports.Choice = exports.ToggleInput = exports.TextInput = exports.Input = exports.Media = exports.YouTubePlayer = exports.DailymotionPlayer = exports.VimeoPlayer = exports.IFrameMediaMediaPlayer = exports.CustomMediaPlayer = exports.HTML5MediaPlayer = exports.MediaPlayer = exports.MediaSource = exports.CaptionSource = exports.ContentSource = exports.ImageSet = exports.CardElementContainer = exports.Image = exports.FactSet = exports.Fact = exports.RichTextBlock = exports.TextRun = exports.TextBlock = exports.BaseTextBlock = exports.ActionProperty = exports.CardElement = exports.renderSeparation = void 0;\r\nexports.SerializationContext = exports.AdaptiveCard = exports.Authentication = exports.TokenExchangeResource = exports.AuthCardButton = exports.RefreshDefinition = exports.RefreshActionProperty = exports.ContainerWithActions = exports.ColumnSet = exports.Column = exports.Container = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar host_config_1 = require(\"./host-config\");\r\nvar TextFormatters = require(\"./text-formatters\");\r\nvar card_object_1 = require(\"./card-object\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar strings_1 = require(\"./strings\");\r\nvar controls_1 = require(\"./controls\");\r\nfunction clearElement(element) {\r\n var _a, _b;\r\n var trustedHtml = (typeof window === 'undefined') ? \"\" : ((_b = (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.emptyHTML) !== null && _b !== void 0 ? _b : \"\");\r\n element.innerHTML = trustedHtml;\r\n}\r\nfunction renderSeparation(hostConfig, separationDefinition, orientation) {\r\n if (separationDefinition.spacing > 0 ||\r\n (separationDefinition.lineThickness && separationDefinition.lineThickness > 0)) {\r\n var separator = document.createElement(\"div\");\r\n separator.className = hostConfig.makeCssClassName(\"ac-\" +\r\n (orientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\") +\r\n \"-separator\");\r\n separator.setAttribute(\"aria-hidden\", \"true\");\r\n var color = separationDefinition.lineColor\r\n ? Utils.stringToCssColor(separationDefinition.lineColor)\r\n : \"\";\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingTop = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.marginBottom = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.borderBottom =\r\n separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.height = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n else {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingLeft = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.marginRight = separationDefinition.spacing / 2 + \"px\";\r\n separator.style.borderRight =\r\n separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.width = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n separator.style.overflow = \"hidden\";\r\n separator.style.flex = \"0 0 auto\";\r\n return separator;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nexports.renderSeparation = renderSeparation;\r\nvar CardElement = /** @class */ (function (_super) {\r\n __extends(CardElement, _super);\r\n function CardElement() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._truncatedDueToOverflow = false;\r\n return _this;\r\n }\r\n Object.defineProperty(CardElement.prototype, \"lang\", {\r\n get: function () {\r\n var lang = this.getValue(CardElement.langProperty);\r\n if (lang) {\r\n return lang;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.lang;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this.setValue(CardElement.langProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isVisible\", {\r\n get: function () {\r\n return this.getValue(CardElement.isVisibleProperty);\r\n },\r\n set: function (value) {\r\n // If the element is going to be hidden, reset any changes that were due\r\n // to overflow truncation (this ensures that if the element is later\r\n // un-hidden it has the right content)\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && !value) {\r\n this.undoOverflowTruncation();\r\n }\r\n if (this.isVisible !== value) {\r\n this.setValue(CardElement.isVisibleProperty, value);\r\n this.updateRenderedElementVisibility();\r\n if (this._renderedElement) {\r\n raiseElementVisibilityChangedEvent(this);\r\n }\r\n }\r\n if (this._renderedElement) {\r\n this._renderedElement.setAttribute(\"aria-expanded\", value.toString());\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.internalRenderSeparator = function () {\r\n var renderedSeparator = renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.spacing),\r\n lineThickness: this.separator ? this.hostConfig.separator.lineThickness : undefined,\r\n lineColor: this.separator ? this.hostConfig.separator.lineColor : undefined\r\n }, this.separatorOrientation);\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators &&\r\n renderedSeparator &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n // Adjust separator's margins if the option to always bleed separators is turned on\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer && parentContainer.getEffectivePadding()) {\r\n var parentPhysicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(parentContainer.getEffectivePadding());\r\n renderedSeparator.style.marginLeft = \"-\" + parentPhysicalPadding.left + \"px\";\r\n renderedSeparator.style.marginRight = \"-\" + parentPhysicalPadding.right + \"px\";\r\n }\r\n }\r\n return renderedSeparator;\r\n };\r\n CardElement.prototype.updateRenderedElementVisibility = function () {\r\n var displayMode = this.isDesignMode() || this.isVisible\r\n ? this._defaultRenderedElementDisplayMode\r\n : \"none\";\r\n if (this._renderedElement) {\r\n if (displayMode) {\r\n this._renderedElement.style.display = displayMode;\r\n }\r\n else {\r\n this._renderedElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n if (this._separatorElement) {\r\n if (this.parent && this.parent.isFirstElement(this)) {\r\n this._separatorElement.style.display = \"none\";\r\n }\r\n else {\r\n if (displayMode) {\r\n this._separatorElement.style.display = displayMode;\r\n }\r\n else {\r\n this._separatorElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n }\r\n };\r\n CardElement.prototype.hideElementDueToOverflow = function () {\r\n if (this._renderedElement && this.isVisible) {\r\n this._renderedElement.style.visibility = \"hidden\";\r\n this.isVisible = false;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n CardElement.prototype.showElementHiddenDueToOverflow = function () {\r\n if (this._renderedElement && !this.isVisible) {\r\n this._renderedElement.style.removeProperty(\"visibility\");\r\n this.isVisible = true;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.handleOverflow = function (maxHeight) {\r\n if (this.isVisible || this.isHiddenDueToOverflow()) {\r\n var handled = this.truncateOverflow(maxHeight);\r\n // Even if we were unable to truncate the element to fit this time,\r\n // it still could have been previously truncated\r\n this._truncatedDueToOverflow = handled || this._truncatedDueToOverflow;\r\n if (!handled) {\r\n this.hideElementDueToOverflow();\r\n }\r\n else if (handled && !this.isVisible) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.resetOverflow = function () {\r\n var sizeChanged = false;\r\n if (this._truncatedDueToOverflow) {\r\n this.undoOverflowTruncation();\r\n this._truncatedDueToOverflow = false;\r\n sizeChanged = true;\r\n }\r\n if (this.isHiddenDueToOverflow()) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n return sizeChanged;\r\n };\r\n CardElement.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n CardElement.prototype.createPlaceholderElement = function () {\r\n var styleDefinition = this.getEffectiveStyleDefinition();\r\n var foregroundCssColor = Utils.stringToCssColor(styleDefinition.foregroundColors.default.subtle);\r\n var element = document.createElement(\"div\");\r\n element.style.border = \"1px dashed \" + foregroundCssColor;\r\n element.style.padding = \"4px\";\r\n element.style.minHeight = \"32px\";\r\n element.style.fontSize = \"10px\";\r\n if (foregroundCssColor) {\r\n element.style.color = foregroundCssColor;\r\n }\r\n element.innerText = strings_1.Strings.defaults.emptyElementText(this.getJsonTypeName());\r\n return element;\r\n };\r\n CardElement.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n if (this.height === \"auto\") {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n }\r\n else {\r\n renderedElement.style.flex = \"1 1 auto\";\r\n }\r\n };\r\n /*\r\n * Called when mouse enters or leaves the card.\r\n * Inputs elements need to update their visual state in such events like showing or hiding borders etc.\r\n * It calls Input.updateVisualState(eventType) for all inputs.\r\n * This method on input (updateVisualState) is supposed to be called from card level on mouse events.\r\n */\r\n CardElement.prototype.updateInputsVisualState = function (hover) {\r\n var allInputs = this.getAllInputs();\r\n var inputEventType = !!hover ? InputEventType.MouseEnterOnCard : InputEventType.MouseLeaveOnCard;\r\n allInputs.forEach(function (input) { return input.updateVisualState(inputEventType); });\r\n };\r\n CardElement.prototype.isDisplayed = function () {\r\n return (this._renderedElement !== undefined &&\r\n this.isVisible &&\r\n this._renderedElement.offsetHeight > 0);\r\n };\r\n CardElement.prototype.overrideInternalRender = function () {\r\n return this.internalRender();\r\n };\r\n CardElement.prototype.applyPadding = function () {\r\n if (this.separatorElement && this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators && !this.isBleeding()) {\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.separatorElement.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n }\r\n else {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n /*\r\n * Called when this element overflows the bottom of the card.\r\n * maxHeight will be the amount of space still available on the card (0 if\r\n * the element is fully off the card).\r\n */\r\n CardElement.prototype.truncateOverflow = function (_maxHeight) {\r\n // Child implementations should return true if the element handled\r\n // the truncation request such that its content fits within maxHeight,\r\n // false if the element should fall back to being hidden\r\n return false;\r\n };\r\n /*\r\n * This should reverse any changes performed in truncateOverflow().\r\n */\r\n CardElement.prototype.undoOverflowTruncation = function () {\r\n return;\r\n };\r\n CardElement.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition();\r\n };\r\n CardElement.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n return false;\r\n };\r\n CardElement.prototype.getHasBorder = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getPadding = function () {\r\n return this._padding;\r\n };\r\n CardElement.prototype.setPadding = function (value) {\r\n this._padding = value;\r\n };\r\n CardElement.prototype.shouldSerialize = function (context) {\r\n return context.elementRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Horizontal;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"defaultStyle\", {\r\n get: function () {\r\n return Enums.ContainerStyle.Default;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.parse = function (source, context) {\r\n _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n CardElement.prototype.asString = function () {\r\n return \"\";\r\n };\r\n CardElement.prototype.isBleeding = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getEffectiveStyle = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveStyle();\r\n }\r\n return this.defaultStyle;\r\n };\r\n CardElement.prototype.getEffectiveStyleDefinition = function () {\r\n return this.hostConfig.containerStyles.getStyleByName(this.getEffectiveStyle());\r\n };\r\n CardElement.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveTextStyleDefinition();\r\n }\r\n return this.hostConfig.textStyles.default;\r\n };\r\n CardElement.prototype.getForbiddenActionTypes = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getImmediateSurroundingPadding = function (result, processTop, processRight, processBottom, processLeft) {\r\n if (processTop === void 0) { processTop = true; }\r\n if (processRight === void 0) { processRight = true; }\r\n if (processBottom === void 0) { processBottom = true; }\r\n if (processLeft === void 0) { processLeft = true; }\r\n if (this.parent) {\r\n var doProcessTop = processTop && this.parent.isTopElement(this);\r\n var doProcessRight = processRight && this.parent.isRightMostElement(this);\r\n var doProcessBottom = processBottom && this.parent.isBottomElement(this);\r\n var doProcessLeft = processLeft && this.parent.isLeftMostElement(this);\r\n var effectivePadding = this.parent.getEffectivePadding();\r\n if (effectivePadding) {\r\n if (doProcessTop && effectivePadding.top !== Enums.Spacing.None) {\r\n result.top = effectivePadding.top;\r\n doProcessTop = false;\r\n }\r\n if (doProcessRight && effectivePadding.right !== Enums.Spacing.None) {\r\n result.right = effectivePadding.right;\r\n doProcessRight = false;\r\n }\r\n if (doProcessBottom && effectivePadding.bottom !== Enums.Spacing.None) {\r\n result.bottom = effectivePadding.bottom;\r\n doProcessBottom = false;\r\n }\r\n if (doProcessLeft && effectivePadding.left !== Enums.Spacing.None) {\r\n result.left = effectivePadding.left;\r\n doProcessLeft = false;\r\n }\r\n }\r\n if (doProcessTop || doProcessRight || doProcessBottom || doProcessLeft) {\r\n this.parent.getImmediateSurroundingPadding(result, doProcessTop, doProcessRight, doProcessBottom, doProcessLeft);\r\n }\r\n }\r\n };\r\n CardElement.prototype.getActionCount = function () {\r\n return 0;\r\n };\r\n CardElement.prototype.getActionAt = function (index) {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n };\r\n CardElement.prototype.indexOfAction = function (action) {\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n if (this.getActionAt(i) === action) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n CardElement.prototype.remove = function () {\r\n if (this.parent && this.parent instanceof CardElementContainer) {\r\n return this.parent.removeItem(this);\r\n }\r\n return false;\r\n };\r\n CardElement.prototype.render = function () {\r\n this._renderedElement = this.overrideInternalRender();\r\n this._separatorElement = this.internalRenderSeparator();\r\n if (this._renderedElement) {\r\n if (this.id) {\r\n this._renderedElement.id = this.id;\r\n }\r\n if (this.customCssSelector) {\r\n this._renderedElement.classList.add(this.customCssSelector);\r\n }\r\n this._renderedElement.style.boxSizing = \"border-box\";\r\n this._defaultRenderedElementDisplayMode = this._renderedElement.style.display\r\n ? this._renderedElement.style.display\r\n : undefined;\r\n this.adjustRenderedElementSize(this._renderedElement);\r\n this.updateLayout(false);\r\n }\r\n else if (this.isDesignMode()) {\r\n this._renderedElement = this.createPlaceholderElement();\r\n }\r\n return this._renderedElement;\r\n };\r\n CardElement.prototype.updateLayout = function (_processChildren) {\r\n if (_processChildren === void 0) { _processChildren = true; }\r\n this.updateRenderedElementVisibility();\r\n this.applyPadding();\r\n };\r\n CardElement.prototype.updateActionsEnabledState = function () {\r\n var allActions = this.getRootElement().getAllActions();\r\n for (var _i = 0, allActions_1 = allActions; _i < allActions_1.length; _i++) {\r\n var action = allActions_1[_i];\r\n action.updateEnabledState();\r\n }\r\n };\r\n CardElement.prototype.indexOf = function (_cardElement) {\r\n return -1;\r\n };\r\n CardElement.prototype.isDesignMode = function () {\r\n var rootElement = this.getRootElement();\r\n return rootElement instanceof AdaptiveCard && rootElement.designMode;\r\n };\r\n CardElement.prototype.isFirstElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isLastElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isAtTheVeryLeft = function () {\r\n return this.parent\r\n ? this.parent.isLeftMostElement(this) && this.parent.isAtTheVeryLeft()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryRight = function () {\r\n return this.parent\r\n ? this.parent.isRightMostElement(this) && this.parent.isAtTheVeryRight()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryTop = function () {\r\n return this.parent\r\n ? this.parent.isFirstElement(this) && this.parent.isAtTheVeryTop()\r\n : true;\r\n };\r\n CardElement.prototype.isAtTheVeryBottom = function () {\r\n return this.parent\r\n ? this.parent.isLastElement(this) && this.parent.isAtTheVeryBottom()\r\n : true;\r\n };\r\n CardElement.prototype.isBleedingAtTop = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isBleedingAtBottom = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isLeftMostElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isRightMostElement = function (_element) {\r\n return true;\r\n };\r\n CardElement.prototype.isTopElement = function (element) {\r\n return this.isFirstElement(element);\r\n };\r\n CardElement.prototype.isBottomElement = function (element) {\r\n return this.isLastElement(element);\r\n };\r\n CardElement.prototype.isHiddenDueToOverflow = function () {\r\n return (this._renderedElement !== undefined &&\r\n this._renderedElement.style.visibility === \"hidden\");\r\n };\r\n CardElement.prototype.getRootElement = function () {\r\n return this.getRootObject();\r\n };\r\n CardElement.prototype.getParentContainer = function () {\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n if (currentElement instanceof Container) {\r\n return currentElement;\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return undefined;\r\n };\r\n CardElement.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n CardElement.prototype.getAllActions = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\r\n };\r\n CardElement.prototype.getResourceInformation = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getElementById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n CardElement.prototype.getActionById = function (_id) {\r\n return undefined;\r\n };\r\n CardElement.prototype.getElementByIdFromAction = function (id) {\r\n var result = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action instanceof ShowCardAction) {\r\n result = action.card.getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n CardElement.prototype.getEffectivePadding = function () {\r\n var padding = this.getPadding();\r\n return padding ? padding : this.getDefaultPadding();\r\n };\r\n CardElement.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parent) {\r\n return this.parent.getEffectiveHorizontalAlignment();\r\n }\r\n return Enums.HorizontalAlignment.Left;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"hostConfig\", {\r\n get: function () {\r\n if (this._hostConfig) {\r\n return this._hostConfig;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.hostConfig;\r\n }\r\n else {\r\n return host_config_1.defaultHostConfig;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"index\", {\r\n get: function () {\r\n if (this.parent) {\r\n return this.parent.indexOf(this);\r\n }\r\n else {\r\n return 0;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInteractive\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isStandalone\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInline\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.separatorElement) {\r\n return !this.parent.isFirstElement(this) && (this.isVisible || this.isDesignMode());\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorElement\", {\r\n get: function () {\r\n return this._separatorElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.langProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"lang\", true, /^[a-z]{2,3}$/gi);\r\n CardElement.isVisibleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"isVisible\", true);\r\n CardElement.separatorProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"separator\", false);\r\n CardElement.heightProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_1, \"height\", [{ value: \"auto\" }, { value: \"stretch\" }], \"auto\");\r\n CardElement.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"horizontalAlignment\", Enums.HorizontalAlignment);\r\n CardElement.spacingProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"spacing\", Enums.Spacing, Enums.Spacing.Default);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.horizontalAlignmentProperty)\r\n ], CardElement.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.spacingProperty)\r\n ], CardElement.prototype, \"spacing\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.separatorProperty)\r\n ], CardElement.prototype, \"separator\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.heightProperty)\r\n ], CardElement.prototype, \"height\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.langProperty)\r\n ], CardElement.prototype, \"lang\", null);\r\n __decorate([\r\n (0, serialization_1.property)(CardElement.isVisibleProperty)\r\n ], CardElement.prototype, \"isVisible\", null);\r\n return CardElement;\r\n}(card_object_1.CardObject));\r\nexports.CardElement = CardElement;\r\nvar ActionProperty = /** @class */ (function (_super) {\r\n __extends(ActionProperty, _super);\r\n function ActionProperty(targetVersion, name, forbiddenActionTypes) {\r\n if (forbiddenActionTypes === void 0) { forbiddenActionTypes = []; }\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.forbiddenActionTypes = forbiddenActionTypes;\r\n return _this;\r\n }\r\n ActionProperty.prototype.parse = function (sender, source, context) {\r\n var parent = sender;\r\n return context.parseAction(parent, source[this.name], this.forbiddenActionTypes, parent.isDesignMode());\r\n };\r\n ActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return ActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.ActionProperty = ActionProperty;\r\nvar BaseTextBlock = /** @class */ (function (_super) {\r\n __extends(BaseTextBlock, _super);\r\n function BaseTextBlock(text) {\r\n var _this = _super.call(this) || this;\r\n _this.ariaHidden = false;\r\n if (text) {\r\n _this.text = text;\r\n }\r\n return _this;\r\n }\r\n BaseTextBlock.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // selectAction is declared on BaseTextBlock but is only exposed on TextRun,\r\n // so the property is removed from the BaseTextBlock schema.\r\n schema.remove(BaseTextBlock.selectActionProperty);\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"text\", {\r\n get: function () {\r\n return this.getValue(BaseTextBlock.textProperty);\r\n },\r\n set: function (value) {\r\n this.setText(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n BaseTextBlock.prototype.getFontSize = function (fontType) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n return fontType.fontSizes.small;\r\n case Enums.TextSize.Medium:\r\n return fontType.fontSizes.medium;\r\n case Enums.TextSize.Large:\r\n return fontType.fontSizes.large;\r\n case Enums.TextSize.ExtraLarge:\r\n return fontType.fontSizes.extraLarge;\r\n default:\r\n return fontType.fontSizes.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.getColorDefinition = function (colorSet, color) {\r\n switch (color) {\r\n case Enums.TextColor.Accent:\r\n return colorSet.accent;\r\n case Enums.TextColor.Dark:\r\n return colorSet.dark;\r\n case Enums.TextColor.Light:\r\n return colorSet.light;\r\n case Enums.TextColor.Good:\r\n return colorSet.good;\r\n case Enums.TextColor.Warning:\r\n return colorSet.warning;\r\n case Enums.TextColor.Attention:\r\n return colorSet.attention;\r\n default:\r\n return colorSet.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.setText = function (value) {\r\n this.setValue(BaseTextBlock.textProperty, value);\r\n };\r\n BaseTextBlock.prototype.init = function (textDefinition) {\r\n this.size = textDefinition.size;\r\n this.weight = textDefinition.weight;\r\n this.color = textDefinition.color;\r\n this.isSubtle = textDefinition.isSubtle;\r\n };\r\n BaseTextBlock.prototype.asString = function () {\r\n return this.text;\r\n };\r\n BaseTextBlock.prototype.applyStylesTo = function (targetElement) {\r\n var fontType = this.hostConfig.getFontTypeDefinition(this.effectiveFontType);\r\n if (fontType.fontFamily) {\r\n targetElement.style.fontFamily = fontType.fontFamily;\r\n }\r\n var fontSize;\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n fontSize = fontType.fontSizes.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n fontSize = fontType.fontSizes.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n fontSize = fontType.fontSizes.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n fontSize = fontType.fontSizes.extraLarge;\r\n break;\r\n default:\r\n fontSize = fontType.fontSizes.default;\r\n break;\r\n }\r\n targetElement.style.fontSize = fontSize + \"px\";\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n var targetColor = Utils.stringToCssColor(this.effectiveIsSubtle ? colorDefinition.subtle : colorDefinition.default);\r\n if (targetColor) {\r\n targetElement.style.color = targetColor;\r\n }\r\n var fontWeight;\r\n switch (this.effectiveWeight) {\r\n case Enums.TextWeight.Lighter:\r\n fontWeight = fontType.fontWeights.lighter;\r\n break;\r\n case Enums.TextWeight.Bolder:\r\n fontWeight = fontType.fontWeights.bolder;\r\n break;\r\n default:\r\n fontWeight = fontType.fontWeights.default;\r\n break;\r\n }\r\n targetElement.style.fontWeight = fontWeight.toString();\r\n if (this.ariaHidden) {\r\n targetElement.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n };\r\n BaseTextBlock.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveColor\", {\r\n get: function () {\r\n return this.color !== undefined ? this.color : this.getEffectiveTextStyleDefinition().color;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveFontType\", {\r\n get: function () {\r\n return this.fontType !== undefined\r\n ? this.fontType\r\n : this.getEffectiveTextStyleDefinition().fontType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveIsSubtle\", {\r\n get: function () {\r\n return this.isSubtle !== undefined\r\n ? this.isSubtle\r\n : this.getEffectiveTextStyleDefinition().isSubtle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveSize\", {\r\n get: function () {\r\n return this.size !== undefined ? this.size : this.getEffectiveTextStyleDefinition().size;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveWeight\", {\r\n get: function () {\r\n return this.weight !== undefined\r\n ? this.weight\r\n : this.getEffectiveTextStyleDefinition().weight;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n BaseTextBlock.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"text\", true);\r\n BaseTextBlock.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.TextSize);\r\n BaseTextBlock.weightProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"weight\", Enums.TextWeight);\r\n BaseTextBlock.colorProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"color\", Enums.TextColor);\r\n BaseTextBlock.isSubtleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isSubtle\");\r\n BaseTextBlock.fontTypeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fontType\", Enums.FontType);\r\n BaseTextBlock.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.sizeProperty)\r\n ], BaseTextBlock.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.weightProperty)\r\n ], BaseTextBlock.prototype, \"weight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.colorProperty)\r\n ], BaseTextBlock.prototype, \"color\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.fontTypeProperty)\r\n ], BaseTextBlock.prototype, \"fontType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.isSubtleProperty)\r\n ], BaseTextBlock.prototype, \"isSubtle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.textProperty)\r\n ], BaseTextBlock.prototype, \"text\", null);\r\n __decorate([\r\n (0, serialization_1.property)(BaseTextBlock.selectActionProperty)\r\n ], BaseTextBlock.prototype, \"selectAction\", void 0);\r\n return BaseTextBlock;\r\n}(CardElement));\r\nexports.BaseTextBlock = BaseTextBlock;\r\nvar TextBlock = /** @class */ (function (_super) {\r\n __extends(TextBlock, _super);\r\n function TextBlock() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = false;\r\n _this._treatAsPlainText = true;\r\n _this.useMarkdown = true;\r\n return _this;\r\n }\r\n TextBlock.prototype.restoreOriginalContent = function () {\r\n var _a, _b;\r\n if (this.renderedElement !== undefined) {\r\n if (this.maxLines && this.maxLines > 0) {\r\n this.renderedElement.style.maxHeight =\r\n this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n var originalHtml = (_b = (_a = TextBlock._ttRoundtripPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._originalInnerHtml)) !== null && _b !== void 0 ? _b : this._originalInnerHtml;\r\n this.renderedElement.innerHTML = originalHtml;\r\n }\r\n };\r\n TextBlock.prototype.truncateIfSupported = function (maxHeight) {\r\n if (this.renderedElement !== undefined) {\r\n // For now, only truncate TextBlocks that contain just a single\r\n // paragraph -- since the maxLines calculation doesn't take into\r\n // account Markdown lists\r\n var children = this.renderedElement.children;\r\n var isTextOnly = !children.length;\r\n var truncationSupported = isTextOnly ||\r\n (children.length === 1 && children[0].tagName.toLowerCase() === \"p\" && !children[0].children.length);\r\n if (truncationSupported) {\r\n var element = isTextOnly ? this.renderedElement : children[0];\r\n Utils.truncateText(element, maxHeight, this._computedLineHeight);\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.setText = function (value) {\r\n _super.prototype.setText.call(this, value);\r\n this._processedText = undefined;\r\n };\r\n TextBlock.prototype.internalRender = function () {\r\n var _this = this;\r\n var _a, _b;\r\n this._processedText = undefined;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textBlock\"));\r\n element.style.overflow = \"hidden\";\r\n this.applyStylesTo(element);\r\n if (this.style === \"heading\") {\r\n element.setAttribute(\"role\", \"heading\");\r\n var headingLevel = this.hostConfig.textBlock.headingLevel;\r\n if (headingLevel !== undefined && headingLevel > 0) {\r\n element.setAttribute(\"aria-level\", headingLevel.toString());\r\n }\r\n }\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(element);\r\n if (this.selectAction.isEffectivelyEnabled()) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._treatAsPlainText = true;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (this.useMarkdown && formattedText) {\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting) {\r\n formattedText = formattedText\r\n .replace(//g, \"===\")\r\n .replace(/<\\/mark>/g, \"/==/\");\r\n }\r\n var markdownProcessingResult = AdaptiveCard.applyMarkdown(formattedText);\r\n if (markdownProcessingResult.didProcess &&\r\n markdownProcessingResult.outputHtml) {\r\n this._processedText = markdownProcessingResult.outputHtml;\r\n this._treatAsPlainText = false;\r\n // Only process tag if markdown processing was applied because\r\n // markdown processing is also responsible for sanitizing the input string\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting && this._processedText) {\r\n var markStyle = \"\";\r\n var effectiveStyle = this.getEffectiveStyleDefinition();\r\n if (effectiveStyle.highlightBackgroundColor) {\r\n markStyle +=\r\n \"background-color: \" +\r\n effectiveStyle.highlightBackgroundColor +\r\n \";\";\r\n }\r\n if (effectiveStyle.highlightForegroundColor) {\r\n markStyle +=\r\n \"color: \" + effectiveStyle.highlightForegroundColor + \";\";\r\n }\r\n if (markStyle) {\r\n markStyle = 'style=\"' + markStyle + '\"';\r\n }\r\n this._processedText = this._processedText\r\n .replace(/===/g, \"\")\r\n .replace(/\\/==\\//g, \"\");\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._processedText = \"\";\r\n }\r\n if (this._treatAsPlainText) {\r\n element.innerText = this._processedText;\r\n }\r\n else {\r\n var processedHtml = (_b = (_a = TextBlock._ttMarkdownPolicy) === null || _a === void 0 ? void 0 : _a.createHTML(this._processedText)) !== null && _b !== void 0 ? _b : this._processedText;\r\n element.innerHTML = processedHtml;\r\n }\r\n if (element.firstElementChild instanceof HTMLElement) {\r\n var firstElementChild = element.firstElementChild;\r\n firstElementChild.style.marginTop = \"0px\";\r\n firstElementChild.style.width = \"100%\";\r\n if (!this.wrap) {\r\n firstElementChild.style.overflow = \"hidden\";\r\n firstElementChild.style.textOverflow = \"ellipsis\";\r\n }\r\n }\r\n if (element.lastElementChild instanceof HTMLElement) {\r\n element.lastElementChild.style.marginBottom = \"0px\";\r\n }\r\n var anchors = element.getElementsByTagName(\"a\");\r\n var _loop_1 = function (anchor) {\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (raiseAnchorClickedEvent(_this, anchor, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n }\r\n };\r\n anchor.oncontextmenu = function (e) {\r\n if (raiseAnchorClickedEvent(_this, anchor, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n return false;\r\n }\r\n return true;\r\n };\r\n };\r\n for (var _i = 0, _c = Array.from(anchors); _i < _c.length; _i++) {\r\n var anchor = _c[_i];\r\n _loop_1(anchor);\r\n }\r\n if (this.wrap) {\r\n element.style.wordWrap = \"break-word\";\r\n if (this.maxLines && this.maxLines > 0) {\r\n element.style.overflow = \"hidden\";\r\n if (Utils.isInternetExplorer() || !shared_1.GlobalSettings.useWebkitLineClamp) {\r\n element.style.maxHeight = this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n else {\r\n // While non standard, --webkit-line-clamp works in every browser (except IE)\r\n // and is a great solution to support the maxLines feature with ellipsis\r\n // truncation. With --webkit-line-clamp there is need to use explicit line heights\r\n element.style.removeProperty(\"line-height\");\r\n element.style.display = \"-webkit-box\";\r\n element.style.webkitBoxOrient = \"vertical\";\r\n element.style.webkitLineClamp = this.maxLines.toString();\r\n }\r\n }\r\n }\r\n else {\r\n element.style.whiteSpace = \"nowrap\";\r\n element.style.textOverflow = \"ellipsis\";\r\n }\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation ||\r\n shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n this._originalInnerHtml = element.innerHTML;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextBlock.prototype.truncateOverflow = function (maxHeight) {\r\n if (maxHeight >= this._computedLineHeight) {\r\n return this.truncateIfSupported(maxHeight);\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.undoOverflowTruncation = function () {\r\n this.restoreOriginalContent();\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines) {\r\n var maxHeight = this._computedLineHeight * this.maxLines;\r\n this.truncateIfSupported(maxHeight);\r\n }\r\n };\r\n TextBlock.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n targetElement.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n targetElement.style.textAlign = \"end\";\r\n break;\r\n default:\r\n targetElement.style.textAlign = \"start\";\r\n break;\r\n }\r\n var lineHeights = this.hostConfig.lineHeights;\r\n if (lineHeights) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n this._computedLineHeight = lineHeights.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n this._computedLineHeight = lineHeights.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n this._computedLineHeight = lineHeights.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n this._computedLineHeight = lineHeights.extraLarge;\r\n break;\r\n default:\r\n this._computedLineHeight = lineHeights.default;\r\n break;\r\n }\r\n }\r\n else {\r\n // Looks like 1.33 is the magic number to compute line-height\r\n // from font size.\r\n this._computedLineHeight =\r\n this.getFontSize(this.hostConfig.getFontTypeDefinition(this.effectiveFontType)) *\r\n 1.33;\r\n }\r\n targetElement.style.lineHeight = this._computedLineHeight + \"px\";\r\n };\r\n TextBlock.prototype.getJsonTypeName = function () {\r\n return \"TextBlock\";\r\n };\r\n TextBlock.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.style) {\r\n return this.hostConfig.textStyles.getStyleByName(this.style);\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TextBlock.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = false; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines && this.isDisplayed()) {\r\n // Reset the element's innerHTML in case the available room for\r\n // content has increased\r\n this.restoreOriginalContent();\r\n this.truncateIfSupported(this._computedLineHeight * this.maxLines);\r\n }\r\n };\r\n var _a, _b;\r\n TextBlock.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"wrap\", false);\r\n TextBlock.maxLinesProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLines\");\r\n TextBlock.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"style\", [\r\n { value: \"default\" },\r\n { value: \"columnHeader\" },\r\n { value: \"heading\" }\r\n ]);\r\n // Markdown processing is handled outside of Adaptive Cards. It's up to the host to ensure that markdown is safely\r\n // processed.\r\n TextBlock._ttMarkdownPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#markdownPassthroughPolicy\", { createHTML: function (value) { return value; } });\r\n // When \"advanced\" truncation is enabled (see GlobalSettings.useAdvancedCardBottomTruncation and\r\n // GlobalSettings.useAdvancedTextBlockTruncation), we store the original pre-truncation content in\r\n // _originalInnerHtml so that we can restore/recalculate truncation later if space availability has changed (see\r\n // TextBlock.restoreOriginalContent())\r\n TextBlock._ttRoundtripPolicy = (typeof window === 'undefined') ? undefined : (_b = window.trustedTypes) === null || _b === void 0 ? void 0 : _b.createPolicy(\"adaptivecards#restoreContentsPolicy\", { createHTML: function (value) { return value; } });\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.wrapProperty)\r\n ], TextBlock.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.maxLinesProperty)\r\n ], TextBlock.prototype, \"maxLines\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextBlock.styleProperty)\r\n ], TextBlock.prototype, \"style\", void 0);\r\n return TextBlock;\r\n}(BaseTextBlock));\r\nexports.TextBlock = TextBlock;\r\nvar TextRun = /** @class */ (function (_super) {\r\n __extends(TextRun, _super);\r\n function TextRun() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.italic = false;\r\n _this.strikethrough = false;\r\n _this.highlight = false;\r\n _this.underline = false;\r\n return _this;\r\n }\r\n TextRun.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.add(BaseTextBlock.selectActionProperty);\r\n };\r\n //#endregion\r\n TextRun.prototype.internalRender = function () {\r\n var _this = this;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (!formattedText) {\r\n formattedText = \"\";\r\n }\r\n var element = document.createElement(\"span\");\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textRun\"));\r\n this.applyStylesTo(element);\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n var anchor = document.createElement(\"a\");\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n var href = this.selectAction.getHref();\r\n anchor.href = href ? href : \"\";\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(anchor);\r\n anchor.innerText = formattedText;\r\n element.appendChild(anchor);\r\n }\r\n else {\r\n element.innerText = formattedText;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextRun.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n if (this.italic) {\r\n targetElement.style.fontStyle = \"italic\";\r\n }\r\n if (this.strikethrough) {\r\n targetElement.style.textDecoration = \"line-through\";\r\n }\r\n if (this.highlight) {\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n var backgroundColor = Utils.stringToCssColor(this.effectiveIsSubtle\r\n ? colorDefinition.highlightColors.subtle\r\n : colorDefinition.highlightColors.default);\r\n if (backgroundColor) {\r\n targetElement.style.backgroundColor = backgroundColor;\r\n }\r\n }\r\n if (this.underline) {\r\n targetElement.style.textDecoration = \"underline\";\r\n }\r\n };\r\n TextRun.prototype.getJsonTypeName = function () {\r\n return \"TextRun\";\r\n };\r\n Object.defineProperty(TextRun.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TextRun.prototype, \"isInline\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextRun.italicProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"italic\", false);\r\n TextRun.strikethroughProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"strikethrough\", false);\r\n TextRun.highlightProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"highlight\", false);\r\n TextRun.underlineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"underline\", false);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.italicProperty)\r\n ], TextRun.prototype, \"italic\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.strikethroughProperty)\r\n ], TextRun.prototype, \"strikethrough\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.highlightProperty)\r\n ], TextRun.prototype, \"highlight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextRun.underlineProperty)\r\n ], TextRun.prototype, \"underline\", void 0);\r\n return TextRun;\r\n}(BaseTextBlock));\r\nexports.TextRun = TextRun;\r\nvar RichTextBlock = /** @class */ (function (_super) {\r\n __extends(RichTextBlock, _super);\r\n function RichTextBlock() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._inlines = [];\r\n return _this;\r\n }\r\n RichTextBlock.prototype.internalAddInline = function (inline, forceAdd) {\r\n if (forceAdd === void 0) { forceAdd = false; }\r\n if (!inline.isInline) {\r\n throw new Error(strings_1.Strings.errors.elementCannotBeUsedAsInline());\r\n }\r\n var doAdd = inline.parent === undefined || forceAdd;\r\n if (!doAdd && inline.parent !== this) {\r\n throw new Error(strings_1.Strings.errors.inlineAlreadyParented());\r\n }\r\n else {\r\n inline.setParent(this);\r\n this._inlines.push(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._inlines = [];\r\n if (Array.isArray(source[\"inlines\"])) {\r\n for (var _i = 0, _a = source[\"inlines\"]; _i < _a.length; _i++) {\r\n var jsonInline = _a[_i];\r\n var inline = void 0;\r\n if (typeof jsonInline === \"string\") {\r\n var textRun = new TextRun();\r\n textRun.text = jsonInline;\r\n inline = textRun;\r\n }\r\n else {\r\n // No fallback for inlines in 1.2\r\n inline = context.parseElement(this, jsonInline, [], false);\r\n }\r\n if (inline) {\r\n this.internalAddInline(inline, true);\r\n }\r\n }\r\n }\r\n };\r\n RichTextBlock.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this._inlines.length > 0) {\r\n var jsonInlines = [];\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n jsonInlines.push(inline.toJSON(context));\r\n }\r\n context.serializeValue(target, \"inlines\", jsonInlines);\r\n }\r\n };\r\n RichTextBlock.prototype.internalRender = function () {\r\n if (this._inlines.length > 0) {\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.className = this.hostConfig.makeCssClassName(\"ac-richTextBlock\");\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.textAlign = \"end\";\r\n break;\r\n default:\r\n element.style.textAlign = \"start\";\r\n break;\r\n }\r\n var renderedInlines = 0;\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n var renderedInline = inline.render();\r\n if (renderedInline) {\r\n element.appendChild(renderedInline);\r\n renderedInlines++;\r\n }\r\n }\r\n if (renderedInlines > 0) {\r\n return element;\r\n }\r\n }\r\n return undefined;\r\n };\r\n RichTextBlock.prototype.asString = function () {\r\n var result = \"\";\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n result += inline.asString();\r\n }\r\n return result;\r\n };\r\n RichTextBlock.prototype.getJsonTypeName = function () {\r\n return \"RichTextBlock\";\r\n };\r\n RichTextBlock.prototype.getInlineCount = function () {\r\n return this._inlines.length;\r\n };\r\n RichTextBlock.prototype.getInlineAt = function (index) {\r\n if (index >= 0 && index < this._inlines.length) {\r\n return this._inlines[index];\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n }\r\n };\r\n RichTextBlock.prototype.addInline = function (inline) {\r\n if (typeof inline === \"string\") {\r\n this.internalAddInline(new TextRun(inline));\r\n }\r\n else {\r\n this.internalAddInline(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.removeInline = function (inline) {\r\n var index = this._inlines.indexOf(inline);\r\n if (index >= 0) {\r\n this._inlines[index].setParent(undefined);\r\n this._inlines.splice(index, 1);\r\n return true;\r\n }\r\n return false;\r\n };\r\n return RichTextBlock;\r\n}(CardElement));\r\nexports.RichTextBlock = RichTextBlock;\r\nvar Fact = /** @class */ (function (_super) {\r\n __extends(Fact, _super);\r\n function Fact(name, value) {\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Fact.prototype.getSchemaKey = function () {\r\n return \"Fact\";\r\n };\r\n //#region Schema\r\n Fact.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Fact.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(Fact.titleProperty)\r\n ], Fact.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Fact.valueProperty)\r\n ], Fact.prototype, \"value\", void 0);\r\n return Fact;\r\n}(serialization_1.SerializableObject));\r\nexports.Fact = Fact;\r\nvar FactSet = /** @class */ (function (_super) {\r\n __extends(FactSet, _super);\r\n function FactSet() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(FactSet.prototype, \"useDefaultSizing\", {\r\n //#endregion\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n FactSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n var hostConfig = this.hostConfig;\r\n if (this.facts.length > 0) {\r\n element = document.createElement(\"table\");\r\n element.style.borderWidth = \"0px\";\r\n element.style.borderSpacing = \"0px\";\r\n element.style.borderStyle = \"none\";\r\n element.style.borderCollapse = \"collapse\";\r\n element.style.display = \"block\";\r\n element.style.overflow = \"hidden\";\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-factset\"));\r\n element.setAttribute(\"role\", \"presentation\");\r\n for (var i = 0; i < this.facts.length; i++) {\r\n var trElement = document.createElement(\"tr\");\r\n if (i > 0) {\r\n trElement.style.marginTop = hostConfig.factSet.spacing + \"px\";\r\n }\r\n // Title column\r\n var tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-title\"));\r\n if (hostConfig.factSet.title.maxWidth) {\r\n tdElement.style.maxWidth = hostConfig.factSet.title.maxWidth + \"px\";\r\n }\r\n tdElement.style.verticalAlign = \"top\";\r\n var textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text =\r\n !this.facts[i].name && this.isDesignMode() ? \"Title\" : this.facts[i].name;\r\n textBlock.size = hostConfig.factSet.title.size;\r\n textBlock.color = hostConfig.factSet.title.color;\r\n textBlock.isSubtle = hostConfig.factSet.title.isSubtle;\r\n textBlock.weight = hostConfig.factSet.title.weight;\r\n textBlock.wrap = hostConfig.factSet.title.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n // Spacer column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.width = \"10px\";\r\n Utils.appendChild(trElement, tdElement);\r\n // Value column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.style.verticalAlign = \"top\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-value\"));\r\n textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text = this.facts[i].value;\r\n textBlock.size = hostConfig.factSet.value.size;\r\n textBlock.color = hostConfig.factSet.value.color;\r\n textBlock.isSubtle = hostConfig.factSet.value.isSubtle;\r\n textBlock.weight = hostConfig.factSet.value.weight;\r\n textBlock.wrap = hostConfig.factSet.value.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n Utils.appendChild(element, trElement);\r\n }\r\n }\r\n return element;\r\n };\r\n FactSet.prototype.getJsonTypeName = function () {\r\n return \"FactSet\";\r\n };\r\n //#region Schema\r\n FactSet.factsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"facts\", Fact);\r\n __decorate([\r\n (0, serialization_1.property)(FactSet.factsProperty)\r\n ], FactSet.prototype, \"facts\", void 0);\r\n return FactSet;\r\n}(CardElement));\r\nexports.FactSet = FactSet;\r\nvar ImageDimensionProperty = /** @class */ (function (_super) {\r\n __extends(ImageDimensionProperty, _super);\r\n function ImageDimensionProperty(targetVersion, name, internalName, fallbackProperty) {\r\n var _this = _super.call(this, targetVersion, name) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.internalName = internalName;\r\n _this.fallbackProperty = fallbackProperty;\r\n return _this;\r\n }\r\n ImageDimensionProperty.prototype.getInternalName = function () {\r\n return this.internalName;\r\n };\r\n ImageDimensionProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n var isValid = false;\r\n if (typeof sourceValue === \"string\") {\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(sourceValue, true);\r\n if (size.unit === Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Swallow the exception\r\n }\r\n // If the source value isn't valid per this property definition,\r\n // check its validity per the fallback property, if specified\r\n if (!isValid && this.fallbackProperty) {\r\n isValid = this.fallbackProperty.isValidValue(sourceValue, context);\r\n }\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n }\r\n return result;\r\n };\r\n ImageDimensionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return ImageDimensionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar Image = /** @class */ (function (_super) {\r\n __extends(Image, _super);\r\n function Image() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.size = Enums.Size.Auto;\r\n _this.style = Enums.ImageStyle.Default;\r\n return _this;\r\n }\r\n Image.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(CardElement.heightProperty);\r\n };\r\n //#endregion\r\n Image.prototype.applySize = function (element) {\r\n if (this.pixelWidth || this.pixelHeight) {\r\n if (this.pixelWidth) {\r\n element.style.width = this.pixelWidth + \"px\";\r\n }\r\n if (this.pixelHeight) {\r\n element.style.height = this.pixelHeight + \"px\";\r\n }\r\n }\r\n else {\r\n if (this.maxHeight) {\r\n // If the image is constrained in height, we set its height property and\r\n // auto and stretch are ignored (default to medium). THis is necessary for\r\n // ImageSet which uses a maximum image height as opposed to the cards width\r\n // as a constraining dimension\r\n switch (this.size) {\r\n case Enums.Size.Small:\r\n element.style.height = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.height = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n default:\r\n element.style.height = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = this.maxHeight + \"px\";\r\n }\r\n else {\r\n switch (this.size) {\r\n case Enums.Size.Stretch:\r\n element.style.width = \"100%\";\r\n break;\r\n case Enums.Size.Auto:\r\n element.style.maxWidth = \"100%\";\r\n break;\r\n case Enums.Size.Small:\r\n element.style.width = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.width = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n case Enums.Size.Medium:\r\n element.style.width = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = \"100%\";\r\n }\r\n }\r\n };\r\n Object.defineProperty(Image.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Image.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = undefined;\r\n if (this.url) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"flex-start\";\r\n // Cache hostConfig to avoid walking the parent hierarchy multiple times\r\n var hostConfig = this.hostConfig;\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var imageElement = document.createElement(\"img\");\r\n this.renderedImageElement = imageElement;\r\n imageElement.onload = function (_e) {\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.onerror = function (_e) {\r\n if (_this.renderedElement) {\r\n var card = _this.getRootElement();\r\n clearElement(_this.renderedElement);\r\n if (card && card.designMode) {\r\n var errorElement = document.createElement(\"div\");\r\n errorElement.style.display = \"flex\";\r\n errorElement.style.alignItems = \"center\";\r\n errorElement.style.justifyContent = \"center\";\r\n errorElement.style.backgroundColor = \"#EEEEEE\";\r\n errorElement.style.color = \"black\";\r\n errorElement.innerText = \":-(\";\r\n errorElement.style.padding = \"10px\";\r\n _this.applySize(errorElement);\r\n _this.renderedElement.appendChild(errorElement);\r\n }\r\n }\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.style.minWidth = \"0\";\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-image\"));\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n imageElement.onkeypress = function (e) {\r\n if (_this.selectAction &&\r\n _this.selectAction.isEffectivelyEnabled() &&\r\n (e.code === \"Enter\" || e.code === \"Space\")) {\r\n // enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n imageElement.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(imageElement);\r\n if (this.selectAction.isEffectivelyEnabled()) {\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n this.applySize(imageElement);\r\n if (this.style === Enums.ImageStyle.Person) {\r\n imageElement.style.borderRadius = \"50%\";\r\n imageElement.style.backgroundPosition = \"50% 50%\";\r\n imageElement.style.backgroundRepeat = \"no-repeat\";\r\n }\r\n var backgroundColor = Utils.stringToCssColor(this.backgroundColor);\r\n if (backgroundColor) {\r\n imageElement.style.backgroundColor = backgroundColor;\r\n }\r\n this.setImageSource(imageElement);\r\n var altTextProperty = this.preProcessPropertyValue(Image.altTextProperty);\r\n if (altTextProperty) {\r\n imageElement.alt = altTextProperty;\r\n }\r\n element.appendChild(imageElement);\r\n }\r\n return element;\r\n };\r\n Image.prototype.getJsonTypeName = function () {\r\n return \"Image\";\r\n };\r\n Image.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.selectAction) {\r\n result.push(this.selectAction);\r\n }\r\n return result;\r\n };\r\n Image.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n Image.prototype.getResourceInformation = function () {\r\n return this.url ? [{ url: this.url, mimeType: \"image\" }] : [];\r\n };\r\n Image.prototype.setImageSource = function (imageElement) {\r\n var imageForceLoader = new ImageForceLoader(this.forceLoad, this.url);\r\n imageForceLoader.configureImage(this);\r\n imageElement.src = this.preProcessPropertyValue(Image.urlProperty);\r\n imageForceLoader.resetImage(this);\r\n };\r\n Image.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n Image.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"altText\");\r\n Image.backgroundColorProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"backgroundColor\");\r\n Image.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.ImageStyle, Enums.ImageStyle.Default);\r\n Image.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.Size, Enums.Size.Auto);\r\n Image.pixelWidthProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"width\", \"pixelWidth\");\r\n Image.pixelHeightProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"height\", \"pixelHeight\", CardElement.heightProperty);\r\n Image.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n Image.shouldForceLoadProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"forceLoad\", false);\r\n __decorate([\r\n (0, serialization_1.property)(Image.urlProperty)\r\n ], Image.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.altTextProperty)\r\n ], Image.prototype, \"altText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.backgroundColorProperty)\r\n ], Image.prototype, \"backgroundColor\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.sizeProperty)\r\n ], Image.prototype, \"size\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.styleProperty)\r\n ], Image.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelWidthProperty)\r\n ], Image.prototype, \"pixelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.pixelHeightProperty)\r\n ], Image.prototype, \"pixelHeight\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.selectActionProperty)\r\n ], Image.prototype, \"selectAction\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Image.shouldForceLoadProperty)\r\n ], Image.prototype, \"forceLoad\", void 0);\r\n return Image;\r\n}(CardElement));\r\nexports.Image = Image;\r\n// configures Image element to fetch a new image data from url source instead of relying on cache\r\n// currently rudimentary refreshing scheme is used\r\n// by attaching unique query string to url, we bypass the cache usage\r\nvar ImageForceLoader = /** @class */ (function () {\r\n function ImageForceLoader(doForceLoad, url) {\r\n this.doForceLoad = doForceLoad;\r\n this.url = url;\r\n if (url && url.length && doForceLoad) {\r\n // we can do better by appending unique key such as uuid instead of epoch\r\n // however the current usage is for front-end ui and networking, \r\n // since ui is running in single main thread, this is sufficient mechanism\r\n // without needing to depend on external library for our small use cases.\r\n this.uniqueHash = '?' + Date.now();\r\n this.urlWithForceLoadOption = url + this.uniqueHash;\r\n }\r\n }\r\n ImageForceLoader.prototype.configureImage = function (image) {\r\n if (this.urlWithForceLoadOption && this.urlWithForceLoadOption.length) {\r\n image.url = this.urlWithForceLoadOption;\r\n }\r\n };\r\n ImageForceLoader.prototype.resetImage = function (image) {\r\n image.url = this.url;\r\n };\r\n return ImageForceLoader;\r\n}());\r\nvar CardElementContainer = /** @class */ (function (_super) {\r\n __extends(CardElementContainer, _super);\r\n function CardElementContainer() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.allowVerticalOverflow = false;\r\n return _this;\r\n }\r\n CardElementContainer.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n if (!this.isSelectable) {\r\n schema.remove(CardElementContainer.selectActionProperty);\r\n }\r\n };\r\n //#endregion\r\n CardElementContainer.prototype.isElementAllowed = function (element) {\r\n return this.hostConfig.supportsInteractivity || !element.isInteractive;\r\n };\r\n CardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n };\r\n Object.defineProperty(CardElementContainer.prototype, \"isSelectable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElementContainer.prototype.forbiddenChildElements = function () {\r\n return [];\r\n };\r\n CardElementContainer.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).releaseDOMResources();\r\n }\r\n };\r\n CardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var item = this.getItemAt(i);\r\n if (!this.hostConfig.supportsInteractivity && item.isInteractive) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n if (!this.isElementAllowed(item)) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n if (this._selectAction) {\r\n this._selectAction.internalValidateProperties(context);\r\n }\r\n };\r\n CardElementContainer.prototype.render = function () {\r\n var _this = this;\r\n var element = _super.prototype.render.call(this);\r\n if (element) {\r\n var hostConfig = this.hostConfig;\r\n if (this.allowVerticalOverflow) {\r\n element.style.overflowX = \"hidden\";\r\n element.style.overflowY = \"auto\";\r\n }\r\n if (element &&\r\n this.isSelectable &&\r\n this._selectAction &&\r\n hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this._selectAction && _this._selectAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n element.onkeypress = function (e) {\r\n if (_this._selectAction &&\r\n _this._selectAction.isEffectivelyEnabled() &&\r\n (e.code === \"Enter\" || e.code === \"Space\")) {\r\n // Enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n this._selectAction.setupElementForAccessibility(element);\r\n if (this._selectAction.isEffectivelyEnabled()) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n }\r\n return element;\r\n };\r\n CardElementContainer.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (processChildren) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).updateLayout();\r\n }\r\n }\r\n };\r\n CardElementContainer.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getAllActions());\r\n }\r\n if (this._selectAction) {\r\n result.push(this._selectAction);\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result.push.apply(result, this.getItemAt(i).getResourceInformation());\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result = this.getItemAt(i).getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n CardElementContainer.prototype.findDOMNodeOwner = function (node) {\r\n var _a;\r\n var target = undefined;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n // recur through child elements\r\n target = this.getItemAt(i).findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // If not found in children, check the actions\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n target = (_a = this.getActionAt(i)) === null || _a === void 0 ? void 0 : _a.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // if not found in children or actions, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n CardElementContainer.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(CardElementContainer.selectActionProperty)\r\n ], CardElementContainer.prototype, \"_selectAction\", void 0);\r\n return CardElementContainer;\r\n}(CardElement));\r\nexports.CardElementContainer = CardElementContainer;\r\nvar ImageSet = /** @class */ (function (_super) {\r\n __extends(ImageSet, _super);\r\n function ImageSet() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._images = [];\r\n _this.imageSize = Enums.ImageSize.Medium;\r\n _this.presentationStyle = Enums.ImageSetPresentationStyle.Default;\r\n _this.pixelOffset = 0;\r\n return _this;\r\n }\r\n //#endregion\r\n ImageSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n if (this._images.length > 0) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.flexWrap = \"wrap\";\r\n for (var _i = 0, _a = this._images; _i < _a.length; _i++) {\r\n var image = _a[_i];\r\n switch (this.imageSize) {\r\n case Enums.ImageSize.Small:\r\n image.size = Enums.Size.Small;\r\n break;\r\n case Enums.ImageSize.Large:\r\n image.size = Enums.Size.Large;\r\n break;\r\n default:\r\n image.size = Enums.Size.Medium;\r\n break;\r\n }\r\n image.maxHeight = this.hostConfig.imageSet.maxImageHeight;\r\n var renderedImage = image.render();\r\n if (renderedImage) {\r\n renderedImage.style.display = \"inline-flex\";\r\n renderedImage.style.margin = \"0px\";\r\n if (this.presentationStyle == Enums.ImageSetPresentationStyle.Default) {\r\n renderedImage.style.marginRight = \"10px\";\r\n }\r\n Utils.appendChild(element, renderedImage);\r\n }\r\n }\r\n if (this.presentationStyle == Enums.ImageSetPresentationStyle.Stacked) {\r\n this.applyStackedPresentationStyle();\r\n }\r\n }\r\n return element;\r\n };\r\n ImageSet.prototype.applyStackedPresentationStyle = function () {\r\n if (this._images[0].renderedImageElement) {\r\n var dimension = StackedImageConfigurator.parseNumericPixelDimension(this._images[0].renderedImageElement.style.height);\r\n var bgColor = this.getEffectiveBackgroundColor();\r\n if (dimension) {\r\n var stackedImageConfigurator = new StackedImageConfigurator(this.pixelOffset, dimension, bgColor);\r\n stackedImageConfigurator.configureImagesArrayAsStackedLayout(this._images);\r\n }\r\n }\r\n };\r\n ImageSet.prototype.getEffectiveBackgroundColor = function () {\r\n var parentContainer = this.getParentContainer();\r\n var style = parentContainer === null || parentContainer === void 0 ? void 0 : parentContainer.getEffectiveStyle();\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n return Utils.stringToCssColor(styleDefinition.backgroundColor);\r\n };\r\n ImageSet.prototype.getItemCount = function () {\r\n return this._images.length;\r\n };\r\n ImageSet.prototype.getItemAt = function (index) {\r\n return this._images[index];\r\n };\r\n ImageSet.prototype.getFirstVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0 ? this._images[0] : undefined;\r\n };\r\n ImageSet.prototype.getLastVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0\r\n ? this._images[this._images.length - 1]\r\n : undefined;\r\n };\r\n ImageSet.prototype.removeItem = function (item) {\r\n if (item instanceof Image) {\r\n var itemIndex = this._images.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._images.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ImageSet.prototype.getJsonTypeName = function () {\r\n return \"ImageSet\";\r\n };\r\n ImageSet.prototype.addImage = function (image) {\r\n if (!image.parent) {\r\n this._images.push(image);\r\n image.setParent(this);\r\n }\r\n else {\r\n throw new Error(\"This image already belongs to another ImageSet\");\r\n }\r\n };\r\n ImageSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Image ? this._images.indexOf(cardElement) : -1;\r\n };\r\n ImageSet.imagesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"images\", Image, function (sender, item) {\r\n item.setParent(sender);\r\n });\r\n ImageSet.imageSizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"imageSize\", Enums.ImageSize, Enums.ImageSize.Medium);\r\n ImageSet.imagePresentationStyle = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"style\", Enums.ImageSetPresentationStyle, Enums.ImageSetPresentationStyle.Default);\r\n ImageSet.pixelOffset = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"offset\", 0, undefined);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagesProperty)\r\n ], ImageSet.prototype, \"_images\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imageSizeProperty)\r\n ], ImageSet.prototype, \"imageSize\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.imagePresentationStyle)\r\n ], ImageSet.prototype, \"presentationStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ImageSet.pixelOffset)\r\n ], ImageSet.prototype, \"pixelOffset\", void 0);\r\n return ImageSet;\r\n}(CardElementContainer));\r\nexports.ImageSet = ImageSet;\r\nvar StackedImageConfigurator = /** @class */ (function () {\r\n function StackedImageConfigurator(offset, dimension, style) {\r\n this.sign45 = 0.7071;\r\n this.maxImageCounts = 2;\r\n this.offset = 0;\r\n this.normalizationConstant = 0;\r\n this.border = 5;\r\n this.dimension = 0;\r\n this.dimension = dimension;\r\n this.normalizationConstant = (dimension * this.sign45 - 0.5 * dimension) * 2;\r\n // offset determines how far images are placed from each other\r\n // at zero, images are separated only by the border\r\n // there is no restriction on how far they are apart in positive values, their actual\r\n // positioning is limited by maximum size imposed by Image renderer\r\n // a negative value can decrease upto the diameter of the image since a value less than the diameter\r\n // put the images past each other, and the use of such value is not reasonable request\r\n // users should change image positions in such case.\r\n this.offset = this.sign45 * (Math.max(offset, -dimension) - this.normalizationConstant);\r\n this.style = style ? style : \"\";\r\n }\r\n StackedImageConfigurator.prototype.moveImageRight = function (element) {\r\n element.style.marginLeft = this.offset + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageUp = function (element) {\r\n element.style.marginBottom = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.moveImageDown = function (element) {\r\n element.style.marginTop = this.offset + this.dimension + \"px\";\r\n };\r\n StackedImageConfigurator.prototype.makeImageRound = function (element) {\r\n element.style.borderRadius = \"50%\";\r\n element.style.backgroundPosition = \"50% 50%\";\r\n element.style.backgroundRepeat = \"no-repeat\";\r\n };\r\n StackedImageConfigurator.prototype.applyBorder = function (element) {\r\n element.style.height = (this.dimension + this.border * 2) + \"px\";\r\n element.style.border = this.border + \"px\" + \" solid \" + this.style;\r\n };\r\n StackedImageConfigurator.prototype.configureImageForBottomLeft = function (element) {\r\n this.moveImageDown(element);\r\n this.makeImageRound(element);\r\n this.applyBorder(element);\r\n element.style.zIndex = \"2\";\r\n };\r\n StackedImageConfigurator.prototype.configureImageForTopRight = function (element) {\r\n this.moveImageUp(element);\r\n this.moveImageRight(element);\r\n this.makeImageRound(element);\r\n element.style.zIndex = \"1\";\r\n };\r\n // stacked layout is applied when there are two images in ImageSet,\r\n // first image in the ImageSet is put bottom left of ImageSet,\r\n // second image is placed top right diagonally to the first image at 45 angle\r\n // first image is placed over the second image should the overlap to occur.\r\n StackedImageConfigurator.prototype.configureImagesArrayAsStackedLayout = function (elements) {\r\n if (elements.length == 1) {\r\n if (elements[0].renderedImageElement) {\r\n this.makeImageRound(elements[0].renderedImageElement);\r\n }\r\n }\r\n else if (elements.length <= this.maxImageCounts) {\r\n if (elements[0].renderedImageElement && elements[1].renderedImageElement) {\r\n this.configureImageForBottomLeft(elements[0].renderedImageElement);\r\n this.configureImageForTopRight(elements[1].renderedImageElement);\r\n }\r\n }\r\n };\r\n StackedImageConfigurator.parseNumericPixelDimension = function (dimension) {\r\n if ((dimension === null || dimension === void 0 ? void 0 : dimension.substring(dimension.length - 2)) == 'px') {\r\n return parseInt(dimension.substring(0, dimension.length - 2));\r\n }\r\n return undefined;\r\n };\r\n return StackedImageConfigurator;\r\n}());\r\nvar ContentSource = /** @class */ (function (_super) {\r\n __extends(ContentSource, _super);\r\n //#endregion\r\n function ContentSource(url, mimeType) {\r\n var _this = _super.call(this) || this;\r\n _this.url = url;\r\n _this.mimeType = mimeType;\r\n return _this;\r\n }\r\n ContentSource.prototype.isValid = function () {\r\n return this.mimeType && this.url ? true : false;\r\n };\r\n //#region Schema\r\n ContentSource.mimeTypeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"mimeType\");\r\n ContentSource.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"url\");\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.mimeTypeProperty)\r\n ], ContentSource.prototype, \"mimeType\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ContentSource.urlProperty)\r\n ], ContentSource.prototype, \"url\", void 0);\r\n return ContentSource;\r\n}(serialization_1.SerializableObject));\r\nexports.ContentSource = ContentSource;\r\nvar CaptionSource = /** @class */ (function (_super) {\r\n __extends(CaptionSource, _super);\r\n //#endregion\r\n function CaptionSource(url, mimeType, label) {\r\n var _this = _super.call(this, url, mimeType) || this;\r\n _this.label = label;\r\n return _this;\r\n }\r\n CaptionSource.prototype.getSchemaKey = function () {\r\n return \"CaptionSource\";\r\n };\r\n CaptionSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"track\");\r\n result.src = this.url;\r\n result.kind = \"captions\";\r\n result.label = this.label;\r\n }\r\n return result;\r\n };\r\n //#region Schema\r\n CaptionSource.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"label\");\r\n __decorate([\r\n (0, serialization_1.property)(CaptionSource.labelProperty)\r\n ], CaptionSource.prototype, \"label\", void 0);\r\n return CaptionSource;\r\n}(ContentSource));\r\nexports.CaptionSource = CaptionSource;\r\nvar MediaSource = /** @class */ (function (_super) {\r\n __extends(MediaSource, _super);\r\n function MediaSource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n MediaSource.prototype.getSchemaKey = function () {\r\n return \"MediaSource\";\r\n };\r\n MediaSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"source\");\r\n result.src = this.url;\r\n result.type = this.mimeType;\r\n }\r\n return result;\r\n };\r\n return MediaSource;\r\n}(ContentSource));\r\nexports.MediaSource = MediaSource;\r\nvar MediaPlayer = /** @class */ (function () {\r\n function MediaPlayer() {\r\n }\r\n MediaPlayer.prototype.play = function () {\r\n // Do nothing in base implementation\r\n };\r\n Object.defineProperty(MediaPlayer.prototype, \"posterUrl\", {\r\n get: function () {\r\n return this._posterUrl;\r\n },\r\n set: function (value) {\r\n this._posterUrl = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MediaPlayer.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MediaPlayer;\r\n}());\r\nexports.MediaPlayer = MediaPlayer;\r\nvar HTML5MediaPlayer = /** @class */ (function (_super) {\r\n __extends(HTML5MediaPlayer, _super);\r\n function HTML5MediaPlayer(owner) {\r\n var _this = _super.call(this) || this;\r\n _this.owner = owner;\r\n _this._selectedSources = [];\r\n _this._captionSources = [];\r\n _this.processSources();\r\n return _this;\r\n }\r\n HTML5MediaPlayer.prototype.processSources = function () {\r\n var _a;\r\n this._selectedSources = [];\r\n this._captionSources = [];\r\n this._selectedMediaType = undefined;\r\n for (var _i = 0, _b = this.owner.sources; _i < _b.length; _i++) {\r\n var source = _b[_i];\r\n var mimeComponents = source.mimeType ? source.mimeType.split(\"/\") : [];\r\n if (mimeComponents.length === 2) {\r\n if (!this._selectedMediaType) {\r\n var index = HTML5MediaPlayer.supportedMediaTypes.indexOf(mimeComponents[0]);\r\n if (index >= 0) {\r\n this._selectedMediaType = HTML5MediaPlayer.supportedMediaTypes[index];\r\n }\r\n }\r\n if (mimeComponents[0] === this._selectedMediaType) {\r\n this._selectedSources.push(source);\r\n }\r\n }\r\n }\r\n (_a = this._captionSources).push.apply(_a, this.owner.captionSources);\r\n };\r\n HTML5MediaPlayer.prototype.canPlay = function () {\r\n return this._selectedSources.length > 0;\r\n };\r\n HTML5MediaPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n HTML5MediaPlayer.prototype.render = function () {\r\n if (this._selectedMediaType === \"video\") {\r\n this._mediaElement = document.createElement(\"video\");\r\n }\r\n else {\r\n this._mediaElement = document.createElement(\"audio\");\r\n }\r\n this._mediaElement.setAttribute(\"aria-label\", this.owner.altText ? this.owner.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n this._mediaElement.setAttribute(\"webkit-playsinline\", \"\");\r\n this._mediaElement.setAttribute(\"playsinline\", \"\");\r\n // We enable crossorigin for cases where the caption file has a different domain than\r\n // the video file. If the caption file lives in a different domain than the video file\r\n // and crossorigin is not set, then the caption file will fail to load.\r\n this._mediaElement.setAttribute(\"crossorigin\", \"\");\r\n this._mediaElement.autoplay = true;\r\n this._mediaElement.controls = true;\r\n if (Utils.isMobileOS()) {\r\n this._mediaElement.muted = true;\r\n }\r\n this._mediaElement.preload = \"none\";\r\n this._mediaElement.style.width = \"100%\";\r\n for (var _i = 0, _a = this.owner.sources; _i < _a.length; _i++) {\r\n var source = _a[_i];\r\n var renderedSource = source.render();\r\n Utils.appendChild(this._mediaElement, renderedSource);\r\n }\r\n for (var _b = 0, _c = this.owner.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.mimeType == \"vtt\") {\r\n var renderedCaptionSource = captionSource.render();\r\n Utils.appendChild(this._mediaElement, renderedCaptionSource);\r\n }\r\n }\r\n return this._mediaElement;\r\n };\r\n HTML5MediaPlayer.prototype.play = function () {\r\n if (this._mediaElement) {\r\n this._mediaElement.play();\r\n }\r\n };\r\n Object.defineProperty(HTML5MediaPlayer.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return this._selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n HTML5MediaPlayer.supportedMediaTypes = [\"audio\", \"video\"];\r\n return HTML5MediaPlayer;\r\n}(MediaPlayer));\r\nexports.HTML5MediaPlayer = HTML5MediaPlayer;\r\nvar CustomMediaPlayer = /** @class */ (function (_super) {\r\n __extends(CustomMediaPlayer, _super);\r\n function CustomMediaPlayer(matches) {\r\n return _super.call(this) || this;\r\n }\r\n return CustomMediaPlayer;\r\n}(MediaPlayer));\r\nexports.CustomMediaPlayer = CustomMediaPlayer;\r\nvar IFrameMediaMediaPlayer = /** @class */ (function (_super) {\r\n __extends(IFrameMediaMediaPlayer, _super);\r\n function IFrameMediaMediaPlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 2) {\r\n _this._videoId = matches[1];\r\n }\r\n return _this;\r\n }\r\n IFrameMediaMediaPlayer.prototype.canPlay = function () {\r\n return this._videoId !== undefined;\r\n };\r\n IFrameMediaMediaPlayer.prototype.render = function () {\r\n var container = document.createElement(\"div\");\r\n container.style.position = \"relative\";\r\n container.style.width = \"100%\";\r\n container.style.height = \"0\";\r\n container.style.paddingBottom = \"56.25%\";\r\n var iFrame = document.createElement(\"iframe\");\r\n iFrame.style.position = \"absolute\";\r\n iFrame.style.top = \"0\";\r\n iFrame.style.left = \"0\";\r\n iFrame.style.width = \"100%\";\r\n iFrame.style.height = \"100%\";\r\n iFrame.src = this.getEmbedVideoUrl();\r\n iFrame.frameBorder = \"0\";\r\n if (this.iFrameTitle) {\r\n iFrame.title = this.iFrameTitle;\r\n }\r\n iFrame.allow =\r\n \"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture\";\r\n iFrame.allowFullscreen = true;\r\n container.appendChild(iFrame);\r\n return container;\r\n };\r\n Object.defineProperty(IFrameMediaMediaPlayer.prototype, \"videoId\", {\r\n get: function () {\r\n return this._videoId;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return IFrameMediaMediaPlayer;\r\n}(CustomMediaPlayer));\r\nexports.IFrameMediaMediaPlayer = IFrameMediaMediaPlayer;\r\nvar VimeoPlayer = /** @class */ (function (_super) {\r\n __extends(VimeoPlayer, _super);\r\n function VimeoPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n VimeoPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var oEmbedUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n oEmbedUrl = \"https://vimeo.com/api/oembed.json?url=\".concat(this.getEmbedVideoUrl());\r\n return [4 /*yield*/, fetch(oEmbedUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n VimeoPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://player.vimeo.com/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return VimeoPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.VimeoPlayer = VimeoPlayer;\r\nvar DailymotionPlayer = /** @class */ (function (_super) {\r\n __extends(DailymotionPlayer, _super);\r\n function DailymotionPlayer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DailymotionPlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var apiUrl, response, json;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n apiUrl = \"https://api.dailymotion.com/video/\".concat(this.videoId, \"?fields=thumbnail_720_url\");\r\n return [4 /*yield*/, fetch(apiUrl)];\r\n case 1:\r\n response = _a.sent();\r\n if (!response.ok) return [3 /*break*/, 3];\r\n return [4 /*yield*/, response.json()];\r\n case 2:\r\n json = _a.sent();\r\n this.posterUrl = json[\"thumbnail_720_url\"];\r\n _a.label = 3;\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n DailymotionPlayer.prototype.getEmbedVideoUrl = function () {\r\n return \"https://www.dailymotion.com/embed/video/\".concat(this.videoId, \"?autoplay=1\");\r\n };\r\n return DailymotionPlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.DailymotionPlayer = DailymotionPlayer;\r\nvar YouTubePlayer = /** @class */ (function (_super) {\r\n __extends(YouTubePlayer, _super);\r\n function YouTubePlayer(matches, iFrameTitle) {\r\n var _this = _super.call(this, matches, iFrameTitle) || this;\r\n _this.iFrameTitle = iFrameTitle;\r\n if (matches.length >= 3 && matches[2] !== undefined) {\r\n _this._startTimeIndex = parseInt(matches[2]);\r\n }\r\n return _this;\r\n }\r\n YouTubePlayer.prototype.fetchVideoDetails = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n this.posterUrl = this.videoId\r\n ? \"https://img.youtube.com/vi/\".concat(this.videoId, \"/maxresdefault.jpg\")\r\n : undefined;\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n YouTubePlayer.prototype.getEmbedVideoUrl = function () {\r\n var url = \"https://www.youtube.com/embed/\".concat(this.videoId, \"?autoplay=1\");\r\n if (this._startTimeIndex !== undefined) {\r\n url += \"&start=\".concat(this._startTimeIndex);\r\n }\r\n return url;\r\n };\r\n return YouTubePlayer;\r\n}(IFrameMediaMediaPlayer));\r\nexports.YouTubePlayer = YouTubePlayer;\r\nvar Media = /** @class */ (function (_super) {\r\n __extends(Media, _super);\r\n function Media() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.sources = [];\r\n _this.captionSources = [];\r\n return _this;\r\n }\r\n Media.prototype.createMediaPlayer = function () {\r\n for (var _i = 0, _a = Media.customMediaPlayers; _i < _a.length; _i++) {\r\n var provider = _a[_i];\r\n for (var _b = 0, _c = this.sources; _b < _c.length; _b++) {\r\n var source = _c[_b];\r\n if (source.url) {\r\n for (var _d = 0, _f = provider.urlPatterns; _d < _f.length; _d++) {\r\n var pattern = _f[_d];\r\n var matches = pattern.exec(source.url);\r\n if (matches !== null) {\r\n return provider.createMediaPlayer(matches);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n return new HTML5MediaPlayer(this);\r\n };\r\n Media.prototype.handlePlayButtonInvoke = function (event) {\r\n if (this.hostConfig.media.allowInlinePlayback) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n if (this.renderedElement) {\r\n var mediaPlayerElement = this._mediaPlayer.render();\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(mediaPlayerElement);\r\n this._mediaPlayer.play();\r\n mediaPlayerElement.focus();\r\n }\r\n }\r\n else {\r\n if (Media.onPlay) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n Media.onPlay(this);\r\n }\r\n }\r\n };\r\n Media.prototype.displayPoster = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var playButtonArrowWidth, playButtonArrowHeight, posterRootElement_1, posterUrl, posterImageElement_1, playButtonOuterElement, playButtonInnerElement, playButtonContainer;\r\n var _this = this;\r\n return __generator(this, function (_a) {\r\n if (this.renderedElement) {\r\n playButtonArrowWidth = 12;\r\n playButtonArrowHeight = 15;\r\n posterRootElement_1 = document.createElement(\"div\");\r\n posterRootElement_1.className = this.hostConfig.makeCssClassName(\"ac-media-poster\");\r\n posterRootElement_1.setAttribute(\"role\", \"contentinfo\");\r\n posterRootElement_1.setAttribute(\"aria-label\", this.altText ? this.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n posterRootElement_1.style.position = \"relative\";\r\n posterRootElement_1.style.display = \"flex\";\r\n posterUrl = this.poster ? this.poster : this._mediaPlayer.posterUrl;\r\n if (!posterUrl) {\r\n posterUrl = this.hostConfig.media.defaultPoster;\r\n }\r\n if (posterUrl) {\r\n posterImageElement_1 = document.createElement(\"img\");\r\n posterImageElement_1.style.width = \"100%\";\r\n posterImageElement_1.style.height = \"100%\";\r\n posterImageElement_1.setAttribute(\"role\", \"presentation\");\r\n posterImageElement_1.onerror = function (_e) {\r\n if (posterImageElement_1.parentNode) {\r\n posterImageElement_1.parentNode.removeChild(posterImageElement_1);\r\n }\r\n posterRootElement_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n };\r\n posterImageElement_1.src = posterUrl;\r\n posterRootElement_1.appendChild(posterImageElement_1);\r\n }\r\n else {\r\n posterRootElement_1.classList.add(\"empty\");\r\n posterRootElement_1.style.minHeight = \"150px\";\r\n }\r\n if (this.hostConfig.supportsInteractivity && this._mediaPlayer.canPlay()) {\r\n playButtonOuterElement = document.createElement(\"div\");\r\n playButtonOuterElement.tabIndex = 0;\r\n playButtonOuterElement.setAttribute(\"role\", \"button\");\r\n playButtonOuterElement.setAttribute(\"aria-label\", strings_1.Strings.defaults.mediaPlayerPlayMedia());\r\n playButtonOuterElement.className =\r\n this.hostConfig.makeCssClassName(\"ac-media-playButton\");\r\n playButtonOuterElement.style.display = \"flex\";\r\n playButtonOuterElement.style.alignItems = \"center\";\r\n playButtonOuterElement.style.justifyContent = \"center\";\r\n playButtonOuterElement.onclick = function (e) {\r\n _this.handlePlayButtonInvoke(e);\r\n };\r\n playButtonOuterElement.onkeypress = function (e) {\r\n if (e.code === \"Enter\" || e.code === \"Space\") {\r\n // space or enter\r\n _this.handlePlayButtonInvoke(e);\r\n }\r\n };\r\n playButtonInnerElement = document.createElement(\"div\");\r\n playButtonInnerElement.className = this.hostConfig.makeCssClassName(\"ac-media-playButton-arrow\");\r\n playButtonInnerElement.style.width = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.height = playButtonArrowHeight + \"px\";\r\n playButtonInnerElement.style.borderTopWidth = playButtonArrowHeight / 2 + \"px\";\r\n playButtonInnerElement.style.borderBottomWidth = playButtonArrowHeight / 2 + \"px\";\r\n playButtonInnerElement.style.borderLeftWidth = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.borderRightWidth = \"0\";\r\n playButtonInnerElement.style.borderStyle = \"solid\";\r\n playButtonInnerElement.style.borderTopColor = \"transparent\";\r\n playButtonInnerElement.style.borderRightColor = \"transparent\";\r\n playButtonInnerElement.style.borderBottomColor = \"transparent\";\r\n playButtonInnerElement.style.transform =\r\n \"translate(\" + playButtonArrowWidth / 10 + \"px,0px)\";\r\n playButtonOuterElement.appendChild(playButtonInnerElement);\r\n playButtonContainer = document.createElement(\"div\");\r\n playButtonContainer.style.position = \"absolute\";\r\n playButtonContainer.style.left = \"0\";\r\n playButtonContainer.style.top = \"0\";\r\n playButtonContainer.style.width = \"100%\";\r\n playButtonContainer.style.height = \"100%\";\r\n playButtonContainer.style.display = \"flex\";\r\n playButtonContainer.style.justifyContent = \"center\";\r\n playButtonContainer.style.alignItems = \"center\";\r\n playButtonContainer.appendChild(playButtonOuterElement);\r\n posterRootElement_1.appendChild(playButtonContainer);\r\n }\r\n clearElement(this.renderedElement);\r\n this.renderedElement.appendChild(posterRootElement_1);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n Media.prototype.internalRender = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-media\");\r\n return element;\r\n };\r\n Media.prototype.render = function () {\r\n var _this = this;\r\n var result = _super.prototype.render.call(this);\r\n if (result) {\r\n this._mediaPlayer = this.createMediaPlayer();\r\n this._mediaPlayer.fetchVideoDetails().then(function () { return _this.displayPoster(); });\r\n }\r\n return result;\r\n };\r\n Media.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.displayPoster();\r\n };\r\n Media.prototype.getJsonTypeName = function () {\r\n return \"Media\";\r\n };\r\n Media.prototype.getResourceInformation = function () {\r\n var result = [];\r\n if (this._mediaPlayer) {\r\n var posterUrl = this.poster ? this.poster : this.hostConfig.media.defaultPoster;\r\n if (posterUrl) {\r\n result.push({ url: posterUrl, mimeType: \"image\" });\r\n }\r\n }\r\n for (var _i = 0, _a = this.sources; _i < _a.length; _i++) {\r\n var mediaSource = _a[_i];\r\n if (mediaSource.isValid()) {\r\n result.push({\r\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `mediaSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: mediaSource.url,\r\n mimeType: mediaSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\r\n });\r\n }\r\n }\r\n for (var _b = 0, _c = this.captionSources; _b < _c.length; _b++) {\r\n var captionSource = _c[_b];\r\n if (captionSource.isValid()) {\r\n result.push({\r\n /* eslint-disable @typescript-eslint/no-unnecessary-type-assertion -- `captionSource.url` is of type `string | undefined`, but is validated by `isValid()` call */\r\n url: captionSource.url,\r\n mimeType: captionSource.mimeType\r\n /* eslint-enable @typescript-eslint/no-unnecessary-type-assertion */\r\n });\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Media.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return this._mediaPlayer.selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Media.customMediaPlayers = [\r\n {\r\n urlPatterns: [\r\n /^(?:https?:\\/\\/)?(?:www.)?youtube.com\\/watch\\?(?=.*v=([\\w\\d-_]+))(?=(?:.*t=(\\d+))?).*/gi,\r\n /^(?:https?:\\/\\/)?youtu.be\\/([\\w\\d-_]+)(?:\\?t=(\\d+))?/gi\r\n ],\r\n createMediaPlayer: function (matches) {\r\n return new YouTubePlayer(matches, strings_1.Strings.defaults.youTubeVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?vimeo.com\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new VimeoPlayer(matches, strings_1.Strings.defaults.vimeoVideoPlayer());\r\n }\r\n },\r\n {\r\n urlPatterns: [/^(?:https?:\\/\\/)?(?:www.)?dailymotion.com\\/video\\/([\\w\\d-_]+).*/gi],\r\n createMediaPlayer: function (matches) {\r\n return new DailymotionPlayer(matches, strings_1.Strings.defaults.dailymotionVideoPlayer());\r\n }\r\n }\r\n ];\r\n //#region Schema\r\n Media.sourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_1, \"sources\", MediaSource);\r\n Media.captionSourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_6, \"captionSources\", CaptionSource);\r\n Media.posterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"poster\");\r\n Media.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"altText\");\r\n __decorate([\r\n (0, serialization_1.property)(Media.sourcesProperty)\r\n ], Media.prototype, \"sources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.captionSourcesProperty)\r\n ], Media.prototype, \"captionSources\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.posterProperty)\r\n ], Media.prototype, \"poster\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Media.altTextProperty)\r\n ], Media.prototype, \"altText\", void 0);\r\n return Media;\r\n}(CardElement));\r\nexports.Media = Media;\r\nvar InputEventType;\r\n(function (InputEventType) {\r\n InputEventType[InputEventType[\"InitialRender\"] = 0] = \"InitialRender\";\r\n InputEventType[InputEventType[\"MouseEnterOnCard\"] = 1] = \"MouseEnterOnCard\";\r\n InputEventType[InputEventType[\"MouseLeaveOnCard\"] = 2] = \"MouseLeaveOnCard\";\r\n InputEventType[InputEventType[\"FocusLeave\"] = 3] = \"FocusLeave\";\r\n})(InputEventType || (InputEventType = {}));\r\nvar Input = /** @class */ (function (_super) {\r\n __extends(Input, _super);\r\n function Input() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.inputStyle = Enums.InputStyle.Default;\r\n return _this;\r\n }\r\n Input.prototype.getAllLabelIds = function () {\r\n var labelIds = [];\r\n if (this.labelledBy) {\r\n labelIds.push(this.labelledBy);\r\n }\r\n if (this._renderedLabelElement) {\r\n labelIds.push(this._renderedLabelElement.id);\r\n }\r\n if (this._renderedErrorMessageElement) {\r\n labelIds.push(this._renderedErrorMessageElement.id);\r\n }\r\n return labelIds;\r\n };\r\n Input.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._renderedInputControlElement) {\r\n var labelIds = this.getAllLabelIds();\r\n if (labelIds.length > 0) {\r\n this._renderedInputControlElement.setAttribute(\"aria-labelledby\", labelIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedInputControlElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n Object.defineProperty(Input.prototype, \"isNullable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"renderedInputControlElement\", {\r\n get: function () {\r\n return this._renderedInputControlElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"inputControlContainerElement\", {\r\n get: function () {\r\n return this._inputControlContainerElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.overrideInternalRender = function () {\r\n var _this = this;\r\n var hostConfig = this.hostConfig;\r\n this._outerContainerElement = document.createElement(\"div\");\r\n this._outerContainerElement.style.display = \"flex\";\r\n if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n this._outerContainerElement.style.flexDirection = \"row\";\r\n }\r\n else {\r\n this._outerContainerElement.style.flexDirection = \"column\";\r\n }\r\n var renderedInputControlId = Utils.generateUniqueId();\r\n if (this.label) {\r\n var labelRichTextBlock = new RichTextBlock();\r\n labelRichTextBlock.setParent(this);\r\n labelRichTextBlock.forElementId = renderedInputControlId;\r\n var labelInline = new TextRun(this.label);\r\n labelRichTextBlock.addInline(labelInline);\r\n if (this.isRequired) {\r\n labelInline.init(hostConfig.inputs.label.requiredInputs);\r\n var isRequiredCueInline = new TextRun(hostConfig.inputs.label.requiredInputs.suffix);\r\n isRequiredCueInline.color = hostConfig.inputs.label.requiredInputs.suffixColor;\r\n isRequiredCueInline.ariaHidden = true;\r\n labelRichTextBlock.addInline(isRequiredCueInline);\r\n }\r\n else {\r\n labelInline.init(hostConfig.inputs.label.optionalInputs);\r\n }\r\n this._renderedLabelElement = labelRichTextBlock.render();\r\n if (this._renderedLabelElement) {\r\n this._renderedLabelElement.id = Utils.generateUniqueId();\r\n if (this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n // For inline label position: label should be in center of the div and no extra spacing needed\r\n this._renderedLabelElement.style.alignSelf = \"center\";\r\n }\r\n else {\r\n this._renderedLabelElement.style.marginBottom =\r\n hostConfig.getEffectiveSpacing(hostConfig.inputs.label.inputSpacing) + \"px\";\r\n }\r\n this._outerContainerElement.appendChild(this._renderedLabelElement);\r\n }\r\n }\r\n this._inputControlContainerElement = document.createElement(\"div\");\r\n this._inputControlContainerElement.className =\r\n hostConfig.makeCssClassName(\"ac-input-container\");\r\n this._inputControlContainerElement.style.display = \"flex\";\r\n if (this.height === \"stretch\") {\r\n this._inputControlContainerElement.style.alignItems = \"stretch\";\r\n this._inputControlContainerElement.style.flex = \"1 1 auto\";\r\n }\r\n this._renderedInputControlElement = this.internalRender();\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.id = renderedInputControlId;\r\n this._renderedInputControlElement.style.minWidth = \"0px\";\r\n if (this.isNullable && this.isRequired) {\r\n this._renderedInputControlElement.setAttribute(\"aria-required\", \"true\");\r\n this._renderedInputControlElement.classList.add(hostConfig.makeCssClassName(\"ac-input-required\"));\r\n }\r\n this._inputControlContainerElement.appendChild(this._renderedInputControlElement);\r\n this._outerContainerElement.appendChild(this._inputControlContainerElement);\r\n if (this._renderedLabelElement && this.labelPosition === Enums.InputLabelPosition.Inline) {\r\n if (!this.labelWidth) {\r\n var defaultLabelWidth = hostConfig.inputs.label.width;\r\n this._renderedLabelElement.style.width = defaultLabelWidth.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - defaultLabelWidth) + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Weight) {\r\n var labelWidthInPercent = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPercent.toString() + \"%\";\r\n this._inputControlContainerElement.style.width = (100 - labelWidthInPercent).toString() + \"%\";\r\n }\r\n else if (this.labelWidth.unit == Enums.SizeUnit.Pixel) {\r\n var labelWidthInPixel = this.labelWidth.physicalSize;\r\n this._renderedLabelElement.style.width = labelWidthInPixel.toString() + \"px\";\r\n }\r\n }\r\n this.updateVisualState(InputEventType.InitialRender);\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.onblur = function (ev) {\r\n _this.updateVisualState(InputEventType.FocusLeave);\r\n };\r\n }\r\n this.updateInputControlAriaLabelledBy();\r\n return this._outerContainerElement;\r\n }\r\n this.resetDirtyState();\r\n return undefined;\r\n };\r\n Input.prototype.valueChanged = function () {\r\n this.getRootElement().updateActionsEnabledState();\r\n if (this.isValid()) {\r\n this.resetValidationFailureCue();\r\n }\r\n if (this.onValueChanged) {\r\n this.onValueChanged(this);\r\n }\r\n raiseInputValueChangedEvent(this);\r\n };\r\n Input.prototype.resetValidationFailureCue = function () {\r\n if (this.renderedInputControlElement) {\r\n if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.removeValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\r\n this.updateInputControlAriaLabelledBy();\r\n if (this._renderedErrorMessageElement) {\r\n this._outerContainerElement.removeChild(this._renderedErrorMessageElement);\r\n this._renderedErrorMessageElement = undefined;\r\n }\r\n }\r\n };\r\n Input.prototype.showValidationErrorMessage = function () {\r\n if (this.renderedElement &&\r\n this.errorMessage &&\r\n shared_1.GlobalSettings.displayInputValidationErrors) {\r\n var errorMessageTextBlock = new TextBlock();\r\n errorMessageTextBlock.setParent(this);\r\n errorMessageTextBlock.text = this.errorMessage;\r\n errorMessageTextBlock.wrap = true;\r\n errorMessageTextBlock.init(this.hostConfig.inputs.errorMessage);\r\n this._renderedErrorMessageElement = errorMessageTextBlock.render();\r\n if (this._renderedErrorMessageElement) {\r\n this._renderedErrorMessageElement.id = Utils.generateUniqueId();\r\n this._outerContainerElement.appendChild(this._renderedErrorMessageElement);\r\n this.updateInputControlAriaLabelledBy();\r\n }\r\n }\r\n };\r\n Object.defineProperty(Input.prototype, \"allowRevealOnHoverStyle\", {\r\n get: function () {\r\n return this.hostConfig.inputs && this.hostConfig.inputs.allowRevealOnHoverStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.shouldHideInputAdornersForRevealOnHover = function (input, eventType) {\r\n // show/hide input adorners (date picker, time picker, select dropdown picker) with inputStyle RevealOnHover\r\n // 1. intial render of card: hide input adorners\r\n // 2. mouse hover on the card: show input adorners\r\n // 3. mouse hover outside the card: hide input adorners unless input is still in focus state\r\n // 4. input loses focus: hide the input adorners unless mouse is still hovering on the card\r\n // check if input still has the focus\r\n var isInputInFocus = input === document.activeElement;\r\n // check if mouse is still on the card\r\n var inputHoverClassName = this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\");\r\n var isMouseOverCard = input.classList.contains(inputHoverClassName);\r\n var hideInputAdorners = (eventType === InputEventType.InitialRender) ||\r\n (eventType === InputEventType.FocusLeave && !isMouseOverCard) ||\r\n (eventType === InputEventType.MouseLeaveOnCard && !isInputInFocus);\r\n return hideInputAdorners;\r\n };\r\n Input.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle ||\r\n !this._renderedInputControlElement ||\r\n this.inputStyle !== Enums.InputStyle.RevealOnHover) {\r\n return;\r\n }\r\n if (eventType === InputEventType.InitialRender) {\r\n // on initial render, we will show input fields as read only view\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onrender\"));\r\n }\r\n else if (eventType === InputEventType.MouseEnterOnCard) {\r\n // on hover on the card, we will reveal the inputs by showing borders etc\r\n // ac-inputStyle-revealOnHover-onhover class is also used to identify if mouse is hovering on the card\r\n this._renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\r\n }\r\n else if (eventType === InputEventType.MouseLeaveOnCard) {\r\n this._renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onhover\"));\r\n }\r\n };\r\n Input.prototype.focus = function () {\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.focus();\r\n }\r\n };\r\n Input.prototype.isValid = function () {\r\n return true;\r\n };\r\n Input.prototype.isDirty = function () {\r\n return this.value !== this._oldValue;\r\n };\r\n Input.prototype.resetDirtyState = function () {\r\n this._oldValue = this.value;\r\n };\r\n Input.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.id) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.inputsMustHaveUniqueId());\r\n }\r\n if (this.isRequired) {\r\n if (!this.label) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveLabel, \"Required inputs should have a label\");\r\n }\r\n if (!this.errorMessage) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveErrorMessage, \"Required inputs should have an error message\");\r\n }\r\n }\r\n };\r\n Input.prototype.validateValue = function () {\r\n this.resetValidationFailureCue();\r\n var result = this.isRequired ? this.isSet() && this.isValid() : this.isValid();\r\n if (!result && this.renderedInputControlElement) {\r\n if (this instanceof ChoiceSetInput && this.isDynamicTypeahead()) {\r\n this.showValidationFailureCue();\r\n }\r\n else {\r\n this.renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n }\r\n this.showValidationErrorMessage();\r\n }\r\n return result;\r\n };\r\n Input.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [this];\r\n };\r\n Input.prototype.render = function () {\r\n var result = _super.prototype.render.call(this);\r\n this.resetDirtyState();\r\n return result;\r\n };\r\n Object.defineProperty(Input.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Input.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"label\", true);\r\n Input.isRequiredProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"isRequired\", false);\r\n Input.errorMessageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"errorMessage\", true);\r\n Input.inputStyleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"inputStyle\", Enums.InputStyle, Enums.InputStyle.Default, [\r\n { value: Enums.InputStyle.RevealOnHover },\r\n { value: Enums.InputStyle.Default }\r\n ]);\r\n Input.labelWidthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_6, \"labelWidth\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidLabelWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n if (result.physicalSize < 0 || result.physicalSize > 100) {\r\n invalidLabelWidth = true;\r\n }\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n }\r\n catch (e) {\r\n invalidLabelWidth = true;\r\n }\r\n }\r\n else {\r\n invalidLabelWidth = true;\r\n }\r\n if (invalidLabelWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInputLabelWidth());\r\n result = undefined;\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value instanceof shared_1.SizeAndUnit) {\r\n if (value.unit === Enums.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"labelWidth\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"labelWidth\", value.physicalSize);\r\n }\r\n }\r\n }, undefined);\r\n Input.labelPositionProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"labelPosition\", Enums.InputLabelPosition, Enums.InputLabelPosition.Above, [\r\n { value: Enums.InputLabelPosition.Inline },\r\n { value: Enums.InputLabelPosition.Above }\r\n ]);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelProperty)\r\n ], Input.prototype, \"label\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.isRequiredProperty)\r\n ], Input.prototype, \"isRequired\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.errorMessageProperty)\r\n ], Input.prototype, \"errorMessage\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.inputStyleProperty)\r\n ], Input.prototype, \"inputStyle\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelWidthProperty)\r\n ], Input.prototype, \"labelWidth\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Input.labelPositionProperty)\r\n ], Input.prototype, \"labelPosition\", void 0);\r\n return Input;\r\n}(CardElement));\r\nexports.Input = Input;\r\nvar TextInput = /** @class */ (function (_super) {\r\n __extends(TextInput, _super);\r\n function TextInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiline = false;\r\n _this.style = Enums.InputTextStyle.Text;\r\n return _this;\r\n }\r\n //#endregion\r\n TextInput.prototype.setupInput = function (input) {\r\n var _this = this;\r\n input.style.flex = \"1 1 auto\";\r\n input.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.placeholder) {\r\n input.placeholder = this.placeholder;\r\n input.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n if (this.defaultValue) {\r\n input.value = this.defaultValue;\r\n }\r\n if (this.maxLength && this.maxLength > 0) {\r\n input.maxLength = this.maxLength;\r\n }\r\n input.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n input.onkeypress = function (e) {\r\n // Ctrl+Enter pressed\r\n if (e.ctrlKey &&\r\n e.code === \"Enter\" &&\r\n _this.inlineAction &&\r\n _this.inlineAction.isEffectivelyEnabled()) {\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n };\r\n TextInput.prototype.internalRender = function () {\r\n var result;\r\n if (this.isMultiline && this.style !== Enums.InputTextStyle.Password) {\r\n result = document.createElement(\"textarea\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\", \"ac-multiline\");\r\n if (this.height === \"stretch\") {\r\n result.style.height = \"initial\";\r\n }\r\n }\r\n else {\r\n result = document.createElement(\"input\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\");\r\n result.type = Enums.InputTextStyle[this.style].toLowerCase();\r\n }\r\n this.setupInput(result);\r\n return result;\r\n };\r\n TextInput.prototype.overrideInternalRender = function () {\r\n var _this = this;\r\n var renderedInputControl = _super.prototype.overrideInternalRender.call(this);\r\n if (this.inlineAction) {\r\n var button_1 = document.createElement(\"button\");\r\n button_1.className = this.hostConfig.makeCssClassName(this.inlineAction.isEffectivelyEnabled()\r\n ? \"ac-inlineActionButton\"\r\n : \"ac-inlineActionButton-disabled\");\r\n button_1.onclick = function (e) {\r\n if (_this.inlineAction && _this.inlineAction.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n if (this.inlineAction.iconUrl) {\r\n button_1.classList.add(\"iconOnly\");\r\n var icon_1 = document.createElement(\"img\");\r\n icon_1.style.height = \"100%\";\r\n icon_1.setAttribute(\"role\", \"presentation\");\r\n // The below trick is necessary as a workaround in Chrome where the icon is initially displayed\r\n // at its native size then resized to 100% of the button's height. This cfreates an unpleasant\r\n // flicker. On top of that, Chrome's flex implementation fails to prperly re-layout the button\r\n // after the image has loaded and been gicven its final size. The below trick also fixes that.\r\n icon_1.style.display = \"none\";\r\n icon_1.onload = function () {\r\n icon_1.style.removeProperty(\"display\");\r\n };\r\n icon_1.onerror = function () {\r\n button_1.removeChild(icon_1);\r\n button_1.classList.remove(\"iconOnly\");\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent =\r\n _this.inlineAction && _this.inlineAction.title\r\n ? _this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n };\r\n icon_1.src = this.inlineAction.iconUrl;\r\n button_1.appendChild(icon_1);\r\n button_1.title = this.inlineAction.title\r\n ? this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n else {\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent = this.inlineAction.title\r\n ? this.inlineAction.title\r\n : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n this.inlineAction.setupElementForAccessibility(button_1, true);\r\n button_1.style.marginLeft = \"8px\";\r\n this.inputControlContainerElement.appendChild(button_1);\r\n }\r\n return renderedInputControl;\r\n };\r\n TextInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!(this.inlineAction || this.isMultiline)) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n }\r\n };\r\n TextInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Text\";\r\n };\r\n TextInput.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n if (this.inlineAction) {\r\n result.push(this.inlineAction);\r\n }\r\n return result;\r\n };\r\n TextInput.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.inlineAction) {\r\n result = this.inlineAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n TextInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TextInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return true;\r\n }\r\n if (this.regex) {\r\n return new RegExp(this.regex, \"g\").test(this.value);\r\n }\r\n return true;\r\n };\r\n Object.defineProperty(TextInput.prototype, \"value\", {\r\n get: function () {\r\n if (this.renderedInputControlElement) {\r\n if (this.isMultiline) {\r\n return this.renderedInputControlElement.value;\r\n }\r\n else {\r\n return this.renderedInputControlElement.value;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n TextInput.maxLengthProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLength\");\r\n TextInput.isMultilineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiline\", false);\r\n TextInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TextInput.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.InputTextStyle, Enums.InputTextStyle.Text, [\r\n { value: Enums.InputTextStyle.Text },\r\n { value: Enums.InputTextStyle.Tel },\r\n { value: Enums.InputTextStyle.Url },\r\n { value: Enums.InputTextStyle.Email },\r\n { value: Enums.InputTextStyle.Password, targetVersion: serialization_1.Versions.v1_5 }\r\n ]);\r\n TextInput.inlineActionProperty = new ActionProperty(serialization_1.Versions.v1_0, \"inlineAction\", [\r\n \"Action.ShowCard\"\r\n ]);\r\n TextInput.regexProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"regex\", true);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.valueProperty)\r\n ], TextInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.maxLengthProperty)\r\n ], TextInput.prototype, \"maxLength\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.isMultilineProperty)\r\n ], TextInput.prototype, \"isMultiline\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.placeholderProperty)\r\n ], TextInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.styleProperty)\r\n ], TextInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.inlineActionProperty)\r\n ], TextInput.prototype, \"inlineAction\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TextInput.regexProperty)\r\n ], TextInput.prototype, \"regex\", void 0);\r\n return TextInput;\r\n}(Input));\r\nexports.TextInput = TextInput;\r\nvar ToggleInput = /** @class */ (function (_super) {\r\n __extends(ToggleInput, _super);\r\n function ToggleInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.valueOn = \"true\";\r\n _this.valueOff = \"false\";\r\n _this.wrap = false;\r\n return _this;\r\n }\r\n ToggleInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._checkboxInputElement) {\r\n var joinedLabelIds = this.getAllLabelIds().join(\" \");\r\n if (this._checkboxInputLabelElement && this._checkboxInputLabelElement.id) {\r\n joinedLabelIds += \" \" + this._checkboxInputLabelElement.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._checkboxInputElement.setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._checkboxInputElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n ToggleInput.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-toggleInput\");\r\n element.style.width = \"100%\";\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"center\";\r\n this._checkboxInputElement = document.createElement(\"input\");\r\n this._checkboxInputElement.id = Utils.generateUniqueId();\r\n this._checkboxInputElement.type = \"checkbox\";\r\n this._checkboxInputElement.style.display = \"inline-block\";\r\n this._checkboxInputElement.style.verticalAlign = \"middle\";\r\n this._checkboxInputElement.style.margin = \"0\";\r\n this._checkboxInputElement.style.flex = \"0 0 auto\";\r\n if (this.title) {\r\n this._checkboxInputElement.setAttribute(\"aria-label\", this.title);\r\n }\r\n if (this.isRequired) {\r\n this._checkboxInputElement.setAttribute(\"aria-required\", \"true\");\r\n }\r\n this._checkboxInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue === this.valueOn) {\r\n this._checkboxInputElement.checked = true;\r\n }\r\n this._oldCheckboxValue = this._checkboxInputElement.checked;\r\n this._checkboxInputElement.onchange = function () {\r\n _this.valueChanged();\r\n };\r\n Utils.appendChild(element, this._checkboxInputElement);\r\n if (this.title || this.isDesignMode()) {\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = this._checkboxInputElement.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = !this.title ? this.getJsonTypeName() : this.title;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n this._checkboxInputLabelElement = label.render();\r\n if (this._checkboxInputLabelElement) {\r\n this._checkboxInputLabelElement.id = Utils.generateUniqueId();\r\n this._checkboxInputLabelElement.style.display = \"inline-block\";\r\n this._checkboxInputLabelElement.style.flex = \"1 1 auto\";\r\n this._checkboxInputLabelElement.style.marginLeft = \"6px\";\r\n this._checkboxInputLabelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(element, spacerElement);\r\n Utils.appendChild(element, this._checkboxInputLabelElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"isNullable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.prototype.updateVisualState = function (eventType) {\r\n };\r\n ToggleInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Toggle\";\r\n };\r\n ToggleInput.prototype.focus = function () {\r\n if (this._checkboxInputElement) {\r\n this._checkboxInputElement.focus();\r\n }\r\n };\r\n ToggleInput.prototype.isSet = function () {\r\n if (this.isRequired) {\r\n return this.value === this.valueOn;\r\n }\r\n return this.value ? true : false;\r\n };\r\n ToggleInput.prototype.isDirty = function () {\r\n return this._checkboxInputElement\r\n ? this._checkboxInputElement.checked !== this._oldCheckboxValue\r\n : false;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"value\", {\r\n get: function () {\r\n if (this._checkboxInputElement) {\r\n return this._checkboxInputElement.checked ? this.valueOn : this.valueOff;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ToggleInput.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n ToggleInput.valueOnProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOn\", true, undefined, \"true\", function (sender) {\r\n return \"true\";\r\n });\r\n ToggleInput.valueOffProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOff\", true, undefined, \"false\", function (sender) {\r\n return \"false\";\r\n });\r\n ToggleInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueProperty)\r\n ], ToggleInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.titleProperty)\r\n ], ToggleInput.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOnProperty)\r\n ], ToggleInput.prototype, \"valueOn\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.valueOffProperty)\r\n ], ToggleInput.prototype, \"valueOff\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ToggleInput.wrapProperty)\r\n ], ToggleInput.prototype, \"wrap\", void 0);\r\n return ToggleInput;\r\n}(Input));\r\nexports.ToggleInput = ToggleInput;\r\nvar Choice = /** @class */ (function (_super) {\r\n __extends(Choice, _super);\r\n function Choice(title, value) {\r\n var _this = _super.call(this) || this;\r\n _this.title = title;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Choice.prototype.getSchemaKey = function () {\r\n return \"Choice\";\r\n };\r\n //#region Schema\r\n Choice.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Choice.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(Choice.titleProperty)\r\n ], Choice.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Choice.valueProperty)\r\n ], Choice.prototype, \"value\", void 0);\r\n return Choice;\r\n}(serialization_1.SerializableObject));\r\nexports.Choice = Choice;\r\n/**\r\n * DataQuery class is declared later in the file and derives from subsequent base classes\r\n * Hence, it cannot be used in ChoiceSetInput.\r\n * Refactor is needed to separate elements and actions in separate files.\r\n */\r\nvar ChoiceSetInputDataQuery = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInputDataQuery, _super);\r\n function ChoiceSetInputDataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ChoiceSetInputDataQuery.prototype.getSchemaKey = function () {\r\n return \"choices.data\";\r\n };\r\n //#region Schema\r\n ChoiceSetInputDataQuery.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"type\", true, new RegExp(\"^Data.Query$\"));\r\n ChoiceSetInputDataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n ChoiceSetInputDataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n ChoiceSetInputDataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.typeProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.datasetProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.countProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInputDataQuery.skipProperty)\r\n ], ChoiceSetInputDataQuery.prototype, \"skip\", void 0);\r\n return ChoiceSetInputDataQuery;\r\n}(serialization_1.SerializableObject));\r\nexports.ChoiceSetInputDataQuery = ChoiceSetInputDataQuery;\r\nvar ChoiceSetInput = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInput, _super);\r\n function ChoiceSetInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiSelect = false;\r\n _this.wrap = false;\r\n _this.choices = [];\r\n return _this;\r\n }\r\n Object.defineProperty(ChoiceSetInput.prototype, \"isCompact\", {\r\n get: function () {\r\n return !this.style || this.style === \"compact\";\r\n },\r\n set: function (value) {\r\n this.style = value ? undefined : \"expanded\";\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.getUniqueCategoryName = function () {\r\n var uniqueCategoryName = \"__ac-category\" + ChoiceSetInput._uniqueCategoryCounter;\r\n ChoiceSetInput._uniqueCategoryCounter++;\r\n return uniqueCategoryName;\r\n };\r\n ChoiceSetInput.prototype.isDynamicTypeahead = function () {\r\n return (this.hostConfig.inputs.allowDynamicallyFilteredChoiceSet &&\r\n !!this.choicesData &&\r\n !!this.choicesData.dataset &&\r\n this.choicesData.type === \"Data.Query\");\r\n };\r\n ChoiceSetInput.prototype.getFilterForDynamicSearch = function () {\r\n var _a;\r\n return (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value;\r\n };\r\n ChoiceSetInput.prototype.getDropdownElement = function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dropdown;\r\n };\r\n ChoiceSetInput.prototype.renderChoices = function (filter, fetchedChoices) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.processResponse(filter, fetchedChoices);\r\n };\r\n ChoiceSetInput.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.removeLoadingIndicator = function () {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.removeLoadingIndicator();\r\n };\r\n ChoiceSetInput.prototype.showErrorIndicator = function (filter, error) {\r\n var _a;\r\n (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.showErrorIndicator(filter, error);\r\n };\r\n ChoiceSetInput.prototype.showValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.removeValidationFailureCue = function () {\r\n var _a;\r\n (_a = this._textInput) === null || _a === void 0 ? void 0 : _a.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n };\r\n ChoiceSetInput.prototype.createPlaceholderOptionWhenValueDoesNotExist = function () {\r\n if (!this.value) {\r\n var placeholderOption = document.createElement(\"option\");\r\n placeholderOption.selected = true;\r\n placeholderOption.disabled = true;\r\n placeholderOption.hidden = true;\r\n placeholderOption.value = \"\";\r\n if (this.placeholder) {\r\n placeholderOption.text = this.placeholder;\r\n }\r\n return placeholderOption;\r\n }\r\n return undefined;\r\n };\r\n // Make sure `aria-current` is applied to the currently-selected item\r\n ChoiceSetInput.prototype.internalApplyAriaCurrent = function () {\r\n if (this._selectElement) {\r\n var options = this._selectElement.options;\r\n if (options) {\r\n for (var _i = 0, _a = Array.from(options); _i < _a.length; _i++) {\r\n var option = _a[_i];\r\n if (option.selected) {\r\n option.setAttribute(\"aria-current\", \"true\");\r\n }\r\n else {\r\n option.removeAttribute(\"aria-current\");\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.renderCompoundInput = function (cssClassName, type, defaultValues) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", cssClassName);\r\n element.style.width = \"100%\";\r\n element.tabIndex = this.isDesignMode() ? -1 : 0;\r\n this._toggleInputs = [];\r\n this._labels = [];\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var input = document.createElement(\"input\");\r\n input.id = Utils.generateUniqueId();\r\n input.type = type;\r\n input.style.margin = \"0\";\r\n input.style.display = \"inline-block\";\r\n input.style.verticalAlign = \"middle\";\r\n input.style.flex = \"0 0 auto\";\r\n input.name = this.id ? this.id : this._uniqueCategoryName;\r\n if (this.isRequired) {\r\n input.setAttribute(\"aria-required\", \"true\");\r\n }\r\n input.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (choice.value) {\r\n input.value = choice.value;\r\n }\r\n if (choice.title) {\r\n input.setAttribute(\"aria-label\", choice.title);\r\n }\r\n if (defaultValues && choice.value) {\r\n if (defaultValues.indexOf(choice.value) >= 0) {\r\n input.checked = true;\r\n }\r\n }\r\n input.onchange = function () {\r\n _this.valueChanged();\r\n };\r\n this._toggleInputs.push(input);\r\n var compoundInput = document.createElement(\"div\");\r\n compoundInput.style.display = \"flex\";\r\n compoundInput.style.alignItems = \"center\";\r\n Utils.appendChild(compoundInput, input);\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = input.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = choice.title ? choice.title : \"Choice \" + this._toggleInputs.length;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n var labelElement = label.render();\r\n this._labels.push(labelElement);\r\n if (labelElement) {\r\n labelElement.id = Utils.generateUniqueId();\r\n labelElement.style.display = \"inline-block\";\r\n labelElement.style.flex = \"1 1 auto\";\r\n labelElement.style.marginLeft = \"6px\";\r\n labelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(compoundInput, spacerElement);\r\n Utils.appendChild(compoundInput, labelElement);\r\n }\r\n Utils.appendChild(element, compoundInput);\r\n }\r\n return element;\r\n };\r\n ChoiceSetInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if ((this.isMultiSelect || this.style === \"expanded\") &&\r\n this._toggleInputs &&\r\n this._labels) {\r\n var labelIds = this.getAllLabelIds();\r\n for (var i = 0; i < this._toggleInputs.length; i++) {\r\n var joinedLabelIds = labelIds.join(\" \");\r\n var label = this._labels[i];\r\n if (label && label.id) {\r\n joinedLabelIds += \" \" + label.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._toggleInputs[i].setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._toggleInputs[i].removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n }\r\n else {\r\n _super.prototype.updateInputControlAriaLabelledBy.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._uniqueCategoryName = ChoiceSetInput.getUniqueCategoryName();\r\n if (this.isDynamicTypeahead()) {\r\n var filteredChoiceSet_1 = new FilteredChoiceSet(ChoiceSetInput._uniqueCategoryCounter, this.choices, this.hostConfig);\r\n filteredChoiceSet_1.render();\r\n if (filteredChoiceSet_1.textInput) {\r\n this._textInput = filteredChoiceSet_1.textInput;\r\n if (this.defaultValue) {\r\n this._textInput.value = this.defaultValue;\r\n }\r\n if (this.placeholder && !this._textInput.value) {\r\n this._textInput.placeholder = this.placeholder;\r\n this._textInput.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var onInputChangeEventHandler = Utils.debounce(function () {\r\n filteredChoiceSet_1.processChoices();\r\n _this.valueChanged();\r\n if (_this._textInput) {\r\n // Remove aria-label when value is not empty so narration software doesn't\r\n // read the placeholder\r\n if (_this.value) {\r\n _this._textInput.removeAttribute(\"placeholder\");\r\n _this._textInput.removeAttribute(\"aria-label\");\r\n }\r\n else if (_this.placeholder) {\r\n _this._textInput.placeholder = _this.placeholder;\r\n _this._textInput.setAttribute(\"aria-label\", _this.placeholder);\r\n }\r\n }\r\n }, this.hostConfig.inputs.debounceTimeInMilliSeconds);\r\n this._textInput.onclick = onInputChangeEventHandler;\r\n this._textInput.oninput = onInputChangeEventHandler;\r\n }\r\n filteredChoiceSet_1.parent = this;\r\n this._filteredChoiceSet = filteredChoiceSet_1;\r\n return filteredChoiceSet_1.renderedElement;\r\n }\r\n else if (this.isMultiSelect) {\r\n // Render as a list of toggle inputs\r\n return this.renderCompoundInput(\"ac-choiceSetInput-multiSelect\", \"checkbox\", this.defaultValue\r\n ? this.defaultValue.split(this.hostConfig.choiceSetInputValueSeparator)\r\n : undefined);\r\n }\r\n else {\r\n if (this.style === \"expanded\") {\r\n // Render as a series of radio buttons\r\n return this.renderCompoundInput(\"ac-choiceSetInput-expanded\", \"radio\", this.defaultValue ? [this.defaultValue] : undefined);\r\n }\r\n else if (this.style === \"filtered\") {\r\n // Render as a text input coupled with a datalist\r\n var inputContainer = document.createElement(\"div\");\r\n inputContainer.style.width = \"100%\";\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-filtered\");\r\n this._textInput.type = \"text\";\r\n this._textInput.style.width = \"100%\";\r\n this._textInput.oninput = function () {\r\n _this.valueChanged();\r\n if (_this._textInput) {\r\n // Remove aria-label when value is not empty so narration software doesn't\r\n // read the placeholder\r\n if (_this.value) {\r\n _this._textInput.removeAttribute(\"placeholder\");\r\n _this._textInput.removeAttribute(\"aria-label\");\r\n }\r\n else if (_this.placeholder) {\r\n _this._textInput.placeholder = _this.placeholder;\r\n _this._textInput.setAttribute(\"aria-label\", _this.placeholder);\r\n }\r\n }\r\n };\r\n if (this.defaultValue) {\r\n this._textInput.value = this.defaultValue;\r\n }\r\n if (this.placeholder && !this._textInput.value) {\r\n this._textInput.placeholder = this.placeholder;\r\n this._textInput.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._textInput.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var dataList = document.createElement(\"datalist\");\r\n dataList.id = Utils.generateUniqueId();\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var option = document.createElement(\"option\");\r\n // To fix https://stackoverflow.com/questions/29882361/show-datalist-labels-but-submit-the-actual-value\r\n // value is mapped to choice.title other than choice.value\r\n if (choice.title) {\r\n option.value = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\r\n dataList.appendChild(option);\r\n }\r\n this._textInput.setAttribute(\"list\", dataList.id);\r\n inputContainer.append(this._textInput, dataList);\r\n return inputContainer;\r\n }\r\n else {\r\n // Render as a combo box\r\n this._selectElement = document.createElement(\"select\");\r\n this._selectElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-compact\");\r\n this._selectElement.style.width = \"100%\";\r\n this._selectElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n var placeholderOption = this.createPlaceholderOptionWhenValueDoesNotExist();\r\n Utils.appendChild(this._selectElement, placeholderOption);\r\n for (var _b = 0, _c = this.choices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n var option = document.createElement(\"option\");\r\n option.value = choice.value;\r\n if (choice.title) {\r\n option.text = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n }\r\n option.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (choice.value === this.defaultValue) {\r\n option.selected = true;\r\n }\r\n Utils.appendChild(this._selectElement, option);\r\n }\r\n this._selectElement.onchange = function () {\r\n _this.internalApplyAriaCurrent();\r\n _this.valueChanged();\r\n };\r\n this.internalApplyAriaCurrent();\r\n return this._selectElement;\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n if (!this.isMultiSelect && this.isCompact) {\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._selectElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDropDownPicker = this.shouldHideInputAdornersForRevealOnHover(this._selectElement, eventType);\r\n if (hideDropDownPicker) {\r\n this._selectElement.style.appearance = \"none\";\r\n this._selectElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._selectElement.style.appearance = \"auto\";\r\n this._selectElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.getJsonTypeName = function () {\r\n return \"Input.ChoiceSet\";\r\n };\r\n ChoiceSetInput.prototype.focus = function () {\r\n if (this._toggleInputs && (this.isMultiSelect || this.style === \"expanded\")) {\r\n if (this._toggleInputs.length > 0) {\r\n this._toggleInputs[0].focus();\r\n }\r\n }\r\n else if (this._textInput) {\r\n this._textInput.focus();\r\n }\r\n else {\r\n _super.prototype.focus.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.choices.length === 0) {\r\n context.addFailure(this, Enums.ValidationEvent.CollectionCantBeEmpty, strings_1.Strings.errors.choiceSetMustHaveAtLeastOneChoice());\r\n }\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (!choice.title || !choice.value) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.choiceSetChoicesMustHaveTitleAndValue());\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n ChoiceSetInput.prototype.isValid = function () {\r\n if (this._textInput) {\r\n if (this.value === \"\" || this.value === this.placeholder) {\r\n return true;\r\n }\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (this.value === choice.value) {\r\n return true;\r\n }\r\n }\r\n if (this.dynamicChoices) {\r\n for (var _b = 0, _c = this.dynamicChoices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n if (this.value === choice) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n }\r\n return _super.prototype.isValid.call(this);\r\n };\r\n Object.defineProperty(ChoiceSetInput.prototype, \"value\", {\r\n get: function () {\r\n if (!this.isMultiSelect) {\r\n if (this._selectElement) {\r\n return this._selectElement.selectedIndex > 0\r\n ? this._selectElement.value\r\n : undefined;\r\n }\r\n else if (this._textInput) {\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (choice.title && this._textInput.value === choice.title) {\r\n return choice.value;\r\n }\r\n }\r\n return this._textInput.value;\r\n }\r\n else if (this._toggleInputs && this._toggleInputs.length > 0) {\r\n for (var _b = 0, _c = this._toggleInputs; _b < _c.length; _b++) {\r\n var toggleInput = _c[_b];\r\n if (toggleInput.checked) {\r\n return toggleInput.value;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n else {\r\n if (!this._toggleInputs || this._toggleInputs.length === 0) {\r\n return undefined;\r\n }\r\n var result = \"\";\r\n for (var _d = 0, _f = this._toggleInputs; _d < _f.length; _d++) {\r\n var toggleInput = _f[_d];\r\n if (toggleInput.checked) {\r\n if (result !== \"\") {\r\n result += this.hostConfig.choiceSetInputValueSeparator;\r\n }\r\n result += toggleInput.value;\r\n }\r\n }\r\n return result ? result : undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ChoiceSetInput.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._filteredChoiceSet) === null || _a === void 0 ? void 0 : _a.dynamicChoices;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ChoiceSetInput.choicesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"choices\", Choice);\r\n ChoiceSetInput.choicesDataProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_6, \"choices.data\", ChoiceSetInputDataQuery);\r\n ChoiceSetInput.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_0, \"style\", [\r\n { value: \"compact\" },\r\n { value: \"expanded\" },\r\n { value: \"filtered\", targetVersion: serialization_1.Versions.v1_5 }\r\n ], \"compact\");\r\n ChoiceSetInput.isMultiSelectProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiSelect\", false);\r\n ChoiceSetInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n ChoiceSetInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n //#endregion\r\n ChoiceSetInput._uniqueCategoryCounter = 0;\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.valueProperty)\r\n ], ChoiceSetInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.styleProperty)\r\n ], ChoiceSetInput.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.isMultiSelectProperty)\r\n ], ChoiceSetInput.prototype, \"isMultiSelect\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.placeholderProperty)\r\n ], ChoiceSetInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.wrapProperty)\r\n ], ChoiceSetInput.prototype, \"wrap\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesProperty)\r\n ], ChoiceSetInput.prototype, \"choices\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ChoiceSetInput.choicesDataProperty)\r\n ], ChoiceSetInput.prototype, \"choicesData\", void 0);\r\n return ChoiceSetInput;\r\n}(Input));\r\nexports.ChoiceSetInput = ChoiceSetInput;\r\nvar FilteredChoiceSet = /** @class */ (function () {\r\n function FilteredChoiceSet(choiceSetId, choices, hostConfig) {\r\n this._choiceSetId = choiceSetId;\r\n this._choices = choices;\r\n this._dynamicChoices = [];\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n this._hostConfig = hostConfig;\r\n }\r\n FilteredChoiceSet.prototype.render = function () {\r\n var _this = this;\r\n var choiceSetContainer = document.createElement(\"div\");\r\n choiceSetContainer.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-container\");\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-textbox\");\r\n this._textInput.type = \"text\";\r\n this._textInput.onkeydown = function (event) {\r\n if (event.key === \"ArrowDown\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId + 1);\r\n }\r\n else if (event.key === \"ArrowUp\") {\r\n event.preventDefault();\r\n _this.highlightChoice(_this._highlightedChoiceId - 1);\r\n }\r\n else if (event.key === \"Enter\") {\r\n var choice = document.getElementById(\"ac-choiceSetInput-\".concat(_this._choiceSetId, \"-choice-\").concat(_this._highlightedChoiceId));\r\n choice === null || choice === void 0 ? void 0 : choice.click();\r\n }\r\n };\r\n this._dropdown = document.createElement(\"div\");\r\n this._dropdown.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-filtered-dropdown\");\r\n choiceSetContainer.append(this._textInput, this._dropdown);\r\n this._renderedElement = choiceSetContainer;\r\n };\r\n FilteredChoiceSet.prototype.createChoice = function (value, filter, id) {\r\n var _this = this;\r\n var choice = document.createElement(\"span\");\r\n choice.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-choice\");\r\n choice.id = \"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id);\r\n choice.innerHTML = value.replace(filter, \"\".concat(filter, \"\"));\r\n choice.tabIndex = -1;\r\n choice.onclick = function () {\r\n choice.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n _this._highlightedChoiceId = -1;\r\n if (_this._textInput) {\r\n _this._textInput.value = choice.innerText;\r\n _this._textInput.focus();\r\n }\r\n if (_this._dropdown) {\r\n _this._dropdown.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n choice.onmousemove = function () {\r\n if (_this._highlightedChoiceId !== id) {\r\n _this.highlightChoice(id, false);\r\n }\r\n };\r\n return choice;\r\n };\r\n FilteredChoiceSet.prototype.highlightChoice = function (id, scrollIntoView) {\r\n if (scrollIntoView === void 0) { scrollIntoView = true; }\r\n if (this._visibleChoiceCount > 0) {\r\n var currentHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(this._highlightedChoiceId));\r\n var nextHighlightedChoice = document.getElementById(\"ac-choiceSetInput-\".concat(this._choiceSetId, \"-choice-\").concat(id));\r\n if (nextHighlightedChoice) {\r\n currentHighlightedChoice === null || currentHighlightedChoice === void 0 ? void 0 : currentHighlightedChoice.classList.remove(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n nextHighlightedChoice.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-choice-highlighted\"));\r\n if (scrollIntoView) {\r\n nextHighlightedChoice.scrollIntoView();\r\n }\r\n this._highlightedChoiceId = id;\r\n }\r\n else if (currentHighlightedChoice && this._highlightedChoiceId !== 0) {\r\n this.highlightChoice(0);\r\n }\r\n else {\r\n this.highlightChoice(this._visibleChoiceCount - 1);\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.filterChoices = function () {\r\n var _a, _b;\r\n var filter = ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value.toLowerCase().trim()) || \"\";\r\n var choices = __spreadArray(__spreadArray([], this._choices, true), this._dynamicChoices, true);\r\n for (var _i = 0, choices_1 = choices; _i < choices_1.length; _i++) {\r\n var choice = choices_1[_i];\r\n if (choice.title) {\r\n var matchIndex = choice.title.toLowerCase().indexOf(filter);\r\n if (matchIndex !== -1) {\r\n var matchedText = choice.title.substring(matchIndex, matchIndex + filter.length);\r\n var choiceContainer = this.createChoice(choice.title, matchedText, this._visibleChoiceCount++);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(choiceContainer);\r\n }\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.getStatusIndicator = function (error) {\r\n if (error) {\r\n if (!this._errorIndicator) {\r\n var errorIndicator = document.createElement(\"div\");\r\n errorIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\", \"ac-choiceSetInput-errorIndicator\");\r\n this._errorIndicator = errorIndicator;\r\n }\r\n this._errorIndicator.innerText = error;\r\n return this._errorIndicator;\r\n }\r\n else {\r\n if (!this._loadingIndicator) {\r\n var loadingIndicator = document.createElement(\"div\");\r\n loadingIndicator.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-choiceSetInput-statusIndicator\");\r\n this._loadingIndicator = loadingIndicator;\r\n }\r\n this._loadingIndicator.innerText =\r\n this._visibleChoiceCount === 0 ? \"Loading...\" : \"Loading more...\";\r\n return this._loadingIndicator;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.resetDropdown = function () {\r\n if (this._dropdown) {\r\n Utils.clearElementChildren(this._dropdown);\r\n this._visibleChoiceCount = 0;\r\n this._highlightedChoiceId = -1;\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showDropdown = function () {\r\n var _a;\r\n if ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.hasChildNodes()) {\r\n this._dropdown.classList.add(this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n };\r\n FilteredChoiceSet.prototype.processChoices = function () {\r\n this.resetDropdown();\r\n this.filterChoices();\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.processResponse = function (filter, fetchedChoices) {\r\n var _a;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.resetDropdown();\r\n this._dynamicChoices = fetchedChoices;\r\n this.filterChoices();\r\n if (this._visibleChoiceCount === 0) {\r\n this.showErrorIndicator(filter, \"No results found\");\r\n }\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showLoadingIndicator = function () {\r\n var _a;\r\n var loadingIndicator = this.getStatusIndicator();\r\n (_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.appendChild(loadingIndicator);\r\n this.showDropdown();\r\n };\r\n FilteredChoiceSet.prototype.removeLoadingIndicator = function () {\r\n var _a, _b;\r\n if (this._loadingIndicator && ((_a = this._dropdown) === null || _a === void 0 ? void 0 : _a.contains(this._loadingIndicator))) {\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.removeChild(this._loadingIndicator);\r\n }\r\n };\r\n FilteredChoiceSet.prototype.showErrorIndicator = function (filter, error) {\r\n var _a, _b;\r\n if (filter === ((_a = this._textInput) === null || _a === void 0 ? void 0 : _a.value)) {\r\n this.processChoices();\r\n var errorIndicator = this.getStatusIndicator(error);\r\n (_b = this._dropdown) === null || _b === void 0 ? void 0 : _b.appendChild(errorIndicator);\r\n errorIndicator.scrollIntoView();\r\n }\r\n };\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dynamicChoices\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._dynamicChoices) === null || _a === void 0 ? void 0 : _a.map(function (choice) { return choice.title; });\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"hostConfig\", {\r\n get: function () {\r\n if (this._hostConfig) {\r\n return this._hostConfig;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.hostConfig;\r\n }\r\n else {\r\n return host_config_1.defaultHostConfig;\r\n }\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n set: function (value) {\r\n this._parent = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"renderedElement\", {\r\n get: function () {\r\n return this._renderedElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"textInput\", {\r\n get: function () {\r\n return this._textInput;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(FilteredChoiceSet.prototype, \"dropdown\", {\r\n get: function () {\r\n return this._dropdown;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return FilteredChoiceSet;\r\n}());\r\nexports.FilteredChoiceSet = FilteredChoiceSet;\r\nvar NumberInput = /** @class */ (function (_super) {\r\n __extends(NumberInput, _super);\r\n function NumberInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n NumberInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._numberInputElement = document.createElement(\"input\");\r\n this._numberInputElement.setAttribute(\"type\", \"number\");\r\n if (this.min !== undefined) {\r\n this._numberInputElement.setAttribute(\"min\", this.min.toString());\r\n }\r\n if (this.max !== undefined) {\r\n this._numberInputElement.setAttribute(\"max\", this.max.toString());\r\n }\r\n this._numberInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-numberInput\");\r\n this._numberInputElement.style.width = \"100%\";\r\n this._numberInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue !== undefined) {\r\n this._numberInputElement.valueAsNumber = this.defaultValue;\r\n }\r\n if (this.placeholder) {\r\n this._numberInputElement.placeholder = this.placeholder;\r\n this._numberInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._numberInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n return this._numberInputElement;\r\n };\r\n NumberInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Number\";\r\n };\r\n NumberInput.prototype.isSet = function () {\r\n return this.value !== undefined && !isNaN(this.value);\r\n };\r\n NumberInput.prototype.isValid = function () {\r\n if (this.value === undefined) {\r\n return !this.isRequired;\r\n }\r\n var result = true;\r\n if (this.min !== undefined) {\r\n result = result && this.value >= this.min;\r\n }\r\n if (this.max !== undefined) {\r\n result = result && this.value <= this.max;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(NumberInput.prototype, \"value\", {\r\n get: function () {\r\n return this._numberInputElement ? this._numberInputElement.valueAsNumber : undefined;\r\n },\r\n set: function (value) {\r\n if (value && this._numberInputElement) {\r\n this._numberInputElement.value = value.toString();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n NumberInput.valueProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"value\");\r\n NumberInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n NumberInput.minProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"min\");\r\n NumberInput.maxProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.valueProperty)\r\n ], NumberInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.minProperty)\r\n ], NumberInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.maxProperty)\r\n ], NumberInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(NumberInput.placeholderProperty)\r\n ], NumberInput.prototype, \"placeholder\", void 0);\r\n return NumberInput;\r\n}(Input));\r\nexports.NumberInput = NumberInput;\r\nvar DateInput = /** @class */ (function (_super) {\r\n __extends(DateInput, _super);\r\n function DateInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._dateInputElement = document.createElement(\"input\");\r\n this._dateInputElement.setAttribute(\"type\", \"date\");\r\n if (this.min) {\r\n this._dateInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._dateInputElement.setAttribute(\"max\", this.max);\r\n }\r\n if (this.placeholder) {\r\n this._dateInputElement.placeholder = this.placeholder;\r\n this._dateInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._dateInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n this._dateInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-dateInput\");\r\n this._dateInputElement.style.width = \"100%\";\r\n this._dateInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n if (this.defaultValue) {\r\n this._dateInputElement.value = this.defaultValue;\r\n }\r\n return this._dateInputElement;\r\n };\r\n DateInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._dateInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideDatePicker = this.shouldHideInputAdornersForRevealOnHover(this._dateInputElement, eventType);\r\n if (hideDatePicker) {\r\n this._dateInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._dateInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._dateInputElement, hideDatePicker /*hide*/);\r\n }\r\n };\r\n DateInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Date\";\r\n };\r\n DateInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n DateInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = new Date(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = new Date(this.min);\r\n result = result && valueAsDate >= minDate;\r\n }\r\n if (this.max) {\r\n var maxDate = new Date(this.max);\r\n result = result && valueAsDate <= maxDate;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(DateInput.prototype, \"value\", {\r\n get: function () {\r\n return this._dateInputElement ? this._dateInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n DateInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n DateInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n DateInput.minProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"min\");\r\n DateInput.maxProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.valueProperty)\r\n ], DateInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.minProperty)\r\n ], DateInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.maxProperty)\r\n ], DateInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DateInput.placeholderProperty)\r\n ], DateInput.prototype, \"placeholder\", void 0);\r\n return DateInput;\r\n}(Input));\r\nexports.DateInput = DateInput;\r\nvar TimeProperty = /** @class */ (function (_super) {\r\n __extends(TimeProperty, _super);\r\n function TimeProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, function (sender, prop, source, context) {\r\n var value = source[prop.name];\r\n if (typeof value === \"string\" && value && /^[0-9]{2}:[0-9]{2}$/.test(value)) {\r\n return value;\r\n }\r\n return undefined;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, value);\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n return TimeProperty;\r\n}(serialization_1.CustomProperty));\r\nexports.TimeProperty = TimeProperty;\r\nvar TimeInput = /** @class */ (function (_super) {\r\n __extends(TimeInput, _super);\r\n function TimeInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeInput.convertTimeStringToDate = function (timeString) {\r\n return new Date(\"1973-09-04T\" + timeString + \":00Z\");\r\n };\r\n TimeInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._timeInputElement = document.createElement(\"input\");\r\n this._timeInputElement.setAttribute(\"type\", \"time\");\r\n if (this.min) {\r\n this._timeInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._timeInputElement.setAttribute(\"max\", this.max);\r\n }\r\n this._timeInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-timeInput\");\r\n this._timeInputElement.style.width = \"100%\";\r\n this._timeInputElement.oninput = function () {\r\n _this.valueChanged();\r\n };\r\n if (this.placeholder) {\r\n this._timeInputElement.placeholder = this.placeholder;\r\n this._timeInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._timeInputElement.tabIndex = this.isDesignMode() ? -1 : 0;\r\n if (this.defaultValue) {\r\n this._timeInputElement.value = this.defaultValue;\r\n }\r\n return this._timeInputElement;\r\n };\r\n TimeInput.prototype.updateVisualState = function (eventType) {\r\n if (!this.allowRevealOnHoverStyle) {\r\n return;\r\n }\r\n _super.prototype.updateVisualState.call(this, eventType);\r\n if (this._timeInputElement && this.inputStyle === Enums.InputStyle.RevealOnHover) {\r\n var hideTimePicker = this.shouldHideInputAdornersForRevealOnHover(this._timeInputElement, eventType);\r\n if (hideTimePicker) {\r\n this._timeInputElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n else {\r\n this._timeInputElement.classList.add(this.hostConfig.makeCssClassName(\"ac-inputStyle-revealOnHover-onfocus\"));\r\n }\r\n updateInputAdornersVisibility(this._timeInputElement, hideTimePicker /*hide*/);\r\n }\r\n };\r\n TimeInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Time\";\r\n };\r\n TimeInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TimeInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = TimeInput.convertTimeStringToDate(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = TimeInput.convertTimeStringToDate(this.min);\r\n result = result && valueAsDate >= minDate;\r\n }\r\n if (this.max) {\r\n var maxDate = TimeInput.convertTimeStringToDate(this.max);\r\n result = result && valueAsDate <= maxDate;\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(TimeInput.prototype, \"value\", {\r\n get: function () {\r\n return this._timeInputElement ? this._timeInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TimeInput.valueProperty = new TimeProperty(serialization_1.Versions.v1_0, \"value\");\r\n TimeInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TimeInput.minProperty = new TimeProperty(serialization_1.Versions.v1_0, \"min\");\r\n TimeInput.maxProperty = new TimeProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.valueProperty)\r\n ], TimeInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.minProperty)\r\n ], TimeInput.prototype, \"min\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.maxProperty)\r\n ], TimeInput.prototype, \"max\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TimeInput.placeholderProperty)\r\n ], TimeInput.prototype, \"placeholder\", void 0);\r\n return TimeInput;\r\n}(Input));\r\nexports.TimeInput = TimeInput;\r\nvar Action = /** @class */ (function (_super) {\r\n __extends(Action, _super);\r\n function Action() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.style = Enums.ActionStyle.Default;\r\n _this.mode = Enums.ActionMode.Primary;\r\n _this._state = 0 /* Normal */;\r\n _this._isFocusable = true;\r\n return _this;\r\n }\r\n //#endregion\r\n Action.prototype.renderButtonContent = function () {\r\n if (this.renderedElement) {\r\n // Cache hostConfig for perf\r\n var hostConfig = this.hostConfig;\r\n var titleElement = document.createElement(\"div\");\r\n titleElement.style.overflow = \"hidden\";\r\n titleElement.style.textOverflow = \"ellipsis\";\r\n if (!(hostConfig.actions.iconPlacement === Enums.ActionIconPlacement.AboveTitle ||\r\n hostConfig.actions.allowTitleToWrap)) {\r\n titleElement.style.whiteSpace = \"nowrap\";\r\n }\r\n if (this.title) {\r\n titleElement.innerText = this.title;\r\n }\r\n if (!this.iconUrl) {\r\n this.renderedElement.classList.add(\"noIcon\");\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n else {\r\n var iconElement = document.createElement(\"img\");\r\n iconElement.src = this.iconUrl;\r\n iconElement.style.width = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.height = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.flex = \"0 0 auto\";\r\n if (hostConfig.actions.iconPlacement === Enums.ActionIconPlacement.AboveTitle) {\r\n this.renderedElement.classList.add(\"iconAbove\");\r\n this.renderedElement.style.flexDirection = \"column\";\r\n if (this.title) {\r\n iconElement.style.marginBottom = \"6px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.classList.add(\"iconLeft\");\r\n iconElement.style.maxHeight = \"100%\";\r\n if (this.title) {\r\n iconElement.style.marginRight = \"6px\";\r\n }\r\n }\r\n this.renderedElement.appendChild(iconElement);\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n }\r\n };\r\n Action.prototype.getParentContainer = function () {\r\n if (this.parent instanceof Container) {\r\n return this.parent;\r\n }\r\n return this.parent ? this.parent.getParentContainer() : undefined;\r\n };\r\n Action.prototype.isDesignMode = function () {\r\n var rootElement = this.getRootObject();\r\n return rootElement instanceof CardElement && rootElement.isDesignMode();\r\n };\r\n Action.prototype.updateCssClasses = function () {\r\n var _a, _b;\r\n if (this.parent && this.renderedElement) {\r\n var hostConfig = this.parent.hostConfig;\r\n this.renderedElement.className = hostConfig.makeCssClassName(this.isEffectivelyEnabled() ? \"ac-pushButton\" : \"ac-pushButton-disabled\");\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer) {\r\n var parentContainerStyle = parentContainer.getEffectiveStyle();\r\n if (parentContainerStyle) {\r\n this.renderedElement.classList.add(\"style-\" + parentContainerStyle);\r\n }\r\n }\r\n this.renderedElement.tabIndex = !this.isDesignMode() && this.isFocusable ? 0 : -1;\r\n switch (this._state) {\r\n case 0 /* Normal */:\r\n // No additional classes needed\r\n break;\r\n case 1 /* Expanded */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"expanded\"));\r\n break;\r\n case 2 /* Subdued */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"subdued\"));\r\n break;\r\n }\r\n if (this.style && this.isEffectivelyEnabled()) {\r\n if (this.style === Enums.ActionStyle.Positive) {\r\n (_a = this.renderedElement.classList).add.apply(_a, hostConfig.makeCssClassNames(\"primary\", \"style-positive\"));\r\n }\r\n else {\r\n (_b = this.renderedElement.classList).add.apply(_b, hostConfig.makeCssClassNames(\"style-\" + this.style.toLowerCase()));\r\n }\r\n }\r\n }\r\n };\r\n Action.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n Action.prototype.internalGetReferencedInputs = function () {\r\n return {};\r\n };\r\n Action.prototype.internalPrepareForExecution = function (_inputs) {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.internalValidateInputs = function (referencedInputs) {\r\n var result = [];\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n if (!input.validateValue()) {\r\n result.push(input);\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Action.prototype.shouldSerialize = function (context) {\r\n return context.actionRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Action.prototype.raiseExecuteActionEvent = function () {\r\n if (this.onExecute) {\r\n this.onExecute(this);\r\n }\r\n raiseExecuteActionEvent(this);\r\n };\r\n Action.prototype.internalAfterExecute = function () {\r\n var rootObject = this.getRootObject();\r\n if (rootObject instanceof CardElement) {\r\n rootObject.updateActionsEnabledState();\r\n }\r\n };\r\n Action.prototype.getHref = function () {\r\n return \"\";\r\n };\r\n Action.prototype.getAriaRole = function () {\r\n var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"button\";\r\n };\r\n Action.prototype.getAriaRoleFromEnum = function () {\r\n switch (this.role) {\r\n case Enums.ActionRole.Button:\r\n return \"button\";\r\n case Enums.ActionRole.Link:\r\n return \"link\";\r\n case Enums.ActionRole.Menu:\r\n return \"menu\";\r\n case Enums.ActionRole.MenuItem:\r\n return \"menuitem\";\r\n case Enums.ActionRole.Tab:\r\n return \"tab\";\r\n default:\r\n return undefined;\r\n }\r\n };\r\n Action.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n element.tabIndex = this.isEffectivelyEnabled() && !this.isDesignMode() ? 0 : -1;\r\n element.setAttribute(\"role\", this.getAriaRole());\r\n if (element instanceof HTMLButtonElement) {\r\n element.disabled = !this.isEffectivelyEnabled();\r\n }\r\n if (!this.isEffectivelyEnabled()) {\r\n element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n else {\r\n element.removeAttribute(\"aria-disabled\");\r\n element.classList.add(this.hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n if (this.title) {\r\n element.setAttribute(\"aria-label\", this.title);\r\n element.title = this.title;\r\n }\r\n else {\r\n element.removeAttribute(\"aria-label\");\r\n element.removeAttribute(\"title\");\r\n }\r\n if (this.tooltip) {\r\n if (promoteTooltipToLabel && !this.title) {\r\n element.setAttribute(\"aria-label\", this.tooltip);\r\n }\r\n element.title = this.tooltip;\r\n }\r\n };\r\n Action.prototype.parse = function (source, context) {\r\n return _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n Action.prototype.render = function () {\r\n var _this = this;\r\n var buttonElement = document.createElement(\"button\");\r\n buttonElement.type = \"button\";\r\n buttonElement.style.display = \"flex\";\r\n buttonElement.style.alignItems = \"center\";\r\n buttonElement.style.justifyContent = \"center\";\r\n buttonElement.onclick = function (e) {\r\n if (_this.isEffectivelyEnabled()) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.execute();\r\n }\r\n };\r\n this._renderedElement = buttonElement;\r\n this.renderButtonContent();\r\n this.updateCssClasses();\r\n this.setupElementForAccessibility(buttonElement);\r\n };\r\n Action.prototype.execute = function () {\r\n if (this._actionCollection) {\r\n this._actionCollection.actionExecuted(this);\r\n }\r\n this.raiseExecuteActionEvent();\r\n this.internalAfterExecute();\r\n };\r\n Action.prototype.prepareForExecution = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n var invalidInputs = this.internalValidateInputs(referencedInputs);\r\n if (invalidInputs.length > 0) {\r\n invalidInputs[0].focus();\r\n return false;\r\n }\r\n this.internalPrepareForExecution(referencedInputs);\r\n return true;\r\n };\r\n Action.prototype.remove = function () {\r\n if (this._actionCollection) {\r\n return this._actionCollection.removeAction(this);\r\n }\r\n return false;\r\n };\r\n Action.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n Action.prototype.getAllActions = function () {\r\n return [this];\r\n };\r\n Action.prototype.getResourceInformation = function () {\r\n return this.iconUrl ? [{ url: this.iconUrl, mimeType: \"image\" }] : [];\r\n };\r\n Action.prototype.getActionById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n Action.prototype.getReferencedInputs = function () {\r\n return this.internalGetReferencedInputs();\r\n };\r\n /**\r\n * Validates the inputs associated with this action.\r\n *\r\n * @returns A list of inputs that failed validation, or an empty array if no input failed validation.\r\n */\r\n Action.prototype.validateInputs = function () {\r\n return this.internalValidateInputs(this.getReferencedInputs());\r\n };\r\n Action.prototype.updateEnabledState = function () {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.isEffectivelyEnabled = function () {\r\n return this.isEnabled;\r\n };\r\n Object.defineProperty(Action.prototype, \"isPrimary\", {\r\n get: function () {\r\n return this.style === Enums.ActionStyle.Positive;\r\n },\r\n set: function (value) {\r\n if (value) {\r\n this.style = Enums.ActionStyle.Positive;\r\n }\r\n else {\r\n if (this.style === Enums.ActionStyle.Positive) {\r\n this.style = Enums.ActionStyle.Default;\r\n }\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"state\", {\r\n get: function () {\r\n return this._state;\r\n },\r\n set: function (value) {\r\n if (this._state !== value) {\r\n this._state = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"isFocusable\", {\r\n get: function () {\r\n return this._isFocusable;\r\n },\r\n set: function (value) {\r\n if (this._isFocusable !== value) {\r\n this._isFocusable = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Action.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Action.iconUrlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"iconUrl\");\r\n Action.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_2, \"style\", [\r\n { value: Enums.ActionStyle.Default },\r\n { value: Enums.ActionStyle.Positive },\r\n { value: Enums.ActionStyle.Destructive }\r\n ], Enums.ActionStyle.Default);\r\n Action.modeProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"mode\", [{ value: Enums.ActionMode.Primary }, { value: Enums.ActionMode.Secondary }], Enums.ActionMode.Primary);\r\n Action.tooltipProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_5, \"tooltip\");\r\n Action.isEnabledProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"isEnabled\", true);\r\n Action.roleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"role\", Enums.ActionRole);\r\n __decorate([\r\n (0, serialization_1.property)(Action.titleProperty)\r\n ], Action.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.iconUrlProperty)\r\n ], Action.prototype, \"iconUrl\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.styleProperty)\r\n ], Action.prototype, \"style\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.modeProperty)\r\n ], Action.prototype, \"mode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.tooltipProperty)\r\n ], Action.prototype, \"tooltip\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.isEnabledProperty)\r\n ], Action.prototype, \"isEnabled\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Action.roleProperty)\r\n ], Action.prototype, \"role\", void 0);\r\n return Action;\r\n}(card_object_1.CardObject));\r\nexports.Action = Action;\r\nvar SubmitActionBase = /** @class */ (function (_super) {\r\n __extends(SubmitActionBase, _super);\r\n function SubmitActionBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.disabledUnlessAssociatedInputsChange = false;\r\n //#endregion\r\n _this._isPrepared = false;\r\n _this._areReferencedInputsDirty = false;\r\n return _this;\r\n }\r\n SubmitActionBase.prototype.internalGetReferencedInputs = function () {\r\n var result = {};\r\n if (this.associatedInputs !== \"none\") {\r\n var current = this.parent;\r\n var inputs = [];\r\n while (current) {\r\n inputs.push.apply(inputs, current.getAllInputs(false));\r\n current = current.parent;\r\n }\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n if (input.id) {\r\n result[input.id] = input;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n SubmitActionBase.prototype.internalPrepareForExecution = function (inputs) {\r\n if (this._originalData) {\r\n this._processedData = JSON.parse(JSON.stringify(this._originalData));\r\n }\r\n else {\r\n this._processedData = {};\r\n }\r\n if (this._processedData && inputs) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = inputs[key];\r\n if (input.id && input.isSet()) {\r\n this._processedData[input.id] =\r\n typeof input.value === \"string\" ? input.value : input.value.toString();\r\n }\r\n }\r\n }\r\n this._isPrepared = true;\r\n };\r\n SubmitActionBase.prototype.internalAfterExecute = function () {\r\n if (shared_1.GlobalSettings.resetInputsDirtyStateAfterActionExecution) {\r\n this.resetReferencedInputsDirtyState();\r\n }\r\n };\r\n SubmitActionBase.prototype.resetReferencedInputsDirtyState = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n this._areReferencedInputsDirty = false;\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n input.resetDirtyState();\r\n }\r\n }\r\n };\r\n SubmitActionBase.prototype.updateEnabledState = function () {\r\n this._areReferencedInputsDirty = false;\r\n var referencedInputs = this.getReferencedInputs();\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n if (input.isDirty()) {\r\n this._areReferencedInputsDirty = true;\r\n break;\r\n }\r\n }\r\n }\r\n this.updateCssClasses();\r\n if (this._renderedElement) {\r\n this.setupElementForAccessibility(this._renderedElement);\r\n }\r\n };\r\n SubmitActionBase.prototype.isEffectivelyEnabled = function () {\r\n var result = _super.prototype.isEffectivelyEnabled.call(this);\r\n return this.disabledUnlessAssociatedInputsChange\r\n ? result && this._areReferencedInputsDirty\r\n : result;\r\n };\r\n Object.defineProperty(SubmitActionBase.prototype, \"data\", {\r\n get: function () {\r\n return this._isPrepared ? this._processedData : this._originalData;\r\n },\r\n set: function (value) {\r\n this._originalData = value;\r\n this._isPrepared = false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SubmitActionBase.dataProperty = new serialization_1.PropertyDefinition(serialization_1.Versions.v1_0, \"data\");\r\n SubmitActionBase.associatedInputsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_3, \"associatedInputs\", function (sender, prop, source, context) {\r\n var value = source[prop.name];\r\n if (value !== undefined && typeof value === \"string\") {\r\n return value.toLowerCase() === \"none\" ? \"none\" : \"auto\";\r\n }\r\n return undefined;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, value);\r\n });\r\n SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"disabledUnlessAssociatedInputsChange\", false);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.dataProperty)\r\n ], SubmitActionBase.prototype, \"_originalData\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.associatedInputsProperty)\r\n ], SubmitActionBase.prototype, \"associatedInputs\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(SubmitActionBase.disabledUnlessAssociatedInputsChangeProperty)\r\n ], SubmitActionBase.prototype, \"disabledUnlessAssociatedInputsChange\", void 0);\r\n return SubmitActionBase;\r\n}(Action));\r\nexports.SubmitActionBase = SubmitActionBase;\r\nvar SubmitAction = /** @class */ (function (_super) {\r\n __extends(SubmitAction, _super);\r\n function SubmitAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SubmitAction.prototype.getJsonTypeName = function () {\r\n return SubmitAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n SubmitAction.JsonTypeName = \"Action.Submit\";\r\n return SubmitAction;\r\n}(SubmitActionBase));\r\nexports.SubmitAction = SubmitAction;\r\nvar UniversalAction = /** @class */ (function (_super) {\r\n __extends(UniversalAction, _super);\r\n function UniversalAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return UniversalAction;\r\n}(SubmitActionBase));\r\nexports.UniversalAction = UniversalAction;\r\nvar ExecuteAction = /** @class */ (function (_super) {\r\n __extends(ExecuteAction, _super);\r\n function ExecuteAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ExecuteAction.prototype.getJsonTypeName = function () {\r\n return ExecuteAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ExecuteAction.JsonTypeName = \"Action.Execute\";\r\n //#region Schema\r\n ExecuteAction.verbProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"verb\");\r\n __decorate([\r\n (0, serialization_1.property)(ExecuteAction.verbProperty)\r\n ], ExecuteAction.prototype, \"verb\", void 0);\r\n return ExecuteAction;\r\n}(UniversalAction));\r\nexports.ExecuteAction = ExecuteAction;\r\nvar DataQuery = /** @class */ (function (_super) {\r\n __extends(DataQuery, _super);\r\n function DataQuery() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n DataQuery.prototype.getJsonTypeName = function () {\r\n return DataQuery.JsonTypeName;\r\n };\r\n Object.defineProperty(DataQuery.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n DataQuery.JsonTypeName = \"Data.Query\";\r\n //#region Schema\r\n DataQuery.datasetProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"dataset\");\r\n DataQuery.filterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_6, \"filter\");\r\n DataQuery.countProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"count\");\r\n DataQuery.skipProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"skip\");\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.datasetProperty)\r\n ], DataQuery.prototype, \"dataset\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.filterProperty)\r\n ], DataQuery.prototype, \"filter\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.countProperty)\r\n ], DataQuery.prototype, \"count\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(DataQuery.skipProperty)\r\n ], DataQuery.prototype, \"skip\", void 0);\r\n return DataQuery;\r\n}(UniversalAction));\r\nexports.DataQuery = DataQuery;\r\nvar OpenUrlAction = /** @class */ (function (_super) {\r\n __extends(OpenUrlAction, _super);\r\n function OpenUrlAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n OpenUrlAction.prototype.getJsonTypeName = function () {\r\n return OpenUrlAction.JsonTypeName;\r\n };\r\n OpenUrlAction.prototype.getAriaRole = function () {\r\n var ariaRole = this.getAriaRoleFromEnum();\r\n return ariaRole !== null && ariaRole !== void 0 ? ariaRole : \"link\";\r\n };\r\n OpenUrlAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n };\r\n OpenUrlAction.prototype.getHref = function () {\r\n return this.url;\r\n };\r\n //#region Schema\r\n OpenUrlAction.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n OpenUrlAction.JsonTypeName = \"Action.OpenUrl\";\r\n __decorate([\r\n (0, serialization_1.property)(OpenUrlAction.urlProperty)\r\n ], OpenUrlAction.prototype, \"url\", void 0);\r\n return OpenUrlAction;\r\n}(Action));\r\nexports.OpenUrlAction = OpenUrlAction;\r\nvar ToggleVisibilityAction = /** @class */ (function (_super) {\r\n __extends(ToggleVisibilityAction, _super);\r\n function ToggleVisibilityAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.targetElements = {};\r\n return _this;\r\n }\r\n ToggleVisibilityAction.prototype.updateAriaControlsAttribute = function () {\r\n // apply aria labels to make it clear which elements this action will toggle\r\n if (this.targetElements) {\r\n var elementIds = Object.keys(this.targetElements);\r\n if (this._renderedElement) {\r\n if (elementIds.length > 0) {\r\n this._renderedElement.setAttribute(\"aria-controls\", elementIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedElement.removeAttribute(\"aria-controls\");\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.targetElements) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"targetElements\"));\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.getJsonTypeName = function () {\r\n return ToggleVisibilityAction.JsonTypeName;\r\n };\r\n ToggleVisibilityAction.prototype.render = function () {\r\n _super.prototype.render.call(this);\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.execute = function () {\r\n _super.prototype.execute.call(this);\r\n if (this.parent) {\r\n for (var _i = 0, _a = Object.keys(this.targetElements); _i < _a.length; _i++) {\r\n var elementId = _a[_i];\r\n var targetElement = this.parent.getRootElement().getElementById(elementId);\r\n if (targetElement) {\r\n if (typeof this.targetElements[elementId] === \"boolean\") {\r\n targetElement.isVisible = this.targetElements[elementId];\r\n }\r\n else {\r\n targetElement.isVisible = !targetElement.isVisible;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.addTargetElement = function (elementId, isVisible) {\r\n if (isVisible === void 0) { isVisible = undefined; }\r\n this.targetElements[elementId] = isVisible;\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.removeTargetElement = function (elementId) {\r\n delete this.targetElements[elementId];\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.targetElementsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_2, \"targetElements\", function (sender, prop, source, context) {\r\n var result = {};\r\n if (Array.isArray(source[prop.name])) {\r\n for (var _i = 0, _a = source[prop.name]; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (typeof item === \"string\") {\r\n result[item] = undefined;\r\n }\r\n else if (typeof item === \"object\") {\r\n var elementId = item[\"elementId\"];\r\n if (typeof elementId === \"string\") {\r\n result[elementId] = Utils.parseBool(item[\"isVisible\"]);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }, function (sender, prop, target, value, context) {\r\n var targetElements = [];\r\n for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {\r\n var id = _a[_i];\r\n if (typeof value[id] === \"boolean\") {\r\n targetElements.push({\r\n elementId: id,\r\n isVisible: value[id]\r\n });\r\n }\r\n else {\r\n targetElements.push(id);\r\n }\r\n }\r\n context.serializeArray(target, prop.name, targetElements);\r\n }, {}, function (sender) {\r\n return {};\r\n });\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ToggleVisibilityAction.JsonTypeName = \"Action.ToggleVisibility\";\r\n __decorate([\r\n (0, serialization_1.property)(ToggleVisibilityAction.targetElementsProperty)\r\n ], ToggleVisibilityAction.prototype, \"targetElements\", void 0);\r\n return ToggleVisibilityAction;\r\n}(Action));\r\nexports.ToggleVisibilityAction = ToggleVisibilityAction;\r\nvar StringWithSubstitutionProperty = /** @class */ (function (_super) {\r\n __extends(StringWithSubstitutionProperty, _super);\r\n function StringWithSubstitutionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function () {\r\n return new shared_1.StringWithSubstitutions();\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n StringWithSubstitutionProperty.prototype.parse = function (sender, source, context) {\r\n var result = new shared_1.StringWithSubstitutions();\r\n result.set(Utils.parseString(source[this.name]));\r\n return result;\r\n };\r\n StringWithSubstitutionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value.getOriginal());\r\n };\r\n return StringWithSubstitutionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar HttpHeader = /** @class */ (function (_super) {\r\n __extends(HttpHeader, _super);\r\n //#endregion\r\n function HttpHeader(name, value) {\r\n if (name === void 0) { name = \"\"; }\r\n if (value === void 0) { value = \"\"; }\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n HttpHeader.prototype.getSchemaKey = function () {\r\n return \"HttpHeader\";\r\n };\r\n HttpHeader.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n this._value.getReferencedInputs(inputs, referencedInputs);\r\n };\r\n HttpHeader.prototype.prepareForExecution = function (inputs) {\r\n this._value.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n };\r\n Object.defineProperty(HttpHeader.prototype, \"value\", {\r\n get: function () {\r\n return this._value.get();\r\n },\r\n set: function (newValue) {\r\n this._value.set(newValue);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n HttpHeader.nameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"name\");\r\n HttpHeader.valueProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(HttpHeader.nameProperty)\r\n ], HttpHeader.prototype, \"name\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpHeader.valueProperty)\r\n ], HttpHeader.prototype, \"_value\", void 0);\r\n return HttpHeader;\r\n}(serialization_1.SerializableObject));\r\nexports.HttpHeader = HttpHeader;\r\nvar HttpAction = /** @class */ (function (_super) {\r\n __extends(HttpAction, _super);\r\n function HttpAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._ignoreInputValidation = false;\r\n return _this;\r\n }\r\n HttpAction.prototype.internalGetReferencedInputs = function () {\r\n var allInputs = this.parent ? this.parent.getRootElement().getAllInputs() : [];\r\n var result = {};\r\n this._url.getReferencedInputs(allInputs, result);\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.getReferencedInputs(allInputs, result);\r\n }\r\n this._body.getReferencedInputs(allInputs, result);\r\n return result;\r\n };\r\n HttpAction.prototype.internalPrepareForExecution = function (inputs) {\r\n if (inputs) {\r\n this._url.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n var contentType = shared_1.ContentTypes.applicationJson;\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.prepareForExecution(inputs);\r\n if (header.name && header.name.toLowerCase() === \"content-type\") {\r\n contentType = header.value;\r\n }\r\n }\r\n this._body.substituteInputValues(inputs, contentType);\r\n }\r\n };\r\n HttpAction.prototype.getJsonTypeName = function () {\r\n return HttpAction.JsonTypeName;\r\n };\r\n HttpAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n if (this.headers.length > 0) {\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n if (!header.name) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.actionHttpHeadersMustHaveNameAndValue());\r\n }\r\n }\r\n }\r\n };\r\n Object.defineProperty(HttpAction.prototype, \"ignoreInputValidation\", {\r\n get: function () {\r\n return this._ignoreInputValidation;\r\n },\r\n set: function (value) {\r\n this._ignoreInputValidation = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"url\", {\r\n get: function () {\r\n return this._url.get();\r\n },\r\n set: function (value) {\r\n this._url.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"body\", {\r\n get: function () {\r\n return this._body.get();\r\n },\r\n set: function (value) {\r\n this._body.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n HttpAction.urlProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"url\");\r\n HttpAction.bodyProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"body\");\r\n HttpAction.methodProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"method\");\r\n HttpAction.headersProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"headers\", HttpHeader);\r\n HttpAction.ignoreInputValidationProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"ignoreInputValidation\", false);\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n HttpAction.JsonTypeName = \"Action.Http\";\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.urlProperty)\r\n ], HttpAction.prototype, \"_url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.bodyProperty)\r\n ], HttpAction.prototype, \"_body\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.methodProperty)\r\n ], HttpAction.prototype, \"method\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.headersProperty)\r\n ], HttpAction.prototype, \"headers\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(HttpAction.ignoreInputValidationProperty)\r\n ], HttpAction.prototype, \"_ignoreInputValidation\", void 0);\r\n return HttpAction;\r\n}(Action));\r\nexports.HttpAction = HttpAction;\r\nvar ShowCardAction = /** @class */ (function (_super) {\r\n __extends(ShowCardAction, _super);\r\n function ShowCardAction() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.card = new InlineAdaptiveCard();\r\n return _this;\r\n }\r\n ShowCardAction.prototype.updateCssClasses = function () {\r\n _super.prototype.updateCssClasses.call(this);\r\n if (this.renderedElement) {\r\n var effectiveHostConfig = this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n this.renderedElement.classList.add(effectiveHostConfig.makeCssClassName(\"expandable\"));\r\n this.renderedElement.setAttribute(\"aria-expanded\", (this.state === 1 /* Expanded */).toString());\r\n }\r\n };\r\n ShowCardAction.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n var jsonCard = source[\"card\"];\r\n if (jsonCard) {\r\n this.card.parse(jsonCard, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.showCardMustHaveCard());\r\n }\r\n };\r\n ShowCardAction.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this.card) {\r\n context.serializeValue(target, \"card\", this.card.toJSON(context));\r\n }\r\n };\r\n ShowCardAction.prototype.raiseExecuteActionEvent = function () {\r\n if (this.hostConfig.actions.showCard.actionMode === Enums.ShowCardActionMode.Popup) {\r\n // Only raise the event in Popup mode.\r\n _super.prototype.raiseExecuteActionEvent.call(this);\r\n }\r\n };\r\n ShowCardAction.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this.card.releaseDOMResources();\r\n };\r\n ShowCardAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n ShowCardAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this.card.internalValidateProperties(context);\r\n };\r\n ShowCardAction.prototype.setParent = function (value) {\r\n _super.prototype.setParent.call(this, value);\r\n this.card.setParent(value);\r\n };\r\n ShowCardAction.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return this.card.getAllInputs(processActions);\r\n };\r\n ShowCardAction.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this.card.getAllActions());\r\n return result;\r\n };\r\n ShowCardAction.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this.card.getResourceInformation());\r\n return result;\r\n };\r\n ShowCardAction.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n result = this.card.getActionById(id);\r\n }\r\n return result;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ShowCardAction.JsonTypeName = \"Action.ShowCard\";\r\n return ShowCardAction;\r\n}(Action));\r\nexports.ShowCardAction = ShowCardAction;\r\nvar OverflowAction = /** @class */ (function (_super) {\r\n __extends(OverflowAction, _super);\r\n function OverflowAction(actions) {\r\n var _this = _super.call(this) || this;\r\n _this._actions = actions;\r\n _this.title = strings_1.Strings.defaults.overflowButtonText();\r\n _this.tooltip = strings_1.Strings.defaults.overflowButtonTooltip();\r\n return _this;\r\n }\r\n OverflowAction.prototype.getActions = function () {\r\n return this._actions;\r\n };\r\n OverflowAction.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n result.push.apply(result, this._actions);\r\n return result;\r\n };\r\n OverflowAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n OverflowAction.prototype.execute = function () {\r\n var _this = this;\r\n var _a;\r\n var shouldDisplayPopupMenu = !raiseDisplayOverflowActionMenuEvent(this, this.renderedElement);\r\n if (shouldDisplayPopupMenu && this.renderedElement) {\r\n var contextMenu_1 = new controls_1.PopupMenu();\r\n contextMenu_1.hostConfig = this.hostConfig;\r\n var _loop_2 = function (i) {\r\n var menuItem = new controls_1.MenuItem(i.toString(), (_a = this_1._actions[i].title) !== null && _a !== void 0 ? _a : \"\");\r\n menuItem.isEnabled = this_1._actions[i].isEnabled;\r\n menuItem.onClick = function () {\r\n var actionToExecute = _this._actions[i];\r\n contextMenu_1.closePopup(false);\r\n if (actionToExecute.isEnabled) {\r\n actionToExecute.execute();\r\n }\r\n };\r\n contextMenu_1.items.add(menuItem);\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this._actions.length; i++) {\r\n _loop_2(i);\r\n }\r\n contextMenu_1.onClose = function () {\r\n var _a, _b;\r\n (_a = _this.renderedElement) === null || _a === void 0 ? void 0 : _a.focus();\r\n (_b = _this.renderedElement) === null || _b === void 0 ? void 0 : _b.setAttribute(\"aria-expanded\", \"false\");\r\n };\r\n this.renderedElement.setAttribute(\"aria-expanded\", \"true\");\r\n contextMenu_1.popup(this.renderedElement);\r\n contextMenu_1.selectedIndex = 0;\r\n }\r\n };\r\n OverflowAction.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n _super.prototype.setupElementForAccessibility.call(this, element, promoteTooltipToLabel);\r\n element.setAttribute(\"aria-label\", strings_1.Strings.defaults.overflowButtonTooltip());\r\n element.setAttribute(\"aria-expanded\", \"false\");\r\n };\r\n OverflowAction.JsonTypeName = \"Action.Overflow\";\r\n return OverflowAction;\r\n}(Action));\r\nvar ActionCollection = /** @class */ (function () {\r\n function ActionCollection(owner) {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._owner = owner;\r\n }\r\n ActionCollection.prototype.isActionAllowed = function (action) {\r\n var forbiddenTypes = this._owner.getForbiddenActionTypes();\r\n if (forbiddenTypes) {\r\n for (var _i = 0, forbiddenTypes_1 = forbiddenTypes; _i < forbiddenTypes_1.length; _i++) {\r\n var forbiddenType = forbiddenTypes_1[_i];\r\n if (action.constructor === forbiddenType) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n ActionCollection.prototype.refreshContainer = function () {\r\n clearElement(this._actionCardContainer);\r\n if (!this._actionCard) {\r\n this._actionCardContainer.style.marginTop = \"0px\";\r\n return;\r\n }\r\n this._actionCardContainer.style.marginTop =\r\n this.renderedActionCount > 0\r\n ? this._owner.hostConfig.actions.showCard.inlineTopMargin + \"px\"\r\n : \"0px\";\r\n var padding = this._owner.getEffectivePadding();\r\n this._owner.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this._owner.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n if (this._actionCard) {\r\n this._actionCard.style.paddingLeft = physicalPadding.left + \"px\";\r\n this._actionCard.style.paddingRight = physicalPadding.right + \"px\";\r\n this._actionCard.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this._actionCard.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n if (physicalPadding.bottom !== 0 && !this._owner.isDesignMode()) {\r\n this._actionCard.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this._actionCard.style.marginBottom = \"-\" + physicalPadding.bottom + \"px\";\r\n }\r\n Utils.appendChild(this._actionCardContainer, this._actionCard);\r\n }\r\n };\r\n ActionCollection.prototype.layoutChanged = function () {\r\n this._owner.getRootElement().updateLayout();\r\n };\r\n ActionCollection.prototype.showActionCard = function (action, suppressStyle, raiseEvent) {\r\n if (suppressStyle === void 0) { suppressStyle = false; }\r\n if (raiseEvent === void 0) { raiseEvent = true; }\r\n action.card.suppressStyle = suppressStyle;\r\n // Always re-render a ShowCard action in design mode; reuse already rendered ShowCard (if available) otherwise\r\n var renderedCard = action.card.renderedElement && !this._owner.isDesignMode()\r\n ? action.card.renderedElement\r\n : action.card.render();\r\n this._actionCard = renderedCard;\r\n this._expandedAction = action;\r\n this.refreshContainer();\r\n if (raiseEvent) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(action, true);\r\n }\r\n };\r\n ActionCollection.prototype.collapseExpandedAction = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.state = 0 /* Normal */;\r\n }\r\n var previouslyExpandedAction = this._expandedAction;\r\n this._expandedAction = undefined;\r\n this._actionCard = undefined;\r\n this.refreshContainer();\r\n if (previouslyExpandedAction) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(previouslyExpandedAction, false);\r\n }\r\n };\r\n ActionCollection.prototype.expandShowCardAction = function (action, raiseEvent) {\r\n var _this = this;\r\n var afterSelectedAction = false;\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n // Remove actions after selected action from tabOrder if the actions are oriented horizontally, to skip focus directly to expanded card\r\n if (this._owner.hostConfig.actions.actionsOrientation == Enums.Orientation.Horizontal &&\r\n afterSelectedAction) {\r\n renderedAction.isFocusable = false;\r\n }\r\n if (renderedAction !== action) {\r\n renderedAction.state = 2 /* Subdued */;\r\n }\r\n else {\r\n renderedAction.state = 1 /* Expanded */;\r\n afterSelectedAction = true;\r\n if (renderedAction.renderedElement) {\r\n renderedAction.renderedElement.onblur = function (_e) {\r\n for (var _i = 0, _a = _this._renderedActions; _i < _a.length; _i++) {\r\n var ra = _a[_i];\r\n ra.isFocusable = true;\r\n }\r\n };\r\n }\r\n }\r\n }\r\n this.showActionCard(action, !(this._owner.isAtTheVeryLeft() && this._owner.isAtTheVeryRight()), raiseEvent);\r\n };\r\n ActionCollection.prototype.releaseDOMResources = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.releaseDOMResources();\r\n }\r\n };\r\n ActionCollection.prototype.actionExecuted = function (action) {\r\n if (!(action instanceof ShowCardAction)) {\r\n this.collapseExpandedAction();\r\n }\r\n else {\r\n if (action === this._expandedAction) {\r\n this.collapseExpandedAction();\r\n }\r\n else if (this._owner.hostConfig.actions.showCard.actionMode ===\r\n Enums.ShowCardActionMode.Inline) {\r\n this.expandShowCardAction(action, true);\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.parse = function (source, context) {\r\n this.clear();\r\n if (Array.isArray(source)) {\r\n for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {\r\n var jsonAction = source_1[_i];\r\n var forbiddenActions = [];\r\n // If the action owner is a ContainerWithActions, we should check for forbidden actions\r\n if (this._owner instanceof ContainerWithActions) {\r\n forbiddenActions = this._owner.getForbiddenActionNames();\r\n }\r\n var action = context.parseAction(this._owner, jsonAction, forbiddenActions, !this._owner.isDesignMode());\r\n if (action) {\r\n this.addAction(action);\r\n }\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.toJSON = function (target, propertyName, context) {\r\n context.serializeArray(target, propertyName, this._items);\r\n };\r\n ActionCollection.prototype.getActionAt = function (id) {\r\n return this._items[id];\r\n };\r\n ActionCollection.prototype.getActionCount = function () {\r\n return this._items.length;\r\n };\r\n ActionCollection.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.validateProperties = function (context) {\r\n if (this._owner.hostConfig.actions.maxActions &&\r\n this._items.length > this._owner.hostConfig.actions.maxActions) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.TooManyActions, strings_1.Strings.errors.tooManyActions(this._owner.hostConfig.actions.maxActions));\r\n }\r\n if (this._items.length > 0 && !this._owner.hostConfig.supportsInteractivity) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (!this.isActionAllowed(item)) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n };\r\n ActionCollection.prototype.render = function (orientation) {\r\n // Cache hostConfig for better perf\r\n var hostConfig = this._owner.hostConfig;\r\n if (!hostConfig.supportsInteractivity) {\r\n return undefined;\r\n }\r\n var element = document.createElement(\"div\");\r\n var maxActions = hostConfig.actions.maxActions\r\n ? Math.min(hostConfig.actions.maxActions, this._items.length)\r\n : this._items.length;\r\n this._actionCardContainer = document.createElement(\"div\");\r\n this._renderedActions = [];\r\n if (hostConfig.actions.preExpandSingleShowCardAction &&\r\n maxActions === 1 &&\r\n this._items[0] instanceof ShowCardAction &&\r\n this.isActionAllowed(this._items[0])) {\r\n this.showActionCard(this._items[0], true);\r\n this._renderedActions.push(this._items[0]);\r\n }\r\n else {\r\n var buttonStrip = document.createElement(\"div\");\r\n buttonStrip.className = hostConfig.makeCssClassName(\"ac-actionSet\");\r\n buttonStrip.style.display = \"flex\";\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n buttonStrip.style.flexDirection = \"row\";\r\n if (this._owner.horizontalAlignment &&\r\n hostConfig.actions.actionAlignment !== Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n buttonStrip.style.flexDirection = \"column\";\r\n if (this._owner.horizontalAlignment &&\r\n hostConfig.actions.actionAlignment !== Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n case Enums.ActionAlignment.Stretch:\r\n buttonStrip.style.alignItems = \"stretch\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n var allowedActions = this._items.filter(this.isActionAllowed.bind(this));\r\n var primaryActions_1 = [];\r\n var secondaryActions_1 = [];\r\n if (!this._owner.isDesignMode()) {\r\n allowedActions.forEach(function (action) {\r\n return action.mode === Enums.ActionMode.Secondary\r\n ? secondaryActions_1.push(action)\r\n : primaryActions_1.push(action);\r\n });\r\n // If primaryActions.length > maxActions, extra actions are moved to overflow\r\n var overflowPrimaryActions = primaryActions_1.splice(hostConfig.actions.maxActions);\r\n if (shared_1.GlobalSettings.allowMoreThanMaxActionsInOverflowMenu) {\r\n secondaryActions_1.push.apply(secondaryActions_1, overflowPrimaryActions);\r\n }\r\n var shouldRenderOverflowActionButton = true;\r\n if (secondaryActions_1.length > 0) {\r\n if (!this._overflowAction) {\r\n this._overflowAction = new OverflowAction(secondaryActions_1);\r\n this._overflowAction.setParent(this._owner);\r\n this._overflowAction[\"_actionCollection\"] = this;\r\n }\r\n var isRootAction = this._owner instanceof AdaptiveCard && !this._owner.parent;\r\n shouldRenderOverflowActionButton = !raiseRenderOverflowActionsEvent(this._overflowAction, isRootAction);\r\n }\r\n if (this._overflowAction && shouldRenderOverflowActionButton) {\r\n primaryActions_1.push(this._overflowAction);\r\n }\r\n }\r\n else {\r\n primaryActions_1 = allowedActions;\r\n }\r\n for (var i = 0; i < primaryActions_1.length; i++) {\r\n var action = primaryActions_1[i];\r\n action.render();\r\n if (action.renderedElement) {\r\n if (hostConfig.actions.actionsOrientation === Enums.Orientation.Horizontal &&\r\n hostConfig.actions.actionAlignment === Enums.ActionAlignment.Stretch) {\r\n action.renderedElement.style.flex = \"0 1 100%\";\r\n }\r\n else {\r\n action.renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n buttonStrip.appendChild(action.renderedElement);\r\n this._renderedActions.push(action);\r\n if (i < primaryActions_1.length - 1 && hostConfig.actions.buttonSpacing > 0) {\r\n var spacer = document.createElement(\"div\");\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n spacer.style.flex = \"0 0 auto\";\r\n spacer.style.width = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n else {\r\n spacer.style.height = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n Utils.appendChild(buttonStrip, spacer);\r\n }\r\n }\r\n }\r\n var buttonStripContainer = document.createElement(\"div\");\r\n buttonStripContainer.style.overflow = \"hidden\";\r\n buttonStripContainer.appendChild(buttonStrip);\r\n Utils.appendChild(element, buttonStripContainer);\r\n }\r\n Utils.appendChild(element, this._actionCardContainer);\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n if (renderedAction.state === 1 /* Expanded */) {\r\n this.expandShowCardAction(renderedAction, false);\r\n break;\r\n }\r\n }\r\n return this._renderedActions.length > 0 ? element : undefined;\r\n };\r\n ActionCollection.prototype.addAction = function (action) {\r\n if (!action) {\r\n throw new Error(\"The action parameter cannot be null.\");\r\n }\r\n if ((!action.parent || action.parent === this._owner) && this._items.indexOf(action) < 0) {\r\n this._items.push(action);\r\n if (!action.parent) {\r\n action.setParent(this._owner);\r\n }\r\n action[\"_actionCollection\"] = this;\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.actionAlreadyParented());\r\n }\r\n };\r\n ActionCollection.prototype.removeAction = function (action) {\r\n if (this.expandedAction && this._expandedAction === action) {\r\n this.collapseExpandedAction();\r\n }\r\n var actionIndex = this._items.indexOf(action);\r\n if (actionIndex >= 0) {\r\n this._items.splice(actionIndex, 1);\r\n action.setParent(undefined);\r\n action[\"_actionCollection\"] = undefined;\r\n for (var i = 0; i < this._renderedActions.length; i++) {\r\n if (this._renderedActions[i] === action) {\r\n this._renderedActions.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n ActionCollection.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._expandedAction = undefined;\r\n };\r\n ActionCollection.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n if (processActions) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result.push.apply(result, action.getAllInputs());\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result.push.apply(result, action.getResourceInformation());\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ActionCollection.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._renderedActions.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ActionCollection.prototype, \"expandedAction\", {\r\n get: function () {\r\n return this._expandedAction;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ActionCollection;\r\n}());\r\nvar ActionSet = /** @class */ (function (_super) {\r\n __extends(ActionSet, _super);\r\n function ActionSet() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ActionSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ActionSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ActionSet.prototype.internalRender = function () {\r\n return this._actionCollection.render(this.orientation !== undefined\r\n ? this.orientation\r\n : this.hostConfig.actions.actionsOrientation);\r\n };\r\n ActionSet.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\r\n };\r\n ActionSet.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount === 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ActionSet.prototype.getJsonTypeName = function () {\r\n return \"ActionSet\";\r\n };\r\n ActionSet.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ActionSet.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ActionSet.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ActionSet.prototype.getAllActions = function () {\r\n var result = _super.prototype.getAllActions.call(this);\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n result.push(action);\r\n }\r\n }\r\n return result;\r\n };\r\n ActionSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this._actionCollection.validateProperties(context);\r\n };\r\n ActionSet.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ActionSet.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return processActions ? this._actionCollection.getAllInputs() : [];\r\n };\r\n ActionSet.prototype.getResourceInformation = function () {\r\n return this._actionCollection.getResourceInformation();\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n ActionSet.prototype.findDOMNodeOwner = function (node) {\r\n var target = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n // recur through each Action\r\n target = action.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n }\r\n // if not found in any Action, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n ActionSet.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ActionSet.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n ActionSet.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"orientation\", Enums.Orientation);\r\n __decorate([\r\n (0, serialization_1.property)(ActionSet.orientationProperty)\r\n ], ActionSet.prototype, \"orientation\", void 0);\r\n return ActionSet;\r\n}(CardElement));\r\nexports.ActionSet = ActionSet;\r\nvar ContainerStyleProperty = /** @class */ (function (_super) {\r\n __extends(ContainerStyleProperty, _super);\r\n function ContainerStyleProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, [\r\n { value: Enums.ContainerStyle.Default },\r\n { value: Enums.ContainerStyle.Emphasis },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Accent },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Good },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Attention },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Warning }\r\n ], defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n return ContainerStyleProperty;\r\n}(serialization_1.ValueSetProperty));\r\nexports.ContainerStyleProperty = ContainerStyleProperty;\r\nvar StylableCardElementContainer = /** @class */ (function (_super) {\r\n __extends(StylableCardElementContainer, _super);\r\n function StylableCardElementContainer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"style\", {\r\n get: function () {\r\n if (this.allowCustomStyle) {\r\n var style = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(StylableCardElementContainer.styleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"allowCustomStyle\", {\r\n //#endregion\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"hasExplicitStyle\", {\r\n get: function () {\r\n return this.getValue(StylableCardElementContainer.styleProperty) !== undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n StylableCardElementContainer.prototype.applyBorder = function () {\r\n // No border in base implementation\r\n };\r\n StylableCardElementContainer.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = Utils.stringToCssColor(styleDefinition.backgroundColor);\r\n if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n if (this.isBleeding()) {\r\n // Bleed into the first parent that does have padding\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var surroundingPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.renderedElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n this.renderedElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n if (!this.isDesignMode()) {\r\n this.renderedElement.style.marginTop = \"-\" + surroundingPadding.top + \"px\";\r\n this.renderedElement.style.marginBottom = \"-\" + surroundingPadding.bottom + \"px\";\r\n }\r\n if (this.separatorElement &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n this.renderedElement.style.marginTop = \"0\";\r\n this.renderedElement.style.marginBottom = \"0\";\r\n if (this.separatorElement &&\r\n this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n var currentElementHasBackgroundImage = false;\r\n if (ignoreBackgroundImages) {\r\n currentElementHasBackgroundImage = false;\r\n }\r\n else {\r\n currentElementHasBackgroundImage =\r\n currentElement instanceof Container\r\n ? currentElement.backgroundImage.isValid()\r\n : false;\r\n }\r\n if (currentElement instanceof StylableCardElementContainer) {\r\n if (this.hasExplicitStyle &&\r\n (currentElement.getEffectiveStyle() !== this.getEffectiveStyle() ||\r\n currentElementHasBackgroundImage)) {\r\n return true;\r\n }\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return false;\r\n };\r\n StylableCardElementContainer.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder()\r\n ? new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding)\r\n : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n StylableCardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var explicitStyle = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (explicitStyle !== undefined) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(explicitStyle);\r\n if (!styleDefinition) {\r\n context.addFailure(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(explicitStyle, \"style\"));\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.render = function () {\r\n var renderedElement = _super.prototype.render.call(this);\r\n if (renderedElement && this.getHasBackground()) {\r\n this.applyBackground();\r\n }\r\n this.applyBorder();\r\n return renderedElement;\r\n };\r\n StylableCardElementContainer.prototype.getEffectiveStyle = function () {\r\n var effectiveStyle = this.style;\r\n return effectiveStyle ? effectiveStyle : _super.prototype.getEffectiveStyle.call(this);\r\n };\r\n //#region Schema\r\n StylableCardElementContainer.styleProperty = new ContainerStyleProperty(serialization_1.Versions.v1_0, \"style\");\r\n __decorate([\r\n (0, serialization_1.property)(StylableCardElementContainer.styleProperty)\r\n ], StylableCardElementContainer.prototype, \"style\", null);\r\n return StylableCardElementContainer;\r\n}(CardElementContainer));\r\nexports.StylableCardElementContainer = StylableCardElementContainer;\r\nvar ContainerBase = /** @class */ (function (_super) {\r\n __extends(ContainerBase, _super);\r\n function ContainerBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._bleed = false;\r\n return _this;\r\n }\r\n //#endregion\r\n ContainerBase.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n };\r\n ContainerBase.prototype.getHasExpandedAction = function () {\r\n return false;\r\n };\r\n ContainerBase.prototype.getBleed = function () {\r\n return this._bleed;\r\n };\r\n ContainerBase.prototype.setBleed = function (value) {\r\n this._bleed = value;\r\n };\r\n Object.defineProperty(ContainerBase.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerBase.prototype.isBleeding = function () {\r\n return (this.getHasBackground() || this.hostConfig.alwaysAllowBleed) && this.getBleed();\r\n };\r\n ContainerBase.bleedProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"bleed\", false);\r\n ContainerBase.minHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_2, \"minHeight\");\r\n __decorate([\r\n (0, serialization_1.property)(ContainerBase.bleedProperty)\r\n ], ContainerBase.prototype, \"_bleed\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(ContainerBase.minHeightProperty)\r\n ], ContainerBase.prototype, \"minPixelHeight\", void 0);\r\n return ContainerBase;\r\n}(StylableCardElementContainer));\r\nexports.ContainerBase = ContainerBase;\r\nvar BackgroundImage = /** @class */ (function (_super) {\r\n __extends(BackgroundImage, _super);\r\n function BackgroundImage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n BackgroundImage.prototype.getSchemaKey = function () {\r\n return \"BackgroundImage\";\r\n };\r\n BackgroundImage.prototype.internalParse = function (source, context) {\r\n if (typeof source === \"string\") {\r\n this.resetDefaultValues();\r\n this.url = source;\r\n }\r\n else {\r\n return _super.prototype.internalParse.call(this, source, context);\r\n }\r\n };\r\n BackgroundImage.prototype.apply = function (element) {\r\n if (this.url && element.renderedElement) {\r\n element.renderedElement.style.backgroundImage =\r\n \"url('\" +\r\n element.preProcessPropertyValue(BackgroundImage.urlProperty, this.url) +\r\n \"')\";\r\n switch (this.fillMode) {\r\n case Enums.FillMode.Repeat:\r\n element.renderedElement.style.backgroundRepeat = \"repeat\";\r\n break;\r\n case Enums.FillMode.RepeatHorizontally:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-x\";\r\n break;\r\n case Enums.FillMode.RepeatVertically:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-y\";\r\n break;\r\n case Enums.FillMode.Cover:\r\n default:\r\n element.renderedElement.style.backgroundRepeat = \"no-repeat\";\r\n element.renderedElement.style.backgroundSize = \"cover\";\r\n break;\r\n }\r\n switch (this.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Left:\r\n break;\r\n case Enums.HorizontalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionX = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.renderedElement.style.backgroundPositionX = \"right\";\r\n break;\r\n }\r\n switch (this.verticalAlignment) {\r\n case Enums.VerticalAlignment.Top:\r\n break;\r\n case Enums.VerticalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionY = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.renderedElement.style.backgroundPositionY = \"bottom\";\r\n break;\r\n }\r\n }\r\n };\r\n BackgroundImage.prototype.isValid = function () {\r\n return this.url ? true : false;\r\n };\r\n //#region Schema\r\n BackgroundImage.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n BackgroundImage.fillModeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fillMode\", Enums.FillMode, Enums.FillMode.Cover);\r\n BackgroundImage.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"horizontalAlignment\", Enums.HorizontalAlignment, Enums.HorizontalAlignment.Left);\r\n BackgroundImage.verticalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"verticalAlignment\", Enums.VerticalAlignment, Enums.VerticalAlignment.Top);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.urlProperty)\r\n ], BackgroundImage.prototype, \"url\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.fillModeProperty)\r\n ], BackgroundImage.prototype, \"fillMode\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.horizontalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(BackgroundImage.verticalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"verticalAlignment\", void 0);\r\n return BackgroundImage;\r\n}(serialization_1.SerializableObject));\r\nexports.BackgroundImage = BackgroundImage;\r\nvar Container = /** @class */ (function (_super) {\r\n __extends(Container, _super);\r\n function Container() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._items = [];\r\n _this._renderedItems = [];\r\n return _this;\r\n }\r\n Object.defineProperty(Container.prototype, \"backgroundImage\", {\r\n get: function () {\r\n return this.getValue(Container.backgroundImageProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.insertItemAt = function (item, index, forceInsert) {\r\n if (!item.parent || forceInsert) {\r\n if (item.isStandalone) {\r\n if (index < 0 || index >= this._items.length) {\r\n this._items.push(item);\r\n }\r\n else {\r\n this._items.splice(index, 0, item);\r\n }\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementTypeNotStandalone(item.getJsonTypeName()));\r\n }\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n Container.prototype.getItemsCollectionPropertyName = function () {\r\n return \"items\";\r\n };\r\n Container.prototype.applyBackground = function () {\r\n if (this.backgroundImage.isValid() && this.renderedElement) {\r\n this.backgroundImage.apply(this);\r\n }\r\n _super.prototype.applyBackground.call(this);\r\n };\r\n Container.prototype.applyRTL = function (element) {\r\n if (this.rtl !== undefined) {\r\n element.dir = this.rtl ? \"rtl\" : \"ltr\";\r\n }\r\n };\r\n Container.prototype.internalRender = function () {\r\n this._renderedItems = [];\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n this.applyRTL(element);\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-container\"));\r\n element.style.display = \"flex\";\r\n element.style.flexDirection = \"column\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // Forces the container to be at least as tall as its content.\r\n //\r\n // Fixes a quirk in Chrome where, for nested flex elements, the\r\n // inner element's height would never exceed the outer element's\r\n // height. This caused overflow truncation to break -- containers\r\n // would always be measured as not overflowing, since their heights\r\n // were constrained by their parents as opposed to truly reflecting\r\n // the height of their content.\r\n //\r\n // See the \"Browser Rendering Notes\" section of this answer:\r\n // https://stackoverflow.com/questions/36247140/why-doesnt-flex-item-shrink-past-content-size\r\n element.style.minHeight = \"-webkit-min-content\";\r\n }\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n if (this._items.length > 0) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n var renderedItem = this.isElementAllowed(item) ? item.render() : undefined;\r\n if (renderedItem) {\r\n if (this._renderedItems.length > 0 && item.separatorElement) {\r\n item.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, item.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedItem);\r\n this._renderedItems.push(item);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.isDesignMode()) {\r\n var placeholderElement = this.createPlaceholderElement();\r\n placeholderElement.style.width = \"100%\";\r\n placeholderElement.style.height = \"100%\";\r\n element.appendChild(placeholderElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Container.prototype.truncateOverflow = function (maxHeight) {\r\n if (this.renderedElement) {\r\n // Add 1 to account for rounding differences between browsers\r\n var boundary_1 = this.renderedElement.offsetTop + maxHeight + 1;\r\n var handleElement_1 = function (cardElement) {\r\n var elt = cardElement.renderedElement;\r\n if (elt) {\r\n switch (Utils.getFitStatus(elt, boundary_1)) {\r\n case Enums.ContainerFitStatus.FullyInContainer:\r\n var sizeChanged = cardElement[\"resetOverflow\"]();\r\n // If the element's size changed after resetting content,\r\n // we have to check if it still fits fully in the card\r\n if (sizeChanged) {\r\n handleElement_1(cardElement);\r\n }\r\n break;\r\n case Enums.ContainerFitStatus.Overflowing:\r\n var containerMaxHeight = boundary_1 - elt.offsetTop;\r\n cardElement[\"handleOverflow\"](containerMaxHeight);\r\n break;\r\n case Enums.ContainerFitStatus.FullyOutOfContainer:\r\n cardElement[\"handleOverflow\"](0);\r\n break;\r\n }\r\n }\r\n };\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n handleElement_1(item);\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n item[\"resetOverflow\"]();\r\n }\r\n };\r\n Container.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n var result = ignoreBackgroundImages ? false : this.backgroundImage.isValid();\r\n return result || _super.prototype.getHasBackground.call(this, ignoreBackgroundImages);\r\n };\r\n Container.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.clear();\r\n this.setShouldFallback(false);\r\n var jsonItems = source[this.getItemsCollectionPropertyName()];\r\n if (Array.isArray(jsonItems)) {\r\n for (var _i = 0, jsonItems_1 = jsonItems; _i < jsonItems_1.length; _i++) {\r\n var item = jsonItems_1[_i];\r\n var element = context.parseElement(this, item, this.forbiddenChildElements(), !this.isDesignMode());\r\n if (element) {\r\n this.insertItemAt(element, -1, true);\r\n }\r\n }\r\n }\r\n };\r\n Container.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n var collectionPropertyName = this.getItemsCollectionPropertyName();\r\n context.serializeArray(target, collectionPropertyName, this._items);\r\n };\r\n Object.defineProperty(Container.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.getEffectivePadding = function () {\r\n if (shared_1.GlobalSettings.removePaddingFromContainersWithBackgroundImage &&\r\n !this.getHasBackground(true)) {\r\n return new shared_1.PaddingDefinition();\r\n }\r\n return _super.prototype.getEffectivePadding.call(this);\r\n };\r\n Container.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer\r\n ? parentContainer.getEffectiveVerticalContentAlignment()\r\n : Enums.VerticalAlignment.Top;\r\n };\r\n Container.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n Container.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n Container.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var _i = 0, _a = this._renderedItems; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible) {\r\n return item;\r\n }\r\n }\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var i = this._renderedItems.length - 1; i >= 0; i--) {\r\n if (this._renderedItems[i].isVisible) {\r\n return this._renderedItems[i];\r\n }\r\n }\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getJsonTypeName = function () {\r\n return \"Container\";\r\n };\r\n Container.prototype.isFirstElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible || designMode) {\r\n return item === element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isLastElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var i = this._items.length - 1; i >= 0; i--) {\r\n if (this._items[i].isVisible || designMode) {\r\n return this._items[i] === element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isRtl = function () {\r\n if (this.rtl !== undefined) {\r\n return this.rtl;\r\n }\r\n else {\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer ? parentContainer.isRtl() : false;\r\n }\r\n };\r\n Container.prototype.isBleedingAtTop = function () {\r\n var firstRenderedItem = this.getFirstVisibleRenderedItem();\r\n return (this.isBleeding() || (firstRenderedItem ? firstRenderedItem.isBleedingAtTop() : false));\r\n };\r\n Container.prototype.isBleedingAtBottom = function () {\r\n var lastRenderedItem = this.getLastVisibleRenderedItem();\r\n return (this.isBleeding() ||\r\n (lastRenderedItem\r\n ? lastRenderedItem.isBleedingAtBottom() &&\r\n lastRenderedItem.getEffectiveStyle() === this.getEffectiveStyle()\r\n : false));\r\n };\r\n Container.prototype.indexOf = function (cardElement) {\r\n return this._items.indexOf(cardElement);\r\n };\r\n Container.prototype.addItem = function (item) {\r\n this.insertItemAt(item, -1, false);\r\n };\r\n Container.prototype.insertItemBefore = function (item, insertBefore) {\r\n this.insertItemAt(item, this._items.indexOf(insertBefore), false);\r\n };\r\n Container.prototype.insertItemAfter = function (item, insertAfter) {\r\n this.insertItemAt(item, this._items.indexOf(insertAfter) + 1, false);\r\n };\r\n Container.prototype.removeItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedItems = [];\r\n };\r\n Container.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n if (this.backgroundImage.isValid()) {\r\n result.push({\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion -- validated by `isValid()`\r\n url: this.backgroundImage.url,\r\n mimeType: \"image\"\r\n });\r\n }\r\n return result;\r\n };\r\n Container.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n if (this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n if (!result) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Container.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Container.backgroundImageProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_0, \"backgroundImage\", BackgroundImage);\r\n Container.verticalContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"verticalContentAlignment\", Enums.VerticalAlignment);\r\n Container.rtlProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"rtl\");\r\n __decorate([\r\n (0, serialization_1.property)(Container.backgroundImageProperty)\r\n ], Container.prototype, \"backgroundImage\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Container.verticalContentAlignmentProperty)\r\n ], Container.prototype, \"verticalContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Container.rtlProperty)\r\n ], Container.prototype, \"rtl\", void 0);\r\n return Container;\r\n}(ContainerBase));\r\nexports.Container = Container;\r\nvar Column = /** @class */ (function (_super) {\r\n __extends(Column, _super);\r\n function Column(width) {\r\n if (width === void 0) { width = \"stretch\"; }\r\n var _this = _super.call(this) || this;\r\n _this.width = \"stretch\";\r\n //#endregion\r\n _this._computedWeight = 0;\r\n _this.width = width;\r\n return _this;\r\n }\r\n Column.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n var minDesignTimeColumnHeight = 20;\r\n if (this.isDesignMode()) {\r\n renderedElement.style.minWidth = \"20px\";\r\n renderedElement.style.minHeight =\r\n (!this.minPixelHeight\r\n ? minDesignTimeColumnHeight\r\n : Math.max(this.minPixelHeight, minDesignTimeColumnHeight)) + \"px\";\r\n }\r\n else {\r\n renderedElement.style.minWidth = \"0\";\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n }\r\n if (this.width === \"auto\") {\r\n renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n else if (this.width === \"stretch\") {\r\n renderedElement.style.flex = \"1 1 50px\";\r\n }\r\n else if (this.width instanceof shared_1.SizeAndUnit) {\r\n if (this.width.unit === Enums.SizeUnit.Pixel) {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n renderedElement.style.width = this.width.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedElement.style.flex =\r\n \"1 1 \" +\r\n (this._computedWeight > 0 ? this._computedWeight : this.width.physicalSize) +\r\n \"%\";\r\n }\r\n }\r\n };\r\n Column.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n Object.defineProperty(Column.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Vertical;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Column.prototype.getJsonTypeName = function () {\r\n return \"Column\";\r\n };\r\n Object.defineProperty(Column.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.parent instanceof ColumnSet) {\r\n return this.separatorElement !== undefined && !this.parent.isLeftMostElement(this);\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Column.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Column.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"width\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n }\r\n else if (value === \"auto\" || value === \"stretch\") {\r\n result = value;\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n if (result.unit === Enums.SizeUnit.Pixel &&\r\n prop.targetVersion.compareTo(context.targetVersion) > 0) {\r\n invalidWidth = true;\r\n }\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n result = \"auto\";\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value instanceof shared_1.SizeAndUnit) {\r\n if (value.unit === Enums.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }\r\n else {\r\n context.serializeValue(target, \"width\", value);\r\n }\r\n }, \"stretch\");\r\n __decorate([\r\n (0, serialization_1.property)(Column.widthProperty)\r\n ], Column.prototype, \"width\", void 0);\r\n return Column;\r\n}(Container));\r\nexports.Column = Column;\r\nvar ColumnSet = /** @class */ (function (_super) {\r\n __extends(ColumnSet, _super);\r\n function ColumnSet() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n return _this;\r\n }\r\n ColumnSet.prototype.createColumnInstance = function (source, context) {\r\n return context.parseCardObject(this, source, [], !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"Column\" ? new Column() : undefined;\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n ColumnSet.prototype.internalRender = function () {\r\n this._renderedColumns = [];\r\n if (this._columns.length > 0) {\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n element.className = hostConfig.makeCssClassName(\"ac-columnSet\");\r\n element.style.display = \"flex\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // See comment in Container.internalRender()\r\n element.style.minHeight = \"-webkit-min-content\";\r\n }\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var totalWeight = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width instanceof shared_1.SizeAndUnit &&\r\n column.width.unit === Enums.SizeUnit.Weight) {\r\n totalWeight += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width instanceof shared_1.SizeAndUnit &&\r\n column.width.unit === Enums.SizeUnit.Weight &&\r\n totalWeight > 0) {\r\n var computedWeight = (100 / totalWeight) * column.width.physicalSize;\r\n // Best way to emulate \"internal\" access I know of\r\n column[\"_computedWeight\"] = computedWeight;\r\n }\r\n var renderedColumn = column.render();\r\n if (renderedColumn) {\r\n if (this._renderedColumns.length > 0 && column.separatorElement) {\r\n column.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, column.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedColumn);\r\n this._renderedColumns.push(column);\r\n }\r\n }\r\n return this._renderedColumns.length > 0 ? element : undefined;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.truncateOverflow = function (maxHeight) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column[\"handleOverflow\"](maxHeight);\r\n }\r\n return true;\r\n };\r\n ColumnSet.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column[\"resetOverflow\"]();\r\n }\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ColumnSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._columns = [];\r\n this._renderedColumns = [];\r\n var jsonColumns = source[\"columns\"];\r\n if (Array.isArray(jsonColumns)) {\r\n for (var _i = 0, jsonColumns_1 = jsonColumns; _i < jsonColumns_1.length; _i++) {\r\n var item = jsonColumns_1[_i];\r\n var column = this.createColumnInstance(item, context);\r\n if (column) {\r\n this._columns.push(column);\r\n }\r\n }\r\n }\r\n };\r\n ColumnSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"columns\", this._columns);\r\n };\r\n ColumnSet.prototype.isFirstElement = function (element) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isVisible) {\r\n return column === element;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtTop = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtTop()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtBottom = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtBottom()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.getItemCount = function () {\r\n return this._columns.length;\r\n };\r\n ColumnSet.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[this._renderedColumns.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n ColumnSet.prototype.getItemAt = function (index) {\r\n return this.getColumnAt(index);\r\n };\r\n ColumnSet.prototype.getJsonTypeName = function () {\r\n return \"ColumnSet\";\r\n };\r\n ColumnSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var weightedColumns = 0;\r\n var stretchedColumns = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (typeof column.width === \"number\") {\r\n weightedColumns++;\r\n }\r\n else if (column.width === \"stretch\") {\r\n stretchedColumns++;\r\n }\r\n }\r\n if (weightedColumns > 0 && stretchedColumns > 0) {\r\n context.addFailure(this, Enums.ValidationEvent.Hint, strings_1.Strings.hints.dontUseWeightedAndStrecthedColumnsInSameSet());\r\n }\r\n };\r\n ColumnSet.prototype.addColumn = function (column) {\r\n if (!column.parent) {\r\n this._columns.push(column);\r\n column.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.columnAlreadyBelongsToAnotherSet());\r\n }\r\n };\r\n ColumnSet.prototype.removeItem = function (item) {\r\n if (item instanceof Column) {\r\n var itemIndex = this._columns.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._columns.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Column ? this._columns.indexOf(cardElement) : -1;\r\n };\r\n ColumnSet.prototype.isLeftMostElement = function (element) {\r\n return this._columns.indexOf(element) === 0;\r\n };\r\n ColumnSet.prototype.isRightMostElement = function (element) {\r\n return this._columns.indexOf(element) === this._columns.length - 1;\r\n };\r\n ColumnSet.prototype.isTopElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.isBottomElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n result = column.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ColumnSet;\r\n}(ContainerBase));\r\nexports.ColumnSet = ColumnSet;\r\nfunction raiseImageLoadedEvent(image) {\r\n var card = image.getRootElement();\r\n var onImageLoadedHandler = card && card.onImageLoaded ? card.onImageLoaded : AdaptiveCard.onImageLoaded;\r\n if (onImageLoadedHandler) {\r\n onImageLoadedHandler(image);\r\n }\r\n}\r\nfunction raiseAnchorClickedEvent(element, anchor, ev) {\r\n var card = element.getRootElement();\r\n var onAnchorClickedHandler = card && card.onAnchorClicked ? card.onAnchorClicked : AdaptiveCard.onAnchorClicked;\r\n return onAnchorClickedHandler !== undefined\r\n ? onAnchorClickedHandler(element, anchor, ev)\r\n : false;\r\n}\r\nfunction raiseExecuteActionEvent(action) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onExecuteActionHandler = card && card.onExecuteAction ? card.onExecuteAction : AdaptiveCard.onExecuteAction;\r\n if (action.prepareForExecution() && onExecuteActionHandler) {\r\n onExecuteActionHandler(action);\r\n }\r\n}\r\nfunction raiseInlineCardExpandedEvent(action, isExpanded) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onInlineCardExpandedHandler = card && card.onInlineCardExpanded\r\n ? card.onInlineCardExpanded\r\n : AdaptiveCard.onInlineCardExpanded;\r\n if (onInlineCardExpandedHandler) {\r\n onInlineCardExpandedHandler(action, isExpanded);\r\n }\r\n}\r\nfunction raiseInputValueChangedEvent(input) {\r\n var card = input.getRootElement();\r\n var onInputValueChangedHandler = card && card.onInputValueChanged\r\n ? card.onInputValueChanged\r\n : AdaptiveCard.onInputValueChanged;\r\n if (onInputValueChangedHandler) {\r\n onInputValueChangedHandler(input);\r\n }\r\n}\r\nfunction raiseElementVisibilityChangedEvent(element, shouldUpdateLayout) {\r\n if (shouldUpdateLayout === void 0) { shouldUpdateLayout = true; }\r\n var rootElement = element.getRootElement();\r\n if (shouldUpdateLayout) {\r\n rootElement.updateLayout();\r\n }\r\n var card = rootElement;\r\n var onElementVisibilityChangedHandler = card && card.onElementVisibilityChanged\r\n ? card.onElementVisibilityChanged\r\n : AdaptiveCard.onElementVisibilityChanged;\r\n if (onElementVisibilityChangedHandler !== undefined) {\r\n onElementVisibilityChangedHandler(element);\r\n }\r\n}\r\nfunction updateInputAdornersVisibility(input, hide) {\r\n if (!!hide) {\r\n // hides the time/date picker icon\r\n input.readOnly = true;\r\n // hides the cross button icon\r\n input.required = true;\r\n }\r\n else {\r\n // shows the time/date picker icon\r\n input.readOnly = false;\r\n // shows the cross button icon\r\n input.required = false;\r\n }\r\n}\r\n/**\r\n * @returns return false to continue with default context menu; return true to skip SDK default context menu\r\n */\r\nfunction raiseDisplayOverflowActionMenuEvent(action, target) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onDisplayOverflowActionMenuHandler = card && card.onDisplayOverflowActionMenu\r\n ? card.onDisplayOverflowActionMenu\r\n : AdaptiveCard.onDisplayOverflowActionMenu;\r\n return onDisplayOverflowActionMenuHandler !== undefined\r\n ? onDisplayOverflowActionMenuHandler(action.getActions(), target)\r\n : false;\r\n}\r\n/**\r\n * @returns return false to continue with default action button; return true to skip SDK default action button\r\n */\r\nfunction raiseRenderOverflowActionsEvent(action, isAtRootLevelActions) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onRenderOverflowActionsHandler = card && card.onRenderOverflowActions\r\n ? card.onRenderOverflowActions\r\n : AdaptiveCard.onRenderOverflowActions;\r\n return onRenderOverflowActionsHandler !== undefined\r\n ? onRenderOverflowActionsHandler(action.getActions(), isAtRootLevelActions)\r\n : false;\r\n}\r\nvar ContainerWithActions = /** @class */ (function (_super) {\r\n __extends(ContainerWithActions, _super);\r\n function ContainerWithActions() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ContainerWithActions.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.parseActions(source, context);\r\n };\r\n ContainerWithActions.prototype.parseActions = function (source, context) {\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ContainerWithActions.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ContainerWithActions.prototype.internalRender = function () {\r\n var element = _super.prototype.internalRender.call(this);\r\n if (element) {\r\n var renderedActions = this._actionCollection.render(this.hostConfig.actions.actionsOrientation);\r\n if (renderedActions) {\r\n Utils.appendChild(element, renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.hostConfig.actions.spacing)\r\n }, Enums.Orientation.Horizontal));\r\n Utils.appendChild(element, renderedActions);\r\n }\r\n if (this.renderIfEmpty) {\r\n return element;\r\n }\r\n else {\r\n return element.children.length > 0 ? element : undefined;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ContainerWithActions.prototype.getHasExpandedAction = function () {\r\n if (this.renderedActionCount === 0) {\r\n return false;\r\n }\r\n else if (this.renderedActionCount === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._actionCollection.renderedActionCount;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerWithActions.prototype.releaseDOMResources = function () {\r\n _super.prototype.releaseDOMResources.call(this);\r\n this._actionCollection.releaseDOMResources();\r\n };\r\n ContainerWithActions.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ContainerWithActions.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ContainerWithActions.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ContainerWithActions.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this._actionCollection) {\r\n this._actionCollection.validateProperties(context);\r\n }\r\n };\r\n ContainerWithActions.prototype.isLastElement = function (element) {\r\n return _super.prototype.isLastElement.call(this, element) && this._actionCollection.getActionCount() === 0;\r\n };\r\n ContainerWithActions.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ContainerWithActions.prototype.clear = function () {\r\n _super.prototype.clear.call(this);\r\n this._actionCollection.clear();\r\n };\r\n ContainerWithActions.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = _super.prototype.getAllInputs.call(this, processActions);\r\n if (processActions) {\r\n result.push.apply(result, this._actionCollection.getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n ContainerWithActions.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n result.push.apply(result, this._actionCollection.getResourceInformation());\r\n return result;\r\n };\r\n ContainerWithActions.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount === 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() === 1) {\r\n return (this._actionCollection.expandedAction !== undefined &&\r\n !this.hostConfig.actions.preExpandSingleShowCardAction);\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ContainerWithActions.prototype.getForbiddenActionNames = function () {\r\n return [];\r\n };\r\n ContainerWithActions.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n result = this.getElementByIdFromAction(id);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerWithActions;\r\n}(Container));\r\nexports.ContainerWithActions = ContainerWithActions;\r\nvar RefreshActionProperty = /** @class */ (function (_super) {\r\n __extends(RefreshActionProperty, _super);\r\n function RefreshActionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n RefreshActionProperty.prototype.parse = function (sender, source, context) {\r\n var action = context.parseAction(sender.parent, source[this.name], [], false);\r\n if (action !== undefined) {\r\n if (action instanceof ExecuteAction) {\r\n return action;\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(action.getJsonTypeName()));\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"action\"));\r\n return undefined;\r\n };\r\n RefreshActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return RefreshActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.RefreshActionProperty = RefreshActionProperty;\r\nvar RefreshDefinition = /** @class */ (function (_super) {\r\n __extends(RefreshDefinition, _super);\r\n function RefreshDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(RefreshDefinition.prototype, \"action\", {\r\n get: function () {\r\n return this.getValue(RefreshDefinition.actionProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(RefreshDefinition.actionProperty, value);\r\n if (value) {\r\n value.setParent(this.parent);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n RefreshDefinition.prototype.getSchemaKey = function () {\r\n return \"RefreshDefinition\";\r\n };\r\n //#region Schema\r\n RefreshDefinition.actionProperty = new RefreshActionProperty(serialization_1.Versions.v1_4, \"action\");\r\n RefreshDefinition.userIdsProperty = new serialization_1.StringArrayProperty(serialization_1.Versions.v1_4, \"userIds\");\r\n __decorate([\r\n (0, serialization_1.property)(RefreshDefinition.actionProperty)\r\n ], RefreshDefinition.prototype, \"action\", null);\r\n __decorate([\r\n (0, serialization_1.property)(RefreshDefinition.userIdsProperty)\r\n ], RefreshDefinition.prototype, \"userIds\", void 0);\r\n return RefreshDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.RefreshDefinition = RefreshDefinition;\r\nvar AuthCardButton = /** @class */ (function (_super) {\r\n __extends(AuthCardButton, _super);\r\n function AuthCardButton() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n AuthCardButton.prototype.getSchemaKey = function () {\r\n return \"AuthCardButton\";\r\n };\r\n //#region Schema\r\n AuthCardButton.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"type\");\r\n AuthCardButton.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"title\");\r\n AuthCardButton.imageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"image\");\r\n AuthCardButton.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"value\");\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.typeProperty)\r\n ], AuthCardButton.prototype, \"type\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.titleProperty)\r\n ], AuthCardButton.prototype, \"title\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.imageProperty)\r\n ], AuthCardButton.prototype, \"image\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AuthCardButton.valueProperty)\r\n ], AuthCardButton.prototype, \"value\", void 0);\r\n return AuthCardButton;\r\n}(serialization_1.SerializableObject));\r\nexports.AuthCardButton = AuthCardButton;\r\nvar TokenExchangeResource = /** @class */ (function (_super) {\r\n __extends(TokenExchangeResource, _super);\r\n function TokenExchangeResource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TokenExchangeResource.prototype.getSchemaKey = function () {\r\n return \"TokenExchangeResource\";\r\n };\r\n //#region Schema\r\n TokenExchangeResource.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"id\");\r\n TokenExchangeResource.uriProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"uri\");\r\n TokenExchangeResource.providerIdProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"providerId\");\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.idProperty)\r\n ], TokenExchangeResource.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.uriProperty)\r\n ], TokenExchangeResource.prototype, \"uri\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TokenExchangeResource.providerIdProperty)\r\n ], TokenExchangeResource.prototype, \"providerId\", void 0);\r\n return TokenExchangeResource;\r\n}(serialization_1.SerializableObject));\r\nexports.TokenExchangeResource = TokenExchangeResource;\r\nvar Authentication = /** @class */ (function (_super) {\r\n __extends(Authentication, _super);\r\n function Authentication() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Authentication.prototype.getSchemaKey = function () {\r\n return \"Authentication\";\r\n };\r\n //#region Schema\r\n Authentication.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"text\");\r\n Authentication.connectionNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"connectionName\");\r\n Authentication.buttonsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_4, \"buttons\", AuthCardButton);\r\n Authentication.tokenExchangeResourceProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"tokenExchangeResource\", TokenExchangeResource, true);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.textProperty)\r\n ], Authentication.prototype, \"text\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.connectionNameProperty)\r\n ], Authentication.prototype, \"connectionName\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.buttonsProperty)\r\n ], Authentication.prototype, \"buttons\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Authentication.tokenExchangeResourceProperty)\r\n ], Authentication.prototype, \"tokenExchangeResource\", void 0);\r\n return Authentication;\r\n}(serialization_1.SerializableObject));\r\nexports.Authentication = Authentication;\r\n// @dynamic\r\nvar AdaptiveCard = /** @class */ (function (_super) {\r\n __extends(AdaptiveCard, _super);\r\n function AdaptiveCard() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.designMode = false;\r\n return _this;\r\n }\r\n Object.defineProperty(AdaptiveCard.prototype, \"refresh\", {\r\n get: function () {\r\n return this.getValue(AdaptiveCard.refreshProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(AdaptiveCard.refreshProperty, value);\r\n if (value) {\r\n value.parent = this;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard, \"processMarkdown\", {\r\n get: function () {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n set: function (_value) {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.applyMarkdown = function (text) {\r\n var result = {\r\n didProcess: false\r\n };\r\n if (AdaptiveCard.onProcessMarkdown) {\r\n AdaptiveCard.onProcessMarkdown(text, result);\r\n }\r\n else if (window.markdownit) {\r\n // Check for markdownit\r\n var markdownIt = window.markdownit;\r\n result.outputHtml = markdownIt().render(text);\r\n result.didProcess = true;\r\n }\r\n else if (!AdaptiveCard._haveWarnedAboutNoMarkdownProcessing) {\r\n // eslint-disable-next-line no-console\r\n console.warn(strings_1.Strings.errors.markdownProcessingNotEnabled);\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = true;\r\n }\r\n return result;\r\n };\r\n AdaptiveCard.prototype.isVersionSupported = function () {\r\n if (this.bypassVersionCheck) {\r\n return true;\r\n }\r\n else {\r\n var unsupportedVersion = !this.version ||\r\n !this.version.isValid ||\r\n this.maxVersion.major < this.version.major ||\r\n (this.maxVersion.major === this.version.major &&\r\n this.maxVersion.minor < this.version.minor);\r\n return !unsupportedVersion;\r\n }\r\n };\r\n AdaptiveCard.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext(this.version);\r\n };\r\n AdaptiveCard.prototype.getItemsCollectionPropertyName = function () {\r\n return \"body\";\r\n };\r\n AdaptiveCard.prototype.internalParse = function (source, context) {\r\n this._fallbackCard = undefined;\r\n var fallbackElement = context.parseElement(undefined, source[\"fallback\"], this.forbiddenChildElements(), !this.isDesignMode());\r\n if (fallbackElement) {\r\n this._fallbackCard = new AdaptiveCard();\r\n this._fallbackCard.addItem(fallbackElement);\r\n }\r\n _super.prototype.internalParse.call(this, source, context);\r\n };\r\n AdaptiveCard.prototype.internalToJSON = function (target, context) {\r\n this.setValue(AdaptiveCard.versionProperty, context.targetVersion);\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n };\r\n AdaptiveCard.prototype.internalRender = function () {\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && renderedElement) {\r\n // Unlike containers, the root card element should be allowed to\r\n // be shorter than its content (otherwise the overflow truncation\r\n // logic would never get triggered)\r\n renderedElement.style.removeProperty(\"minHeight\");\r\n }\r\n return renderedElement;\r\n };\r\n AdaptiveCard.prototype.getHasBackground = function (ignoreBackgroundImages) {\r\n if (ignoreBackgroundImages === void 0) { ignoreBackgroundImages = false; }\r\n return true;\r\n };\r\n AdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n AdaptiveCard.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"allowCustomStyle\", {\r\n get: function () {\r\n return this.hostConfig.adaptiveCard && this.hostConfig.adaptiveCard.allowCustomStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasBackground\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.prototype.getJsonTypeName = function () {\r\n return \"AdaptiveCard\";\r\n };\r\n AdaptiveCard.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.getValue(CardElement.typeNameProperty) !== \"AdaptiveCard\") {\r\n context.addFailure(this, Enums.ValidationEvent.MissingCardType, strings_1.Strings.errors.invalidCardType());\r\n }\r\n if (!this.bypassVersionCheck && !this.version) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"version\"));\r\n }\r\n else if (!this.isVersionSupported()) {\r\n context.addFailure(this, Enums.ValidationEvent.UnsupportedCardVersion, strings_1.Strings.errors.unsupportedCardVersion(this.version.toString(), this.maxVersion.toString()));\r\n }\r\n };\r\n AdaptiveCard.prototype.render = function (target) {\r\n var _this = this;\r\n var renderedCard;\r\n if (this.shouldFallback() && this._fallbackCard) {\r\n this._fallbackCard.hostConfig = this.hostConfig;\r\n renderedCard = this._fallbackCard.render();\r\n }\r\n else {\r\n renderedCard = _super.prototype.render.call(this);\r\n if (renderedCard) {\r\n renderedCard.classList.add(this.hostConfig.makeCssClassName(\"ac-adaptiveCard\"));\r\n // Having a tabIndex on the root container for a card can mess up accessibility in some scenarios.\r\n // However, we've shipped this behavior before, and so can't just turn it off in a point release. For\r\n // now, to unblock accessibility scenarios for our customers, we've got an option to turn it off. In a\r\n // future release, we should strongly consider flipping the default such that we *don't* emit a tabIndex\r\n // by default.\r\n if (shared_1.GlobalSettings.setTabIndexAtCardRoot) {\r\n renderedCard.tabIndex = 0;\r\n }\r\n if (this.speak) {\r\n renderedCard.setAttribute(\"aria-label\", this.speak);\r\n }\r\n renderedCard.onmouseenter = function (ev) {\r\n _this.updateInputsVisualState(true /* hover */);\r\n };\r\n renderedCard.onmouseleave = function (ev) {\r\n _this.updateInputsVisualState(false /* hover */);\r\n };\r\n this.getRootElement().updateActionsEnabledState();\r\n }\r\n }\r\n if (target) {\r\n Utils.appendChild(target, renderedCard);\r\n this.updateLayout();\r\n }\r\n var inputElements = this.getAllInputs();\r\n document.onclick = function (event) {\r\n inputElements.forEach(function (input) {\r\n var _a, _b;\r\n if (input instanceof ChoiceSetInput &&\r\n !((_a = input.renderedElement) === null || _a === void 0 ? void 0 : _a.contains(event.target))) {\r\n (_b = input\r\n .getDropdownElement()) === null || _b === void 0 ? void 0 : _b.classList.remove(_this.hostConfig.makeCssClassName(\"ac-choiceSetInput-filtered-dropdown-open\"));\r\n }\r\n });\r\n };\r\n return renderedCard;\r\n };\r\n AdaptiveCard.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && this.isDisplayed()) {\r\n var padding = this.hostConfig.getEffectiveSpacing(Enums.Spacing.Default);\r\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\r\n this[\"handleOverflow\"](this.renderedElement.offsetHeight - padding);\r\n }\r\n };\r\n AdaptiveCard.prototype.shouldFallback = function () {\r\n return _super.prototype.shouldFallback.call(this) || !this.isVersionSupported();\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.schemaUrl = \"http://adaptivecards.io/schemas/adaptive-card.json\";\r\n //#region Schema\r\n // eslint-disable-next-line @typescript-eslint/naming-convention\r\n AdaptiveCard.$schemaProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"$schema\", function (sender, property, source, context) {\r\n return AdaptiveCard.schemaUrl;\r\n }, function (sender, prop, target, value, context) {\r\n context.serializeValue(target, prop.name, AdaptiveCard.schemaUrl);\r\n });\r\n AdaptiveCard.versionProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"version\", function (sender, prop, source, context) {\r\n var version = serialization_1.Version.parse(source[prop.name], context);\r\n if (version === undefined) {\r\n version = serialization_1.Versions.latest;\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidCardVersion(version.toString()));\r\n }\r\n return version;\r\n }, function (sender, prop, target, value, context) {\r\n if (value !== undefined) {\r\n context.serializeValue(target, prop.name, value.toString());\r\n }\r\n }, serialization_1.Versions.v1_0);\r\n AdaptiveCard.fallbackTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"fallbackText\");\r\n AdaptiveCard.speakProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"speak\");\r\n AdaptiveCard.refreshProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"refresh\", RefreshDefinition, true);\r\n AdaptiveCard.authenticationProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"authentication\", Authentication, true);\r\n //#endregion\r\n AdaptiveCard._haveWarnedAboutNoMarkdownProcessing = false;\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.versionProperty)\r\n ], AdaptiveCard.prototype, \"version\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.fallbackTextProperty)\r\n ], AdaptiveCard.prototype, \"fallbackText\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.speakProperty)\r\n ], AdaptiveCard.prototype, \"speak\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.refreshProperty)\r\n ], AdaptiveCard.prototype, \"refresh\", null);\r\n __decorate([\r\n (0, serialization_1.property)(AdaptiveCard.authenticationProperty)\r\n ], AdaptiveCard.prototype, \"authentication\", void 0);\r\n return AdaptiveCard;\r\n}(ContainerWithActions));\r\nexports.AdaptiveCard = AdaptiveCard;\r\nvar InlineAdaptiveCard = /** @class */ (function (_super) {\r\n __extends(InlineAdaptiveCard, _super);\r\n function InlineAdaptiveCard() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suppressStyle = false;\r\n return _this;\r\n }\r\n InlineAdaptiveCard.prototype.getSchemaKey = function () {\r\n return \"InlineAdaptiveCard\";\r\n };\r\n InlineAdaptiveCard.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(AdaptiveCard.$schemaProperty, AdaptiveCard.versionProperty);\r\n };\r\n //#endregion\r\n InlineAdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding, this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"defaultStyle\", {\r\n get: function () {\r\n if (this.suppressStyle) {\r\n return Enums.ContainerStyle.Default;\r\n }\r\n else {\r\n return this.hostConfig.actions.showCard.style\r\n ? this.hostConfig.actions.showCard.style\r\n : Enums.ContainerStyle.Emphasis;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n InlineAdaptiveCard.prototype.render = function (target) {\r\n var renderedCard = _super.prototype.render.call(this, target);\r\n if (renderedCard) {\r\n renderedCard.setAttribute(\"aria-live\", \"polite\");\r\n renderedCard.removeAttribute(\"tabindex\");\r\n }\r\n return renderedCard;\r\n };\r\n return InlineAdaptiveCard;\r\n}(AdaptiveCard));\r\nvar SerializationContext = /** @class */ (function (_super) {\r\n __extends(SerializationContext, _super);\r\n function SerializationContext() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._forbiddenTypes = new Set();\r\n return _this;\r\n }\r\n SerializationContext.prototype.internalParseCardObject = function (parent, source, forbiddenTypes, allowFallback, createInstanceCallback, logParseEvent) {\r\n var _this = this;\r\n var result = undefined;\r\n if (source && typeof source === \"object\") {\r\n var oldForbiddenTypes_1 = new Set();\r\n this._forbiddenTypes.forEach(function (type) {\r\n oldForbiddenTypes_1.add(type);\r\n });\r\n forbiddenTypes.forEach(function (type) {\r\n _this._forbiddenTypes.add(type);\r\n });\r\n var typeName = Utils.parseString(source[\"type\"]);\r\n if (typeName && this._forbiddenTypes.has(typeName)) {\r\n logParseEvent(typeName, Enums.TypeErrorType.ForbiddenType);\r\n }\r\n else {\r\n var tryToFallback = false;\r\n result = createInstanceCallback(typeName);\r\n if (!result) {\r\n tryToFallback = shared_1.GlobalSettings.enableFallback && allowFallback;\r\n logParseEvent(typeName, Enums.TypeErrorType.UnknownType);\r\n }\r\n else {\r\n result.setParent(parent);\r\n result.parse(source, this);\r\n tryToFallback =\r\n shared_1.GlobalSettings.enableFallback && allowFallback && result.shouldFallback();\r\n }\r\n if (tryToFallback) {\r\n var fallback = source[\"fallback\"];\r\n if (!fallback && parent) {\r\n parent.setShouldFallback(true);\r\n }\r\n if (typeof fallback === \"string\" && fallback.toLowerCase() === \"drop\") {\r\n result = undefined;\r\n }\r\n else if (typeof fallback === \"object\") {\r\n result = this.internalParseCardObject(parent, fallback, forbiddenTypes, true, createInstanceCallback, logParseEvent);\r\n }\r\n }\r\n }\r\n this._forbiddenTypes = oldForbiddenTypes_1;\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.cardObjectParsed = function (o, source) {\r\n if (o instanceof Action && this.onParseAction) {\r\n this.onParseAction(o, source, this);\r\n }\r\n else if (o instanceof CardElement && this.onParseElement) {\r\n this.onParseElement(o, source, this);\r\n }\r\n };\r\n SerializationContext.prototype.shouldSerialize = function (o) {\r\n if (o instanceof Action) {\r\n return this.actionRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else if (o instanceof CardElement) {\r\n return this.elementRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n SerializationContext.prototype.parseCardObject = function (parent, source, forbiddenTypeNames, allowFallback, createInstanceCallback, logParseEvent) {\r\n var forbiddenTypes = new Set(forbiddenTypeNames);\r\n var result = this.internalParseCardObject(parent, source, forbiddenTypes, allowFallback, createInstanceCallback, logParseEvent);\r\n if (result !== undefined) {\r\n this.cardObjectParsed(result, source);\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.parseElement = function (parent, source, forbiddenTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenTypes, allowFallback, function (typeName) {\r\n return _this.elementRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType === Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownElementType, strings_1.Strings.errors.unknownElementType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n SerializationContext.prototype.parseAction = function (parent, source, forbiddenActionTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenActionTypes, allowFallback, function (typeName) {\r\n return _this.actionRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType === Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownActionType, strings_1.Strings.errors.unknownActionType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"elementRegistry\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._elementRegistry) !== null && _a !== void 0 ? _a : registry_1.GlobalRegistry.elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setElementRegistry = function (value) {\r\n this._elementRegistry = value;\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"actionRegistry\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._actionRegistry) !== null && _a !== void 0 ? _a : registry_1.GlobalRegistry.actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setActionRegistry = function (value) {\r\n this._actionRegistry = value;\r\n };\r\n return SerializationContext;\r\n}(serialization_1.BaseSerializationContext));\r\nexports.SerializationContext = SerializationContext;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Container\", Container);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextBlock\", TextBlock);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"RichTextBlock\", RichTextBlock, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextRun\", TextRun, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Image\", Image);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ImageSet\", ImageSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Media\", Media, serialization_1.Versions.v1_1);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"FactSet\", FactSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ColumnSet\", ColumnSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ActionSet\", ActionSet, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Text\", TextInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Date\", DateInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Time\", TimeInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Number\", NumberInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.ChoiceSet\", ChoiceSetInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Toggle\", ToggleInput);\r\nregistry_1.GlobalRegistry.defaultActions.register(OpenUrlAction.JsonTypeName, OpenUrlAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(SubmitAction.JsonTypeName, SubmitAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ShowCardAction.JsonTypeName, ShowCardAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ToggleVisibilityAction.JsonTypeName, ToggleVisibilityAction, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultActions.register(ExecuteAction.JsonTypeName, ExecuteAction, serialization_1.Versions.v1_4);\r\n//# sourceMappingURL=card-elements.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CardObject = exports.ValidationResults = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar shared_1 = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar ValidationResults = /** @class */ (function () {\r\n function ValidationResults() {\r\n this.allIds = {};\r\n this.validationEvents = [];\r\n }\r\n ValidationResults.prototype.addFailure = function (cardObject, event, message) {\r\n this.validationEvents.push({\r\n phase: Enums.ValidationPhase.Validation,\r\n source: cardObject,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n return ValidationResults;\r\n}());\r\nexports.ValidationResults = ValidationResults;\r\nvar CardObject = /** @class */ (function (_super) {\r\n __extends(CardObject, _super);\r\n function CardObject() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._shouldFallback = false;\r\n return _this;\r\n }\r\n CardObject.prototype.getSchemaKey = function () {\r\n return this.getJsonTypeName();\r\n };\r\n Object.defineProperty(CardObject.prototype, \"requires\", {\r\n get: function () {\r\n return this.getValue(CardObject.requiresProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Checks if this CardObject contains the given DOM Node.\r\n * @param node The DOM Node to look for.\r\n * @returns `true` if the DOM Node was found, `false` otherwise.\r\n */\r\n CardObject.prototype.contains = function (node) {\r\n if (this._renderedElement) {\r\n return this._renderedElement.contains(node);\r\n }\r\n return false;\r\n };\r\n CardObject.prototype.preProcessPropertyValue = function (prop, propertyValue) {\r\n var value = propertyValue === undefined ? this.getValue(prop) : propertyValue;\r\n if (shared_1.GlobalSettings.allowPreProcessingPropertyValues) {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n var currentObject = this;\r\n while (currentObject && !currentObject.onPreProcessPropertyValue) {\r\n currentObject = currentObject.parent;\r\n }\r\n if (currentObject && currentObject.onPreProcessPropertyValue) {\r\n return currentObject.onPreProcessPropertyValue(this, prop, value);\r\n }\r\n }\r\n return value;\r\n };\r\n CardObject.prototype.setParent = function (value) {\r\n this._parent = value;\r\n };\r\n CardObject.prototype.setShouldFallback = function (value) {\r\n this._shouldFallback = value;\r\n };\r\n CardObject.prototype.shouldFallback = function () {\r\n return this._shouldFallback || !this.requires.areAllMet(this.hostConfig.hostCapabilities);\r\n };\r\n CardObject.prototype.getRootObject = function () {\r\n // eslint-disable-next-line @typescript-eslint/no-this-alias\r\n var currentObject = this;\r\n while (currentObject.parent) {\r\n currentObject = currentObject.parent;\r\n }\r\n return currentObject;\r\n };\r\n CardObject.prototype.internalValidateProperties = function (context) {\r\n if (this.id) {\r\n if (context.allIds.hasOwnProperty(this.id)) {\r\n if (context.allIds[this.id] === 1) {\r\n context.addFailure(this, Enums.ValidationEvent.DuplicateId, strings_1.Strings.errors.duplicateId(this.id));\r\n }\r\n context.allIds[this.id] += 1;\r\n }\r\n else {\r\n context.allIds[this.id] = 1;\r\n }\r\n }\r\n };\r\n CardObject.prototype.validateProperties = function () {\r\n var result = new ValidationResults();\r\n this.internalValidateProperties(result);\r\n return result;\r\n };\r\n /**\r\n * Recursively searches this CardObject and any children to find the\r\n * innermost CardObject that owns the given DOM Node.\r\n *\r\n * @param node The DOM Node to look for.\r\n *\r\n * @returns The owner of the given DOM Node, or `undefined` if no owner was found.\r\n */\r\n CardObject.prototype.findDOMNodeOwner = function (node) {\r\n // default implementation for CardObjects with no associated children\r\n return this.contains(node) ? this : undefined;\r\n };\r\n CardObject.prototype.releaseDOMResources = function () {\r\n // Do nothing in base implementation\r\n };\r\n Object.defineProperty(CardObject.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardObject.prototype, \"renderedElement\", {\r\n get: function () {\r\n return this._renderedElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardObject.typeNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"type\", undefined, undefined, undefined, function (sender) {\r\n return sender.getJsonTypeName();\r\n });\r\n CardObject.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"id\");\r\n CardObject.requiresProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_2, \"requires\", host_capabilities_1.HostCapabilities, false, new host_capabilities_1.HostCapabilities());\r\n __decorate([\r\n (0, serialization_1.property)(CardObject.idProperty)\r\n ], CardObject.prototype, \"id\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(CardObject.requiresProperty)\r\n ], CardObject.prototype, \"requires\", null);\r\n return CardObject;\r\n}(serialization_1.SerializableObject));\r\nexports.CardObject = CardObject;\r\n//# sourceMappingURL=card-object.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CarouselEvent = exports.Carousel = exports.CarouselPage = void 0;\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar Enums = require(\"./enums\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar enums_1 = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar swiper_1 = require(\"swiper\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\n// Note: to function correctly, consumers need to have CSS from swiper/css, swiper/css/pagination, and\r\n// swiper/css/navigation\r\nvar CarouselPage = /** @class */ (function (_super) {\r\n __extends(CarouselPage, _super);\r\n function CarouselPage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#region Schema\r\n CarouselPage.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in CarouselPage\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n //#endregion\r\n CarouselPage.prototype.internalRender = function () {\r\n var carouselSlide = document.createElement(\"div\");\r\n carouselSlide.className = this.hostConfig.makeCssClassName(\"swiper-slide\");\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n Utils.appendChild(carouselSlide, renderedElement);\r\n return carouselSlide;\r\n };\r\n CarouselPage.prototype.getForbiddenActionTypes = function () {\r\n return [card_elements_1.ShowCardAction, card_elements_1.ToggleVisibilityAction];\r\n };\r\n CarouselPage.prototype.getForbiddenChildElements = function () {\r\n return this.forbiddenChildElements();\r\n };\r\n CarouselPage.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\",\r\n \"Carousel\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n CarouselPage.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.setShouldFallback(false);\r\n };\r\n CarouselPage.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n CarouselPage.prototype.getJsonTypeName = function () {\r\n return \"CarouselPage\";\r\n };\r\n Object.defineProperty(CarouselPage.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CarouselPage.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return CarouselPage;\r\n}(card_elements_1.Container));\r\nexports.CarouselPage = CarouselPage;\r\nvar Carousel = /** @class */ (function (_super) {\r\n __extends(Carousel, _super);\r\n function Carousel() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.carouselLoop = true;\r\n _this.carouselOrientation = Enums.Orientation.Horizontal;\r\n _this._pages = [];\r\n _this._currentIndex = 0;\r\n _this._previousEventType = Enums.CarouselInteractionEvent.Pagination;\r\n return _this;\r\n }\r\n //#region Schema\r\n Carousel.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // `style`, `bleed`, `isVisible` are not supported in Carousel\r\n schema.remove(card_elements_1.Container.styleProperty);\r\n schema.remove(card_elements_1.Container.bleedProperty);\r\n schema.remove(card_elements_1.Container.isVisibleProperty);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"timer\", {\r\n get: function () {\r\n var timer = this.getValue(Carousel.timerProperty);\r\n if (timer && timer < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n timer = this.hostConfig.carousel.minAutoplayDelay;\r\n }\r\n return timer;\r\n },\r\n set: function (value) {\r\n if (value && value < this.hostConfig.carousel.minAutoplayDelay) {\r\n console.warn(strings_1.Strings.errors.tooLittleTimeDelay);\r\n this.setValue(Carousel.timerProperty, this.hostConfig.carousel.minAutoplayDelay);\r\n }\r\n else {\r\n this.setValue(Carousel.timerProperty, value);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"initialPageIndex\", {\r\n get: function () {\r\n return this.getValue(Carousel.initialPageProperty);\r\n },\r\n set: function (value) {\r\n if (this.isValidParsedPageIndex(value)) {\r\n this.setValue(Carousel.initialPageProperty, value);\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(value));\r\n this.setValue(Carousel.initialPageProperty, 0);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.isValidParsedPageIndex = function (index) {\r\n return this._pages ? this.isValidPageIndex(index, this._pages.length) : false;\r\n };\r\n Carousel.prototype.isValidRenderedPageIndex = function (index) {\r\n return this._renderedPages ? this.isValidPageIndex(index, this._renderedPages.length) : false;\r\n };\r\n Carousel.prototype.isValidPageIndex = function (index, collectionSize) {\r\n return (collectionSize > 0 && 0 <= index && index < collectionSize);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"previousEventType\", {\r\n //#endregion\r\n get: function () {\r\n return this._previousEventType;\r\n },\r\n set: function (eventType) {\r\n this._previousEventType = eventType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Question: Why do we place this on the Carousel instead of the CarouselPage?\r\n Carousel.prototype.forbiddenChildElements = function () {\r\n return __spreadArray([\r\n card_elements_1.ToggleVisibilityAction.JsonTypeName,\r\n card_elements_1.ShowCardAction.JsonTypeName,\r\n \"Media\",\r\n \"ActionSet\",\r\n \"Input.Text\",\r\n \"Input.Date\",\r\n \"Input.Time\",\r\n \"Input.Number\",\r\n \"Input.ChoiceSet\",\r\n \"Input.Toggle\"\r\n ], _super.prototype.forbiddenChildElements.call(this), true);\r\n };\r\n Carousel.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.height == \"stretch\" && this._containerForAdorners !== undefined) {\r\n this._containerForAdorners.style.height = \"100%\";\r\n }\r\n // Assign the explicit height to carouselPageContainer if given\r\n if (this.carouselHeight) {\r\n this._carouselPageContainer.style.height = this.carouselHeight + \"px\";\r\n }\r\n };\r\n Carousel.prototype.getJsonTypeName = function () {\r\n return \"Carousel\";\r\n };\r\n Carousel.prototype.getItemCount = function () {\r\n return this._pages.length;\r\n };\r\n Carousel.prototype.getItemAt = function (index) {\r\n return this._pages[index];\r\n };\r\n Carousel.prototype.addPage = function (page) {\r\n this._pages.push(page);\r\n page.setParent(this);\r\n };\r\n Carousel.prototype.removeItem = function (item) {\r\n if (item instanceof CarouselPage) {\r\n var itemIndex = this._pages.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._pages.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n Carousel.prototype.getFirstVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Carousel.prototype.getLastVisibleRenderedItem = function () {\r\n var _a;\r\n if (this.renderedElement && ((_a = this._renderedPages) === null || _a === void 0 ? void 0 : _a.length) > 0) {\r\n return this._renderedPages[this._renderedPages.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n Object.defineProperty(Carousel.prototype, \"currentPageId\", {\r\n get: function () {\r\n var _a, _b;\r\n if ((_b = (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slides) === null || _b === void 0 ? void 0 : _b.length) {\r\n var activeSlide = this._carousel.slides[this._carousel.activeIndex];\r\n return activeSlide.id;\r\n }\r\n return undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentPageIndex\", {\r\n get: function () {\r\n var _a;\r\n return (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.realIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._pages = [];\r\n var jsonPages = source[\"pages\"];\r\n if (Array.isArray(jsonPages)) {\r\n for (var _i = 0, jsonPages_1 = jsonPages; _i < jsonPages_1.length; _i++) {\r\n var item = jsonPages_1[_i];\r\n var page = this.createCarouselPageInstance(item, context);\r\n if (page) {\r\n this._pages.push(page);\r\n }\r\n }\r\n }\r\n // everything is parsed do validate on initial page index\r\n this.validateParsing(context);\r\n };\r\n Carousel.prototype.validateParsing = function (context) {\r\n if (!this.isValidParsedPageIndex(this.initialPageIndex)) {\r\n context.logParseEvent(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n }\r\n };\r\n Carousel.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"pages\", this._pages);\r\n };\r\n Carousel.prototype.internalRender = function () {\r\n var _a;\r\n this._renderedPages = [];\r\n if (this._pages.length <= 0) {\r\n return undefined;\r\n }\r\n this.validateOrientationProperties();\r\n var cardLevelContainer = document.createElement(\"div\");\r\n cardLevelContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-card-level-container\");\r\n var carouselContainer = document.createElement(\"div\");\r\n carouselContainer.className = this.hostConfig.makeCssClassName(\"swiper\", \"ac-carousel\");\r\n this._carouselPageContainer = carouselContainer;\r\n var containerForAdorners = document.createElement(\"div\");\r\n containerForAdorners.className = this.hostConfig.makeCssClassName(\"ac-carousel-container\");\r\n this._containerForAdorners = containerForAdorners;\r\n cardLevelContainer.appendChild(containerForAdorners);\r\n var carouselWrapper = document.createElement(\"div\");\r\n carouselWrapper.className = this.hostConfig.makeCssClassName(\"swiper-wrapper\", \"ac-carousel-card-container\");\r\n carouselWrapper.style.display = \"flex\";\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Top:\r\n carouselWrapper.style.alignItems = \"flex-start\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n carouselWrapper.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n carouselWrapper.style.alignItems = \"center\";\r\n break;\r\n }\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // Forces the container to be at least as tall as its content.\r\n //\r\n // Fixes a quirk in Chrome where, for nested flex elements, the\r\n // inner element's height would never exceed the outer element's\r\n // height. This caused overflow truncation to break -- containers\r\n // would always be measured as not overflowing, since their heights\r\n // were constrained by their parents as opposed to truly reflecting\r\n // the height of their content.\r\n //\r\n // See the \"Browser Rendering Notes\" section of this answer:\r\n // https://stackoverflow.com/questions/36247140/why-doesnt-flex-item-shrink-past-content-size\r\n carouselWrapper.style.minHeight = \"-webkit-min-content\";\r\n }\r\n var navigationContainer = document.createElement(\"div\");\r\n navigationContainer.className = this.hostConfig.makeCssClassName(\"ac-carousel-navigation\");\r\n var prevElementDiv = document.createElement(\"div\");\r\n prevElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-prev\");\r\n var nextElementDiv = document.createElement(\"div\");\r\n nextElementDiv.className = this.hostConfig.makeCssClassName(\"swiper-button-next\");\r\n if (this.carouselOrientation === Enums.Orientation.Horizontal) {\r\n this.updateCssForHorizontalCarousel(prevElementDiv, nextElementDiv);\r\n }\r\n else {\r\n this.updateCssForVerticalCarousel(navigationContainer, prevElementDiv, nextElementDiv);\r\n }\r\n var pagination = document.createElement(\"div\");\r\n pagination.className = this.hostConfig.makeCssClassName(\"swiper-pagination\", \"ac-carousel-pagination\");\r\n navigationContainer.appendChild(prevElementDiv);\r\n Utils.addCancelSelectActionEventHandler(prevElementDiv);\r\n navigationContainer.appendChild(pagination);\r\n Utils.addCancelSelectActionEventHandler(pagination);\r\n navigationContainer.appendChild(nextElementDiv);\r\n Utils.addCancelSelectActionEventHandler(nextElementDiv);\r\n if (this.isDesignMode()) {\r\n // If we are in design mode, we need to ensure these elements are in front of the peers\r\n prevElementDiv.style.zIndex = \"20\";\r\n nextElementDiv.style.zIndex = \"20\";\r\n pagination.style.zIndex = \"20\";\r\n }\r\n var requestedNumberOfPages = Math.min(this._pages.length, this.hostConfig.carousel.maxCarouselPages);\r\n if (this._pages.length > this.hostConfig.carousel.maxCarouselPages) {\r\n console.warn(strings_1.Strings.errors.tooManyCarouselPages);\r\n }\r\n if (this._pages.length > 0) {\r\n for (var i = 0; i < requestedNumberOfPages; i++) {\r\n var page = this._pages[i];\r\n var renderedItem = this.isElementAllowed(page) ? page.render() : undefined;\r\n renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.classList.add(\"ac-carousel-page\");\r\n (_a = renderedItem === null || renderedItem === void 0 ? void 0 : renderedItem.children[0]) === null || _a === void 0 ? void 0 : _a.classList.add(\"ac-carousel-page-container\");\r\n if (renderedItem) {\r\n Utils.appendChild(carouselWrapper, renderedItem);\r\n this._renderedPages.push(page);\r\n }\r\n }\r\n }\r\n carouselContainer.appendChild(carouselWrapper);\r\n carouselContainer.tabIndex = this.isDesignMode() ? -1 : 0;\r\n containerForAdorners.appendChild(carouselContainer);\r\n containerForAdorners.appendChild(navigationContainer);\r\n // `isRtl()` will set the correct value of rtl by reading the value from the parents\r\n this.rtl = this.isRtl();\r\n this.applyRTL(pagination);\r\n if (!this.isDesignMode()) {\r\n if (this.isValidRenderedPageIndex(this.initialPageIndex)) {\r\n this._currentIndex = this.initialPageIndex;\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.invalidInitialPageIndex(this.initialPageIndex));\r\n this._currentIndex = 0;\r\n }\r\n }\r\n this.initializeCarouselControl(carouselContainer, nextElementDiv, prevElementDiv, pagination, this.rtl);\r\n return this._renderedPages.length > 0 ? cardLevelContainer : undefined;\r\n };\r\n Carousel.prototype.applyRTL = function (pagination) {\r\n _super.prototype.applyRTL.call(this, this._carouselPageContainer);\r\n if (this.rtl) {\r\n pagination.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-pagination-rtl\"));\r\n }\r\n };\r\n Carousel.prototype.validateOrientationProperties = function () {\r\n if (!this.carouselHeight) {\r\n this.carouselOrientation = Enums.Orientation.Horizontal;\r\n }\r\n };\r\n Carousel.prototype.updateCssForHorizontalCarousel = function (prevElementDiv, nextElementDiv) {\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-left\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-right\"));\r\n };\r\n Carousel.prototype.updateCssForVerticalCarousel = function (navigationContainer, prevElementDiv, nextElementDiv) {\r\n this._containerForAdorners.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-container-vertical\"));\r\n navigationContainer.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-navigation-vertical\"));\r\n prevElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-up\"));\r\n nextElementDiv.classList.add(this.hostConfig.makeCssClassName(\"ac-carousel-down\"));\r\n };\r\n Carousel.prototype.initializeCarouselControl = function (carouselContainer, nextElement, prevElement, paginationElement, rtl) {\r\n var _this = this;\r\n var _a, _b, _c;\r\n var nextElementAdjustedForRtl = (rtl === undefined || !rtl ? nextElement : prevElement);\r\n var prevElementAdjustedForRtl = (rtl === undefined || !rtl ? prevElement : nextElement);\r\n var prevElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? prevElementAdjustedForRtl : prevElement;\r\n var nextElementAdjustedForOrientation = (Enums.Orientation.Horizontal === this.carouselOrientation) ? nextElementAdjustedForRtl : nextElement;\r\n var swiperOptions = {\r\n loop: !this.isDesignMode() && this.carouselLoop,\r\n modules: [swiper_1.Navigation, swiper_1.Pagination, swiper_1.Scrollbar, swiper_1.A11y, swiper_1.History, swiper_1.Keyboard],\r\n pagination: {\r\n el: paginationElement,\r\n clickable: true\r\n },\r\n navigation: {\r\n prevEl: prevElementAdjustedForOrientation,\r\n nextEl: nextElementAdjustedForOrientation\r\n },\r\n a11y: {\r\n enabled: true\r\n },\r\n keyboard: {\r\n enabled: false,\r\n onlyInViewport: true\r\n },\r\n direction: this.carouselOrientation === Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\",\r\n resizeObserver: false,\r\n initialSlide: this._currentIndex\r\n };\r\n if (this.timer && !this.isDesignMode()) {\r\n (_a = swiperOptions.modules) === null || _a === void 0 ? void 0 : _a.push(swiper_1.Autoplay);\r\n swiperOptions.autoplay = { delay: this.timer, pauseOnMouseEnter: true };\r\n }\r\n var carousel = new swiper_1.Swiper(carouselContainer, swiperOptions);\r\n // While the 'pauseOnMouseEnter' option should resume autoplay on\r\n // mouse exit it doesn't do it, so adding custom events to handle it\r\n carouselContainer.addEventListener(\"mouseenter\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.stop();\r\n });\r\n carouselContainer.addEventListener(\"mouseleave\", function (_event) {\r\n var _a;\r\n (_a = carousel.autoplay) === null || _a === void 0 ? void 0 : _a.start();\r\n });\r\n carousel.on('navigationNext', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationNext);\r\n });\r\n carousel.on('navigationPrev', function (swiper) {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.NavigationPrevious);\r\n });\r\n carousel.on('slideChangeTransitionEnd', function (swiper) {\r\n _this.currentIndex = swiper.realIndex;\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Pagination);\r\n });\r\n carousel.on('autoplay', function () {\r\n _this.raiseCarouselEvent(Enums.CarouselInteractionEvent.Autoplay);\r\n });\r\n carousel.on('paginationRender', function (swiper, paginationEl) {\r\n swiper.pagination.bullets.forEach(function (bullet, index) {\r\n bullet.addEventListener(\"keypress\", function (event) {\r\n if (event.key == \"Enter\") {\r\n event.preventDefault();\r\n swiper.slideTo(index + 1);\r\n }\r\n });\r\n });\r\n });\r\n carousel.on('destroy', function () {\r\n _this.destroyResizeObserver();\r\n });\r\n prevElement.title = (_b = prevElement.ariaLabel) !== null && _b !== void 0 ? _b : strings_1.Strings.defaults.carouselNavigationPreviousTooltip();\r\n nextElement.title = (_c = nextElement.ariaLabel) !== null && _c !== void 0 ? _c : strings_1.Strings.defaults.carouselNavigationNextTooltip();\r\n this._carousel = carousel;\r\n this.createResizeObserver();\r\n };\r\n Carousel.prototype.createCarouselPageInstance = function (source, context) {\r\n return context.parseCardObject(this, source, this.forbiddenChildElements(), !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"CarouselPage\" ? new CarouselPage() : undefined;\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, enums_1.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n Carousel.prototype.slideTo = function (index) {\r\n var _a;\r\n (_a = this._carousel) === null || _a === void 0 ? void 0 : _a.slideTo(index);\r\n };\r\n Object.defineProperty(Carousel.prototype, \"carouselPageContainer\", {\r\n get: function () {\r\n return this._carouselPageContainer;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Carousel.prototype, \"currentIndex\", {\r\n get: function () {\r\n return this._currentIndex;\r\n },\r\n set: function (currentIndex) {\r\n this._currentIndex = currentIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Carousel.prototype.createCarouselEvent = function (type) {\r\n var currentPageId;\r\n if (this.currentPageIndex != undefined) {\r\n currentPageId = this.getItemAt(this.currentPageIndex).id;\r\n }\r\n return new CarouselEvent(type, this.id, currentPageId, this.currentPageIndex);\r\n };\r\n Carousel.prototype.raiseCarouselEvent = function (eventType) {\r\n var card = this.parent ? this.parent.getRootElement() : undefined;\r\n var onCarouselEventHandler = card && card.onCarouselEvent\r\n ? card.onCarouselEvent\r\n : card_elements_1.AdaptiveCard.onCarouselEvent;\r\n // pagination event is triggered on slide transition end event \r\n if (onCarouselEventHandler && eventType == Enums.CarouselInteractionEvent.Pagination) {\r\n // returns the event type that causes slide transition\r\n onCarouselEventHandler(this.createCarouselEvent(this.previousEventType));\r\n }\r\n this.previousEventType = eventType;\r\n };\r\n /// Swiper version 8 added requestAnimationFrame() call in its resize observer code\r\n /// The new call causes flickering issue,\r\n /// We've copied resize observer code from Swiper version 7 with some modifications\r\n Carousel.prototype.createResizeObserver = function () {\r\n var _this = this;\r\n var _a;\r\n if (!this.checkIfCarouselInValidStateForResizeEvent()) {\r\n return;\r\n }\r\n this._observer = new ResizeObserver(function (entries) {\r\n var _a, _b, _c, _d;\r\n var width = (_a = _this._carousel) === null || _a === void 0 ? void 0 : _a.width;\r\n var height = (_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.height;\r\n var newWidth = width;\r\n var newHeight = height;\r\n entries.forEach(function (_a) {\r\n var _b;\r\n var contentBoxSize = _a.contentBoxSize, contentRect = _a.contentRect, target = _a.target;\r\n if (target && target !== ((_b = _this._carousel) === null || _b === void 0 ? void 0 : _b.el)) {\r\n return;\r\n }\r\n newWidth = contentRect\r\n ? contentRect.width\r\n : (contentBoxSize[0] || contentBoxSize).inlineSize;\r\n newHeight = contentRect\r\n ? contentRect.height\r\n : (contentBoxSize[0] || contentBoxSize).blockSize;\r\n });\r\n if (newWidth !== width || newHeight !== height) {\r\n if (_this.checkIfCarouselInValidStateForResizeEvent()) {\r\n (_c = _this._carousel) === null || _c === void 0 ? void 0 : _c.emit('beforeResize');\r\n (_d = _this._carousel) === null || _d === void 0 ? void 0 : _d.emit('resize');\r\n }\r\n }\r\n });\r\n this._observer.observe((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el);\r\n };\r\n Carousel.prototype.destroyResizeObserver = function () {\r\n var _a;\r\n if (this._observer && this._observer.unobserve && ((_a = this._carousel) === null || _a === void 0 ? void 0 : _a.el)) {\r\n this._observer.unobserve(this._carousel.el);\r\n this._observer = null;\r\n }\r\n };\r\n ;\r\n Carousel.prototype.checkIfCarouselInValidStateForResizeEvent = function () {\r\n return this._carousel && !this._carousel.destroyed;\r\n };\r\n Carousel.timerProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"timer\", undefined);\r\n Carousel.initialPageProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_6, \"initialPage\", 0);\r\n Carousel.loopProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_6, \"loop\", true);\r\n Carousel.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_6, \"orientation\", Enums.Orientation, Enums.Orientation.Horizontal);\r\n Carousel.carouselHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_6, \"heightInPixels\");\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.timerProperty)\r\n ], Carousel.prototype, \"timer\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.initialPageProperty)\r\n ], Carousel.prototype, \"initialPageIndex\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.loopProperty)\r\n ], Carousel.prototype, \"carouselLoop\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.orientationProperty)\r\n ], Carousel.prototype, \"carouselOrientation\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Carousel.carouselHeightProperty)\r\n ], Carousel.prototype, \"carouselHeight\", void 0);\r\n return Carousel;\r\n}(card_elements_1.Container));\r\nexports.Carousel = Carousel;\r\nvar CarouselEvent = /** @class */ (function () {\r\n function CarouselEvent(type, carouselId, activeCarouselPageId, activeCarouselPageIndex) {\r\n this.type = type;\r\n this.carouselId = carouselId;\r\n this.activeCarouselPageId = activeCarouselPageId;\r\n this.activeCarouselPageIndex = activeCarouselPageIndex;\r\n }\r\n return CarouselEvent;\r\n}());\r\nexports.CarouselEvent = CarouselEvent;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Carousel\", Carousel, serialization_1.Versions.v1_6);\r\n//# sourceMappingURL=carousel.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ChannelAdapter = void 0;\r\nvar ChannelAdapter = /** @class */ (function () {\r\n function ChannelAdapter() {\r\n }\r\n return ChannelAdapter;\r\n}());\r\nexports.ChannelAdapter = ChannelAdapter;\r\n//# sourceMappingURL=channel-adapter.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Collection = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Collection = /** @class */ (function () {\r\n function Collection() {\r\n this._items = [];\r\n }\r\n Collection.prototype.get = function (index) {\r\n return this._items[index];\r\n };\r\n Collection.prototype.add = function (item) {\r\n this._items.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(item);\r\n }\r\n };\r\n Collection.prototype.remove = function (item) {\r\n var i = this._items.indexOf(item);\r\n if (i >= 0) {\r\n this._items = this._items.splice(i, 1);\r\n if (this.onItemRemoved) {\r\n this.onItemRemoved(item);\r\n }\r\n }\r\n };\r\n Collection.prototype.indexOf = function (item) {\r\n return this._items.indexOf(item);\r\n };\r\n Object.defineProperty(Collection.prototype, \"length\", {\r\n get: function () {\r\n return this._items.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Collection;\r\n}());\r\nexports.Collection = Collection;\r\n//# sourceMappingURL=collection.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Constants = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Constants = /** @class */ (function () {\r\n function Constants() {\r\n }\r\n Constants.keys = {\r\n tab: \"Tab\",\r\n enter: \"Enter\",\r\n escape: \"Escape\",\r\n space: \" \",\r\n up: \"ArrowUp\",\r\n down: \"ArrowDown\",\r\n delete: \"Delete\"\r\n };\r\n return Constants;\r\n}());\r\nexports.Constants = Constants;\r\n//# sourceMappingURL=constants.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Copyright (C) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n__exportStar(require(\"./menu-item\"), exports);\r\n__exportStar(require(\"./popup-menu\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MenuItem = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar host_config_1 = require(\"../host-config\");\r\nvar constants_1 = require(\"./constants\");\r\nvar MenuItem = /** @class */ (function () {\r\n function MenuItem(key, value) {\r\n this._isEnabled = true;\r\n this.key = key;\r\n this._value = value;\r\n }\r\n MenuItem.prototype.click = function () {\r\n if (this.isEnabled && this.onClick) {\r\n this.onClick(this);\r\n }\r\n };\r\n MenuItem.prototype.updateCssClasses = function () {\r\n if (this._element) {\r\n var effectiveHostConfig = this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n this._element.className = effectiveHostConfig.makeCssClassName(\"ac-ctrl\");\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(this.isEnabled ? \"ac-ctrl-dropdown-item\" : \"ac-ctrl-dropdown-item-disabled\"));\r\n if (!this.isEnabled) {\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(\"ac-disabled\"));\r\n }\r\n }\r\n };\r\n MenuItem.prototype.toString = function () {\r\n return this.value;\r\n };\r\n MenuItem.prototype.render = function (hostConfig) {\r\n var _this = this;\r\n this._hostConfig = hostConfig;\r\n if (!this._element) {\r\n this._element = document.createElement(\"span\");\r\n this._element.innerText = this.value;\r\n this._element.setAttribute(\"role\", \"menuitem\");\r\n if (!this.isEnabled) {\r\n this._element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n this._element.setAttribute(\"aria-current\", \"false\");\r\n this._element.onmouseup = function (_e) {\r\n _this.click();\r\n };\r\n this._element.onkeydown = function (e) {\r\n if (e.key === constants_1.Constants.keys.enter) {\r\n e.stopPropagation();\r\n e.preventDefault();\r\n _this.click();\r\n }\r\n };\r\n this.updateCssClasses();\r\n }\r\n return this._element;\r\n };\r\n Object.defineProperty(MenuItem.prototype, \"value\", {\r\n get: function () {\r\n return this._value;\r\n },\r\n set: function (newValue) {\r\n this._value = newValue;\r\n if (this._element) {\r\n this._element.innerText = newValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MenuItem.prototype, \"isEnabled\", {\r\n get: function () {\r\n return this._isEnabled;\r\n },\r\n set: function (value) {\r\n if (this._isEnabled !== value) {\r\n this._isEnabled = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MenuItem;\r\n}());\r\nexports.MenuItem = MenuItem;\r\n//# sourceMappingURL=menu-item.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupControl = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar Utils = require(\"../utils\");\r\nvar host_config_1 = require(\"../host-config\");\r\nvar PopupControl = /** @class */ (function () {\r\n function PopupControl() {\r\n this._isOpen = false;\r\n }\r\n PopupControl.prototype.keyDown = function (e) {\r\n switch (e.key) {\r\n case constants_1.Constants.keys.escape:\r\n this.closePopup(true);\r\n break;\r\n }\r\n };\r\n PopupControl.prototype.render = function (_rootElementBounds) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.tabIndex = 0;\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl\", \"ac-ctrl-popup-container\");\r\n element.setAttribute(\"role\", \"dialog\");\r\n element.setAttribute(\"aria-modal\", \"true\");\r\n element.onkeydown = function (e) {\r\n _this.keyDown(e);\r\n return !e.cancelBubble;\r\n };\r\n element.appendChild(this.renderContent());\r\n return element;\r\n };\r\n PopupControl.prototype.focus = function () {\r\n if (this._popupElement) {\r\n this._popupElement.firstElementChild.focus();\r\n }\r\n };\r\n PopupControl.prototype.popup = function (rootElement) {\r\n var _a, _b, _c, _d, _f;\r\n var _this = this;\r\n if (!this._isOpen) {\r\n this._overlayElement = document.createElement(\"div\");\r\n this._overlayElement.className = this.hostConfig.makeCssClassName(\"ac-ctrl-overlay\");\r\n this._overlayElement.tabIndex = 0;\r\n this._overlayElement.style.width = document.documentElement.scrollWidth + \"px\";\r\n this._overlayElement.style.height = document.documentElement.scrollHeight + \"px\";\r\n this._overlayElement.onfocus = function (_e) {\r\n _this.closePopup(true);\r\n };\r\n document.body.appendChild(this._overlayElement);\r\n var rootElementBounds = rootElement.getBoundingClientRect();\r\n this._popupElement = this.render(rootElementBounds);\r\n (_a = this._popupElement.classList).remove.apply(_a, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\", \"ac-ctrl-slideRightToLeft\", \"ac-ctrl-slideTopToBottom\", \"ac-ctrl-slideRightToLeft\"));\r\n window.addEventListener(\"resize\", function (_e) {\r\n _this.closePopup(true);\r\n });\r\n var rootElementLabel = rootElement.getAttribute(\"aria-label\");\r\n if (rootElementLabel) {\r\n this._popupElement.setAttribute(\"aria-label\", rootElementLabel);\r\n }\r\n this._overlayElement.appendChild(this._popupElement);\r\n var popupElementBounds = this._popupElement.getBoundingClientRect();\r\n var availableSpaceBelow = window.innerHeight - rootElementBounds.bottom;\r\n var availableSpaceAbove = rootElementBounds.top;\r\n var availableSpaceRight = window.innerWidth - rootElementBounds.right;\r\n var availableSpaceLeft = rootElementBounds.left;\r\n var left = rootElementBounds.left + Utils.getScrollX();\r\n var top_1;\r\n if (availableSpaceAbove < popupElementBounds.height &&\r\n availableSpaceBelow < popupElementBounds.height) {\r\n // Not enough space above or below root element\r\n var actualPopupHeight = Math.min(popupElementBounds.height, window.innerHeight);\r\n this._popupElement.style.maxHeight = actualPopupHeight + \"px\";\r\n if (actualPopupHeight < popupElementBounds.height) {\r\n top_1 = Utils.getScrollY();\r\n }\r\n else {\r\n top_1 =\r\n Utils.getScrollY() +\r\n rootElementBounds.top +\r\n (rootElementBounds.height - actualPopupHeight) / 2;\r\n }\r\n if (availableSpaceLeft < popupElementBounds.width &&\r\n availableSpaceRight < popupElementBounds.width) {\r\n // Not enough space left or right of root element\r\n var actualPopupWidth = Math.min(popupElementBounds.width, window.innerWidth);\r\n this._popupElement.style.maxWidth = actualPopupWidth + \"px\";\r\n if (actualPopupWidth < popupElementBounds.width) {\r\n left = Utils.getScrollX();\r\n }\r\n else {\r\n left =\r\n Utils.getScrollX() +\r\n rootElementBounds.left +\r\n (rootElementBounds.width - actualPopupWidth) / 2;\r\n }\r\n }\r\n else {\r\n // Enough space on the left or right of the root element\r\n if (availableSpaceRight >= popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right;\r\n (_b = this._popupElement.classList).add.apply(_b, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\"));\r\n }\r\n else {\r\n left =\r\n Utils.getScrollX() + rootElementBounds.left - popupElementBounds.width;\r\n (_c = this._popupElement.classList).add.apply(_c, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideRightToLeft\"));\r\n }\r\n }\r\n }\r\n else {\r\n // Enough space above or below root element\r\n if (availableSpaceBelow >= popupElementBounds.height) {\r\n top_1 = Utils.getScrollY() + rootElementBounds.bottom;\r\n (_d = this._popupElement.classList).add.apply(_d, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideTopToBottom\"));\r\n }\r\n else {\r\n top_1 = Utils.getScrollY() + rootElementBounds.top - popupElementBounds.height;\r\n (_f = this._popupElement.classList).add.apply(_f, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideBottomToTop\"));\r\n }\r\n if (availableSpaceRight < popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right - popupElementBounds.width;\r\n }\r\n }\r\n this._popupElement.style.left = left + \"px\";\r\n this._popupElement.style.top = top_1 + \"px\";\r\n this._popupElement.focus();\r\n this._isOpen = true;\r\n }\r\n };\r\n PopupControl.prototype.closePopup = function (wasCancelled) {\r\n if (this._isOpen) {\r\n document.body.removeChild(this._overlayElement);\r\n this._isOpen = false;\r\n if (this.onClose) {\r\n this.onClose(this, wasCancelled);\r\n }\r\n }\r\n };\r\n Object.defineProperty(PopupControl.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupControl.prototype, \"isOpen\", {\r\n get: function () {\r\n return this._isOpen;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return PopupControl;\r\n}());\r\nexports.PopupControl = PopupControl;\r\n//# sourceMappingURL=popup-control.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupMenu = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar collection_1 = require(\"./collection\");\r\nvar popup_control_1 = require(\"./popup-control\");\r\nvar PopupMenu = /** @class */ (function (_super) {\r\n __extends(PopupMenu, _super);\r\n function PopupMenu() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._items = new collection_1.Collection();\r\n _this._renderedItems = [];\r\n _this._selectedIndex = -1;\r\n return _this;\r\n }\r\n PopupMenu.prototype.renderContent = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl ac-popup\");\r\n element.setAttribute(\"role\", \"listbox\");\r\n for (var i = 0; i < this._items.length; i++) {\r\n var renderedItem = this._items.get(i).render(this.hostConfig);\r\n renderedItem.tabIndex = 0;\r\n element.appendChild(renderedItem);\r\n if (i == 0) {\r\n renderedItem.setAttribute(\"aria-expanded\", \"true\");\r\n }\r\n if (i === this.selectedIndex) {\r\n renderedItem.focus();\r\n }\r\n this._renderedItems.push(renderedItem);\r\n }\r\n return element;\r\n };\r\n PopupMenu.prototype.keyDown = function (e) {\r\n _super.prototype.keyDown.call(this, e);\r\n var selectedItemIndex = this._selectedIndex;\r\n switch (e.key) {\r\n case constants_1.Constants.keys.tab:\r\n this.closePopup(true);\r\n break;\r\n /*\r\n case Constants.keys.enter:\r\n if (this.selectedIndex >= 0) {\r\n this.selectedIndex = this.selectedIndex;\r\n\r\n this.close();\r\n }\r\n\r\n break;\r\n */\r\n case constants_1.Constants.keys.up:\r\n if (selectedItemIndex <= 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n else {\r\n selectedItemIndex--;\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n this.removeAriaExpanded(selectedItemIndex);\r\n e.cancelBubble = true;\r\n break;\r\n case constants_1.Constants.keys.down:\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = 0;\r\n }\r\n else {\r\n selectedItemIndex++;\r\n if (selectedItemIndex >= this._renderedItems.length) {\r\n selectedItemIndex = 0;\r\n }\r\n this.removeAriaExpanded(selectedItemIndex);\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n e.cancelBubble = true;\r\n break;\r\n }\r\n };\r\n Object.defineProperty(PopupMenu.prototype, \"items\", {\r\n get: function () {\r\n return this._items;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupMenu.prototype, \"selectedIndex\", {\r\n get: function () {\r\n return this._selectedIndex;\r\n },\r\n set: function (index) {\r\n if (index >= 0 && index < this._renderedItems.length) {\r\n this._renderedItems[index].focus();\r\n this._selectedIndex = index;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // remove aria-expanded attribute from menu item\r\n PopupMenu.prototype.removeAriaExpanded = function (index) {\r\n if (this._renderedItems[index].getAttribute(\"aria-expanded\") === \"true\") {\r\n this._renderedItems[index].removeAttribute(\"aria-expanded\");\r\n }\r\n };\r\n return PopupMenu;\r\n}(popup_control_1.PopupControl));\r\nexports.PopupMenu = PopupMenu;\r\n//# sourceMappingURL=popup-menu.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ActionRole = exports.CarouselInteractionEvent = exports.LogLevel = exports.RefreshMode = exports.TypeErrorType = exports.ContainerFitStatus = exports.ValidationEvent = exports.ValidationPhase = exports.InputLabelPosition = exports.InputTextStyle = exports.ActionIconPlacement = exports.FillMode = exports.Orientation = exports.ShowCardActionMode = exports.ImageStyle = exports.ActionAlignment = exports.VerticalAlignment = exports.HorizontalAlignment = exports.TextColor = exports.Spacing = exports.FontType = exports.TextWeight = exports.InputStyle = exports.TextSize = exports.SizeUnit = exports.ImageSetPresentationStyle = exports.ImageSize = exports.Size = exports.ActionMode = exports.ActionStyle = exports.ContainerStyle = void 0;\r\n/*\r\n This should really be a string enum, e.g.\r\n\r\n export enum ContainerStyle {\r\n Default = \"default\",\r\n Emphasis = \"emphasis\"\r\n }\r\n\r\n However, some hosts do not use a version of TypeScript\r\n recent enough to understand string enums. This is\r\n a compatible construct that does not require using\r\n a more recent version of TypeScript.\r\n\r\n Also note the \"weird\" way these readonly fields are declared is to work around\r\n a breaking change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n and adopt this syntax for all other static readonly fields.\r\n*/\r\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\r\nvar ContainerStyle = /** @class */ (function () {\r\n function ContainerStyle() {\r\n }\r\n ContainerStyle.Default = \"default\";\r\n ContainerStyle.Emphasis = \"emphasis\";\r\n ContainerStyle.Accent = \"accent\";\r\n ContainerStyle.Good = \"good\";\r\n ContainerStyle.Attention = \"attention\";\r\n ContainerStyle.Warning = \"warning\";\r\n return ContainerStyle;\r\n}());\r\nexports.ContainerStyle = ContainerStyle;\r\nvar ActionStyle = /** @class */ (function () {\r\n function ActionStyle() {\r\n }\r\n ActionStyle.Default = \"default\";\r\n ActionStyle.Positive = \"positive\";\r\n ActionStyle.Destructive = \"destructive\";\r\n return ActionStyle;\r\n}());\r\nexports.ActionStyle = ActionStyle;\r\nvar ActionMode = /** @class */ (function () {\r\n function ActionMode() {\r\n }\r\n ActionMode.Primary = \"primary\";\r\n ActionMode.Secondary = \"secondary\";\r\n return ActionMode;\r\n}());\r\nexports.ActionMode = ActionMode;\r\n/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention */\r\nvar Size;\r\n(function (Size) {\r\n Size[Size[\"Auto\"] = 0] = \"Auto\";\r\n Size[Size[\"Stretch\"] = 1] = \"Stretch\";\r\n Size[Size[\"Small\"] = 2] = \"Small\";\r\n Size[Size[\"Medium\"] = 3] = \"Medium\";\r\n Size[Size[\"Large\"] = 4] = \"Large\";\r\n})(Size = exports.Size || (exports.Size = {}));\r\nvar ImageSize;\r\n(function (ImageSize) {\r\n ImageSize[ImageSize[\"Small\"] = 0] = \"Small\";\r\n ImageSize[ImageSize[\"Medium\"] = 1] = \"Medium\";\r\n ImageSize[ImageSize[\"Large\"] = 2] = \"Large\";\r\n})(ImageSize = exports.ImageSize || (exports.ImageSize = {}));\r\nvar ImageSetPresentationStyle;\r\n(function (ImageSetPresentationStyle) {\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Default\"] = 0] = \"Default\";\r\n ImageSetPresentationStyle[ImageSetPresentationStyle[\"Stacked\"] = 1] = \"Stacked\";\r\n})(ImageSetPresentationStyle = exports.ImageSetPresentationStyle || (exports.ImageSetPresentationStyle = {}));\r\nvar SizeUnit;\r\n(function (SizeUnit) {\r\n SizeUnit[SizeUnit[\"Weight\"] = 0] = \"Weight\";\r\n SizeUnit[SizeUnit[\"Pixel\"] = 1] = \"Pixel\";\r\n})(SizeUnit = exports.SizeUnit || (exports.SizeUnit = {}));\r\nvar TextSize;\r\n(function (TextSize) {\r\n TextSize[TextSize[\"Small\"] = 0] = \"Small\";\r\n TextSize[TextSize[\"Default\"] = 1] = \"Default\";\r\n TextSize[TextSize[\"Medium\"] = 2] = \"Medium\";\r\n TextSize[TextSize[\"Large\"] = 3] = \"Large\";\r\n TextSize[TextSize[\"ExtraLarge\"] = 4] = \"ExtraLarge\";\r\n})(TextSize = exports.TextSize || (exports.TextSize = {}));\r\nvar InputStyle;\r\n(function (InputStyle) {\r\n InputStyle[InputStyle[\"RevealOnHover\"] = 0] = \"RevealOnHover\";\r\n InputStyle[InputStyle[\"Default\"] = 1] = \"Default\";\r\n})(InputStyle = exports.InputStyle || (exports.InputStyle = {}));\r\nvar TextWeight;\r\n(function (TextWeight) {\r\n TextWeight[TextWeight[\"Lighter\"] = 0] = \"Lighter\";\r\n TextWeight[TextWeight[\"Default\"] = 1] = \"Default\";\r\n TextWeight[TextWeight[\"Bolder\"] = 2] = \"Bolder\";\r\n})(TextWeight = exports.TextWeight || (exports.TextWeight = {}));\r\nvar FontType;\r\n(function (FontType) {\r\n FontType[FontType[\"Default\"] = 0] = \"Default\";\r\n FontType[FontType[\"Monospace\"] = 1] = \"Monospace\";\r\n})(FontType = exports.FontType || (exports.FontType = {}));\r\nvar Spacing;\r\n(function (Spacing) {\r\n Spacing[Spacing[\"None\"] = 0] = \"None\";\r\n Spacing[Spacing[\"Small\"] = 1] = \"Small\";\r\n Spacing[Spacing[\"Default\"] = 2] = \"Default\";\r\n Spacing[Spacing[\"Medium\"] = 3] = \"Medium\";\r\n Spacing[Spacing[\"Large\"] = 4] = \"Large\";\r\n Spacing[Spacing[\"ExtraLarge\"] = 5] = \"ExtraLarge\";\r\n Spacing[Spacing[\"Padding\"] = 6] = \"Padding\";\r\n})(Spacing = exports.Spacing || (exports.Spacing = {}));\r\nvar TextColor;\r\n(function (TextColor) {\r\n TextColor[TextColor[\"Default\"] = 0] = \"Default\";\r\n TextColor[TextColor[\"Dark\"] = 1] = \"Dark\";\r\n TextColor[TextColor[\"Light\"] = 2] = \"Light\";\r\n TextColor[TextColor[\"Accent\"] = 3] = \"Accent\";\r\n TextColor[TextColor[\"Good\"] = 4] = \"Good\";\r\n TextColor[TextColor[\"Warning\"] = 5] = \"Warning\";\r\n TextColor[TextColor[\"Attention\"] = 6] = \"Attention\";\r\n})(TextColor = exports.TextColor || (exports.TextColor = {}));\r\nvar HorizontalAlignment;\r\n(function (HorizontalAlignment) {\r\n HorizontalAlignment[HorizontalAlignment[\"Left\"] = 0] = \"Left\";\r\n HorizontalAlignment[HorizontalAlignment[\"Center\"] = 1] = \"Center\";\r\n HorizontalAlignment[HorizontalAlignment[\"Right\"] = 2] = \"Right\";\r\n})(HorizontalAlignment = exports.HorizontalAlignment || (exports.HorizontalAlignment = {}));\r\nvar VerticalAlignment;\r\n(function (VerticalAlignment) {\r\n VerticalAlignment[VerticalAlignment[\"Top\"] = 0] = \"Top\";\r\n VerticalAlignment[VerticalAlignment[\"Center\"] = 1] = \"Center\";\r\n VerticalAlignment[VerticalAlignment[\"Bottom\"] = 2] = \"Bottom\";\r\n})(VerticalAlignment = exports.VerticalAlignment || (exports.VerticalAlignment = {}));\r\nvar ActionAlignment;\r\n(function (ActionAlignment) {\r\n ActionAlignment[ActionAlignment[\"Left\"] = 0] = \"Left\";\r\n ActionAlignment[ActionAlignment[\"Center\"] = 1] = \"Center\";\r\n ActionAlignment[ActionAlignment[\"Right\"] = 2] = \"Right\";\r\n ActionAlignment[ActionAlignment[\"Stretch\"] = 3] = \"Stretch\";\r\n})(ActionAlignment = exports.ActionAlignment || (exports.ActionAlignment = {}));\r\nvar ImageStyle;\r\n(function (ImageStyle) {\r\n ImageStyle[ImageStyle[\"Default\"] = 0] = \"Default\";\r\n ImageStyle[ImageStyle[\"Person\"] = 1] = \"Person\";\r\n})(ImageStyle = exports.ImageStyle || (exports.ImageStyle = {}));\r\nvar ShowCardActionMode;\r\n(function (ShowCardActionMode) {\r\n ShowCardActionMode[ShowCardActionMode[\"Inline\"] = 0] = \"Inline\";\r\n ShowCardActionMode[ShowCardActionMode[\"Popup\"] = 1] = \"Popup\";\r\n})(ShowCardActionMode = exports.ShowCardActionMode || (exports.ShowCardActionMode = {}));\r\nvar Orientation;\r\n(function (Orientation) {\r\n Orientation[Orientation[\"Horizontal\"] = 0] = \"Horizontal\";\r\n Orientation[Orientation[\"Vertical\"] = 1] = \"Vertical\";\r\n})(Orientation = exports.Orientation || (exports.Orientation = {}));\r\nvar FillMode;\r\n(function (FillMode) {\r\n FillMode[FillMode[\"Cover\"] = 0] = \"Cover\";\r\n FillMode[FillMode[\"RepeatHorizontally\"] = 1] = \"RepeatHorizontally\";\r\n FillMode[FillMode[\"RepeatVertically\"] = 2] = \"RepeatVertically\";\r\n FillMode[FillMode[\"Repeat\"] = 3] = \"Repeat\";\r\n})(FillMode = exports.FillMode || (exports.FillMode = {}));\r\nvar ActionIconPlacement;\r\n(function (ActionIconPlacement) {\r\n ActionIconPlacement[ActionIconPlacement[\"LeftOfTitle\"] = 0] = \"LeftOfTitle\";\r\n ActionIconPlacement[ActionIconPlacement[\"AboveTitle\"] = 1] = \"AboveTitle\";\r\n})(ActionIconPlacement = exports.ActionIconPlacement || (exports.ActionIconPlacement = {}));\r\nvar InputTextStyle;\r\n(function (InputTextStyle) {\r\n InputTextStyle[InputTextStyle[\"Text\"] = 0] = \"Text\";\r\n InputTextStyle[InputTextStyle[\"Tel\"] = 1] = \"Tel\";\r\n InputTextStyle[InputTextStyle[\"Url\"] = 2] = \"Url\";\r\n InputTextStyle[InputTextStyle[\"Email\"] = 3] = \"Email\";\r\n InputTextStyle[InputTextStyle[\"Password\"] = 4] = \"Password\";\r\n})(InputTextStyle = exports.InputTextStyle || (exports.InputTextStyle = {}));\r\nvar InputLabelPosition;\r\n(function (InputLabelPosition) {\r\n InputLabelPosition[InputLabelPosition[\"Inline\"] = 0] = \"Inline\";\r\n InputLabelPosition[InputLabelPosition[\"Above\"] = 1] = \"Above\";\r\n})(InputLabelPosition = exports.InputLabelPosition || (exports.InputLabelPosition = {}));\r\nvar ValidationPhase;\r\n(function (ValidationPhase) {\r\n ValidationPhase[ValidationPhase[\"Parse\"] = 0] = \"Parse\";\r\n ValidationPhase[ValidationPhase[\"ToJSON\"] = 1] = \"ToJSON\";\r\n ValidationPhase[ValidationPhase[\"Validation\"] = 2] = \"Validation\";\r\n})(ValidationPhase = exports.ValidationPhase || (exports.ValidationPhase = {}));\r\nvar ValidationEvent;\r\n(function (ValidationEvent) {\r\n ValidationEvent[ValidationEvent[\"Hint\"] = 0] = \"Hint\";\r\n ValidationEvent[ValidationEvent[\"ActionTypeNotAllowed\"] = 1] = \"ActionTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"CollectionCantBeEmpty\"] = 2] = \"CollectionCantBeEmpty\";\r\n ValidationEvent[ValidationEvent[\"Deprecated\"] = 3] = \"Deprecated\";\r\n ValidationEvent[ValidationEvent[\"ElementTypeNotAllowed\"] = 4] = \"ElementTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InteractivityNotAllowed\"] = 5] = \"InteractivityNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InvalidPropertyValue\"] = 6] = \"InvalidPropertyValue\";\r\n ValidationEvent[ValidationEvent[\"MissingCardType\"] = 7] = \"MissingCardType\";\r\n ValidationEvent[ValidationEvent[\"PropertyCantBeNull\"] = 8] = \"PropertyCantBeNull\";\r\n ValidationEvent[ValidationEvent[\"TooManyActions\"] = 9] = \"TooManyActions\";\r\n ValidationEvent[ValidationEvent[\"UnknownActionType\"] = 10] = \"UnknownActionType\";\r\n ValidationEvent[ValidationEvent[\"UnknownElementType\"] = 11] = \"UnknownElementType\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedCardVersion\"] = 12] = \"UnsupportedCardVersion\";\r\n ValidationEvent[ValidationEvent[\"DuplicateId\"] = 13] = \"DuplicateId\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedProperty\"] = 14] = \"UnsupportedProperty\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveLabel\"] = 15] = \"RequiredInputsShouldHaveLabel\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveErrorMessage\"] = 16] = \"RequiredInputsShouldHaveErrorMessage\";\r\n ValidationEvent[ValidationEvent[\"Other\"] = 17] = \"Other\";\r\n})(ValidationEvent = exports.ValidationEvent || (exports.ValidationEvent = {}));\r\nvar ContainerFitStatus;\r\n(function (ContainerFitStatus) {\r\n ContainerFitStatus[ContainerFitStatus[\"FullyInContainer\"] = 0] = \"FullyInContainer\";\r\n ContainerFitStatus[ContainerFitStatus[\"Overflowing\"] = 1] = \"Overflowing\";\r\n ContainerFitStatus[ContainerFitStatus[\"FullyOutOfContainer\"] = 2] = \"FullyOutOfContainer\";\r\n})(ContainerFitStatus = exports.ContainerFitStatus || (exports.ContainerFitStatus = {}));\r\nvar TypeErrorType;\r\n(function (TypeErrorType) {\r\n TypeErrorType[TypeErrorType[\"UnknownType\"] = 0] = \"UnknownType\";\r\n TypeErrorType[TypeErrorType[\"ForbiddenType\"] = 1] = \"ForbiddenType\";\r\n})(TypeErrorType = exports.TypeErrorType || (exports.TypeErrorType = {}));\r\nvar RefreshMode;\r\n(function (RefreshMode) {\r\n RefreshMode[RefreshMode[\"Disabled\"] = 0] = \"Disabled\";\r\n RefreshMode[RefreshMode[\"Manual\"] = 1] = \"Manual\";\r\n RefreshMode[RefreshMode[\"Automatic\"] = 2] = \"Automatic\";\r\n})(RefreshMode = exports.RefreshMode || (exports.RefreshMode = {}));\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Info\"] = 0] = \"Info\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Error\"] = 2] = \"Error\";\r\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\r\nvar CarouselInteractionEvent;\r\n(function (CarouselInteractionEvent) {\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationNext\"] = 0] = \"NavigationNext\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"NavigationPrevious\"] = 1] = \"NavigationPrevious\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Pagination\"] = 2] = \"Pagination\";\r\n CarouselInteractionEvent[CarouselInteractionEvent[\"Autoplay\"] = 3] = \"Autoplay\";\r\n})(CarouselInteractionEvent = exports.CarouselInteractionEvent || (exports.CarouselInteractionEvent = {}));\r\nvar ActionRole;\r\n(function (ActionRole) {\r\n ActionRole[ActionRole[\"Button\"] = 0] = \"Button\";\r\n ActionRole[ActionRole[\"Link\"] = 1] = \"Link\";\r\n ActionRole[ActionRole[\"Tab\"] = 2] = \"Tab\";\r\n ActionRole[ActionRole[\"Menu\"] = 3] = \"Menu\";\r\n ActionRole[ActionRole[\"MenuItem\"] = 4] = \"MenuItem\";\r\n})(ActionRole = exports.ActionRole || (exports.ActionRole = {}));\r\n//# sourceMappingURL=enums.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.HostCapabilities = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar serialization_1 = require(\"./serialization\");\r\nvar HostCapabilities = /** @class */ (function (_super) {\r\n __extends(HostCapabilities, _super);\r\n function HostCapabilities() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._capabilities = {};\r\n return _this;\r\n }\r\n HostCapabilities.prototype.getSchemaKey = function () {\r\n return \"HostCapabilities\";\r\n };\r\n HostCapabilities.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n if (source) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var name_1 in source) {\r\n var jsonVersion = source[name_1];\r\n if (typeof jsonVersion === \"string\") {\r\n if (jsonVersion === \"*\") {\r\n this.addCapability(name_1, \"*\");\r\n }\r\n else {\r\n var version = serialization_1.Version.parse(jsonVersion, context);\r\n if (version === null || version === void 0 ? void 0 : version.isValid) {\r\n this.addCapability(name_1, version);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n HostCapabilities.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in this._capabilities) {\r\n target[key] = this._capabilities[key];\r\n }\r\n };\r\n HostCapabilities.prototype.addCapability = function (name, version) {\r\n this._capabilities[name] = version;\r\n };\r\n HostCapabilities.prototype.removeCapability = function (name) {\r\n delete this._capabilities[name];\r\n };\r\n HostCapabilities.prototype.clear = function () {\r\n this._capabilities = {};\r\n };\r\n HostCapabilities.prototype.hasCapability = function (name, version) {\r\n if (this._capabilities.hasOwnProperty(name)) {\r\n if (version === \"*\" || this._capabilities[name] === \"*\") {\r\n return true;\r\n }\r\n return version.compareTo(this._capabilities[name]) <= 0;\r\n }\r\n return false;\r\n };\r\n HostCapabilities.prototype.areAllMet = function (hostCapabilities) {\r\n for (var capabilityName in this._capabilities) {\r\n if (!hostCapabilities.hasCapability(capabilityName, this._capabilities[capabilityName])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return HostCapabilities;\r\n}(serialization_1.SerializableObject));\r\nexports.HostCapabilities = HostCapabilities;\r\n//# sourceMappingURL=host-capabilities.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultHostConfig = exports.HostConfig = exports.CarouselConfig = exports.FontTypeSet = exports.FontTypeDefinition = exports.ContainerStyleSet = exports.ContainerStyleDefinition = exports.ColorSetDefinition = exports.ActionsConfig = exports.ShowCardActionConfig = exports.FactSetConfig = exports.FactTitleDefinition = exports.FactTextDefinition = exports.InputConfig = exports.InputLabelConfig = exports.RequiredInputLabelTextDefinition = exports.TextBlockConfig = exports.TextStyleSet = exports.TextStyleDefinition = exports.BaseTextDefinition = exports.TableConfig = exports.MediaConfig = exports.ImageSetConfig = exports.AdaptiveCardConfig = exports.TextColorDefinition = exports.ColorDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar Shared = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nfunction parseHostConfigEnum(targetEnum, value, defaultValue) {\r\n if (typeof value === \"string\") {\r\n var parsedValue = Utils.parseEnum(targetEnum, value, defaultValue);\r\n return parsedValue !== undefined ? parsedValue : defaultValue;\r\n }\r\n else if (typeof value === \"number\") {\r\n return value;\r\n }\r\n else {\r\n return defaultValue;\r\n }\r\n}\r\nvar ColorDefinition = /** @class */ (function () {\r\n function ColorDefinition(defaultColor, subtleColor) {\r\n this.default = \"#000000\";\r\n this.subtle = \"#666666\";\r\n if (defaultColor) {\r\n this.default = defaultColor;\r\n }\r\n if (subtleColor) {\r\n this.subtle = subtleColor;\r\n }\r\n }\r\n ColorDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.default = obj[\"default\"] || this.default;\r\n this.subtle = obj[\"subtle\"] || this.subtle;\r\n }\r\n };\r\n return ColorDefinition;\r\n}());\r\nexports.ColorDefinition = ColorDefinition;\r\nvar TextColorDefinition = /** @class */ (function (_super) {\r\n __extends(TextColorDefinition, _super);\r\n function TextColorDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.highlightColors = new ColorDefinition(\"#22000000\", \"#11000000\");\r\n return _this;\r\n }\r\n TextColorDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.highlightColors.parse(obj[\"highlightColors\"]);\r\n }\r\n };\r\n return TextColorDefinition;\r\n}(ColorDefinition));\r\nexports.TextColorDefinition = TextColorDefinition;\r\nvar AdaptiveCardConfig = /** @class */ (function () {\r\n function AdaptiveCardConfig(obj) {\r\n this.allowCustomStyle = false;\r\n if (obj) {\r\n this.allowCustomStyle = obj[\"allowCustomStyle\"] || this.allowCustomStyle;\r\n }\r\n }\r\n return AdaptiveCardConfig;\r\n}());\r\nexports.AdaptiveCardConfig = AdaptiveCardConfig;\r\nvar ImageSetConfig = /** @class */ (function () {\r\n function ImageSetConfig(obj) {\r\n this.imageSize = Enums.Size.Medium;\r\n this.maxImageHeight = 100;\r\n if (obj) {\r\n this.imageSize = obj[\"imageSize\"] != null ? obj[\"imageSize\"] : this.imageSize;\r\n this.maxImageHeight = Utils.parseNumber(obj[\"maxImageHeight\"], 100);\r\n }\r\n }\r\n ImageSetConfig.prototype.toJSON = function () {\r\n return {\r\n imageSize: Enums.Size[this.imageSize],\r\n maxImageHeight: this.maxImageHeight\r\n };\r\n };\r\n return ImageSetConfig;\r\n}());\r\nexports.ImageSetConfig = ImageSetConfig;\r\nvar MediaConfig = /** @class */ (function () {\r\n function MediaConfig(obj) {\r\n this.allowInlinePlayback = true;\r\n if (obj) {\r\n this.defaultPoster = obj[\"defaultPoster\"];\r\n this.allowInlinePlayback = obj[\"allowInlinePlayback\"] || this.allowInlinePlayback;\r\n }\r\n }\r\n MediaConfig.prototype.toJSON = function () {\r\n return {\r\n defaultPoster: this.defaultPoster,\r\n allowInlinePlayback: this.allowInlinePlayback\r\n };\r\n };\r\n return MediaConfig;\r\n}());\r\nexports.MediaConfig = MediaConfig;\r\nvar TableConfig = /** @class */ (function () {\r\n function TableConfig(obj) {\r\n this.cellSpacing = 8;\r\n if (obj) {\r\n this.cellSpacing =\r\n obj.cellSpacing && typeof obj.cellSpacing === \"number\"\r\n ? obj.cellSpacing\r\n : this.cellSpacing;\r\n }\r\n }\r\n TableConfig.prototype.toJSON = function () {\r\n return {\r\n cellSpacing: this.cellSpacing\r\n };\r\n };\r\n return TableConfig;\r\n}());\r\nexports.TableConfig = TableConfig;\r\nvar BaseTextDefinition = /** @class */ (function () {\r\n function BaseTextDefinition(obj) {\r\n this.size = Enums.TextSize.Default;\r\n this.color = Enums.TextColor.Default;\r\n this.isSubtle = false;\r\n this.weight = Enums.TextWeight.Default;\r\n this.parse(obj);\r\n }\r\n BaseTextDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.size = parseHostConfigEnum(Enums.TextSize, obj[\"size\"], this.size);\r\n this.color = parseHostConfigEnum(Enums.TextColor, obj[\"color\"], this.color);\r\n this.isSubtle =\r\n obj.isSubtle !== undefined && typeof obj.isSubtle === \"boolean\"\r\n ? obj.isSubtle\r\n : this.isSubtle;\r\n this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], this.getDefaultWeight());\r\n }\r\n };\r\n BaseTextDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Default;\r\n };\r\n BaseTextDefinition.prototype.toJSON = function () {\r\n return {\r\n size: Enums.TextSize[this.size],\r\n color: Enums.TextColor[this.color],\r\n isSubtle: this.isSubtle,\r\n weight: Enums.TextWeight[this.weight]\r\n };\r\n };\r\n return BaseTextDefinition;\r\n}());\r\nexports.BaseTextDefinition = BaseTextDefinition;\r\nvar TextStyleDefinition = /** @class */ (function (_super) {\r\n __extends(TextStyleDefinition, _super);\r\n function TextStyleDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.fontType = Enums.FontType.Default;\r\n return _this;\r\n }\r\n TextStyleDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.fontType = parseHostConfigEnum(Enums.FontType, obj.fontType, this.fontType);\r\n }\r\n };\r\n return TextStyleDefinition;\r\n}(BaseTextDefinition));\r\nexports.TextStyleDefinition = TextStyleDefinition;\r\nvar TextStyleSet = /** @class */ (function () {\r\n function TextStyleSet(obj) {\r\n this.default = new TextStyleDefinition();\r\n this.heading = new TextStyleDefinition({\r\n size: \"Large\",\r\n weight: \"Bolder\"\r\n });\r\n this.columnHeader = new TextStyleDefinition({\r\n weight: \"Bolder\"\r\n });\r\n if (obj) {\r\n this.heading.parse(obj.heading);\r\n this.columnHeader.parse(obj.columnHeader);\r\n }\r\n }\r\n TextStyleSet.prototype.getStyleByName = function (name) {\r\n switch (name.toLowerCase()) {\r\n case \"heading\":\r\n return this.heading;\r\n case \"columnHeader\":\r\n return this.columnHeader;\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return TextStyleSet;\r\n}());\r\nexports.TextStyleSet = TextStyleSet;\r\nvar TextBlockConfig = /** @class */ (function () {\r\n function TextBlockConfig(obj) {\r\n if (obj) {\r\n this.headingLevel = Utils.parseNumber(obj.headingLevel);\r\n }\r\n }\r\n return TextBlockConfig;\r\n}());\r\nexports.TextBlockConfig = TextBlockConfig;\r\nvar RequiredInputLabelTextDefinition = /** @class */ (function (_super) {\r\n __extends(RequiredInputLabelTextDefinition, _super);\r\n function RequiredInputLabelTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suffix = \" *\";\r\n _this.suffixColor = Enums.TextColor.Attention;\r\n return _this;\r\n }\r\n RequiredInputLabelTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.suffix = obj[\"suffix\"] || this.suffix;\r\n this.suffixColor = parseHostConfigEnum(Enums.TextColor, obj[\"suffixColor\"], this.suffixColor);\r\n }\r\n };\r\n RequiredInputLabelTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"suffix\"] = this.suffix;\r\n result[\"suffixColor\"] = Enums.TextColor[this.suffixColor];\r\n return result;\r\n };\r\n return RequiredInputLabelTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.RequiredInputLabelTextDefinition = RequiredInputLabelTextDefinition;\r\nvar InputLabelConfig = /** @class */ (function () {\r\n function InputLabelConfig(obj) {\r\n this.inputSpacing = Enums.Spacing.Small;\r\n this.width = 30;\r\n this.requiredInputs = new RequiredInputLabelTextDefinition();\r\n this.optionalInputs = new BaseTextDefinition();\r\n if (obj) {\r\n this.inputSpacing = parseHostConfigEnum(Enums.Spacing, obj[\"inputSpacing\"], this.inputSpacing);\r\n this.requiredInputs = new RequiredInputLabelTextDefinition(obj[\"requiredInputs\"]);\r\n this.optionalInputs = new BaseTextDefinition(obj[\"optionalInputs\"]);\r\n this.width =\r\n obj[\"width\"] != null ? obj[\"width\"] : this.width;\r\n }\r\n }\r\n return InputLabelConfig;\r\n}());\r\nexports.InputLabelConfig = InputLabelConfig;\r\nvar InputConfig = /** @class */ (function () {\r\n function InputConfig(obj) {\r\n this.label = new InputLabelConfig();\r\n this.errorMessage = new BaseTextDefinition({\r\n color: Enums.TextColor.Attention\r\n });\r\n this.debounceTimeInMilliSeconds = 0;\r\n this.allowDynamicallyFilteredChoiceSet = true;\r\n this.allowRevealOnHoverStyle = false;\r\n if (obj) {\r\n this.label = new InputLabelConfig(obj[\"label\"]);\r\n this.errorMessage = new BaseTextDefinition(obj[\"errorMessage\"]);\r\n this.allowRevealOnHoverStyle =\r\n obj[\"allowRevealOnHoverStyle\"] || this.allowRevealOnHoverStyle;\r\n this.allowDynamicallyFilteredChoiceSet =\r\n obj[\"allowDynamicallyFilteredChoiceSet\"] || this.allowDynamicallyFilteredChoiceSet;\r\n this.debounceTimeInMilliSeconds =\r\n obj[\"debounceTimeInMilliSeconds\"] || this.debounceTimeInMilliSeconds;\r\n }\r\n }\r\n return InputConfig;\r\n}());\r\nexports.InputConfig = InputConfig;\r\nvar FactTextDefinition = /** @class */ (function (_super) {\r\n __extends(FactTextDefinition, _super);\r\n function FactTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = true;\r\n return _this;\r\n }\r\n FactTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.wrap = obj[\"wrap\"] != null ? obj[\"wrap\"] : this.wrap;\r\n }\r\n };\r\n FactTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"wrap\"] = this.wrap;\r\n return result;\r\n };\r\n return FactTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.FactTextDefinition = FactTextDefinition;\r\nvar FactTitleDefinition = /** @class */ (function (_super) {\r\n __extends(FactTitleDefinition, _super);\r\n function FactTitleDefinition(obj) {\r\n var _this = _super.call(this, obj) || this;\r\n _this.maxWidth = 150;\r\n _this.weight = Enums.TextWeight.Bolder;\r\n if (obj) {\r\n _this.maxWidth = obj[\"maxWidth\"] != null ? obj[\"maxWidth\"] : _this.maxWidth;\r\n _this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], Enums.TextWeight.Bolder);\r\n }\r\n return _this;\r\n }\r\n FactTitleDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Bolder;\r\n };\r\n return FactTitleDefinition;\r\n}(FactTextDefinition));\r\nexports.FactTitleDefinition = FactTitleDefinition;\r\nvar FactSetConfig = /** @class */ (function () {\r\n function FactSetConfig(obj) {\r\n this.title = new FactTitleDefinition();\r\n this.value = new FactTextDefinition();\r\n this.spacing = 10;\r\n if (obj) {\r\n this.title = new FactTitleDefinition(obj[\"title\"]);\r\n this.value = new FactTextDefinition(obj[\"value\"]);\r\n this.spacing =\r\n obj.spacing && obj.spacing != null ? obj.spacing && obj.spacing : this.spacing;\r\n }\r\n }\r\n return FactSetConfig;\r\n}());\r\nexports.FactSetConfig = FactSetConfig;\r\nvar ShowCardActionConfig = /** @class */ (function () {\r\n function ShowCardActionConfig(obj) {\r\n this.actionMode = Enums.ShowCardActionMode.Inline;\r\n this.inlineTopMargin = 16;\r\n this.style = Enums.ContainerStyle.Emphasis;\r\n if (obj) {\r\n this.actionMode = parseHostConfigEnum(Enums.ShowCardActionMode, obj[\"actionMode\"], Enums.ShowCardActionMode.Inline);\r\n this.inlineTopMargin =\r\n obj[\"inlineTopMargin\"] != null ? obj[\"inlineTopMargin\"] : this.inlineTopMargin;\r\n this.style =\r\n obj[\"style\"] && typeof obj[\"style\"] === \"string\"\r\n ? obj[\"style\"]\r\n : Enums.ContainerStyle.Emphasis;\r\n }\r\n }\r\n ShowCardActionConfig.prototype.toJSON = function () {\r\n return {\r\n actionMode: Enums.ShowCardActionMode[this.actionMode],\r\n inlineTopMargin: this.inlineTopMargin,\r\n style: this.style\r\n };\r\n };\r\n return ShowCardActionConfig;\r\n}());\r\nexports.ShowCardActionConfig = ShowCardActionConfig;\r\nvar ActionsConfig = /** @class */ (function () {\r\n function ActionsConfig(obj) {\r\n this.maxActions = 5;\r\n this.spacing = Enums.Spacing.Default;\r\n this.buttonSpacing = 20;\r\n this.showCard = new ShowCardActionConfig();\r\n this.preExpandSingleShowCardAction = false;\r\n this.actionsOrientation = Enums.Orientation.Horizontal;\r\n this.actionAlignment = Enums.ActionAlignment.Left;\r\n this.iconPlacement = Enums.ActionIconPlacement.LeftOfTitle;\r\n this.allowTitleToWrap = false;\r\n this.iconSize = 16;\r\n if (obj) {\r\n this.maxActions = obj[\"maxActions\"] != null ? obj[\"maxActions\"] : this.maxActions;\r\n this.spacing = parseHostConfigEnum(Enums.Spacing, obj.spacing && obj.spacing, Enums.Spacing.Default);\r\n this.buttonSpacing =\r\n obj[\"buttonSpacing\"] != null ? obj[\"buttonSpacing\"] : this.buttonSpacing;\r\n this.showCard = new ShowCardActionConfig(obj[\"showCard\"]);\r\n this.preExpandSingleShowCardAction = Utils.parseBool(obj[\"preExpandSingleShowCardAction\"], false);\r\n this.actionsOrientation = parseHostConfigEnum(Enums.Orientation, obj[\"actionsOrientation\"], Enums.Orientation.Horizontal);\r\n this.actionAlignment = parseHostConfigEnum(Enums.ActionAlignment, obj[\"actionAlignment\"], Enums.ActionAlignment.Left);\r\n this.iconPlacement = parseHostConfigEnum(Enums.ActionIconPlacement, obj[\"iconPlacement\"], Enums.ActionIconPlacement.LeftOfTitle);\r\n this.allowTitleToWrap =\r\n obj[\"allowTitleToWrap\"] != null ? obj[\"allowTitleToWrap\"] : this.allowTitleToWrap;\r\n try {\r\n var sizeAndUnit = Shared.SizeAndUnit.parse(obj[\"iconSize\"]);\r\n if (sizeAndUnit.unit === Enums.SizeUnit.Pixel) {\r\n this.iconSize = sizeAndUnit.physicalSize;\r\n }\r\n }\r\n catch (e) {\r\n // Swallow this, keep default icon size\r\n }\r\n }\r\n }\r\n ActionsConfig.prototype.toJSON = function () {\r\n return {\r\n maxActions: this.maxActions,\r\n spacing: Enums.Spacing[this.spacing],\r\n buttonSpacing: this.buttonSpacing,\r\n showCard: this.showCard,\r\n preExpandSingleShowCardAction: this.preExpandSingleShowCardAction,\r\n actionsOrientation: Enums.Orientation[this.actionsOrientation],\r\n actionAlignment: Enums.ActionAlignment[this.actionAlignment]\r\n };\r\n };\r\n return ActionsConfig;\r\n}());\r\nexports.ActionsConfig = ActionsConfig;\r\nvar ColorSetDefinition = /** @class */ (function () {\r\n function ColorSetDefinition(obj) {\r\n this.default = new TextColorDefinition();\r\n this.dark = new TextColorDefinition();\r\n this.light = new TextColorDefinition();\r\n this.accent = new TextColorDefinition();\r\n this.good = new TextColorDefinition();\r\n this.warning = new TextColorDefinition();\r\n this.attention = new TextColorDefinition();\r\n this.parse(obj);\r\n }\r\n ColorSetDefinition.prototype.parseSingleColor = function (obj, propertyName) {\r\n if (obj) {\r\n this[propertyName].parse(obj[propertyName]);\r\n }\r\n };\r\n ColorSetDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.parseSingleColor(obj, \"default\");\r\n this.parseSingleColor(obj, \"dark\");\r\n this.parseSingleColor(obj, \"light\");\r\n this.parseSingleColor(obj, \"accent\");\r\n this.parseSingleColor(obj, \"good\");\r\n this.parseSingleColor(obj, \"warning\");\r\n this.parseSingleColor(obj, \"attention\");\r\n }\r\n };\r\n return ColorSetDefinition;\r\n}());\r\nexports.ColorSetDefinition = ColorSetDefinition;\r\nvar ContainerStyleDefinition = /** @class */ (function () {\r\n function ContainerStyleDefinition(obj) {\r\n this.foregroundColors = new ColorSetDefinition({\r\n \"default\": { default: \"#333333\", subtle: \"#EE333333\" },\r\n \"dark\": { default: \"#000000\", subtle: \"#66000000\" },\r\n \"light\": { default: \"#FFFFFF\", subtle: \"#33000000\" },\r\n \"accent\": { default: \"#2E89FC\", subtle: \"#882E89FC\" },\r\n \"good\": { default: \"#028A02\", subtle: \"#DD027502\" },\r\n \"warning\": { default: \"#E69500\", subtle: \"#DDE69500\" },\r\n \"attention\": { default: \"#CC3300\", subtle: \"#DDCC3300\" }\r\n });\r\n this.parse(obj);\r\n }\r\n ContainerStyleDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.backgroundColor = obj[\"backgroundColor\"];\r\n this.foregroundColors.parse(obj[\"foregroundColors\"]);\r\n this.highlightBackgroundColor = obj[\"highlightBackgroundColor\"];\r\n this.highlightForegroundColor = obj[\"highlightForegroundColor\"];\r\n this.borderColor = obj[\"borderColor\"];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleDefinition;\r\n}());\r\nexports.ContainerStyleDefinition = ContainerStyleDefinition;\r\nvar BuiltInContainerStyleDefinition = /** @class */ (function (_super) {\r\n __extends(BuiltInContainerStyleDefinition, _super);\r\n function BuiltInContainerStyleDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(BuiltInContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BuiltInContainerStyleDefinition;\r\n}(ContainerStyleDefinition));\r\nvar ContainerStyleSet = /** @class */ (function () {\r\n function ContainerStyleSet(obj) {\r\n this._allStyles = {};\r\n this._allStyles[Enums.ContainerStyle.Default] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Emphasis] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Accent] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Good] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Attention] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Warning] = new BuiltInContainerStyleDefinition();\r\n if (obj) {\r\n this._allStyles[Enums.ContainerStyle.Default].parse(obj[Enums.ContainerStyle.Default]);\r\n this._allStyles[Enums.ContainerStyle.Emphasis].parse(obj[Enums.ContainerStyle.Emphasis]);\r\n this._allStyles[Enums.ContainerStyle.Accent].parse(obj[Enums.ContainerStyle.Accent]);\r\n this._allStyles[Enums.ContainerStyle.Good].parse(obj[Enums.ContainerStyle.Good]);\r\n this._allStyles[Enums.ContainerStyle.Attention].parse(obj[Enums.ContainerStyle.Attention]);\r\n this._allStyles[Enums.ContainerStyle.Warning].parse(obj[Enums.ContainerStyle.Warning]);\r\n var customStyleArray = obj[\"customStyles\"];\r\n if (customStyleArray && Array.isArray(customStyleArray)) {\r\n for (var _i = 0, customStyleArray_1 = customStyleArray; _i < customStyleArray_1.length; _i++) {\r\n var customStyle = customStyleArray_1[_i];\r\n if (customStyle) {\r\n var styleName = customStyle[\"name\"];\r\n if (styleName && typeof styleName === \"string\") {\r\n if (this._allStyles.hasOwnProperty(styleName)) {\r\n this._allStyles[styleName].parse(customStyle[\"style\"]);\r\n }\r\n else {\r\n this._allStyles[styleName] = new ContainerStyleDefinition(customStyle[\"style\"]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ContainerStyleSet.prototype.toJSON = function () {\r\n var _this = this;\r\n var customStyleArray = [];\r\n Object.keys(this._allStyles).forEach(function (key) {\r\n if (!_this._allStyles[key].isBuiltIn) {\r\n customStyleArray.push({\r\n name: key,\r\n style: _this._allStyles[key]\r\n });\r\n }\r\n });\r\n var result = {\r\n default: this.default,\r\n emphasis: this.emphasis\r\n };\r\n if (customStyleArray.length > 0) {\r\n result.customStyles = customStyleArray;\r\n }\r\n return result;\r\n };\r\n ContainerStyleSet.prototype.getStyleByName = function (name, defaultValue) {\r\n if (name && this._allStyles.hasOwnProperty(name)) {\r\n return this._allStyles[name];\r\n }\r\n else {\r\n return defaultValue ? defaultValue : this._allStyles[Enums.ContainerStyle.Default];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleSet.prototype, \"default\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Default];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerStyleSet.prototype, \"emphasis\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Emphasis];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleSet;\r\n}());\r\nexports.ContainerStyleSet = ContainerStyleSet;\r\nvar FontTypeDefinition = /** @class */ (function () {\r\n function FontTypeDefinition(fontFamily) {\r\n this.fontFamily = \"Segoe UI,Segoe,Segoe WP,Helvetica Neue,Helvetica,sans-serif\";\r\n this.fontSizes = {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n };\r\n this.fontWeights = {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n };\r\n if (fontFamily) {\r\n this.fontFamily = fontFamily;\r\n }\r\n }\r\n FontTypeDefinition.prototype.parse = function (obj) {\r\n this.fontFamily = obj[\"fontFamily\"] || this.fontFamily;\r\n this.fontSizes = {\r\n small: (obj.fontSizes && obj.fontSizes[\"small\"]) || this.fontSizes.small,\r\n default: (obj.fontSizes && obj.fontSizes[\"default\"]) || this.fontSizes.default,\r\n medium: (obj.fontSizes && obj.fontSizes[\"medium\"]) || this.fontSizes.medium,\r\n large: (obj.fontSizes && obj.fontSizes[\"large\"]) || this.fontSizes.large,\r\n extraLarge: (obj.fontSizes && obj.fontSizes[\"extraLarge\"]) || this.fontSizes.extraLarge\r\n };\r\n this.fontWeights = {\r\n lighter: (obj.fontWeights && obj.fontWeights[\"lighter\"]) || this.fontWeights.lighter,\r\n default: (obj.fontWeights && obj.fontWeights[\"default\"]) || this.fontWeights.default,\r\n bolder: (obj.fontWeights && obj.fontWeights[\"bolder\"]) || this.fontWeights.bolder\r\n };\r\n };\r\n FontTypeDefinition.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n return FontTypeDefinition;\r\n}());\r\nexports.FontTypeDefinition = FontTypeDefinition;\r\nvar FontTypeSet = /** @class */ (function () {\r\n function FontTypeSet(obj) {\r\n this.default = new FontTypeDefinition();\r\n this.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n if (obj) {\r\n this.default.parse(obj[\"default\"]);\r\n this.monospace.parse(obj[\"monospace\"]);\r\n }\r\n }\r\n FontTypeSet.prototype.getStyleDefinition = function (style) {\r\n switch (style) {\r\n case Enums.FontType.Monospace:\r\n return this.monospace;\r\n case Enums.FontType.Default:\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return FontTypeSet;\r\n}());\r\nexports.FontTypeSet = FontTypeSet;\r\nvar CarouselConfig = /** @class */ (function () {\r\n function CarouselConfig(obj) {\r\n this.maxCarouselPages = 10;\r\n this.minAutoplayDelay = 5000.0;\r\n if (obj) {\r\n this.maxCarouselPages =\r\n obj[\"maxCarouselPages\"] != null ? obj[\"maxCarouselPages\"] : this.maxCarouselPages;\r\n this.minAutoplayDelay =\r\n obj[\"minAutoplayDelay\"] != null ? obj[\"minAutoplayDelay\"] : this.minAutoplayDelay;\r\n }\r\n }\r\n CarouselConfig.prototype.toJSON = function () {\r\n return {\r\n maxCarouselPages: this.maxCarouselPages,\r\n minAutoplayDelay: this.minAutoplayDelay\r\n };\r\n };\r\n return CarouselConfig;\r\n}());\r\nexports.CarouselConfig = CarouselConfig;\r\nvar HostConfig = /** @class */ (function () {\r\n function HostConfig(obj) {\r\n this.hostCapabilities = new host_capabilities_1.HostCapabilities();\r\n this.choiceSetInputValueSeparator = \",\";\r\n this.supportsInteractivity = true;\r\n this.spacing = {\r\n small: 3,\r\n default: 8,\r\n medium: 20,\r\n large: 30,\r\n extraLarge: 40,\r\n padding: 15\r\n };\r\n this.separator = {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n };\r\n this.imageSizes = {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n };\r\n this.containerStyles = new ContainerStyleSet();\r\n this.inputs = new InputConfig();\r\n this.actions = new ActionsConfig();\r\n this.adaptiveCard = new AdaptiveCardConfig();\r\n this.imageSet = new ImageSetConfig();\r\n this.media = new MediaConfig();\r\n this.factSet = new FactSetConfig();\r\n this.table = new TableConfig();\r\n this.textStyles = new TextStyleSet();\r\n this.textBlock = new TextBlockConfig();\r\n this.carousel = new CarouselConfig();\r\n this.alwaysAllowBleed = false;\r\n if (obj) {\r\n if (typeof obj === \"string\" || obj instanceof String) {\r\n obj = JSON.parse(obj);\r\n }\r\n this.choiceSetInputValueSeparator =\r\n obj && typeof obj[\"choiceSetInputValueSeparator\"] === \"string\"\r\n ? obj[\"choiceSetInputValueSeparator\"]\r\n : this.choiceSetInputValueSeparator;\r\n this.supportsInteractivity =\r\n obj && typeof obj[\"supportsInteractivity\"] === \"boolean\"\r\n ? obj[\"supportsInteractivity\"]\r\n : this.supportsInteractivity;\r\n this._legacyFontType = new FontTypeDefinition();\r\n this._legacyFontType.parse(obj);\r\n if (obj.fontTypes) {\r\n this.fontTypes = new FontTypeSet(obj.fontTypes);\r\n }\r\n if (obj.lineHeights) {\r\n this.lineHeights = {\r\n small: obj.lineHeights[\"small\"],\r\n default: obj.lineHeights[\"default\"],\r\n medium: obj.lineHeights[\"medium\"],\r\n large: obj.lineHeights[\"large\"],\r\n extraLarge: obj.lineHeights[\"extraLarge\"]\r\n };\r\n }\r\n this.imageSizes = {\r\n small: (obj.imageSizes && obj.imageSizes[\"small\"]) || this.imageSizes.small,\r\n medium: (obj.imageSizes && obj.imageSizes[\"medium\"]) || this.imageSizes.medium,\r\n large: (obj.imageSizes && obj.imageSizes[\"large\"]) || this.imageSizes.large\r\n };\r\n this.containerStyles = new ContainerStyleSet(obj[\"containerStyles\"]);\r\n this.spacing = {\r\n small: (obj.spacing && obj.spacing[\"small\"]) || this.spacing.small,\r\n default: (obj.spacing && obj.spacing[\"default\"]) || this.spacing.default,\r\n medium: (obj.spacing && obj.spacing[\"medium\"]) || this.spacing.medium,\r\n large: (obj.spacing && obj.spacing[\"large\"]) || this.spacing.large,\r\n extraLarge: (obj.spacing && obj.spacing[\"extraLarge\"]) || this.spacing.extraLarge,\r\n padding: (obj.spacing && obj.spacing[\"padding\"]) || this.spacing.padding\r\n };\r\n this.separator = {\r\n lineThickness: (obj.separator && obj.separator[\"lineThickness\"]) ||\r\n this.separator.lineThickness,\r\n lineColor: (obj.separator && obj.separator[\"lineColor\"]) || this.separator.lineColor\r\n };\r\n this.inputs = new InputConfig(obj.inputs || this.inputs);\r\n this.actions = new ActionsConfig(obj.actions || this.actions);\r\n this.adaptiveCard = new AdaptiveCardConfig(obj.adaptiveCard || this.adaptiveCard);\r\n this.imageSet = new ImageSetConfig(obj[\"imageSet\"]);\r\n this.factSet = new FactSetConfig(obj[\"factSet\"]);\r\n this.textStyles = new TextStyleSet(obj[\"textStyles\"]);\r\n this.textBlock = new TextBlockConfig(obj[\"textBlock\"]);\r\n this.carousel = new CarouselConfig(obj[\"carousel\"]);\r\n }\r\n }\r\n HostConfig.prototype.getFontTypeDefinition = function (style) {\r\n if (this.fontTypes) {\r\n return this.fontTypes.getStyleDefinition(style);\r\n }\r\n else {\r\n return style === Enums.FontType.Monospace\r\n ? FontTypeDefinition.monospace\r\n : this._legacyFontType;\r\n }\r\n };\r\n HostConfig.prototype.getEffectiveSpacing = function (spacing) {\r\n switch (spacing) {\r\n case Enums.Spacing.Small:\r\n return this.spacing.small;\r\n case Enums.Spacing.Default:\r\n return this.spacing.default;\r\n case Enums.Spacing.Medium:\r\n return this.spacing.medium;\r\n case Enums.Spacing.Large:\r\n return this.spacing.large;\r\n case Enums.Spacing.ExtraLarge:\r\n return this.spacing.extraLarge;\r\n case Enums.Spacing.Padding:\r\n return this.spacing.padding;\r\n default:\r\n return 0;\r\n }\r\n };\r\n HostConfig.prototype.paddingDefinitionToSpacingDefinition = function (paddingDefinition) {\r\n return new Shared.SpacingDefinition(this.getEffectiveSpacing(paddingDefinition.top), this.getEffectiveSpacing(paddingDefinition.right), this.getEffectiveSpacing(paddingDefinition.bottom), this.getEffectiveSpacing(paddingDefinition.left));\r\n };\r\n HostConfig.prototype.makeCssClassNames = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = [];\r\n for (var _a = 0, classNames_1 = classNames; _a < classNames_1.length; _a++) {\r\n var className = classNames_1[_a];\r\n result.push((this.cssClassNamePrefix ? this.cssClassNamePrefix + \"-\" : \"\") + className);\r\n }\r\n return result;\r\n };\r\n HostConfig.prototype.makeCssClassName = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = this.makeCssClassNames.apply(this, classNames).join(\" \");\r\n return result ? result : \"\";\r\n };\r\n Object.defineProperty(HostConfig.prototype, \"fontFamily\", {\r\n get: function () {\r\n return this._legacyFontType.fontFamily;\r\n },\r\n set: function (value) {\r\n this._legacyFontType.fontFamily = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontSizes\", {\r\n get: function () {\r\n return this._legacyFontType.fontSizes;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontWeights\", {\r\n get: function () {\r\n return this._legacyFontType.fontWeights;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return HostConfig;\r\n}());\r\nexports.HostConfig = HostConfig;\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nexports.defaultHostConfig = new HostConfig({\r\n supportsInteractivity: true,\r\n spacing: {\r\n small: 10,\r\n default: 20,\r\n medium: 30,\r\n large: 40,\r\n extraLarge: 50,\r\n padding: 20\r\n },\r\n separator: {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n },\r\n fontTypes: {\r\n default: {\r\n fontFamily: \"'Segoe UI', Tahoma, Geneva, Verdana, sans-serif\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n },\r\n monospace: {\r\n fontFamily: \"'Courier New', Courier, monospace\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n }\r\n },\r\n imageSizes: {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n },\r\n containerStyles: {\r\n default: {\r\n backgroundColor: \"#FFFFFF\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n emphasis: {\r\n backgroundColor: \"#08000000\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n accent: {\r\n backgroundColor: \"#C7DEF9\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n good: {\r\n backgroundColor: \"#CCFFCC\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n attention: {\r\n backgroundColor: \"#FFC5B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n warning: {\r\n backgroundColor: \"#FFE2B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n }\r\n },\r\n inputs: {\r\n label: {\r\n requiredInputs: {\r\n weight: Enums.TextWeight.Bolder,\r\n suffix: \" *\",\r\n suffixColor: Enums.TextColor.Attention\r\n },\r\n optionalInputs: {\r\n weight: Enums.TextWeight.Bolder\r\n }\r\n },\r\n errorMessage: {\r\n color: Enums.TextColor.Attention,\r\n weight: Enums.TextWeight.Bolder\r\n },\r\n debounceTimeInMilliSeconds: 250\r\n },\r\n actions: {\r\n maxActions: 5,\r\n spacing: Enums.Spacing.Default,\r\n buttonSpacing: 10,\r\n showCard: {\r\n actionMode: Enums.ShowCardActionMode.Inline,\r\n inlineTopMargin: 16\r\n },\r\n actionsOrientation: Enums.Orientation.Horizontal,\r\n actionAlignment: Enums.ActionAlignment.Left\r\n },\r\n adaptiveCard: {\r\n allowCustomStyle: false\r\n },\r\n imageSet: {\r\n imageSize: Enums.Size.Medium,\r\n maxImageHeight: 100\r\n },\r\n factSet: {\r\n title: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Bolder,\r\n wrap: true,\r\n maxWidth: 150\r\n },\r\n value: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Default,\r\n wrap: true\r\n },\r\n spacing: 10\r\n },\r\n carousel: {\r\n maxCarouselPages: 10,\r\n minAutoplayDuration: 5000\r\n },\r\n textBlock: {\r\n headingLevel: 2\r\n }\r\n});\r\n//# sourceMappingURL=host-config.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.GlobalRegistry = exports.CardObjectRegistry = void 0;\r\nvar serialization_1 = require(\"./serialization\");\r\nvar CardObjectRegistry = /** @class */ (function () {\r\n function CardObjectRegistry() {\r\n this._items = {};\r\n }\r\n CardObjectRegistry.prototype.findByName = function (typeName) {\r\n return this._items.hasOwnProperty(typeName) ? this._items[typeName] : undefined;\r\n };\r\n CardObjectRegistry.prototype.clear = function () {\r\n this._items = {};\r\n };\r\n CardObjectRegistry.prototype.copyTo = function (target) {\r\n var keys = Object.keys(this._items);\r\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\r\n var key = keys_1[_i];\r\n var typeRegistration = this._items[key];\r\n target.register(typeRegistration.typeName, typeRegistration.objectType, typeRegistration.schemaVersion);\r\n }\r\n };\r\n CardObjectRegistry.prototype.register = function (typeName, objectType, schemaVersion) {\r\n if (schemaVersion === void 0) { schemaVersion = serialization_1.Versions.v1_0; }\r\n var registrationInfo = this.findByName(typeName);\r\n if (registrationInfo !== undefined) {\r\n registrationInfo.objectType = objectType;\r\n }\r\n else {\r\n registrationInfo = {\r\n typeName: typeName,\r\n objectType: objectType,\r\n schemaVersion: schemaVersion\r\n };\r\n }\r\n this._items[typeName] = registrationInfo;\r\n };\r\n CardObjectRegistry.prototype.unregister = function (typeName) {\r\n delete this._items[typeName];\r\n };\r\n CardObjectRegistry.prototype.createInstance = function (typeName, targetVersion) {\r\n var registrationInfo = this.findByName(typeName);\r\n return registrationInfo && registrationInfo.schemaVersion.compareTo(targetVersion) <= 0\r\n ? new registrationInfo.objectType()\r\n : undefined;\r\n };\r\n CardObjectRegistry.prototype.getItemCount = function () {\r\n return Object.keys(this._items).length;\r\n };\r\n CardObjectRegistry.prototype.getItemAt = function (index) {\r\n var _this = this;\r\n return Object.keys(this._items).map(function (e) { return _this._items[e]; })[index];\r\n };\r\n return CardObjectRegistry;\r\n}());\r\nexports.CardObjectRegistry = CardObjectRegistry;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar GlobalRegistry = /** @class */ (function () {\r\n function GlobalRegistry() {\r\n }\r\n GlobalRegistry.populateWithDefaultElements = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultElements.copyTo(registry);\r\n };\r\n GlobalRegistry.populateWithDefaultActions = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultActions.copyTo(registry);\r\n };\r\n Object.defineProperty(GlobalRegistry, \"elements\", {\r\n get: function () {\r\n if (!GlobalRegistry._elements) {\r\n GlobalRegistry._elements = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultElements(GlobalRegistry._elements);\r\n }\r\n return GlobalRegistry._elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(GlobalRegistry, \"actions\", {\r\n get: function () {\r\n if (!GlobalRegistry._actions) {\r\n GlobalRegistry._actions = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultActions(GlobalRegistry._actions);\r\n }\r\n return GlobalRegistry._actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n GlobalRegistry.reset = function () {\r\n GlobalRegistry._elements = undefined;\r\n GlobalRegistry._actions = undefined;\r\n };\r\n GlobalRegistry.defaultElements = new CardObjectRegistry();\r\n GlobalRegistry.defaultActions = new CardObjectRegistry();\r\n return GlobalRegistry;\r\n}());\r\nexports.GlobalRegistry = GlobalRegistry;\r\n//# sourceMappingURL=registry.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SerializableObject = exports.property = exports.SerializableObjectSchema = exports.CustomProperty = exports.SerializableObjectCollectionProperty = exports.SerializableObjectProperty = exports.EnumProperty = exports.ValueSetProperty = exports.StringArrayProperty = exports.PixelSizeProperty = exports.NumProperty = exports.BoolProperty = exports.StringProperty = exports.PropertyDefinition = exports.BaseSerializationContext = exports.isVersionLessOrEqual = exports.Versions = exports.Version = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar Version = /** @class */ (function () {\r\n function Version(major, minor, label) {\r\n if (major === void 0) { major = 1; }\r\n if (minor === void 0) { minor = 1; }\r\n this._isValid = true;\r\n this._major = major;\r\n this._minor = minor;\r\n this._label = label;\r\n }\r\n Version.parse = function (versionString, context) {\r\n if (!versionString) {\r\n return undefined;\r\n }\r\n var result = new Version();\r\n result._versionString = versionString;\r\n var regEx = /(\\d+).(\\d+)/gi;\r\n var matches = regEx.exec(versionString);\r\n if (matches != null && matches.length === 3) {\r\n result._major = parseInt(matches[1]);\r\n result._minor = parseInt(matches[2]);\r\n }\r\n else {\r\n result._isValid = false;\r\n }\r\n if (!result._isValid) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidVersionString(result._versionString));\r\n }\r\n return result;\r\n };\r\n Version.prototype.toString = function () {\r\n return !this._isValid ? this._versionString : this._major + \".\" + this._minor;\r\n };\r\n Version.prototype.toJSON = function () {\r\n return this.toString();\r\n };\r\n Version.prototype.compareTo = function (otherVersion) {\r\n if (!this.isValid || !otherVersion.isValid) {\r\n throw new Error(\"Cannot compare invalid version.\");\r\n }\r\n if (this.major > otherVersion.major) {\r\n return 1;\r\n }\r\n else if (this.major < otherVersion.major) {\r\n return -1;\r\n }\r\n else if (this.minor > otherVersion.minor) {\r\n return 1;\r\n }\r\n else if (this.minor < otherVersion.minor) {\r\n return -1;\r\n }\r\n return 0;\r\n };\r\n Object.defineProperty(Version.prototype, \"label\", {\r\n get: function () {\r\n return this._label ? this._label : this.toString();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"major\", {\r\n get: function () {\r\n return this._major;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"minor\", {\r\n get: function () {\r\n return this._minor;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"isValid\", {\r\n get: function () {\r\n return this._isValid;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Version;\r\n}());\r\nexports.Version = Version;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Versions = /** @class */ (function () {\r\n function Versions() {\r\n }\r\n // If preview tag is added/removed from any version,\r\n // don't forget to update .ac-schema-version-1-?::after too in adaptivecards-site\\themes\\adaptivecards\\source\\css\\style.css\r\n /* eslint-enable @typescript-eslint/naming-convention */\r\n Versions.getAllDeclaredVersions = function () {\r\n var ctor = Versions;\r\n var properties = [];\r\n for (var propertyName in ctor) {\r\n if (propertyName.match(/^v[0-9_]*$/)) {\r\n // filter latest\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof Version) {\r\n properties.push(propertyValue);\r\n }\r\n }\r\n catch (_a) {\r\n // If a property happens to have a getter function and\r\n // it throws an exception, we need to catch it here\r\n }\r\n }\r\n }\r\n return properties.sort(function (v1, v2) { return v1.compareTo(v2); });\r\n };\r\n /* eslint-disable @typescript-eslint/naming-convention */\r\n Versions.v1_0 = new Version(1, 0);\r\n Versions.v1_1 = new Version(1, 1);\r\n Versions.v1_2 = new Version(1, 2);\r\n Versions.v1_3 = new Version(1, 3);\r\n Versions.v1_4 = new Version(1, 4);\r\n Versions.v1_5 = new Version(1, 5);\r\n Versions.v1_6 = new Version(1, 6);\r\n Versions.latest = Versions.v1_6;\r\n return Versions;\r\n}());\r\nexports.Versions = Versions;\r\nfunction isVersionLessOrEqual(version, targetVersion) {\r\n if (version instanceof Version) {\r\n if (targetVersion instanceof Version) {\r\n return targetVersion.compareTo(version) >= 0;\r\n }\r\n else {\r\n // Target version is *\r\n return true;\r\n }\r\n }\r\n else {\r\n // Version is *\r\n return true;\r\n }\r\n}\r\nexports.isVersionLessOrEqual = isVersionLessOrEqual;\r\nvar BaseSerializationContext = /** @class */ (function () {\r\n function BaseSerializationContext(targetVersion) {\r\n if (targetVersion === void 0) { targetVersion = Versions.latest; }\r\n this._validationEvents = [];\r\n this.targetVersion = targetVersion;\r\n }\r\n BaseSerializationContext.prototype.isTemplateString = function (value) {\r\n if (typeof value === \"string\") {\r\n return value.startsWith(\"${\");\r\n }\r\n else {\r\n return false;\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip) {\r\n delete target[propertyName];\r\n }\r\n };\r\n BaseSerializationContext.prototype.tryDeleteDefaultValue = function (target, propertyName) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeValue = function (target, propertyName, propertyValue, defaultValue, forceDeleteIfNullOrDefault) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (forceDeleteIfNullOrDefault === void 0) { forceDeleteIfNullOrDefault = false; }\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else if (propertyValue === defaultValue) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault || !this.isTemplateString(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeString = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeBool = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeNumber = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null ||\r\n propertyValue === undefined ||\r\n isNaN(propertyValue)) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeEnum = function (enumType, target, propertyName, propertyValue, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (propertyValue === null ||\r\n propertyValue === undefined) {\r\n this.tryDeleteValue(target, propertyName);\r\n }\r\n else if (propertyValue === defaultValue) {\r\n this.tryDeleteDefaultValue(target, propertyName);\r\n }\r\n else {\r\n target[propertyName] = enumType[propertyValue];\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeArray = function (target, propertyName, propertyValue) {\r\n var items = [];\r\n if (propertyValue) {\r\n for (var _i = 0, propertyValue_1 = propertyValue; _i < propertyValue_1.length; _i++) {\r\n var item = propertyValue_1[_i];\r\n var serializedItem = undefined;\r\n if (item instanceof SerializableObject) {\r\n serializedItem = item.toJSON(this);\r\n }\r\n else if (item.toJSON) {\r\n serializedItem = item.toJSON();\r\n }\r\n else {\r\n serializedItem = item;\r\n }\r\n if (serializedItem !== undefined) {\r\n items.push(serializedItem);\r\n }\r\n }\r\n }\r\n if (items.length === 0) {\r\n if (target.hasOwnProperty(propertyName) && Array.isArray(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else {\r\n this.serializeValue(target, propertyName, items);\r\n }\r\n };\r\n BaseSerializationContext.prototype.clearEvents = function () {\r\n this._validationEvents = [];\r\n };\r\n BaseSerializationContext.prototype.logEvent = function (source, phase, event, message) {\r\n this._validationEvents.push({\r\n source: source,\r\n phase: phase,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n BaseSerializationContext.prototype.logParseEvent = function (source, event, message) {\r\n this.logEvent(source, Enums.ValidationPhase.Parse, event, message);\r\n };\r\n BaseSerializationContext.prototype.getEventAt = function (index) {\r\n return this._validationEvents[index];\r\n };\r\n Object.defineProperty(BaseSerializationContext.prototype, \"eventCount\", {\r\n get: function () {\r\n return this._validationEvents.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BaseSerializationContext;\r\n}());\r\nexports.BaseSerializationContext = BaseSerializationContext;\r\nvar SimpleSerializationContext = /** @class */ (function (_super) {\r\n __extends(SimpleSerializationContext, _super);\r\n function SimpleSerializationContext() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return SimpleSerializationContext;\r\n}(BaseSerializationContext));\r\nvar PropertyDefinition = /** @class */ (function () {\r\n function PropertyDefinition(targetVersion, name, defaultValue, onGetInitialValue) {\r\n this.targetVersion = targetVersion;\r\n this.name = name;\r\n this.defaultValue = defaultValue;\r\n this.onGetInitialValue = onGetInitialValue;\r\n this.isSerializationEnabled = true;\r\n this.sequentialNumber = PropertyDefinition._sequentialNumber;\r\n PropertyDefinition._sequentialNumber++;\r\n }\r\n PropertyDefinition.prototype.getInternalName = function () {\r\n return this.name;\r\n };\r\n PropertyDefinition.prototype.parse = function (sender, source, context) {\r\n return source[this.name];\r\n };\r\n PropertyDefinition.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value, this.defaultValue);\r\n };\r\n PropertyDefinition._sequentialNumber = 0;\r\n return PropertyDefinition;\r\n}());\r\nexports.PropertyDefinition = PropertyDefinition;\r\nvar StringProperty = /** @class */ (function (_super) {\r\n __extends(StringProperty, _super);\r\n function StringProperty(targetVersion, name, treatEmptyAsUndefined, regEx, defaultValue, onGetInitialValue) {\r\n if (treatEmptyAsUndefined === void 0) { treatEmptyAsUndefined = true; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.treatEmptyAsUndefined = treatEmptyAsUndefined;\r\n _this.regEx = regEx;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringProperty.prototype.parse = function (sender, source, context) {\r\n var parsedValue = Utils.parseString(source[this.name], this.defaultValue);\r\n var isUndefined = parsedValue === undefined || (parsedValue === \"\" && this.treatEmptyAsUndefined);\r\n if (!isUndefined && this.regEx !== undefined) {\r\n var matches = this.regEx.exec(parsedValue);\r\n if (!matches) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(parsedValue, this.name));\r\n return undefined;\r\n }\r\n }\r\n return parsedValue;\r\n };\r\n StringProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeString(target, this.name, value === \"\" && this.treatEmptyAsUndefined ? undefined : value, this.defaultValue);\r\n };\r\n return StringProperty;\r\n}(PropertyDefinition));\r\nexports.StringProperty = StringProperty;\r\nvar BoolProperty = /** @class */ (function (_super) {\r\n __extends(BoolProperty, _super);\r\n function BoolProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n BoolProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseBool(source[this.name], this.defaultValue);\r\n };\r\n BoolProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeBool(target, this.name, value, this.defaultValue);\r\n };\r\n return BoolProperty;\r\n}(PropertyDefinition));\r\nexports.BoolProperty = BoolProperty;\r\nvar NumProperty = /** @class */ (function (_super) {\r\n __extends(NumProperty, _super);\r\n function NumProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n NumProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseNumber(source[this.name], this.defaultValue);\r\n };\r\n NumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeNumber(target, this.name, value, this.defaultValue);\r\n };\r\n return NumProperty;\r\n}(PropertyDefinition));\r\nexports.NumProperty = NumProperty;\r\nvar PixelSizeProperty = /** @class */ (function (_super) {\r\n __extends(PixelSizeProperty, _super);\r\n function PixelSizeProperty() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n PixelSizeProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var value = source[this.name];\r\n if (typeof value === \"string\") {\r\n var isValid = false;\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(value, true);\r\n if (size.unit === Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Do nothing. A parse error is emitted below\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(source[this.name], this.name));\r\n }\r\n }\r\n return result;\r\n };\r\n PixelSizeProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return PixelSizeProperty;\r\n}(PropertyDefinition));\r\nexports.PixelSizeProperty = PixelSizeProperty;\r\nvar StringArrayProperty = /** @class */ (function (_super) {\r\n __extends(StringArrayProperty, _super);\r\n function StringArrayProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringArrayProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined || !Array.isArray(sourceValue)) {\r\n return this.defaultValue;\r\n }\r\n var result = [];\r\n for (var _i = 0, sourceValue_1 = sourceValue; _i < sourceValue_1.length; _i++) {\r\n var value = sourceValue_1[_i];\r\n if (typeof value === \"string\") {\r\n result.push(value);\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, \"Invalid array value \\\"\".concat(JSON.stringify(value), \"\\\" of type \\\"\").concat(typeof value, \"\\\" ignored for \\\"\").concat(this.name, \"\\\".\"));\r\n }\r\n }\r\n return result;\r\n };\r\n StringArrayProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return StringArrayProperty;\r\n}(PropertyDefinition));\r\nexports.StringArrayProperty = StringArrayProperty;\r\nvar ValueSetProperty = /** @class */ (function (_super) {\r\n __extends(ValueSetProperty, _super);\r\n function ValueSetProperty(targetVersion, name, values, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.values = values;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n ValueSetProperty.prototype.isValidValue = function (value, context) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (value.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n return targetVersion.compareTo(context.targetVersion) <= 0;\r\n }\r\n }\r\n return false;\r\n };\r\n ValueSetProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n if (typeof sourceValue === \"string\") {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (sourceValue.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return versionedValue.value;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n ValueSetProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(value, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeValue(target, this.name, value, this.defaultValue, true);\r\n }\r\n };\r\n return ValueSetProperty;\r\n}(PropertyDefinition));\r\nexports.ValueSetProperty = ValueSetProperty;\r\nvar EnumProperty = /** @class */ (function (_super) {\r\n __extends(EnumProperty, _super);\r\n function EnumProperty(targetVersion, name, enumType, defaultValue, values, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.enumType = enumType;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n _this._values = [];\r\n if (!values) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n _this._values.push({ value: keyAsNumber });\r\n }\r\n }\r\n }\r\n else {\r\n _this._values = values;\r\n }\r\n return _this;\r\n }\r\n EnumProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (typeof sourceValue !== \"string\") {\r\n return this.defaultValue;\r\n }\r\n var enumValue = Utils.getEnumValueByName(this.enumType, sourceValue);\r\n if (enumValue !== undefined) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === enumValue) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return enumValue;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n EnumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion\r\n ? versionedValue.targetVersion\r\n : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(value, this.name));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeEnum(this.enumType, target, this.name, value, this.defaultValue);\r\n }\r\n };\r\n Object.defineProperty(EnumProperty.prototype, \"values\", {\r\n get: function () {\r\n return this._values;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return EnumProperty;\r\n}(PropertyDefinition));\r\nexports.EnumProperty = EnumProperty;\r\nvar SerializableObjectProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectProperty, _super);\r\n function SerializableObjectProperty(targetVersion, name, objectType, nullable, defaultValue) {\r\n if (nullable === void 0) { nullable = false; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, function (sender) {\r\n return _this.nullable ? undefined : new _this.objectType();\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.nullable = nullable;\r\n return _this;\r\n }\r\n SerializableObjectProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.onGetInitialValue ? this.onGetInitialValue(sender) : this.defaultValue;\r\n }\r\n var result = new this.objectType();\r\n result.parse(sourceValue, context);\r\n return result;\r\n };\r\n SerializableObjectProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var serializedValue = undefined;\r\n if (value !== undefined && !value.hasAllDefaultValues()) {\r\n serializedValue = value.toJSON(context);\r\n }\r\n if (typeof serializedValue === \"object\" && Object.keys(serializedValue).length === 0) {\r\n serializedValue = undefined;\r\n }\r\n context.serializeValue(target, this.name, serializedValue, this.defaultValue, true);\r\n };\r\n return SerializableObjectProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectProperty = SerializableObjectProperty;\r\nvar SerializableObjectCollectionProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectCollectionProperty, _super);\r\n function SerializableObjectCollectionProperty(targetVersion, name, objectType, onItemAdded) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function (sender) {\r\n return [];\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.onItemAdded = onItemAdded;\r\n return _this;\r\n }\r\n SerializableObjectCollectionProperty.prototype.parse = function (sender, source, context) {\r\n var result = [];\r\n var sourceCollection = source[this.name];\r\n if (Array.isArray(sourceCollection)) {\r\n for (var _i = 0, sourceCollection_1 = sourceCollection; _i < sourceCollection_1.length; _i++) {\r\n var sourceItem = sourceCollection_1[_i];\r\n var item = new this.objectType();\r\n item.parse(sourceItem, context);\r\n result.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(sender, item);\r\n }\r\n }\r\n }\r\n return result.length > 0\r\n ? result\r\n : this.onGetInitialValue\r\n ? this.onGetInitialValue(sender)\r\n : undefined;\r\n };\r\n SerializableObjectCollectionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return SerializableObjectCollectionProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectCollectionProperty = SerializableObjectCollectionProperty;\r\nvar CustomProperty = /** @class */ (function (_super) {\r\n __extends(CustomProperty, _super);\r\n function CustomProperty(targetVersion, name, onParse, onToJSON, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.onParse = onParse;\r\n _this.onToJSON = onToJSON;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n if (!_this.onParse) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onParse handler.\");\r\n }\r\n if (!_this.onToJSON) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onToJSON handler.\");\r\n }\r\n return _this;\r\n }\r\n CustomProperty.prototype.parse = function (sender, source, context) {\r\n return this.onParse(sender, this, source, context);\r\n };\r\n CustomProperty.prototype.toJSON = function (sender, target, value, context) {\r\n this.onToJSON(sender, this, target, value, context);\r\n };\r\n return CustomProperty;\r\n}(PropertyDefinition));\r\nexports.CustomProperty = CustomProperty;\r\nvar SerializableObjectSchema = /** @class */ (function () {\r\n function SerializableObjectSchema() {\r\n this._properties = [];\r\n }\r\n SerializableObjectSchema.prototype.indexOf = function (prop) {\r\n for (var i = 0; i < this._properties.length; i++) {\r\n if (this._properties[i] === prop) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n SerializableObjectSchema.prototype.add = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, properties_1 = properties; _a < properties_1.length; _a++) {\r\n var prop = properties_1[_a];\r\n if (this.indexOf(prop) === -1) {\r\n this._properties.push(prop);\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.remove = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, properties_2 = properties; _a < properties_2.length; _a++) {\r\n var prop = properties_2[_a];\r\n while (true) {\r\n var index = this.indexOf(prop);\r\n if (index >= 0) {\r\n this._properties.splice(index, 1);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.getItemAt = function (index) {\r\n return this._properties[index];\r\n };\r\n SerializableObjectSchema.prototype.getCount = function () {\r\n return this._properties.length;\r\n };\r\n return SerializableObjectSchema;\r\n}());\r\nexports.SerializableObjectSchema = SerializableObjectSchema;\r\n// This is a decorator function, used to map SerializableObject descendant class members to\r\n// schema properties\r\nfunction property(prop) {\r\n return function (target, propertyKey) {\r\n var descriptor = Object.getOwnPropertyDescriptor(target, propertyKey) || {};\r\n if (!descriptor.get && !descriptor.set) {\r\n descriptor.get = function () {\r\n return this.getValue(prop);\r\n };\r\n descriptor.set = function (value) {\r\n this.setValue(prop, value);\r\n };\r\n Object.defineProperty(target, propertyKey, descriptor);\r\n }\r\n };\r\n}\r\nexports.property = property;\r\nvar SerializableObject = /** @class */ (function () {\r\n function SerializableObject() {\r\n this._propertyBag = {};\r\n this._rawProperties = {};\r\n this.maxVersion = SerializableObject.defaultMaxVersion;\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (prop.onGetInitialValue) {\r\n this.setValue(prop, prop.onGetInitialValue(this));\r\n }\r\n }\r\n }\r\n SerializableObject.prototype.getDefaultSerializationContext = function () {\r\n return new SimpleSerializationContext();\r\n };\r\n SerializableObject.prototype.populateSchema = function (schema) {\r\n var ctor = this.constructor;\r\n var properties = [];\r\n // eslint-disable-next-line guard-for-in\r\n for (var propertyName in ctor) {\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof PropertyDefinition) {\r\n properties.push(propertyValue);\r\n }\r\n }\r\n catch (_a) {\r\n // If a property happens to have a getter function and\r\n // it throws an exception, we need to catch it here\r\n }\r\n }\r\n if (properties.length > 0) {\r\n var sortedProperties = properties.sort(function (p1, p2) {\r\n if (p1.sequentialNumber > p2.sequentialNumber) {\r\n return 1;\r\n }\r\n else if (p1.sequentialNumber < p2.sequentialNumber) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n schema.add.apply(schema, sortedProperties);\r\n }\r\n if (SerializableObject.onRegisterCustomProperties) {\r\n SerializableObject.onRegisterCustomProperties(this, schema);\r\n }\r\n };\r\n SerializableObject.prototype.getValue = function (prop) {\r\n return this._propertyBag.hasOwnProperty(prop.getInternalName())\r\n ? this._propertyBag[prop.getInternalName()]\r\n : prop.defaultValue;\r\n };\r\n SerializableObject.prototype.setValue = function (prop, value) {\r\n if (value === undefined || value === null) {\r\n delete this._propertyBag[prop.getInternalName()];\r\n }\r\n else {\r\n this._propertyBag[prop.getInternalName()] = value;\r\n }\r\n };\r\n SerializableObject.prototype.internalParse = function (source, context) {\r\n this._propertyBag = {};\r\n this._rawProperties = shared_1.GlobalSettings.enableFullJsonRoundTrip ? (source ? source : {}) : {};\r\n if (source) {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (prop.isSerializationEnabled) {\r\n var propertyValue = prop.onGetInitialValue\r\n ? prop.onGetInitialValue(this)\r\n : undefined;\r\n if (source.hasOwnProperty(prop.name)) {\r\n if (prop.targetVersion.compareTo(context.targetVersion) <= 0) {\r\n propertyValue = prop.parse(this, source, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.UnsupportedProperty, strings_1.Strings.errors.propertyNotSupported(prop.name, prop.targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n this.setValue(prop, propertyValue);\r\n }\r\n }\r\n }\r\n else {\r\n this.resetDefaultValues();\r\n }\r\n };\r\n SerializableObject.prototype.internalToJSON = function (target, context) {\r\n var s = this.getSchema();\r\n var serializedProperties = [];\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n // Avoid serializing the same property multiple times. This is necessary\r\n // because some property definitions map to the same underlying schema\r\n // property\r\n if (prop.isSerializationEnabled &&\r\n prop.targetVersion.compareTo(context.targetVersion) <= 0 &&\r\n serializedProperties.indexOf(prop.name) === -1) {\r\n prop.toJSON(this, target, this.getValue(prop), context);\r\n serializedProperties.push(prop.name);\r\n }\r\n }\r\n };\r\n SerializableObject.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n SerializableObject.prototype.parse = function (source, context) {\r\n this.internalParse(source, context ? context : new SimpleSerializationContext());\r\n };\r\n SerializableObject.prototype.toJSON = function (context) {\r\n var effectiveContext;\r\n if (context && context instanceof BaseSerializationContext) {\r\n effectiveContext = context;\r\n }\r\n else {\r\n effectiveContext = this.getDefaultSerializationContext();\r\n effectiveContext.toJSONOriginalParam = context;\r\n }\r\n if (this.shouldSerialize(effectiveContext)) {\r\n var result = void 0;\r\n if (shared_1.GlobalSettings.enableFullJsonRoundTrip &&\r\n this._rawProperties &&\r\n typeof this._rawProperties === \"object\") {\r\n result = this._rawProperties;\r\n }\r\n else {\r\n result = {};\r\n }\r\n this.internalToJSON(result, effectiveContext);\r\n return result;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n SerializableObject.prototype.hasDefaultValue = function (prop) {\r\n return this.getValue(prop) === prop.defaultValue;\r\n };\r\n SerializableObject.prototype.hasAllDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n if (!this.hasDefaultValue(prop)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n SerializableObject.prototype.resetDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var prop = s.getItemAt(i);\r\n this.setValue(prop, prop.defaultValue);\r\n }\r\n };\r\n SerializableObject.prototype.setCustomProperty = function (name, value) {\r\n var shouldDeleteProperty = (typeof value === \"string\" && !value) || value === undefined || value === null;\r\n if (shouldDeleteProperty) {\r\n delete this._rawProperties[name];\r\n }\r\n else {\r\n this._rawProperties[name] = value;\r\n }\r\n };\r\n SerializableObject.prototype.getCustomProperty = function (name) {\r\n return this._rawProperties[name];\r\n };\r\n SerializableObject.prototype.getSchema = function () {\r\n var schema = SerializableObject._schemaCache[this.getSchemaKey()];\r\n if (!schema) {\r\n schema = new SerializableObjectSchema();\r\n this.populateSchema(schema);\r\n SerializableObject._schemaCache[this.getSchemaKey()] = schema;\r\n }\r\n return schema;\r\n };\r\n SerializableObject.defaultMaxVersion = Versions.latest;\r\n SerializableObject._schemaCache = {};\r\n return SerializableObject;\r\n}());\r\nexports.SerializableObject = SerializableObject;\r\n//# sourceMappingURL=serialization.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.UUID = exports.SizeAndUnit = exports.PaddingDefinition = exports.SpacingDefinition = exports.StringWithSubstitutions = exports.ContentTypes = exports.GlobalSettings = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar GlobalSettings = /** @class */ (function () {\r\n function GlobalSettings() {\r\n }\r\n GlobalSettings.useAdvancedTextBlockTruncation = true;\r\n GlobalSettings.useAdvancedCardBottomTruncation = false;\r\n GlobalSettings.useMarkdownInRadioButtonAndCheckbox = true;\r\n GlobalSettings.allowMarkForTextHighlighting = false;\r\n GlobalSettings.alwaysBleedSeparators = false;\r\n GlobalSettings.enableFullJsonRoundTrip = false;\r\n GlobalSettings.displayInputValidationErrors = true;\r\n GlobalSettings.allowPreProcessingPropertyValues = false;\r\n GlobalSettings.setTabIndexAtCardRoot = true;\r\n GlobalSettings.enableFallback = true;\r\n GlobalSettings.useWebkitLineClamp = true;\r\n GlobalSettings.allowMoreThanMaxActionsInOverflowMenu = false;\r\n GlobalSettings.removePaddingFromContainersWithBackgroundImage = false;\r\n GlobalSettings.resetInputsDirtyStateAfterActionExecution = true;\r\n GlobalSettings.applets = {\r\n logEnabled: true,\r\n logLevel: Enums.LogLevel.Error,\r\n maximumRetryAttempts: 3,\r\n defaultTimeBetweenRetryAttempts: 3000,\r\n authPromptWidth: 400,\r\n authPromptHeight: 600,\r\n refresh: {\r\n mode: Enums.RefreshMode.Manual,\r\n timeBetweenAutomaticRefreshes: 3000,\r\n maximumConsecutiveAutomaticRefreshes: 3,\r\n allowManualRefreshesAfterAutomaticRefreshes: true\r\n }\r\n };\r\n return GlobalSettings;\r\n}());\r\nexports.GlobalSettings = GlobalSettings;\r\nexports.ContentTypes = {\r\n applicationJson: \"application/json\",\r\n applicationXWwwFormUrlencoded: \"application/x-www-form-urlencoded\"\r\n};\r\nvar StringWithSubstitutions = /** @class */ (function () {\r\n function StringWithSubstitutions() {\r\n this._isProcessed = false;\r\n }\r\n StringWithSubstitutions.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n if (!referencedInputs) {\r\n throw new Error(\"The referencedInputs parameter cannot be null.\");\r\n }\r\n if (this._original) {\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n var matches = new RegExp(\"\\\\{{2}(\" + input.id + \").value\\\\}{2}\", \"gi\").exec(this._original);\r\n if (matches != null && input.id) {\r\n referencedInputs[input.id] = input;\r\n }\r\n }\r\n }\r\n };\r\n StringWithSubstitutions.prototype.substituteInputValues = function (inputs, contentType) {\r\n this._processed = this._original;\r\n if (this._original) {\r\n var regEx = /\\{{2}([a-z0-9_$@]+).value\\}{2}/gi;\r\n var matches = void 0;\r\n while ((matches = regEx.exec(this._original)) !== null && this._processed) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key.toLowerCase() === matches[1].toLowerCase()) {\r\n var matchedInput = inputs[key];\r\n var valueForReplace = \"\";\r\n if (matchedInput.value) {\r\n valueForReplace = matchedInput.value;\r\n }\r\n if (contentType === exports.ContentTypes.applicationJson) {\r\n valueForReplace = JSON.stringify(valueForReplace);\r\n valueForReplace = valueForReplace.slice(1, -1);\r\n }\r\n else if (contentType === exports.ContentTypes.applicationXWwwFormUrlencoded) {\r\n valueForReplace = encodeURIComponent(valueForReplace);\r\n }\r\n this._processed = this._processed.replace(matches[0], valueForReplace);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this._isProcessed = true;\r\n };\r\n StringWithSubstitutions.prototype.getOriginal = function () {\r\n return this._original;\r\n };\r\n StringWithSubstitutions.prototype.get = function () {\r\n if (!this._isProcessed) {\r\n return this._original;\r\n }\r\n else {\r\n return this._processed;\r\n }\r\n };\r\n StringWithSubstitutions.prototype.set = function (value) {\r\n this._original = value;\r\n this._isProcessed = false;\r\n };\r\n return StringWithSubstitutions;\r\n}());\r\nexports.StringWithSubstitutions = StringWithSubstitutions;\r\nvar SpacingDefinition = /** @class */ (function () {\r\n function SpacingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = 0; }\r\n if (right === void 0) { right = 0; }\r\n if (bottom === void 0) { bottom = 0; }\r\n if (left === void 0) { left = 0; }\r\n this.left = 0;\r\n this.top = 0;\r\n this.right = 0;\r\n this.bottom = 0;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return SpacingDefinition;\r\n}());\r\nexports.SpacingDefinition = SpacingDefinition;\r\nvar PaddingDefinition = /** @class */ (function () {\r\n function PaddingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = Enums.Spacing.None; }\r\n if (right === void 0) { right = Enums.Spacing.None; }\r\n if (bottom === void 0) { bottom = Enums.Spacing.None; }\r\n if (left === void 0) { left = Enums.Spacing.None; }\r\n this.top = Enums.Spacing.None;\r\n this.right = Enums.Spacing.None;\r\n this.bottom = Enums.Spacing.None;\r\n this.left = Enums.Spacing.None;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return PaddingDefinition;\r\n}());\r\nexports.PaddingDefinition = PaddingDefinition;\r\nvar SizeAndUnit = /** @class */ (function () {\r\n function SizeAndUnit(physicalSize, unit) {\r\n this.physicalSize = physicalSize;\r\n this.unit = unit;\r\n }\r\n SizeAndUnit.parse = function (input, requireUnitSpecifier) {\r\n if (requireUnitSpecifier === void 0) { requireUnitSpecifier = false; }\r\n var result = new SizeAndUnit(0, Enums.SizeUnit.Weight);\r\n if (typeof input === \"number\") {\r\n result.physicalSize = input;\r\n return result;\r\n }\r\n else if (typeof input === \"string\") {\r\n var regExp = /^([0-9]+)(px|\\*)?$/g;\r\n var matches = regExp.exec(input);\r\n var expectedMatchCount = requireUnitSpecifier ? 3 : 2;\r\n if (matches && matches.length >= expectedMatchCount) {\r\n result.physicalSize = parseInt(matches[1]);\r\n if (matches.length === 3) {\r\n if (matches[2] === \"px\") {\r\n result.unit = Enums.SizeUnit.Pixel;\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n throw new Error(\"Invalid size: \" + input);\r\n };\r\n return SizeAndUnit;\r\n}());\r\nexports.SizeAndUnit = SizeAndUnit;\r\n/**\r\n * Fast UUID generator, RFC4122 version 4 compliant.\r\n * @author Jeff Ward (jcward.com).\r\n * @license MIT license\r\n * @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\r\n **/\r\n/* eslint-disable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\r\nvar UUID = /** @class */ (function () {\r\n function UUID() {\r\n }\r\n UUID.generate = function () {\r\n var d0 = (Math.random() * 0xffffffff) | 0;\r\n var d1 = (Math.random() * 0xffffffff) | 0;\r\n var d2 = (Math.random() * 0xffffffff) | 0;\r\n var d3 = (Math.random() * 0xffffffff) | 0;\r\n return (UUID.lut[d0 & 0xff] +\r\n UUID.lut[(d0 >> 8) & 0xff] +\r\n UUID.lut[(d0 >> 16) & 0xff] +\r\n UUID.lut[(d0 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[d1 & 0xff] +\r\n UUID.lut[(d1 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[((d1 >> 16) & 0x0f) | 0x40] +\r\n UUID.lut[(d1 >> 24) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 & 0x3f) | 0x80] +\r\n UUID.lut[(d2 >> 8) & 0xff] +\r\n \"-\" +\r\n UUID.lut[(d2 >> 16) & 0xff] +\r\n UUID.lut[(d2 >> 24) & 0xff] +\r\n UUID.lut[d3 & 0xff] +\r\n UUID.lut[(d3 >> 8) & 0xff] +\r\n UUID.lut[(d3 >> 16) & 0xff] +\r\n UUID.lut[(d3 >> 24) & 0xff]);\r\n };\r\n UUID.initialize = function () {\r\n for (var i = 0; i < 256; i++) {\r\n UUID.lut[i] = (i < 16 ? \"0\" : \"\") + i.toString(16);\r\n }\r\n };\r\n UUID.lut = [];\r\n return UUID;\r\n}());\r\nexports.UUID = UUID;\r\nUUID.initialize();\r\n/* eslint-enable @typescript-eslint/no-extraneous-class, @typescript-eslint/naming-convention, no-bitwise */\r\n//# sourceMappingURL=shared.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Strings = void 0;\r\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\r\nvar Strings = /** @class */ (function () {\r\n function Strings() {\r\n }\r\n Strings.errors = {\r\n unknownElementType: function (typeName) {\r\n return \"Unknown element type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n unknownActionType: function (typeName) {\r\n return \"Unknown action type \\\"\".concat(typeName, \"\\\". Fallback will be used if present.\");\r\n },\r\n elementTypeNotAllowed: function (typeName) {\r\n return \"Element type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n actionTypeNotAllowed: function (typeName) {\r\n return \"Action type \\\"\".concat(typeName, \"\\\" is not allowed in this context.\");\r\n },\r\n invalidPropertyValue: function (value, propertyName) {\r\n return \"Invalid value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\".\");\r\n },\r\n showCardMustHaveCard: function () {\r\n return \"\\\"An Action.ShowCard must have its \\\"card\\\" property set to a valid AdaptiveCard object.\";\r\n },\r\n invalidColumnWidth: function (invalidWidth) {\r\n return \"Invalid column width \\\"\".concat(invalidWidth, \"\\\" - defaulting to \\\"auto\\\".\");\r\n },\r\n invalidCardVersion: function (defaultingToVersion) {\r\n return \"Invalid card version. Defaulting to \\\"\".concat(defaultingToVersion, \"\\\".\");\r\n },\r\n invalidVersionString: function (versionString) {\r\n return \"Invalid version string \\\"\".concat(versionString, \"\\\".\");\r\n },\r\n propertyValueNotSupported: function (value, propertyName, supportedInVersion, versionUsed) {\r\n return \"Value \\\"\".concat(value, \"\\\" for property \\\"\").concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n propertyNotSupported: function (propertyName, supportedInVersion, versionUsed) {\r\n return \"Property \\\"\".concat(propertyName, \"\\\" is supported in version \").concat(supportedInVersion, \", but you are using version \").concat(versionUsed, \".\");\r\n },\r\n indexOutOfRange: function (index) { return \"Index out of range (\".concat(index, \").\"); },\r\n elementCannotBeUsedAsInline: function () {\r\n return \"RichTextBlock.addInline: the specified card element cannot be used as a RichTextBlock inline.\";\r\n },\r\n inlineAlreadyParented: function () {\r\n return \"RichTextBlock.addInline: the specified inline already belongs to another RichTextBlock.\";\r\n },\r\n interactivityNotAllowed: function () { return \"Interactivity is not allowed.\"; },\r\n inputsMustHaveUniqueId: function () { return \"All inputs must have a unique Id.\"; },\r\n choiceSetMustHaveAtLeastOneChoice: function () {\r\n return \"An Input.ChoiceSet must have at least one choice defined.\";\r\n },\r\n choiceSetChoicesMustHaveTitleAndValue: function () {\r\n return \"All choices in an Input.ChoiceSet must have their title and value properties set.\";\r\n },\r\n propertyMustBeSet: function (propertyName) { return \"Property \\\"\".concat(propertyName, \"\\\" must be set.\"); },\r\n actionHttpHeadersMustHaveNameAndValue: function () {\r\n return \"All headers of an Action.Http must have their name and value properties set.\";\r\n },\r\n tooManyActions: function (maximumActions) {\r\n return \"Maximum number of actions exceeded (\".concat(maximumActions, \").\");\r\n },\r\n tooLittleTimeDelay: function (minAutoplayDelay) {\r\n return \"Autoplay Delay is too short (\".concat(minAutoplayDelay, \").\");\r\n },\r\n tooManyCarouselPages: function (maxCarouselPages) {\r\n return \"Maximum number of Carousel pages exceeded (\".concat(maxCarouselPages, \").\");\r\n },\r\n invalidInitialPageIndex: function (initialPageIndex) {\r\n return \"InitialPage for carousel is invalid (\".concat(initialPageIndex, \").\");\r\n },\r\n columnAlreadyBelongsToAnotherSet: function () { return \"This column already belongs to another ColumnSet.\"; },\r\n invalidCardType: function () {\r\n return \"Invalid or missing card type. Make sure the card's type property is set to \\\"AdaptiveCard\\\".\";\r\n },\r\n unsupportedCardVersion: function (version, maxSupportedVersion) {\r\n return \"The specified card version (\".concat(version, \") is not supported or still in preview. The latest released card version is \").concat(maxSupportedVersion, \".\");\r\n },\r\n duplicateId: function (id) { return \"Duplicate Id \\\"\".concat(id, \"\\\".\"); },\r\n markdownProcessingNotEnabled: function () {\r\n return \"Markdown processing isn't enabled. Please see https://www.npmjs.com/package/adaptivecards#supporting-markdown\";\r\n },\r\n processMarkdownEventRemoved: function () {\r\n return \"The processMarkdown event has been removed. Please update your code and set onProcessMarkdown instead.\";\r\n },\r\n elementAlreadyParented: function () { return \"The element already belongs to another container.\"; },\r\n actionAlreadyParented: function () { return \"The action already belongs to another element.\"; },\r\n elementTypeNotStandalone: function (typeName) {\r\n return \"Elements of type \".concat(typeName, \" cannot be used as standalone elements.\");\r\n },\r\n invalidInputLabelWidth: function () {\r\n return \"Invalid input label width. Defaulting to label width from host config.\";\r\n },\r\n };\r\n Strings.magicCodeInputCard = {\r\n tryAgain: function () { return \"That didn't work... let's try again.\"; },\r\n pleaseLogin: function () {\r\n return 'Please login in the popup. You will obtain a magic code. Paste that code below and select \"Submit\"';\r\n },\r\n enterMagicCode: function () { return \"Enter magic code\"; },\r\n pleaseEnterMagicCodeYouReceived: function () { return \"Please enter the magic code you received.\"; },\r\n submit: function () { return \"Submit\"; },\r\n cancel: function () { return \"Cancel\"; },\r\n somethingWentWrong: function () { return \"Something went wrong. This action can't be handled.\"; },\r\n authenticationFailed: function () { return \"Authentication failed.\"; }\r\n };\r\n Strings.runtime = {\r\n automaticRefreshPaused: function () { return \"Automatic refresh paused.\"; },\r\n clckToRestartAutomaticRefresh: function () { return \"Click to restart.\"; },\r\n refreshThisCard: function () { return \"Refresh this card\"; }\r\n };\r\n Strings.hints = {\r\n dontUseWeightedAndStrecthedColumnsInSameSet: function () {\r\n return \"It is not recommended to use weighted and stretched columns in the same ColumnSet, because in such a situation stretched columns will always get the minimum amount of space.\";\r\n }\r\n };\r\n Strings.defaults = {\r\n inlineActionTitle: function () { return \"Inline Action\"; },\r\n overflowButtonText: function () { return \"...\"; },\r\n overflowButtonTooltip: function () { return \"More options\"; },\r\n emptyElementText: function (elementType) { return \"Empty \".concat(elementType); },\r\n mediaPlayerAriaLabel: function () { return \"Media content\"; },\r\n mediaPlayerPlayMedia: function () { return \"Play media\"; },\r\n youTubeVideoPlayer: function () { return \"YouTube video player\"; },\r\n vimeoVideoPlayer: function () { return \"Vimeo video player\"; },\r\n dailymotionVideoPlayer: function () { return \"Dailymotion video player\"; },\r\n carouselNavigationPreviousTooltip: function () { return \"Previous carousel page\"; },\r\n carouselNavigationNextTooltip: function () { return \"Next carousel page\"; }\r\n };\r\n return Strings;\r\n}());\r\nexports.Strings = Strings;\r\n//# sourceMappingURL=strings.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Table = exports.TableRow = exports.TableCell = exports.StylableContainer = exports.TableColumnDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar enums_1 = require(\"./enums\");\r\nvar registry_1 = require(\"./registry\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar shared_1 = require(\"./shared\");\r\nvar strings_1 = require(\"./strings\");\r\nvar utils_1 = require(\"./utils\");\r\nvar TableColumnDefinition = /** @class */ (function (_super) {\r\n __extends(TableColumnDefinition, _super);\r\n function TableColumnDefinition() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.width = new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight);\r\n return _this;\r\n }\r\n TableColumnDefinition.prototype.getSchemaKey = function () {\r\n return \"ColumnDefinition\";\r\n };\r\n TableColumnDefinition.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableColumnDefinition.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n TableColumnDefinition.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_5, \"width\", function (sender, prop, source, context) {\r\n var result = prop.defaultValue;\r\n var value = source[prop.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, enums_1.SizeUnit.Weight);\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, enums_1.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value.unit === enums_1.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }, new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight));\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.horizontalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.verticalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"verticalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableColumnDefinition.widthProperty)\r\n ], TableColumnDefinition.prototype, \"width\", void 0);\r\n return TableColumnDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.TableColumnDefinition = TableColumnDefinition;\r\nvar StylableContainer = /** @class */ (function (_super) {\r\n __extends(StylableContainer, _super);\r\n function StylableContainer() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._items = [];\r\n return _this;\r\n }\r\n StylableContainer.prototype.parseItem = function (source, context) {\r\n var _this = this;\r\n return context.parseCardObject(this, source, [], // Forbidden types not supported for elements for now\r\n !this.isDesignMode(), function (typeName) {\r\n return _this.createItemInstance(typeName);\r\n }, function (typeName, _errorType) {\r\n context.logParseEvent(undefined, enums_1.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n StylableContainer.prototype.internalAddItem = function (item) {\r\n if (!item.parent) {\r\n this._items.push(item);\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n StylableContainer.prototype.internalRemoveItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n StylableContainer.prototype.internalIndexOf = function (item) {\r\n return this._items.indexOf(item);\r\n };\r\n StylableContainer.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._items = [];\r\n var items = source[this.getCollectionPropertyName()];\r\n if (Array.isArray(items)) {\r\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\r\n var item = items_1[_i];\r\n var instance = this.parseItem(item, context);\r\n if (instance) {\r\n this._items.push(instance);\r\n }\r\n }\r\n }\r\n };\r\n StylableContainer.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, this.getCollectionPropertyName(), this._items);\r\n };\r\n StylableContainer.prototype.removeItem = function (item) {\r\n return this.internalRemoveItem(item);\r\n };\r\n StylableContainer.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n StylableContainer.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n StylableContainer.prototype.getFirstVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(0) : undefined;\r\n };\r\n StylableContainer.prototype.getLastVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(this.getItemCount() - 1) : undefined;\r\n };\r\n return StylableContainer;\r\n}(card_elements_1.StylableCardElementContainer));\r\nexports.StylableContainer = StylableContainer;\r\nvar TableCell = /** @class */ (function (_super) {\r\n __extends(TableCell, _super);\r\n function TableCell() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columnIndex = -1;\r\n _this._cellType = \"data\";\r\n return _this;\r\n }\r\n TableCell.prototype.getHasBorder = function () {\r\n return this.parentRow.parentTable.showGridLines;\r\n };\r\n TableCell.prototype.applyBorder = function () {\r\n if (this.renderedElement && this.getHasBorder()) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.parentRow.parentTable.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = (0, utils_1.stringToCssColor)(styleDefinition.borderColor);\r\n if (borderColor) {\r\n this.renderedElement.style.borderRight = \"1px solid \" + borderColor;\r\n this.renderedElement.style.borderBottom = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n };\r\n TableCell.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder()\r\n ? new shared_1.PaddingDefinition(enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small)\r\n : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n TableCell.prototype.internalRender = function () {\r\n var cellElement = _super.prototype.internalRender.call(this);\r\n if (cellElement) {\r\n cellElement.setAttribute(\"role\", this.cellType === \"data\" ? \"cell\" : \"columnheader\");\r\n cellElement.style.minWidth = \"0\";\r\n if (this.cellType === \"header\") {\r\n cellElement.setAttribute(\"scope\", \"col\");\r\n }\r\n }\r\n return cellElement;\r\n };\r\n TableCell.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n TableCell.prototype.getJsonTypeName = function () {\r\n return \"TableCell\";\r\n };\r\n TableCell.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.cellType === \"header\") {\r\n return this.hostConfig.textStyles.columnHeader;\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TableCell.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parentRow.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.horizontalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var horizontalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).horizontalCellContentAlignment;\r\n if (horizontalAlignment !== undefined) {\r\n return horizontalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.horizontalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveHorizontalAlignment.call(this);\r\n };\r\n TableCell.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n if (this.parentRow.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.verticalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var verticalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).verticalCellContentAlignment;\r\n if (verticalAlignment !== undefined) {\r\n return verticalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.verticalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveVerticalContentAlignment.call(this);\r\n };\r\n Object.defineProperty(TableCell.prototype, \"columnIndex\", {\r\n get: function () {\r\n return this._columnIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"cellType\", {\r\n get: function () {\r\n return this._cellType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"parentRow\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return TableCell;\r\n}(card_elements_1.Container));\r\nexports.TableCell = TableCell;\r\nvar TableRow = /** @class */ (function (_super) {\r\n __extends(TableRow, _super);\r\n function TableRow() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n TableRow.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None);\r\n };\r\n TableRow.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = (0, utils_1.stringToCssColor)(styleDefinition.backgroundColor);\r\n if (bgColor) {\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n }\r\n };\r\n TableRow.prototype.getCollectionPropertyName = function () {\r\n return \"cells\";\r\n };\r\n TableRow.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableCell\" ? new TableCell() : undefined;\r\n };\r\n TableRow.prototype.internalRender = function () {\r\n var isFirstRow = this.getIsFirstRow();\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n var rowElement = document.createElement(\"div\");\r\n rowElement.setAttribute(\"role\", \"row\");\r\n rowElement.style.display = \"flex\";\r\n rowElement.style.flexDirection = \"row\";\r\n for (var i = 0; i < Math.min(this.getItemCount(), this.parentTable.getColumnCount()); i++) {\r\n var cell = this.getItemAt(i);\r\n // Cheating a bit in order to keep cellType read-only\r\n cell[\"_columnIndex\"] = i;\r\n cell[\"_cellType\"] =\r\n this.parentTable.firstRowAsHeaders && isFirstRow ? \"header\" : \"data\";\r\n var renderedCell = cell.render();\r\n if (renderedCell) {\r\n var column = this.parentTable.getColumnAt(i);\r\n if (column.computedWidth.unit === enums_1.SizeUnit.Pixel) {\r\n renderedCell.style.flex = \"0 0 \" + column.computedWidth.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedCell.style.flex = \"1 1 \" + column.computedWidth.physicalSize + \"%\";\r\n }\r\n if (i > 0 && !this.parentTable.showGridLines && cellSpacing > 0) {\r\n renderedCell.style.marginLeft = cellSpacing + \"px\";\r\n }\r\n rowElement.appendChild(renderedCell);\r\n }\r\n }\r\n return rowElement.children.length > 0 ? rowElement : undefined;\r\n };\r\n TableRow.prototype.shouldSerialize = function (_context) {\r\n return true;\r\n };\r\n TableRow.prototype.addCell = function (cell) {\r\n this.internalAddItem(cell);\r\n };\r\n TableRow.prototype.removeCellAt = function (columnIndex) {\r\n if (columnIndex >= 0 && columnIndex < this.getItemCount()) {\r\n return this.removeItem(this.getItemAt(columnIndex));\r\n }\r\n return false;\r\n };\r\n TableRow.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof TableCell ? this.internalIndexOf(cardElement) : -1;\r\n };\r\n TableRow.prototype.ensureHasEnoughCells = function (cellCount) {\r\n while (this.getItemCount() < cellCount) {\r\n this.addCell(new TableCell());\r\n }\r\n };\r\n TableRow.prototype.getJsonTypeName = function () {\r\n return \"TableRow\";\r\n };\r\n TableRow.prototype.getIsFirstRow = function () {\r\n return this.parentTable.getItemAt(0) === this;\r\n };\r\n Object.defineProperty(TableRow.prototype, \"parentTable\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableRow.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TableRow.styleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"style\");\r\n TableRow.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableRow.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n (0, serialization_1.property)(TableRow.horizontalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(TableRow.verticalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"verticalCellContentAlignment\", void 0);\r\n return TableRow;\r\n}(StylableContainer));\r\nexports.TableRow = TableRow;\r\nvar Table = /** @class */ (function (_super) {\r\n __extends(Table, _super);\r\n function Table() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n _this.firstRowAsHeaders = true;\r\n _this.showGridLines = true;\r\n return _this;\r\n }\r\n Object.defineProperty(Table.prototype, \"gridStyle\", {\r\n get: function () {\r\n var style = this.getValue(Table.gridStyleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(Table.gridStyleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n Table.prototype.ensureRowsHaveEnoughCells = function () {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).ensureHasEnoughCells(this.getColumnCount());\r\n }\r\n };\r\n Table.prototype.removeCellsFromColumn = function (columnIndex) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).removeCellAt(columnIndex);\r\n }\r\n };\r\n Table.prototype.getCollectionPropertyName = function () {\r\n return \"rows\";\r\n };\r\n Table.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableRow\" ? new TableRow() : undefined;\r\n };\r\n Table.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.internalRender = function () {\r\n if (this.getItemCount() > 0) {\r\n var totalWeights = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width.unit === enums_1.SizeUnit.Weight) {\r\n totalWeights += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width.unit === enums_1.SizeUnit.Pixel) {\r\n column.computedWidth = new shared_1.SizeAndUnit(column.width.physicalSize, enums_1.SizeUnit.Pixel);\r\n }\r\n else {\r\n column.computedWidth = new shared_1.SizeAndUnit((100 / totalWeights) * column.width.physicalSize, enums_1.SizeUnit.Weight);\r\n }\r\n }\r\n var tableElement = document.createElement(\"div\");\r\n tableElement.setAttribute(\"role\", \"table\");\r\n tableElement.style.display = \"flex\";\r\n tableElement.style.flexDirection = \"column\";\r\n if (this.showGridLines) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = (0, utils_1.stringToCssColor)(styleDefinition.borderColor);\r\n if (borderColor) {\r\n tableElement.style.borderTop = \"1px solid \" + borderColor;\r\n tableElement.style.borderLeft = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var renderedRow = this.getItemAt(i).render();\r\n if (renderedRow) {\r\n if (i > 0 && !this.showGridLines && cellSpacing > 0) {\r\n var separatorRow = document.createElement(\"div\");\r\n separatorRow.setAttribute(\"aria-hidden\", \"true\");\r\n separatorRow.style.height = cellSpacing + \"px\";\r\n tableElement.appendChild(separatorRow);\r\n }\r\n tableElement.appendChild(renderedRow);\r\n }\r\n }\r\n return tableElement;\r\n }\r\n return undefined;\r\n };\r\n Table.prototype.addColumn = function (column) {\r\n this._columns.push(column);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.removeColumn = function (column) {\r\n var index = this._columns.indexOf(column);\r\n if (index >= 0) {\r\n this.removeCellsFromColumn(index);\r\n this._columns.splice(index, 1);\r\n }\r\n };\r\n Table.prototype.getColumnCount = function () {\r\n return this._columns.length;\r\n };\r\n Table.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n Table.prototype.addRow = function (row) {\r\n this.internalAddItem(row);\r\n row.ensureHasEnoughCells(this.getColumnCount());\r\n };\r\n Table.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof TableRow ? this.internalIndexOf(cardElement) : -1;\r\n };\r\n Table.prototype.getJsonTypeName = function () {\r\n return \"Table\";\r\n };\r\n Table._columnsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_5, \"columns\", TableColumnDefinition);\r\n Table.firstRowAsHeadersProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"firstRowAsHeaders\", true);\r\n Table.showGridLinesProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"showGridLines\", true);\r\n Table.gridStyleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"gridStyle\");\r\n Table.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n Table.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n (0, serialization_1.property)(Table._columnsProperty)\r\n ], Table.prototype, \"_columns\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.firstRowAsHeadersProperty)\r\n ], Table.prototype, \"firstRowAsHeaders\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.showGridLinesProperty)\r\n ], Table.prototype, \"showGridLines\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.gridStyleProperty)\r\n ], Table.prototype, \"gridStyle\", null);\r\n __decorate([\r\n (0, serialization_1.property)(Table.horizontalCellContentAlignmentProperty)\r\n ], Table.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n (0, serialization_1.property)(Table.verticalCellContentAlignmentProperty)\r\n ], Table.prototype, \"verticalCellContentAlignment\", void 0);\r\n return Table;\r\n}(StylableContainer));\r\nexports.Table = Table;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Table\", Table, serialization_1.Versions.v1_5);\r\n//# sourceMappingURL=table.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.formatText = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar AbstractTextFormatter = /** @class */ (function () {\r\n function AbstractTextFormatter(regularExpression) {\r\n this._regularExpression = regularExpression;\r\n }\r\n AbstractTextFormatter.prototype.format = function (lang, input) {\r\n var matches;\r\n if (input) {\r\n var result = input;\r\n while ((matches = this._regularExpression.exec(input)) != null) {\r\n result = result.replace(matches[0], this.internalFormat(lang, matches));\r\n }\r\n return result;\r\n }\r\n else {\r\n return input;\r\n }\r\n };\r\n return AbstractTextFormatter;\r\n}());\r\nvar DateFormatter = /** @class */ (function (_super) {\r\n __extends(DateFormatter, _super);\r\n function DateFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n var format = matches[2] !== undefined ? matches[2].toLowerCase() : \"compact\";\r\n if (format !== \"compact\") {\r\n return date.toLocaleDateString(lang, {\r\n day: \"numeric\",\r\n weekday: format,\r\n month: format,\r\n year: \"numeric\"\r\n });\r\n }\r\n else {\r\n return date.toLocaleDateString();\r\n }\r\n };\r\n return DateFormatter;\r\n}(AbstractTextFormatter));\r\nvar TimeFormatter = /** @class */ (function (_super) {\r\n __extends(TimeFormatter, _super);\r\n function TimeFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n return date.toLocaleTimeString(lang, { hour: \"numeric\", minute: \"2-digit\" });\r\n };\r\n return TimeFormatter;\r\n}(AbstractTextFormatter));\r\nfunction formatText(lang, text) {\r\n var formatters = [\r\n new DateFormatter(/\\{{2}DATE\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))(?:, ?(COMPACT|LONG|SHORT))?\\)\\}{2}/g),\r\n new TimeFormatter(/\\{{2}TIME\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))\\)\\}{2}/g)\r\n ];\r\n var result = text;\r\n for (var _i = 0, formatters_1 = formatters; _i < formatters_1.length; _i++) {\r\n var formatter = formatters_1[_i];\r\n result = formatter.format(lang, result);\r\n }\r\n return result;\r\n}\r\nexports.formatText = formatText;\r\n//# sourceMappingURL=text-formatters.js.map","\"use strict\";\r\nvar _a;\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.debounce = exports.addCancelSelectActionEventHandler = exports.clearElementChildren = exports.getScrollY = exports.getScrollX = exports.getFitStatus = exports.truncate = exports.truncateText = exports.stringToCssColor = exports.parseEnum = exports.getEnumValueByName = exports.parseBool = exports.parseNumber = exports.parseString = exports.appendChild = exports.generateUniqueId = exports.isMobileOS = exports.isInternetExplorer = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Shared = require(\"./shared\");\r\nfunction isInternetExplorer() {\r\n // The documentMode property only exists in IE\r\n return window.document.documentMode !== undefined;\r\n}\r\nexports.isInternetExplorer = isInternetExplorer;\r\nfunction isMobileOS() {\r\n var userAgent = window.navigator.userAgent;\r\n return (!!userAgent.match(/Android/i) || !!userAgent.match(/iPad/i) || !!userAgent.match(/iPhone/i));\r\n}\r\nexports.isMobileOS = isMobileOS;\r\n/**\r\n * Generate a UUID prepended with \"__ac-\"\r\n */\r\nfunction generateUniqueId() {\r\n return \"__ac-\" + Shared.UUID.generate();\r\n}\r\nexports.generateUniqueId = generateUniqueId;\r\nfunction appendChild(node, child) {\r\n if (child) {\r\n node.appendChild(child);\r\n }\r\n}\r\nexports.appendChild = appendChild;\r\nfunction parseString(obj, defaultValue) {\r\n return typeof obj === \"string\" ? obj : defaultValue;\r\n}\r\nexports.parseString = parseString;\r\nfunction parseNumber(obj, defaultValue) {\r\n return typeof obj === \"number\" ? obj : defaultValue;\r\n}\r\nexports.parseNumber = parseNumber;\r\nfunction parseBool(value, defaultValue) {\r\n if (typeof value === \"boolean\") {\r\n return value;\r\n }\r\n else if (typeof value === \"string\") {\r\n switch (value.toLowerCase()) {\r\n case \"true\":\r\n return true;\r\n case \"false\":\r\n return false;\r\n default:\r\n return defaultValue;\r\n }\r\n }\r\n return defaultValue;\r\n}\r\nexports.parseBool = parseBool;\r\nfunction getEnumValueByName(enumType, name) {\r\n // eslint-disable-next-line guard-for-in\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n var value = enumType[key];\r\n if (value && typeof value === \"string\" && value.toLowerCase() === name.toLowerCase()) {\r\n return keyAsNumber;\r\n }\r\n }\r\n }\r\n return undefined;\r\n}\r\nexports.getEnumValueByName = getEnumValueByName;\r\nfunction parseEnum(enumType, name, defaultValue) {\r\n if (!name) {\r\n return defaultValue;\r\n }\r\n var enumValue = getEnumValueByName(enumType, name);\r\n return enumValue !== undefined ? enumValue : defaultValue;\r\n}\r\nexports.parseEnum = parseEnum;\r\nfunction stringToCssColor(color) {\r\n if (color) {\r\n var regEx = /#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?/gi;\r\n var matches = regEx.exec(color);\r\n if (matches && matches[4]) {\r\n var a = parseInt(matches[1], 16) / 255;\r\n var r = parseInt(matches[2], 16);\r\n var g = parseInt(matches[3], 16);\r\n var b = parseInt(matches[4], 16);\r\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + a + \")\";\r\n }\r\n }\r\n return color;\r\n}\r\nexports.stringToCssColor = stringToCssColor;\r\nfunction truncateWorker(element, maxHeight, fullText, truncateAt, lineHeight) {\r\n var fits = function () {\r\n // Allow a one pixel overflow to account for rounding differences\r\n // between browsers\r\n return maxHeight - element.scrollHeight >= -1.0;\r\n };\r\n if (fits()) {\r\n return;\r\n }\r\n var breakableIndices = findBreakableIndices(fullText);\r\n var lo = 0;\r\n var hi = breakableIndices.length;\r\n var bestBreakIdx = 0;\r\n // Do a binary search for the longest string that fits\r\n while (lo < hi) {\r\n var mid = Math.floor((lo + hi) / 2);\r\n truncateAt(fullText, breakableIndices[mid]);\r\n if (fits()) {\r\n bestBreakIdx = breakableIndices[mid];\r\n lo = mid + 1;\r\n }\r\n else {\r\n hi = mid;\r\n }\r\n }\r\n truncateAt(fullText, bestBreakIdx);\r\n // If we have extra room, try to expand the string letter by letter\r\n // (covers the case where we have to break in the middle of a long word)\r\n if (lineHeight && maxHeight - element.scrollHeight >= lineHeight - 1.0) {\r\n var idx = findNextCharacter(fullText, bestBreakIdx);\r\n while (idx < fullText.length) {\r\n truncateAt(fullText, idx);\r\n if (fits()) {\r\n bestBreakIdx = idx;\r\n idx = findNextCharacter(fullText, idx);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n truncateAt(fullText, bestBreakIdx);\r\n }\r\n}\r\nfunction truncateText(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerText, function (text, idx) {\r\n element.innerText = text.substring(0, idx) + \"...\";\r\n }, lineHeight);\r\n}\r\nexports.truncateText = truncateText;\r\n/**\r\n * {@link truncate} has been deprecated and is no longer in use internally. This policy passes\r\n * content through as it always has, which is _supposed_ to be dealing with text only (see {@link\r\n * TextBlock.truncateIfSupported}), but had a bug where it might actually pass through an element\r\n * for which innerHTML yielded actual HTML (since fixed).\r\n */\r\nvar ttDeprecatedPolicy = (typeof window === 'undefined') ? undefined : (_a = window.trustedTypes) === null || _a === void 0 ? void 0 : _a.createPolicy(\"adaptivecards#deprecatedExportedFunctionPolicy\", {\r\n createHTML: function (value) { return value; }\r\n});\r\n/** @deprecated Use {@link truncateText} instead. */\r\nfunction truncate(element, maxHeight, lineHeight) {\r\n truncateWorker(element, maxHeight, element.innerHTML, function (text, idx) {\r\n var _a;\r\n var truncatedString = text.substring(0, idx) + \"...\";\r\n var truncatedHTML = (_a = ttDeprecatedPolicy === null || ttDeprecatedPolicy === void 0 ? void 0 : ttDeprecatedPolicy.createHTML(truncatedString)) !== null && _a !== void 0 ? _a : truncatedString;\r\n element.innerHTML = truncatedHTML;\r\n }, lineHeight);\r\n}\r\nexports.truncate = truncate;\r\nfunction findBreakableIndices(html) {\r\n var results = [];\r\n var idx = findNextCharacter(html, -1);\r\n while (idx < html.length) {\r\n if (html[idx] === \" \") {\r\n results.push(idx);\r\n }\r\n idx = findNextCharacter(html, idx);\r\n }\r\n return results;\r\n}\r\nfunction findNextCharacter(html, currIdx) {\r\n currIdx += 1;\r\n // If we found the start of an HTML tag, keep advancing until we get\r\n // past it, so we don't end up truncating in the middle of the tag\r\n while (currIdx < html.length && html[currIdx] === \"<\") {\r\n while (currIdx < html.length && html[currIdx++] !== \">\") {\r\n continue;\r\n }\r\n }\r\n return currIdx;\r\n}\r\nfunction getFitStatus(element, containerEnd) {\r\n var start = element.offsetTop;\r\n var end = start + element.clientHeight;\r\n if (end <= containerEnd) {\r\n return Enums.ContainerFitStatus.FullyInContainer;\r\n }\r\n else if (start < containerEnd) {\r\n return Enums.ContainerFitStatus.Overflowing;\r\n }\r\n else {\r\n return Enums.ContainerFitStatus.FullyOutOfContainer;\r\n }\r\n}\r\nexports.getFitStatus = getFitStatus;\r\nfunction getScrollX() {\r\n return window.pageXOffset;\r\n}\r\nexports.getScrollX = getScrollX;\r\nfunction getScrollY() {\r\n return window.pageYOffset;\r\n}\r\nexports.getScrollY = getScrollY;\r\nfunction clearElementChildren(element) {\r\n while (element.firstChild) {\r\n element.removeChild(element.firstChild);\r\n }\r\n}\r\nexports.clearElementChildren = clearElementChildren;\r\nfunction addCancelSelectActionEventHandler(element) {\r\n element.onclick = function (e) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n };\r\n}\r\nexports.addCancelSelectActionEventHandler = addCancelSelectActionEventHandler;\r\nfunction debounce(fn, delay) {\r\n var timer;\r\n function debouncedFn() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(function () {\r\n fn.apply(void 0, args);\r\n }, delay);\r\n }\r\n return debouncedFn;\r\n}\r\nexports.debounce = debounce;\r\n//# sourceMappingURL=utils.js.map","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nfunction createDeferred() {\n var deferred = {};\n deferred.promise = new Promise(function (resolve, reject) {\n deferred.reject = reject;\n deferred.resolve = resolve;\n });\n return deferred;\n}\n\nvar _default = createDeferred;\nexports[\"default\"] = _default;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVEZWZlcnJlZC50cyJdLCJuYW1lcyI6WyJjcmVhdGVEZWZlcnJlZCIsImRlZmVycmVkIiwicHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTUEsU0FBU0EsY0FBVCxHQUEwQztBQUN4QyxNQUFNQyxRQUE4QixHQUFHLEVBQXZDO0FBRUFBLEVBQUFBLFFBQVEsQ0FBQ0MsT0FBVCxHQUFtQixJQUFJQyxPQUFKLENBQVksVUFBQ0MsT0FBRCxFQUFVQyxNQUFWLEVBQXFCO0FBQ2xESixJQUFBQSxRQUFRLENBQUNJLE1BQVQsR0FBa0JBLE1BQWxCO0FBQ0FKLElBQUFBLFFBQVEsQ0FBQ0csT0FBVCxHQUFtQkEsT0FBbkI7QUFDRCxHQUhrQixDQUFuQjtBQUtBLFNBQU9ILFFBQVA7QUFDRDs7ZUFFY0QsYyIsInNvdXJjZXNDb250ZW50IjpbInR5cGUgRGVmZXJyZWQ8VD4gPSB7XG4gIHByb21pc2U6IFByb21pc2U8VD47XG4gIHJlamVjdDogKHJlYXNvbj86IGFueSkgPT4gdm9pZDtcbiAgcmVzb2x2ZTogKHZhbHVlOiBUIHwgUHJvbWlzZUxpa2U8VD4pID0+IHZvaWQ7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVEZWZlcnJlZDxUPigpOiBEZWZlcnJlZDxUPiB7XG4gIGNvbnN0IGRlZmVycmVkOiBQYXJ0aWFsPERlZmVycmVkPFQ+PiA9IHt9O1xuXG4gIGRlZmVycmVkLnByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgZGVmZXJyZWQucmVqZWN0ID0gcmVqZWN0O1xuICAgIGRlZmVycmVkLnJlc29sdmUgPSByZXNvbHZlO1xuICB9KTtcblxuICByZXR1cm4gZGVmZXJyZWQgYXMgRGVmZXJyZWQ8VD47XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZURlZmVycmVkO1xuZXhwb3J0IHR5cGUgeyBEZWZlcnJlZCB9O1xuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = dedupeFilenames;\n\nvar _parseFilename2 = _interopRequireDefault(require(\"./parseFilename\"));\n\nfunction dedupeFilenames(array) {\n var nextArray = [];\n array.forEach(function (value) {\n var _parseFilename = (0, _parseFilename2[\"default\"])(value),\n extname = _parseFilename.extname,\n name = _parseFilename.name;\n\n var count = 0;\n var nextValue = value;\n\n while (nextArray.includes(nextValue)) {\n nextValue = [name, \"(\".concat(++count, \")\")].filter(function (segment) {\n return segment;\n }).join(' ') + extname;\n }\n\n nextArray.push(nextValue);\n });\n return nextArray;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWR1cGVGaWxlbmFtZXMudHMiXSwibmFtZXMiOlsiZGVkdXBlRmlsZW5hbWVzIiwiYXJyYXkiLCJuZXh0QXJyYXkiLCJmb3JFYWNoIiwidmFsdWUiLCJleHRuYW1lIiwibmFtZSIsImNvdW50IiwibmV4dFZhbHVlIiwiaW5jbHVkZXMiLCJmaWx0ZXIiLCJzZWdtZW50Iiwiam9pbiIsInB1c2giXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVlLFNBQVNBLGVBQVQsQ0FBeUJDLEtBQXpCLEVBQTBDO0FBQ3JELE1BQU1DLFNBQW1CLEdBQUcsRUFBNUI7QUFFQUQsRUFBQUEsS0FBSyxDQUFDRSxPQUFOLENBQWMsVUFBQUMsS0FBSyxFQUFJO0FBQ25CLHlCQUEwQixnQ0FBY0EsS0FBZCxDQUExQjtBQUFBLFFBQVFDLE9BQVIsa0JBQVFBLE9BQVI7QUFBQSxRQUFpQkMsSUFBakIsa0JBQWlCQSxJQUFqQjs7QUFDQSxRQUFJQyxLQUFLLEdBQUcsQ0FBWjtBQUNBLFFBQUlDLFNBQVMsR0FBR0osS0FBaEI7O0FBRUEsV0FBT0YsU0FBUyxDQUFDTyxRQUFWLENBQW1CRCxTQUFuQixDQUFQLEVBQXNDO0FBQ2xDQSxNQUFBQSxTQUFTLEdBQUcsQ0FBQ0YsSUFBRCxhQUFhLEVBQUVDLEtBQWYsUUFBMkJHLE1BQTNCLENBQWtDLFVBQUFDLE9BQU87QUFBQSxlQUFJQSxPQUFKO0FBQUEsT0FBekMsRUFBc0RDLElBQXRELENBQTJELEdBQTNELElBQWtFUCxPQUE5RTtBQUNIOztBQUVESCxJQUFBQSxTQUFTLENBQUNXLElBQVYsQ0FBZUwsU0FBZjtBQUNILEdBVkQ7QUFZQSxTQUFPTixTQUFQO0FBQ0giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGFyc2VGaWxlbmFtZSBmcm9tICcuL3BhcnNlRmlsZW5hbWUnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkZWR1cGVGaWxlbmFtZXMoYXJyYXk6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgbmV4dEFycmF5OiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgYXJyYXkuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGNvbnN0IHsgZXh0bmFtZSwgbmFtZSB9ID0gcGFyc2VGaWxlbmFtZSh2YWx1ZSk7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGxldCBuZXh0VmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICB3aGlsZSAobmV4dEFycmF5LmluY2x1ZGVzKG5leHRWYWx1ZSkpIHtcbiAgICAgICAgICAgIG5leHRWYWx1ZSA9IFtuYW1lLCBgKCR7ICgrK2NvdW50KSB9KWBdLmZpbHRlcihzZWdtZW50ID0+IHNlZ21lbnQpLmpvaW4oJyAnKSArIGV4dG5hbWU7XG4gICAgICAgIH1cblxuICAgICAgICBuZXh0QXJyYXkucHVzaChuZXh0VmFsdWUpO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIG5leHRBcnJheTtcbn1cbiJdfQ==","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"DirectLineStreaming\", {\n enumerable: true,\n get: function get() {\n return _directLineStreaming.DirectLineStreaming;\n }\n});\nexports.DirectLine = exports.ConnectionStatus = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nrequire(\"core-js/features/promise\");\n\nrequire(\"url-search-params-polyfill\");\n\nvar _BehaviorSubject = require(\"rxjs/BehaviorSubject\");\n\nvar _Observable = require(\"rxjs/Observable\");\n\nvar _async = require(\"rxjs/scheduler/async\");\n\nvar _jwtDecode = _interopRequireWildcard(require(\"jwt-decode\"));\n\nrequire(\"rxjs/add/operator/catch\");\n\nrequire(\"rxjs/add/operator/combineLatest\");\n\nrequire(\"rxjs/add/operator/count\");\n\nrequire(\"rxjs/add/operator/delay\");\n\nrequire(\"rxjs/add/operator/do\");\n\nrequire(\"rxjs/add/operator/filter\");\n\nrequire(\"rxjs/add/operator/map\");\n\nrequire(\"rxjs/add/operator/mergeMap\");\n\nrequire(\"rxjs/add/operator/concatMap\");\n\nrequire(\"rxjs/add/operator/retryWhen\");\n\nrequire(\"rxjs/add/operator/share\");\n\nrequire(\"rxjs/add/operator/take\");\n\nrequire(\"rxjs/add/observable/dom/ajax\");\n\nrequire(\"rxjs/add/observable/empty\");\n\nrequire(\"rxjs/add/observable/from\");\n\nrequire(\"rxjs/add/observable/interval\");\n\nrequire(\"rxjs/add/observable/of\");\n\nrequire(\"rxjs/add/observable/throw\");\n\nvar _dedupeFilenames = _interopRequireDefault(require(\"./dedupeFilenames\"));\n\nvar _directLineStreaming = require(\"./directLineStreaming\");\n\nvar _excluded = [\"contentUrl\"];\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar DIRECT_LINE_VERSION = 'DirectLine/3.0';\n// These types are specific to this client library, not to Direct Line 3.0\nvar ConnectionStatus;\nexports.ConnectionStatus = ConnectionStatus;\n\n(function (ConnectionStatus) {\n ConnectionStatus[ConnectionStatus[\"Uninitialized\"] = 0] = \"Uninitialized\";\n ConnectionStatus[ConnectionStatus[\"Connecting\"] = 1] = \"Connecting\";\n ConnectionStatus[ConnectionStatus[\"Online\"] = 2] = \"Online\";\n ConnectionStatus[ConnectionStatus[\"ExpiredToken\"] = 3] = \"ExpiredToken\";\n ConnectionStatus[ConnectionStatus[\"FailedToConnect\"] = 4] = \"FailedToConnect\";\n ConnectionStatus[ConnectionStatus[\"Ended\"] = 5] = \"Ended\";\n})(ConnectionStatus || (exports.ConnectionStatus = ConnectionStatus = {}));\n\nvar wrapAjaxWithRetry = function wrapAjaxWithRetry(source, scheduler) {\n var notImplemented = function notImplemented() {\n throw new Error('not implemented');\n };\n\n var inner = function inner(response$) {\n return response$[\"catch\"](function (err) {\n if (err.status === 429) {\n var retryAfterValue = err.xhr.getResponseHeader('Retry-After');\n var retryAfter = Number(retryAfterValue);\n\n if (!isNaN(retryAfter)) {\n return _Observable.Observable.timer(retryAfter, scheduler).flatMap(function (_) {\n return _Observable.Observable[\"throw\"](err, scheduler);\n });\n }\n }\n\n return _Observable.Observable[\"throw\"](err, scheduler);\n });\n };\n\n var outer = function outer(urlOrRequest) {\n return inner(source(urlOrRequest));\n };\n\n return Object.assign(outer, {\n get: function get(url, headers) {\n return notImplemented();\n },\n post: function post(url, body, headers) {\n return notImplemented();\n },\n put: function put(url, body, headers) {\n return notImplemented();\n },\n patch: function patch(url, body, headers) {\n return notImplemented();\n },\n \"delete\": function _delete(url, headers) {\n return notImplemented();\n },\n getJSON: function getJSON(url, headers) {\n return notImplemented();\n }\n });\n};\n\nvar makeServices = function makeServices(services) {\n var scheduler = services.scheduler || _async.async;\n return {\n scheduler: scheduler,\n ajax: wrapAjaxWithRetry(services.ajax || _Observable.Observable.ajax, scheduler),\n WebSocket: services.WebSocket || WebSocket,\n random: services.random || Math.random\n };\n};\n\nvar lifetimeRefreshToken = 30 * 60 * 1000;\nvar intervalRefreshToken = lifetimeRefreshToken / 2;\nvar POLLING_INTERVAL_LOWER_BOUND = 200; //ms\n\nvar errorExpiredToken = new Error(\"expired token\");\nvar errorConversationEnded = new Error(\"conversation ended\");\nvar errorFailedToConnect = new Error(\"failed to connect\");\nvar konsole = {\n log: function log(message) {\n var _console;\n\n for (var _len = arguments.length, optionalParams = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n optionalParams[_key - 1] = arguments[_key];\n }\n\n if (typeof window !== 'undefined' && window[\"botchatDebug\"] && message) (_console = console).log.apply(_console, [message].concat(optionalParams));\n }\n};\n\nvar DirectLine = /*#__PURE__*/function () {\n function DirectLine(options) {\n (0, _classCallCheck2[\"default\"])(this, DirectLine);\n (0, _defineProperty2[\"default\"])(this, \"connectionStatus$\", new _BehaviorSubject.BehaviorSubject(ConnectionStatus.Uninitialized));\n (0, _defineProperty2[\"default\"])(this, \"domain\", \"https://directline.botframework.com/v3/directline\");\n (0, _defineProperty2[\"default\"])(this, \"watermark\", '');\n (0, _defineProperty2[\"default\"])(this, \"_botAgent\", '');\n (0, _defineProperty2[\"default\"])(this, \"timeout\", 20 * 1000);\n (0, _defineProperty2[\"default\"])(this, \"pollingInterval\", 1000);\n this.secret = options.secret;\n this.token = options.secret || options.token;\n this.webSocket = (options.webSocket === undefined ? true : options.webSocket) && typeof WebSocket !== 'undefined' && WebSocket !== undefined;\n\n if (options.conversationStartProperties && options.conversationStartProperties.locale) {\n if (Object.prototype.toString.call(options.conversationStartProperties.locale) === '[object String]') {\n this.localeOnStartConversation = options.conversationStartProperties.locale;\n } else {\n console.warn('DirectLineJS: conversationStartProperties.locale was ignored: the locale name may be a BCP 47 language tag');\n }\n }\n\n if (options.domain) {\n this.domain = options.domain;\n }\n\n if (options.conversationId) {\n this.conversationId = options.conversationId;\n }\n\n if (options.watermark) {\n this.watermark = options.watermark;\n }\n\n if (options.streamUrl) {\n if (options.token && options.conversationId) {\n this.streamUrl = options.streamUrl;\n } else {\n console.warn('DirectLineJS: streamUrl was ignored: you need to provide a token and a conversationid');\n }\n }\n\n if (options.timeout !== undefined) {\n this.timeout = options.timeout;\n }\n\n this.retries = (lifetimeRefreshToken - intervalRefreshToken) / this.timeout;\n this._botAgent = this.getBotAgent(options.botAgent);\n this.services = makeServices(options);\n var parsedPollingInterval = ~~options.pollingInterval;\n\n if (parsedPollingInterval < POLLING_INTERVAL_LOWER_BOUND) {\n if (typeof options.pollingInterval !== 'undefined') {\n console.warn(\"DirectLineJS: provided pollingInterval (\".concat(options.pollingInterval, \") is under lower bound (200ms), using default of 1000ms\"));\n }\n } else {\n this.pollingInterval = parsedPollingInterval;\n }\n\n this.expiredTokenExhaustion = this.setConnectionStatusFallback(ConnectionStatus.ExpiredToken, ConnectionStatus.FailedToConnect, 5);\n this.activity$ = (this.webSocket ? this.webSocketActivity$() : this.pollingGetActivity$()).share();\n } // Every time we're about to make a Direct Line REST call, we call this first to see check the current connection status.\n // Either throws an error (indicating an error state) or emits a null, indicating a (presumably) healthy connection\n\n\n (0, _createClass2[\"default\"])(DirectLine, [{\n key: \"checkConnection\",\n value: function checkConnection() {\n var _this = this;\n\n var once = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var obs = this.connectionStatus$.flatMap(function (connectionStatus) {\n if (connectionStatus === ConnectionStatus.Uninitialized) {\n _this.connectionStatus$.next(ConnectionStatus.Connecting); //if token and streamUrl are defined it means reconnect has already been done. Skipping it.\n\n\n if (_this.token && _this.streamUrl) {\n _this.connectionStatus$.next(ConnectionStatus.Online);\n\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n } else {\n return _this.startConversation()[\"do\"](function (conversation) {\n _this.conversationId = conversation.conversationId;\n _this.token = _this.secret || conversation.token;\n _this.streamUrl = conversation.streamUrl;\n _this.referenceGrammarId = conversation.referenceGrammarId;\n if (!_this.secret) _this.refreshTokenLoop();\n\n _this.connectionStatus$.next(ConnectionStatus.Online);\n }, function (error) {\n _this.connectionStatus$.next(ConnectionStatus.FailedToConnect);\n }).map(function (_) {\n return connectionStatus;\n });\n }\n } else {\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n }\n }).filter(function (connectionStatus) {\n return connectionStatus != ConnectionStatus.Uninitialized && connectionStatus != ConnectionStatus.Connecting;\n }).flatMap(function (connectionStatus) {\n switch (connectionStatus) {\n case ConnectionStatus.Ended:\n return _Observable.Observable[\"throw\"](errorConversationEnded, _this.services.scheduler);\n\n case ConnectionStatus.FailedToConnect:\n return _Observable.Observable[\"throw\"](errorFailedToConnect, _this.services.scheduler);\n\n case ConnectionStatus.ExpiredToken:\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n\n default:\n return _Observable.Observable.of(connectionStatus, _this.services.scheduler);\n }\n });\n return once ? obs.take(1) : obs;\n }\n }, {\n key: \"setConnectionStatusFallback\",\n value: function setConnectionStatusFallback(connectionStatusFrom, connectionStatusTo) {\n var maxAttempts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 5;\n maxAttempts--;\n var attempts = 0;\n var currStatus = null;\n return function (status) {\n if (status === connectionStatusFrom && currStatus === status && attempts >= maxAttempts) {\n attempts = 0;\n return connectionStatusTo;\n }\n\n attempts++;\n currStatus = status;\n return status;\n };\n }\n }, {\n key: \"expiredToken\",\n value: function expiredToken() {\n var connectionStatus = this.connectionStatus$.getValue();\n if (connectionStatus != ConnectionStatus.Ended && connectionStatus != ConnectionStatus.FailedToConnect) this.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n var protectedConnectionStatus = this.expiredTokenExhaustion(this.connectionStatus$.getValue());\n this.connectionStatus$.next(protectedConnectionStatus);\n }\n }, {\n key: \"startConversation\",\n value: function startConversation() {\n var _this2 = this;\n\n //if conversationid is set here, it means we need to call the reconnect api, else it is a new conversation\n var url = this.conversationId ? \"\".concat(this.domain, \"/conversations/\").concat(this.conversationId, \"?watermark=\").concat(this.watermark) : \"\".concat(this.domain, \"/conversations\");\n var method = this.conversationId ? \"GET\" : \"POST\";\n var body = this.conversationId ? undefined : {\n user: {\n id: this.userIdOnStartConversation\n },\n locale: this.localeOnStartConversation\n };\n return this.services.ajax({\n method: method,\n url: url,\n body: body,\n timeout: this.timeout,\n headers: _objectSpread({\n \"Accept\": \"application/json\",\n \"Content-Type\": \"application/json\"\n }, this.commonHeaders())\n }) // .do(ajaxResponse => konsole.log(\"conversation ajaxResponse\", ajaxResponse.response))\n .map(function (ajaxResponse) {\n return ajaxResponse.response;\n }).retryWhen(function (error$) {\n return (// for now we deem 4xx and 5xx errors as unrecoverable\n // for everything else (timeouts), retry for a while\n error$.mergeMap(function (error) {\n return error.status >= 400 && error.status < 600 ? _Observable.Observable[\"throw\"](error, _this2.services.scheduler) : _Observable.Observable.of(error, _this2.services.scheduler);\n }).delay(_this2.timeout, _this2.services.scheduler).take(_this2.retries)\n );\n });\n }\n }, {\n key: \"refreshTokenLoop\",\n value: function refreshTokenLoop() {\n var _this3 = this;\n\n this.tokenRefreshSubscription = _Observable.Observable.interval(intervalRefreshToken, this.services.scheduler).flatMap(function (_) {\n return _this3.refreshToken();\n }).subscribe(function (token) {\n konsole.log(\"refreshing token\", token, \"at\", new Date());\n _this3.token = token;\n });\n }\n }, {\n key: \"refreshToken\",\n value: function refreshToken() {\n var _this4 = this;\n\n return this.checkConnection(true).flatMap(function (_) {\n return _this4.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this4.domain, \"/tokens/refresh\"),\n timeout: _this4.timeout,\n headers: _objectSpread({}, _this4.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.token;\n }).retryWhen(function (error$) {\n return error$.mergeMap(function (error) {\n if (error.status === 403) {\n // if the token is expired there's no reason to keep trying\n _this4.expiredToken();\n\n return _Observable.Observable[\"throw\"](error, _this4.services.scheduler);\n } else if (error.status === 404) {\n // If the bot is gone, we should stop retrying\n return _Observable.Observable[\"throw\"](error, _this4.services.scheduler);\n }\n\n return _Observable.Observable.of(error, _this4.services.scheduler);\n }).delay(_this4.timeout, _this4.services.scheduler).take(_this4.retries);\n });\n });\n }\n }, {\n key: \"reconnect\",\n value: function reconnect(conversation) {\n this.token = conversation.token;\n this.streamUrl = conversation.streamUrl;\n if (this.connectionStatus$.getValue() === ConnectionStatus.ExpiredToken) this.connectionStatus$.next(ConnectionStatus.Online);\n }\n }, {\n key: \"end\",\n value: function end() {\n if (this.tokenRefreshSubscription) this.tokenRefreshSubscription.unsubscribe();\n\n try {\n this.connectionStatus$.next(ConnectionStatus.Ended);\n } catch (e) {\n if (e === errorConversationEnded) return;\n throw e;\n }\n }\n }, {\n key: \"getSessionId\",\n value: function getSessionId() {\n var _this5 = this;\n\n // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n konsole.log(\"getSessionId\");\n return this.checkConnection(true).flatMap(function (_) {\n return _this5.services.ajax({\n method: \"GET\",\n url: \"\".concat(_this5.domain, \"/session/getsessionid\"),\n withCredentials: true,\n timeout: _this5.timeout,\n headers: _objectSpread({\n \"Content-Type\": \"application/json\"\n }, _this5.commonHeaders())\n }).map(function (ajaxResponse) {\n if (ajaxResponse && ajaxResponse.response && ajaxResponse.response.sessionId) {\n konsole.log(\"getSessionId response: \" + ajaxResponse.response.sessionId);\n return ajaxResponse.response.sessionId;\n }\n\n return '';\n })[\"catch\"](function (error) {\n konsole.log(\"getSessionId error: \" + error.status);\n return _Observable.Observable.of('', _this5.services.scheduler);\n });\n })[\"catch\"](function (error) {\n return _this5.catchExpiredToken(error);\n });\n }\n }, {\n key: \"postActivity\",\n value: function postActivity(activity) {\n var _this6 = this;\n\n // If user id is set, check if it match activity.from.id and always override it in activity\n if (this.userIdOnStartConversation && activity.from && activity.from.id !== this.userIdOnStartConversation) {\n console.warn('DirectLineJS: Activity.from.id does not match with user id, ignoring activity.from.id');\n activity.from.id = this.userIdOnStartConversation;\n } // Use postMessageWithAttachments for messages with attachments that are local files (e.g. an image to upload)\n // Technically we could use it for *all* activities, but postActivity is much lighter weight\n // So, since WebChat is partially a reference implementation of Direct Line, we implement both.\n\n\n if (activity.type === \"message\" && activity.attachments && activity.attachments.length > 0) return this.postMessageWithAttachments(activity); // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n\n konsole.log(\"postActivity\", activity);\n return this.checkConnection(true).flatMap(function (_) {\n return _this6.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this6.domain, \"/conversations/\").concat(_this6.conversationId, \"/activities\"),\n body: activity,\n timeout: _this6.timeout,\n headers: _objectSpread({\n \"Content-Type\": \"application/json\"\n }, _this6.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.id;\n })[\"catch\"](function (error) {\n return _this6.catchPostError(error);\n });\n })[\"catch\"](function (error) {\n return _this6.catchExpiredToken(error);\n });\n }\n }, {\n key: \"postMessageWithAttachments\",\n value: function postMessageWithAttachments(message) {\n var _this7 = this;\n\n var attachments = message.attachments; // We clean the attachments but making sure every attachment has unique name.\n // If the file do not have a name, Chrome will assign \"blob\" when it is appended to FormData.\n\n var attachmentNames = (0, _dedupeFilenames[\"default\"])(attachments.map(function (media) {\n return media.name || 'blob';\n }));\n var cleansedAttachments = attachments.map(function (attachment, index) {\n return _objectSpread(_objectSpread({}, attachment), {}, {\n name: attachmentNames[index]\n });\n });\n var formData; // If we're not connected to the bot, get connected\n // Will throw an error if we are not connected\n\n return this.checkConnection(true).flatMap(function (_) {\n // To send this message to DirectLine we need to deconstruct it into a \"template\" activity\n // and one blob for each attachment.\n formData = new FormData();\n formData.append('activity', new Blob([JSON.stringify(_objectSpread(_objectSpread({}, message), {}, {\n // Removing contentUrl from attachment, we will send it via multipart\n attachments: cleansedAttachments.map(function (_ref) {\n var string = _ref.contentUrl,\n others = (0, _objectWithoutProperties2[\"default\"])(_ref, _excluded);\n return _objectSpread({}, others);\n })\n }))], {\n type: 'application/vnd.microsoft.activity'\n }));\n return _Observable.Observable.from(cleansedAttachments, _this7.services.scheduler).flatMap(function (media) {\n return _this7.services.ajax({\n method: \"GET\",\n url: media.contentUrl,\n responseType: 'arraybuffer'\n })[\"do\"](function (ajaxResponse) {\n return formData.append('file', new Blob([ajaxResponse.response], {\n type: media.contentType\n }), media.name);\n });\n }).count();\n }).flatMap(function (_) {\n return _this7.services.ajax({\n method: \"POST\",\n url: \"\".concat(_this7.domain, \"/conversations/\").concat(_this7.conversationId, \"/upload?userId=\").concat(message.from.id),\n body: formData,\n timeout: _this7.timeout,\n headers: _objectSpread({}, _this7.commonHeaders())\n }).map(function (ajaxResponse) {\n return ajaxResponse.response.id;\n })[\"catch\"](function (error) {\n return _this7.catchPostError(error);\n });\n })[\"catch\"](function (error) {\n return _this7.catchPostError(error);\n });\n }\n }, {\n key: \"catchPostError\",\n value: function catchPostError(error) {\n if (error.status === 403) // token has expired (will fall through to return \"retry\")\n this.expiredToken();else if (error.status >= 400 && error.status < 500) // more unrecoverable errors\n return _Observable.Observable[\"throw\"](error, this.services.scheduler);\n return _Observable.Observable.of(\"retry\", this.services.scheduler);\n }\n }, {\n key: \"catchExpiredToken\",\n value: function catchExpiredToken(error) {\n return error === errorExpiredToken ? _Observable.Observable.of(\"retry\", this.services.scheduler) : _Observable.Observable[\"throw\"](error, this.services.scheduler);\n }\n }, {\n key: \"pollingGetActivity$\",\n value: function pollingGetActivity$() {\n var _this8 = this;\n\n var poller$ = _Observable.Observable.create(function (subscriber) {\n // A BehaviorSubject to trigger polling. Since it is a BehaviorSubject\n // the first event is produced immediately.\n var trigger$ = new _BehaviorSubject.BehaviorSubject({}); // TODO: remove Date.now, use reactive interval to space out every request\n\n trigger$.subscribe(function () {\n if (_this8.connectionStatus$.getValue() === ConnectionStatus.Online) {\n var startTimestamp = Date.now();\n\n _this8.services.ajax({\n headers: _objectSpread({\n Accept: 'application/json'\n }, _this8.commonHeaders()),\n method: 'GET',\n url: \"\".concat(_this8.domain, \"/conversations/\").concat(_this8.conversationId, \"/activities?watermark=\").concat(_this8.watermark),\n timeout: _this8.timeout\n }).subscribe(function (result) {\n subscriber.next(result);\n setTimeout(function () {\n return trigger$.next(null);\n }, Math.max(0, _this8.pollingInterval - Date.now() + startTimestamp));\n }, function (error) {\n switch (error.status) {\n case 403:\n _this8.connectionStatus$.next(ConnectionStatus.ExpiredToken);\n\n setTimeout(function () {\n return trigger$.next(null);\n }, _this8.pollingInterval);\n break;\n\n case 404:\n _this8.connectionStatus$.next(ConnectionStatus.Ended);\n\n break;\n\n default:\n // propagate the error\n subscriber.error(error);\n break;\n }\n });\n }\n });\n });\n\n return this.checkConnection().flatMap(function (_) {\n return poller$[\"catch\"](function () {\n return _Observable.Observable.empty();\n }).map(function (ajaxResponse) {\n return ajaxResponse.response;\n }).flatMap(function (activityGroup) {\n return _this8.observableFromActivityGroup(activityGroup);\n });\n });\n }\n }, {\n key: \"observableFromActivityGroup\",\n value: function observableFromActivityGroup(activityGroup) {\n if (activityGroup.watermark) this.watermark = activityGroup.watermark;\n return _Observable.Observable.from(activityGroup.activities, this.services.scheduler);\n }\n }, {\n key: \"webSocketActivity$\",\n value: function webSocketActivity$() {\n var _this9 = this;\n\n return this.checkConnection().flatMap(function (_) {\n return _this9.observableWebSocket() // WebSockets can be closed by the server or the browser. In the former case we need to\n // retrieve a new streamUrl. In the latter case we could first retry with the current streamUrl,\n // but it's simpler just to always fetch a new one.\n .retryWhen(function (error$) {\n return error$.delay(_this9.getRetryDelay(), _this9.services.scheduler).mergeMap(function (error) {\n return _this9.reconnectToConversation();\n });\n });\n }).flatMap(function (activityGroup) {\n return _this9.observableFromActivityGroup(activityGroup);\n });\n } // Returns the delay duration in milliseconds\n\n }, {\n key: \"getRetryDelay\",\n value: function getRetryDelay() {\n return Math.floor(3000 + this.services.random() * 12000);\n } // Originally we used Observable.webSocket, but it's fairly opinionated and I ended up writing\n // a lot of code to work around their implementation details. Since WebChat is meant to be a reference\n // implementation, I decided roll the below, where the logic is more purposeful. - @billba\n\n }, {\n key: \"observableWebSocket\",\n value: function observableWebSocket() {\n var _this10 = this;\n\n return _Observable.Observable.create(function (subscriber) {\n konsole.log(\"creating WebSocket\", _this10.streamUrl);\n var ws = new _this10.services.WebSocket(_this10.streamUrl);\n var sub;\n var closed;\n\n ws.onopen = function (open) {\n konsole.log(\"WebSocket open\", open); // Chrome is pretty bad at noticing when a WebSocket connection is broken.\n // If we periodically ping the server with empty messages, it helps Chrome\n // realize when connection breaks, and close the socket. We then throw an\n // error, and that give us the opportunity to attempt to reconnect.\n\n sub = _Observable.Observable.interval(_this10.timeout, _this10.services.scheduler).subscribe(function (_) {\n try {\n ws.send(\"\");\n } catch (e) {\n konsole.log(\"Ping error\", e);\n }\n });\n };\n\n ws.onclose = function (close) {\n konsole.log(\"WebSocket close\", close);\n if (sub) sub.unsubscribe(); // RxJS.retryWhen has a bug that would cause \"error\" signal to be sent after the observable is completed/errored.\n // We need to guard against extraneous \"error\" signal to workaround the bug.\n\n closed || subscriber.error(close);\n closed = true;\n };\n\n ws.onerror = function (error) {\n konsole.log(\"WebSocket error\", error);\n if (sub) sub.unsubscribe(); // RxJS.retryWhen has a bug that would cause \"error\" signal to be sent after the observable is completed/errored.\n // We need to guard against extraneous \"error\" signal to workaround the bug.\n\n closed || subscriber.error(error);\n closed = true;\n };\n\n ws.onmessage = function (message) {\n return message.data && subscriber.next(JSON.parse(message.data));\n }; // This is the 'unsubscribe' method, which is called when this observable is disposed.\n // When the WebSocket closes itself, we throw an error, and this function is eventually called.\n // When the observable is closed first (e.g. when tearing down a WebChat instance) then\n // we need to manually close the WebSocket.\n\n\n return function () {\n if (ws.readyState === 0 || ws.readyState === 1) ws.close();\n };\n });\n }\n }, {\n key: \"reconnectToConversation\",\n value: function reconnectToConversation() {\n var _this11 = this;\n\n return this.checkConnection(true).flatMap(function (_) {\n return _this11.services.ajax({\n method: \"GET\",\n url: \"\".concat(_this11.domain, \"/conversations/\").concat(_this11.conversationId, \"?watermark=\").concat(_this11.watermark),\n timeout: _this11.timeout,\n headers: _objectSpread({\n \"Accept\": \"application/json\"\n }, _this11.commonHeaders())\n })[\"do\"](function (result) {\n if (!_this11.secret) _this11.token = result.response.token;\n _this11.streamUrl = result.response.streamUrl;\n }).map(function (_) {\n return null;\n }).retryWhen(function (error$) {\n return error$.mergeMap(function (error) {\n if (error.status === 403) {\n // token has expired. We can't recover from this here, but the embedding\n // website might eventually call reconnect() with a new token and streamUrl.\n _this11.expiredToken();\n } else if (error.status === 404) {\n return _Observable.Observable[\"throw\"](errorConversationEnded, _this11.services.scheduler);\n }\n\n return _Observable.Observable.of(error, _this11.services.scheduler);\n }).delay(_this11.timeout, _this11.services.scheduler).take(_this11.retries);\n });\n });\n }\n }, {\n key: \"commonHeaders\",\n value: function commonHeaders() {\n return {\n \"Authorization\": \"Bearer \".concat(this.token),\n \"x-ms-bot-agent\": this._botAgent\n };\n }\n }, {\n key: \"getBotAgent\",\n value: function getBotAgent() {\n var customAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var clientAgent = 'directlinejs';\n\n if (customAgent) {\n clientAgent += \"; \".concat(customAgent);\n }\n\n return \"\".concat(DIRECT_LINE_VERSION, \" (\").concat(clientAgent, \" \").concat(\"0.15.5\", \")\");\n }\n }, {\n key: \"setUserId\",\n value: function setUserId(userId) {\n if (this.connectionStatus$.getValue() === ConnectionStatus.Online) {\n throw new Error('DirectLineJS: It is connected, we cannot set user id.');\n }\n\n var userIdFromToken = this.parseToken(this.token);\n\n if (userIdFromToken) {\n return console.warn('DirectLineJS: user id is already set in token, will ignore this user id.');\n }\n\n if (/^dl_/.test(userId)) {\n return console.warn('DirectLineJS: user id prefixed with \"dl_\" is reserved and must be embedded into the Direct Line token to prevent forgery.');\n }\n\n this.userIdOnStartConversation = userId;\n }\n }, {\n key: \"parseToken\",\n value: function parseToken(token) {\n try {\n var _ref2 = (0, _jwtDecode[\"default\"])(token),\n user = _ref2.user;\n\n return user;\n } catch (e) {\n if (e instanceof _jwtDecode.InvalidTokenError) {\n return undefined;\n }\n }\n }\n }]);\n return DirectLine;\n}();\n\nexports.DirectLine = DirectLine;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJDb25uZWN0aW9uU3RhdHVzIiwid3JhcEFqYXhXaXRoUmV0cnkiLCJzb3VyY2UiLCJzY2hlZHVsZXIiLCJub3RJbXBsZW1lbnRlZCIsIkVycm9yIiwiaW5uZXIiLCJyZXNwb25zZSQiLCJlcnIiLCJzdGF0dXMiLCJyZXRyeUFmdGVyVmFsdWUiLCJ4aHIiLCJnZXRSZXNwb25zZUhlYWRlciIsInJldHJ5QWZ0ZXIiLCJOdW1iZXIiLCJpc05hTiIsIk9ic2VydmFibGUiLCJ0aW1lciIsImZsYXRNYXAiLCJfIiwib3V0ZXIiLCJ1cmxPclJlcXVlc3QiLCJPYmplY3QiLCJhc3NpZ24iLCJnZXQiLCJ1cmwiLCJoZWFkZXJzIiwicG9zdCIsImJvZHkiLCJwdXQiLCJwYXRjaCIsImdldEpTT04iLCJtYWtlU2VydmljZXMiLCJzZXJ2aWNlcyIsIkFzeW5jU2NoZWR1bGVyIiwiYWpheCIsIldlYlNvY2tldCIsInJhbmRvbSIsIk1hdGgiLCJsaWZldGltZVJlZnJlc2hUb2tlbiIsImludGVydmFsUmVmcmVzaFRva2VuIiwiUE9MTElOR19JTlRFUlZBTF9MT1dFUl9CT1VORCIsImVycm9yRXhwaXJlZFRva2VuIiwiZXJyb3JDb252ZXJzYXRpb25FbmRlZCIsImVycm9yRmFpbGVkVG9Db25uZWN0Iiwia29uc29sZSIsImxvZyIsIm1lc3NhZ2UiLCJvcHRpb25hbFBhcmFtcyIsIndpbmRvdyIsImNvbnNvbGUiLCJEaXJlY3RMaW5lIiwib3B0aW9ucyIsIkJlaGF2aW9yU3ViamVjdCIsIlVuaW5pdGlhbGl6ZWQiLCJzZWNyZXQiLCJ0b2tlbiIsIndlYlNvY2tldCIsInVuZGVmaW5lZCIsImNvbnZlcnNhdGlvblN0YXJ0UHJvcGVydGllcyIsImxvY2FsZSIsInByb3RvdHlwZSIsInRvU3RyaW5nIiwiY2FsbCIsImxvY2FsZU9uU3RhcnRDb252ZXJzYXRpb24iLCJ3YXJuIiwiZG9tYWluIiwiY29udmVyc2F0aW9uSWQiLCJ3YXRlcm1hcmsiLCJzdHJlYW1VcmwiLCJ0aW1lb3V0IiwicmV0cmllcyIsIl9ib3RBZ2VudCIsImdldEJvdEFnZW50IiwiYm90QWdlbnQiLCJwYXJzZWRQb2xsaW5nSW50ZXJ2YWwiLCJwb2xsaW5nSW50ZXJ2YWwiLCJleHBpcmVkVG9rZW5FeGhhdXN0aW9uIiwic2V0Q29ubmVjdGlvblN0YXR1c0ZhbGxiYWNrIiwiRXhwaXJlZFRva2VuIiwiRmFpbGVkVG9Db25uZWN0IiwiYWN0aXZpdHkkIiwid2ViU29ja2V0QWN0aXZpdHkkIiwicG9sbGluZ0dldEFjdGl2aXR5JCIsInNoYXJlIiwib25jZSIsIm9icyIsImNvbm5lY3Rpb25TdGF0dXMkIiwiY29ubmVjdGlvblN0YXR1cyIsIm5leHQiLCJDb25uZWN0aW5nIiwiT25saW5lIiwib2YiLCJzdGFydENvbnZlcnNhdGlvbiIsImNvbnZlcnNhdGlvbiIsInJlZmVyZW5jZUdyYW1tYXJJZCIsInJlZnJlc2hUb2tlbkxvb3AiLCJlcnJvciIsIm1hcCIsImZpbHRlciIsIkVuZGVkIiwidGFrZSIsImNvbm5lY3Rpb25TdGF0dXNGcm9tIiwiY29ubmVjdGlvblN0YXR1c1RvIiwibWF4QXR0ZW1wdHMiLCJhdHRlbXB0cyIsImN1cnJTdGF0dXMiLCJnZXRWYWx1ZSIsInByb3RlY3RlZENvbm5lY3Rpb25TdGF0dXMiLCJtZXRob2QiLCJ1c2VyIiwiaWQiLCJ1c2VySWRPblN0YXJ0Q29udmVyc2F0aW9uIiwiY29tbW9uSGVhZGVycyIsImFqYXhSZXNwb25zZSIsInJlc3BvbnNlIiwicmV0cnlXaGVuIiwiZXJyb3IkIiwibWVyZ2VNYXAiLCJkZWxheSIsInRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbiIsImludGVydmFsIiwicmVmcmVzaFRva2VuIiwic3Vic2NyaWJlIiwiRGF0ZSIsImNoZWNrQ29ubmVjdGlvbiIsImV4cGlyZWRUb2tlbiIsInVuc3Vic2NyaWJlIiwiZSIsIndpdGhDcmVkZW50aWFscyIsInNlc3Npb25JZCIsImNhdGNoRXhwaXJlZFRva2VuIiwiYWN0aXZpdHkiLCJmcm9tIiwidHlwZSIsImF0dGFjaG1lbnRzIiwibGVuZ3RoIiwicG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMiLCJjYXRjaFBvc3RFcnJvciIsImF0dGFjaG1lbnROYW1lcyIsIm1lZGlhIiwibmFtZSIsImNsZWFuc2VkQXR0YWNobWVudHMiLCJhdHRhY2htZW50IiwiaW5kZXgiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiQmxvYiIsIkpTT04iLCJzdHJpbmdpZnkiLCJzdHJpbmciLCJjb250ZW50VXJsIiwib3RoZXJzIiwicmVzcG9uc2VUeXBlIiwiY29udGVudFR5cGUiLCJjb3VudCIsInBvbGxlciQiLCJjcmVhdGUiLCJzdWJzY3JpYmVyIiwidHJpZ2dlciQiLCJzdGFydFRpbWVzdGFtcCIsIm5vdyIsIkFjY2VwdCIsInJlc3VsdCIsInNldFRpbWVvdXQiLCJtYXgiLCJlbXB0eSIsImFjdGl2aXR5R3JvdXAiLCJvYnNlcnZhYmxlRnJvbUFjdGl2aXR5R3JvdXAiLCJhY3Rpdml0aWVzIiwib2JzZXJ2YWJsZVdlYlNvY2tldCIsImdldFJldHJ5RGVsYXkiLCJyZWNvbm5lY3RUb0NvbnZlcnNhdGlvbiIsImZsb29yIiwid3MiLCJzdWIiLCJjbG9zZWQiLCJvbm9wZW4iLCJvcGVuIiwic2VuZCIsIm9uY2xvc2UiLCJjbG9zZSIsIm9uZXJyb3IiLCJvbm1lc3NhZ2UiLCJkYXRhIiwicGFyc2UiLCJyZWFkeVN0YXRlIiwiY3VzdG9tQWdlbnQiLCJjbGllbnRBZ2VudCIsInVzZXJJZCIsInVzZXJJZEZyb21Ub2tlbiIsInBhcnNlVG9rZW4iLCJ0ZXN0IiwiSW52YWxpZFRva2VuRXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFJQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFD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QUNIOzs7V0FFRCxtQkFBVUMsTUFBVixFQUEwQjtBQUN0QixVQUFJLEtBQUt2RyxpQkFBTCxDQUF1Qm9CLFFBQXZCLE9BQXNDM0csZ0JBQWdCLENBQUMyRixNQUEzRCxFQUFtRTtBQUMvRCxjQUFNLElBQUl0RixLQUFKLENBQVUsdURBQVYsQ0FBTjtBQUNIOztBQUVELFVBQU0wTCxlQUFlLEdBQUcsS0FBS0MsVUFBTCxDQUFnQixLQUFLeEksS0FBckIsQ0FBeEI7O0FBQ0EsVUFBSXVJLGVBQUosRUFBcUI7QUFDakIsZUFBTzdJLE9BQU8sQ0FBQ2UsSUFBUixDQUFhLDBFQUFiLENBQVA7QUFDSDs7QUFFRCxVQUFJLE9BQVFnSSxJQUFSLENBQWFILE1BQWIsQ0FBSixFQUEwQjtBQUN0QixlQUFPNUksT0FBTyxDQUFDZSxJQUFSLENBQWEsMkhBQWIsQ0FBUDtBQUNIOztBQUVELFdBQUsrQyx5QkFBTCxHQUFpQzhFLE1BQWpDO0FBQ0g7OztXQUVELG9CQUFtQnRJLEtBQW5CLEVBQWtDO0FBQzlCLFVBQUk7QUFDQSxvQkFBaUIsMkJBQXNCQSxLQUF0QixDQUFqQjtBQUFBLFlBQVFzRCxJQUFSLFNBQVFBLElBQVI7O0FBQ0EsZUFBT0EsSUFBUDtBQUNILE9BSEQsQ0FHRSxPQUFPa0IsQ0FBUCxFQUFVO0FBQ1IsWUFBSUEsQ0FBQyxZQUFZa0UsNEJBQWpCLEVBQW9DO0FBQ2hDLGlCQUFPeEksU0FBUDtBQUNIO0FBQ0o7QUFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEluIG9yZGVyIHRvIGtlZXAgZmlsZSBzaXplIGRvd24sIG9ubHkgaW1wb3J0IHRoZSBwYXJ0cyBvZiByeGpzIHRoYXQgd2UgdXNlXG5cbmltcG9ydCAnY29yZS1qcy9mZWF0dXJlcy9wcm9taXNlJztcbmltcG9ydCAndXJsLXNlYXJjaC1wYXJhbXMtcG9seWZpbGwnO1xuaW1wb3J0IHsgQWpheFJlc3BvbnNlLCBBamF4Q3JlYXRpb25NZXRob2QsIEFqYXhSZXF1ZXN0LCBBamF4RXJyb3IgfSBmcm9tICdyeGpzL29ic2VydmFibGUvZG9tL0FqYXhPYnNlcnZhYmxlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzL09ic2VydmFibGUnO1xuaW1wb3J0IHsgSVNjaGVkdWxlciB9IGZyb20gJ3J4anMvU2NoZWR1bGVyJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgYXN5bmMgYXMgQXN5bmNTY2hlZHVsZXIgfSBmcm9tICdyeGpzL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgand0RGVjb2RlLCB7IEp3dFBheWxvYWQsIEludmFsaWRUb2tlbkVycm9yIH0gZnJvbSAnand0LWRlY29kZSc7XG5cbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY2F0Y2gnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9jb21iaW5lTGF0ZXN0JztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvY291bnQnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9kZWxheSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL2RvJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvZmlsdGVyJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWFwJztcbmltcG9ydCAncnhqcy9hZGQvb3BlcmF0b3IvbWVyZ2VNYXAnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9jb25jYXRNYXAnO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9yZXRyeVdoZW4nO1xuaW1wb3J0ICdyeGpzL2FkZC9vcGVyYXRvci9zaGFyZSc7XG5pbXBvcnQgJ3J4anMvYWRkL29wZXJhdG9yL3Rha2UnO1xuXG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvZG9tL2FqYXgnO1xuaW1wb3J0ICdyeGpzL2FkZC9vYnNlcnZhYmxlL2VtcHR5JztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS9mcm9tJztcbmltcG9ydCAncnhqcy9hZGQvb2JzZXJ2YWJsZS9pbnRlcnZhbCc7XG5pbXBvcnQgJ3J4anMvYWRkL29ic2VydmFibGUvb2YnO1xuaW1wb3J0ICdyeGpzL2FkZC9vYnNlcnZhYmxlL3Rocm93JztcblxuaW1wb3J0IGRlZHVwZUZpbGVuYW1lcyBmcm9tICcuL2RlZHVwZUZpbGVuYW1lcyc7XG5pbXBvcnQgeyBvYmplY3RFeHByZXNzaW9uIH0gZnJvbSAnQGJhYmVsL3R5cGVzJztcblxuaW1wb3J0IHsgRGlyZWN0TGluZVN0cmVhbWluZyB9IGZyb20gJy4vZGlyZWN0TGluZVN0cmVhbWluZyc7XG5leHBvcnQgeyBEaXJlY3RMaW5lU3RyZWFtaW5nIH07XG5cbmNvbnN0IERJUkVDVF9MSU5FX1ZFUlNJT04gPSAnRGlyZWN0TGluZS8zLjAnO1xuXG5kZWNsYXJlIHZhciBwcm9jZXNzOiB7XG4gICAgYXJjaDogc3RyaW5nO1xuICAgIGVudjoge1xuICAgICAgICBWRVJTSU9OOiBzdHJpbmc7XG4gICAgICAgIG5wbV9wYWNrYWdlX3ZlcnNpb246IHN0cmluZztcbiAgICB9O1xuICAgIHBsYXRmb3JtOiBzdHJpbmc7XG4gICAgcmVsZWFzZTogc3RyaW5nO1xuICAgIHZlcnNpb246IHN0cmluZztcbn07XG5cbi8vIERpcmVjdCBMaW5lIDMuMCB0eXBlc1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbnZlcnNhdGlvbiB7XG4gICAgY29udmVyc2F0aW9uSWQ6IHN0cmluZyxcbiAgICB0b2tlbjogc3RyaW5nLFxuICAgIGVUYWc/OiBzdHJpbmcsXG4gICAgc3RyZWFtVXJsPzogc3RyaW5nLFxuICAgIHJlZmVyZW5jZUdyYW1tYXJJZD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBNZWRpYVR5cGUgPSBcImltYWdlL3BuZ1wiIHwgXCJpbWFnZS9qcGdcIiB8IFwiaW1hZ2UvanBlZ1wiIHwgXCJpbWFnZS9naWZcIiB8IFwiaW1hZ2Uvc3ZnK3htbFwiIHwgXCJhdWRpby9tcGVnXCIgfCBcImF1ZGlvL21wNFwiIHwgXCJ2aWRlby9tcDRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNZWRpYSB7XG4gICAgY29udGVudFR5cGU6IE1lZGlhVHlwZSxcbiAgICBjb250ZW50VXJsOiBzdHJpbmcsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICB0aHVtYm5haWxVcmw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVbmtub3duTWVkaWF7XG4gICAgY29udGVudFR5cGU6IHN0cmluZyxcbiAgICBjb250ZW50VXJsOiBzdHJpbmcsXG4gICAgbmFtZT86IHN0cmluZyxcbiAgICB0aHVtYm5haWxVcmw/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2FyZEFjdGlvblR5cGVzID0gXCJjYWxsXCIgfCBcImRvd25sb2FkRmlsZVwifCBcImltQmFja1wiIHwgXCJtZXNzYWdlQmFja1wiIHwgXCJvcGVuVXJsXCIgfCBcInBsYXlBdWRpb1wiIHwgXCJwbGF5VmlkZW9cIiB8IFwicG9zdEJhY2tcIiB8IFwic2lnbmluXCIgfCBcInNob3dJbWFnZVwiO1xuXG5leHBvcnQgdHlwZSBDYXJkQWN0aW9uID0gQ2FsbENhcmRBY3Rpb24gfCBEb3dubG9hZEZpbGVDYXJkQWN0aW9uIHwgSU1CYWNrQ2FyZEFjdGlvbiB8IE1lc3NhZ2VCYWNrQ2FyZEFjdGlvbiB8IE9wZW5VUkxDYXJkQWN0aW9uIHwgUGxheUF1ZGlvQ2FyZEFjdGlvbiB8IFBsYXlWaWRlb0NhcmRBY3Rpb24gfCBQb3N0QmFja0NhcmRBY3Rpb24gfCBTaWduSW5DYXJkQWN0aW9uIHwgU2hvd0ltYWdlQ2FyZEFjdGlvbjtcblxuZXhwb3J0IGludGVyZmFjZSBDYWxsQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcImNhbGxcIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRGaWxlQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcImRvd25sb2FkRmlsZVwiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTUJhY2tDYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZT86IHN0cmluZyxcbiAgICB0eXBlOiBcImltQmFja1wiLFxuICAgIHZhbHVlOiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgTWVzc2FnZUJhY2tDYXJkQWN0aW9uID0gTWVzc2FnZUJhY2tXaXRoSW1hZ2UgfCBNZXNzYWdlQmFja1dpdGhUaXRsZVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VCYWNrV2l0aEltYWdlIHtcbiAgICBkaXNwbGF5VGV4dD86IHN0cmluZyxcbiAgICBpbWFnZTogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgdHlwZTogXCJtZXNzYWdlQmFja1wiLFxuICAgIHZhbHVlPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUJhY2tXaXRoVGl0bGUge1xuICAgIGRpc3BsYXlUZXh0Pzogc3RyaW5nLFxuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcIm1lc3NhZ2VCYWNrXCIsXG4gICAgdmFsdWU/OiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcGVuVVJMQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcIm9wZW5VcmxcIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGxheUF1ZGlvQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU6IHN0cmluZyxcbiAgICB0eXBlOiBcInBsYXlBdWRpb1wiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQbGF5VmlkZW9DYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHR5cGU6IFwicGxheVZpZGVvXCIsXG4gICAgdmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3RCYWNrQ2FyZEFjdGlvbiB7XG4gICAgaW1hZ2U/OiBzdHJpbmcsXG4gICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgdHlwZTogXCJwb3N0QmFja1wiLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaG93SW1hZ2VDYXJkQWN0aW9uIHtcbiAgICBpbWFnZT86IHN0cmluZyxcbiAgICB0aXRsZTogc3RyaW5nLFxuICAgIHR5cGU6IFwic2hvd0ltYWdlXCIsXG4gICAgdmFsdWU6IGFueVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JbkNhcmRBY3Rpb24ge1xuICAgIGltYWdlPzogc3RyaW5nLFxuICAgIHRpdGxlOiBzdHJpbmcsXG4gICAgdHlwZTogXCJzaWduaW5cIixcbiAgICB2YWx1ZTogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FyZEltYWdlIHtcbiAgICBhbHQ/OiBzdHJpbmcsXG4gICAgdXJsOiBzdHJpbmcsXG4gICAgdGFwPzogQ2FyZEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhlcm9DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuaGVyb1wiLFxuICAgIGNvbnRlbnQ6IHtcbiAgICAgICAgdGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHN1YnRpdGxlPzogc3RyaW5nLFxuICAgICAgICB0ZXh0Pzogc3RyaW5nLFxuICAgICAgICBpbWFnZXM/OiBDYXJkSW1hZ2VbXSxcbiAgICAgICAgYnV0dG9ucz86IENhcmRBY3Rpb25bXSxcbiAgICAgICAgdGFwPzogQ2FyZEFjdGlvblxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHVtYm5haWwge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC50aHVtYm5haWxcIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZyxcbiAgICAgICAgdGV4dD86IHN0cmluZyxcbiAgICAgICAgaW1hZ2VzPzogQ2FyZEltYWdlW10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIHRhcD86IENhcmRBY3Rpb25cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuc2lnbmluXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0ZXh0Pzogc3RyaW5nLFxuICAgICAgICBidXR0b25zPzogQ2FyZEFjdGlvbltdXG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9BdXRoIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQub2F1dGhcIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIGNvbm5lY3Rpb25uYW1lOiBzdHJpbmcsXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW11cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVjZWlwdEl0ZW0ge1xuICAgIHRpdGxlPzogc3RyaW5nLFxuICAgIHN1YnRpdGxlPzogc3RyaW5nLFxuICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgaW1hZ2U/OiBDYXJkSW1hZ2UsXG4gICAgcHJpY2U/OiBzdHJpbmcsXG4gICAgcXVhbnRpdHk/OiBzdHJpbmcsXG4gICAgdGFwPzogQ2FyZEFjdGlvblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlY2VpcHQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5yZWNlaXB0XCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgZmFjdHM/OiB7IGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIH1bXSxcbiAgICAgICAgaXRlbXM/OiBSZWNlaXB0SXRlbVtdLFxuICAgICAgICB0YXA/OiBDYXJkQWN0aW9uLFxuICAgICAgICB0YXg/OiBzdHJpbmcsXG4gICAgICAgIHZhdD86IHN0cmluZyxcbiAgICAgICAgdG90YWw/OiBzdHJpbmcsXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW11cbiAgICB9XG59XG5cbi8vIERlcHJlY2F0ZWQgZm9ybWF0IGZvciBTa3lwZSBjaGFubmVscy4gRm9yIHRlc3RpbmcgbGVnYWN5IGJvdHMgaW4gRW11bGF0b3Igb25seS5cbmV4cG9ydCBpbnRlcmZhY2UgRmxleENhcmQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5mbGV4XCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIGltYWdlcz86IENhcmRJbWFnZVtdLFxuICAgICAgICBidXR0b25zPzogQ2FyZEFjdGlvbltdLFxuICAgICAgICBhc3BlY3Q/OiBzdHJpbmdcbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXVkaW9DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuYXVkaW9cIixcbiAgICBjb250ZW50OiB7XG4gICAgICAgIHRpdGxlPzogc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZT86IHN0cmluZyxcbiAgICAgICAgdGV4dD86IHN0cmluZyxcbiAgICAgICAgbWVkaWE/OiB7IHVybDogc3RyaW5nLCBwcm9maWxlPzogc3RyaW5nIH1bXSxcbiAgICAgICAgYnV0dG9ucz86IENhcmRBY3Rpb25bXSxcbiAgICAgICAgYXV0b2xvb3A/OiBib29sZWFuLFxuICAgICAgICBhdXRvc3RhcnQ/OiBib29sZWFuXG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFZpZGVvQ2FyZCB7XG4gICAgY29udGVudFR5cGU6IFwiYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5jYXJkLnZpZGVvXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIG1lZGlhPzogeyB1cmw6IHN0cmluZywgcHJvZmlsZT86IHN0cmluZyB9W10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIGltYWdlPzogeyB1cmw6IHN0cmluZywgYWx0Pzogc3RyaW5nIH0sXG4gICAgICAgIGF1dG9sb29wPzogYm9vbGVhbixcbiAgICAgICAgYXV0b3N0YXJ0PzogYm9vbGVhblxuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGFwdGl2ZUNhcmQge1xuICAgIGNvbnRlbnRUeXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuY2FyZC5hZGFwdGl2ZVwiLFxuICAgIGNvbnRlbnQ6IGFueTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBbmltYXRpb25DYXJkIHtcbiAgICBjb250ZW50VHlwZTogXCJhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuYW5pbWF0aW9uXCIsXG4gICAgY29udGVudDoge1xuICAgICAgICB0aXRsZT86IHN0cmluZyxcbiAgICAgICAgc3VidGl0bGU/OiBzdHJpbmcsXG4gICAgICAgIHRleHQ/OiBzdHJpbmcsXG4gICAgICAgIG1lZGlhPzogeyB1cmw6IHN0cmluZywgcHJvZmlsZT86IHN0cmluZyB9W10sXG4gICAgICAgIGJ1dHRvbnM/OiBDYXJkQWN0aW9uW10sXG4gICAgICAgIGltYWdlPzogeyB1cmw6IHN0cmluZywgYWx0Pzogc3RyaW5nIH0sXG4gICAgICAgIGF1dG9sb29wPzogYm9vbGVhbixcbiAgICAgICAgYXV0b3N0YXJ0PzogYm9vbGVhblxuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgS25vd25NZWRpYSA9IE1lZGlhIHwgSGVyb0NhcmQgfCBUaHVtYm5haWwgfCBTaWduaW4gfCBPQXV0aCB8IFJlY2VpcHQgfCBBdWRpb0NhcmQgfCBWaWRlb0NhcmQgfCBBbmltYXRpb25DYXJkIHwgRmxleENhcmQgfCBBZGFwdGl2ZUNhcmQ7XG5leHBvcnQgdHlwZSBBdHRhY2htZW50ID0gS25vd25NZWRpYSB8IFVua25vd25NZWRpYTtcblxuZXhwb3J0IHR5cGUgVXNlclJvbGUgPSBcImJvdFwiIHwgXCJjaGFubmVsXCIgfCBcInVzZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcbiAgICBpZDogc3RyaW5nLFxuICAgIG5hbWU/OiBzdHJpbmcsXG4gICAgaWNvblVybD86IHN0cmluZyxcbiAgICByb2xlPzogVXNlclJvbGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQWN0aXZpdHkge1xuICAgIHR5cGU6IHN0cmluZyxcbiAgICBjaGFubmVsRGF0YT86IGFueSxcbiAgICBjaGFubmVsSWQ/OiBzdHJpbmcsXG4gICAgY29udmVyc2F0aW9uPzogeyBpZDogc3RyaW5nIH0sXG4gICAgZVRhZz86IHN0cmluZyxcbiAgICBmcm9tOiBVc2VyLFxuICAgIGlkPzogc3RyaW5nLFxuICAgIHRpbWVzdGFtcD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50TGF5b3V0ID0gXCJsaXN0XCIgfCBcImNhcm91c2VsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSBleHRlbmRzIElBY3Rpdml0eSB7XG4gICAgdHlwZTogXCJtZXNzYWdlXCIsXG4gICAgdGV4dD86IHN0cmluZyxcbiAgICBsb2NhbGU/OiBzdHJpbmcsXG4gICAgdGV4dEZvcm1hdD86IFwicGxhaW5cIiB8IFwibWFya2Rvd25cIiB8IFwieG1sXCIsXG4gICAgYXR0YWNobWVudExheW91dD86IEF0dGFjaG1lbnRMYXlvdXQsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50W10sXG4gICAgZW50aXRpZXM/OiBhbnlbXSxcbiAgICBzdWdnZXN0ZWRBY3Rpb25zPzogeyBhY3Rpb25zOiBDYXJkQWN0aW9uW10sIHRvPzogc3RyaW5nW10gfSxcbiAgICBzcGVhaz86IHN0cmluZyxcbiAgICBpbnB1dEhpbnQ/OiBzdHJpbmcsXG4gICAgdmFsdWU/OiBvYmplY3Rcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUeXBpbmcgZXh0ZW5kcyBJQWN0aXZpdHkge1xuICAgIHR5cGU6IFwidHlwaW5nXCJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFdmVudEFjdGl2aXR5IGV4dGVuZHMgSUFjdGl2aXR5IHtcbiAgICB0eXBlOiBcImV2ZW50XCIsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHZhbHVlOiBhbnlcbn1cblxuZXhwb3J0IHR5cGUgQWN0aXZpdHkgPSBNZXNzYWdlIHwgVHlwaW5nIHwgRXZlbnRBY3Rpdml0eTtcblxuZXhwb3J0IGludGVyZmFjZSBBY3Rpdml0eUdyb3VwIHtcbiAgICBhY3Rpdml0aWVzOiBBY3Rpdml0eVtdLFxuICAgIHdhdGVybWFyazogc3RyaW5nXG59XG5cbi8vIFRoZXNlIHR5cGVzIGFyZSBzcGVjaWZpYyB0byB0aGlzIGNsaWVudCBsaWJyYXJ5LCBub3QgdG8gRGlyZWN0IExpbmUgMy4wXG5cbmV4cG9ydCBlbnVtIENvbm5lY3Rpb25TdGF0dXMge1xuICAgIFVuaW5pdGlhbGl6ZWQsICAgICAgICAgICAgICAvLyB0aGUgc3RhdHVzIHdoZW4gdGhlIERpcmVjdExpbmUgb2JqZWN0IGlzIGZpcnN0IGNyZWF0ZWQvY29uc3RydWN0ZWRcbiAgICBDb25uZWN0aW5nLCAgICAgICAgICAgICAgICAgLy8gY3VycmVudGx5IHRyeWluZyB0byBjb25uZWN0IHRvIHRoZSBjb252ZXJzYXRpb25cbiAgICBPbmxpbmUsICAgICAgICAgICAgICAgICAgICAgLy8gc3VjY2Vzc2Z1bGx5IGNvbm5lY3RlZCB0byB0aGUgY29udmVyc2F0aW9uLiBDb25uZWN0aW9uIGlzIGhlYWx0aHkgc28gZmFyIGFzIHdlIGtub3cuXG4gICAgRXhwaXJlZFRva2VuLCAgICAgICAgICAgICAgIC8vIGxhc3Qgb3BlcmF0aW9uIGVycm9yZWQgb3V0IHdpdGggYW4gZXhwaXJlZCB0b2tlbi4gUG9zc2libHkgd2FpdGluZyBmb3Igc29tZW9uZSB0byBzdXBwbHkgYSBuZXcgb25lLlxuICAgIEZhaWxlZFRvQ29ubmVjdCwgICAgICAgICAgICAvLyB0aGUgaW5pdGlhbCBhdHRlbXB0IHRvIGNvbm5lY3QgdG8gdGhlIGNvbnZlcnNhdGlvbiBmYWlsZWQuIE5vIHJlY292ZXJ5IHBvc3NpYmxlLlxuICAgIEVuZGVkICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGUgYm90IGVuZGVkIHRoZSBjb252ZXJzYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEaXJlY3RMaW5lT3B0aW9ucyB7XG4gICAgc2VjcmV0Pzogc3RyaW5nLFxuICAgIHRva2VuPzogc3RyaW5nLFxuICAgIGNvbnZlcnNhdGlvbklkPzogc3RyaW5nLFxuICAgIHdhdGVybWFyaz86IHN0cmluZyxcbiAgICBkb21haW4/OiBzdHJpbmcsXG4gICAgd2ViU29ja2V0PzogYm9vbGVhbixcbiAgICBwb2xsaW5nSW50ZXJ2YWw/OiBudW1iZXIsXG4gICAgc3RyZWFtVXJsPzogc3RyaW5nLFxuICAgIHRpbWVvdXQ/OiBudW1iZXIsXG4gICAgLy8gQXR0YWNoZWQgdG8gYWxsIHJlcXVlc3RzIHRvIGlkZW50aWZ5IHJlcXVlc3RpbmcgYWdlbnQuXG4gICAgYm90QWdlbnQ/OiBzdHJpbmcsXG4gICAgY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VydmljZXMge1xuICAgIHNjaGVkdWxlcjogSVNjaGVkdWxlcjtcbiAgICBXZWJTb2NrZXQ6IHR5cGVvZiBXZWJTb2NrZXQ7XG4gICAgYWpheDogQWpheENyZWF0aW9uTWV0aG9kO1xuICAgIHJhbmRvbTogKCkgPT4gbnVtYmVyO1xufVxuXG5jb25zdCB3cmFwQWpheFdpdGhSZXRyeSA9IChzb3VyY2U6IEFqYXhDcmVhdGlvbk1ldGhvZCwgc2NoZWR1bGVyOiBJU2NoZWR1bGVyKTogQWpheENyZWF0aW9uTWV0aG9kID0+e1xuXG4gICAgY29uc3Qgbm90SW1wbGVtZW50ZWQgPSAoKTogbmV2ZXIgPT4geyB0aHJvdyBuZXcgRXJyb3IoJ25vdCBpbXBsZW1lbnRlZCcpOyB9O1xuXG4gICAgY29uc3QgaW5uZXIgPSAocmVzcG9uc2UkIDogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+KSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZSRcbiAgICAgICAgLmNhdGNoPEFqYXhSZXNwb25zZSwgQWpheFJlc3BvbnNlPigoZXJyKSA9PiB7XG4gICAgICAgICAgICBpZihlcnIuc3RhdHVzID09PSA0Mjkpe1xuICAgICAgICAgICAgICAgIGNvbnN0IHJldHJ5QWZ0ZXJWYWx1ZSA9IGVyci54aHIuZ2V0UmVzcG9uc2VIZWFkZXIoJ1JldHJ5LUFmdGVyJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcmV0cnlBZnRlciA9IE51bWJlcihyZXRyeUFmdGVyVmFsdWUpO1xuICAgICAgICAgICAgICAgIGlmKCFpc05hTihyZXRyeUFmdGVyKSl7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLnRpbWVyKHJldHJ5QWZ0ZXIsIHNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICAgICAgLmZsYXRNYXAoXyA9PiBPYnNlcnZhYmxlLnRocm93KGVyciwgc2NoZWR1bGVyKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnIsIHNjaGVkdWxlcik7XG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBvdXRlciA9ICh1cmxPclJlcXVlc3Q6IHN0cmluZ3wgQWpheFJlcXVlc3QpID0+IHtcbiAgICAgICAgcmV0dXJuIGlubmVyKHNvdXJjZSh1cmxPclJlcXVlc3QpKTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIE9iamVjdC5hc3NpZ24ob3V0ZXIsIHtcbiAgICAgICAgZ2V0OiAodXJsOiBzdHJpbmcsIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgcG9zdDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgICAgIHB1dDogKHVybDogc3RyaW5nLCBib2R5PzogYW55LCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxBamF4UmVzcG9uc2U+ID0+IG5vdEltcGxlbWVudGVkKCksXG4gICAgICAgIHBhdGNoOiAodXJsOiBzdHJpbmcsIGJvZHk/OiBhbnksIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgZGVsZXRlOiAodXJsOiBzdHJpbmcsIGhlYWRlcnM/OiBPYmplY3QpOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPT4gbm90SW1wbGVtZW50ZWQoKSxcbiAgICAgICAgZ2V0SlNPTjogPFQ+KHVybDogc3RyaW5nLCBoZWFkZXJzPzogT2JqZWN0KTogT2JzZXJ2YWJsZTxUPiA9PiBub3RJbXBsZW1lbnRlZCgpXG4gICAgfSk7XG59XG5cbmNvbnN0IG1ha2VTZXJ2aWNlcyA9IChzZXJ2aWNlczogUGFydGlhbDxTZXJ2aWNlcz4pOiBTZXJ2aWNlcyA9PiB7XG4gICAgY29uc3Qgc2NoZWR1bGVyID0gc2VydmljZXMuc2NoZWR1bGVyIHx8IEFzeW5jU2NoZWR1bGVyO1xuICAgIHJldHVybiB7XG4gICAgICAgIHNjaGVkdWxlcixcbiAgICAgICAgYWpheDogd3JhcEFqYXhXaXRoUmV0cnkoc2VydmljZXMuYWpheCB8fCBPYnNlcnZhYmxlLmFqYXgsIHNjaGVkdWxlciksXG4gICAgICAgIFdlYlNvY2tldDogc2VydmljZXMuV2ViU29ja2V0IHx8IFdlYlNvY2tldCxcbiAgICAgICAgcmFuZG9tOiBzZXJ2aWNlcy5yYW5kb20gfHwgTWF0aC5yYW5kb20sXG4gICAgfVxufVxuXG5jb25zdCBsaWZldGltZVJlZnJlc2hUb2tlbiA9IDMwICogNjAgKiAxMDAwO1xuY29uc3QgaW50ZXJ2YWxSZWZyZXNoVG9rZW4gPSBsaWZldGltZVJlZnJlc2hUb2tlbiAvIDI7XG5cbmNvbnN0IFBPTExJTkdfSU5URVJWQUxfTE9XRVJfQk9VTkQ6IG51bWJlciA9IDIwMDsgLy9tc1xuXG5jb25zdCBlcnJvckV4cGlyZWRUb2tlbiA9IG5ldyBFcnJvcihcImV4cGlyZWQgdG9rZW5cIik7XG5jb25zdCBlcnJvckNvbnZlcnNhdGlvbkVuZGVkID0gbmV3IEVycm9yKFwiY29udmVyc2F0aW9uIGVuZGVkXCIpO1xuY29uc3QgZXJyb3JGYWlsZWRUb0Nvbm5lY3QgPSBuZXcgRXJyb3IoXCJmYWlsZWQgdG8gY29ubmVjdFwiKTtcblxuY29uc3Qga29uc29sZSA9IHtcbiAgICBsb2c6IChtZXNzYWdlPzogYW55LCAuLi4gb3B0aW9uYWxQYXJhbXM6IGFueVtdKSA9PiB7XG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiAod2luZG93IGFzIGFueSlbXCJib3RjaGF0RGVidWdcIl0gJiYgbWVzc2FnZSlcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKG1lc3NhZ2UsIC4uLiBvcHRpb25hbFBhcmFtcyk7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElCb3RDb25uZWN0aW9uIHtcbiAgICBjb25uZWN0aW9uU3RhdHVzJDogQmVoYXZpb3JTdWJqZWN0PENvbm5lY3Rpb25TdGF0dXM+LFxuICAgIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT4sXG4gICAgZW5kKCk6IHZvaWQsXG4gICAgcmVmZXJlbmNlR3JhbW1hcklkPzogc3RyaW5nLFxuICAgIHBvc3RBY3Rpdml0eShhY3Rpdml0eTogQWN0aXZpdHkpOiBPYnNlcnZhYmxlPHN0cmluZz4sXG4gICAgZ2V0U2Vzc2lvbklkPyA6ICgpID0+IE9ic2VydmFibGU8c3RyaW5nPlxufVxuXG5leHBvcnQgY2xhc3MgRGlyZWN0TGluZSBpbXBsZW1lbnRzIElCb3RDb25uZWN0aW9uIHtcbiAgICBwdWJsaWMgY29ubmVjdGlvblN0YXR1cyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KENvbm5lY3Rpb25TdGF0dXMuVW5pbml0aWFsaXplZCk7XG4gICAgcHVibGljIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT47XG5cbiAgICBwcml2YXRlIGRvbWFpbiA9IFwiaHR0cHM6Ly9kaXJlY3RsaW5lLmJvdGZyYW1ld29yay5jb20vdjMvZGlyZWN0bGluZVwiO1xuICAgIHByaXZhdGUgd2ViU29ja2V0OiBib29sZWFuO1xuXG4gICAgcHJpdmF0ZSBjb252ZXJzYXRpb25JZDogc3RyaW5nO1xuICAgIHByaXZhdGUgZXhwaXJlZFRva2VuRXhoYXVzdGlvbjogRnVuY3Rpb247XG4gICAgcHJpdmF0ZSBzZWNyZXQ6IHN0cmluZztcbiAgICBwcml2YXRlIHRva2VuOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSB3YXRlcm1hcmsgPSAnJztcbiAgICBwcml2YXRlIHN0cmVhbVVybDogc3RyaW5nO1xuICAgIHByaXZhdGUgX2JvdEFnZW50ID0gJyc7XG4gICAgcHJpdmF0ZSBzZXJ2aWNlczogU2VydmljZXM7XG4gICAgcHJpdmF0ZSBfdXNlckFnZW50OiBzdHJpbmc7XG4gICAgcHVibGljIHJlZmVyZW5jZUdyYW1tYXJJZDogc3RyaW5nO1xuICAgIHByaXZhdGUgdGltZW91dCA9IDIwICogMTAwMDtcbiAgICBwcml2YXRlIHJldHJpZXM6IG51bWJlcjtcblxuICAgIHByaXZhdGUgbG9jYWxlT25TdGFydENvbnZlcnNhdGlvbjogc3RyaW5nO1xuICAgIHByaXZhdGUgdXNlcklkT25TdGFydENvbnZlcnNhdGlvbjogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSBwb2xsaW5nSW50ZXJ2YWw6IG51bWJlciA9IDEwMDA7IC8vbXNcblxuICAgIHByaXZhdGUgdG9rZW5SZWZyZXNoU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEaXJlY3RMaW5lT3B0aW9ucyAmIFBhcnRpYWw8U2VydmljZXM+KSB7XG4gICAgICAgIHRoaXMuc2VjcmV0ID0gb3B0aW9ucy5zZWNyZXQ7XG4gICAgICAgIHRoaXMudG9rZW4gPSBvcHRpb25zLnNlY3JldCB8fCBvcHRpb25zLnRva2VuO1xuICAgICAgICB0aGlzLndlYlNvY2tldCA9IChvcHRpb25zLndlYlNvY2tldCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdGlvbnMud2ViU29ja2V0KSAmJiB0eXBlb2YgV2ViU29ja2V0ICE9PSAndW5kZWZpbmVkJyAmJiBXZWJTb2NrZXQgIT09IHVuZGVmaW5lZDtcblxuICAgICAgICBpZiAob3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMgJiYgb3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMubG9jYWxlKSB7XG4gICAgICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9wdGlvbnMuY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzLmxvY2FsZSkgPT09ICdbb2JqZWN0IFN0cmluZ10nKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5sb2NhbGVPblN0YXJ0Q29udmVyc2F0aW9uID0gb3B0aW9ucy5jb252ZXJzYXRpb25TdGFydFByb3BlcnRpZXMubG9jYWxlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0RpcmVjdExpbmVKUzogY29udmVyc2F0aW9uU3RhcnRQcm9wZXJ0aWVzLmxvY2FsZSB3YXMgaWdub3JlZDogdGhlIGxvY2FsZSBuYW1lIG1heSBiZSBhIEJDUCA0NyBsYW5ndWFnZSB0YWcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmRvbWFpbikge1xuICAgICAgICAgICAgdGhpcy5kb21haW4gPSBvcHRpb25zLmRvbWFpbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLmNvbnZlcnNhdGlvbklkKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gb3B0aW9ucy5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLndhdGVybWFyaykge1xuICAgICAgICAgICAgdGhpcy53YXRlcm1hcmsgPSAgb3B0aW9ucy53YXRlcm1hcms7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob3B0aW9ucy5zdHJlYW1VcmwpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLnRva2VuICYmIG9wdGlvbnMuY29udmVyc2F0aW9uSWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0cmVhbVVybCA9IG9wdGlvbnMuc3RyZWFtVXJsO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ0RpcmVjdExpbmVKUzogc3RyZWFtVXJsIHdhcyBpZ25vcmVkOiB5b3UgbmVlZCB0byBwcm92aWRlIGEgdG9rZW4gYW5kIGEgY29udmVyc2F0aW9uaWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvcHRpb25zLnRpbWVvdXQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGhpcy50aW1lb3V0ID0gb3B0aW9ucy50aW1lb3V0O1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5yZXRyaWVzID0gKGxpZmV0aW1lUmVmcmVzaFRva2VuIC0gaW50ZXJ2YWxSZWZyZXNoVG9rZW4pIC8gdGhpcy50aW1lb3V0O1xuXG4gICAgICAgIHRoaXMuX2JvdEFnZW50ID0gdGhpcy5nZXRCb3RBZ2VudChvcHRpb25zLmJvdEFnZW50KTtcblxuICAgICAgICB0aGlzLnNlcnZpY2VzID0gbWFrZVNlcnZpY2VzKG9wdGlvbnMpO1xuXG4gICAgICAgIGNvbnN0IHBhcnNlZFBvbGxpbmdJbnRlcnZhbCA9IH5+b3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWw7XG5cbiAgICAgICAgaWYgKHBhcnNlZFBvbGxpbmdJbnRlcnZhbCA8IFBPTExJTkdfSU5URVJWQUxfTE9XRVJfQk9VTkQpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygb3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWwgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBEaXJlY3RMaW5lSlM6IHByb3ZpZGVkIHBvbGxpbmdJbnRlcnZhbCAoJHsgb3B0aW9ucy5wb2xsaW5nSW50ZXJ2YWwgfSkgaXMgdW5kZXIgbG93ZXIgYm91bmQgKDIwMG1zKSwgdXNpbmcgZGVmYXVsdCBvZiAxMDAwbXNgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucG9sbGluZ0ludGVydmFsID0gcGFyc2VkUG9sbGluZ0ludGVydmFsO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5leHBpcmVkVG9rZW5FeGhhdXN0aW9uID0gdGhpcy5zZXRDb25uZWN0aW9uU3RhdHVzRmFsbGJhY2soXG4gICAgICAgICAgICBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbixcbiAgICAgICAgICAgIENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0LFxuICAgICAgICAgICAgNVxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuYWN0aXZpdHkkID0gKHRoaXMud2ViU29ja2V0XG4gICAgICAgICAgICA/IHRoaXMud2ViU29ja2V0QWN0aXZpdHkkKClcbiAgICAgICAgICAgIDogdGhpcy5wb2xsaW5nR2V0QWN0aXZpdHkkKClcbiAgICAgICAgKS5zaGFyZSgpO1xuICAgIH1cblxuICAgIC8vIEV2ZXJ5IHRpbWUgd2UncmUgYWJvdXQgdG8gbWFrZSBhIERpcmVjdCBMaW5lIFJFU1QgY2FsbCwgd2UgY2FsbCB0aGlzIGZpcnN0IHRvIHNlZSBjaGVjayB0aGUgY3VycmVudCBjb25uZWN0aW9uIHN0YXR1cy5cbiAgICAvLyBFaXRoZXIgdGhyb3dzIGFuIGVycm9yIChpbmRpY2F0aW5nIGFuIGVycm9yIHN0YXRlKSBvciBlbWl0cyBhIG51bGwsIGluZGljYXRpbmcgYSAocHJlc3VtYWJseSkgaGVhbHRoeSBjb25uZWN0aW9uXG4gICAgcHJpdmF0ZSBjaGVja0Nvbm5lY3Rpb24ob25jZSA9IGZhbHNlKSB7XG4gICAgICAgIGxldCBvYnMgPSAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJFxuICAgICAgICAuZmxhdE1hcChjb25uZWN0aW9uU3RhdHVzID0+IHtcbiAgICAgICAgICAgIGlmIChjb25uZWN0aW9uU3RhdHVzID09PSBDb25uZWN0aW9uU3RhdHVzLlVuaW5pdGlhbGl6ZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nKTtcblxuICAgICAgICAgICAgICAgIC8vaWYgdG9rZW4gYW5kIHN0cmVhbVVybCBhcmUgZGVmaW5lZCBpdCBtZWFucyByZWNvbm5lY3QgaGFzIGFscmVhZHkgYmVlbiBkb25lLiBTa2lwcGluZyBpdC5cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50b2tlbiAmJiB0aGlzLnN0cmVhbVVybCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZihjb25uZWN0aW9uU3RhdHVzLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc3RhcnRDb252ZXJzYXRpb24oKS5kbyhjb252ZXJzYXRpb24gPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb252ZXJzYXRpb25JZCA9IGNvbnZlcnNhdGlvbi5jb252ZXJzYXRpb25JZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW4gPSB0aGlzLnNlY3JldCB8fCBjb252ZXJzYXRpb24udG9rZW47XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0cmVhbVVybCA9IGNvbnZlcnNhdGlvbi5zdHJlYW1Vcmw7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmVyZW5jZUdyYW1tYXJJZCA9IGNvbnZlcnNhdGlvbi5yZWZlcmVuY2VHcmFtbWFySWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuc2VjcmV0KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVmcmVzaFRva2VuTG9vcCgpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuICAgICAgICAgICAgICAgICAgICB9LCBlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5GYWlsZWRUb0Nvbm5lY3QpO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAubWFwKF8gPT4gY29ubmVjdGlvblN0YXR1cyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuZmlsdGVyKGNvbm5lY3Rpb25TdGF0dXMgPT4gY29ubmVjdGlvblN0YXR1cyAhPSBDb25uZWN0aW9uU3RhdHVzLlVuaW5pdGlhbGl6ZWQgJiYgY29ubmVjdGlvblN0YXR1cyAhPSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpXG4gICAgICAgIC5mbGF0TWFwKGNvbm5lY3Rpb25TdGF0dXMgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChjb25uZWN0aW9uU3RhdHVzKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvckNvbnZlcnNhdGlvbkVuZGVkLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG5cbiAgICAgICAgICAgICAgICBjYXNlIENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0OlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvckZhaWxlZFRvQ29ubmVjdCwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuXG4gICAgICAgICAgICAgICAgY2FzZSBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoY29ubmVjdGlvblN0YXR1cywgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHJldHVybiBvbmNlID8gb2JzLnRha2UoMSkgOiBvYnM7XG4gICAgfVxuXG4gICAgc2V0Q29ubmVjdGlvblN0YXR1c0ZhbGxiYWNrKFxuICAgICAgICBjb25uZWN0aW9uU3RhdHVzRnJvbTogQ29ubmVjdGlvblN0YXR1cyxcbiAgICAgICAgY29ubmVjdGlvblN0YXR1c1RvOiBDb25uZWN0aW9uU3RhdHVzLFxuICAgICAgICBtYXhBdHRlbXB0cyA9IDVcbiAgICApIHtcbiAgICAgICAgbWF4QXR0ZW1wdHMtLTtcbiAgICAgICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICAgICAgbGV0IGN1cnJTdGF0dXMgPSBudWxsO1xuICAgICAgICByZXR1cm4gKHN0YXR1czogQ29ubmVjdGlvblN0YXR1cyk6IENvbm5lY3Rpb25TdGF0dXMgPT4ge1xuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gY29ubmVjdGlvblN0YXR1c0Zyb20gJiYgY3VyclN0YXR1cyA9PT0gc3RhdHVzICYmIGF0dGVtcHRzID49IG1heEF0dGVtcHRzKSB7XG4gICAgICAgICAgICAgICAgYXR0ZW1wdHMgPSAwXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb25TdGF0dXNUbztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF0dGVtcHRzKys7XG4gICAgICAgICAgICBjdXJyU3RhdHVzID0gc3RhdHVzO1xuICAgICAgICAgICAgcmV0dXJuIHN0YXR1cztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGV4cGlyZWRUb2tlbigpIHtcbiAgICAgICAgY29uc3QgY29ubmVjdGlvblN0YXR1cyA9IHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKGNvbm5lY3Rpb25TdGF0dXMgIT0gQ29ubmVjdGlvblN0YXR1cy5FbmRlZCAmJiBjb25uZWN0aW9uU3RhdHVzICE9IENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0KVxuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRXhwaXJlZFRva2VuKTtcblxuICAgICAgICBjb25zdCBwcm90ZWN0ZWRDb25uZWN0aW9uU3RhdHVzID0gdGhpcy5leHBpcmVkVG9rZW5FeGhhdXN0aW9uKHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKSk7XG4gICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChwcm90ZWN0ZWRDb25uZWN0aW9uU3RhdHVzKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXJ0Q29udmVyc2F0aW9uKCkge1xuICAgICAgICAvL2lmIGNvbnZlcnNhdGlvbmlkIGlzIHNldCBoZXJlLCBpdCBtZWFucyB3ZSBuZWVkIHRvIGNhbGwgdGhlIHJlY29ubmVjdCBhcGksIGVsc2UgaXQgaXMgYSBuZXcgY29udmVyc2F0aW9uXG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuY29udmVyc2F0aW9uSWRcbiAgICAgICAgICAgID8gYCR7dGhpcy5kb21haW59L2NvbnZlcnNhdGlvbnMvJHt0aGlzLmNvbnZlcnNhdGlvbklkfT93YXRlcm1hcms9JHt0aGlzLndhdGVybWFya31gXG4gICAgICAgICAgICA6IGAke3RoaXMuZG9tYWlufS9jb252ZXJzYXRpb25zYDtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gdGhpcy5jb252ZXJzYXRpb25JZCA/IFwiR0VUXCIgOiBcIlBPU1RcIjtcbiAgICAgICAgY29uc3QgYm9keSA9IHRoaXMuY29udmVyc2F0aW9uSWRcbiAgICAgICAgICAgID8gdW5kZWZpbmVkXG4gICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICB1c2VyOiB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB0aGlzLnVzZXJJZE9uU3RhcnRDb252ZXJzYXRpb25cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGxvY2FsZTogdGhpcy5sb2NhbGVPblN0YXJ0Q29udmVyc2F0aW9uXG4gICAgICAgICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZpY2VzLmFqYXgoe1xuICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dCxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICBcIkFjY2VwdFwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAuLi50aGlzLmNvbW1vbkhlYWRlcnMoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuLy8gICAgICAuZG8oYWpheFJlc3BvbnNlID0+IGtvbnNvbGUubG9nKFwiY29udmVyc2F0aW9uIGFqYXhSZXNwb25zZVwiLCBhamF4UmVzcG9uc2UucmVzcG9uc2UpKVxuICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UgYXMgQ29udmVyc2F0aW9uKVxuICAgICAgICAucmV0cnlXaGVuKGVycm9yJCA9PlxuICAgICAgICAgICAgLy8gZm9yIG5vdyB3ZSBkZWVtIDR4eCBhbmQgNXh4IGVycm9ycyBhcyB1bnJlY292ZXJhYmxlXG4gICAgICAgICAgICAvLyBmb3IgZXZlcnl0aGluZyBlbHNlICh0aW1lb3V0cyksIHJldHJ5IGZvciBhIHdoaWxlXG4gICAgICAgICAgICBlcnJvciQubWVyZ2VNYXAoKGVycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVycm9yLnN0YXR1cyA+PSA0MDAgJiYgZXJyb3Iuc3RhdHVzIDwgNjAwXG4gICAgICAgICAgICAgICAgPyBPYnNlcnZhYmxlLnRocm93KGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICA6IE9ic2VydmFibGUub2YoZXJyb3IsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kZWxheSh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgLnRha2UodGhpcy5yZXRyaWVzKVxuICAgICAgICApXG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoVG9rZW5Mb29wKCkge1xuICAgICAgICB0aGlzLnRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbiA9IE9ic2VydmFibGUuaW50ZXJ2YWwoaW50ZXJ2YWxSZWZyZXNoVG9rZW4sIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAuZmxhdE1hcChfID0+IHRoaXMucmVmcmVzaFRva2VuKCkpXG4gICAgICAgIC5zdWJzY3JpYmUodG9rZW4gPT4ge1xuICAgICAgICAgICAga29uc29sZS5sb2coXCJyZWZyZXNoaW5nIHRva2VuXCIsIHRva2VuLCBcImF0XCIsIG5ldyBEYXRlKCkpO1xuICAgICAgICAgICAgdGhpcy50b2tlbiA9IHRva2VuO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2hUb2tlbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS90b2tlbnMvcmVmcmVzaGAsXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tb25IZWFkZXJzKClcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcChhamF4UmVzcG9uc2UgPT4gYWpheFJlc3BvbnNlLnJlc3BvbnNlLnRva2VuIGFzIHN0cmluZylcbiAgICAgICAgICAgIC5yZXRyeVdoZW4oZXJyb3IkID0+IGVycm9yJFxuICAgICAgICAgICAgICAgIC5tZXJnZU1hcChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaWYgdGhlIHRva2VuIGlzIGV4cGlyZWQgdGhlcmUncyBubyByZWFzb24gdG8ga2VlcCB0cnlpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZFRva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgYm90IGlzIGdvbmUsIHdlIHNob3VsZCBzdG9wIHJldHJ5aW5nXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoZXJyb3IsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5kZWxheSh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKVxuICAgICAgICAgICAgICAgIC50YWtlKHRoaXMucmV0cmllcylcbiAgICAgICAgICAgIClcbiAgICAgICAgKVxuICAgIH1cblxuICAgIHB1YmxpYyByZWNvbm5lY3QoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb24pIHtcbiAgICAgICAgdGhpcy50b2tlbiA9IGNvbnZlcnNhdGlvbi50b2tlbjtcbiAgICAgICAgdGhpcy5zdHJlYW1VcmwgPSBjb252ZXJzYXRpb24uc3RyZWFtVXJsO1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbilcbiAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLk9ubGluZSk7XG4gICAgfVxuXG4gICAgZW5kKCkge1xuICAgICAgICBpZiAodGhpcy50b2tlblJlZnJlc2hTdWJzY3JpcHRpb24pXG4gICAgICAgICAgICB0aGlzLnRva2VuUmVmcmVzaFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZSA9PT0gZXJyb3JDb252ZXJzYXRpb25FbmRlZClcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB0aHJvdyhlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFNlc3Npb25JZCgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICAvLyBJZiB3ZSdyZSBub3QgY29ubmVjdGVkIHRvIHRoZSBib3QsIGdldCBjb25uZWN0ZWRcbiAgICAgICAgLy8gV2lsbCB0aHJvdyBhbiBlcnJvciBpZiB3ZSBhcmUgbm90IGNvbm5lY3RlZFxuICAgICAgICBrb25zb2xlLmxvZyhcImdldFNlc3Npb25JZFwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgICAgICAuZmxhdE1hcChfID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS9zZXNzaW9uL2dldHNlc3Npb25pZGAsXG4gICAgICAgICAgICAgICAgICAgIHdpdGhDcmVkZW50aWFsczogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIC5tYXAoYWpheFJlc3BvbnNlID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGFqYXhSZXNwb25zZSAmJiBhamF4UmVzcG9uc2UucmVzcG9uc2UgJiYgYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJnZXRTZXNzaW9uSWQgcmVzcG9uc2U6IFwiICsgYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYWpheFJlc3BvbnNlLnJlc3BvbnNlLnNlc3Npb25JZCBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJnZXRTZXNzaW9uSWQgZXJyb3I6IFwiICsgZXJyb3Iuc3RhdHVzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUub2YoJycsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hFeHBpcmVkVG9rZW4oZXJyb3IpKTtcbiAgICB9XG5cbiAgICBwb3N0QWN0aXZpdHkoYWN0aXZpdHk6IEFjdGl2aXR5KSB7XG4gICAgICAgIC8vIElmIHVzZXIgaWQgaXMgc2V0LCBjaGVjayBpZiBpdCBtYXRjaCBhY3Rpdml0eS5mcm9tLmlkIGFuZCBhbHdheXMgb3ZlcnJpZGUgaXQgaW4gYWN0aXZpdHlcbiAgICAgICAgaWYgKHRoaXMudXNlcklkT25TdGFydENvbnZlcnNhdGlvbiAmJiBhY3Rpdml0eS5mcm9tICYmIGFjdGl2aXR5LmZyb20uaWQgIT09IHRoaXMudXNlcklkT25TdGFydENvbnZlcnNhdGlvbikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdEaXJlY3RMaW5lSlM6IEFjdGl2aXR5LmZyb20uaWQgZG9lcyBub3QgbWF0Y2ggd2l0aCB1c2VyIGlkLCBpZ25vcmluZyBhY3Rpdml0eS5mcm9tLmlkJyk7XG4gICAgICAgICAgICBhY3Rpdml0eS5mcm9tLmlkID0gdGhpcy51c2VySWRPblN0YXJ0Q29udmVyc2F0aW9uO1xuICAgICAgICB9XG4gICAgICAgIC8vIFVzZSBwb3N0TWVzc2FnZVdpdGhBdHRhY2htZW50cyBmb3IgbWVzc2FnZXMgd2l0aCBhdHRhY2htZW50cyB0aGF0IGFyZSBsb2NhbCBmaWxlcyAoZS5nLiBhbiBpbWFnZSB0byB1cGxvYWQpXG4gICAgICAgIC8vIFRlY2huaWNhbGx5IHdlIGNvdWxkIHVzZSBpdCBmb3IgKmFsbCogYWN0aXZpdGllcywgYnV0IHBvc3RBY3Rpdml0eSBpcyBtdWNoIGxpZ2h0ZXIgd2VpZ2h0XG4gICAgICAgIC8vIFNvLCBzaW5jZSBXZWJDaGF0IGlzIHBhcnRpYWxseSBhIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBvZiBEaXJlY3QgTGluZSwgd2UgaW1wbGVtZW50IGJvdGguXG4gICAgICAgIGlmIChhY3Rpdml0eS50eXBlID09PSBcIm1lc3NhZ2VcIiAmJiBhY3Rpdml0eS5hdHRhY2htZW50cyAmJiBhY3Rpdml0eS5hdHRhY2htZW50cy5sZW5ndGggPiAwKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMucG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMoYWN0aXZpdHkpO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGJvdCwgZ2V0IGNvbm5lY3RlZFxuICAgICAgICAvLyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHdlIGFyZSBub3QgY29ubmVjdGVkXG4gICAgICAgIGtvbnNvbGUubG9nKFwicG9zdEFjdGl2aXR5XCIsIGFjdGl2aXR5KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2hlY2tDb25uZWN0aW9uKHRydWUpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgICB1cmw6IGAke3RoaXMuZG9tYWlufS9jb252ZXJzYXRpb25zLyR7dGhpcy5jb252ZXJzYXRpb25JZH0vYWN0aXZpdGllc2AsXG4gICAgICAgICAgICAgICAgYm9keTogYWN0aXZpdHksXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UuaWQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hQb3N0RXJyb3IoZXJyb3IpKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB0aGlzLmNhdGNoRXhwaXJlZFRva2VuKGVycm9yKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3N0TWVzc2FnZVdpdGhBdHRhY2htZW50cyhtZXNzYWdlOiBNZXNzYWdlKSB7XG4gICAgICAgIGNvbnN0IHsgYXR0YWNobWVudHMgfSA9IG1lc3NhZ2U7XG4gICAgICAgIC8vIFdlIGNsZWFuIHRoZSBhdHRhY2htZW50cyBidXQgbWFraW5nIHN1cmUgZXZlcnkgYXR0YWNobWVudCBoYXMgdW5pcXVlIG5hbWUuXG4gICAgICAgIC8vIElmIHRoZSBmaWxlIGRvIG5vdCBoYXZlIGEgbmFtZSwgQ2hyb21lIHdpbGwgYXNzaWduIFwiYmxvYlwiIHdoZW4gaXQgaXMgYXBwZW5kZWQgdG8gRm9ybURhdGEuXG4gICAgICAgIGNvbnN0IGF0dGFjaG1lbnROYW1lczogc3RyaW5nW10gPSBkZWR1cGVGaWxlbmFtZXMoYXR0YWNobWVudHMubWFwKChtZWRpYTogTWVkaWEpID0+IG1lZGlhLm5hbWUgfHwgJ2Jsb2InKSk7XG4gICAgICAgIGNvbnN0IGNsZWFuc2VkQXR0YWNobWVudHMgPSBhdHRhY2htZW50cy5tYXAoKGF0dGFjaG1lbnQ6IE1lZGlhLCBpbmRleDogbnVtYmVyKSA9PiAoe1xuICAgICAgICAgICAgLi4uYXR0YWNobWVudCxcbiAgICAgICAgICAgIG5hbWU6IGF0dGFjaG1lbnROYW1lc1tpbmRleF1cbiAgICAgICAgfSkpO1xuICAgICAgICBsZXQgZm9ybURhdGE6IEZvcm1EYXRhO1xuXG4gICAgICAgIC8vIElmIHdlJ3JlIG5vdCBjb25uZWN0ZWQgdG8gdGhlIGJvdCwgZ2V0IGNvbm5lY3RlZFxuICAgICAgICAvLyBXaWxsIHRocm93IGFuIGVycm9yIGlmIHdlIGFyZSBub3QgY29ubmVjdGVkXG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrQ29ubmVjdGlvbih0cnVlKVxuICAgICAgICAuZmxhdE1hcChfID0+IHtcbiAgICAgICAgICAgIC8vIFRvIHNlbmQgdGhpcyBtZXNzYWdlIHRvIERpcmVjdExpbmUgd2UgbmVlZCB0byBkZWNvbnN0cnVjdCBpdCBpbnRvIGEgXCJ0ZW1wbGF0ZVwiIGFjdGl2aXR5XG4gICAgICAgICAgICAvLyBhbmQgb25lIGJsb2IgZm9yIGVhY2ggYXR0YWNobWVudC5cbiAgICAgICAgICAgIGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FjdGl2aXR5JywgbmV3IEJsb2IoW0pTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICAuLi5tZXNzYWdlLFxuICAgICAgICAgICAgICAgIC8vIFJlbW92aW5nIGNvbnRlbnRVcmwgZnJvbSBhdHRhY2htZW50LCB3ZSB3aWxsIHNlbmQgaXQgdmlhIG11bHRpcGFydFxuICAgICAgICAgICAgICAgIGF0dGFjaG1lbnRzOiBjbGVhbnNlZEF0dGFjaG1lbnRzLm1hcCgoeyBjb250ZW50VXJsOiBzdHJpbmcsIC4uLm90aGVycyB9KSA9PiAoeyAuLi5vdGhlcnMgfSkpXG4gICAgICAgICAgICB9KV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuYWN0aXZpdHknIH0pKTtcblxuICAgICAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuZnJvbShjbGVhbnNlZEF0dGFjaG1lbnRzLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgIC5mbGF0TWFwKChtZWRpYTogTWVkaWEpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICAgICAgICAgICAgICB1cmw6IG1lZGlhLmNvbnRlbnRVcmwsXG4gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgLmRvKGFqYXhSZXNwb25zZSA9PlxuICAgICAgICAgICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2ZpbGUnLCBuZXcgQmxvYihbYWpheFJlc3BvbnNlLnJlc3BvbnNlXSwgeyB0eXBlOiBtZWRpYS5jb250ZW50VHlwZSB9KSwgbWVkaWEubmFtZSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuY291bnQoKVxuICAgICAgICB9KVxuICAgICAgICAuZmxhdE1hcChfID0+XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2VzLmFqYXgoe1xuICAgICAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLmRvbWFpbn0vY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9L3VwbG9hZD91c2VySWQ9JHttZXNzYWdlLmZyb20uaWR9YCxcbiAgICAgICAgICAgICAgICBib2R5OiBmb3JtRGF0YSxcbiAgICAgICAgICAgICAgICB0aW1lb3V0OiB0aGlzLnRpbWVvdXQsXG4gICAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLmNvbW1vbkhlYWRlcnMoKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAubWFwKGFqYXhSZXNwb25zZSA9PiBhamF4UmVzcG9uc2UucmVzcG9uc2UuaWQgYXMgc3RyaW5nKVxuICAgICAgICAgICAgLmNhdGNoKGVycm9yID0+IHRoaXMuY2F0Y2hQb3N0RXJyb3IoZXJyb3IpKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChlcnJvciA9PiB0aGlzLmNhdGNoUG9zdEVycm9yKGVycm9yKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjYXRjaFBvc3RFcnJvcihlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zdGF0dXMgPT09IDQwMylcbiAgICAgICAgICAgIC8vIHRva2VuIGhhcyBleHBpcmVkICh3aWxsIGZhbGwgdGhyb3VnaCB0byByZXR1cm4gXCJyZXRyeVwiKVxuICAgICAgICAgICAgdGhpcy5leHBpcmVkVG9rZW4oKTtcbiAgICAgICAgZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID49IDQwMCAmJiBlcnJvci5zdGF0dXMgPCA1MDApXG4gICAgICAgICAgICAvLyBtb3JlIHVucmVjb3ZlcmFibGUgZXJyb3JzXG4gICAgICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhlcnJvciwgdGhpcy5zZXJ2aWNlcy5zY2hlZHVsZXIpO1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5vZihcInJldHJ5XCIsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNhdGNoRXhwaXJlZFRva2VuKGVycm9yOiBhbnkpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yID09PSBlcnJvckV4cGlyZWRUb2tlblxuICAgICAgICA/IE9ic2VydmFibGUub2YoXCJyZXRyeVwiLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgOiBPYnNlcnZhYmxlLnRocm93KGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb2xsaW5nR2V0QWN0aXZpdHkkKCkge1xuICAgICAgICBjb25zdCBwb2xsZXIkOiBPYnNlcnZhYmxlPEFqYXhSZXNwb25zZT4gPSBPYnNlcnZhYmxlLmNyZWF0ZSgoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+KSA9PiB7XG4gICAgICAgICAgICAvLyBBIEJlaGF2aW9yU3ViamVjdCB0byB0cmlnZ2VyIHBvbGxpbmcuIFNpbmNlIGl0IGlzIGEgQmVoYXZpb3JTdWJqZWN0XG4gICAgICAgICAgICAvLyB0aGUgZmlyc3QgZXZlbnQgaXMgcHJvZHVjZWQgaW1tZWRpYXRlbHkuXG4gICAgICAgICAgICBjb25zdCB0cmlnZ2VyJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55Pih7fSk7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IHJlbW92ZSBEYXRlLm5vdywgdXNlIHJlYWN0aXZlIGludGVydmFsIHRvIHNwYWNlIG91dCBldmVyeSByZXF1ZXN0XG5cbiAgICAgICAgICAgIHRyaWdnZXIkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29ubmVjdGlvblN0YXR1cyQuZ2V0VmFsdWUoKSA9PT0gQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhcnRUaW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2VydmljZXMuYWpheCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5jb21tb25IZWFkZXJzKClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBgJHsgdGhpcy5kb21haW4gfS9jb252ZXJzYXRpb25zLyR7IHRoaXMuY29udmVyc2F0aW9uSWQgfS9hY3Rpdml0aWVzP3dhdGVybWFyaz0keyB0aGlzLndhdGVybWFyayB9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQ6IHRoaXMudGltZW91dFxuICAgICAgICAgICAgICAgICAgICB9KS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0OiBBamF4UmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRyaWdnZXIkLm5leHQobnVsbCksIE1hdGgubWF4KDAsIHRoaXMucG9sbGluZ0ludGVydmFsIC0gRGF0ZS5ub3coKSArIHN0YXJ0VGltZXN0YW1wKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgKGVycm9yOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGVycm9yLnN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlIDQwMzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRyaWdnZXIkLm5leHQobnVsbCksIHRoaXMucG9sbGluZ0ludGVydmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgNDA0OlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHByb3BhZ2F0ZSB0aGUgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Nvbm5lY3Rpb24oKVxuICAgICAgICAuZmxhdE1hcChfID0+IHBvbGxlciRcbiAgICAgICAgICAgIC5jYXRjaCgoKSA9PiBPYnNlcnZhYmxlLmVtcHR5PEFqYXhSZXNwb25zZT4oKSlcbiAgICAgICAgICAgIC5tYXAoYWpheFJlc3BvbnNlID0+IGFqYXhSZXNwb25zZS5yZXNwb25zZSBhcyBBY3Rpdml0eUdyb3VwKVxuICAgICAgICAgICAgLmZsYXRNYXAoYWN0aXZpdHlHcm91cCA9PiB0aGlzLm9ic2VydmFibGVGcm9tQWN0aXZpdHlHcm91cChhY3Rpdml0eUdyb3VwKSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgb2JzZXJ2YWJsZUZyb21BY3Rpdml0eUdyb3VwKGFjdGl2aXR5R3JvdXA6IEFjdGl2aXR5R3JvdXApIHtcbiAgICAgICAgaWYgKGFjdGl2aXR5R3JvdXAud2F0ZXJtYXJrKVxuICAgICAgICAgICAgdGhpcy53YXRlcm1hcmsgPSBhY3Rpdml0eUdyb3VwLndhdGVybWFyaztcbiAgICAgICAgcmV0dXJuIE9ic2VydmFibGUuZnJvbShhY3Rpdml0eUdyb3VwLmFjdGl2aXRpZXMsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHdlYlNvY2tldEFjdGl2aXR5JCgpOiBPYnNlcnZhYmxlPEFjdGl2aXR5PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNoZWNrQ29ubmVjdGlvbigpXG4gICAgICAgIC5mbGF0TWFwKF8gPT5cbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWJsZVdlYlNvY2tldDxBY3Rpdml0eUdyb3VwPigpXG4gICAgICAgICAgICAvLyBXZWJTb2NrZXRzIGNhbiBiZSBjbG9zZWQgYnkgdGhlIHNlcnZlciBvciB0aGUgYnJvd3Nlci4gSW4gdGhlIGZvcm1lciBjYXNlIHdlIG5lZWQgdG9cbiAgICAgICAgICAgIC8vIHJldHJpZXZlIGEgbmV3IHN0cmVhbVVybC4gSW4gdGhlIGxhdHRlciBjYXNlIHdlIGNvdWxkIGZpcnN0IHJldHJ5IHdpdGggdGhlIGN1cnJlbnQgc3RyZWFtVXJsLFxuICAgICAgICAgICAgLy8gYnV0IGl0J3Mgc2ltcGxlciBqdXN0IHRvIGFsd2F5cyBmZXRjaCBhIG5ldyBvbmUuXG4gICAgICAgICAgICAucmV0cnlXaGVuKGVycm9yJCA9PiBlcnJvciQuZGVsYXkodGhpcy5nZXRSZXRyeURlbGF5KCksIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKS5tZXJnZU1hcChlcnJvciA9PiB0aGlzLnJlY29ubmVjdFRvQ29udmVyc2F0aW9uKCkpKVxuICAgICAgICApXG4gICAgICAgIC5mbGF0TWFwKGFjdGl2aXR5R3JvdXAgPT4gdGhpcy5vYnNlcnZhYmxlRnJvbUFjdGl2aXR5R3JvdXAoYWN0aXZpdHlHcm91cCkpXG4gICAgfVxuXG4gICAgLy8gUmV0dXJucyB0aGUgZGVsYXkgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzXG4gICAgcHJpdmF0ZSBnZXRSZXRyeURlbGF5KCkge1xuICAgICAgICByZXR1cm4gTWF0aC5mbG9vcigzMDAwICsgdGhpcy5zZXJ2aWNlcy5yYW5kb20oKSAqIDEyMDAwKTtcbiAgICB9XG5cbiAgICAvLyBPcmlnaW5hbGx5IHdlIHVzZWQgT2JzZXJ2YWJsZS53ZWJTb2NrZXQsIGJ1dCBpdCdzIGZhaXJseSBvcGluaW9uYXRlZCBhbmQgSSBlbmRlZCB1cCB3cml0aW5nXG4gICAgLy8gYSBsb3Qgb2YgY29kZSB0byB3b3JrIGFyb3VuZCB0aGVpciBpbXBsZW1lbnRhdGlvbiBkZXRhaWxzLiBTaW5jZSBXZWJDaGF0IGlzIG1lYW50IHRvIGJlIGEgcmVmZXJlbmNlXG4gICAgLy8gaW1wbGVtZW50YXRpb24sIEkgZGVjaWRlZCByb2xsIHRoZSBiZWxvdywgd2hlcmUgdGhlIGxvZ2ljIGlzIG1vcmUgcHVycG9zZWZ1bC4gLSBAYmlsbGJhXG4gICAgcHJpdmF0ZSBvYnNlcnZhYmxlV2ViU29ja2V0PFQ+KCkge1xuICAgICAgICByZXR1cm4gT2JzZXJ2YWJsZS5jcmVhdGUoKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pID0+IHtcbiAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiY3JlYXRpbmcgV2ViU29ja2V0XCIsIHRoaXMuc3RyZWFtVXJsKTtcbiAgICAgICAgICAgIGNvbnN0IHdzID0gbmV3IHRoaXMuc2VydmljZXMuV2ViU29ja2V0KHRoaXMuc3RyZWFtVXJsKTtcbiAgICAgICAgICAgIGxldCBzdWI6IFN1YnNjcmlwdGlvbjtcbiAgICAgICAgICAgIGxldCBjbG9zZWQ6IGJvb2xlYW47XG5cbiAgICAgICAgICAgIHdzLm9ub3BlbiA9IG9wZW4gPT4ge1xuICAgICAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiV2ViU29ja2V0IG9wZW5cIiwgb3Blbik7XG4gICAgICAgICAgICAgICAgLy8gQ2hyb21lIGlzIHByZXR0eSBiYWQgYXQgbm90aWNpbmcgd2hlbiBhIFdlYlNvY2tldCBjb25uZWN0aW9uIGlzIGJyb2tlbi5cbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBwZXJpb2RpY2FsbHkgcGluZyB0aGUgc2VydmVyIHdpdGggZW1wdHkgbWVzc2FnZXMsIGl0IGhlbHBzIENocm9tZVxuICAgICAgICAgICAgICAgIC8vIHJlYWxpemUgd2hlbiBjb25uZWN0aW9uIGJyZWFrcywgYW5kIGNsb3NlIHRoZSBzb2NrZXQuIFdlIHRoZW4gdGhyb3cgYW5cbiAgICAgICAgICAgICAgICAvLyBlcnJvciwgYW5kIHRoYXQgZ2l2ZSB1cyB0aGUgb3Bwb3J0dW5pdHkgdG8gYXR0ZW1wdCB0byByZWNvbm5lY3QuXG4gICAgICAgICAgICAgICAgc3ViID0gT2JzZXJ2YWJsZS5pbnRlcnZhbCh0aGlzLnRpbWVvdXQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKS5zdWJzY3JpYmUoXyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3cy5zZW5kKFwiXCIpXG4gICAgICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJQaW5nIGVycm9yXCIsIGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdzLm9uY2xvc2UgPSBjbG9zZSA9PiB7XG4gICAgICAgICAgICAgICAga29uc29sZS5sb2coXCJXZWJTb2NrZXQgY2xvc2VcIiwgY2xvc2UpO1xuICAgICAgICAgICAgICAgIGlmIChzdWIpIHN1Yi51bnN1YnNjcmliZSgpO1xuXG4gICAgICAgICAgICAgICAgLy8gUnhKUy5yZXRyeVdoZW4gaGFzIGEgYnVnIHRoYXQgd291bGQgY2F1c2UgXCJlcnJvclwiIHNpZ25hbCB0byBiZSBzZW50IGFmdGVyIHRoZSBvYnNlcnZhYmxlIGlzIGNvbXBsZXRlZC9lcnJvcmVkLlxuICAgICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8gZ3VhcmQgYWdhaW5zdCBleHRyYW5lb3VzIFwiZXJyb3JcIiBzaWduYWwgdG8gd29ya2Fyb3VuZCB0aGUgYnVnLlxuICAgICAgICAgICAgICAgIGNsb3NlZCB8fCBzdWJzY3JpYmVyLmVycm9yKGNsb3NlKTtcbiAgICAgICAgICAgICAgICBjbG9zZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB3cy5vbmVycm9yID0gZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgIGtvbnNvbGUubG9nKFwiV2ViU29ja2V0IGVycm9yXCIsIGVycm9yKTtcbiAgICAgICAgICAgICAgICBpZiAoc3ViKSBzdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgICAgICAgICAgIC8vIFJ4SlMucmV0cnlXaGVuIGhhcyBhIGJ1ZyB0aGF0IHdvdWxkIGNhdXNlIFwiZXJyb3JcIiBzaWduYWwgdG8gYmUgc2VudCBhZnRlciB0aGUgb2JzZXJ2YWJsZSBpcyBjb21wbGV0ZWQvZXJyb3JlZC5cbiAgICAgICAgICAgICAgICAvLyBXZSBuZWVkIHRvIGd1YXJkIGFnYWluc3QgZXh0cmFuZW91cyBcImVycm9yXCIgc2lnbmFsIHRvIHdvcmthcm91bmQgdGhlIGJ1Zy5cbiAgICAgICAgICAgICAgICBjbG9zZWQgfHwgc3Vic2NyaWJlci5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICAgICAgY2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgd3Mub25tZXNzYWdlID0gbWVzc2FnZSA9PiBtZXNzYWdlLmRhdGEgJiYgc3Vic2NyaWJlci5uZXh0KEpTT04ucGFyc2UobWVzc2FnZS5kYXRhKSk7XG5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgdGhlICd1bnN1YnNjcmliZScgbWV0aG9kLCB3aGljaCBpcyBjYWxsZWQgd2hlbiB0aGlzIG9ic2VydmFibGUgaXMgZGlzcG9zZWQuXG4gICAgICAgICAgICAvLyBXaGVuIHRoZSBXZWJTb2NrZXQgY2xvc2VzIGl0c2VsZiwgd2UgdGhyb3cgYW4gZXJyb3IsIGFuZCB0aGlzIGZ1bmN0aW9uIGlzIGV2ZW50dWFsbHkgY2FsbGVkLlxuICAgICAgICAgICAgLy8gV2hlbiB0aGUgb2JzZXJ2YWJsZSBpcyBjbG9zZWQgZmlyc3QgKGUuZy4gd2hlbiB0ZWFyaW5nIGRvd24gYSBXZWJDaGF0IGluc3RhbmNlKSB0aGVuXG4gICAgICAgICAgICAvLyB3ZSBuZWVkIHRvIG1hbnVhbGx5IGNsb3NlIHRoZSBXZWJTb2NrZXQuXG4gICAgICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmICh3cy5yZWFkeVN0YXRlID09PSAwIHx8IHdzLnJlYWR5U3RhdGUgPT09IDEpIHdzLmNsb3NlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pIGFzIE9ic2VydmFibGU8VD5cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlY29ubmVjdFRvQ29udmVyc2F0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaGVja0Nvbm5lY3Rpb24odHJ1ZSlcbiAgICAgICAgLmZsYXRNYXAoXyA9PlxuICAgICAgICAgICAgdGhpcy5zZXJ2aWNlcy5hamF4KHtcbiAgICAgICAgICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgICAgICAgICAgdXJsOiBgJHt0aGlzLmRvbWFpbn0vY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9P3dhdGVybWFyaz0ke3RoaXMud2F0ZXJtYXJrfWAsXG4gICAgICAgICAgICAgICAgdGltZW91dDogdGhpcy50aW1lb3V0LFxuICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgXCJBY2NlcHRcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgIC4uLnRoaXMuY29tbW9uSGVhZGVycygpXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5kbyhyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5zZWNyZXQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudG9rZW4gPSByZXN1bHQucmVzcG9uc2UudG9rZW47XG4gICAgICAgICAgICAgICAgdGhpcy5zdHJlYW1VcmwgPSByZXN1bHQucmVzcG9uc2Uuc3RyZWFtVXJsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5tYXAoXyA9PiBudWxsKVxuICAgICAgICAgICAgLnJldHJ5V2hlbihlcnJvciQgPT4gZXJyb3IkXG4gICAgICAgICAgICAgICAgLm1lcmdlTWFwKGVycm9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyA9PT0gNDAzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0b2tlbiBoYXMgZXhwaXJlZC4gV2UgY2FuJ3QgcmVjb3ZlciBmcm9tIHRoaXMgaGVyZSwgYnV0IHRoZSBlbWJlZGRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdlYnNpdGUgbWlnaHQgZXZlbnR1YWxseSBjYWxsIHJlY29ubmVjdCgpIHdpdGggYSBuZXcgdG9rZW4gYW5kIHN0cmVhbVVybC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwaXJlZFRva2VuKCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3Iuc3RhdHVzID09PSA0MDQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLnRocm93KGVycm9yQ29udmVyc2F0aW9uRW5kZWQsIHRoaXMuc2VydmljZXMuc2NoZWR1bGVyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBPYnNlcnZhYmxlLm9mKGVycm9yLCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcik7XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAuZGVsYXkodGhpcy50aW1lb3V0LCB0aGlzLnNlcnZpY2VzLnNjaGVkdWxlcilcbiAgICAgICAgICAgICAgICAudGFrZSh0aGlzLnJldHJpZXMpXG4gICAgICAgICAgICApXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBwcml2YXRlIGNvbW1vbkhlYWRlcnMoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBcIkF1dGhvcml6YXRpb25cIjogYEJlYXJlciAke3RoaXMudG9rZW59YCxcbiAgICAgICAgICAgIFwieC1tcy1ib3QtYWdlbnRcIjogdGhpcy5fYm90QWdlbnRcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEJvdEFnZW50KGN1c3RvbUFnZW50OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgICAgIGxldCBjbGllbnRBZ2VudCA9ICdkaXJlY3RsaW5lanMnXG5cbiAgICAgICAgaWYgKGN1c3RvbUFnZW50KSB7XG4gICAgICAgICAgICBjbGllbnRBZ2VudCArPSBgOyAke2N1c3RvbUFnZW50fWBcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBgJHtESVJFQ1RfTElORV9WRVJTSU9OfSAoJHtjbGllbnRBZ2VudH0gJHtwcm9jZXNzLmVudi5ucG1fcGFja2FnZV92ZXJzaW9ufSlgO1xuICAgIH1cblxuICAgIHNldFVzZXJJZCh1c2VySWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLk9ubGluZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdEaXJlY3RMaW5lSlM6IEl0IGlzIGNvbm5lY3RlZCwgd2UgY2Fubm90IHNldCB1c2VyIGlkLicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdXNlcklkRnJvbVRva2VuID0gdGhpcy5wYXJzZVRva2VuKHRoaXMudG9rZW4pO1xuICAgICAgICBpZiAodXNlcklkRnJvbVRva2VuKSB7XG4gICAgICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKCdEaXJlY3RMaW5lSlM6IHVzZXIgaWQgaXMgYWxyZWFkeSBzZXQgaW4gdG9rZW4sIHdpbGwgaWdub3JlIHRoaXMgdXNlciBpZC4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICgvXmRsXy91LnRlc3QodXNlcklkKSkge1xuICAgICAgICAgICAgcmV0dXJuIGNvbnNvbGUud2FybignRGlyZWN0TGluZUpTOiB1c2VyIGlkIHByZWZpeGVkIHdpdGggXCJkbF9cIiBpcyByZXNlcnZlZCBhbmQgbXVzdCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBEaXJlY3QgTGluZSB0b2tlbiB0byBwcmV2ZW50IGZvcmdlcnkuJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVzZXJJZE9uU3RhcnRDb252ZXJzYXRpb24gPSB1c2VySWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZVRva2VuKHRva2VuOiBzdHJpbmcpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHsgdXNlciB9ID0gand0RGVjb2RlPEp3dFBheWxvYWQ+KHRva2VuKSBhcyB7IFtrZXk6IHN0cmluZ106IGFueTsgfTtcbiAgICAgICAgICAgIHJldHVybiB1c2VyO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEludmFsaWRUb2tlbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuIl19","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectLineStreaming = void 0;\n\nvar _objectWithoutProperties2 = _interopRequireDefault(require(\"@babel/runtime/helpers/objectWithoutProperties\"));\n\nvar _regenerator = _interopRequireDefault(require(\"@babel/runtime/regenerator\"));\n\nvar _classPrivateFieldGet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldGet\"));\n\nvar _classPrivateFieldSet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldSet\"));\n\nvar _toConsumableArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toConsumableArray\"));\n\nvar _asyncToGenerator2 = _interopRequireDefault(require(\"@babel/runtime/helpers/asyncToGenerator\"));\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _BehaviorSubject = require(\"rxjs/BehaviorSubject\");\n\nvar _buffer = require(\"buffer\");\n\nvar _Observable = require(\"rxjs/Observable\");\n\nvar BFSE = _interopRequireWildcard(require(\"botframework-streaming\"));\n\nvar _createDeferred = _interopRequireDefault(require(\"./createDeferred\"));\n\nvar _crossFetch = _interopRequireDefault(require(\"cross-fetch\"));\n\nvar _directLine = require(\"./directLine\");\n\nvar _WebSocketClientWithNetworkInformation = _interopRequireDefault(require(\"./streaming/WebSocketClientWithNetworkInformation\"));\n\nvar _excluded = [\"attachments\"];\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar DIRECT_LINE_VERSION = 'DirectLine/3.0';\nvar MAX_RETRY_COUNT = 3;\nvar refreshTokenLifetime = 30 * 60 * 1000; //const refreshTokenLifetime = 5000;\n// const timeout = 20 * 1000;\n\nvar refreshTokenInterval = refreshTokenLifetime / 2;\n\nvar StreamHandler = /*#__PURE__*/function () {\n function StreamHandler(s, c$, sq) {\n (0, _classCallCheck2[\"default\"])(this, StreamHandler);\n (0, _defineProperty2[\"default\"])(this, \"activityQueue\", []);\n this.subscriber = s;\n this.connectionStatus$ = c$;\n this.shouldQueue = sq;\n }\n\n (0, _createClass2[\"default\"])(StreamHandler, [{\n key: \"setSubscriber\",\n value: function setSubscriber(s) {\n this.subscriber = s;\n }\n }, {\n key: \"processRequest\",\n value: function () {\n var _processRequest = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee(request, logger) {\n var streams, stream0, activitySetJson, activitySet, activity, attachments, stream, attachment, dataUri;\n return _regenerator[\"default\"].wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n streams = (0, _toConsumableArray2[\"default\"])(request.streams);\n stream0 = streams.shift();\n _context.next = 4;\n return stream0.readAsString();\n\n case 4:\n activitySetJson = _context.sent;\n activitySet = JSON.parse(activitySetJson);\n\n if (!(activitySet.activities.length !== 1)) {\n _context.next = 9;\n break;\n }\n\n // Only one activity is expected in a set in streaming\n this.subscriber.error(new Error('there should be exactly one activity'));\n return _context.abrupt(\"return\", BFSE.StreamingResponse.create(500));\n\n case 9:\n activity = activitySet.activities[0];\n\n if (!(streams.length > 0)) {\n _context.next = 21;\n break;\n }\n\n attachments = (0, _toConsumableArray2[\"default\"])(activity.attachments);\n\n case 12:\n if (!(stream = streams.shift())) {\n _context.next = 20;\n break;\n }\n\n _context.next = 15;\n return stream.readAsString();\n\n case 15:\n attachment = _context.sent;\n dataUri = 'data:text/plain;base64,' + attachment;\n attachments.push({\n contentType: stream.contentType,\n contentUrl: dataUri\n });\n _context.next = 12;\n break;\n\n case 20:\n activity.attachments = attachments;\n\n case 21:\n if (this.shouldQueue()) {\n this.activityQueue.push(activity);\n } else {\n this.subscriber.next(activity);\n }\n\n return _context.abrupt(\"return\", BFSE.StreamingResponse.create(200));\n\n case 23:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee, this);\n }));\n\n function processRequest(_x, _x2) {\n return _processRequest.apply(this, arguments);\n }\n\n return processRequest;\n }()\n }, {\n key: \"flush\",\n value: function flush() {\n var _this = this;\n\n this.connectionStatus$.subscribe(function () {});\n this.activityQueue.forEach(function (a) {\n return _this.subscriber.next(a);\n });\n this.activityQueue = [];\n }\n }, {\n key: \"end\",\n value: function end() {\n this.subscriber.complete();\n }\n }]);\n return StreamHandler;\n}();\n\nvar _networkInformation = /*#__PURE__*/new WeakMap();\n\nvar DirectLineStreaming = /*#__PURE__*/function () {\n function DirectLineStreaming(options) {\n var _this2 = this;\n\n (0, _classCallCheck2[\"default\"])(this, DirectLineStreaming);\n (0, _defineProperty2[\"default\"])(this, \"connectionStatus$\", new _BehaviorSubject.BehaviorSubject(_directLine.ConnectionStatus.Uninitialized));\n (0, _defineProperty2[\"default\"])(this, \"_botAgent\", '');\n\n _networkInformation.set(this, {\n writable: true,\n value: void 0\n });\n\n // Rectifies `options.networkInformation`.\n var networkInformation = options === null || options === void 0 ? void 0 : options.networkInformation;\n\n if (typeof networkInformation === 'undefined' || typeof networkInformation.addEventListener === 'function' && typeof networkInformation.removeEventListener === 'function' && typeof networkInformation.type === 'string') {\n (0, _classPrivateFieldSet2[\"default\"])(this, _networkInformation, networkInformation);\n } else {\n console.warn('botframework-directlinejs: \"networkInformation\" option specified must be a `NetworkInformation`-like instance extending `EventTarget` interface with a `type` property returning a string.');\n }\n\n this.token = options.token;\n this.refreshToken()[\"catch\"](function () {\n _this2.connectionStatus$.next(_directLine.ConnectionStatus.ExpiredToken);\n });\n this.domain = options.domain;\n\n if (options.conversationId) {\n this.conversationId = options.conversationId;\n }\n\n this._botAgent = this.getBotAgent(options.botAgent);\n this.queueActivities = true;\n this.activity$ = _Observable.Observable.create( /*#__PURE__*/function () {\n var _ref = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee2(subscriber) {\n return _regenerator[\"default\"].wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n _this2.activitySubscriber = subscriber;\n _this2.theStreamHandler = new StreamHandler(subscriber, _this2.connectionStatus$, function () {\n return _this2.queueActivities;\n }); // Resolving connectDeferred will kick-off the connection.\n\n _this2.connectDeferred.resolve();\n\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n\n return function (_x3) {\n return _ref.apply(this, arguments);\n };\n }()).share(); // connectWithRetryAsync() will create the connectDeferred object required in activity$.\n\n this.connectWithRetryAsync();\n }\n\n (0, _createClass2[\"default\"])(DirectLineStreaming, [{\n key: \"reconnect\",\n value: function reconnect(_ref2) {\n var conversationId = _ref2.conversationId,\n token = _ref2.token;\n\n if (this.connectionStatus$.getValue() === _directLine.ConnectionStatus.Ended) {\n throw new Error('Connection has ended.');\n }\n\n this.conversationId = conversationId;\n this.token = token;\n this.connectDeferred.resolve();\n }\n }, {\n key: \"end\",\n value: function end() {\n // Once end() is called, no reconnection can be made.\n this.activitySubscriber.complete();\n this.connectionStatus$.next(_directLine.ConnectionStatus.Ended);\n this.connectionStatus$.complete();\n this.streamConnection.disconnect();\n }\n }, {\n key: \"commonHeaders\",\n value: function commonHeaders() {\n return {\n Authorization: \"Bearer \".concat(this.token),\n 'x-ms-bot-agent': this._botAgent\n };\n }\n }, {\n key: \"getBotAgent\",\n value: function getBotAgent() {\n var customAgent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var clientAgent = 'directlineStreaming';\n\n if (customAgent) {\n clientAgent += \"; \".concat(customAgent);\n }\n\n return \"\".concat(DIRECT_LINE_VERSION, \" (\").concat(clientAgent, \")\");\n }\n }, {\n key: \"refreshToken\",\n value: function () {\n var _refreshToken = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee3() {\n var firstCall,\n retryCount,\n numberOfAttempts,\n res,\n _yield$res$json,\n token,\n _args3 = arguments;\n\n return _regenerator[\"default\"].wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n firstCall = _args3.length > 0 && _args3[0] !== undefined ? _args3[0] : true;\n retryCount = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : 0;\n _context3.next = 4;\n return this.waitUntilOnline();\n\n case 4:\n numberOfAttempts = 0;\n\n case 5:\n if (!(numberOfAttempts < MAX_RETRY_COUNT)) {\n _context3.next = 30;\n break;\n }\n\n numberOfAttempts++;\n _context3.next = 9;\n return new Promise(function (r) {\n return setTimeout(r, refreshTokenInterval);\n });\n\n case 9:\n _context3.prev = 9;\n _context3.next = 12;\n return (0, _crossFetch[\"default\"])(\"\".concat(this.domain, \"/tokens/refresh\"), {\n method: 'POST',\n headers: this.commonHeaders()\n });\n\n case 12:\n res = _context3.sent;\n\n if (!res.ok) {\n _context3.next = 22;\n break;\n }\n\n numberOfAttempts = 0;\n _context3.next = 17;\n return res.json();\n\n case 17:\n _yield$res$json = _context3.sent;\n token = _yield$res$json.token;\n this.token = token;\n _context3.next = 23;\n break;\n\n case 22:\n if (res.status === 403 || res.status === 403) {\n console.error(\"Fatal error while refreshing the token: \".concat(res.status, \" \").concat(res.statusText));\n this.streamConnection.disconnect();\n } else {\n console.warn(\"Refresh attempt #\".concat(numberOfAttempts, \" failed: \").concat(res.status, \" \").concat(res.statusText));\n }\n\n case 23:\n _context3.next = 28;\n break;\n\n case 25:\n _context3.prev = 25;\n _context3.t0 = _context3[\"catch\"](9);\n console.warn(\"Refresh attempt #\".concat(numberOfAttempts, \" threw an exception: \").concat(_context3.t0));\n\n case 28:\n _context3.next = 5;\n break;\n\n case 30:\n console.error('Retries exhausted');\n this.streamConnection.disconnect();\n\n case 32:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3, this, [[9, 25]]);\n }));\n\n function refreshToken() {\n return _refreshToken.apply(this, arguments);\n }\n\n return refreshToken;\n }()\n }, {\n key: \"postActivity\",\n value: function postActivity(activity) {\n var _this3 = this;\n\n if (this.connectionStatus$.value === _directLine.ConnectionStatus.Ended || this.connectionStatus$.value === _directLine.ConnectionStatus.FailedToConnect) {\n return _Observable.Observable[\"throw\"](new Error('Connection is closed'));\n }\n\n if (activity.type === 'message' && activity.attachments && activity.attachments.length > 0) {\n return this.postMessageWithAttachments(activity);\n }\n\n var resp$ = _Observable.Observable.create( /*#__PURE__*/function () {\n var _ref3 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee4(subscriber) {\n var request, resp, numberOfStreams, idString, _JSON$parse, id;\n\n return _regenerator[\"default\"].wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n request = BFSE.StreamingRequest.create('POST', '/v3/directline/conversations/' + _this3.conversationId + '/activities');\n request.setBody(JSON.stringify(activity));\n _context4.prev = 2;\n _context4.next = 5;\n return _this3.streamConnection.send(request);\n\n case 5:\n resp = _context4.sent;\n\n if (!(resp.statusCode !== 200)) {\n _context4.next = 8;\n break;\n }\n\n throw new Error('PostActivity returned ' + resp.statusCode);\n\n case 8:\n numberOfStreams = resp.streams.length;\n\n if (!(numberOfStreams !== 1)) {\n _context4.next = 11;\n break;\n }\n\n throw new Error('Expected one stream but got ' + numberOfStreams);\n\n case 11:\n _context4.next = 13;\n return resp.streams[0].readAsString();\n\n case 13:\n idString = _context4.sent;\n _JSON$parse = JSON.parse(idString), id = _JSON$parse.Id;\n subscriber.next(id);\n return _context4.abrupt(\"return\", subscriber.complete());\n\n case 19:\n _context4.prev = 19;\n _context4.t0 = _context4[\"catch\"](2);\n // If there is a network issue then its handled by\n // the disconnectionHandler. Everything else can\n // be retried\n console.warn(_context4.t0);\n\n _this3.streamConnection.disconnect();\n\n return _context4.abrupt(\"return\", subscriber.error(_context4.t0));\n\n case 24:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4, null, [[2, 19]]);\n }));\n\n return function (_x4) {\n return _ref3.apply(this, arguments);\n };\n }());\n\n return resp$;\n }\n }, {\n key: \"postMessageWithAttachments\",\n value: function postMessageWithAttachments(message) {\n var _this4 = this;\n\n var attachments = message.attachments,\n messageWithoutAttachments = (0, _objectWithoutProperties2[\"default\"])(message, _excluded);\n return _Observable.Observable.create(function (subscriber) {\n var httpContentList = [];\n (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee6() {\n var arrayBuffers, url, request, activityStream, resp, _yield$resp$streams$, id;\n\n return _regenerator[\"default\"].wrap(function _callee6$(_context6) {\n while (1) {\n switch (_context6.prev = _context6.next) {\n case 0:\n _context6.prev = 0;\n _context6.next = 3;\n return Promise.all(attachments.map( /*#__PURE__*/function () {\n var _ref5 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee5(attachment) {\n var media, res;\n return _regenerator[\"default\"].wrap(function _callee5$(_context5) {\n while (1) {\n switch (_context5.prev = _context5.next) {\n case 0:\n media = attachment;\n _context5.next = 3;\n return (0, _crossFetch[\"default\"])(media.contentUrl);\n\n case 3:\n res = _context5.sent;\n\n if (!res.ok) {\n _context5.next = 12;\n break;\n }\n\n _context5.next = 7;\n return res.arrayBuffer();\n\n case 7:\n _context5.t0 = _context5.sent;\n _context5.t1 = media;\n return _context5.abrupt(\"return\", {\n arrayBuffer: _context5.t0,\n media: _context5.t1\n });\n\n case 12:\n throw new Error('...');\n\n case 13:\n case \"end\":\n return _context5.stop();\n }\n }\n }, _callee5);\n }));\n\n return function (_x5) {\n return _ref5.apply(this, arguments);\n };\n }()));\n\n case 3:\n arrayBuffers = _context6.sent;\n arrayBuffers.forEach(function (_ref6) {\n var arrayBuffer = _ref6.arrayBuffer,\n media = _ref6.media;\n\n var buffer = _buffer.Buffer.from(arrayBuffer);\n\n var stream = new BFSE.SubscribableStream();\n stream.write(buffer);\n var httpContent = new BFSE.HttpContent({\n type: media.contentType,\n contentLength: buffer.length\n }, stream);\n httpContentList.push(httpContent);\n });\n url = \"/v3/directline/conversations/\".concat(_this4.conversationId, \"/users/\").concat(messageWithoutAttachments.from.id, \"/upload\");\n request = BFSE.StreamingRequest.create('PUT', url);\n activityStream = new BFSE.SubscribableStream();\n activityStream.write(JSON.stringify(messageWithoutAttachments), 'utf-8');\n request.addStream(new BFSE.HttpContent({\n type: 'application/vnd.microsoft.activity',\n contentLength: activityStream.length\n }, activityStream));\n httpContentList.forEach(function (e) {\n return request.addStream(e);\n });\n _context6.next = 13;\n return _this4.streamConnection.send(request);\n\n case 13:\n resp = _context6.sent;\n\n if (!(resp.streams && resp.streams.length !== 1)) {\n _context6.next = 18;\n break;\n }\n\n subscriber.error(new Error(\"Invalid stream count \".concat(resp.streams.length)));\n _context6.next = 24;\n break;\n\n case 18:\n _context6.next = 20;\n return resp.streams[0].readAsJson();\n\n case 20:\n _yield$resp$streams$ = _context6.sent;\n id = _yield$resp$streams$.Id;\n subscriber.next(id);\n subscriber.complete();\n\n case 24:\n _context6.next = 29;\n break;\n\n case 26:\n _context6.prev = 26;\n _context6.t0 = _context6[\"catch\"](0);\n subscriber.error(_context6.t0);\n\n case 29:\n case \"end\":\n return _context6.stop();\n }\n }\n }, _callee6, null, [[0, 26]]);\n }))();\n });\n }\n }, {\n key: \"waitUntilOnline\",\n value: function () {\n var _waitUntilOnline = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee7() {\n var _this5 = this;\n\n return _regenerator[\"default\"].wrap(function _callee7$(_context7) {\n while (1) {\n switch (_context7.prev = _context7.next) {\n case 0:\n return _context7.abrupt(\"return\", new Promise(function (resolve, reject) {\n _this5.connectionStatus$.subscribe(function (cs) {\n if (cs === _directLine.ConnectionStatus.Online) {\n return resolve();\n }\n }, function (e) {\n return reject(e);\n });\n }));\n\n case 1:\n case \"end\":\n return _context7.stop();\n }\n }\n }, _callee7);\n }));\n\n function waitUntilOnline() {\n return _waitUntilOnline.apply(this, arguments);\n }\n\n return waitUntilOnline;\n }()\n }, {\n key: \"connectAsync\",\n value: function () {\n var _connectAsync = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee9() {\n var _this6 = this;\n\n var re, params, abortController, urlSearchParams, wsUrl;\n return _regenerator[\"default\"].wrap(function _callee9$(_context9) {\n while (1) {\n switch (_context9.prev = _context9.next) {\n case 0:\n re = new RegExp('^http(s?)');\n\n if (re.test(this.domain)) {\n _context9.next = 3;\n break;\n }\n\n throw 'Domain must begin with http or https';\n\n case 3:\n params = {\n token: this.token\n };\n\n if (this.conversationId) {\n params['conversationId'] = this.conversationId;\n }\n\n abortController = new AbortController();\n urlSearchParams = new URLSearchParams(params).toString();\n wsUrl = \"\".concat(this.domain.replace(re, 'ws$1'), \"/conversations/connect?\").concat(urlSearchParams); // This promise will resolve when it is disconnected.\n\n return _context9.abrupt(\"return\", new Promise( /*#__PURE__*/function () {\n var _ref7 = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee8(resolve, reject) {\n var request, response, responseString, conversation;\n return _regenerator[\"default\"].wrap(function _callee8$(_context8) {\n while (1) {\n switch (_context8.prev = _context8.next) {\n case 0:\n _context8.prev = 0;\n _this6.streamConnection = new _WebSocketClientWithNetworkInformation[\"default\"]({\n disconnectionHandler: resolve,\n networkInformation: (0, _classPrivateFieldGet2[\"default\"])(_this6, _networkInformation),\n requestHandler: {\n processRequest: function processRequest(streamingRequest) {\n // If `streamConnection` is still current, allow call to `processRequest()`, otherwise, ignore calls to `processRequest()`.\n // This prevents zombie connections from sending us requests.\n if (abortController.signal.aborted) {\n throw new Error('Cannot process streaming request, `streamingConnection` should be disconnected.');\n }\n\n return _this6.theStreamHandler.processRequest(streamingRequest);\n }\n },\n url: wsUrl\n });\n _this6.queueActivities = true;\n _context8.next = 5;\n return _this6.streamConnection.connect();\n\n case 5:\n request = BFSE.StreamingRequest.create('POST', '/v3/directline/conversations');\n _context8.next = 8;\n return _this6.streamConnection.send(request);\n\n case 8:\n response = _context8.sent;\n\n if (!(response.statusCode !== 200)) {\n _context8.next = 11;\n break;\n }\n\n throw new Error('Connection response code ' + response.statusCode);\n\n case 11:\n if (!(response.streams.length !== 1)) {\n _context8.next = 13;\n break;\n }\n\n throw new Error('Expected 1 stream but got ' + response.streams.length);\n\n case 13:\n _context8.next = 15;\n return response.streams[0].readAsString();\n\n case 15:\n responseString = _context8.sent;\n conversation = JSON.parse(responseString);\n _this6.conversationId = conversation.conversationId;\n\n _this6.connectionStatus$.next(_directLine.ConnectionStatus.Online); // Wait until DL consumers have had a chance to be notified\n // of the connection status change.\n // This is specific to RxJS implementation of observable, which calling subscribe() after next() will still get the value.\n\n\n _context8.next = 21;\n return _this6.waitUntilOnline();\n\n case 21:\n _this6.theStreamHandler.flush();\n\n _this6.queueActivities = false;\n _context8.next = 28;\n break;\n\n case 25:\n _context8.prev = 25;\n _context8.t0 = _context8[\"catch\"](0);\n reject(_context8.t0);\n\n case 28:\n case \"end\":\n return _context8.stop();\n }\n }\n }, _callee8, null, [[0, 25]]);\n }));\n\n return function (_x6, _x7) {\n return _ref7.apply(this, arguments);\n };\n }())[\"finally\"](function () {\n return abortController.abort();\n }));\n\n case 9:\n case \"end\":\n return _context9.stop();\n }\n }\n }, _callee9, this);\n }));\n\n function connectAsync() {\n return _connectAsync.apply(this, arguments);\n }\n\n return connectAsync;\n }()\n }, {\n key: \"connectWithRetryAsync\",\n value: function () {\n var _connectWithRetryAsync = (0, _asyncToGenerator2[\"default\"])( /*#__PURE__*/_regenerator[\"default\"].mark(function _callee10() {\n var _this7 = this;\n\n var numRetries, start;\n return _regenerator[\"default\"].wrap(function _callee10$(_context10) {\n while (1) {\n switch (_context10.prev = _context10.next) {\n case 0:\n _context10.next = 2;\n return (this.connectDeferred = (0, _createDeferred[\"default\"])()).promise;\n\n case 2:\n numRetries = MAX_RETRY_COUNT;\n this.connectionStatus$.next(_directLine.ConnectionStatus.Connecting);\n\n case 4:\n if (!(numRetries > 0)) {\n _context10.next = 27;\n break;\n }\n\n numRetries--;\n start = Date.now();\n _context10.prev = 7;\n _context10.next = 10;\n return this.connectAsync();\n\n case 10:\n _context10.next = 15;\n break;\n\n case 12:\n _context10.prev = 12;\n _context10.t0 = _context10[\"catch\"](7);\n console.error(_context10.t0);\n\n case 15:\n if (!(this.connectionStatus$.getValue() === _directLine.ConnectionStatus.Ended)) {\n _context10.next = 17;\n break;\n }\n\n return _context10.abrupt(\"return\");\n\n case 17:\n // Make sure we don't signal ConnectionStatus.Connecting twice or more without an actual connection.\n // Subsequent retries should be transparent.\n if (this.connectionStatus$.getValue() !== _directLine.ConnectionStatus.Connecting) {\n this.connectionStatus$.next(_directLine.ConnectionStatus.Connecting);\n } // If the current connection lasted for more than a minute, the previous connection is good, which means:\n // - we should reset the retry counter, and;\n // - we should reconnect immediately.\n\n\n if (!(60000 < Date.now() - start)) {\n _context10.next = 22;\n break;\n }\n\n numRetries = MAX_RETRY_COUNT;\n _context10.next = 25;\n break;\n\n case 22:\n if (!(numRetries > 0)) {\n _context10.next = 25;\n break;\n }\n\n _context10.next = 25;\n return new Promise(function (r) {\n return setTimeout(r, _this7.getRetryDelay());\n });\n\n case 25:\n _context10.next = 4;\n break;\n\n case 27:\n // TODO: [TEST] Make sure FailedToConnect is reported immediately after last disconnection, should be no getRetryDelay().\n // Failed to reconnect after multiple retries.\n this.connectionStatus$.next(_directLine.ConnectionStatus.FailedToConnect);\n\n case 28:\n _context10.next = 0;\n break;\n\n case 30:\n case \"end\":\n return _context10.stop();\n }\n }\n }, _callee10, this, [[7, 12]]);\n }));\n\n function connectWithRetryAsync() {\n return _connectWithRetryAsync.apply(this, arguments);\n }\n\n return connectWithRetryAsync;\n }() // Returns the delay duration in milliseconds\n\n }, {\n key: \"getRetryDelay\",\n value: function getRetryDelay() {\n return Math.floor(3000 + Math.random() * 12000);\n }\n }]);\n return DirectLineStreaming;\n}();\n\nexports.DirectLineStreaming = DirectLineStreaming;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kaXJlY3RMaW5lU3RyZWFtaW5nLnRzIl0sIm5hbWVzIjpbIkRJUkVDVF9MSU5FX1ZFUlNJT04iLCJNQVhfUkVUUllfQ09VTlQiLCJyZWZyZXNoVG9rZW5MaWZldGltZSIsInJlZnJlc2hUb2tlbkludGVydmFsIiwiU3RyZWFtSGFuZGxlciIsInMiLCJjJCIsInNxIiwic3Vic2NyaWJlciIsImNvbm5lY3Rpb25TdGF0dXMkIiwic2hvdWxkUXVldWUiLCJyZXF1ZXN0IiwibG9nZ2VyIiwic3RyZWFtcyIsInN0cmVhbTAiLCJzaGlmdCIsInJlYWRBc1N0cmluZyIsImFjdGl2aXR5U2V0SnNvbiIsImFjdGl2aXR5U2V0IiwiSlNPTiIsInBhcnNlIiwiYWN0aXZpdGllcyIsImxlbmd0aCIsImVycm9yIiwiRXJyb3IiLCJCRlNFIiwiU3RyZWFtaW5nUmVzcG9uc2UiLCJjcmVhdGUiLCJhY3Rpdml0eSIsImF0dGFjaG1lbnRzIiwic3RyZWFtIiwiYXR0YWNobWVudCIsImRhdGFVcmkiLCJwdXNoIiwiY29udGVudFR5cGUiLCJjb250ZW50VXJsIiwiYWN0aXZpdHlRdWV1ZSIsIm5leHQiLCJzdWJzY3JpYmUiLCJmb3JFYWNoIiwiYSIsImNvbXBsZXRlIiwiRGlyZWN0TGluZVN0cmVhbWluZyIsIm9wdGlvbnMiLCJCZWhhdmlvclN1YmplY3QiLCJDb25uZWN0aW9uU3RhdHVzIiwiVW5pbml0aWFsaXplZCIsIm5ldHdvcmtJbmZvcm1hdGlvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwidHlwZSIsImNvbnNvbGUiLCJ3YXJuIiwidG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJFeHBpcmVkVG9rZW4iLCJkb21haW4iLCJjb252ZXJzYXRpb25JZCIsIl9ib3RBZ2VudCIsImdldEJvdEFnZW50IiwiYm90QWdlbnQiLCJxdWV1ZUFjdGl2aXRpZXMiLCJhY3Rpdml0eSQiLCJPYnNlcnZhYmxlIiwiYWN0aXZpdHlTdWJzY3JpYmVyIiwidGhlU3RyZWFtSGFuZGxlciIsImNvbm5lY3REZWZlcnJlZCIsInJlc29sdmUiLCJzaGFyZSIsImNvbm5lY3RXaXRoUmV0cnlBc3luYyIsImdldFZhbHVlIiwiRW5kZWQiLCJzdHJlYW1Db25uZWN0aW9uIiwiZGlzY29ubmVjdCIsIkF1dGhvcml6YXRpb24iLCJjdXN0b21BZ2VudCIsImNsaWVudEFnZW50IiwiZmlyc3RDYWxsIiwicmV0cnlDb3VudCIsIndhaXRVbnRpbE9ubGluZSIsIm51bWJlck9mQXR0ZW1wdHMiLCJQcm9taXNlIiwiciIsInNldFRpbWVvdXQiLCJtZXRob2QiLCJoZWFkZXJzIiwiY29tbW9uSGVhZGVycyIsInJlcyIsIm9rIiwianNvbiIsInN0YXR1cyIsInN0YXR1c1RleHQiLCJ2YWx1ZSIsIkZhaWxlZFRvQ29ubmVjdCIsInBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzIiwicmVzcCQiLCJTdHJlYW1pbmdSZXF1ZXN0Iiwic2V0Qm9keSIsInN0cmluZ2lmeSIsInNlbmQiLCJyZXNwIiwic3RhdHVzQ29kZSIsIm51bWJlck9mU3RyZWFtcyIsImlkU3RyaW5nIiwiaWQiLCJJZCIsIm1lc3NhZ2UiLCJtZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzIiwiaHR0cENvbnRlbnRMaXN0IiwiYWxsIiwibWFwIiwibWVkaWEiLCJhcnJheUJ1ZmZlciIsImFycmF5QnVmZmVycyIsImJ1ZmZlciIsIkJ1ZmZlciIsImZyb20iLCJTdWJzY3JpYmFibGVTdHJlYW0iLCJ3cml0ZSIsImh0dHBDb250ZW50IiwiSHR0cENvbnRlbnQiLCJjb250ZW50TGVuZ3RoIiwidXJsIiwiYWN0aXZpdHlTdHJlYW0iLCJhZGRTdHJlYW0iLCJlIiwicmVhZEFzSnNvbiIsInJlamVjdCIsImNzIiwiT25saW5lIiwicmUiLCJSZWdFeHAiLCJ0ZXN0IiwicGFyYW1zIiwiYWJvcnRDb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwidXJsU2VhcmNoUGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwidG9TdHJpbmciLCJ3c1VybCIsInJlcGxhY2UiLCJXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uIiwiZGlzY29ubmVjdGlvbkhhbmRsZXIiLCJyZXF1ZXN0SGFuZGxlciIsInByb2Nlc3NSZXF1ZXN0Iiwic3RyZWFtaW5nUmVxdWVzdCIsInNpZ25hbCIsImFib3J0ZWQiLCJjb25uZWN0IiwicmVzcG9uc2UiLCJyZXNwb25zZVN0cmluZyIsImNvbnZlcnNhdGlvbiIsImZsdXNoIiwiYWJvcnQiLCJwcm9taXNlIiwibnVtUmV0cmllcyIsIkNvbm5lY3RpbmciLCJzdGFydCIsIkRhdGUiLCJub3ciLCJjb25uZWN0QXN5bmMiLCJnZXRSZXRyeURlbGF5IiwiTWF0aCIsImZsb29yIiwicmFuZG9tIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOzs7Ozs7OztBQUdBLElBQU1BLG1CQUFtQixHQUFHLGdCQUE1QjtBQUNBLElBQU1DLGVBQWUsR0FBRyxDQUF4QjtBQUNBLElBQU1DLG9CQUFvQixHQUFHLEtBQUssRUFBTCxHQUFVLElBQXZDLEMsQ0FDQTtBQUNBOztBQUNBLElBQU1DLG9CQUFvQixHQUFHRCxvQkFBb0IsR0FBRyxDQUFwRDs7SUFnQk1FLGE7QUFNSix5QkFBWUMsQ0FBWixFQUFxQ0MsRUFBckMsRUFBdUVDLEVBQXZFLEVBQTBGO0FBQUE7QUFBQSw0REFGakQsRUFFaUQ7QUFDeEYsU0FBS0MsVUFBTCxHQUFrQkgsQ0FBbEI7QUFDQSxTQUFLSSxpQkFBTCxHQUF5QkgsRUFBekI7QUFDQSxTQUFLSSxXQUFMLEdBQW1CSCxFQUFuQjtBQUNEOzs7O1dBRUQsdUJBQXFCRixDQUFyQixFQUE4QztBQUM1QyxXQUFLRyxVQUFMLEdBQWtCSCxDQUFsQjtBQUNEOzs7OzBHQUVELGlCQUFxQk0sT0FBckIsRUFBb0RDLE1BQXBEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUNRQyxnQkFBQUEsT0FE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LGdCQUFBQSxPQUFPLENBQUM1QixLQUFSOztBQXJCUjtBQUFBLHNCQXlCVSxLQUFLZCxpQkFBTCxDQUF1QjZELFFBQXZCLE9BQXNDekIsNkJBQWlCMEIsS0F6QmpFO0FBQUE7QUFBQTtBQUFBOztBQUFBOztBQUFBO0FBOEJNO0FBQ0E7QUFDQSxvQkFBSSxLQUFLOUQsaUJBQUwsQ0FBdUI2RCxRQUF2QixPQUFzQ3pCLDZCQUFpQitHLFVBQTNELEVBQXVFO0FBQ3JFLHVCQUFLbkosaUJBQUwsQ0FBdUI0QixJQUF2QixDQUE0QlEsNkJBQWlCK0csVUFBN0M7QUFDRCxpQkFsQ1AsQ0FvQ007QUFDQTtBQUNBOzs7QUF0Q04sc0JBdUNVLFFBQVFFLElBQUksQ0FBQ0MsR0FBTCxLQUFhRixLQXZDL0I7QUFBQTtBQUFBO0FBQUE7O0FBd0NRRixnQkFBQUEsVUFBVSxHQUFHMUosZUFBYjtBQXhDUjtBQUFBOztBQUFBO0FBQUEsc0JBeUNpQjBKLFVBQVUsR0FBRyxDQXpDOUI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQSx1QkEyQ2MsSUFBSTFFLE9BQUosQ0FBWSxVQUFBQyxDQUFDO0FBQUEseUJBQUlDLFVBQVUsQ0FBQ0QsQ0FBRCxFQUFJLE1BQUksQ0FBQytFLGFBQUwsRUFBSixDQUFkO0FBQUEsaUJBQWIsQ0EzQ2Q7O0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBK0NJO0FBQ0E7QUFDQSxxQkFBS3hKLGlCQUFMLENBQXVCNEIsSUFBdkIsQ0FBNEJRLDZCQUFpQmdELGVBQTdDOztBQWpESjtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsTzs7Ozs7OztRQXVEQTs7OztXQUNBLHlCQUF3QjtBQUN0QixhQUFPcUUsSUFBSSxDQUFDQyxLQUFMLENBQVcsT0FBT0QsSUFBSSxDQUFDRSxNQUFMLEtBQWdCLEtBQWxDLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEluIG9yZGVyIHRvIGtlZXAgZmlsZSBzaXplIGRvd24sIG9ubHkgaW1wb3J0IHRoZSBwYXJ0cyBvZiByeGpzIHRoYXQgd2UgdXNlXG5cbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMvQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gJ2J1ZmZlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcy9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICdyeGpzL1N1YnNjcmliZXInO1xuaW1wb3J0ICogYXMgQkZTRSBmcm9tICdib3RmcmFtZXdvcmstc3RyZWFtaW5nJztcbmltcG9ydCBjcmVhdGVEZWZlcnJlZCBmcm9tICcuL2NyZWF0ZURlZmVycmVkJztcbmltcG9ydCBmZXRjaCBmcm9tICdjcm9zcy1mZXRjaCc7XG5cbmltcG9ydCB7IEFjdGl2aXR5LCBDb25uZWN0aW9uU3RhdHVzLCBDb252ZXJzYXRpb24sIERpcmVjdExpbmUsIElCb3RDb25uZWN0aW9uLCBNZWRpYSwgTWVzc2FnZSB9IGZyb20gJy4vZGlyZWN0TGluZSc7XG5pbXBvcnQgV2ViU29ja2V0Q2xpZW50V2l0aE5ldHdvcmtJbmZvcm1hdGlvbiBmcm9tICcuL3N0cmVhbWluZy9XZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uJztcbmltcG9ydCB0eXBlIHsgRGVmZXJyZWQgfSBmcm9tICcuL2NyZWF0ZURlZmVycmVkJztcblxuY29uc3QgRElSRUNUX0xJTkVfVkVSU0lPTiA9ICdEaXJlY3RMaW5lLzMuMCc7XG5jb25zdCBNQVhfUkVUUllfQ09VTlQgPSAzO1xuY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSAzMCAqIDYwICogMTAwMDtcbi8vY29uc3QgcmVmcmVzaFRva2VuTGlmZXRpbWUgPSA1MDAwO1xuLy8gY29uc3QgdGltZW91dCA9IDIwICogMTAwMDtcbmNvbnN0IHJlZnJlc2hUb2tlbkludGVydmFsID0gcmVmcmVzaFRva2VuTGlmZXRpbWUgLyAyO1xuXG5pbnRlcmZhY2UgRGlyZWN0TGluZVN0cmVhbWluZ09wdGlvbnMge1xuICB0b2tlbjogc3RyaW5nO1xuICBjb252ZXJzYXRpb25JZD86IHN0cmluZztcbiAgZG9tYWluOiBzdHJpbmc7XG4gIC8vIEF0dGFjaGVkIHRvIGFsbCByZXF1ZXN0cyB0byBpZGVudGlmeSByZXF1ZXN0aW5nIGFnZW50LlxuICBib3RBZ2VudD86IHN0cmluZztcblxuICAvKipcbiAgICogU2V0cyB0aGUgW2BOZXR3b3JrSW5mb3JtYXRpb25gIEFQSV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL05ldHdvcmtfSW5mb3JtYXRpb25fQVBJKS5cbiAgICogV2hlbiB0aGUgYE5ldHdvcmtJbmZvcm1hdGlvbmAgZGV0ZWN0IG5ldHdvcmsgY2hhbmdlcyBvciBvZmZsaW5lLCBpdCB3aWxsIGRpc2Nvbm5lY3QgdGhlIFdlYiBTb2NrZXQgYW5kIHJlY29ubmVjdCBpdC5cbiAgICovXG4gIG5ldHdvcmtJbmZvcm1hdGlvbj86IE5ldHdvcmtJbmZvcm1hdGlvbjtcbn1cblxuY2xhc3MgU3RyZWFtSGFuZGxlciBpbXBsZW1lbnRzIEJGU0UuUmVxdWVzdEhhbmRsZXIge1xuICBwcml2YXRlIGNvbm5lY3Rpb25TdGF0dXMkO1xuICBwcml2YXRlIHN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+O1xuICBwcml2YXRlIHNob3VsZFF1ZXVlOiAoKSA9PiBib29sZWFuO1xuICBwcml2YXRlIGFjdGl2aXR5UXVldWU6IEFycmF5PEFjdGl2aXR5PiA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKHM6IFN1YnNjcmliZXI8QWN0aXZpdHk+LCBjJDogT2JzZXJ2YWJsZTxDb25uZWN0aW9uU3RhdHVzPiwgc3E6ICgpID0+IGJvb2xlYW4pIHtcbiAgICB0aGlzLnN1YnNjcmliZXIgPSBzO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQgPSBjJDtcbiAgICB0aGlzLnNob3VsZFF1ZXVlID0gc3E7XG4gIH1cblxuICBwdWJsaWMgc2V0U3Vic2NyaWJlcihzOiBTdWJzY3JpYmVyPEFjdGl2aXR5Pikge1xuICAgIHRoaXMuc3Vic2NyaWJlciA9IHM7XG4gIH1cblxuICBhc3luYyBwcm9jZXNzUmVxdWVzdChyZXF1ZXN0OiBCRlNFLklSZWNlaXZlUmVxdWVzdCwgbG9nZ2VyPzogYW55KTogUHJvbWlzZTxCRlNFLlN0cmVhbWluZ1Jlc3BvbnNlPiB7XG4gICAgY29uc3Qgc3RyZWFtcyA9IFsuLi5yZXF1ZXN0LnN0cmVhbXNdO1xuICAgIGNvbnN0IHN0cmVhbTAgPSBzdHJlYW1zLnNoaWZ0KCk7XG4gICAgY29uc3QgYWN0aXZpdHlTZXRKc29uID0gYXdhaXQgc3RyZWFtMC5yZWFkQXNTdHJpbmcoKTtcbiAgICBjb25zdCBhY3Rpdml0eVNldCA9IEpTT04ucGFyc2UoYWN0aXZpdHlTZXRKc29uKTtcblxuICAgIGlmIChhY3Rpdml0eVNldC5hY3Rpdml0aWVzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgLy8gT25seSBvbmUgYWN0aXZpdHkgaXMgZXhwZWN0ZWQgaW4gYSBzZXQgaW4gc3RyZWFtaW5nXG4gICAgICB0aGlzLnN1YnNjcmliZXIuZXJyb3IobmV3IEVycm9yKCd0aGVyZSBzaG91bGQgYmUgZXhhY3RseSBvbmUgYWN0aXZpdHknKSk7XG4gICAgICByZXR1cm4gQkZTRS5TdHJlYW1pbmdSZXNwb25zZS5jcmVhdGUoNTAwKTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3Rpdml0eSA9IGFjdGl2aXR5U2V0LmFjdGl2aXRpZXNbMF07XG5cbiAgICBpZiAoc3RyZWFtcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBhdHRhY2htZW50cyA9IFsuLi5hY3Rpdml0eS5hdHRhY2htZW50c107XG5cbiAgICAgIGxldCBzdHJlYW06IEJGU0UuQ29udGVudFN0cmVhbTtcbiAgICAgIHdoaWxlICgoc3RyZWFtID0gc3RyZWFtcy5zaGlmdCgpKSkge1xuICAgICAgICBjb25zdCBhdHRhY2htZW50ID0gYXdhaXQgc3RyZWFtLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBkYXRhVXJpID0gJ2RhdGE6dGV4dC9wbGFpbjtiYXNlNjQsJyArIGF0dGFjaG1lbnQ7XG4gICAgICAgIGF0dGFjaG1lbnRzLnB1c2goeyBjb250ZW50VHlwZTogc3RyZWFtLmNvbnRlbnRUeXBlLCBjb250ZW50VXJsOiBkYXRhVXJpIH0pO1xuICAgICAgfVxuXG4gICAgICBhY3Rpdml0eS5hdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnNob3VsZFF1ZXVlKCkpIHtcbiAgICAgIHRoaXMuYWN0aXZpdHlRdWV1ZS5wdXNoKGFjdGl2aXR5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdWJzY3JpYmVyLm5leHQoYWN0aXZpdHkpO1xuICAgIH1cblxuICAgIHJldHVybiBCRlNFLlN0cmVhbWluZ1Jlc3BvbnNlLmNyZWF0ZSgyMDApO1xuICB9XG5cbiAgcHVibGljIGZsdXNoKCkge1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQuc3Vic2NyaWJlKCgpID0+IHt9KTtcbiAgICB0aGlzLmFjdGl2aXR5UXVldWUuZm9yRWFjaChhID0+IHRoaXMuc3Vic2NyaWJlci5uZXh0KGEpKTtcbiAgICB0aGlzLmFjdGl2aXR5UXVldWUgPSBbXTtcbiAgfVxuXG4gIHB1YmxpYyBlbmQoKSB7XG4gICAgdGhpcy5zdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIERpcmVjdExpbmVTdHJlYW1pbmcgaW1wbGVtZW50cyBJQm90Q29ubmVjdGlvbiB7XG4gIHB1YmxpYyBjb25uZWN0aW9uU3RhdHVzJCA9IG5ldyBCZWhhdmlvclN1YmplY3QoQ29ubmVjdGlvblN0YXR1cy5VbmluaXRpYWxpemVkKTtcbiAgcHVibGljIGFjdGl2aXR5JDogT2JzZXJ2YWJsZTxBY3Rpdml0eT47XG5cbiAgcHJpdmF0ZSBhY3Rpdml0eVN1YnNjcmliZXI6IFN1YnNjcmliZXI8QWN0aXZpdHk+O1xuICBwcml2YXRlIGNvbm5lY3REZWZlcnJlZDogRGVmZXJyZWQ8dm9pZD47XG4gIHByaXZhdGUgdGhlU3RyZWFtSGFuZGxlcjogU3RyZWFtSGFuZGxlcjtcblxuICBwcml2YXRlIGRvbWFpbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgY29udmVyc2F0aW9uSWQ6IHN0cmluZztcbiAgcHJpdmF0ZSB0b2tlbjogc3RyaW5nO1xuICBwcml2YXRlIHN0cmVhbUNvbm5lY3Rpb246IEJGU0UuV2ViU29ja2V0Q2xpZW50O1xuICBwcml2YXRlIHF1ZXVlQWN0aXZpdGllczogYm9vbGVhbjtcblxuICBwcml2YXRlIF9ib3RBZ2VudCA9ICcnO1xuXG4gICNuZXR3b3JrSW5mb3JtYXRpb246IE5ldHdvcmtJbmZvcm1hdGlvbiB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBEaXJlY3RMaW5lU3RyZWFtaW5nT3B0aW9ucykge1xuICAgIC8vIFJlY3RpZmllcyBgb3B0aW9ucy5uZXR3b3JrSW5mb3JtYXRpb25gLlxuICAgIGNvbnN0IG5ldHdvcmtJbmZvcm1hdGlvbiA9IG9wdGlvbnM/Lm5ldHdvcmtJbmZvcm1hdGlvbjtcblxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBuZXR3b3JrSW5mb3JtYXRpb24gPT09ICd1bmRlZmluZWQnIHx8XG4gICAgICAodHlwZW9mIG5ldHdvcmtJbmZvcm1hdGlvbi5hZGRFdmVudExpc3RlbmVyID09PSAnZnVuY3Rpb24nICYmXG4gICAgICAgIHR5cGVvZiBuZXR3b3JrSW5mb3JtYXRpb24ucmVtb3ZlRXZlbnRMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgICAgICB0eXBlb2YgbmV0d29ya0luZm9ybWF0aW9uLnR5cGUgPT09ICdzdHJpbmcnKVxuICAgICkge1xuICAgICAgdGhpcy4jbmV0d29ya0luZm9ybWF0aW9uID0gbmV0d29ya0luZm9ybWF0aW9uO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICdib3RmcmFtZXdvcmstZGlyZWN0bGluZWpzOiBcIm5ldHdvcmtJbmZvcm1hdGlvblwiIG9wdGlvbiBzcGVjaWZpZWQgbXVzdCBiZSBhIGBOZXR3b3JrSW5mb3JtYXRpb25gLWxpa2UgaW5zdGFuY2UgZXh0ZW5kaW5nIGBFdmVudFRhcmdldGAgaW50ZXJmYWNlIHdpdGggYSBgdHlwZWAgcHJvcGVydHkgcmV0dXJuaW5nIGEgc3RyaW5nLidcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy50b2tlbiA9IG9wdGlvbnMudG9rZW47XG5cbiAgICB0aGlzLnJlZnJlc2hUb2tlbigpLmNhdGNoKCgpID0+IHtcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkV4cGlyZWRUb2tlbik7XG4gICAgfSk7XG5cbiAgICB0aGlzLmRvbWFpbiA9IG9wdGlvbnMuZG9tYWluO1xuXG4gICAgaWYgKG9wdGlvbnMuY29udmVyc2F0aW9uSWQpIHtcbiAgICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBvcHRpb25zLmNvbnZlcnNhdGlvbklkO1xuICAgIH1cblxuICAgIHRoaXMuX2JvdEFnZW50ID0gdGhpcy5nZXRCb3RBZ2VudChvcHRpb25zLmJvdEFnZW50KTtcblxuICAgIHRoaXMucXVldWVBY3Rpdml0aWVzID0gdHJ1ZTtcbiAgICB0aGlzLmFjdGl2aXR5JCA9IE9ic2VydmFibGUuY3JlYXRlKGFzeW5jIChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPEFjdGl2aXR5PikgPT4ge1xuICAgICAgdGhpcy5hY3Rpdml0eVN1YnNjcmliZXIgPSBzdWJzY3JpYmVyO1xuICAgICAgdGhpcy50aGVTdHJlYW1IYW5kbGVyID0gbmV3IFN0cmVhbUhhbmRsZXIoc3Vic2NyaWJlciwgdGhpcy5jb25uZWN0aW9uU3RhdHVzJCwgKCkgPT4gdGhpcy5xdWV1ZUFjdGl2aXRpZXMpO1xuXG4gICAgICAvLyBSZXNvbHZpbmcgY29ubmVjdERlZmVycmVkIHdpbGwga2ljay1vZmYgdGhlIGNvbm5lY3Rpb24uXG4gICAgICB0aGlzLmNvbm5lY3REZWZlcnJlZC5yZXNvbHZlKCk7XG4gICAgfSkuc2hhcmUoKTtcblxuICAgIC8vIGNvbm5lY3RXaXRoUmV0cnlBc3luYygpIHdpbGwgY3JlYXRlIHRoZSBjb25uZWN0RGVmZXJyZWQgb2JqZWN0IHJlcXVpcmVkIGluIGFjdGl2aXR5JC5cbiAgICB0aGlzLmNvbm5lY3RXaXRoUmV0cnlBc3luYygpO1xuICB9XG5cbiAgcHVibGljIHJlY29ubmVjdCh7IGNvbnZlcnNhdGlvbklkLCB0b2tlbiB9OiBDb252ZXJzYXRpb24pIHtcbiAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaGFzIGVuZGVkLicpO1xuICAgIH1cblxuICAgIHRoaXMuY29udmVyc2F0aW9uSWQgPSBjb252ZXJzYXRpb25JZDtcbiAgICB0aGlzLnRva2VuID0gdG9rZW47XG5cbiAgICB0aGlzLmNvbm5lY3REZWZlcnJlZC5yZXNvbHZlKCk7XG4gIH1cblxuICBlbmQoKSB7XG4gICAgLy8gT25jZSBlbmQoKSBpcyBjYWxsZWQsIG5vIHJlY29ubmVjdGlvbiBjYW4gYmUgbWFkZS5cbiAgICB0aGlzLmFjdGl2aXR5U3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuXG4gICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRW5kZWQpO1xuICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQuY29tcGxldGUoKTtcblxuICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5kaXNjb25uZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIGNvbW1vbkhlYWRlcnMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLnRva2VufWAsXG4gICAgICAneC1tcy1ib3QtYWdlbnQnOiB0aGlzLl9ib3RBZ2VudFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGdldEJvdEFnZW50KGN1c3RvbUFnZW50OiBzdHJpbmcgPSAnJyk6IHN0cmluZyB7XG4gICAgbGV0IGNsaWVudEFnZW50ID0gJ2RpcmVjdGxpbmVTdHJlYW1pbmcnO1xuXG4gICAgaWYgKGN1c3RvbUFnZW50KSB7XG4gICAgICBjbGllbnRBZ2VudCArPSBgOyAke2N1c3RvbUFnZW50fWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGAke0RJUkVDVF9MSU5FX1ZFUlNJT059ICgke2NsaWVudEFnZW50fSlgO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZWZyZXNoVG9rZW4oZmlyc3RDYWxsID0gdHJ1ZSwgcmV0cnlDb3VudCA9IDApIHtcbiAgICBhd2FpdCB0aGlzLndhaXRVbnRpbE9ubGluZSgpO1xuXG4gICAgbGV0IG51bWJlck9mQXR0ZW1wdHMgPSAwO1xuICAgIHdoaWxlIChudW1iZXJPZkF0dGVtcHRzIDwgTUFYX1JFVFJZX0NPVU5UKSB7XG4gICAgICBudW1iZXJPZkF0dGVtcHRzKys7XG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyID0+IHNldFRpbWVvdXQociwgcmVmcmVzaFRva2VuSW50ZXJ2YWwpKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke3RoaXMuZG9tYWlufS90b2tlbnMvcmVmcmVzaGAsIHsgbWV0aG9kOiAnUE9TVCcsIGhlYWRlcnM6IHRoaXMuY29tbW9uSGVhZGVycygpIH0pO1xuICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgbnVtYmVyT2ZBdHRlbXB0cyA9IDA7XG4gICAgICAgICAgY29uc3QgeyB0b2tlbiB9ID0gYXdhaXQgcmVzLmpzb24oKTtcbiAgICAgICAgICB0aGlzLnRva2VuID0gdG9rZW47XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDQwMyB8fCByZXMuc3RhdHVzID09PSA0MDMpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoYEZhdGFsIGVycm9yIHdoaWxlIHJlZnJlc2hpbmcgdGhlIHRva2VuOiAke3Jlcy5zdGF0dXN9ICR7cmVzLnN0YXR1c1RleHR9YCk7XG4gICAgICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFJlZnJlc2ggYXR0ZW1wdCAjJHtudW1iZXJPZkF0dGVtcHRzfSBmYWlsZWQ6ICR7cmVzLnN0YXR1c30gJHtyZXMuc3RhdHVzVGV4dH1gKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBSZWZyZXNoIGF0dGVtcHQgIyR7bnVtYmVyT2ZBdHRlbXB0c30gdGhyZXcgYW4gZXhjZXB0aW9uOiAke2V9YCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc29sZS5lcnJvcignUmV0cmllcyBleGhhdXN0ZWQnKTtcbiAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcG9zdEFjdGl2aXR5KGFjdGl2aXR5OiBBY3Rpdml0eSkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQudmFsdWUgPT09IENvbm5lY3Rpb25TdGF0dXMuRW5kZWQgfHxcbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQudmFsdWUgPT09IENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0XG4gICAgKSB7XG4gICAgICByZXR1cm4gT2JzZXJ2YWJsZS50aHJvdyhuZXcgRXJyb3IoJ0Nvbm5lY3Rpb24gaXMgY2xvc2VkJykpO1xuICAgIH1cblxuICAgIGlmIChhY3Rpdml0eS50eXBlID09PSAnbWVzc2FnZScgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMgJiYgYWN0aXZpdHkuYXR0YWNobWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgcmV0dXJuIHRoaXMucG9zdE1lc3NhZ2VXaXRoQXR0YWNobWVudHMoYWN0aXZpdHkpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3AkID0gT2JzZXJ2YWJsZS5jcmVhdGUoYXN5bmMgc3Vic2NyaWJlciA9PiB7XG4gICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZShcbiAgICAgICAgJ1BPU1QnLFxuICAgICAgICAnL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8nICsgdGhpcy5jb252ZXJzYXRpb25JZCArICcvYWN0aXZpdGllcydcbiAgICAgICk7XG4gICAgICByZXF1ZXN0LnNldEJvZHkoSlNPTi5zdHJpbmdpZnkoYWN0aXZpdHkpKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5zZW5kKHJlcXVlc3QpO1xuICAgICAgICBpZiAocmVzcC5zdGF0dXNDb2RlICE9PSAyMDApIHRocm93IG5ldyBFcnJvcignUG9zdEFjdGl2aXR5IHJldHVybmVkICcgKyByZXNwLnN0YXR1c0NvZGUpO1xuICAgICAgICBjb25zdCBudW1iZXJPZlN0cmVhbXMgPSByZXNwLnN0cmVhbXMubGVuZ3RoO1xuICAgICAgICBpZiAobnVtYmVyT2ZTdHJlYW1zICE9PSAxKSB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIG9uZSBzdHJlYW0gYnV0IGdvdCAnICsgbnVtYmVyT2ZTdHJlYW1zKTtcbiAgICAgICAgY29uc3QgaWRTdHJpbmcgPSBhd2FpdCByZXNwLnN0cmVhbXNbMF0ucmVhZEFzU3RyaW5nKCk7XG4gICAgICAgIGNvbnN0IHsgSWQ6IGlkIH0gPSBKU09OLnBhcnNlKGlkU3RyaW5nKTtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGlkKTtcbiAgICAgICAgcmV0dXJuIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gSWYgdGhlcmUgaXMgYSBuZXR3b3JrIGlzc3VlIHRoZW4gaXRzIGhhbmRsZWQgYnlcbiAgICAgICAgLy8gdGhlIGRpc2Nvbm5lY3Rpb25IYW5kbGVyLiBFdmVyeXRoaW5nIGVsc2UgY2FuXG4gICAgICAgIC8vIGJlIHJldHJpZWRcbiAgICAgICAgY29uc29sZS53YXJuKGUpO1xuICAgICAgICB0aGlzLnN0cmVhbUNvbm5lY3Rpb24uZGlzY29ubmVjdCgpO1xuICAgICAgICByZXR1cm4gc3Vic2NyaWJlci5lcnJvcihlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcmVzcCQ7XG4gIH1cblxuICBwcml2YXRlIHBvc3RNZXNzYWdlV2l0aEF0dGFjaG1lbnRzKG1lc3NhZ2U6IE1lc3NhZ2UpIHtcbiAgICBjb25zdCB7IGF0dGFjaG1lbnRzLCAuLi5tZXNzYWdlV2l0aG91dEF0dGFjaG1lbnRzIH0gPSBtZXNzYWdlO1xuXG4gICAgcmV0dXJuIE9ic2VydmFibGUuY3JlYXRlKHN1YnNjcmliZXIgPT4ge1xuICAgICAgY29uc3QgaHR0cENvbnRlbnRMaXN0ID0gW107XG4gICAgICAoYXN5bmMgKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGFycmF5QnVmZmVycyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgYXR0YWNobWVudHMubWFwKGFzeW5jIGF0dGFjaG1lbnQgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBtZWRpYSA9IGF0dGFjaG1lbnQgYXMgTWVkaWE7XG4gICAgICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKG1lZGlhLmNvbnRlbnRVcmwpO1xuICAgICAgICAgICAgICBpZiAocmVzLm9rKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgYXJyYXlCdWZmZXI6IGF3YWl0IHJlcy5hcnJheUJ1ZmZlcigpLCBtZWRpYSB9O1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignLi4uJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGFycmF5QnVmZmVycy5mb3JFYWNoKCh7IGFycmF5QnVmZmVyLCBtZWRpYSB9KSA9PiB7XG4gICAgICAgICAgICBjb25zdCBidWZmZXIgPSBCdWZmZXIuZnJvbShhcnJheUJ1ZmZlcik7XG4gICAgICAgICAgICBjb25zdCBzdHJlYW0gPSBuZXcgQkZTRS5TdWJzY3JpYmFibGVTdHJlYW0oKTtcbiAgICAgICAgICAgIHN0cmVhbS53cml0ZShidWZmZXIpO1xuICAgICAgICAgICAgY29uc3QgaHR0cENvbnRlbnQgPSBuZXcgQkZTRS5IdHRwQ29udGVudCh7IHR5cGU6IG1lZGlhLmNvbnRlbnRUeXBlLCBjb250ZW50TGVuZ3RoOiBidWZmZXIubGVuZ3RoIH0sIHN0cmVhbSk7XG4gICAgICAgICAgICBodHRwQ29udGVudExpc3QucHVzaChodHRwQ29udGVudCk7XG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgICBjb25zdCB1cmwgPSBgL3YzL2RpcmVjdGxpbmUvY29udmVyc2F0aW9ucy8ke3RoaXMuY29udmVyc2F0aW9uSWR9L3VzZXJzLyR7bWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cy5mcm9tLmlkfS91cGxvYWRgO1xuICAgICAgICAgIGNvbnN0IHJlcXVlc3QgPSBCRlNFLlN0cmVhbWluZ1JlcXVlc3QuY3JlYXRlKCdQVVQnLCB1cmwpO1xuICAgICAgICAgIGNvbnN0IGFjdGl2aXR5U3RyZWFtID0gbmV3IEJGU0UuU3Vic2NyaWJhYmxlU3RyZWFtKCk7XG4gICAgICAgICAgYWN0aXZpdHlTdHJlYW0ud3JpdGUoSlNPTi5zdHJpbmdpZnkobWVzc2FnZVdpdGhvdXRBdHRhY2htZW50cyksICd1dGYtOCcpO1xuICAgICAgICAgIHJlcXVlc3QuYWRkU3RyZWFtKFxuICAgICAgICAgICAgbmV3IEJGU0UuSHR0cENvbnRlbnQoXG4gICAgICAgICAgICAgIHsgdHlwZTogJ2FwcGxpY2F0aW9uL3ZuZC5taWNyb3NvZnQuYWN0aXZpdHknLCBjb250ZW50TGVuZ3RoOiBhY3Rpdml0eVN0cmVhbS5sZW5ndGggfSxcbiAgICAgICAgICAgICAgYWN0aXZpdHlTdHJlYW1cbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIGh0dHBDb250ZW50TGlzdC5mb3JFYWNoKGUgPT4gcmVxdWVzdC5hZGRTdHJlYW0oZSkpO1xuXG4gICAgICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHRoaXMuc3RyZWFtQ29ubmVjdGlvbi5zZW5kKHJlcXVlc3QpO1xuICAgICAgICAgIGlmIChyZXNwLnN0cmVhbXMgJiYgcmVzcC5zdHJlYW1zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihuZXcgRXJyb3IoYEludmFsaWQgc3RyZWFtIGNvdW50ICR7cmVzcC5zdHJlYW1zLmxlbmd0aH1gKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHsgSWQ6IGlkIH0gPSBhd2FpdCByZXNwLnN0cmVhbXNbMF0ucmVhZEFzSnNvbjx7IElkOiBzdHJpbmcgfT4oKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpZCk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSkoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgd2FpdFVudGlsT25saW5lKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLnN1YnNjcmliZShcbiAgICAgICAgY3MgPT4ge1xuICAgICAgICAgIGlmIChjcyA9PT0gQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBlID0+IHJlamVjdChlKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdEFzeW5jKCkge1xuICAgIGNvbnN0IHJlID0gbmV3IFJlZ0V4cCgnXmh0dHAocz8pJyk7XG5cbiAgICBpZiAoIXJlLnRlc3QodGhpcy5kb21haW4pKSB7XG4gICAgICB0aHJvdyAnRG9tYWluIG11c3QgYmVnaW4gd2l0aCBodHRwIG9yIGh0dHBzJztcbiAgICB9XG5cbiAgICBjb25zdCBwYXJhbXMgPSB7IHRva2VuOiB0aGlzLnRva2VuIH07XG5cbiAgICBpZiAodGhpcy5jb252ZXJzYXRpb25JZCkge1xuICAgICAgcGFyYW1zWydjb252ZXJzYXRpb25JZCddID0gdGhpcy5jb252ZXJzYXRpb25JZDtcbiAgICB9XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3QgdXJsU2VhcmNoUGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyhwYXJhbXMpLnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgd3NVcmwgPSBgJHt0aGlzLmRvbWFpbi5yZXBsYWNlKHJlLCAnd3MkMScpfS9jb252ZXJzYXRpb25zL2Nvbm5lY3Q/JHt1cmxTZWFyY2hQYXJhbXN9YDtcblxuICAgIC8vIFRoaXMgcHJvbWlzZSB3aWxsIHJlc29sdmUgd2hlbiBpdCBpcyBkaXNjb25uZWN0ZWQuXG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuc3RyZWFtQ29ubmVjdGlvbiA9IG5ldyBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uKHtcbiAgICAgICAgICBkaXNjb25uZWN0aW9uSGFuZGxlcjogcmVzb2x2ZSxcbiAgICAgICAgICBuZXR3b3JrSW5mb3JtYXRpb246IHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbixcbiAgICAgICAgICByZXF1ZXN0SGFuZGxlcjoge1xuICAgICAgICAgICAgcHJvY2Vzc1JlcXVlc3Q6IHN0cmVhbWluZ1JlcXVlc3QgPT4ge1xuICAgICAgICAgICAgICAvLyBJZiBgc3RyZWFtQ29ubmVjdGlvbmAgaXMgc3RpbGwgY3VycmVudCwgYWxsb3cgY2FsbCB0byBgcHJvY2Vzc1JlcXVlc3QoKWAsIG90aGVyd2lzZSwgaWdub3JlIGNhbGxzIHRvIGBwcm9jZXNzUmVxdWVzdCgpYC5cbiAgICAgICAgICAgICAgLy8gVGhpcyBwcmV2ZW50cyB6b21iaWUgY29ubmVjdGlvbnMgZnJvbSBzZW5kaW5nIHVzIHJlcXVlc3RzLlxuICAgICAgICAgICAgICBpZiAoYWJvcnRDb250cm9sbGVyLnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgcHJvY2VzcyBzdHJlYW1pbmcgcmVxdWVzdCwgYHN0cmVhbWluZ0Nvbm5lY3Rpb25gIHNob3VsZCBiZSBkaXNjb25uZWN0ZWQuJyk7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy50aGVTdHJlYW1IYW5kbGVyLnByb2Nlc3NSZXF1ZXN0KHN0cmVhbWluZ1JlcXVlc3QpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgdXJsOiB3c1VybFxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnF1ZXVlQWN0aXZpdGllcyA9IHRydWU7XG5cbiAgICAgICAgYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLmNvbm5lY3QoKTtcblxuICAgICAgICBjb25zdCByZXF1ZXN0ID0gQkZTRS5TdHJlYW1pbmdSZXF1ZXN0LmNyZWF0ZSgnUE9TVCcsICcvdjMvZGlyZWN0bGluZS9jb252ZXJzYXRpb25zJyk7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5zdHJlYW1Db25uZWN0aW9uLnNlbmQocmVxdWVzdCk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1c0NvZGUgIT09IDIwMCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignQ29ubmVjdGlvbiByZXNwb25zZSBjb2RlICcgKyByZXNwb25zZS5zdGF0dXNDb2RlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXNwb25zZS5zdHJlYW1zLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRXhwZWN0ZWQgMSBzdHJlYW0gYnV0IGdvdCAnICsgcmVzcG9uc2Uuc3RyZWFtcy5sZW5ndGgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2VTdHJpbmcgPSBhd2FpdCByZXNwb25zZS5zdHJlYW1zWzBdLnJlYWRBc1N0cmluZygpO1xuICAgICAgICBjb25zdCBjb252ZXJzYXRpb24gPSBKU09OLnBhcnNlKHJlc3BvbnNlU3RyaW5nKTtcblxuICAgICAgICB0aGlzLmNvbnZlcnNhdGlvbklkID0gY29udmVyc2F0aW9uLmNvbnZlcnNhdGlvbklkO1xuICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5PbmxpbmUpO1xuXG4gICAgICAgIC8vIFdhaXQgdW50aWwgREwgY29uc3VtZXJzIGhhdmUgaGFkIGEgY2hhbmNlIHRvIGJlIG5vdGlmaWVkXG4gICAgICAgIC8vIG9mIHRoZSBjb25uZWN0aW9uIHN0YXR1cyBjaGFuZ2UuXG4gICAgICAgIC8vIFRoaXMgaXMgc3BlY2lmaWMgdG8gUnhKUyBpbXBsZW1lbnRhdGlvbiBvZiBvYnNlcnZhYmxlLCB3aGljaCBjYWxsaW5nIHN1YnNjcmliZSgpIGFmdGVyIG5leHQoKSB3aWxsIHN0aWxsIGdldCB0aGUgdmFsdWUuXG4gICAgICAgIGF3YWl0IHRoaXMud2FpdFVudGlsT25saW5lKCk7XG5cbiAgICAgICAgdGhpcy50aGVTdHJlYW1IYW5kbGVyLmZsdXNoKCk7XG4gICAgICAgIHRoaXMucXVldWVBY3Rpdml0aWVzID0gZmFsc2U7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KS5maW5hbGx5KCgpID0+IGFib3J0Q29udHJvbGxlci5hYm9ydCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY29ubmVjdFdpdGhSZXRyeUFzeW5jKCkge1xuICAgIC8vIFRoaXMgZm9yLWxvb3Agd2lsbCBicmVhayB3aGVuIHNvbWVvbmUgY2FsbCBlbmQoKSBhbmQgaXQgd2lsbCBzaWduYWwgQ29ubmVjdGlvblN0YXR1cy5FbmRlZC5cbiAgICBmb3IgKDs7KSB7XG4gICAgICAvLyBDcmVhdGUgYSBuZXcgc2lnbmFsIGFuZCB3YWl0IGZvciBzb21lb25lIGtpY2tpbmcgb2ZmIHRoZSBjb25uZWN0aW9uOlxuICAgICAgLy8gLSBzdWJzY3JpYmUgdG8gYWN0aXZpdHkkLCBvcjtcbiAgICAgIC8vIC0gcmV0cmllcyBleGhhdXN0ZWQgKEZhaWxlZFRvQ29ubmVjdCksIHRoZW4sIHNvbWVvbmUgY2FsbCByZWNvbm5lY3QoKVxuICAgICAgYXdhaXQgKHRoaXMuY29ubmVjdERlZmVycmVkID0gY3JlYXRlRGVmZXJyZWQoKSkucHJvbWlzZTtcblxuICAgICAgbGV0IG51bVJldHJpZXMgPSBNQVhfUkVUUllfQ09VTlQ7XG5cbiAgICAgIHRoaXMuY29ubmVjdGlvblN0YXR1cyQubmV4dChDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpO1xuXG4gICAgICB3aGlsZSAobnVtUmV0cmllcyA+IDApIHtcbiAgICAgICAgbnVtUmV0cmllcy0tO1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgIC8vIFRoaXMgcHJvbWlzZSB3aWxsIHJlamVjdC9yZXNvbHZlIHdoZW4gZGlzY29ubmVjdGVkLlxuICAgICAgICAgIGF3YWl0IHRoaXMuY29ubmVjdEFzeW5jKCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHNvbWVvbmUgY2FsbCBlbmQoKSB0byBicmVhayB0aGUgY29ubmVjdGlvbiwgd2Ugd2lsbCBuZXZlciBsaXN0ZW4gdG8gYW55IHJlY29ubmVjdCgpLlxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpID09PSBDb25uZWN0aW9uU3RhdHVzLkVuZGVkKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBwbGFjZSB0aGUgbG9vcCBpbiB0aGlzIGZ1bmN0aW9uIHdpbGwgYmUgYnJva2UuXG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWFrZSBzdXJlIHdlIGRvbid0IHNpZ25hbCBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcgdHdpY2Ugb3IgbW9yZSB3aXRob3V0IGFuIGFjdHVhbCBjb25uZWN0aW9uLlxuICAgICAgICAvLyBTdWJzZXF1ZW50IHJldHJpZXMgc2hvdWxkIGJlIHRyYW5zcGFyZW50LlxuICAgICAgICBpZiAodGhpcy5jb25uZWN0aW9uU3RhdHVzJC5nZXRWYWx1ZSgpICE9PSBDb25uZWN0aW9uU3RhdHVzLkNvbm5lY3RpbmcpIHtcbiAgICAgICAgICB0aGlzLmNvbm5lY3Rpb25TdGF0dXMkLm5leHQoQ29ubmVjdGlvblN0YXR1cy5Db25uZWN0aW5nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24gbGFzdGVkIGZvciBtb3JlIHRoYW4gYSBtaW51dGUsIHRoZSBwcmV2aW91cyBjb25uZWN0aW9uIGlzIGdvb2QsIHdoaWNoIG1lYW5zOlxuICAgICAgICAvLyAtIHdlIHNob3VsZCByZXNldCB0aGUgcmV0cnkgY291bnRlciwgYW5kO1xuICAgICAgICAvLyAtIHdlIHNob3VsZCByZWNvbm5lY3QgaW1tZWRpYXRlbHkuXG4gICAgICAgIGlmICg2MDAwMCA8IERhdGUubm93KCkgLSBzdGFydCkge1xuICAgICAgICAgIG51bVJldHJpZXMgPSBNQVhfUkVUUllfQ09VTlQ7XG4gICAgICAgIH0gZWxzZSBpZiAobnVtUmV0cmllcyA+IDApIHtcbiAgICAgICAgICAvLyBTbGVlcCBvbmx5IGlmIHdlIGFyZSBkb2luZyByZXRyeS4gT3RoZXJ3aXNlLCB3ZSBhcmUgZ29pbmcgdG8gYnJlYWsgdGhlIGxvb3AgYW5kIHNpZ25hbCBGYWlsZWRUb0Nvbm5lY3QuXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UociA9PiBzZXRUaW1lb3V0KHIsIHRoaXMuZ2V0UmV0cnlEZWxheSgpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVE9ETzogW1RFU1RdIE1ha2Ugc3VyZSBGYWlsZWRUb0Nvbm5lY3QgaXMgcmVwb3J0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgbGFzdCBkaXNjb25uZWN0aW9uLCBzaG91bGQgYmUgbm8gZ2V0UmV0cnlEZWxheSgpLlxuICAgICAgLy8gRmFpbGVkIHRvIHJlY29ubmVjdCBhZnRlciBtdWx0aXBsZSByZXRyaWVzLlxuICAgICAgdGhpcy5jb25uZWN0aW9uU3RhdHVzJC5uZXh0KENvbm5lY3Rpb25TdGF0dXMuRmFpbGVkVG9Db25uZWN0KTtcbiAgICB9XG5cbiAgICAvLyBOb3RlOiBObyBjb2RlIHdpbGwgaGl0IHRoaXMgbGluZS5cbiAgfVxuXG4gIC8vIFJldHVybnMgdGhlIGRlbGF5IGR1cmF0aW9uIGluIG1pbGxpc2Vjb25kc1xuICBwcml2YXRlIGdldFJldHJ5RGVsYXkoKSB7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoMzAwMCArIE1hdGgucmFuZG9tKCkgKiAxMjAwMCk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = parseFilename;\n\nvar _toArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/toArray\"));\n\nfunction parseFilename(filename) {\n if (!filename) {\n return {\n extname: '',\n name: ''\n };\n } else if (~filename.indexOf('.')) {\n var _filename$split$rever = filename.split('.').reverse(),\n _filename$split$rever2 = (0, _toArray2[\"default\"])(_filename$split$rever),\n extensionWithoutDot = _filename$split$rever2[0],\n nameSegments = _filename$split$rever2.slice(1);\n\n return {\n extname: '.' + extensionWithoutDot,\n name: nameSegments.reverse().join('.')\n };\n } else {\n return {\n extname: '',\n name: filename\n };\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9wYXJzZUZpbGVuYW1lLmpzIl0sIm5hbWVzIjpbInBhcnNlRmlsZW5hbWUiLCJmaWxlbmFtZSIsImV4dG5hbWUiLCJuYW1lIiwiaW5kZXhPZiIsInNwbGl0IiwicmV2ZXJzZSIsImV4dGVuc2lvbldpdGhvdXREb3QiLCJuYW1lU2VnbWVudHMiLCJqb2luIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFlLFNBQVNBLGFBQVQsQ0FBdUJDLFFBQXZCLEVBQWlDO0FBQzVDLE1BQUksQ0FBQ0EsUUFBTCxFQUFlO0FBQ1gsV0FBTztBQUNIQyxNQUFBQSxPQUFPLEVBQUUsRUFETjtBQUVIQyxNQUFBQSxJQUFJLEVBQUU7QUFGSCxLQUFQO0FBSUgsR0FMRCxNQUtPLElBQUksQ0FBQ0YsUUFBUSxDQUFDRyxPQUFULENBQWlCLEdBQWpCLENBQUwsRUFBNEI7QUFDL0IsZ0NBQStDSCxRQUFRLENBQUNJLEtBQVQsQ0FBZSxHQUFmLEVBQW9CQyxPQUFwQixFQUEvQztBQUFBO0FBQUEsUUFBT0MsbUJBQVA7QUFBQSxRQUErQkMsWUFBL0I7O0FBRUEsV0FBTztBQUNITixNQUFBQSxPQUFPLEVBQUUsTUFBTUssbUJBRFo7QUFFSEosTUFBQUEsSUFBSSxFQUFFSyxZQUFZLENBQUNGLE9BQWIsR0FBdUJHLElBQXZCLENBQTRCLEdBQTVCO0FBRkgsS0FBUDtBQUlILEdBUE0sTUFPQTtBQUNILFdBQU87QUFDSFAsTUFBQUEsT0FBTyxFQUFFLEVBRE47QUFFSEMsTUFBQUEsSUFBSSxFQUFFRjtBQUZILEtBQVA7QUFJSDtBQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcGFyc2VGaWxlbmFtZShmaWxlbmFtZSkge1xuICAgIGlmICghZmlsZW5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGV4dG5hbWU6ICcnLFxuICAgICAgICAgICAgbmFtZTogJydcbiAgICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKH5maWxlbmFtZS5pbmRleE9mKCcuJykpIHtcbiAgICAgICAgY29uc3QgW2V4dGVuc2lvbldpdGhvdXREb3QsIC4uLm5hbWVTZWdtZW50c10gPSBmaWxlbmFtZS5zcGxpdCgnLicpLnJldmVyc2UoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXh0bmFtZTogJy4nICsgZXh0ZW5zaW9uV2l0aG91dERvdCxcbiAgICAgICAgICAgIG5hbWU6IG5hbWVTZWdtZW50cy5yZXZlcnNlKCkuam9pbignLicpXG4gICAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGV4dG5hbWU6ICcnLFxuICAgICAgICAgICAgbmFtZTogZmlsZW5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _createClass2 = _interopRequireDefault(require(\"@babel/runtime/helpers/createClass\"));\n\nvar _assertThisInitialized2 = _interopRequireDefault(require(\"@babel/runtime/helpers/assertThisInitialized\"));\n\nvar _get2 = _interopRequireDefault(require(\"@babel/runtime/helpers/get\"));\n\nvar _inherits2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inherits\"));\n\nvar _possibleConstructorReturn2 = _interopRequireDefault(require(\"@babel/runtime/helpers/possibleConstructorReturn\"));\n\nvar _getPrototypeOf2 = _interopRequireDefault(require(\"@babel/runtime/helpers/getPrototypeOf\"));\n\nvar _classPrivateFieldGet4 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldGet\"));\n\nvar _classPrivateFieldSet2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classPrivateFieldSet\"));\n\nvar _botframeworkStreaming = require(\"botframework-streaming\");\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2[\"default\"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2[\"default\"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2[\"default\"])(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _connectCalled = /*#__PURE__*/new WeakMap();\n\nvar _handleNetworkInformationChange = /*#__PURE__*/new WeakMap();\n\nvar _initialNetworkInformationType = /*#__PURE__*/new WeakMap();\n\nvar _networkInformation = /*#__PURE__*/new WeakMap();\n\nvar WebSocketClientWithNetworkInformation = /*#__PURE__*/function (_WebSocketClient) {\n (0, _inherits2[\"default\"])(WebSocketClientWithNetworkInformation, _WebSocketClient);\n\n var _super = _createSuper(WebSocketClientWithNetworkInformation);\n\n function WebSocketClientWithNetworkInformation(_ref) {\n var _this;\n\n var disconnectionHandler = _ref.disconnectionHandler,\n networkInformation = _ref.networkInformation,\n requestHandler = _ref.requestHandler,\n url = _ref.url;\n (0, _classCallCheck2[\"default\"])(this, WebSocketClientWithNetworkInformation);\n _this = _super.call(this, {\n disconnectionHandler: disconnectionHandler,\n requestHandler: requestHandler,\n url: url\n });\n\n _connectCalled.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: false\n });\n\n _handleNetworkInformationChange.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: function value() {\n return (0, _classPrivateFieldGet4[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _initialNetworkInformationType) === (0, _classPrivateFieldGet4[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _networkInformation).type || _this.disconnect();\n }\n });\n\n _initialNetworkInformationType.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: void 0\n });\n\n _networkInformation.set((0, _assertThisInitialized2[\"default\"])(_this), {\n writable: true,\n value: void 0\n });\n\n (0, _classPrivateFieldSet2[\"default\"])((0, _assertThisInitialized2[\"default\"])(_this), _networkInformation, networkInformation);\n return _this;\n }\n\n (0, _createClass2[\"default\"])(WebSocketClientWithNetworkInformation, [{\n key: \"connect\",\n value: // TODO: Better, the `NetworkInformation` instance should be passed to `BrowserWebSocketClient` -> `BrowserWebSocket`.\n // `BrowserWebSocket` is where it creates `WebSocket` object.\n // The `NetworkInformation` instance should accompany `WebSocket` and forcibly close it on abort.\n // Maybe `botframework-streaming` should accept ponyfills.\n function connect() {\n if ((0, _classPrivateFieldGet4[\"default\"])(this, _connectCalled)) {\n console.warn('botframework-directlinejs: connect() can only be called once.');\n return Promise.resolve();\n }\n\n (0, _classPrivateFieldSet2[\"default\"])(this, _connectCalled, true);\n\n if ((0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation)) {\n var _classPrivateFieldGet2 = (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation),\n initialType = _classPrivateFieldGet2.type;\n\n (0, _classPrivateFieldSet2[\"default\"])(this, _initialNetworkInformationType, initialType);\n\n if (initialType === 'none') {\n console.warn('botframework-directlinejs: Failed to connect while offline.');\n return Promise.reject(new Error('botframework-directlinejs: Failed to connect while offline.'));\n }\n\n (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation).addEventListener('change', (0, _classPrivateFieldGet4[\"default\"])(this, _handleNetworkInformationChange));\n }\n\n return (0, _get2[\"default\"])((0, _getPrototypeOf2[\"default\"])(WebSocketClientWithNetworkInformation.prototype), \"connect\", this).call(this);\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n var _classPrivateFieldGet3;\n\n (_classPrivateFieldGet3 = (0, _classPrivateFieldGet4[\"default\"])(this, _networkInformation)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.removeEventListener('change', (0, _classPrivateFieldGet4[\"default\"])(this, _handleNetworkInformationChange));\n (0, _get2[\"default\"])((0, _getPrototypeOf2[\"default\"])(WebSocketClientWithNetworkInformation.prototype), \"disconnect\", this).call(this);\n }\n }]);\n return WebSocketClientWithNetworkInformation;\n}(_botframeworkStreaming.WebSocketClient);\n\nexports[\"default\"] = WebSocketClientWithNetworkInformation;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW1pbmcvV2ViU29ja2V0Q2xpZW50V2l0aE5ldHdvcmtJbmZvcm1hdGlvbi50cyJdLCJuYW1lcyI6WyJXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uIiwiZGlzY29ubmVjdGlvbkhhbmRsZXIiLCJuZXR3b3JrSW5mb3JtYXRpb24iLCJyZXF1ZXN0SGFuZGxlciIsInVybCIsInR5cGUiLCJkaXNjb25uZWN0IiwiY29uc29sZSIsIndhcm4iLCJQcm9taXNlIiwicmVzb2x2ZSIsImluaXRpYWxUeXBlIiwicmVqZWN0IiwiRXJyb3IiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsIldlYlNvY2tldENsaWVudCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7Ozs7Ozs7Ozs7Ozs7O0lBZ0JxQkEscUM7Ozs7O0FBQ25CLHVEQUs4QztBQUFBOztBQUFBLFFBSjVDQyxvQkFJNEMsUUFKNUNBLG9CQUk0QztBQUFBLFFBSDVDQyxrQkFHNEMsUUFINUNBLGtCQUc0QztBQUFBLFFBRjVDQyxjQUU0QyxRQUY1Q0EsY0FFNEM7QUFBQSxRQUQ1Q0MsR0FDNEMsUUFENUNBLEdBQzRDO0FBQUE7QUFDNUMsOEJBQU07QUFDSkgsTUFBQUEsb0JBQW9CLEVBQXBCQSxvQkFESTtBQUVKRSxNQUFBQSxjQUFjLEVBQWRBLGNBRkk7QUFHSkMsTUFBQUEsR0FBRyxFQUFIQTtBQUhJLEtBQU47O0FBRDRDO0FBQUE7QUFBQSxhQVVwQjtBQVZvQjs7QUFBQTtBQUFBO0FBQUEsYUFhWjtBQUFBLGVBQ2hDLDJIQUF3Qyw0R0FBeUJDLElBQWpFLElBQXlFLE1BQUtDLFVBQUwsRUFEekM7QUFBQTtBQWJZOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBOztBQU81QyxnSEFBMkJKLGtCQUEzQjtBQVA0QztBQVE3Qzs7OztXQVVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXlCO0FBQ3ZCLGlEQUFJLElBQUosbUJBQXlCO0FBQ3ZCSyxRQUFBQSxPQUFPLENBQUNDLElBQVIsQ0FBYSwrREFBYjtBQUVBLGVBQU9DLE9BQU8sQ0FBQ0MsT0FBUixFQUFQO0FBQ0Q7O0FBRUQsbUVBQXNCLElBQXRCOztBQUVBLGlEQUFJLElBQUosd0JBQThCO0FBQzVCLDRFQUE4QixJQUE5QjtBQUFBLFlBQWNDLFdBQWQsMEJBQVFOLElBQVI7O0FBRUEscUZBQXNDTSxXQUF0Qzs7QUFFQSxZQUFJQSxXQUFXLEtBQUssTUFBcEIsRUFBNEI7QUFDMUJKLFVBQUFBLE9BQU8sQ0FBQ0MsSUFBUixDQUFhLDZEQUFiO0FBRUEsaUJBQU9DLE9BQU8sQ0FBQ0csTUFBUixDQUFlLElBQUlDLEtBQUosQ0FBVSw2REFBVixDQUFmLENBQVA7QUFDRDs7QUFFRCwwRUFBeUJDLGdCQUF6QixDQUEwQyxRQUExQyx5Q0FBb0QsSUFBcEQ7QUFDRDs7QUFFRDtBQUNEOzs7V0FFRCxzQkFBYTtBQUFBOztBQUNYLG1MQUEwQkMsbUJBQTFCLENBQThDLFFBQTlDLHlDQUF3RCxJQUF4RDtBQUNBO0FBQ0Q7OztFQXpEZ0VDLHNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2ViU29ja2V0Q2xpZW50IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXN0cmVhbWluZyc7XG5cbmltcG9ydCB0eXBlIHsgUmVxdWVzdEhhbmRsZXIgfSBmcm9tICdib3RmcmFtZXdvcmstc3RyZWFtaW5nJztcblxudHlwZSBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uSW5pdCA9IHtcbiAgLyoqXG4gICAqIEdldHMgb3Igc2V0cyB0aGUgb2JzZXJ2ZXIgZnVuY3Rpb24gZm9yIGRpc2Nvbm5lY3Rpb24gb3IgZXJyb3Igc2VuZGluZy9yZWNlaXZpbmcgdGhyb3VnaCBXZWJTb2NrZXQuXG4gICAqXG4gICAqIE5vdGU6IFRoaXMgZnVuY3Rpb24gY291bGQgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzLCB0aGUgY2FsbGVlIGlzIGV4cGVjdGVkIHRvIGlnbm9yZSBzdWJzZXF1ZW50IGNhbGxzLlxuICAgKi9cbiAgZGlzY29ubmVjdGlvbkhhbmRsZXI6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQ7XG4gIG5ldHdvcmtJbmZvcm1hdGlvbj86IE5ldHdvcmtJbmZvcm1hdGlvbiB8IHVuZGVmaW5lZDtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyO1xuICB1cmw6IHN0cmluZztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFdlYlNvY2tldENsaWVudFdpdGhOZXR3b3JrSW5mb3JtYXRpb24gZXh0ZW5kcyBXZWJTb2NrZXRDbGllbnQge1xuICBjb25zdHJ1Y3Rvcih7XG4gICAgZGlzY29ubmVjdGlvbkhhbmRsZXIsXG4gICAgbmV0d29ya0luZm9ybWF0aW9uLFxuICAgIHJlcXVlc3RIYW5kbGVyLFxuICAgIHVybFxuICB9OiBXZWJTb2NrZXRDbGllbnRXaXRoTmV0d29ya0luZm9ybWF0aW9uSW5pdCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGRpc2Nvbm5lY3Rpb25IYW5kbGVyLFxuICAgICAgcmVxdWVzdEhhbmRsZXIsXG4gICAgICB1cmxcbiAgICB9KTtcblxuICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbiA9IG5ldHdvcmtJbmZvcm1hdGlvbjtcbiAgfVxuXG4gICNjb25uZWN0Q2FsbGVkOiBib29sZWFuID0gZmFsc2U7XG4gIC8vIEFjY29yZGluZyB0byBXM0MgTmV0d29yayBJbmZvcm1hdGlvbiBBUEksIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vbmV0aW5mby8jaGFuZGxpbmctY2hhbmdlcy10by10aGUtdW5kZXJseWluZy1jb25uZWN0aW9uLlxuICAvLyBOZXR3b3JrSW5mb3JtYXRpb24ub25DaGFuZ2UgZXZlbnQgd2lsbCBiZSBmaXJlZCBvbiBhbnkgY2hhbmdlcyB0bzogYGRvd25saW5rTWF4YCwgYHR5cGVgLCBgZG93bmxpbmtgLCBvciBgcnR0YC5cbiAgI2hhbmRsZU5ldHdvcmtJbmZvcm1hdGlvbkNoYW5nZSA9ICgpID0+XG4gICAgdGhpcy4jaW5pdGlhbE5ldHdvcmtJbmZvcm1hdGlvblR5cGUgPT09IHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbi50eXBlIHx8IHRoaXMuZGlzY29ubmVjdCgpO1xuICAjaW5pdGlhbE5ldHdvcmtJbmZvcm1hdGlvblR5cGU6IE5ldHdvcmtJbmZvcm1hdGlvblsndHlwZSddO1xuICAjbmV0d29ya0luZm9ybWF0aW9uOiBOZXR3b3JrSW5mb3JtYXRpb247XG5cbiAgLy8gVE9ETzogQmV0dGVyLCB0aGUgYE5ldHdvcmtJbmZvcm1hdGlvbmAgaW5zdGFuY2Ugc2hvdWxkIGJlIHBhc3NlZCB0byBgQnJvd3NlcldlYlNvY2tldENsaWVudGAgLT4gYEJyb3dzZXJXZWJTb2NrZXRgLlxuICAvLyAgICAgICBgQnJvd3NlcldlYlNvY2tldGAgaXMgd2hlcmUgaXQgY3JlYXRlcyBgV2ViU29ja2V0YCBvYmplY3QuXG4gIC8vICAgICAgIFRoZSBgTmV0d29ya0luZm9ybWF0aW9uYCBpbnN0YW5jZSBzaG91bGQgYWNjb21wYW55IGBXZWJTb2NrZXRgIGFuZCBmb3JjaWJseSBjbG9zZSBpdCBvbiBhYm9ydC5cbiAgLy8gICAgICAgTWF5YmUgYGJvdGZyYW1ld29yay1zdHJlYW1pbmdgIHNob3VsZCBhY2NlcHQgcG9ueWZpbGxzLlxuICBjb25uZWN0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLiNjb25uZWN0Q2FsbGVkKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay1kaXJlY3RsaW5lanM6IGNvbm5lY3QoKSBjYW4gb25seSBiZSBjYWxsZWQgb25jZS4nKTtcblxuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cblxuICAgIHRoaXMuI2Nvbm5lY3RDYWxsZWQgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbikge1xuICAgICAgY29uc3QgeyB0eXBlOiBpbml0aWFsVHlwZSB9ID0gdGhpcy4jbmV0d29ya0luZm9ybWF0aW9uO1xuXG4gICAgICB0aGlzLiNpbml0aWFsTmV0d29ya0luZm9ybWF0aW9uVHlwZSA9IGluaXRpYWxUeXBlO1xuXG4gICAgICBpZiAoaW5pdGlhbFR5cGUgPT09ICdub25lJykge1xuICAgICAgICBjb25zb2xlLndhcm4oJ2JvdGZyYW1ld29yay1kaXJlY3RsaW5lanM6IEZhaWxlZCB0byBjb25uZWN0IHdoaWxlIG9mZmxpbmUuJyk7XG5cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignYm90ZnJhbWV3b3JrLWRpcmVjdGxpbmVqczogRmFpbGVkIHRvIGNvbm5lY3Qgd2hpbGUgb2ZmbGluZS4nKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbi5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLiNoYW5kbGVOZXR3b3JrSW5mb3JtYXRpb25DaGFuZ2UpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5jb25uZWN0KCk7XG4gIH1cblxuICBkaXNjb25uZWN0KCkge1xuICAgIHRoaXMuI25ldHdvcmtJbmZvcm1hdGlvbj8ucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy4jaGFuZGxlTmV0d29ya0luZm9ybWF0aW9uQ2hhbmdlKTtcbiAgICBzdXBlci5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiJdfQ==","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}\n\nmodule.exports = _assertThisInitialized;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classApplyDescriptorGet(receiver, descriptor) {\n if (descriptor.get) {\n return descriptor.get.call(receiver);\n }\n\n return descriptor.value;\n}\n\nmodule.exports = _classApplyDescriptorGet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classApplyDescriptorSet(receiver, descriptor, value) {\n if (descriptor.set) {\n descriptor.set.call(receiver, value);\n } else {\n if (!descriptor.writable) {\n throw new TypeError(\"attempted to set read only private field\");\n }\n\n descriptor.value = value;\n }\n}\n\nmodule.exports = _classApplyDescriptorSet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nmodule.exports = _classCallCheck;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _classExtractFieldDescriptor(receiver, privateMap, action) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to \" + action + \" private field on non-instance\");\n }\n\n return privateMap.get(receiver);\n}\n\nmodule.exports = _classExtractFieldDescriptor;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var classApplyDescriptorGet = require(\"./classApplyDescriptorGet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldGet(receiver, privateMap) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"get\");\n return classApplyDescriptorGet(receiver, descriptor);\n}\n\nmodule.exports = _classPrivateFieldGet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var classApplyDescriptorSet = require(\"./classApplyDescriptorSet.js\");\n\nvar classExtractFieldDescriptor = require(\"./classExtractFieldDescriptor.js\");\n\nfunction _classPrivateFieldSet(receiver, privateMap, value) {\n var descriptor = classExtractFieldDescriptor(receiver, privateMap, \"set\");\n classApplyDescriptorSet(receiver, descriptor, value);\n return value;\n}\n\nmodule.exports = _classPrivateFieldSet;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nmodule.exports = _createClass;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var superPropBase = require(\"./superPropBase.js\");\n\nfunction _get(target, property, receiver) {\n if (typeof Reflect !== \"undefined\" && Reflect.get) {\n module.exports = _get = Reflect.get;\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _get = function _get(target, property, receiver) {\n var base = superPropBase(target, property);\n if (!base) return;\n var desc = Object.getOwnPropertyDescriptor(base, property);\n\n if (desc.get) {\n return desc.get.call(receiver);\n }\n\n return desc.value;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _get(target, property, receiver || target);\n}\n\nmodule.exports = _get;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _getPrototypeOf(o) {\n module.exports = _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _getPrototypeOf(o);\n}\n\nmodule.exports = _getPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inherits;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var _typeof = require(\"@babel/runtime/helpers/typeof\")[\"default\"];\n\nvar assertThisInitialized = require(\"./assertThisInitialized.js\");\n\nfunction _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}\n\nmodule.exports = _possibleConstructorReturn;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var getPrototypeOf = require(\"./getPrototypeOf.js\");\n\nfunction _superPropBase(object, property) {\n while (!Object.prototype.hasOwnProperty.call(object, property)) {\n object = getPrototypeOf(object);\n if (object === null) break;\n }\n\n return object;\n}\n\nmodule.exports = _superPropBase;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithHoles = require(\"./arrayWithHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableRest = require(\"./nonIterableRest.js\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayWithoutHoles = require(\"./arrayWithoutHoles.js\");\n\nvar iterableToArray = require(\"./iterableToArray.js\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray.js\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread.js\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","var arrayLikeToArray = require(\"./arrayLikeToArray.js\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","module.exports = require(\"regenerator-runtime\");\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nconst base64 = require('base64-js')\nconst ieee754 = require('ieee754')\nconst customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nconst K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n const arr = new Uint8Array(1)\n const proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n const buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n const valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n const b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(value[Symbol.toPrimitive]('string'), encodingOrOffset, length)\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n const length = byteLength(string, encoding) | 0\n let buf = createBuffer(length)\n\n const actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n const length = array.length < 0 ? 0 : checked(array.length) | 0\n const buf = createBuffer(length)\n for (let i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n const copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n let buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n const len = checked(obj.length) | 0\n const buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n let x = a.length\n let y = b.length\n\n for (let i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n let i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n const buffer = Buffer.allocUnsafe(length)\n let pos = 0\n for (i = 0; i < list.length; ++i) {\n let buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n if (!Buffer.isBuffer(buf)) buf = Buffer.from(buf)\n buf.copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n const len = string.length\n const mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n let loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n const i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n const len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (let i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n const len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (let i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n const len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (let i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n const length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n let str = ''\n const max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n let x = thisEnd - thisStart\n let y = end - start\n const len = Math.min(x, y)\n\n const thisCopy = this.slice(thisStart, thisEnd)\n const targetCopy = target.slice(start, end)\n\n for (let i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n let indexSize = 1\n let arrLength = arr.length\n let valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n let i\n if (dir) {\n let foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n let found = true\n for (let j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n const remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n const strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n let i\n for (i = 0; i < length; ++i) {\n const parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n const remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n let loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n const res = []\n\n let i = start\n while (i < end) {\n const firstByte = buf[i]\n let codePoint = null\n let bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n let secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nconst MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n const len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n let res = ''\n let i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n let ret = ''\n end = Math.min(buf.length, end)\n\n for (let i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n const len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n let out = ''\n for (let i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n const bytes = buf.slice(start, end)\n let res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (let i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n const len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n const newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n let val = this[offset + --byteLength]\n let mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readBigUInt64LE = defineBigIntMethod(function readBigUInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const lo = first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24\n\n const hi = this[++offset] +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n last * 2 ** 24\n\n return BigInt(lo) + (BigInt(hi) << BigInt(32))\n})\n\nBuffer.prototype.readBigUInt64BE = defineBigIntMethod(function readBigUInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const hi = first * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n const lo = this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last\n\n return (BigInt(hi) << BigInt(32)) + BigInt(lo)\n})\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let val = this[offset]\n let mul = 1\n let i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n let i = byteLength\n let mul = 1\n let val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n const val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readBigInt64LE = defineBigIntMethod(function readBigInt64LE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = this[offset + 4] +\n this[offset + 5] * 2 ** 8 +\n this[offset + 6] * 2 ** 16 +\n (last << 24) // Overflow\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(first +\n this[++offset] * 2 ** 8 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 24)\n})\n\nBuffer.prototype.readBigInt64BE = defineBigIntMethod(function readBigInt64BE (offset) {\n offset = offset >>> 0\n validateNumber(offset, 'offset')\n const first = this[offset]\n const last = this[offset + 7]\n if (first === undefined || last === undefined) {\n boundsError(offset, this.length - 8)\n }\n\n const val = (first << 24) + // Overflow\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n this[++offset]\n\n return (BigInt(val) << BigInt(32)) +\n BigInt(this[++offset] * 2 ** 24 +\n this[++offset] * 2 ** 16 +\n this[++offset] * 2 ** 8 +\n last)\n})\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let mul = 1\n let i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n const maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n let i = byteLength - 1\n let mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction wrtBigUInt64LE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n lo = lo >> 8\n buf[offset++] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n hi = hi >> 8\n buf[offset++] = hi\n return offset\n}\n\nfunction wrtBigUInt64BE (buf, value, offset, min, max) {\n checkIntBI(value, min, max, buf, offset, 7)\n\n let lo = Number(value & BigInt(0xffffffff))\n buf[offset + 7] = lo\n lo = lo >> 8\n buf[offset + 6] = lo\n lo = lo >> 8\n buf[offset + 5] = lo\n lo = lo >> 8\n buf[offset + 4] = lo\n let hi = Number(value >> BigInt(32) & BigInt(0xffffffff))\n buf[offset + 3] = hi\n hi = hi >> 8\n buf[offset + 2] = hi\n hi = hi >> 8\n buf[offset + 1] = hi\n hi = hi >> 8\n buf[offset] = hi\n return offset + 8\n}\n\nBuffer.prototype.writeBigUInt64LE = defineBigIntMethod(function writeBigUInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeBigUInt64BE = defineBigIntMethod(function writeBigUInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, BigInt(0), BigInt('0xffffffffffffffff'))\n})\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = 0\n let mul = 1\n let sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n const limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n let i = byteLength - 1\n let mul = 1\n let sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeBigInt64LE = defineBigIntMethod(function writeBigInt64LE (value, offset = 0) {\n return wrtBigUInt64LE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nBuffer.prototype.writeBigInt64BE = defineBigIntMethod(function writeBigInt64BE (value, offset = 0) {\n return wrtBigUInt64BE(this, value, offset, -BigInt('0x8000000000000000'), BigInt('0x7fffffffffffffff'))\n})\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n const len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n const code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n let i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n const bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n const len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// CUSTOM ERRORS\n// =============\n\n// Simplified versions from Node, changed for Buffer-only usage\nconst errors = {}\nfunction E (sym, getMessage, Base) {\n errors[sym] = class NodeError extends Base {\n constructor () {\n super()\n\n Object.defineProperty(this, 'message', {\n value: getMessage.apply(this, arguments),\n writable: true,\n configurable: true\n })\n\n // Add the error code to the name to include it in the stack trace.\n this.name = `${this.name} [${sym}]`\n // Access the stack to generate the error message including the error code\n // from the name.\n this.stack // eslint-disable-line no-unused-expressions\n // Reset the name to the actual name.\n delete this.name\n }\n\n get code () {\n return sym\n }\n\n set code (value) {\n Object.defineProperty(this, 'code', {\n configurable: true,\n enumerable: true,\n value,\n writable: true\n })\n }\n\n toString () {\n return `${this.name} [${sym}]: ${this.message}`\n }\n }\n}\n\nE('ERR_BUFFER_OUT_OF_BOUNDS',\n function (name) {\n if (name) {\n return `${name} is outside of buffer bounds`\n }\n\n return 'Attempt to access memory outside buffer bounds'\n }, RangeError)\nE('ERR_INVALID_ARG_TYPE',\n function (name, actual) {\n return `The \"${name}\" argument must be of type number. Received type ${typeof actual}`\n }, TypeError)\nE('ERR_OUT_OF_RANGE',\n function (str, range, input) {\n let msg = `The value of \"${str}\" is out of range.`\n let received = input\n if (Number.isInteger(input) && Math.abs(input) > 2 ** 32) {\n received = addNumericalSeparator(String(input))\n } else if (typeof input === 'bigint') {\n received = String(input)\n if (input > BigInt(2) ** BigInt(32) || input < -(BigInt(2) ** BigInt(32))) {\n received = addNumericalSeparator(received)\n }\n received += 'n'\n }\n msg += ` It must be ${range}. Received ${received}`\n return msg\n }, RangeError)\n\nfunction addNumericalSeparator (val) {\n let res = ''\n let i = val.length\n const start = val[0] === '-' ? 1 : 0\n for (; i >= start + 4; i -= 3) {\n res = `_${val.slice(i - 3, i)}${res}`\n }\n return `${val.slice(0, i)}${res}`\n}\n\n// CHECK FUNCTIONS\n// ===============\n\nfunction checkBounds (buf, offset, byteLength) {\n validateNumber(offset, 'offset')\n if (buf[offset] === undefined || buf[offset + byteLength] === undefined) {\n boundsError(offset, buf.length - (byteLength + 1))\n }\n}\n\nfunction checkIntBI (value, min, max, buf, offset, byteLength) {\n if (value > max || value < min) {\n const n = typeof min === 'bigint' ? 'n' : ''\n let range\n if (byteLength > 3) {\n if (min === 0 || min === BigInt(0)) {\n range = `>= 0${n} and < 2${n} ** ${(byteLength + 1) * 8}${n}`\n } else {\n range = `>= -(2${n} ** ${(byteLength + 1) * 8 - 1}${n}) and < 2 ** ` +\n `${(byteLength + 1) * 8 - 1}${n}`\n }\n } else {\n range = `>= ${min}${n} and <= ${max}${n}`\n }\n throw new errors.ERR_OUT_OF_RANGE('value', range, value)\n }\n checkBounds(buf, offset, byteLength)\n}\n\nfunction validateNumber (value, name) {\n if (typeof value !== 'number') {\n throw new errors.ERR_INVALID_ARG_TYPE(name, 'number', value)\n }\n}\n\nfunction boundsError (value, length, type) {\n if (Math.floor(value) !== value) {\n validateNumber(value, type)\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset', 'an integer', value)\n }\n\n if (length < 0) {\n throw new errors.ERR_BUFFER_OUT_OF_BOUNDS()\n }\n\n throw new errors.ERR_OUT_OF_RANGE(type || 'offset',\n `>= ${type ? 1 : 0} and <= ${length}`,\n value)\n}\n\n// HELPER FUNCTIONS\n// ================\n\nconst INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n let codePoint\n const length = string.length\n let leadSurrogate = null\n const bytes = []\n\n for (let i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n let c, hi, lo\n const byteArray = []\n for (let i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n let i\n for (i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nconst hexSliceLookupTable = (function () {\n const alphabet = '0123456789abcdef'\n const table = new Array(256)\n for (let i = 0; i < 16; ++i) {\n const i16 = i * 16\n for (let j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n\n// Return not function with Error if BigInt not supported\nfunction defineBigIntMethod (fn) {\n return typeof BigInt === 'undefined' ? BufferBigIntNotDefined : fn\n}\n\nfunction BufferBigIntNotDefined () {\n throw new Error('BigInt not supported')\n}\n","require('../../modules/es.aggregate-error');\nrequire('../../modules/es.object.to-string');\nrequire('../../modules/es.promise');\nrequire('../../modules/es.promise.all-settled');\nrequire('../../modules/es.promise.any');\nrequire('../../modules/es.promise.finally');\nrequire('../../modules/es.string.iterator');\nrequire('../../modules/web.dom-collections.iterator');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Promise;\n","var parent = require('../../es/promise');\nrequire('../../modules/esnext.aggregate-error');\n// TODO: Remove from `core-js@4`\nrequire('../../modules/esnext.promise.all-settled');\nrequire('../../modules/esnext.promise.try');\nrequire('../../modules/esnext.promise.any');\n\nmodule.exports = parent;\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","module.exports = typeof window == 'object';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","module.exports = {};\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = false;\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n}\n\nmodule.exports = queueMicrotask || function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n};\n\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? Object.getPrototypeOf : function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectPrototype : null;\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.15.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar create = require('../internals/object-create');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar iterate = require('../internals/iterate');\n\nvar $AggregateError = function AggregateError(errors, message) {\n var that = this;\n if (!(that instanceof $AggregateError)) return new $AggregateError(errors, message);\n if (setPrototypeOf) {\n // eslint-disable-next-line unicorn/error-message -- expected\n that = setPrototypeOf(new Error(undefined), getPrototypeOf(that));\n }\n if (message !== undefined) createNonEnumerableProperty(that, 'message', String(message));\n var errorsArray = [];\n iterate(errors, errorsArray.push, { that: errorsArray });\n createNonEnumerableProperty(that, 'errors', errorsArray);\n return that;\n};\n\n$AggregateError.prototype = create(Error.prototype, {\n constructor: createPropertyDescriptor(5, $AggregateError),\n message: createPropertyDescriptor(5, ''),\n name: createPropertyDescriptor(5, 'AggregateError')\n});\n\n// `AggregateError` constructor\n// https://tc39.es/ecma262/#sec-aggregate-error-constructor\n$({ global: true }, {\n AggregateError: $AggregateError\n});\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\n// `Promise.allSettled` method\n// https://tc39.es/ecma262/#sec-promise.allsettled\n$({ target: 'Promise', stat: true }, {\n allSettled: function allSettled(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'fulfilled', value: value };\n --remaining || resolve(values);\n }, function (error) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = { status: 'rejected', reason: error };\n --remaining || resolve(values);\n });\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar aFunction = require('../internals/a-function');\nvar getBuiltIn = require('../internals/get-built-in');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar iterate = require('../internals/iterate');\n\nvar PROMISE_ANY_ERROR = 'No one promise resolved';\n\n// `Promise.any` method\n// https://tc39.es/ecma262/#sec-promise.any\n$({ target: 'Promise', stat: true }, {\n any: function any(iterable) {\n var C = this;\n var capability = newPromiseCapabilityModule.f(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var promiseResolve = aFunction(C.resolve);\n var errors = [];\n var counter = 0;\n var remaining = 1;\n var alreadyResolved = false;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyRejected = false;\n errors.push(undefined);\n remaining++;\n promiseResolve.call(C, promise).then(function (value) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyResolved = true;\n resolve(value);\n }, function (error) {\n if (alreadyRejected || alreadyResolved) return;\n alreadyRejected = true;\n errors[index] = error;\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n });\n --remaining || reject(new (getBuiltIn('AggregateError'))(errors, PROMISE_ANY_ERROR));\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var PROMISE_CONSTRUCTOR_SOURCE = inspectSource(PromiseConstructor);\n var GLOBAL_CORE_JS_PROMISE = PROMISE_CONSTRUCTOR_SOURCE !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PROMISE_CONSTRUCTOR_SOURCE)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","// TODO: Remove from `core-js@4`\nrequire('./es.aggregate-error');\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.all-settled.js');\n","// TODO: Remove from `core-js@4`\nrequire('./es.promise.any');\n","'use strict';\nvar $ = require('../internals/export');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\n\n// `Promise.try` method\n// https://github.com/tc39/proposal-promise-try\n$({ target: 'Promise', stat: true }, {\n 'try': function (callbackfn) {\n var promiseCapability = newPromiseCapabilityModule.f(this);\n var result = perform(callbackfn);\n (result.error ? promiseCapability.reject : promiseCapability.resolve)(result.value);\n return promiseCapability.promise;\n }\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.BFSE = f()}})(function(){var define,module,exports;return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadAssembler = void 0;\nvar subscribableStream_1 = require(\"../subscribableStream\");\nvar payloads_1 = require(\"../payloads\");\nvar contentStream_1 = require(\"../contentStream\");\n/**\n * Assembles payloads for streaming library.\n *\n * @internal\n */\nvar PayloadAssembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) class.\n *\n * @param streamManager The [StreamManager](xref:botframework-streaming.StreamManager) managing the stream being assembled.\n * @param params Parameters for a streaming assembler.\n */\n function PayloadAssembler(streamManager, params) {\n this.streamManager = streamManager;\n this._byteOrderMark = 0xfeff;\n this._utf = 'utf8';\n if (params.header) {\n this.id = params.header.id;\n this.payloadType = params.header.payloadType;\n this.contentLength = params.header.payloadLength;\n this.end = params.header.end;\n }\n else {\n this.id = params.id;\n }\n if (!this.id) {\n throw Error('An ID must be supplied when creating an assembler.');\n }\n this._onCompleted = params.onCompleted;\n }\n /**\n * Retrieves the assembler's payload as a stream.\n *\n * @returns A [SubscribableStream](xref:botframework-streaming.SubscribableStream) of the assembler's payload.\n */\n PayloadAssembler.prototype.getPayloadStream = function () {\n if (!this.stream) {\n this.stream = this.createPayloadStream();\n }\n return this.stream;\n };\n /**\n * The action the assembler executes when new bytes are received on the incoming stream.\n *\n * @param header The stream's Header.\n * @param stream The incoming stream being assembled.\n * @param _contentLength The length of the stream, if finite.\n */\n PayloadAssembler.prototype.onReceive = function (header, stream, _contentLength) {\n this.end = header.end;\n if (header.payloadType === payloads_1.PayloadTypes.response || header.payloadType === payloads_1.PayloadTypes.request) {\n this.process(stream).then().catch();\n }\n else if (header.end) {\n stream.end();\n }\n };\n /**\n * Closes the assembler.\n */\n PayloadAssembler.prototype.close = function () {\n this.streamManager.closeStream(this.id);\n };\n /**\n * Creates a new [SubscribableStream](xref:botframework-streaming.SubscribableStream) instance.\n *\n * @returns The new stream ready for consumption.\n */\n PayloadAssembler.prototype.createPayloadStream = function () {\n return new subscribableStream_1.SubscribableStream();\n };\n PayloadAssembler.prototype.payloadFromJson = function (json) {\n return JSON.parse(json.charCodeAt(0) === this._byteOrderMark ? json.slice(1) : json);\n };\n PayloadAssembler.prototype.stripBOM = function (input) {\n return input.charCodeAt(0) === this._byteOrderMark ? input.slice(1) : input;\n };\n PayloadAssembler.prototype.process = function (stream) {\n return __awaiter(this, void 0, void 0, function () {\n var streamData, streamDataAsString;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n streamData = stream.read(stream.length);\n if (!streamData) {\n return [2 /*return*/];\n }\n streamDataAsString = streamData.toString(this._utf);\n if (!(this.payloadType === payloads_1.PayloadTypes.request)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.processRequest(streamDataAsString)];\n case 1:\n _a.sent();\n return [3 /*break*/, 4];\n case 2:\n if (!(this.payloadType === payloads_1.PayloadTypes.response)) return [3 /*break*/, 4];\n return [4 /*yield*/, this.processResponse(streamDataAsString)];\n case 3:\n _a.sent();\n _a.label = 4;\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processResponse = function (streamDataAsString) {\n return __awaiter(this, void 0, void 0, function () {\n var responsePayload, receiveResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n responsePayload = this.payloadFromJson(this.stripBOM(streamDataAsString));\n receiveResponse = { streams: [], statusCode: responsePayload.statusCode };\n return [4 /*yield*/, this.processStreams(responsePayload, receiveResponse)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processRequest = function (streamDataAsString) {\n return __awaiter(this, void 0, void 0, function () {\n var requestPayload, receiveRequest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n requestPayload = this.payloadFromJson(streamDataAsString);\n receiveRequest = { streams: [], path: requestPayload.path, verb: requestPayload.verb };\n return [4 /*yield*/, this.processStreams(requestPayload, receiveRequest)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n PayloadAssembler.prototype.processStreams = function (responsePayload, receiveResponse) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n (_a = responsePayload.streams) === null || _a === void 0 ? void 0 : _a.forEach(function (responseStream) {\n var _a;\n // There was a bug in how streams were handled. In .NET, the StreamDescription definiton mapped the\n // \"type\" JSON property to `contentType`, but in Typescript there was no mapping. This is a workaround\n // to resolve this inconsistency.\n //\n // .NET code:\n // https://github.com/microsoft/botbuilder-dotnet/blob/a79036ddf6625ec3fd68a6f7295886eb7831bc1c/libraries/Microsoft.Bot.Streaming/Payloads/Models/StreamDescription.cs#L28-L29\n var contentType = (_a = responseStream.type) !== null && _a !== void 0 ? _a : responseStream.contentType;\n var contentAssembler = _this.streamManager.getPayloadAssembler(responseStream.id);\n contentAssembler.payloadType = contentType;\n contentAssembler.contentLength = responseStream.length;\n receiveResponse.streams.push(new contentStream_1.ContentStream(responseStream.id, contentAssembler));\n });\n return [4 /*yield*/, this._onCompleted(this.id, receiveResponse)];\n case 1:\n _b.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return PayloadAssembler;\n}());\nexports.PayloadAssembler = PayloadAssembler;\n\n},{\"../contentStream\":2,\"../payloads\":16,\"../subscribableStream\":27}],2:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ContentStream = void 0;\n/**\n * A stream of fixed or infinite length containing content to be decoded.\n */\nvar ContentStream = /** @class */ (function () {\n /**\n * Initializes a new instance of the [ContentStream](xref:botframework-streaming.ContentStream) class.\n *\n * @param id The ID assigned to this instance.\n * @param assembler The [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) assigned to this instance.\n */\n function ContentStream(id, assembler) {\n if (!assembler) {\n throw Error('Null Argument Exception');\n }\n this.id = id;\n this.assembler = assembler;\n }\n Object.defineProperty(ContentStream.prototype, \"contentType\", {\n /**\n * Gets the name of the type of the object contained within this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns The [PayloadType](xref:botframework-streaming.PayloadType) of this [ContentStream](xref:botframework-streaming.ContentStream).\n */\n get: function () {\n return this.assembler.payloadType;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ContentStream.prototype, \"length\", {\n /**\n * Gets the length of this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns A number representing the length of this [ContentStream](xref:botframework-streaming.ContentStream).\n */\n get: function () {\n return this.assembler.contentLength;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Gets the data contained within this [ContentStream](xref:botframework-streaming.ContentStream).\n *\n * @returns This [ContentStream's](xref:botframework-streaming.ContentStream) [SubscribableStream](xref:botframework-streaming.SubscribableStream).\n */\n ContentStream.prototype.getStream = function () {\n if (!this.stream) {\n this.stream = this.assembler.getPayloadStream();\n }\n return this.stream;\n };\n /**\n * Closes the assembler.\n */\n ContentStream.prototype.cancel = function () {\n this.assembler.close();\n };\n /**\n * Gets the [SubscribableStream](xref:botframework-streaming.SubscribableStream) content as a string.\n *\n * @returns A string Promise with [SubscribableStream](xref:botframework-streaming.SubscribableStream) content.\n */\n ContentStream.prototype.readAsString = function () {\n return __awaiter(this, void 0, void 0, function () {\n var bufferArray;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.readAll()];\n case 1:\n bufferArray = (_a.sent()).bufferArray;\n return [2 /*return*/, (bufferArray || []).map(function (result) { return result.toString('utf8'); }).join('')];\n }\n });\n });\n };\n /**\n * Gets the [SubscribableStream](xref:botframework-streaming.SubscribableStream) content as a typed JSON object.\n *\n * @returns A typed object Promise with `SubscribableStream` content.\n */\n ContentStream.prototype.readAsJson = function () {\n return __awaiter(this, void 0, void 0, function () {\n var stringToParse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.readAsString()];\n case 1:\n stringToParse = _a.sent();\n return [2 /*return*/, JSON.parse(stringToParse)];\n }\n });\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ContentStream.prototype.readAll = function () {\n return __awaiter(this, void 0, void 0, function () {\n var allData, count, stream, chunk, readToEnd;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n allData = [];\n count = 0;\n stream = this.getStream();\n // populate the array with any existing buffers\n while (count < stream.length) {\n chunk = stream.read(stream.length);\n allData.push(chunk);\n count += chunk.length;\n }\n if (!(count < this.length)) return [3 /*break*/, 2];\n readToEnd = new Promise(function (resolve) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var callback = function (cs) { return function (chunk) {\n allData.push(chunk);\n count += chunk.length;\n if (count === cs.length) {\n resolve(true);\n }\n }; };\n stream.subscribe(callback(_this));\n });\n return [4 /*yield*/, readToEnd];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/, { bufferArray: allData, size: count }];\n }\n });\n });\n };\n return ContentStream;\n}());\nexports.ContentStream = ContentStream;\n\n},{}],3:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CancelDisassembler = void 0;\n/**\n * Streaming cancel disassembler.\n */\nvar CancelDisassembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [CancelDisassembler](xref:botframework-streaming.CancelDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) that this Cancel request will be sent by.\n * @param id The ID of the Stream to cancel.\n * @param payloadType The type of the Stream that is being cancelled.\n */\n function CancelDisassembler(sender, id, payloadType) {\n this.sender = sender;\n this.id = id;\n this.payloadType = payloadType;\n }\n /**\n * Initiates the process of disassembling the request and signals the [PayloadSender](xref:botframework-streaming.PayloadSender) to begin sending.\n */\n CancelDisassembler.prototype.disassemble = function () {\n var header = {\n payloadType: this.payloadType,\n payloadLength: 0,\n id: this.id,\n end: true,\n };\n this.sender.sendPayload(header);\n };\n return CancelDisassembler;\n}());\nexports.CancelDisassembler = CancelDisassembler;\n\n},{}],4:[function(require,module,exports){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpContentStreamDisassembler = void 0;\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\nvar payloads_1 = require(\"../payloads\");\n/**\n * Disassembler for Http content stream\n */\nvar HttpContentStreamDisassembler = /** @class */ (function (_super) {\n __extends(HttpContentStreamDisassembler, _super);\n /**\n * Initializes a new instance of the [HttpContentStreamDisassembler](xref:botframework-streaming.HttpContentStreamDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param contentStream The [HttpContentStream](xref:botframework-streaming.HttpContentStream) to be disassembled.\n */\n function HttpContentStreamDisassembler(sender, contentStream) {\n var _this = _super.call(this, sender, contentStream.id) || this;\n _this.payloadType = payloads_1.PayloadTypes.stream;\n _this.contentStream = contentStream;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Strea.\n */\n HttpContentStreamDisassembler.prototype.getStream = function () {\n return __awaiter(this, void 0, void 0, function () {\n var stream;\n return __generator(this, function (_a) {\n stream = this.contentStream.content.getStream();\n return [2 /*return*/, { stream: stream, streamLength: stream.length }];\n });\n });\n };\n return HttpContentStreamDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.HttpContentStreamDisassembler = HttpContentStreamDisassembler;\n\n},{\"../payloads\":16,\"./payloadDisassembler\":5}],5:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadDisassembler = void 0;\nvar subscribableStream_1 = require(\"../subscribableStream\");\n/**\n * Base class streaming payload disassembling.\n */\nvar PayloadDisassembler = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadDisassembler](xref:botframework-streaming.PayloadDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) used to send the disassembled payload chunks.\n * @param id The ID of this disassembler.\n */\n function PayloadDisassembler(sender, id) {\n this.sender = sender;\n this.id = id;\n }\n /**\n * Serializes the item into the [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) that exposes the stream and length of the result.\n *\n * @param item The item to be serialized.\n * @returns The stream containing the serialized item and the length of the stream.\n */\n PayloadDisassembler.serialize = function (item) {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(JSON.stringify(item));\n stream.end();\n return { stream: stream, streamLength: stream.length };\n };\n /**\n * Begins the process of disassembling a payload and sending the resulting chunks to the [PayloadSender](xref:botframework-streaming.PayloadSender) to dispatch over the transport.\n *\n * @returns A completed Promise after the disassembled payload has been sent.\n */\n PayloadDisassembler.prototype.disassemble = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a, stream, streamLength;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, this.getStream()];\n case 1:\n _a = _b.sent(), stream = _a.stream, streamLength = _a.streamLength;\n this.stream = stream;\n this.streamLength = streamLength;\n return [2 /*return*/, this.send()];\n }\n });\n });\n };\n /**\n * Begins the process of disassembling a payload and signals the [PayloadSender](xref:botframework-streaming.PayloadSender).\n */\n PayloadDisassembler.prototype.send = function () {\n return __awaiter(this, void 0, void 0, function () {\n var header;\n return __generator(this, function (_a) {\n header = {\n payloadType: this.payloadType,\n payloadLength: this.streamLength,\n id: this.id,\n end: true,\n };\n this.sender.sendPayload(header, this.stream);\n return [2 /*return*/];\n });\n });\n };\n return PayloadDisassembler;\n}());\nexports.PayloadDisassembler = PayloadDisassembler;\n\n},{\"../subscribableStream\":27}],6:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestDisassembler = void 0;\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\n/**\n * Streaming request disassembler.\n */\nvar RequestDisassembler = /** @class */ (function (_super) {\n __extends(RequestDisassembler, _super);\n /**\n * Initializes a new instance of the [RequestDisassembler](xref:botframework-streaming.RequestDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param id The ID of this disassembler.\n * @param request The request to be disassembled.\n */\n function RequestDisassembler(sender, id, request) {\n var _this = _super.call(this, sender, id) || this;\n _this.request = request;\n _this.payloadType = payloadTypes_1.PayloadTypes.request;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Stream.\n */\n RequestDisassembler.prototype.getStream = function () {\n var _a, _b, _c, _d;\n return __awaiter(this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_e) {\n payload = { verb: (_a = this.request) === null || _a === void 0 ? void 0 : _a.verb, path: (_b = this.request) === null || _b === void 0 ? void 0 : _b.path, streams: [] };\n (_d = (_c = this.request) === null || _c === void 0 ? void 0 : _c.streams) === null || _d === void 0 ? void 0 : _d.forEach(function (stream) {\n payload.streams.push(stream.description);\n });\n return [2 /*return*/, payloadDisassembler_1.PayloadDisassembler.serialize(payload)];\n });\n });\n };\n return RequestDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.RequestDisassembler = RequestDisassembler;\n\n},{\"../payloads/payloadTypes\":19,\"./payloadDisassembler\":5}],7:[function(require,module,exports){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ResponseDisassembler = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar payloadDisassembler_1 = require(\"./payloadDisassembler\");\n/**\n * Streaming response disassembler.\n */\nvar ResponseDisassembler = /** @class */ (function (_super) {\n __extends(ResponseDisassembler, _super);\n /**\n * Initializes a new instance of the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) class.\n *\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to.\n * @param id The ID of this disassembler.\n * @param response The response to be disassembled.\n */\n function ResponseDisassembler(sender, id, response) {\n var _this = _super.call(this, sender, id) || this;\n _this.payloadType = payloadTypes_1.PayloadTypes.response;\n _this.response = response;\n return _this;\n }\n /**\n * Gets the stream this disassembler is operating on.\n *\n * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Stream.\n */\n ResponseDisassembler.prototype.getStream = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var payload;\n return __generator(this, function (_b) {\n payload = { statusCode: this.response.statusCode, streams: [] };\n (_a = this.response.streams) === null || _a === void 0 ? void 0 : _a.forEach(function (_a) {\n var description = _a.description;\n payload.streams.push({\n id: description.id,\n contentType: description.type,\n length: description.length,\n });\n });\n return [2 /*return*/, payloadDisassembler_1.PayloadDisassembler.serialize(payload)];\n });\n });\n };\n return ResponseDisassembler;\n}(payloadDisassembler_1.PayloadDisassembler));\nexports.ResponseDisassembler = ResponseDisassembler;\n\n},{\"../payloads/payloadTypes\":19,\"./payloadDisassembler\":5}],8:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HttpContent = exports.HttpContentStream = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar protocol_base_1 = require(\"./utilities/protocol-base\");\n/**\n * An attachment contained within a StreamingRequest's stream collection, which itself contains any form of media item.\n */\nvar HttpContentStream = /** @class */ (function () {\n /**\n * Initializes a new instance of the [HttpContentStream](xref:botframework-streaming.HttpContentStream) class.\n *\n * @param content The [HttpContent](xref:botframework-streaming.HttpContent) to assign to the [HttpContentStream](xref:botframework-streaming.HttpContentStream).\n */\n function HttpContentStream(content) {\n var _a, _b, _c, _d, _e, _f;\n this.content = content;\n this.id = (0, protocol_base_1.generateGuid)();\n this.description = {\n id: this.id,\n type: (_c = (_b = (_a = this.content) === null || _a === void 0 ? void 0 : _a.headers) === null || _b === void 0 ? void 0 : _b.type) !== null && _c !== void 0 ? _c : 'unknown',\n length: (_f = (_e = (_d = this.content) === null || _d === void 0 ? void 0 : _d.headers) === null || _e === void 0 ? void 0 : _e.contentLength) !== null && _f !== void 0 ? _f : 0,\n };\n }\n return HttpContentStream;\n}());\nexports.HttpContentStream = HttpContentStream;\n/**\n * The HttpContent class that contains a [SubscribableStream](xref:botframework-streaming.SubscribableStream).\n */\nvar HttpContent = /** @class */ (function () {\n /**\n * Initializes a new instance of the [HttpContent](xref:botframework-streaming.HttpContent) class.\n *\n * @param headers The Streaming Http content header definition.\n * @param stream The stream of buffered data.\n */\n function HttpContent(headers, stream) {\n this.headers = headers;\n this.stream = stream;\n }\n /**\n * Gets the data contained within this [HttpContent](xref:botframework-streaming.HttpContent).\n *\n * @returns This [HttpContent's](xref:botframework-streaming.HttpContent) [SubscribableStream](xref:botframework-streaming.SubscribableStream) member.\n */\n HttpContent.prototype.getStream = function () {\n return this.stream;\n };\n return HttpContent;\n}());\nexports.HttpContent = HttpContent;\n\n},{\"./utilities/protocol-base\":28}],9:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketClient = exports.BrowserWebSocket = exports.SubscribableStream = exports.StreamingResponse = exports.StreamingRequest = exports.RequestHandler = exports.HttpContent = exports.ContentStream = void 0;\nvar contentStream_1 = require(\"./contentStream\");\nObject.defineProperty(exports, \"ContentStream\", { enumerable: true, get: function () { return contentStream_1.ContentStream; } });\nvar httpContentStream_1 = require(\"./httpContentStream\");\nObject.defineProperty(exports, \"HttpContent\", { enumerable: true, get: function () { return httpContentStream_1.HttpContent; } });\nvar requestHandler_1 = require(\"./requestHandler\");\nObject.defineProperty(exports, \"RequestHandler\", { enumerable: true, get: function () { return requestHandler_1.RequestHandler; } });\nvar streamingRequest_1 = require(\"./streamingRequest\");\nObject.defineProperty(exports, \"StreamingRequest\", { enumerable: true, get: function () { return streamingRequest_1.StreamingRequest; } });\nvar streamingResponse_1 = require(\"./streamingResponse\");\nObject.defineProperty(exports, \"StreamingResponse\", { enumerable: true, get: function () { return streamingResponse_1.StreamingResponse; } });\nvar subscribableStream_1 = require(\"./subscribableStream\");\nObject.defineProperty(exports, \"SubscribableStream\", { enumerable: true, get: function () { return subscribableStream_1.SubscribableStream; } });\nvar index_browser_1 = require(\"./webSocket/index-browser\");\nObject.defineProperty(exports, \"BrowserWebSocket\", { enumerable: true, get: function () { return index_browser_1.BrowserWebSocket; } });\nObject.defineProperty(exports, \"WebSocketClient\", { enumerable: true, get: function () { return index_browser_1.WebSocketClient; } });\n\n},{\"./contentStream\":2,\"./httpContentStream\":8,\"./requestHandler\":24,\"./streamingRequest\":25,\"./streamingResponse\":26,\"./subscribableStream\":27,\"./webSocket/index-browser\":31}],10:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./payloadReceiver\"), exports);\n__exportStar(require(\"./payloadSender\"), exports);\n__exportStar(require(\"./transportDisconnectedEvent\"), exports);\n__exportStar(require(\"./transportDisconnectedEventHandler\"), exports);\n\n},{\"./payloadReceiver\":11,\"./payloadSender\":12,\"./transportDisconnectedEvent\":13,\"./transportDisconnectedEventHandler\":14}],11:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadReceiver = void 0;\nvar payloadTypes_1 = require(\"../payloads/payloadTypes\");\nvar headerSerializer_1 = require(\"../payloads/headerSerializer\");\nvar payloadConstants_1 = require(\"../payloads/payloadConstants\");\nvar transportDisconnectedEvent_1 = require(\"./transportDisconnectedEvent\");\n/**\n * Payload receiver for streaming.\n */\nvar PayloadReceiver = /** @class */ (function () {\n function PayloadReceiver() {\n }\n Object.defineProperty(PayloadReceiver.prototype, \"isConnected\", {\n /**\n * Get current connected state\n *\n * @returns true if connected to a transport sender.\n */\n get: function () {\n return this._receiver != null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Connects to a transport receiver\n *\n * @param receiver The [ITransportReceiver](xref:botframework-streaming.ITransportReceiver) object to pull incoming data from.\n * @returns a promise that resolves when the receiver is complete\n */\n PayloadReceiver.prototype.connect = function (receiver) {\n this._receiver = receiver;\n return this.receivePackets();\n };\n /**\n * Allows subscribing to this receiver in order to be notified when new data comes in.\n *\n * @param getStream Callback when a new stream has been received.\n * @param receiveAction Callback when a new message has been received.\n */\n PayloadReceiver.prototype.subscribe = function (getStream, receiveAction) {\n this._getStream = getStream;\n this._receiveAction = receiveAction;\n };\n /**\n * Force this receiver to disconnect.\n *\n * @param event Event arguments to include when broadcasting disconnection event.\n */\n PayloadReceiver.prototype.disconnect = function (event) {\n var _a, _b;\n if (event === void 0) { event = transportDisconnectedEvent_1.TransportDisconnectedEvent.Empty; }\n if (!this.isConnected) {\n return;\n }\n try {\n this._receiver.close();\n (_a = this.disconnected) === null || _a === void 0 ? void 0 : _a.call(this, this, event);\n }\n catch (err) {\n (_b = this.disconnected) === null || _b === void 0 ? void 0 : _b.call(this, this, new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n finally {\n this._receiver = null;\n }\n };\n PayloadReceiver.prototype.receivePackets = function () {\n return __awaiter(this, void 0, void 0, function () {\n var readSoFar, _a, header, isStream, bytesActuallyRead, contentStream, count, _b, err_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.isConnected) return [3 /*break*/, 11];\n _c.label = 1;\n case 1:\n _c.trys.push([1, 9, , 10]);\n readSoFar = 0;\n _c.label = 2;\n case 2:\n if (!(readSoFar < payloadConstants_1.PayloadConstants.MaxHeaderLength)) return [3 /*break*/, 4];\n _a = this;\n return [4 /*yield*/, this._receiver.receive(payloadConstants_1.PayloadConstants.MaxHeaderLength - readSoFar)];\n case 3:\n _a._receiveHeaderBuffer = _c.sent();\n if (this._receiveHeaderBuffer) {\n readSoFar += this._receiveHeaderBuffer.length;\n }\n return [3 /*break*/, 2];\n case 4:\n header = headerSerializer_1.HeaderSerializer.deserialize(this._receiveHeaderBuffer);\n isStream = header.payloadType === payloadTypes_1.PayloadTypes.stream;\n if (!(header.payloadLength > 0)) return [3 /*break*/, 8];\n bytesActuallyRead = 0;\n contentStream = this._getStream(header);\n _c.label = 5;\n case 5:\n if (!(bytesActuallyRead < header.payloadLength &&\n bytesActuallyRead < payloadConstants_1.PayloadConstants.MaxPayloadLength)) return [3 /*break*/, 7];\n count = Math.min(header.payloadLength - bytesActuallyRead, payloadConstants_1.PayloadConstants.MaxPayloadLength);\n _b = this;\n return [4 /*yield*/, this._receiver.receive(count)];\n case 6:\n _b._receivePayloadBuffer = _c.sent();\n bytesActuallyRead += this._receivePayloadBuffer.byteLength;\n contentStream.write(this._receivePayloadBuffer);\n // If this is a stream we want to keep handing it up as it comes in\n if (isStream) {\n this._receiveAction(header, contentStream, bytesActuallyRead);\n }\n return [3 /*break*/, 5];\n case 7:\n if (!isStream) {\n this._receiveAction(header, contentStream, bytesActuallyRead);\n }\n _c.label = 8;\n case 8: return [3 /*break*/, 10];\n case 9:\n err_1 = _c.sent();\n this.disconnect(new transportDisconnectedEvent_1.TransportDisconnectedEvent(err_1.message));\n return [3 /*break*/, 10];\n case 10: return [3 /*break*/, 0];\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n return PayloadReceiver;\n}());\nexports.PayloadReceiver = PayloadReceiver;\n\n},{\"../payloads/headerSerializer\":15,\"../payloads/payloadConstants\":18,\"../payloads/payloadTypes\":19,\"./transportDisconnectedEvent\":13}],12:[function(require,module,exports){\n(function (Buffer){(function (){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadSender = void 0;\nvar headerSerializer_1 = require(\"../payloads/headerSerializer\");\nvar payloadConstants_1 = require(\"../payloads/payloadConstants\");\nvar transportDisconnectedEvent_1 = require(\"./transportDisconnectedEvent\");\n/**\n * Streaming payload sender.\n */\nvar PayloadSender = /** @class */ (function () {\n function PayloadSender() {\n }\n Object.defineProperty(PayloadSender.prototype, \"isConnected\", {\n /**\n * Get current connected state\n *\n * @returns true if connected to a transport sender.\n */\n get: function () {\n return this._sender != null;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Connects to the given transport sender.\n *\n * @param sender The transport sender to connect this payload sender to.\n */\n PayloadSender.prototype.connect = function (sender) {\n this._sender = sender;\n };\n /**\n * Sends a payload out over the connected transport sender.\n *\n * @param header The header to attach to the outgoing payload.\n * @param payload The stream of buffered data to send.\n * @param sentCallback The function to execute when the send has completed.\n */\n PayloadSender.prototype.sendPayload = function (header, payload, sentCallback) {\n var packet = { header: header, payload: payload, sentCallback: sentCallback };\n this.writePacket(packet);\n };\n /**\n * Disconnects this payload sender.\n *\n * @param event The disconnected event arguments to include in the disconnected event broadcast.\n */\n PayloadSender.prototype.disconnect = function (event) {\n var _a, _b;\n if (event === void 0) { event = transportDisconnectedEvent_1.TransportDisconnectedEvent.Empty; }\n if (!this.isConnected) {\n return;\n }\n try {\n this._sender.close();\n (_a = this.disconnected) === null || _a === void 0 ? void 0 : _a.call(this, this, event);\n }\n catch (err) {\n (_b = this.disconnected) === null || _b === void 0 ? void 0 : _b.call(this, this, new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n finally {\n this._sender = null;\n }\n };\n PayloadSender.prototype.writePacket = function (packet) {\n try {\n if (packet.header.payloadLength > 0 && packet.payload) {\n var leftOver = packet.header.payloadLength;\n while (leftOver > 0) {\n var count = leftOver <= payloadConstants_1.PayloadConstants.MaxPayloadLength ? leftOver : payloadConstants_1.PayloadConstants.MaxPayloadLength;\n var chunk = packet.payload.read(count);\n var header = packet.header;\n header.payloadLength = count;\n header.end = leftOver <= payloadConstants_1.PayloadConstants.MaxPayloadLength;\n var sendHeaderBuffer = Buffer.alloc(payloadConstants_1.PayloadConstants.MaxHeaderLength);\n headerSerializer_1.HeaderSerializer.serialize(header, sendHeaderBuffer);\n this._sender.send(sendHeaderBuffer);\n this._sender.send(chunk);\n leftOver -= chunk.length;\n }\n if (packet.sentCallback) {\n packet.sentCallback();\n }\n }\n }\n catch (err) {\n this.disconnect(new transportDisconnectedEvent_1.TransportDisconnectedEvent(err.message));\n }\n };\n return PayloadSender;\n}());\nexports.PayloadSender = PayloadSender;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"../payloads/headerSerializer\":15,\"../payloads/payloadConstants\":18,\"./transportDisconnectedEvent\":13,\"buffer\":35}],13:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.TransportDisconnectedEvent = void 0;\n/**\n * Event to be included when disconnection events are fired.\n */\nvar TransportDisconnectedEvent = /** @class */ (function () {\n /**\n * Indicates a transport disconnected with the reason provided via the constructor.\n *\n * @remarks\n * This class is used for communicating disconnection events between the\n * PayloadReceiver and PayloadSender.\n * @param reason The reason the disconnection event fired, in plain text.\n */\n function TransportDisconnectedEvent(reason) {\n this.reason = reason;\n }\n /**\n * A new and empty TransportDisconnectedEvent.\n */\n TransportDisconnectedEvent.Empty = new TransportDisconnectedEvent();\n return TransportDisconnectedEvent;\n}());\nexports.TransportDisconnectedEvent = TransportDisconnectedEvent;\n\n},{}],14:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\n\n},{}],15:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.HeaderSerializer = void 0;\nvar payloadConstants_1 = require(\"./payloadConstants\");\n/**\n * Streaming header serializer\n */\nvar HeaderSerializer = /** @class */ (function () {\n function HeaderSerializer() {\n }\n /**\n * Serializes the header into a buffer\n *\n * @param header The header to serialize.\n * @param buffer The buffer into which to serialize the header.\n */\n HeaderSerializer.serialize = function (header, buffer) {\n buffer.write(header.payloadType, this.TypeOffset, 1, this.Encoding);\n buffer.write(this.Delimiter, this.TypeDelimiterOffset, 1, this.Encoding);\n buffer.write(this.headerLengthPadder(header.payloadLength, this.LengthLength, '0'), this.LengthOffset, this.LengthLength, this.Encoding);\n buffer.write(this.Delimiter, this.LengthDelimeterOffset, 1, this.Encoding);\n buffer.write(header.id, this.IdOffset);\n buffer.write(this.Delimiter, this.IdDelimeterOffset, 1, this.Encoding);\n buffer.write(header.end ? this.End : this.NotEnd, this.EndOffset);\n buffer.write(this.Terminator, this.TerminatorOffset);\n };\n /**\n * Deserializes a buffer containing header information.\n *\n * @param buffer The buffer from which to obtain the data to deserialize.\n * @returns The deserialized header from the buffer.\n */\n HeaderSerializer.deserialize = function (buffer) {\n var jsonBuffer = buffer.toString(this.Encoding);\n var headerArray = jsonBuffer.split(this.Delimiter);\n if (headerArray.length !== 4) {\n throw Error(\"Cannot parse header, header is malformed. Header: \".concat(jsonBuffer));\n }\n var payloadType = headerArray[0], length = headerArray[1], id = headerArray[2], headerEnd = headerArray[3];\n var end = headerEnd === '1\\n';\n var payloadLength = Number(length);\n var header = { end: end, payloadLength: payloadLength, payloadType: payloadType, id: id };\n if (!(header.payloadLength <= payloadConstants_1.PayloadConstants.MaxPayloadLength &&\n header.payloadLength >= payloadConstants_1.PayloadConstants.MinLength)) {\n throw Error(\"Header length of \".concat(header.payloadLength, \" is missing or malformed\"));\n }\n if (header.payloadType.length !== this.TypeDelimiterOffset) {\n throw Error(\"Header type '\".concat(header.payloadType.length, \"' is missing or malformed.\"));\n }\n if (!header.id ||\n !header.id.match(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i) ||\n header.id.length !== this.IdLength) {\n throw Error(\"Header ID '\".concat(header.id, \"' is missing or malformed.\"));\n }\n if (!(headerEnd === '0\\n' || headerEnd === '1\\n')) {\n throw Error(\"Header End is missing or not a valid value. Header end: '\".concat(headerEnd, \"'\"));\n }\n return header;\n };\n /**\n * Creates a padded string based on a length and character to be padded to.\n *\n * @param lengthValue The value to be assingned on the result.\n * @param totalLength The length of the padded string result.\n * @param padChar The character value to use as filling.\n * @returns The padded string.\n */\n HeaderSerializer.headerLengthPadder = function (lengthValue, totalLength, padChar) {\n var result = Array(totalLength + 1).join(padChar);\n var lengthString = lengthValue.toString();\n return (result + lengthString).slice(lengthString.length);\n };\n HeaderSerializer.Delimiter = '.';\n HeaderSerializer.Terminator = '\\n';\n HeaderSerializer.End = '1';\n HeaderSerializer.NotEnd = '0';\n HeaderSerializer.TypeOffset = 0;\n HeaderSerializer.TypeDelimiterOffset = 1;\n HeaderSerializer.LengthOffset = 2;\n HeaderSerializer.LengthLength = 6;\n HeaderSerializer.LengthDelimeterOffset = 8;\n HeaderSerializer.IdOffset = 9;\n HeaderSerializer.IdLength = 36;\n HeaderSerializer.IdDelimeterOffset = 45;\n HeaderSerializer.EndOffset = 46;\n HeaderSerializer.TerminatorOffset = 47;\n HeaderSerializer.Encoding = 'utf8';\n return HeaderSerializer;\n}());\nexports.HeaderSerializer = HeaderSerializer;\n\n},{\"./payloadConstants\":18}],16:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./headerSerializer\"), exports);\n__exportStar(require(\"./streamManager\"), exports);\n__exportStar(require(\"./payloadAssemblerManager\"), exports);\n__exportStar(require(\"./payloadTypes\"), exports);\n__exportStar(require(\"./requestManager\"), exports);\n__exportStar(require(\"./sendOperations\"), exports);\n__exportStar(require(\"./streamManager\"), exports);\n\n},{\"./headerSerializer\":15,\"./payloadAssemblerManager\":17,\"./payloadTypes\":19,\"./requestManager\":20,\"./sendOperations\":21,\"./streamManager\":22}],17:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadAssemblerManager = void 0;\nvar payloadAssembler_1 = require(\"../assemblers/payloadAssembler\");\nvar payloadTypes_1 = require(\"./payloadTypes\");\n/**\n * Orchestrates assembly of payloads.\n */\nvar PayloadAssemblerManager = /** @class */ (function () {\n /**\n * Initializes a new instance of the [PayloadAssemblerManager](xref:botframework-streaming.PayloadAssemblerManager) class.\n *\n * @param streamManager The [StreamManager](xref:botframework-streaming.StreamManager) managing the stream being assembled.\n * @param onReceiveResponse Function that executes when new bytes are received on a `response` stream.\n * @param onReceiveRequest Function that executes when new bytes are received on a `request` stream.\n */\n function PayloadAssemblerManager(streamManager, onReceiveResponse, onReceiveRequest) {\n this.streamManager = streamManager;\n this.onReceiveResponse = onReceiveResponse;\n this.onReceiveRequest = onReceiveRequest;\n this.activeAssemblers = {};\n }\n /**\n * Retrieves the assembler's payload as a stream.\n *\n * @param header The Header of the Stream to retrieve.\n * @returns A [SubscribableStream](xref:botframework-streaming.SubscribableStream) of the assembler's payload.\n */\n PayloadAssemblerManager.prototype.getPayloadStream = function (header) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.stream) {\n return this.streamManager.getPayloadStream(header);\n }\n else if (!this.activeAssemblers[header.id]) {\n var assembler = this.createPayloadAssembler(header);\n if (assembler) {\n this.activeAssemblers[header.id] = assembler;\n return assembler.getPayloadStream();\n }\n }\n };\n /**\n * The action the assembler executes when new bytes are received on the incoming stream.\n *\n * @param header The stream's Header.\n * @param contentStream The incoming stream being assembled.\n * @param contentLength The length of the stream, if finite.\n */\n PayloadAssemblerManager.prototype.onReceive = function (header, contentStream, contentLength) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.stream) {\n this.streamManager.onReceive(header, contentStream, contentLength);\n }\n else {\n if (this.activeAssemblers && this.activeAssemblers[header.id]) {\n var assembler = this.activeAssemblers[header.id];\n assembler.onReceive(header, contentStream, contentLength);\n }\n if (header.end) {\n delete this.activeAssemblers[header.id];\n }\n }\n };\n PayloadAssemblerManager.prototype.createPayloadAssembler = function (header) {\n if (header.payloadType === payloadTypes_1.PayloadTypes.request) {\n return new payloadAssembler_1.PayloadAssembler(this.streamManager, {\n header: header,\n onCompleted: this.onReceiveRequest,\n });\n }\n else if (header.payloadType === payloadTypes_1.PayloadTypes.response) {\n return new payloadAssembler_1.PayloadAssembler(this.streamManager, {\n header: header,\n onCompleted: this.onReceiveResponse,\n });\n }\n };\n return PayloadAssemblerManager;\n}());\nexports.PayloadAssemblerManager = PayloadAssemblerManager;\n\n},{\"../assemblers/payloadAssembler\":1,\"./payloadTypes\":19}],18:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadConstants = void 0;\n/**\n * Constants for streaming payloads.\n */\nvar PayloadConstants;\n(function (PayloadConstants) {\n PayloadConstants[PayloadConstants[\"MaxPayloadLength\"] = 4096] = \"MaxPayloadLength\";\n PayloadConstants[PayloadConstants[\"MaxHeaderLength\"] = 48] = \"MaxHeaderLength\";\n PayloadConstants[PayloadConstants[\"MaxLength\"] = 999999] = \"MaxLength\";\n PayloadConstants[PayloadConstants[\"MinLength\"] = 0] = \"MinLength\";\n})(PayloadConstants = exports.PayloadConstants || (exports.PayloadConstants = {}));\n\n},{}],19:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PayloadTypes = void 0;\n/**\n * Typess of payloads supported in the streaming library.\n */\nvar PayloadTypes;\n(function (PayloadTypes) {\n PayloadTypes[\"request\"] = \"A\";\n PayloadTypes[\"response\"] = \"B\";\n PayloadTypes[\"stream\"] = \"S\";\n PayloadTypes[\"cancelAll\"] = \"X\";\n PayloadTypes[\"cancelStream\"] = \"C\";\n})(PayloadTypes = exports.PayloadTypes || (exports.PayloadTypes = {}));\n\n},{}],20:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestManager = void 0;\n/**\n * A streaming pending request.\n */\nvar PendingRequest = /** @class */ (function () {\n function PendingRequest() {\n }\n return PendingRequest;\n}());\n/**\n * Orchestrates and manages pending streaming requests.\n */\nvar RequestManager = /** @class */ (function () {\n function RequestManager() {\n this._pendingRequests = {};\n }\n /**\n * Gets the count of the pending requests.\n *\n * @returns Number with the pending requests count.\n */\n RequestManager.prototype.pendingRequestCount = function () {\n return Object.keys(this._pendingRequests).length;\n };\n /**\n * Signal fired when all response tasks have completed.\n *\n * @param requestId The ID of the StreamingRequest.\n * @param response The [IReceiveResponse](xref:botframework-streaming.IReceiveResponse) in response to the request.\n * @returns A Promise that when completed returns `true` if the `requestId`'s pending response task was completed, otherwise `false`.\n */\n RequestManager.prototype.signalResponse = function (requestId, response) {\n return __awaiter(this, void 0, void 0, function () {\n var pendingRequest;\n return __generator(this, function (_a) {\n pendingRequest = this._pendingRequests[requestId];\n if (pendingRequest) {\n pendingRequest.resolve(response);\n delete this._pendingRequests[requestId];\n return [2 /*return*/, true];\n }\n return [2 /*return*/, false];\n });\n });\n };\n /**\n * Constructs and returns a response for this request.\n *\n * @param requestId The ID of the StreamingRequest being responded to.\n * @returns The response to the specified request.\n */\n RequestManager.prototype.getResponse = function (requestId) {\n var pendingRequest = this._pendingRequests[requestId];\n if (pendingRequest) {\n return Promise.reject(\"requestId '\".concat(requestId, \"' already exists in RequestManager\"));\n }\n pendingRequest = new PendingRequest();\n pendingRequest.requestId = requestId;\n var promise = new Promise(function (resolve, reject) {\n pendingRequest.resolve = resolve;\n pendingRequest.reject = reject;\n });\n this._pendingRequests[requestId] = pendingRequest;\n return promise;\n };\n /**\n * Rejects all requests pending a response.\n *\n * @param reason The reason for rejection.\n */\n RequestManager.prototype.rejectAllResponses = function (reason) {\n var _this = this;\n Object.entries(this._pendingRequests).forEach(function (_a) {\n var requestId = _a[0], reject = _a[1].reject;\n reject(reason);\n delete _this._pendingRequests[requestId];\n });\n };\n return RequestManager;\n}());\nexports.RequestManager = RequestManager;\n\n},{}],21:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SendOperations = void 0;\nvar cancelDisassembler_1 = require(\"../disassemblers/cancelDisassembler\");\nvar httpContentStreamDisassembler_1 = require(\"../disassemblers/httpContentStreamDisassembler\");\nvar requestDisassembler_1 = require(\"../disassemblers/requestDisassembler\");\nvar responseDisassembler_1 = require(\"../disassemblers/responseDisassembler\");\nvar payloadTypes_1 = require(\"./payloadTypes\");\n/**\n * Send operations for streaming payloads.\n */\nvar SendOperations = /** @class */ (function () {\n /**\n * Initializes a new instance of the [SendOperations](xref:botframework-streaming.SendOperations) class.\n *\n * @param payloadSender The [PayloadSender](xref:botframework-streaming.PayloadSender) that will send the disassembled data from all of this instance's send operations.\n */\n function SendOperations(payloadSender) {\n this.payloadSender = payloadSender;\n }\n /**\n * The send operation used to send a [StreamingRequest](xref:botframework-streaming.StreamingRequest).\n *\n * @param id The ID to assign to the [RequestDisassembler](xref:botframework-streaming.RequestDisassembler) used by this operation.\n * @param request The request to send.\n */\n SendOperations.prototype.sendRequest = function (id, request) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n disassembler = new requestDisassembler_1.RequestDisassembler(this.payloadSender, id, request);\n return [4 /*yield*/, disassembler.disassemble()];\n case 1:\n _a.sent();\n if (request.streams) {\n request.streams.forEach(function (contentStream) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * The send operation used to send a [PayloadTypes.response](xref:botframework-streaming.PayloadTypes.response).\n *\n * @param id The ID to assign to the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) used by this operation.\n * @param response The response to send.\n */\n SendOperations.prototype.sendResponse = function (id, response) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n disassembler = new responseDisassembler_1.ResponseDisassembler(this.payloadSender, id, response);\n return [4 /*yield*/, disassembler.disassemble()];\n case 1:\n _a.sent();\n if (response.streams) {\n response.streams.forEach(function (contentStream) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, new httpContentStreamDisassembler_1.HttpContentStreamDisassembler(this.payloadSender, contentStream).disassemble()];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * The send operation used to send a [PayloadTypes.cancelStream](xref:botframework-streaming.PayloadTypes.cancelStream).\n *\n * @param id The ID to assign to the [CancelDisassembler](xref:botframework-streaming.CancelDisassembler) used by this operation.\n */\n SendOperations.prototype.sendCancelStream = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var disassembler;\n return __generator(this, function (_a) {\n disassembler = new cancelDisassembler_1.CancelDisassembler(this.payloadSender, id, payloadTypes_1.PayloadTypes.cancelStream);\n disassembler.disassemble();\n return [2 /*return*/];\n });\n });\n };\n return SendOperations;\n}());\nexports.SendOperations = SendOperations;\n\n},{\"../disassemblers/cancelDisassembler\":3,\"../disassemblers/httpContentStreamDisassembler\":4,\"../disassemblers/requestDisassembler\":6,\"../disassemblers/responseDisassembler\":7,\"./payloadTypes\":19}],22:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamManager = void 0;\nvar payloadAssembler_1 = require(\"../assemblers/payloadAssembler\");\n/**\n * Orchestrates and manages streams.\n */\nvar StreamManager = /** @class */ (function () {\n /**\n * Initializes a new instance of the [StreamManager](xref:botframework-streaming.StreamManager) class.\n *\n * @param onCancelStream Function to trigger if the managed stream is cancelled.\n */\n function StreamManager(onCancelStream) {\n this.onCancelStream = onCancelStream;\n this.activeAssemblers = [];\n }\n /**\n * Retrieves a [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) with the given ID if one exists, otherwise a new instance is created and assigned the given ID.\n *\n * @param id The ID of the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) to retrieve or create.\n * @returns The [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) with the given ID.\n */\n StreamManager.prototype.getPayloadAssembler = function (id) {\n if (!this.activeAssemblers[id]) {\n // A new id has come in, kick off the process of tracking it.\n var assembler = new payloadAssembler_1.PayloadAssembler(this, { id: id });\n this.activeAssemblers[id] = assembler;\n return assembler;\n }\n else {\n return this.activeAssemblers[id];\n }\n };\n /**\n * Retrieves the [SubscribableStream](xref:botframework-streaming.SubscribableStream) from the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) this manager manages.\n *\n * @param header The Header of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) to retrieve.\n * @returns The [SubscribableStream](xref:botframework-streaming.SubscribableStream) with the given header.\n */\n StreamManager.prototype.getPayloadStream = function (header) {\n var assembler = this.getPayloadAssembler(header.id);\n return assembler.getPayloadStream();\n };\n /**\n * Used to set the behavior of the managed [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) when data is received.\n *\n * @param header The Header of the stream.\n * @param contentStream The [SubscribableStream](xref:botframework-streaming.SubscribableStream) to write incoming data to.\n * @param contentLength The amount of data to write to the contentStream.\n */\n StreamManager.prototype.onReceive = function (header, contentStream, contentLength) {\n if (!this.activeAssemblers[header.id]) {\n return;\n }\n this.activeAssemblers[header.id].onReceive(header, contentStream, contentLength);\n };\n /**\n * Closes the [PayloadAssembler](xref:botframework-streaming.PayloadAssembler) assigned to the [SubscribableStream](xref:botframework-streaming.SubscribableStream) with the given ID.\n *\n * @param id The ID of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) to close.\n */\n StreamManager.prototype.closeStream = function (id) {\n if (!this.activeAssemblers[id]) {\n return;\n }\n else {\n var assembler = this.activeAssemblers[id];\n this.activeAssemblers.splice(this.activeAssemblers.indexOf(id), 1);\n var targetStream = assembler.getPayloadStream();\n if ((assembler.contentLength && targetStream.length < assembler.contentLength) || !assembler.end) {\n this.onCancelStream(assembler);\n }\n }\n };\n return StreamManager;\n}());\nexports.StreamManager = StreamManager;\n\n},{\"../assemblers/payloadAssembler\":1}],23:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.ProtocolAdapter = void 0;\nvar payloadAssemblerManager_1 = require(\"./payloads/payloadAssemblerManager\");\nvar sendOperations_1 = require(\"./payloads/sendOperations\");\nvar streamManager_1 = require(\"./payloads/streamManager\");\nvar protocol_base_1 = require(\"./utilities/protocol-base\");\n/**\n * Creates a protocol adapter for Streaming.\n */\nvar ProtocolAdapter = /** @class */ (function () {\n /**\n * Creates a new instance of the protocol adapter class.\n *\n * @param requestHandler The [RequestHandler](xref:botframework-streaming.RequestHandler) that will process incoming requests.\n * @param requestManager The [RequestManager](xref:botframework-streaming.RequestManager) that will process outgoing requests.\n * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) for use with outgoing requests.\n * @param receiver The [PayloadReceiver](xref:botframework-streaming.PayloadReceiver) for use with incoming requests.\n */\n function ProtocolAdapter(requestHandler, requestManager, sender, receiver) {\n var _this = this;\n this.requestHandler = requestHandler;\n this.requestManager = requestManager;\n this.payloadSender = sender;\n this.payloadReceiver = receiver;\n this.sendOperations = new sendOperations_1.SendOperations(this.payloadSender);\n this.streamManager = new streamManager_1.StreamManager(this.onCancelStream);\n this.assemblerManager = new payloadAssemblerManager_1.PayloadAssemblerManager(this.streamManager, function (id, response) { return _this.onReceiveResponse(id, response); }, function (id, request) { return _this.onReceiveRequest(id, request); });\n this.payloadReceiver.subscribe(function (header) { return _this.assemblerManager.getPayloadStream(header); }, function (header, contentStream, contentLength) {\n return _this.assemblerManager.onReceive(header, contentStream, contentLength);\n });\n }\n /**\n * Sends a request over the attached request manager.\n *\n * @param request The outgoing request to send.\n * @returns The response to the specified request.\n */\n ProtocolAdapter.prototype.sendRequest = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n var requestId, getResponsePromise;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n requestId = (0, protocol_base_1.generateGuid)();\n getResponsePromise = this.requestManager.getResponse(requestId);\n return [4 /*yield*/, this.sendOperations.sendRequest(requestId, request)];\n case 1:\n _a.sent();\n return [2 /*return*/, getResponsePromise];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a request comes in.\n *\n * @param id The id the resources created for the response will be assigned.\n * @param request The incoming request to process.\n */\n ProtocolAdapter.prototype.onReceiveRequest = function (id, request) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.requestHandler) return [3 /*break*/, 3];\n return [4 /*yield*/, this.requestHandler.processRequest(request)];\n case 1:\n response = _a.sent();\n if (!response) return [3 /*break*/, 3];\n return [4 /*yield*/, this.sendOperations.sendResponse(id, response)];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a response comes in.\n *\n * @param id The id the resources created for the response will be assigned.\n * @param response The incoming response to process.\n */\n ProtocolAdapter.prototype.onReceiveResponse = function (id, response) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.requestManager.signalResponse(id, response)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Executes the receive pipeline when a cancellation comes in.\n *\n * @param contentStreamAssembler The payload assembler processing the incoming data that this cancellation request targets.\n */\n ProtocolAdapter.prototype.onCancelStream = function (contentStreamAssembler) {\n this.sendOperations.sendCancelStream(contentStreamAssembler.id).catch();\n };\n return ProtocolAdapter;\n}());\nexports.ProtocolAdapter = ProtocolAdapter;\n\n},{\"./payloads/payloadAssemblerManager\":17,\"./payloads/sendOperations\":21,\"./payloads/streamManager\":22,\"./utilities/protocol-base\":28}],24:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RequestHandler = void 0;\n/**\n * Implemented by classes used to process incoming streaming requests sent over an [IStreamingTransport](xref:botframework-streaming.IStreamingTransport).\n */\nvar RequestHandler = /** @class */ (function () {\n function RequestHandler() {\n }\n return RequestHandler;\n}());\nexports.RequestHandler = RequestHandler;\n\n},{}],25:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingRequest = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar httpContentStream_1 = require(\"./httpContentStream\");\nvar subscribableStream_1 = require(\"./subscribableStream\");\n/**\n * The basic request type sent over Bot Framework Protocol 3 with Streaming Extensions transports, equivalent to HTTP request messages.\n */\nvar StreamingRequest = /** @class */ (function () {\n function StreamingRequest() {\n /**\n * List of associated streams.\n */\n this.streams = [];\n }\n /**\n * Creates a streaming request with the passed in method, path, and body.\n *\n * @param method The HTTP verb to use for this request.\n * @param path Optional path where the resource can be found on the remote server.\n * @param body Optional body to send to the remote server.\n * @returns On success returns a streaming request with appropriate status code and body.\n */\n StreamingRequest.create = function (method, path, body) {\n var request = new StreamingRequest();\n request.verb = method;\n request.path = path;\n if (body) {\n request.setBody(body);\n }\n return request;\n };\n /**\n * Adds a new stream attachment to this streaming request.\n *\n * @param content The Http content to include in the new stream attachment.\n */\n StreamingRequest.prototype.addStream = function (content) {\n if (!content) {\n throw new Error('Argument Undefined Exception: content undefined.');\n }\n this.streams.push(new httpContentStream_1.HttpContentStream(content));\n };\n /**\n * Sets the contents of the body of this streamingRequest.\n *\n * @param body The JSON text to write to the body of the streamingRequest.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n StreamingRequest.prototype.setBody = function (body) {\n if (typeof body === 'string') {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(body, 'utf8');\n this.addStream(new httpContentStream_1.HttpContent({\n type: 'application/json; charset=utf-8',\n contentLength: stream.length,\n }, stream));\n }\n else if (typeof body === 'object') {\n this.addStream(body);\n }\n };\n return StreamingRequest;\n}());\nexports.StreamingRequest = StreamingRequest;\n\n},{\"./httpContentStream\":8,\"./subscribableStream\":27}],26:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.StreamingResponse = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar httpContentStream_1 = require(\"./httpContentStream\");\nvar subscribableStream_1 = require(\"./subscribableStream\");\n/**\n * The basic response type sent over Bot Framework Protocol 3 with Streaming Extensions transports, equivalent to HTTP response messages.\n */\nvar StreamingResponse = /** @class */ (function () {\n function StreamingResponse() {\n this.streams = [];\n }\n /**\n * Creates a streaming response with the passed in method, path, and body.\n *\n * @param statusCode The HTTP verb to use for this request.\n * @param body Optional body containing additional information.\n * @returns A streaming response with the appropriate statuscode and passed in body.\n */\n StreamingResponse.create = function (statusCode, body) {\n var response = new StreamingResponse();\n response.statusCode = statusCode;\n if (body) {\n response.addStream(body);\n }\n return response;\n };\n /**\n * Adds a new stream attachment to this streaming request.\n *\n * @param content The Http content to include in the new stream attachment.\n */\n StreamingResponse.prototype.addStream = function (content) {\n this.streams.push(new httpContentStream_1.HttpContentStream(content));\n };\n /**\n * Sets the contents of the body of this streaming response.\n *\n * @param body The JSON text to write to the body of the streaming response.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n StreamingResponse.prototype.setBody = function (body) {\n var stream = new subscribableStream_1.SubscribableStream();\n stream.write(JSON.stringify(body), 'utf8');\n this.addStream(new httpContentStream_1.HttpContent({\n type: 'application/json; charset=utf-8',\n contentLength: stream.length,\n }, stream));\n };\n return StreamingResponse;\n}());\nexports.StreamingResponse = StreamingResponse;\n\n},{\"./httpContentStream\":8,\"./subscribableStream\":27}],27:[function(require,module,exports){\n(function (Buffer){(function (){\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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\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 });\nexports.SubscribableStream = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar stream_1 = require(\"stream\");\n/**\n * An extension of `Duplex` that operates in conjunction with a `PayloadAssembler` to convert raw bytes into a consumable form.\n */\nvar SubscribableStream = /** @class */ (function (_super) {\n __extends(SubscribableStream, _super);\n /**\n * Initializes a new instance of the [SubscribableStream](xref:botframework-streaming.SubscribableStream) class.\n *\n * @param options The `DuplexOptions` to use when constructing this stream.\n */\n function SubscribableStream(options) {\n var _this = _super.call(this, options) || this;\n _this.length = 0;\n _this.bufferList = [];\n return _this;\n }\n /**\n * Writes data to the buffered list.\n * All calls to writable.write() that occur between the time writable._write() is called and the callback is called will cause the written data to be buffered.\n *\n * @param chunk The Buffer to be written.\n * @param _encoding The encoding. Unused in the implementation of Duplex.\n * @param callback Callback for when this chunk of data is flushed.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n SubscribableStream.prototype._write = function (chunk, _encoding, callback) {\n var buffer = Buffer.from(chunk);\n this.bufferList.push(buffer);\n this.length += chunk.length;\n if (this._onData) {\n this._onData(buffer);\n }\n callback();\n };\n /**\n * Reads the buffered list.\n * Once the readable._read() method has been called, it will not be called again until more data is pushed through the readable.push() method.\n * Empty data such as empty buffers and strings will not cause readable._read() to be called.\n *\n * @param size Number of bytes to read.\n */\n SubscribableStream.prototype._read = function (size) {\n if (this.bufferList.length === 0) {\n // null signals end of stream\n this.push(null);\n }\n else {\n var total = 0;\n while (total < size && this.bufferList.length > 0) {\n var buffer = this.bufferList[0];\n this.push(buffer);\n this.bufferList.splice(0, 1);\n total += buffer.length;\n }\n }\n };\n /**\n * Subscribes to the stream when receives data.\n *\n * @param onData Callback to be called when onData is executed.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\n SubscribableStream.prototype.subscribe = function (onData) {\n this._onData = onData;\n };\n return SubscribableStream;\n}(stream_1.Duplex));\nexports.SubscribableStream = SubscribableStream;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"buffer\":35,\"stream\":41}],28:[function(require,module,exports){\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateGuid = void 0;\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar uuid_1 = require(\"uuid\");\n/**\n * Generates an uuid v4 string.\n *\n * @returns An uuidv4 string.\n */\nfunction generateGuid() {\n return (0, uuid_1.v4)();\n}\nexports.generateGuid = generateGuid;\n\n},{\"uuid\":58}],29:[function(require,module,exports){\n\"use strict\";\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.BrowserWebSocket = void 0;\n/**\n * Represents a WebSocket that implements [ISocket](xref:botframework-streaming.ISocket).\n */\nvar BrowserWebSocket = /** @class */ (function () {\n /**\n * Creates a new instance of the [BrowserWebSocket](xref:botframework-streaming.BrowserWebSocket) class.\n *\n * @param socket The socket object to build this connection on.\n */\n function BrowserWebSocket(socket) {\n if (socket) {\n this.webSocket = socket;\n }\n }\n /**\n * Connects to the supporting socket using WebSocket protocol.\n *\n * @param serverAddress The address the server is listening on.\n * @returns A Promise that resolves the websocket is open and rejects if an error is encountered.\n */\n BrowserWebSocket.prototype.connect = function (serverAddress) {\n return __awaiter(this, void 0, void 0, function () {\n var resolver, rejector;\n return __generator(this, function (_a) {\n if (!this.webSocket) {\n this.webSocket = new WebSocket(serverAddress);\n }\n this.webSocket.onerror = function (e) {\n rejector(e);\n };\n this.webSocket.onopen = function (e) {\n resolver(e);\n };\n return [2 /*return*/, new Promise(function (resolve, reject) {\n resolver = resolve;\n rejector = reject;\n })];\n });\n });\n };\n Object.defineProperty(BrowserWebSocket.prototype, \"isConnected\", {\n /**\n * Indicates if the [BrowserWebSocket's](xref:botframework-streaming.BrowserWebSocket) underlying websocket is currently connected.\n *\n * @returns `true` if the underlying websocket is ready and availble to send messages, otherwise `false`.\n */\n get: function () {\n return this.webSocket.readyState === 1;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Writes a buffer to the socket and sends it.\n *\n * @param buffer The buffer of data to send across the connection.\n */\n BrowserWebSocket.prototype.write = function (buffer) {\n this.webSocket.send(buffer);\n };\n /**\n * Close the socket.\n */\n BrowserWebSocket.prototype.close = function () {\n this.webSocket.close();\n };\n /**\n * Set the handler for text and binary messages received on the socket.\n *\n * @param handler The callback to handle the \"message\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnMessageHandler = function (handler) {\n var bufferKey = 'buffer';\n var packets = [];\n this.webSocket.onmessage = function (evt) {\n var fileReader = new FileReader();\n var queueEntry = { buffer: null };\n packets.push(queueEntry);\n fileReader.onload = function (e) {\n var t = e.target;\n queueEntry[bufferKey] = t.result;\n if (packets[0] === queueEntry) {\n while (0 < packets.length && packets[0][bufferKey]) {\n handler(packets[0][bufferKey]);\n packets.splice(0, 1);\n }\n }\n };\n fileReader.readAsArrayBuffer(evt.data);\n };\n };\n /**\n * Set the callback to call when encountering errors.\n *\n * @param handler The callback to handle the \"error\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnErrorHandler = function (handler) {\n this.webSocket.onerror = function (error) {\n if (error) {\n handler(error);\n }\n };\n };\n /**\n * Set the callback to call when encountering socket closures.\n *\n * @param handler The callback to handle the \"close\" event.\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BrowserWebSocket.prototype.setOnCloseHandler = function (handler) {\n this.webSocket.onclose = handler;\n };\n return BrowserWebSocket;\n}());\nexports.BrowserWebSocket = BrowserWebSocket;\n\n},{}],30:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketClient = void 0;\nvar browserWebSocket_1 = require(\"./browserWebSocket\");\nvar payloadTransport_1 = require(\"../payloadTransport\");\nvar protocolAdapter_1 = require(\"../protocolAdapter\");\nvar payloads_1 = require(\"../payloads\");\nvar webSocketTransport_1 = require(\"./webSocketTransport\");\n/**\n * Web socket based client to be used as streaming transport.\n */\nvar WebSocketClient = /** @class */ (function () {\n /**\n * Creates a new instance of the [WebSocketClient](xref:botframework-streaming.WebSocketClient) class.\n *\n * @param config For configuring a [WebSocketClient](xref:botframework-streaming.WebSocketClient) instance to communicate with a WebSocket server.\n * @param config.url The URL of the remote server to connect to.\n * @param config.requestHandler The [RequestHandler](xref:botframework-streaming.RequestHandler) used to process incoming messages received by this client.\n * @param config.disconnectionHandler Optional function to handle the disconnection message.\n */\n function WebSocketClient(_a) {\n var url = _a.url, requestHandler = _a.requestHandler, _b = _a.disconnectionHandler, disconnectionHandler = _b === void 0 ? null : _b;\n this._url = url;\n this._requestHandler = requestHandler;\n this._disconnectionHandler = disconnectionHandler;\n this._requestManager = new payloads_1.RequestManager();\n this._sender = new payloadTransport_1.PayloadSender();\n this._sender.disconnected = this.onConnectionDisconnected.bind(this);\n this._receiver = new payloadTransport_1.PayloadReceiver();\n this._receiver.disconnected = this.onConnectionDisconnected.bind(this);\n this._protocolAdapter = new protocolAdapter_1.ProtocolAdapter(this._requestHandler, this._requestManager, this._sender, this._receiver);\n }\n /**\n * Establish a connection with no custom headers.\n *\n * @returns A promise that will not resolve until the client stops listening for incoming messages.\n */\n WebSocketClient.prototype.connect = function () {\n return __awaiter(this, void 0, void 0, function () {\n var ws, transport;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n ws = new browserWebSocket_1.BrowserWebSocket();\n return [4 /*yield*/, ws.connect(this._url)];\n case 1:\n _a.sent();\n transport = new webSocketTransport_1.WebSocketTransport(ws);\n this._sender.connect(transport);\n this._receiver.connect(transport);\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Stop this client from listening.\n */\n WebSocketClient.prototype.disconnect = function () {\n this._sender.disconnect(new payloadTransport_1.TransportDisconnectedEvent('Disconnect was called.'));\n this._receiver.disconnect(new payloadTransport_1.TransportDisconnectedEvent('Disconnect was called.'));\n };\n /**\n * Task used to send data over this client connection.\n *\n * @param request The streaming request to send.\n * @returns A promise that will produce an instance of receive response on completion of the send operation.\n */\n WebSocketClient.prototype.send = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._protocolAdapter.sendRequest(request)];\n });\n });\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n WebSocketClient.prototype.onConnectionDisconnected = function (sender, args) {\n // Rejects all pending requests on disconnect.\n this._requestManager.rejectAllResponses(new Error('Disconnect was called.'));\n if (this._disconnectionHandler != null) {\n this._disconnectionHandler('Disconnected');\n return;\n }\n throw new Error(\"Unable to re-connect client to transport for url \".concat(this._url, \". Sender: '\").concat(JSON.stringify(sender), \"'. Args:' \").concat(JSON.stringify(args)));\n };\n return WebSocketClient;\n}());\nexports.WebSocketClient = WebSocketClient;\n\n},{\"../payloadTransport\":10,\"../payloads\":16,\"../protocolAdapter\":23,\"./browserWebSocket\":29,\"./webSocketTransport\":32}],31:[function(require,module,exports){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketTransport = exports.WebSocketClient = exports.BrowserWebSocket = void 0;\nvar browserWebSocket_1 = require(\"./browserWebSocket\");\nObject.defineProperty(exports, \"BrowserWebSocket\", { enumerable: true, get: function () { return browserWebSocket_1.BrowserWebSocket; } });\nvar browserWebSocketClient_1 = require(\"./browserWebSocketClient\");\nObject.defineProperty(exports, \"WebSocketClient\", { enumerable: true, get: function () { return browserWebSocketClient_1.WebSocketClient; } });\n/** @internal */\nvar webSocketTransport_1 = require(\"./webSocketTransport\");\nObject.defineProperty(exports, \"WebSocketTransport\", { enumerable: true, get: function () { return webSocketTransport_1.WebSocketTransport; } });\n\n},{\"./browserWebSocket\":29,\"./browserWebSocketClient\":30,\"./webSocketTransport\":32}],32:[function(require,module,exports){\n(function (Buffer){(function (){\n\"use strict\";\n/**\n * @module botframework-streaming\n */\n/**\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\nvar __awaiter = (this && this.__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};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebSocketTransport = void 0;\n/**\n * Web socket based transport.\n */\nvar WebSocketTransport = /** @class */ (function () {\n /**\n * Creates a new instance of the [WebSocketTransport](xref:botframework-streaming.WebSocketTransport) class.\n *\n * @param ws The ISocket to build this transport on top of.\n */\n function WebSocketTransport(ws) {\n var _this = this;\n this.ws = ws;\n this._queue = [];\n this._activeOffset = 0;\n this._activeReceiveCount = 0;\n this.ws.setOnMessageHandler(function (data) {\n _this.onReceive(data);\n });\n this.ws.setOnErrorHandler(function (err) {\n _this.onError(err);\n });\n this.ws.setOnCloseHandler(function () {\n _this.onClose();\n });\n }\n /**\n * Sends the given buffer out over the socket's connection.\n *\n * @param buffer The buffered data to send out over the connection.\n * @returns A number indicating the length of the sent data if the data was successfully sent, otherwise 0.\n */\n WebSocketTransport.prototype.send = function (buffer) {\n var _a;\n if ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.ws.write(buffer);\n return buffer.length;\n }\n return 0;\n };\n Object.defineProperty(WebSocketTransport.prototype, \"isConnected\", {\n /**\n * Returns true if the transport is connected to a socket.\n *\n * @returns `true` if the the transport is connected and ready to send data, `false` otherwise.\n */\n get: function () {\n var _a;\n return !!((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected);\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Close the socket this transport is connected to.\n */\n WebSocketTransport.prototype.close = function () {\n var _a;\n if ((_a = this.ws) === null || _a === void 0 ? void 0 : _a.isConnected) {\n this.ws.close();\n }\n };\n /**\n * Attempt to receive incoming data from the connected socket.\n *\n * @param count The number of bytes to attempt to receive.\n * @returns A buffer populated with the received data.\n */\n WebSocketTransport.prototype.receive = function (count) {\n return __awaiter(this, void 0, void 0, function () {\n var promise;\n var _this = this;\n return __generator(this, function (_a) {\n if (this._activeReceiveResolve) {\n throw new Error('Cannot call receive more than once before it has returned.');\n }\n this._activeReceiveCount = count;\n promise = new Promise(function (resolve, reject) {\n _this._activeReceiveResolve = resolve;\n _this._activeReceiveReject = reject;\n });\n this.trySignalData();\n return [2 /*return*/, promise];\n });\n });\n };\n /**\n * Sets the transport to attempt to receive incoming data that has not yet arrived.\n *\n * @param data A buffer to store incoming data in.\n */\n WebSocketTransport.prototype.onReceive = function (data) {\n if (this._queue && data && data.byteLength > 0) {\n this._queue.push(Buffer.from(data));\n this.trySignalData();\n }\n };\n WebSocketTransport.prototype.onClose = function () {\n if (this._activeReceiveReject) {\n this._activeReceiveReject(new Error('Socket was closed.'));\n }\n this._active = null;\n this._activeOffset = 0;\n this._activeReceiveResolve = null;\n this._activeReceiveReject = null;\n this._activeReceiveCount = 0;\n this.ws = null;\n };\n WebSocketTransport.prototype.onError = function (err) {\n if (this._activeReceiveReject) {\n this._activeReceiveReject(err);\n }\n this.onClose();\n };\n WebSocketTransport.prototype.trySignalData = function () {\n if (this._activeReceiveResolve) {\n if (!this._active && this._queue.length > 0) {\n this._active = this._queue.shift();\n this._activeOffset = 0;\n }\n if (this._active) {\n if (this._activeOffset === 0 && this._active.length === this._activeReceiveCount) {\n // can send the entire _active buffer\n var buffer = this._active;\n this._active = null;\n this._activeReceiveResolve(buffer);\n }\n else {\n // create a Buffer.from and copy some of the contents into it\n var available = Math.min(this._activeReceiveCount, this._active.length - this._activeOffset);\n var buffer = Buffer.alloc(available);\n this._active.copy(buffer, 0, this._activeOffset, this._activeOffset + available);\n this._activeOffset += available;\n // if we used all of active, set it to undefined\n if (this._activeOffset >= this._active.length) {\n this._active = null;\n this._activeOffset = 0;\n }\n this._activeReceiveResolve(buffer);\n }\n this._activeReceiveCount = 0;\n this._activeReceiveReject = null;\n this._activeReceiveResolve = null;\n }\n }\n };\n return WebSocketTransport;\n}());\nexports.WebSocketTransport = WebSocketTransport;\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"buffer\":35}],33:[function(require,module,exports){\n'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n\n},{}],34:[function(require,module,exports){\n\n},{}],35:[function(require,module,exports){\n(function (Buffer){(function (){\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = { __proto__: Uint8Array.prototype, foo: function () { return 42 } }\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\n// Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\nif (typeof Symbol !== 'undefined' && Symbol.species != null &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n })\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayLike(value)\n }\n\n if (value == null) {\n throw TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nBuffer.prototype.__proto__ = Uint8Array.prototype\nBuffer.__proto__ = Uint8Array\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n buf.__proto__ = Buffer.prototype\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n buf = Buffer.from(buf)\n }\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (var i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n}).call(this)}).call(this,require(\"buffer\").Buffer)\n\n},{\"base64-js\":33,\"buffer\":35,\"ieee754\":37}],36:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function eventListener() {\n if (errorListener !== undefined) {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n var errorListener;\n\n // Adding an error listener is not optional because\n // if an error is thrown on an event emitter we cannot\n // guarantee that the actual event we are waiting will\n // be fired. The result could be a silent way to create\n // memory or file descriptor leaks, which is something\n // we should avoid.\n if (name !== 'error') {\n errorListener = function errorListener(err) {\n emitter.removeListener(name, eventListener);\n reject(err);\n };\n\n emitter.once('error', errorListener);\n }\n\n emitter.once(name, eventListener);\n });\n}\n\n},{}],37:[function(require,module,exports){\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n\n},{}],38:[function(require,module,exports){\nif (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n\n},{}],39:[function(require,module,exports){\n// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],40:[function(require,module,exports){\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n\n},{\"buffer\":35}],41:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n},{\"events\":36,\"inherits\":38,\"readable-stream/lib/_stream_duplex.js\":43,\"readable-stream/lib/_stream_passthrough.js\":44,\"readable-stream/lib/_stream_readable.js\":45,\"readable-stream/lib/_stream_transform.js\":46,\"readable-stream/lib/_stream_writable.js\":47,\"readable-stream/lib/internal/streams/end-of-stream.js\":51,\"readable-stream/lib/internal/streams/pipeline.js\":53}],42:[function(require,module,exports){\n'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n\n},{}],43:[function(require,module,exports){\n(function (process){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n'use strict';\n/**/\n\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n\n for (var key in obj) {\n keys.push(key);\n }\n\n return keys;\n};\n/**/\n\n\nmodule.exports = Duplex;\n\nvar Readable = require('./_stream_readable');\n\nvar Writable = require('./_stream_writable');\n\nrequire('inherits')(Duplex, Readable);\n\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\n\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\n\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n}); // the no-half-open enforcer\n\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return; // no more data can be written.\n // But allow more writes to happen in this tick.\n\n process.nextTick(onEndNT, this);\n}\n\nfunction onEndNT(self) {\n self.end();\n}\n\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n}).call(this)}).call(this,require('_process'))\n\n},{\"./_stream_readable\":45,\"./_stream_writable\":47,\"_process\":39,\"inherits\":38}],44:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n'use strict';\n\nmodule.exports = PassThrough;\n\nvar Transform = require('./_stream_transform');\n\nrequire('inherits')(PassThrough, Transform);\n\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\n\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};\n},{\"./_stream_transform\":46,\"inherits\":38}],45:[function(require,module,exports){\n(function (process,global){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nmodule.exports = Readable;\n/**/\n\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n/**/\n\nvar EE = require('events').EventEmitter;\n\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\n\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n/**/\n\n\nvar debugUtil = require('util');\n\nvar debug;\n\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\n\nvar BufferList = require('./internal/streams/buffer_list');\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT; // Lazy loaded to improve the startup performance.\n\n\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\n\nrequire('inherits')(Readable, Stream);\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\n\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn); // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\n\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode; // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex); // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false; // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n\n this.sync = true; // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'end' (and potentially 'finish')\n\n this.autoDestroy = !!options.autoDestroy; // has it been destroyed\n\n this.destroyed = false; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // the number of writers that are awaiting a drain event in .pipe()s\n\n this.awaitDrain = 0; // if true, a maybeReadMore has been scheduled\n\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options); // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex); // legacy\n\n this.readable = true;\n\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n\n Stream.call(this);\n}\n\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\n\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n}; // Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n\n\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n}; // Unshift should *always* be something directly out of read()\n\n\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\n\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n } // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n\n\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\n\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n\n maybeReadMore(stream, state);\n}\n\nfunction chunkInvalid(state, chunk) {\n var er;\n\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n\n return er;\n}\n\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n}; // backwards compatibility.\n\n\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder; // If setEncoding(null), decoder.encoding equals utf8\n\n this._readableState.encoding = this._readableState.decoder.encoding; // Iterate over current buffer to convert already stored Buffers:\n\n var p = this._readableState.buffer.head;\n var content = '';\n\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n\n this._readableState.buffer.clear();\n\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n}; // Don't raise the hwm > 1GB\n\n\nvar MAX_HWM = 0x40000000;\n\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n\n return n;\n} // This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\n\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n } // If we're asking for more than the current hwm, then raise the hwm.\n\n\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n; // Don't have enough\n\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n\n return state.length;\n} // you can override either this method, or the async _read(n) below.\n\n\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false; // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n\n n = howMuchToRead(n, state); // if we've ended, and we're now clear, then finish it up.\n\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n } // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n\n\n var doRead = state.needReadable;\n debug('need readable', doRead); // if we currently have less than the highWaterMark, then also read some\n\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n } // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n\n\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true; // if the length is currently zero, then we *need* a readable event.\n\n if (state.length === 0) state.needReadable = true; // call internal read method\n\n this._read(state.highWaterMark);\n\n state.sync = false; // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true; // If we tried to read() past the EOF, then emit end on the next tick.\n\n if (nOrig !== n && state.ended) endReadable(this);\n }\n\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\n\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n\n if (state.decoder) {\n var chunk = state.decoder.end();\n\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n\n state.ended = true;\n\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n} // Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\n\n\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\n\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n } // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n\n\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n} // at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\n\n\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\n\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length) // didn't get any data, stop spinning.\n break;\n }\n\n state.readingMore = false;\n} // abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n\n\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\n\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n\n default:\n state.pipes.push(dest);\n break;\n }\n\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n\n function onend() {\n debug('onend');\n dest.end();\n } // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n\n\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n\n function cleanup() {\n debug('cleanup'); // cleanup event handlers once the pipe is broken\n\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true; // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n\n src.on('data', ondata);\n\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n\n src.pause();\n }\n } // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n\n\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n } // Make sure our error handler is attached before userland ones.\n\n\n prependListener(dest, 'error', onerror); // Both close and finish should trigger unpipe, but only once.\n\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n\n dest.once('close', onclose);\n\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n\n dest.once('finish', onfinish);\n\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n } // tell the dest that it's being piped to\n\n\n dest.emit('pipe', src); // start the flow if it hasn't been started already.\n\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n\n return dest;\n};\n\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\n\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n }; // if we're not piping anywhere, then do nothing.\n\n if (state.pipesCount === 0) return this; // just one destination. most common case.\n\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes; // got a match.\n\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n } // slow case. multiple pipe destinations.\n\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n\n for (var i = 0; i < len; i++) {\n dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n }\n\n return this;\n } // try to find the right one.\n\n\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n}; // set up data events if they are asked for\n// Ensure readable listeners eventually get something\n\n\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0; // Try start flowing on next tick if stream isn't explicitly paused\n\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n\n return res;\n};\n\nReadable.prototype.addListener = Readable.prototype.on;\n\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n\n return res;\n};\n\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true; // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\n\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n} // pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n\n\nReadable.prototype.resume = function () {\n var state = this._readableState;\n\n if (!state.flowing) {\n debug('resume'); // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n\n state.paused = false;\n return this;\n};\n\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\n\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n\n if (!state.reading) {\n stream.read(0);\n }\n\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n\n this._readableState.paused = true;\n return this;\n};\n\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n\n while (state.flowing && stream.read() !== null) {\n ;\n }\n} // wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n\n\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk); // don't skip over falsy values in objectMode\n\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n\n var ret = _this.push(chunk);\n\n if (!ret) {\n paused = true;\n stream.pause();\n }\n }); // proxy all the other methods.\n // important when wrapping filters and duplexes.\n\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n } // proxy certain important events.\n\n\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n } // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n\n\n this._read = function (n) {\n debug('wrapped _read', n);\n\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n\n return this;\n};\n\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n\n return createReadableStreamAsyncIterator(this);\n };\n}\n\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n}); // exposed for testing purposes only.\n\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n}); // Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\n\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\n\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\n\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length); // Check that we didn't get one last unshift.\n\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\n\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n\n return from(Readable, iterable, opts);\n };\n}\n\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n\n return -1;\n}\n}).call(this)}).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../errors\":42,\"./_stream_duplex\":43,\"./internal/streams/async_iterator\":48,\"./internal/streams/buffer_list\":49,\"./internal/streams/destroy\":50,\"./internal/streams/from\":52,\"./internal/streams/state\":54,\"./internal/streams/stream\":55,\"_process\":39,\"buffer\":35,\"events\":36,\"inherits\":38,\"string_decoder/\":56,\"util\":34}],46:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n'use strict';\n\nmodule.exports = Transform;\n\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar Duplex = require('./_stream_duplex');\n\nrequire('inherits')(Transform, Duplex);\n\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\n\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n }; // start out asking for a readable event once data is transformed.\n\n this._readableState.needReadable = true; // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n\n this._readableState.sync = false;\n\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n } // When the writable side finishes, then flush out anything remaining.\n\n\n this.on('prefinish', prefinish);\n}\n\nfunction prefinish() {\n var _this = this;\n\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\n\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n}; // This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n\n\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\n\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n}; // Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n\n\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\n\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\n\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data); // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n},{\"../errors\":42,\"./_stream_duplex\":43,\"inherits\":38}],47:[function(require,module,exports){\n(function (process,global){(function (){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n'use strict';\n\nmodule.exports = Writable;\n/* */\n\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n} // It seems a linked list but it is not\n// there will be only 2 of these for each stream\n\n\nfunction CorkedRequest(state) {\n var _this = this;\n\n this.next = null;\n this.entry = null;\n\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\n\n\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n/**/\n\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\n\nvar Stream = require('./internal/streams/stream');\n/**/\n\n\nvar Buffer = require('buffer').Buffer;\n\nvar OurUint8Array = global.Uint8Array || function () {};\n\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\n\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\nvar destroyImpl = require('./internal/streams/destroy');\n\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\n\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\n\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\n\nrequire('inherits')(Writable, Stream);\n\nfunction nop() {}\n\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {}; // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex; // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode; // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex); // if _final has been called\n\n this.finalCalled = false; // drain event flag.\n\n this.needDrain = false; // at the start of calling end()\n\n this.ending = false; // when end() has been called, and returned\n\n this.ended = false; // when 'finish' is emitted\n\n this.finished = false; // has it been destroyed\n\n this.destroyed = false; // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode; // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n\n this.defaultEncoding = options.defaultEncoding || 'utf8'; // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n\n this.length = 0; // a flag to see when we're in the middle of a write.\n\n this.writing = false; // when true all writes will be buffered until .uncork() call\n\n this.corked = 0; // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n\n this.sync = true; // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n\n this.bufferProcessing = false; // the callback that's passed to _write(chunk,cb)\n\n this.onwrite = function (er) {\n onwrite(stream, er);\n }; // the callback that the user supplies to write(chunk,encoding,cb)\n\n\n this.writecb = null; // the amount that is being written when _write is called.\n\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null; // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n\n this.pendingcb = 0; // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n\n this.prefinished = false; // True if the error was already emitted and should not be thrown again\n\n this.errorEmitted = false; // Should close be emitted on destroy. Defaults to true.\n\n this.emitClose = options.emitClose !== false; // Should .destroy() be called after 'finish' (and potentially 'end')\n\n this.autoDestroy = !!options.autoDestroy; // count buffered requests\n\n this.bufferedRequestCount = 0; // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n\n this.corkedRequestsFree = new CorkedRequest(this);\n}\n\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n\n while (current) {\n out.push(current);\n current = current.next;\n }\n\n return out;\n};\n\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})(); // Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\n\n\nvar realHasInstance;\n\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\n\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex'); // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex); // legacy.\n\n this.writable = true;\n\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n\n Stream.call(this);\n} // Otherwise people can pipe Writable streams, which is just wrong.\n\n\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\n\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END(); // TODO: defer error events consistently everywhere, not just the cb\n\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n} // Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\n\n\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n\n return true;\n}\n\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\n\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\n\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\n\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n\n return chunk;\n}\n\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n}); // if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\n\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark; // we must ensure that previous needDrain will not be reset to false.\n\n if (!ret) state.needDrain = true;\n\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n\n return ret;\n}\n\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\n\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er); // this can emit finish, and it will always happen\n // after error\n\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er); // this can emit finish, but finish must\n // always follow error\n\n finishMaybe(stream, state);\n }\n}\n\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\n\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\n\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n} // Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\n\n\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n} // if there's something in the buffer waiting, then process it\n\n\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish); // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n\n state.pendingcb++;\n state.lastBufferedRequest = null;\n\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--; // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n\n if (state.writing) {\n break;\n }\n }\n\n if (entry === null) state.lastBufferedRequest = null;\n }\n\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\n\nWritable.prototype._writev = null;\n\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding); // .end() fully uncorks\n\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n } // ignore unnecessary end() calls.\n\n\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\n\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\n\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n\n if (err) {\n errorOrDestroy(stream, err);\n }\n\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\n\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\n\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n\n if (need) {\n prefinish(stream, state);\n\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n\n return need;\n}\n\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n\n state.ended = true;\n stream.writable = false;\n}\n\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n } // reuse the free corkReq.\n\n\n state.corkedRequestsFree.next = corkReq;\n}\n\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n } // backward compatibility, the user is explicitly\n // managing destroyed\n\n\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\n\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n}).call(this)}).call(this,require('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{\"../errors\":42,\"./_stream_duplex\":43,\"./internal/streams/destroy\":50,\"./internal/streams/state\":54,\"./internal/streams/stream\":55,\"_process\":39,\"buffer\":35,\"inherits\":38,\"util-deprecate\":57}],48:[function(require,module,exports){\n(function (process){(function (){\n'use strict';\n\nvar _Object$setPrototypeO;\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar finished = require('./end-of-stream');\n\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\n\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\n\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n\n if (resolve !== null) {\n var data = iter[kStream].read(); // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\n\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\n\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\n\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n\n next: function next() {\n var _this = this;\n\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n\n if (error !== null) {\n return Promise.reject(error);\n }\n\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n } // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n\n\n var lastPromise = this[kLastPromise];\n var promise;\n\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n\n promise = new Promise(this[kHandlePromise]);\n }\n\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\n\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject]; // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n\n iterator[kError] = err;\n return;\n }\n\n var resolve = iterator[kLastResolve];\n\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\n\nmodule.exports = createReadableStreamAsyncIterator;\n}).call(this)}).call(this,require('_process'))\n\n},{\"./end-of-stream\":51,\"_process\":39}],49:[function(require,module,exports){\n'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\n\nvar _require2 = require('util'),\n inspect = _require2.inspect;\n\nvar custom = inspect && inspect.custom || 'inspect';\n\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\n\nmodule.exports =\n/*#__PURE__*/\nfunction () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n\n while (p = p.next) {\n ret += s + p.data;\n }\n\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n\n return ret;\n } // Consumes a specified amount of bytes or characters from the buffered data.\n\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n } // Consumes a specified amount of characters from the buffered data.\n\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Consumes a specified amount of bytes from the buffered data.\n\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n\n break;\n }\n\n ++c;\n }\n\n this.length -= c;\n return ret;\n } // Make sure the linked list only shows the minimal necessary information.\n\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread({}, options, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n\n return BufferList;\n}();\n},{\"buffer\":35,\"util\":34}],50:[function(require,module,exports){\n(function (process){(function (){\n'use strict'; // undocumented cb() API, needed for core, not for public API\n\nfunction destroy(err, cb) {\n var _this = this;\n\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n\n return this;\n } // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n } // if this is a duplex stream mark the writable part as destroyed as well\n\n\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n\n return this;\n}\n\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\n\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\n\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\n\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\n\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\n\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};\n}).call(this)}).call(this,require('_process'))\n\n},{\"_process\":39}],51:[function(require,module,exports){\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n callback.apply(this, args);\n };\n}\n\nfunction noop() {}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n\n var writableEnded = stream._writableState && stream._writableState.finished;\n\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n\n var onclose = function onclose() {\n var err;\n\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\n\nmodule.exports = eos;\n},{\"../../../errors\":42}],52:[function(require,module,exports){\nmodule.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n\n},{}],53:[function(require,module,exports){\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n'use strict';\n\nvar eos;\n\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\n\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\n\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\n\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true; // request.destroy just do .end - .abort is what we want\n\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\n\nfunction call(fn) {\n fn();\n}\n\nfunction pipe(from, to) {\n return from.pipe(to);\n}\n\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\n\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\n\nmodule.exports = pipeline;\n},{\"../../../errors\":42,\"./end-of-stream\":51}],54:[function(require,module,exports){\n'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\n\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\n\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n\n return Math.floor(hwm);\n } // Default value\n\n\n return state.objectMode ? 16 : 16 * 1024;\n}\n\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};\n},{\"../../../errors\":42}],55:[function(require,module,exports){\nmodule.exports = require('events').EventEmitter;\n\n},{\"events\":36}],56:[function(require,module,exports){\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}\n},{\"safe-buffer\":40}],57:[function(require,module,exports){\n(function (global){(function (){\n\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n\n}).call(this)}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n\n},{}],58:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"v1\", {\n enumerable: true,\n get: function () {\n return _v.default;\n }\n});\nObject.defineProperty(exports, \"v3\", {\n enumerable: true,\n get: function () {\n return _v2.default;\n }\n});\nObject.defineProperty(exports, \"v4\", {\n enumerable: true,\n get: function () {\n return _v3.default;\n }\n});\nObject.defineProperty(exports, \"v5\", {\n enumerable: true,\n get: function () {\n return _v4.default;\n }\n});\nObject.defineProperty(exports, \"NIL\", {\n enumerable: true,\n get: function () {\n return _nil.default;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _version.default;\n }\n});\nObject.defineProperty(exports, \"validate\", {\n enumerable: true,\n get: function () {\n return _validate.default;\n }\n});\nObject.defineProperty(exports, \"stringify\", {\n enumerable: true,\n get: function () {\n return _stringify.default;\n }\n});\nObject.defineProperty(exports, \"parse\", {\n enumerable: true,\n get: function () {\n return _parse.default;\n }\n});\n\nvar _v = _interopRequireDefault(require(\"./v1.js\"));\n\nvar _v2 = _interopRequireDefault(require(\"./v3.js\"));\n\nvar _v3 = _interopRequireDefault(require(\"./v4.js\"));\n\nvar _v4 = _interopRequireDefault(require(\"./v5.js\"));\n\nvar _nil = _interopRequireDefault(require(\"./nil.js\"));\n\nvar _version = _interopRequireDefault(require(\"./version.js\"));\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n},{\"./nil.js\":60,\"./parse.js\":61,\"./stringify.js\":65,\"./v1.js\":66,\"./v3.js\":67,\"./v4.js\":69,\"./v5.js\":70,\"./validate.js\":71,\"./version.js\":72}],59:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n/*\n * Browser-compatible JavaScript MD5\n *\n * Modification of JavaScript MD5\n * https://github.com/blueimp/JavaScript-MD5\n *\n * Copyright 2011, Sebastian Tschan\n * https://blueimp.net\n *\n * Licensed under the MIT license:\n * https://opensource.org/licenses/MIT\n *\n * Based on\n * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message\n * Digest Algorithm, as defined in RFC 1321.\n * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for more info.\n */\nfunction md5(bytes) {\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = new Uint8Array(msg.length);\n\n for (let i = 0; i < msg.length; ++i) {\n bytes[i] = msg.charCodeAt(i);\n }\n }\n\n return md5ToHexEncodedArray(wordsToMd5(bytesToWords(bytes), bytes.length * 8));\n}\n/*\n * Convert an array of little-endian words to an array of bytes\n */\n\n\nfunction md5ToHexEncodedArray(input) {\n const output = [];\n const length32 = input.length * 32;\n const hexTab = '0123456789abcdef';\n\n for (let i = 0; i < length32; i += 8) {\n const x = input[i >> 5] >>> i % 32 & 0xff;\n const hex = parseInt(hexTab.charAt(x >>> 4 & 0x0f) + hexTab.charAt(x & 0x0f), 16);\n output.push(hex);\n }\n\n return output;\n}\n/**\n * Calculate output length with padding and bit length\n */\n\n\nfunction getOutputLength(inputLength8) {\n return (inputLength8 + 64 >>> 9 << 4) + 14 + 1;\n}\n/*\n * Calculate the MD5 of an array of little-endian words, and a bit length.\n */\n\n\nfunction wordsToMd5(x, len) {\n /* append padding */\n x[len >> 5] |= 0x80 << len % 32;\n x[getOutputLength(len) - 1] = len;\n let a = 1732584193;\n let b = -271733879;\n let c = -1732584194;\n let d = 271733878;\n\n for (let i = 0; i < x.length; i += 16) {\n const olda = a;\n const oldb = b;\n const oldc = c;\n const oldd = d;\n a = md5ff(a, b, c, d, x[i], 7, -680876936);\n d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);\n c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);\n b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);\n a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);\n d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);\n c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);\n b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);\n a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);\n d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);\n c = md5ff(c, d, a, b, x[i + 10], 17, -42063);\n b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);\n a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);\n d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);\n c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);\n b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);\n a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);\n d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);\n c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);\n b = md5gg(b, c, d, a, x[i], 20, -373897302);\n a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);\n d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);\n c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);\n b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);\n a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);\n d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);\n c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);\n b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);\n a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);\n d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);\n c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);\n b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);\n a = md5hh(a, b, c, d, x[i + 5], 4, -378558);\n d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);\n c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);\n b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);\n a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);\n d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);\n c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);\n b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);\n a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);\n d = md5hh(d, a, b, c, x[i], 11, -358537222);\n c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);\n b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);\n a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);\n d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);\n c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);\n b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);\n a = md5ii(a, b, c, d, x[i], 6, -198630844);\n d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);\n c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);\n b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);\n a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);\n d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);\n c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);\n b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);\n a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);\n d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);\n c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);\n b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);\n a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);\n d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);\n c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);\n b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);\n a = safeAdd(a, olda);\n b = safeAdd(b, oldb);\n c = safeAdd(c, oldc);\n d = safeAdd(d, oldd);\n }\n\n return [a, b, c, d];\n}\n/*\n * Convert an array bytes to an array of little-endian words\n * Characters >255 have their high-byte silently ignored.\n */\n\n\nfunction bytesToWords(input) {\n if (input.length === 0) {\n return [];\n }\n\n const length8 = input.length * 8;\n const output = new Uint32Array(getOutputLength(length8));\n\n for (let i = 0; i < length8; i += 8) {\n output[i >> 5] |= (input[i / 8] & 0xff) << i % 32;\n }\n\n return output;\n}\n/*\n * Add integers, wrapping at 2^32. This uses 16-bit operations internally\n * to work around bugs in some JS interpreters.\n */\n\n\nfunction safeAdd(x, y) {\n const lsw = (x & 0xffff) + (y & 0xffff);\n const msw = (x >> 16) + (y >> 16) + (lsw >> 16);\n return msw << 16 | lsw & 0xffff;\n}\n/*\n * Bitwise rotate a 32-bit number to the left.\n */\n\n\nfunction bitRotateLeft(num, cnt) {\n return num << cnt | num >>> 32 - cnt;\n}\n/*\n * These functions implement the four basic operations the algorithm uses.\n */\n\n\nfunction md5cmn(q, a, b, x, s, t) {\n return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);\n}\n\nfunction md5ff(a, b, c, d, x, s, t) {\n return md5cmn(b & c | ~b & d, a, b, x, s, t);\n}\n\nfunction md5gg(a, b, c, d, x, s, t) {\n return md5cmn(b & d | c & ~d, a, b, x, s, t);\n}\n\nfunction md5hh(a, b, c, d, x, s, t) {\n return md5cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction md5ii(a, b, c, d, x, s, t) {\n return md5cmn(c ^ (b | ~d), a, b, x, s, t);\n}\n\nvar _default = md5;\nexports.default = _default;\n},{}],60:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = '00000000-0000-0000-0000-000000000000';\nexports.default = _default;\n},{}],61:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction parse(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n let v;\n const arr = new Uint8Array(16); // Parse ########-....-....-....-............\n\n arr[0] = (v = parseInt(uuid.slice(0, 8), 16)) >>> 24;\n arr[1] = v >>> 16 & 0xff;\n arr[2] = v >>> 8 & 0xff;\n arr[3] = v & 0xff; // Parse ........-####-....-....-............\n\n arr[4] = (v = parseInt(uuid.slice(9, 13), 16)) >>> 8;\n arr[5] = v & 0xff; // Parse ........-....-####-....-............\n\n arr[6] = (v = parseInt(uuid.slice(14, 18), 16)) >>> 8;\n arr[7] = v & 0xff; // Parse ........-....-....-####-............\n\n arr[8] = (v = parseInt(uuid.slice(19, 23), 16)) >>> 8;\n arr[9] = v & 0xff; // Parse ........-....-....-....-############\n // (Use \"/\" to avoid 32-bit truncation when bit-shifting high-order bytes)\n\n arr[10] = (v = parseInt(uuid.slice(24, 36), 16)) / 0x10000000000 & 0xff;\n arr[11] = v / 0x100000000 & 0xff;\n arr[12] = v >>> 24 & 0xff;\n arr[13] = v >>> 16 & 0xff;\n arr[14] = v >>> 8 & 0xff;\n arr[15] = v & 0xff;\n return arr;\n}\n\nvar _default = parse;\nexports.default = _default;\n},{\"./validate.js\":71}],62:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _default = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;\nexports.default = _default;\n},{}],63:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = rng;\n// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nlet getRandomValues;\nconst rnds8 = new Uint8Array(16);\n\nfunction rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}\n},{}],64:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\n// Adapted from Chris Veness' SHA1 code at\n// http://www.movable-type.co.uk/scripts/sha1.html\nfunction f(s, x, y, z) {\n switch (s) {\n case 0:\n return x & y ^ ~x & z;\n\n case 1:\n return x ^ y ^ z;\n\n case 2:\n return x & y ^ x & z ^ y & z;\n\n case 3:\n return x ^ y ^ z;\n }\n}\n\nfunction ROTL(x, n) {\n return x << n | x >>> 32 - n;\n}\n\nfunction sha1(bytes) {\n const K = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];\n const H = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];\n\n if (typeof bytes === 'string') {\n const msg = unescape(encodeURIComponent(bytes)); // UTF8 escape\n\n bytes = [];\n\n for (let i = 0; i < msg.length; ++i) {\n bytes.push(msg.charCodeAt(i));\n }\n } else if (!Array.isArray(bytes)) {\n // Convert Array-like to Array\n bytes = Array.prototype.slice.call(bytes);\n }\n\n bytes.push(0x80);\n const l = bytes.length / 4 + 2;\n const N = Math.ceil(l / 16);\n const M = new Array(N);\n\n for (let i = 0; i < N; ++i) {\n const arr = new Uint32Array(16);\n\n for (let j = 0; j < 16; ++j) {\n arr[j] = bytes[i * 64 + j * 4] << 24 | bytes[i * 64 + j * 4 + 1] << 16 | bytes[i * 64 + j * 4 + 2] << 8 | bytes[i * 64 + j * 4 + 3];\n }\n\n M[i] = arr;\n }\n\n M[N - 1][14] = (bytes.length - 1) * 8 / Math.pow(2, 32);\n M[N - 1][14] = Math.floor(M[N - 1][14]);\n M[N - 1][15] = (bytes.length - 1) * 8 & 0xffffffff;\n\n for (let i = 0; i < N; ++i) {\n const W = new Uint32Array(80);\n\n for (let t = 0; t < 16; ++t) {\n W[t] = M[i][t];\n }\n\n for (let t = 16; t < 80; ++t) {\n W[t] = ROTL(W[t - 3] ^ W[t - 8] ^ W[t - 14] ^ W[t - 16], 1);\n }\n\n let a = H[0];\n let b = H[1];\n let c = H[2];\n let d = H[3];\n let e = H[4];\n\n for (let t = 0; t < 80; ++t) {\n const s = Math.floor(t / 20);\n const T = ROTL(a, 5) + f(s, b, c, d) + e + K[s] + W[t] >>> 0;\n e = d;\n d = c;\n c = ROTL(b, 30) >>> 0;\n b = a;\n a = T;\n }\n\n H[0] = H[0] + a >>> 0;\n H[1] = H[1] + b >>> 0;\n H[2] = H[2] + c >>> 0;\n H[3] = H[3] + d >>> 0;\n H[4] = H[4] + e >>> 0;\n }\n\n return [H[0] >> 24 & 0xff, H[0] >> 16 & 0xff, H[0] >> 8 & 0xff, H[0] & 0xff, H[1] >> 24 & 0xff, H[1] >> 16 & 0xff, H[1] >> 8 & 0xff, H[1] & 0xff, H[2] >> 24 & 0xff, H[2] >> 16 & 0xff, H[2] >> 8 & 0xff, H[2] & 0xff, H[3] >> 24 & 0xff, H[3] >> 16 & 0xff, H[3] >> 8 & 0xff, H[3] & 0xff, H[4] >> 24 & 0xff, H[4] >> 16 & 0xff, H[4] >> 8 & 0xff, H[4] & 0xff];\n}\n\nvar _default = sha1;\nexports.default = _default;\n},{}],65:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nconst byteToHex = [];\n\nfor (let i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr, offset = 0) {\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n const uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nvar _default = stringify;\nexports.default = _default;\n},{\"./validate.js\":71}],66:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\nlet _nodeId;\n\nlet _clockseq; // Previous uuid creation time\n\n\nlet _lastMSecs = 0;\nlet _lastNSecs = 0; // See https://github.com/uuidjs/uuid for API details\n\nfunction v1(options, buf, offset) {\n let i = buf && offset || 0;\n const b = buf || new Array(16);\n options = options || {};\n let node = options.node || _nodeId;\n let clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq; // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n\n if (node == null || clockseq == null) {\n const seedBytes = options.random || (options.rng || _rng.default)();\n\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];\n }\n\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n } // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n\n\n let msecs = options.msecs !== undefined ? options.msecs : Date.now(); // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n\n let nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1; // Time since last uuid creation (in msecs)\n\n const dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 10000; // Per 4.2.1.2, Bump clockseq on clock regression\n\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n } // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n\n\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n } // Per 4.2.1.2 Throw error if too many uuids are requested\n\n\n if (nsecs >= 10000) {\n throw new Error(\"uuid.v1(): Can't create more than 10M uuids/sec\");\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq; // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n\n msecs += 12219292800000; // `time_low`\n\n const tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff; // `time_mid`\n\n const tmh = msecs / 0x100000000 * 10000 & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff; // `time_high_and_version`\n\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n\n b[i++] = tmh >>> 16 & 0xff; // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n\n b[i++] = clockseq >>> 8 | 0x80; // `clock_seq_low`\n\n b[i++] = clockseq & 0xff; // `node`\n\n for (let n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf || (0, _stringify.default)(b);\n}\n\nvar _default = v1;\nexports.default = _default;\n},{\"./rng.js\":63,\"./stringify.js\":65}],67:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _md = _interopRequireDefault(require(\"./md5.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v3 = (0, _v.default)('v3', 0x30, _md.default);\nvar _default = v3;\nexports.default = _default;\n},{\"./md5.js\":59,\"./v35.js\":68}],68:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = _default;\nexports.URL = exports.DNS = void 0;\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nvar _parse = _interopRequireDefault(require(\"./parse.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction stringToBytes(str) {\n str = unescape(encodeURIComponent(str)); // UTF8 escape\n\n const bytes = [];\n\n for (let i = 0; i < str.length; ++i) {\n bytes.push(str.charCodeAt(i));\n }\n\n return bytes;\n}\n\nconst DNS = '6ba7b810-9dad-11d1-80b4-00c04fd430c8';\nexports.DNS = DNS;\nconst URL = '6ba7b811-9dad-11d1-80b4-00c04fd430c8';\nexports.URL = URL;\n\nfunction _default(name, version, hashfunc) {\n function generateUUID(value, namespace, buf, offset) {\n if (typeof value === 'string') {\n value = stringToBytes(value);\n }\n\n if (typeof namespace === 'string') {\n namespace = (0, _parse.default)(namespace);\n }\n\n if (namespace.length !== 16) {\n throw TypeError('Namespace must be array-like (16 iterable integer values, 0-255)');\n } // Compute hash of namespace and value, Per 4.3\n // Future: Use spread syntax when supported on all platforms, e.g. `bytes =\n // hashfunc([...namespace, ... value])`\n\n\n let bytes = new Uint8Array(16 + value.length);\n bytes.set(namespace);\n bytes.set(value, namespace.length);\n bytes = hashfunc(bytes);\n bytes[6] = bytes[6] & 0x0f | version;\n bytes[8] = bytes[8] & 0x3f | 0x80;\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = bytes[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(bytes);\n } // Function#name is not settable on some platforms (#270)\n\n\n try {\n generateUUID.name = name; // eslint-disable-next-line no-empty\n } catch (err) {} // For CommonJS default export support\n\n\n generateUUID.DNS = DNS;\n generateUUID.URL = URL;\n return generateUUID;\n}\n},{\"./parse.js\":61,\"./stringify.js\":65}],69:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _rng = _interopRequireDefault(require(\"./rng.js\"));\n\nvar _stringify = _interopRequireDefault(require(\"./stringify.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction v4(options, buf, offset) {\n options = options || {};\n\n const rnds = options.random || (options.rng || _rng.default)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (let i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return (0, _stringify.default)(rnds);\n}\n\nvar _default = v4;\nexports.default = _default;\n},{\"./rng.js\":63,\"./stringify.js\":65}],70:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _v = _interopRequireDefault(require(\"./v35.js\"));\n\nvar _sha = _interopRequireDefault(require(\"./sha1.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nconst v5 = (0, _v.default)('v5', 0x50, _sha.default);\nvar _default = v5;\nexports.default = _default;\n},{\"./sha1.js\":64,\"./v35.js\":68}],71:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _regex = _interopRequireDefault(require(\"./regex.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && _regex.default.test(uuid);\n}\n\nvar _default = validate;\nexports.default = _default;\n},{\"./regex.js\":62}],72:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _validate = _interopRequireDefault(require(\"./validate.js\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction version(uuid) {\n if (!(0, _validate.default)(uuid)) {\n throw TypeError('Invalid UUID');\n }\n\n return parseInt(uuid.substr(14, 1), 16);\n}\n\nvar _default = version;\nexports.default = _default;\n},{\"./validate.js\":71}]},{},[9])(9)\n});\n//# sourceMappingURL=index-browser.js.map\n","/*!\n * typeahead.js 1.3.1\n * https://github.com/corejavascript/typeahead.js\n * Copyright 2013-2020 Twitter, Inc. and other contributors; Licensed MIT\n */\n\n\n(function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], function(a0) {\n return root[\"Bloodhound\"] = factory(a0);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(require(\"jquery\"));\n } else {\n root[\"Bloodhound\"] = factory(root[\"jQuery\"]);\n }\n})(this, function($) {\n var _ = function() {\n \"use strict\";\n return {\n isMsie: function() {\n return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n },\n isBlankString: function(str) {\n return !str || /^\\s*$/.test(str);\n },\n escapeRegExChars: function(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n },\n isString: function(obj) {\n return typeof obj === \"string\";\n },\n isNumber: function(obj) {\n return typeof obj === \"number\";\n },\n isArray: $.isArray,\n isFunction: $.isFunction,\n isObject: $.isPlainObject,\n isUndefined: function(obj) {\n return typeof obj === \"undefined\";\n },\n isElement: function(obj) {\n return !!(obj && obj.nodeType === 1);\n },\n isJQuery: function(obj) {\n return obj instanceof $;\n },\n toStr: function toStr(s) {\n return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n },\n bind: $.proxy,\n each: function(collection, cb) {\n $.each(collection, reverseArgs);\n function reverseArgs(index, value) {\n return cb(value, index);\n }\n },\n map: $.map,\n filter: $.grep,\n every: function(obj, test) {\n var result = true;\n if (!obj) {\n return result;\n }\n $.each(obj, function(key, val) {\n if (!(result = test.call(null, val, key, obj))) {\n return false;\n }\n });\n return !!result;\n },\n some: function(obj, test) {\n var result = false;\n if (!obj) {\n return result;\n }\n $.each(obj, function(key, val) {\n if (result = test.call(null, val, key, obj)) {\n return false;\n }\n });\n return !!result;\n },\n mixin: $.extend,\n identity: function(x) {\n return x;\n },\n clone: function(obj) {\n return $.extend(true, {}, obj);\n },\n getIdGenerator: function() {\n var counter = 0;\n return function() {\n return counter++;\n };\n },\n templatify: function templatify(obj) {\n return $.isFunction(obj) ? obj : template;\n function template() {\n return String(obj);\n }\n },\n defer: function(fn) {\n setTimeout(fn, 0);\n },\n debounce: function(func, wait, immediate) {\n var timeout, result;\n return function() {\n var context = this, args = arguments, later, callNow;\n later = function() {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n }\n };\n callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n }\n return result;\n };\n },\n throttle: function(func, wait) {\n var context, args, timeout, result, previous, later;\n previous = 0;\n later = function() {\n previous = new Date();\n timeout = null;\n result = func.apply(context, args);\n };\n return function() {\n var now = new Date(), remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n } else if (!timeout) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n },\n stringify: function(val) {\n return _.isString(val) ? val : JSON.stringify(val);\n },\n guid: function() {\n function _p8(s) {\n var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n }\n return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n },\n noop: function() {}\n };\n }();\n var VERSION = \"1.3.1\";\n var tokenizers = function() {\n \"use strict\";\n return {\n nonword: nonword,\n whitespace: whitespace,\n ngram: ngram,\n obj: {\n nonword: getObjTokenizer(nonword),\n whitespace: getObjTokenizer(whitespace),\n ngram: getObjTokenizer(ngram)\n }\n };\n function whitespace(str) {\n str = _.toStr(str);\n return str ? str.split(/\\s+/) : [];\n }\n function nonword(str) {\n str = _.toStr(str);\n return str ? str.split(/\\W+/) : [];\n }\n function ngram(str) {\n str = _.toStr(str);\n var tokens = [], word = \"\";\n _.each(str.split(\"\"), function(char) {\n if (char.match(/\\s+/)) {\n word = \"\";\n } else {\n tokens.push(word + char);\n word += char;\n }\n });\n return tokens;\n }\n function getObjTokenizer(tokenizer) {\n return function setKey(keys) {\n keys = _.isArray(keys) ? keys : [].slice.call(arguments, 0);\n return function tokenize(o) {\n var tokens = [];\n _.each(keys, function(k) {\n tokens = tokens.concat(tokenizer(_.toStr(o[k])));\n });\n return tokens;\n };\n };\n }\n }();\n var LruCache = function() {\n \"use strict\";\n function LruCache(maxSize) {\n this.maxSize = _.isNumber(maxSize) ? maxSize : 100;\n this.reset();\n if (this.maxSize <= 0) {\n this.set = this.get = $.noop;\n }\n }\n _.mixin(LruCache.prototype, {\n set: function set(key, val) {\n var tailItem = this.list.tail, node;\n if (this.size >= this.maxSize) {\n this.list.remove(tailItem);\n delete this.hash[tailItem.key];\n this.size--;\n }\n if (node = this.hash[key]) {\n node.val = val;\n this.list.moveToFront(node);\n } else {\n node = new Node(key, val);\n this.list.add(node);\n this.hash[key] = node;\n this.size++;\n }\n },\n get: function get(key) {\n var node = this.hash[key];\n if (node) {\n this.list.moveToFront(node);\n return node.val;\n }\n },\n reset: function reset() {\n this.size = 0;\n this.hash = {};\n this.list = new List();\n }\n });\n function List() {\n this.head = this.tail = null;\n }\n _.mixin(List.prototype, {\n add: function add(node) {\n if (this.head) {\n node.next = this.head;\n this.head.prev = node;\n }\n this.head = node;\n this.tail = this.tail || node;\n },\n remove: function remove(node) {\n node.prev ? node.prev.next = node.next : this.head = node.next;\n node.next ? node.next.prev = node.prev : this.tail = node.prev;\n },\n moveToFront: function(node) {\n this.remove(node);\n this.add(node);\n }\n });\n function Node(key, val) {\n this.key = key;\n this.val = val;\n this.prev = this.next = null;\n }\n return LruCache;\n }();\n var PersistentStorage = function() {\n \"use strict\";\n var LOCAL_STORAGE;\n try {\n LOCAL_STORAGE = window.localStorage;\n LOCAL_STORAGE.setItem(\"~~~\", \"!\");\n LOCAL_STORAGE.removeItem(\"~~~\");\n } catch (err) {\n LOCAL_STORAGE = null;\n }\n function PersistentStorage(namespace, override) {\n this.prefix = [ \"__\", namespace, \"__\" ].join(\"\");\n this.ttlKey = \"__ttl__\";\n this.keyMatcher = new RegExp(\"^\" + _.escapeRegExChars(this.prefix));\n this.ls = override || LOCAL_STORAGE;\n !this.ls && this._noop();\n }\n _.mixin(PersistentStorage.prototype, {\n _prefix: function(key) {\n return this.prefix + key;\n },\n _ttlKey: function(key) {\n return this._prefix(key) + this.ttlKey;\n },\n _noop: function() {\n this.get = this.set = this.remove = this.clear = this.isExpired = _.noop;\n },\n _safeSet: function(key, val) {\n try {\n this.ls.setItem(key, val);\n } catch (err) {\n if (err.name === \"QuotaExceededError\") {\n this.clear();\n this._noop();\n }\n }\n },\n get: function(key) {\n if (this.isExpired(key)) {\n this.remove(key);\n }\n return decode(this.ls.getItem(this._prefix(key)));\n },\n set: function(key, val, ttl) {\n if (_.isNumber(ttl)) {\n this._safeSet(this._ttlKey(key), encode(now() + ttl));\n } else {\n this.ls.removeItem(this._ttlKey(key));\n }\n return this._safeSet(this._prefix(key), encode(val));\n },\n remove: function(key) {\n this.ls.removeItem(this._ttlKey(key));\n this.ls.removeItem(this._prefix(key));\n return this;\n },\n clear: function() {\n var i, keys = gatherMatchingKeys(this.keyMatcher);\n for (i = keys.length; i--; ) {\n this.remove(keys[i]);\n }\n return this;\n },\n isExpired: function(key) {\n var ttl = decode(this.ls.getItem(this._ttlKey(key)));\n return _.isNumber(ttl) && now() > ttl ? true : false;\n }\n });\n return PersistentStorage;\n function now() {\n return new Date().getTime();\n }\n function encode(val) {\n return JSON.stringify(_.isUndefined(val) ? null : val);\n }\n function decode(val) {\n return $.parseJSON(val);\n }\n function gatherMatchingKeys(keyMatcher) {\n var i, key, keys = [], len = LOCAL_STORAGE.length;\n for (i = 0; i < len; i++) {\n if ((key = LOCAL_STORAGE.key(i)).match(keyMatcher)) {\n keys.push(key.replace(keyMatcher, \"\"));\n }\n }\n return keys;\n }\n }();\n var Transport = function() {\n \"use strict\";\n var pendingRequestsCount = 0, pendingRequests = {}, sharedCache = new LruCache(10);\n function Transport(o) {\n o = o || {};\n this.maxPendingRequests = o.maxPendingRequests || 6;\n this.cancelled = false;\n this.lastReq = null;\n this._send = o.transport;\n this._get = o.limiter ? o.limiter(this._get) : this._get;\n this._cache = o.cache === false ? new LruCache(0) : sharedCache;\n }\n Transport.setMaxPendingRequests = function setMaxPendingRequests(num) {\n this.maxPendingRequests = num;\n };\n Transport.resetCache = function resetCache() {\n sharedCache.reset();\n };\n _.mixin(Transport.prototype, {\n _fingerprint: function fingerprint(o) {\n o = o || {};\n return o.url + o.type + $.param(o.data || {});\n },\n _get: function(o, cb) {\n var that = this, fingerprint, jqXhr;\n fingerprint = this._fingerprint(o);\n if (this.cancelled || fingerprint !== this.lastReq) {\n return;\n }\n if (jqXhr = pendingRequests[fingerprint]) {\n jqXhr.done(done).fail(fail);\n } else if (pendingRequestsCount < this.maxPendingRequests) {\n pendingRequestsCount++;\n pendingRequests[fingerprint] = this._send(o).done(done).fail(fail).always(always);\n } else {\n this.onDeckRequestArgs = [].slice.call(arguments, 0);\n }\n function done(resp) {\n cb(null, resp);\n that._cache.set(fingerprint, resp);\n }\n function fail() {\n cb(true);\n }\n function always() {\n pendingRequestsCount--;\n delete pendingRequests[fingerprint];\n if (that.onDeckRequestArgs) {\n that._get.apply(that, that.onDeckRequestArgs);\n that.onDeckRequestArgs = null;\n }\n }\n },\n get: function(o, cb) {\n var resp, fingerprint;\n cb = cb || $.noop;\n o = _.isString(o) ? {\n url: o\n } : o || {};\n fingerprint = this._fingerprint(o);\n this.cancelled = false;\n this.lastReq = fingerprint;\n if (resp = this._cache.get(fingerprint)) {\n cb(null, resp);\n } else {\n this._get(o, cb);\n }\n },\n cancel: function() {\n this.cancelled = true;\n }\n });\n return Transport;\n }();\n var SearchIndex = window.SearchIndex = function() {\n \"use strict\";\n var CHILDREN = \"c\", IDS = \"i\";\n function SearchIndex(o) {\n o = o || {};\n if (!o.datumTokenizer || !o.queryTokenizer) {\n $.error(\"datumTokenizer and queryTokenizer are both required\");\n }\n this.identify = o.identify || _.stringify;\n this.datumTokenizer = o.datumTokenizer;\n this.queryTokenizer = o.queryTokenizer;\n this.matchAnyQueryToken = o.matchAnyQueryToken;\n this.reset();\n }\n _.mixin(SearchIndex.prototype, {\n bootstrap: function bootstrap(o) {\n this.datums = o.datums;\n this.trie = o.trie;\n },\n add: function(data) {\n var that = this;\n data = _.isArray(data) ? data : [ data ];\n _.each(data, function(datum) {\n var id, tokens;\n that.datums[id = that.identify(datum)] = datum;\n tokens = normalizeTokens(that.datumTokenizer(datum));\n _.each(tokens, function(token) {\n var node, chars, ch;\n node = that.trie;\n chars = token.split(\"\");\n while (ch = chars.shift()) {\n node = node[CHILDREN][ch] || (node[CHILDREN][ch] = newNode());\n node[IDS].push(id);\n }\n });\n });\n },\n get: function get(ids) {\n var that = this;\n return _.map(ids, function(id) {\n return that.datums[id];\n });\n },\n search: function search(query) {\n var that = this, tokens, matches;\n tokens = normalizeTokens(this.queryTokenizer(query));\n _.each(tokens, function(token) {\n var node, chars, ch, ids;\n if (matches && matches.length === 0 && !that.matchAnyQueryToken) {\n return false;\n }\n node = that.trie;\n chars = token.split(\"\");\n while (node && (ch = chars.shift())) {\n node = node[CHILDREN][ch];\n }\n if (node && chars.length === 0) {\n ids = node[IDS].slice(0);\n matches = matches ? getIntersection(matches, ids) : ids;\n } else {\n if (!that.matchAnyQueryToken) {\n matches = [];\n return false;\n }\n }\n });\n return matches ? _.map(unique(matches), function(id) {\n return that.datums[id];\n }) : [];\n },\n all: function all() {\n var values = [];\n for (var key in this.datums) {\n values.push(this.datums[key]);\n }\n return values;\n },\n reset: function reset() {\n this.datums = {};\n this.trie = newNode();\n },\n serialize: function serialize() {\n return {\n datums: this.datums,\n trie: this.trie\n };\n }\n });\n return SearchIndex;\n function normalizeTokens(tokens) {\n tokens = _.filter(tokens, function(token) {\n return !!token;\n });\n tokens = _.map(tokens, function(token) {\n return token.toLowerCase();\n });\n return tokens;\n }\n function newNode() {\n var node = {};\n node[IDS] = [];\n node[CHILDREN] = {};\n return node;\n }\n function unique(array) {\n var seen = {}, uniques = [];\n for (var i = 0, len = array.length; i < len; i++) {\n if (!seen[array[i]]) {\n seen[array[i]] = true;\n uniques.push(array[i]);\n }\n }\n return uniques;\n }\n function getIntersection(arrayA, arrayB) {\n var ai = 0, bi = 0, intersection = [];\n arrayA = arrayA.sort();\n arrayB = arrayB.sort();\n var lenArrayA = arrayA.length, lenArrayB = arrayB.length;\n while (ai < lenArrayA && bi < lenArrayB) {\n if (arrayA[ai] < arrayB[bi]) {\n ai++;\n } else if (arrayA[ai] > arrayB[bi]) {\n bi++;\n } else {\n intersection.push(arrayA[ai]);\n ai++;\n bi++;\n }\n }\n return intersection;\n }\n }();\n var Prefetch = function() {\n \"use strict\";\n var keys;\n keys = {\n data: \"data\",\n protocol: \"protocol\",\n thumbprint: \"thumbprint\"\n };\n function Prefetch(o) {\n this.url = o.url;\n this.ttl = o.ttl;\n this.cache = o.cache;\n this.prepare = o.prepare;\n this.transform = o.transform;\n this.transport = o.transport;\n this.thumbprint = o.thumbprint;\n this.storage = new PersistentStorage(o.cacheKey);\n }\n _.mixin(Prefetch.prototype, {\n _settings: function settings() {\n return {\n url: this.url,\n type: \"GET\",\n dataType: \"json\"\n };\n },\n store: function store(data) {\n if (!this.cache) {\n return;\n }\n this.storage.set(keys.data, data, this.ttl);\n this.storage.set(keys.protocol, location.protocol, this.ttl);\n this.storage.set(keys.thumbprint, this.thumbprint, this.ttl);\n },\n fromCache: function fromCache() {\n var stored = {}, isExpired;\n if (!this.cache) {\n return null;\n }\n stored.data = this.storage.get(keys.data);\n stored.protocol = this.storage.get(keys.protocol);\n stored.thumbprint = this.storage.get(keys.thumbprint);\n isExpired = stored.thumbprint !== this.thumbprint || stored.protocol !== location.protocol;\n return stored.data && !isExpired ? stored.data : null;\n },\n fromNetwork: function(cb) {\n var that = this, settings;\n if (!cb) {\n return;\n }\n settings = this.prepare(this._settings());\n this.transport(settings).fail(onError).done(onResponse);\n function onError() {\n cb(true);\n }\n function onResponse(resp) {\n cb(null, that.transform(resp));\n }\n },\n clear: function clear() {\n this.storage.clear();\n return this;\n }\n });\n return Prefetch;\n }();\n var Remote = function() {\n \"use strict\";\n function Remote(o) {\n this.url = o.url;\n this.prepare = o.prepare;\n this.transform = o.transform;\n this.indexResponse = o.indexResponse;\n this.transport = new Transport({\n cache: o.cache,\n limiter: o.limiter,\n transport: o.transport,\n maxPendingRequests: o.maxPendingRequests\n });\n }\n _.mixin(Remote.prototype, {\n _settings: function settings() {\n return {\n url: this.url,\n type: \"GET\",\n dataType: \"json\"\n };\n },\n get: function get(query, cb) {\n var that = this, settings;\n if (!cb) {\n return;\n }\n query = query || \"\";\n settings = this.prepare(query, this._settings());\n return this.transport.get(settings, onResponse);\n function onResponse(err, resp) {\n err ? cb([]) : cb(that.transform(resp));\n }\n },\n cancelLastRequest: function cancelLastRequest() {\n this.transport.cancel();\n }\n });\n return Remote;\n }();\n var oParser = function() {\n \"use strict\";\n return function parse(o) {\n var defaults, sorter;\n defaults = {\n initialize: true,\n identify: _.stringify,\n datumTokenizer: null,\n queryTokenizer: null,\n matchAnyQueryToken: false,\n sufficient: 5,\n indexRemote: false,\n sorter: null,\n local: [],\n prefetch: null,\n remote: null\n };\n o = _.mixin(defaults, o || {});\n !o.datumTokenizer && $.error(\"datumTokenizer is required\");\n !o.queryTokenizer && $.error(\"queryTokenizer is required\");\n sorter = o.sorter;\n o.sorter = sorter ? function(x) {\n return x.sort(sorter);\n } : _.identity;\n o.local = _.isFunction(o.local) ? o.local() : o.local;\n o.prefetch = parsePrefetch(o.prefetch);\n o.remote = parseRemote(o.remote);\n return o;\n };\n function parsePrefetch(o) {\n var defaults;\n if (!o) {\n return null;\n }\n defaults = {\n url: null,\n ttl: 24 * 60 * 60 * 1e3,\n cache: true,\n cacheKey: null,\n thumbprint: \"\",\n prepare: _.identity,\n transform: _.identity,\n transport: null\n };\n o = _.isString(o) ? {\n url: o\n } : o;\n o = _.mixin(defaults, o);\n !o.url && $.error(\"prefetch requires url to be set\");\n o.transform = o.filter || o.transform;\n o.cacheKey = o.cacheKey || o.url;\n o.thumbprint = VERSION + o.thumbprint;\n o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n return o;\n }\n function parseRemote(o) {\n var defaults;\n if (!o) {\n return;\n }\n defaults = {\n url: null,\n cache: true,\n prepare: null,\n replace: null,\n wildcard: null,\n limiter: null,\n rateLimitBy: \"debounce\",\n rateLimitWait: 300,\n transform: _.identity,\n transport: null\n };\n o = _.isString(o) ? {\n url: o\n } : o;\n o = _.mixin(defaults, o);\n !o.url && $.error(\"remote requires url to be set\");\n o.transform = o.filter || o.transform;\n o.prepare = toRemotePrepare(o);\n o.limiter = toLimiter(o);\n o.transport = o.transport ? callbackToDeferred(o.transport) : $.ajax;\n delete o.replace;\n delete o.wildcard;\n delete o.rateLimitBy;\n delete o.rateLimitWait;\n return o;\n }\n function toRemotePrepare(o) {\n var prepare, replace, wildcard;\n prepare = o.prepare;\n replace = o.replace;\n wildcard = o.wildcard;\n if (prepare) {\n return prepare;\n }\n if (replace) {\n prepare = prepareByReplace;\n } else if (o.wildcard) {\n prepare = prepareByWildcard;\n } else {\n prepare = identityPrepare;\n }\n return prepare;\n function prepareByReplace(query, settings) {\n settings.url = replace(settings.url, query);\n return settings;\n }\n function prepareByWildcard(query, settings) {\n settings.url = settings.url.replace(wildcard, encodeURIComponent(query));\n return settings;\n }\n function identityPrepare(query, settings) {\n return settings;\n }\n }\n function toLimiter(o) {\n var limiter, method, wait;\n limiter = o.limiter;\n method = o.rateLimitBy;\n wait = o.rateLimitWait;\n if (!limiter) {\n limiter = /^throttle$/i.test(method) ? throttle(wait) : debounce(wait);\n }\n return limiter;\n function debounce(wait) {\n return function debounce(fn) {\n return _.debounce(fn, wait);\n };\n }\n function throttle(wait) {\n return function throttle(fn) {\n return _.throttle(fn, wait);\n };\n }\n }\n function callbackToDeferred(fn) {\n return function wrapper(o) {\n var deferred = $.Deferred();\n fn(o, onSuccess, onError);\n return deferred;\n function onSuccess(resp) {\n _.defer(function() {\n deferred.resolve(resp);\n });\n }\n function onError(err) {\n _.defer(function() {\n deferred.reject(err);\n });\n }\n };\n }\n }();\n var Bloodhound = function() {\n \"use strict\";\n var old;\n old = window && window.Bloodhound;\n function Bloodhound(o) {\n o = oParser(o);\n this.sorter = o.sorter;\n this.identify = o.identify;\n this.sufficient = o.sufficient;\n this.indexRemote = o.indexRemote;\n this.local = o.local;\n this.remote = o.remote ? new Remote(o.remote) : null;\n this.prefetch = o.prefetch ? new Prefetch(o.prefetch) : null;\n this.index = new SearchIndex({\n identify: this.identify,\n datumTokenizer: o.datumTokenizer,\n queryTokenizer: o.queryTokenizer\n });\n o.initialize !== false && this.initialize();\n }\n Bloodhound.noConflict = function noConflict() {\n window && (window.Bloodhound = old);\n return Bloodhound;\n };\n Bloodhound.tokenizers = tokenizers;\n _.mixin(Bloodhound.prototype, {\n __ttAdapter: function ttAdapter() {\n var that = this;\n return this.remote ? withAsync : withoutAsync;\n function withAsync(query, sync, async) {\n return that.search(query, sync, async);\n }\n function withoutAsync(query, sync) {\n return that.search(query, sync);\n }\n },\n _loadPrefetch: function loadPrefetch() {\n var that = this, deferred, serialized;\n deferred = $.Deferred();\n if (!this.prefetch) {\n deferred.resolve();\n } else if (serialized = this.prefetch.fromCache()) {\n this.index.bootstrap(serialized);\n deferred.resolve();\n } else {\n this.prefetch.fromNetwork(done);\n }\n return deferred.promise();\n function done(err, data) {\n if (err) {\n return deferred.reject();\n }\n that.add(data);\n that.prefetch.store(that.index.serialize());\n deferred.resolve();\n }\n },\n _initialize: function initialize() {\n var that = this, deferred;\n this.clear();\n (this.initPromise = this._loadPrefetch()).done(addLocalToIndex);\n return this.initPromise;\n function addLocalToIndex() {\n that.add(that.local);\n }\n },\n initialize: function initialize(force) {\n return !this.initPromise || force ? this._initialize() : this.initPromise;\n },\n add: function add(data) {\n this.index.add(data);\n return this;\n },\n get: function get(ids) {\n ids = _.isArray(ids) ? ids : [].slice.call(arguments);\n return this.index.get(ids);\n },\n search: function search(query, sync, async) {\n var that = this, local;\n sync = sync || _.noop;\n async = async || _.noop;\n local = this.sorter(this.index.search(query));\n sync(this.remote ? local.slice() : local);\n if (this.remote && local.length < this.sufficient) {\n this.remote.get(query, processRemote);\n } else if (this.remote) {\n this.remote.cancelLastRequest();\n }\n return this;\n function processRemote(remote) {\n var nonDuplicates = [];\n _.each(remote, function(r) {\n !_.some(local, function(l) {\n return that.identify(r) === that.identify(l);\n }) && nonDuplicates.push(r);\n });\n that.indexRemote && that.add(nonDuplicates);\n async(nonDuplicates);\n }\n },\n all: function all() {\n return this.index.all();\n },\n clear: function clear() {\n this.index.reset();\n return this;\n },\n clearPrefetchCache: function clearPrefetchCache() {\n this.prefetch && this.prefetch.clear();\n return this;\n },\n clearRemoteCache: function clearRemoteCache() {\n Transport.resetCache();\n return this;\n },\n ttAdapter: function ttAdapter() {\n return this.__ttAdapter();\n }\n });\n return Bloodhound;\n }();\n return Bloodhound;\n});\n\n(function(root, factory) {\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], function(a0) {\n return factory(a0);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(require(\"jquery\"));\n } else {\n factory(root[\"jQuery\"]);\n }\n})(this, function($) {\n var _ = function() {\n \"use strict\";\n return {\n isMsie: function() {\n return /(msie|trident)/i.test(navigator.userAgent) ? navigator.userAgent.match(/(msie |rv:)(\\d+(.\\d+)?)/i)[2] : false;\n },\n isBlankString: function(str) {\n return !str || /^\\s*$/.test(str);\n },\n escapeRegExChars: function(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, \"\\\\$&\");\n },\n isString: function(obj) {\n return typeof obj === \"string\";\n },\n isNumber: function(obj) {\n return typeof obj === \"number\";\n },\n isArray: $.isArray,\n isFunction: $.isFunction,\n isObject: $.isPlainObject,\n isUndefined: function(obj) {\n return typeof obj === \"undefined\";\n },\n isElement: function(obj) {\n return !!(obj && obj.nodeType === 1);\n },\n isJQuery: function(obj) {\n return obj instanceof $;\n },\n toStr: function toStr(s) {\n return _.isUndefined(s) || s === null ? \"\" : s + \"\";\n },\n bind: $.proxy,\n each: function(collection, cb) {\n $.each(collection, reverseArgs);\n function reverseArgs(index, value) {\n return cb(value, index);\n }\n },\n map: $.map,\n filter: $.grep,\n every: function(obj, test) {\n var result = true;\n if (!obj) {\n return result;\n }\n $.each(obj, function(key, val) {\n if (!(result = test.call(null, val, key, obj))) {\n return false;\n }\n });\n return !!result;\n },\n some: function(obj, test) {\n var result = false;\n if (!obj) {\n return result;\n }\n $.each(obj, function(key, val) {\n if (result = test.call(null, val, key, obj)) {\n return false;\n }\n });\n return !!result;\n },\n mixin: $.extend,\n identity: function(x) {\n return x;\n },\n clone: function(obj) {\n return $.extend(true, {}, obj);\n },\n getIdGenerator: function() {\n var counter = 0;\n return function() {\n return counter++;\n };\n },\n templatify: function templatify(obj) {\n return $.isFunction(obj) ? obj : template;\n function template() {\n return String(obj);\n }\n },\n defer: function(fn) {\n setTimeout(fn, 0);\n },\n debounce: function(func, wait, immediate) {\n var timeout, result;\n return function() {\n var context = this, args = arguments, later, callNow;\n later = function() {\n timeout = null;\n if (!immediate) {\n result = func.apply(context, args);\n }\n };\n callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n if (callNow) {\n result = func.apply(context, args);\n }\n return result;\n };\n },\n throttle: function(func, wait) {\n var context, args, timeout, result, previous, later;\n previous = 0;\n later = function() {\n previous = new Date();\n timeout = null;\n result = func.apply(context, args);\n };\n return function() {\n var now = new Date(), remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0) {\n clearTimeout(timeout);\n timeout = null;\n previous = now;\n result = func.apply(context, args);\n } else if (!timeout) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n },\n stringify: function(val) {\n return _.isString(val) ? val : JSON.stringify(val);\n },\n guid: function() {\n function _p8(s) {\n var p = (Math.random().toString(16) + \"000000000\").substr(2, 8);\n return s ? \"-\" + p.substr(0, 4) + \"-\" + p.substr(4, 4) : p;\n }\n return \"tt-\" + _p8() + _p8(true) + _p8(true) + _p8();\n },\n noop: function() {}\n };\n }();\n var WWW = function() {\n \"use strict\";\n var defaultClassNames = {\n wrapper: \"twitter-typeahead\",\n input: \"tt-input\",\n hint: \"tt-hint\",\n menu: \"tt-menu\",\n dataset: \"tt-dataset\",\n suggestion: \"tt-suggestion\",\n selectable: \"tt-selectable\",\n empty: \"tt-empty\",\n open: \"tt-open\",\n cursor: \"tt-cursor\",\n highlight: \"tt-highlight\"\n };\n return build;\n function build(o) {\n var www, classes;\n classes = _.mixin({}, defaultClassNames, o);\n www = {\n css: buildCss(),\n classes: classes,\n html: buildHtml(classes),\n selectors: buildSelectors(classes)\n };\n return {\n css: www.css,\n html: www.html,\n classes: www.classes,\n selectors: www.selectors,\n mixin: function(o) {\n _.mixin(o, www);\n }\n };\n }\n function buildHtml(c) {\n return {\n wrapper: '',\n menu: '
'\n };\n }\n function buildSelectors(classes) {\n var selectors = {};\n _.each(classes, function(v, k) {\n selectors[k] = \".\" + v;\n });\n return selectors;\n }\n function buildCss() {\n var css = {\n wrapper: {\n position: \"relative\",\n display: \"inline-block\"\n },\n hint: {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n borderColor: \"transparent\",\n boxShadow: \"none\",\n opacity: \"1\"\n },\n input: {\n position: \"relative\",\n verticalAlign: \"top\",\n backgroundColor: \"transparent\"\n },\n inputWithNoHint: {\n position: \"relative\",\n verticalAlign: \"top\"\n },\n menu: {\n position: \"absolute\",\n top: \"100%\",\n left: \"0\",\n zIndex: \"100\",\n display: \"none\"\n },\n ltr: {\n left: \"0\",\n right: \"auto\"\n },\n rtl: {\n left: \"auto\",\n right: \" 0\"\n }\n };\n if (_.isMsie()) {\n _.mixin(css.input, {\n backgroundImage: \"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)\"\n });\n }\n return css;\n }\n }();\n var EventBus = function() {\n \"use strict\";\n var namespace, deprecationMap;\n namespace = \"typeahead:\";\n deprecationMap = {\n render: \"rendered\",\n cursorchange: \"cursorchanged\",\n select: \"selected\",\n autocomplete: \"autocompleted\"\n };\n function EventBus(o) {\n if (!o || !o.el) {\n $.error(\"EventBus initialized without el\");\n }\n this.$el = $(o.el);\n }\n _.mixin(EventBus.prototype, {\n _trigger: function(type, args) {\n var $e = $.Event(namespace + type);\n this.$el.trigger.call(this.$el, $e, args || []);\n return $e;\n },\n before: function(type) {\n var args, $e;\n args = [].slice.call(arguments, 1);\n $e = this._trigger(\"before\" + type, args);\n return $e.isDefaultPrevented();\n },\n trigger: function(type) {\n var deprecatedType;\n this._trigger(type, [].slice.call(arguments, 1));\n if (deprecatedType = deprecationMap[type]) {\n this._trigger(deprecatedType, [].slice.call(arguments, 1));\n }\n }\n });\n return EventBus;\n }();\n var EventEmitter = function() {\n \"use strict\";\n var splitter = /\\s+/, nextTick = getNextTick();\n return {\n onSync: onSync,\n onAsync: onAsync,\n off: off,\n trigger: trigger\n };\n function on(method, types, cb, context) {\n var type;\n if (!cb) {\n return this;\n }\n types = types.split(splitter);\n cb = context ? bindContext(cb, context) : cb;\n this._callbacks = this._callbacks || {};\n while (type = types.shift()) {\n this._callbacks[type] = this._callbacks[type] || {\n sync: [],\n async: []\n };\n this._callbacks[type][method].push(cb);\n }\n return this;\n }\n function onAsync(types, cb, context) {\n return on.call(this, \"async\", types, cb, context);\n }\n function onSync(types, cb, context) {\n return on.call(this, \"sync\", types, cb, context);\n }\n function off(types) {\n var type;\n if (!this._callbacks) {\n return this;\n }\n types = types.split(splitter);\n while (type = types.shift()) {\n delete this._callbacks[type];\n }\n return this;\n }\n function trigger(types) {\n var type, callbacks, args, syncFlush, asyncFlush;\n if (!this._callbacks) {\n return this;\n }\n types = types.split(splitter);\n args = [].slice.call(arguments, 1);\n while ((type = types.shift()) && (callbacks = this._callbacks[type])) {\n syncFlush = getFlush(callbacks.sync, this, [ type ].concat(args));\n asyncFlush = getFlush(callbacks.async, this, [ type ].concat(args));\n syncFlush() && nextTick(asyncFlush);\n }\n return this;\n }\n function getFlush(callbacks, context, args) {\n return flush;\n function flush() {\n var cancelled;\n for (var i = 0, len = callbacks.length; !cancelled && i < len; i += 1) {\n cancelled = callbacks[i].apply(context, args) === false;\n }\n return !cancelled;\n }\n }\n function getNextTick() {\n var nextTickFn;\n if (window.setImmediate) {\n nextTickFn = function nextTickSetImmediate(fn) {\n setImmediate(function() {\n fn();\n });\n };\n } else {\n nextTickFn = function nextTickSetTimeout(fn) {\n setTimeout(function() {\n fn();\n }, 0);\n };\n }\n return nextTickFn;\n }\n function bindContext(fn, context) {\n return fn.bind ? fn.bind(context) : function() {\n fn.apply(context, [].slice.call(arguments, 0));\n };\n }\n }();\n var highlight = function(doc) {\n \"use strict\";\n var defaults = {\n node: null,\n pattern: null,\n tagName: \"strong\",\n className: null,\n wordsOnly: false,\n caseSensitive: false,\n diacriticInsensitive: false\n };\n var accented = {\n A: \"[AaªÀ-Åà-åĀ-ąǍǎȀ-ȃȦȧᴬᵃḀḁẚẠ-ảₐ℀℁℻⒜Ⓐⓐ㍱-㍴㎀-㎄㎈㎉㎩-㎯㏂㏊㏟㏿Aa]\",\n B: \"[BbᴮᵇḂ-ḇℬ⒝Ⓑⓑ㍴㎅-㎇㏃㏈㏔㏝Bb]\",\n C: \"[CcÇçĆ-čᶜ℀ℂ℃℅℆ℭⅭⅽ⒞Ⓒⓒ㍶㎈㎉㎝㎠㎤㏄-㏇Cc]\",\n D: \"[DdĎďDŽ-džDZ-dzᴰᵈḊ-ḓⅅⅆⅮⅾ⒟Ⓓⓓ㋏㍲㍷-㍹㎗㎭-㎯㏅㏈Dd]\",\n E: \"[EeÈ-Ëè-ëĒ-ěȄ-ȇȨȩᴱᵉḘ-ḛẸ-ẽₑ℡ℯℰⅇ⒠Ⓔⓔ㉐㋍㋎Ee]\",\n F: \"[FfᶠḞḟ℉ℱ℻⒡Ⓕⓕ㎊-㎌㎙ff-fflFf]\",\n G: \"[GgĜ-ģǦǧǴǵᴳᵍḠḡℊ⒢Ⓖⓖ㋌㋍㎇㎍-㎏㎓㎬㏆㏉㏒㏿Gg]\",\n H: \"[HhĤĥȞȟʰᴴḢ-ḫẖℋ-ℎ⒣Ⓗⓗ㋌㍱㎐-㎔㏊㏋㏗Hh]\",\n I: \"[IiÌ-Ïì-ïĨ-İIJijǏǐȈ-ȋᴵᵢḬḭỈ-ịⁱℐℑℹⅈⅠ-ⅣⅥ-ⅨⅪⅫⅰ-ⅳⅵ-ⅸⅺⅻ⒤Ⓘⓘ㍺㏌㏕fiffiIi]\",\n J: \"[JjIJ-ĵLJ-njǰʲᴶⅉ⒥ⒿⓙⱼJj]\",\n K: \"[KkĶķǨǩᴷᵏḰ-ḵK⒦Ⓚⓚ㎄㎅㎉㎏㎑㎘㎞㎢㎦㎪㎸㎾㏀㏆㏍-㏏Kk]\",\n L: \"[LlĹ-ŀLJ-ljˡᴸḶḷḺ-ḽℒℓ℡Ⅼⅼ⒧Ⓛⓛ㋏㎈㎉㏐-㏓㏕㏖㏿flfflLl]\",\n M: \"[MmᴹᵐḾ-ṃ℠™ℳⅯⅿ⒨Ⓜⓜ㍷-㍹㎃㎆㎎㎒㎖㎙-㎨㎫㎳㎷㎹㎽㎿㏁㏂㏎㏐㏔-㏖㏘㏙㏞㏟Mm]\",\n N: \"[NnÑñŃ-ʼnNJ-njǸǹᴺṄ-ṋⁿℕ№⒩Ⓝⓝ㎁㎋㎚㎱㎵㎻㏌㏑Nn]\",\n O: \"[OoºÒ-Öò-öŌ-őƠơǑǒǪǫȌ-ȏȮȯᴼᵒỌ-ỏₒ℅№ℴ⒪Ⓞⓞ㍵㏇㏒㏖Oo]\",\n P: \"[PpᴾᵖṔ-ṗℙ⒫Ⓟⓟ㉐㍱㍶㎀㎊㎩-㎬㎰㎴㎺㏋㏗-㏚Pp]\",\n Q: \"[Qqℚ⒬Ⓠⓠ㏃Qq]\",\n R: \"[RrŔ-řȐ-ȓʳᴿᵣṘ-ṛṞṟ₨ℛ-ℝ⒭Ⓡⓡ㋍㍴㎭-㎯㏚㏛Rr]\",\n S: \"[SsŚ-šſȘșˢṠ-ṣ₨℁℠⒮Ⓢⓢ㎧㎨㎮-㎳㏛㏜stSs]\",\n T: \"[TtŢ-ťȚțᵀᵗṪ-ṱẗ℡™⒯Ⓣⓣ㉐㋏㎔㏏ſtstTt]\",\n U: \"[UuÙ-Üù-üŨ-ųƯưǓǔȔ-ȗᵁᵘᵤṲ-ṷỤ-ủ℆⒰Ⓤⓤ㍳㍺Uu]\",\n V: \"[VvᵛᵥṼ-ṿⅣ-Ⅷⅳ-ⅷ⒱Ⓥⓥⱽ㋎㍵㎴-㎹㏜㏞Vv]\",\n W: \"[WwŴŵʷᵂẀ-ẉẘ⒲Ⓦⓦ㎺-㎿㏝Ww]\",\n X: \"[XxˣẊ-ẍₓ℻Ⅸ-Ⅻⅸ-ⅻ⒳Ⓧⓧ㏓Xx]\",\n Y: \"[YyÝýÿŶ-ŸȲȳʸẎẏẙỲ-ỹ⒴Ⓨⓨ㏉Yy]\",\n Z: \"[ZzŹ-žDZ-dzᶻẐ-ẕℤℨ⒵Ⓩⓩ㎐-㎔Zz]\"\n };\n return function hightlight(o) {\n var regex;\n o = _.mixin({}, defaults, o);\n if (!o.node || !o.pattern) {\n return;\n }\n o.pattern = _.isArray(o.pattern) ? o.pattern : [ o.pattern ];\n regex = getRegex(o.pattern, o.caseSensitive, o.wordsOnly, o.diacriticInsensitive);\n traverse(o.node, hightlightTextNode);\n function hightlightTextNode(textNode) {\n var match, patternNode, wrapperNode;\n if (match = regex.exec(textNode.data)) {\n wrapperNode = doc.createElement(o.tagName);\n o.className && (wrapperNode.className = o.className);\n patternNode = textNode.splitText(match.index);\n patternNode.splitText(match[0].length);\n wrapperNode.appendChild(patternNode.cloneNode(true));\n textNode.parentNode.replaceChild(wrapperNode, patternNode);\n }\n return !!match;\n }\n function traverse(el, hightlightTextNode) {\n var childNode, TEXT_NODE_TYPE = 3;\n for (var i = 0; i < el.childNodes.length; i++) {\n childNode = el.childNodes[i];\n if (childNode.nodeType === TEXT_NODE_TYPE) {\n i += hightlightTextNode(childNode) ? 1 : 0;\n } else {\n traverse(childNode, hightlightTextNode);\n }\n }\n }\n };\n function accent_replacer(chr) {\n return accented[chr.toUpperCase()] || chr;\n }\n function getRegex(patterns, caseSensitive, wordsOnly, diacriticInsensitive) {\n var escapedPatterns = [], regexStr;\n for (var i = 0, len = patterns.length; i < len; i++) {\n var escapedWord = _.escapeRegExChars(patterns[i]);\n if (diacriticInsensitive) {\n escapedWord = escapedWord.replace(/\\S/g, accent_replacer);\n }\n escapedPatterns.push(escapedWord);\n }\n regexStr = wordsOnly ? \"\\\\b(\" + escapedPatterns.join(\"|\") + \")\\\\b\" : \"(\" + escapedPatterns.join(\"|\") + \")\";\n return caseSensitive ? new RegExp(regexStr) : new RegExp(regexStr, \"i\");\n }\n }(window.document);\n var Input = function() {\n \"use strict\";\n var specialKeyCodeMap;\n specialKeyCodeMap = {\n 9: \"tab\",\n 27: \"esc\",\n 37: \"left\",\n 39: \"right\",\n 13: \"enter\",\n 38: \"up\",\n 40: \"down\"\n };\n function Input(o, www) {\n var id;\n o = o || {};\n if (!o.input) {\n $.error(\"input is missing\");\n }\n www.mixin(this);\n this.$hint = $(o.hint);\n this.$input = $(o.input);\n this.$menu = $(o.menu);\n id = this.$input.attr(\"id\") || _.guid();\n this.$menu.attr(\"id\", id + \"_listbox\");\n this.$hint.attr({\n \"aria-hidden\": true\n });\n this.$input.attr({\n \"aria-owns\": id + \"_listbox\",\n role: \"combobox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": false\n });\n this.query = this.$input.val();\n this.queryWhenFocused = this.hasFocus() ? this.query : null;\n this.$overflowHelper = buildOverflowHelper(this.$input);\n this._checkLanguageDirection();\n if (this.$hint.length === 0) {\n this.setHint = this.getHint = this.clearHint = this.clearHintIfInvalid = _.noop;\n }\n this.onSync(\"cursorchange\", this._updateDescendent);\n }\n Input.normalizeQuery = function(str) {\n return _.toStr(str).replace(/^\\s*/g, \"\").replace(/\\s{2,}/g, \" \");\n };\n _.mixin(Input.prototype, EventEmitter, {\n _onBlur: function onBlur() {\n this.resetInputValue();\n this.trigger(\"blurred\");\n },\n _onFocus: function onFocus() {\n this.queryWhenFocused = this.query;\n this.trigger(\"focused\");\n },\n _onKeydown: function onKeydown($e) {\n var keyName = specialKeyCodeMap[$e.which || $e.keyCode];\n this._managePreventDefault(keyName, $e);\n if (keyName && this._shouldTrigger(keyName, $e)) {\n this.trigger(keyName + \"Keyed\", $e);\n }\n },\n _onInput: function onInput() {\n this._setQuery(this.getInputValue());\n this.clearHintIfInvalid();\n this._checkLanguageDirection();\n },\n _managePreventDefault: function managePreventDefault(keyName, $e) {\n var preventDefault;\n switch (keyName) {\n case \"up\":\n case \"down\":\n preventDefault = !withModifier($e);\n break;\n\n default:\n preventDefault = false;\n }\n preventDefault && $e.preventDefault();\n },\n _shouldTrigger: function shouldTrigger(keyName, $e) {\n var trigger;\n switch (keyName) {\n case \"tab\":\n trigger = !withModifier($e);\n break;\n\n default:\n trigger = true;\n }\n return trigger;\n },\n _checkLanguageDirection: function checkLanguageDirection() {\n var dir = (this.$input.css(\"direction\") || \"ltr\").toLowerCase();\n if (this.dir !== dir) {\n this.dir = dir;\n this.$hint.attr(\"dir\", dir);\n this.trigger(\"langDirChanged\", dir);\n }\n },\n _setQuery: function setQuery(val, silent) {\n var areEquivalent, hasDifferentWhitespace;\n areEquivalent = areQueriesEquivalent(val, this.query);\n hasDifferentWhitespace = areEquivalent ? this.query.length !== val.length : false;\n this.query = val;\n if (!silent && !areEquivalent) {\n this.trigger(\"queryChanged\", this.query);\n } else if (!silent && hasDifferentWhitespace) {\n this.trigger(\"whitespaceChanged\", this.query);\n }\n },\n _updateDescendent: function updateDescendent(event, id) {\n this.$input.attr(\"aria-activedescendant\", id);\n },\n bind: function() {\n var that = this, onBlur, onFocus, onKeydown, onInput;\n onBlur = _.bind(this._onBlur, this);\n onFocus = _.bind(this._onFocus, this);\n onKeydown = _.bind(this._onKeydown, this);\n onInput = _.bind(this._onInput, this);\n this.$input.on(\"blur.tt\", onBlur).on(\"focus.tt\", onFocus).on(\"keydown.tt\", onKeydown);\n if (!_.isMsie() || _.isMsie() > 9) {\n this.$input.on(\"input.tt\", onInput);\n } else {\n this.$input.on(\"keydown.tt keypress.tt cut.tt paste.tt\", function($e) {\n if (specialKeyCodeMap[$e.which || $e.keyCode]) {\n return;\n }\n _.defer(_.bind(that._onInput, that, $e));\n });\n }\n return this;\n },\n focus: function focus() {\n this.$input.focus();\n },\n blur: function blur() {\n this.$input.blur();\n },\n getLangDir: function getLangDir() {\n return this.dir;\n },\n getQuery: function getQuery() {\n return this.query || \"\";\n },\n setQuery: function setQuery(val, silent) {\n this.setInputValue(val);\n this._setQuery(val, silent);\n },\n hasQueryChangedSinceLastFocus: function hasQueryChangedSinceLastFocus() {\n return this.query !== this.queryWhenFocused;\n },\n getInputValue: function getInputValue() {\n return this.$input.val();\n },\n setInputValue: function setInputValue(value) {\n this.$input.val(value);\n this.clearHintIfInvalid();\n this._checkLanguageDirection();\n },\n resetInputValue: function resetInputValue() {\n this.setInputValue(this.query);\n },\n getHint: function getHint() {\n return this.$hint.val();\n },\n setHint: function setHint(value) {\n this.$hint.val(value);\n },\n clearHint: function clearHint() {\n this.setHint(\"\");\n },\n clearHintIfInvalid: function clearHintIfInvalid() {\n var val, hint, valIsPrefixOfHint, isValid;\n val = this.getInputValue();\n hint = this.getHint();\n valIsPrefixOfHint = val !== hint && hint.indexOf(val) === 0;\n isValid = val !== \"\" && valIsPrefixOfHint && !this.hasOverflow();\n !isValid && this.clearHint();\n },\n hasFocus: function hasFocus() {\n return this.$input.is(\":focus\");\n },\n hasOverflow: function hasOverflow() {\n var constraint = this.$input.width() - 2;\n this.$overflowHelper.text(this.getInputValue());\n return this.$overflowHelper.width() >= constraint;\n },\n isCursorAtEnd: function() {\n var valueLength, selectionStart, range;\n valueLength = this.$input.val().length;\n selectionStart = this.$input[0].selectionStart;\n if (_.isNumber(selectionStart)) {\n return selectionStart === valueLength;\n } else if (document.selection) {\n range = document.selection.createRange();\n range.moveStart(\"character\", -valueLength);\n return valueLength === range.text.length;\n }\n return true;\n },\n destroy: function destroy() {\n this.$hint.off(\".tt\");\n this.$input.off(\".tt\");\n this.$overflowHelper.remove();\n this.$hint = this.$input = this.$overflowHelper = $(\"
\");\n },\n setAriaExpanded: function setAriaExpanded(value) {\n this.$input.attr(\"aria-expanded\", value);\n }\n });\n return Input;\n function buildOverflowHelper($input) {\n return $('
').css({\n                position: \"absolute\",\n                visibility: \"hidden\",\n                whiteSpace: \"pre\",\n                fontFamily: $input.css(\"font-family\"),\n                fontSize: $input.css(\"font-size\"),\n                fontStyle: $input.css(\"font-style\"),\n                fontVariant: $input.css(\"font-variant\"),\n                fontWeight: $input.css(\"font-weight\"),\n                wordSpacing: $input.css(\"word-spacing\"),\n                letterSpacing: $input.css(\"letter-spacing\"),\n                textIndent: $input.css(\"text-indent\"),\n                textRendering: $input.css(\"text-rendering\"),\n                textTransform: $input.css(\"text-transform\")\n            }).insertAfter($input);\n        }\n        function areQueriesEquivalent(a, b) {\n            return Input.normalizeQuery(a) === Input.normalizeQuery(b);\n        }\n        function withModifier($e) {\n            return $e.altKey || $e.ctrlKey || $e.metaKey || $e.shiftKey;\n        }\n    }();\n    var Dataset = function() {\n        \"use strict\";\n        var keys, nameGenerator;\n        keys = {\n            dataset: \"tt-selectable-dataset\",\n            val: \"tt-selectable-display\",\n            obj: \"tt-selectable-object\"\n        };\n        nameGenerator = _.getIdGenerator();\n        function Dataset(o, www) {\n            o = o || {};\n            o.templates = o.templates || {};\n            o.templates.notFound = o.templates.notFound || o.templates.empty;\n            if (!o.source) {\n                $.error(\"missing source\");\n            }\n            if (!o.node) {\n                $.error(\"missing node\");\n            }\n            if (o.name && !isValidName(o.name)) {\n                $.error(\"invalid dataset name: \" + o.name);\n            }\n            www.mixin(this);\n            this.highlight = !!o.highlight;\n            this.name = _.toStr(o.name || nameGenerator());\n            this.limit = o.limit || 5;\n            this.displayFn = getDisplayFn(o.display || o.displayKey);\n            this.templates = getTemplates(o.templates, this.displayFn);\n            this.source = o.source.__ttAdapter ? o.source.__ttAdapter() : o.source;\n            this.async = _.isUndefined(o.async) ? this.source.length > 2 : !!o.async;\n            this._resetLastSuggestion();\n            this.$el = $(o.node).attr(\"role\", \"presentation\").addClass(this.classes.dataset).addClass(this.classes.dataset + \"-\" + this.name);\n        }\n        Dataset.extractData = function extractData(el) {\n            var $el = $(el);\n            if ($el.data(keys.obj)) {\n                return {\n                    dataset: $el.data(keys.dataset) || \"\",\n                    val: $el.data(keys.val) || \"\",\n                    obj: $el.data(keys.obj) || null\n                };\n            }\n            return null;\n        };\n        _.mixin(Dataset.prototype, EventEmitter, {\n            _overwrite: function overwrite(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (this.async && this.templates.pending) {\n                    this._renderPending(query);\n                } else if (!this.async && this.templates.notFound) {\n                    this._renderNotFound(query);\n                } else {\n                    this._empty();\n                }\n                this.trigger(\"rendered\", suggestions, false, this.name);\n            },\n            _append: function append(query, suggestions) {\n                suggestions = suggestions || [];\n                if (suggestions.length && this.$lastSuggestion.length) {\n                    this._appendSuggestions(query, suggestions);\n                } else if (suggestions.length) {\n                    this._renderSuggestions(query, suggestions);\n                } else if (!this.$lastSuggestion.length && this.templates.notFound) {\n                    this._renderNotFound(query);\n                }\n                this.trigger(\"rendered\", suggestions, true, this.name);\n            },\n            _renderSuggestions: function renderSuggestions(query, suggestions) {\n                var $fragment;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                this.$lastSuggestion = $fragment.children().last();\n                this.$el.html($fragment).prepend(this._getHeader(query, suggestions)).append(this._getFooter(query, suggestions));\n            },\n            _appendSuggestions: function appendSuggestions(query, suggestions) {\n                var $fragment, $lastSuggestion;\n                $fragment = this._getSuggestionsFragment(query, suggestions);\n                $lastSuggestion = $fragment.children().last();\n                this.$lastSuggestion.after($fragment);\n                this.$lastSuggestion = $lastSuggestion;\n            },\n            _renderPending: function renderPending(query) {\n                var template = this.templates.pending;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _renderNotFound: function renderNotFound(query) {\n                var template = this.templates.notFound;\n                this._resetLastSuggestion();\n                template && this.$el.html(template({\n                    query: query,\n                    dataset: this.name\n                }));\n            },\n            _empty: function empty() {\n                this.$el.empty();\n                this._resetLastSuggestion();\n            },\n            _getSuggestionsFragment: function getSuggestionsFragment(query, suggestions) {\n                var that = this, fragment;\n                fragment = document.createDocumentFragment();\n                _.each(suggestions, function getSuggestionNode(suggestion) {\n                    var $el, context;\n                    context = that._injectQuery(query, suggestion);\n                    $el = $(that.templates.suggestion(context)).data(keys.dataset, that.name).data(keys.obj, suggestion).data(keys.val, that.displayFn(suggestion)).addClass(that.classes.suggestion + \" \" + that.classes.selectable);\n                    fragment.appendChild($el[0]);\n                });\n                this.highlight && highlight({\n                    className: this.classes.highlight,\n                    node: fragment,\n                    pattern: query\n                });\n                return $(fragment);\n            },\n            _getFooter: function getFooter(query, suggestions) {\n                return this.templates.footer ? this.templates.footer({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _getHeader: function getHeader(query, suggestions) {\n                return this.templates.header ? this.templates.header({\n                    query: query,\n                    suggestions: suggestions,\n                    dataset: this.name\n                }) : null;\n            },\n            _resetLastSuggestion: function resetLastSuggestion() {\n                this.$lastSuggestion = $();\n            },\n            _injectQuery: function injectQuery(query, obj) {\n                return _.isObject(obj) ? _.mixin({\n                    _query: query\n                }, obj) : obj;\n            },\n            update: function update(query) {\n                var that = this, canceled = false, syncCalled = false, rendered = 0;\n                this.cancel();\n                this.cancel = function cancel() {\n                    canceled = true;\n                    that.cancel = $.noop;\n                    that.async && that.trigger(\"asyncCanceled\", query, that.name);\n                };\n                this.source(query, sync, async);\n                !syncCalled && sync([]);\n                function sync(suggestions) {\n                    if (syncCalled) {\n                        return;\n                    }\n                    syncCalled = true;\n                    suggestions = (suggestions || []).slice(0, that.limit);\n                    rendered = suggestions.length;\n                    that._overwrite(query, suggestions);\n                    if (rendered < that.limit && that.async) {\n                        that.trigger(\"asyncRequested\", query, that.name);\n                    }\n                }\n                function async(suggestions) {\n                    suggestions = suggestions || [];\n                    if (!canceled && rendered < that.limit) {\n                        that.cancel = $.noop;\n                        var idx = Math.abs(rendered - that.limit);\n                        rendered += idx;\n                        that._append(query, suggestions.slice(0, idx));\n                        that.async && that.trigger(\"asyncReceived\", query, that.name);\n                    }\n                }\n            },\n            cancel: $.noop,\n            clear: function clear() {\n                this._empty();\n                this.cancel();\n                this.trigger(\"cleared\");\n            },\n            isEmpty: function isEmpty() {\n                return this.$el.is(\":empty\");\n            },\n            destroy: function destroy() {\n                this.$el = $(\"
\");\n }\n });\n return Dataset;\n function getDisplayFn(display) {\n display = display || _.stringify;\n return _.isFunction(display) ? display : displayFn;\n function displayFn(obj) {\n return obj[display];\n }\n }\n function getTemplates(templates, displayFn) {\n return {\n notFound: templates.notFound && _.templatify(templates.notFound),\n pending: templates.pending && _.templatify(templates.pending),\n header: templates.header && _.templatify(templates.header),\n footer: templates.footer && _.templatify(templates.footer),\n suggestion: templates.suggestion ? userSuggestionTemplate : suggestionTemplate\n };\n function userSuggestionTemplate(context) {\n var template = templates.suggestion;\n return $(template(context)).attr(\"id\", _.guid());\n }\n function suggestionTemplate(context) {\n return $('
').attr(\"id\", _.guid()).text(displayFn(context));\n }\n }\n function isValidName(str) {\n return /^[_a-zA-Z0-9-]+$/.test(str);\n }\n }();\n var Menu = function() {\n \"use strict\";\n function Menu(o, www) {\n var that = this;\n o = o || {};\n if (!o.node) {\n $.error(\"node is required\");\n }\n www.mixin(this);\n this.$node = $(o.node);\n this.query = null;\n this.datasets = _.map(o.datasets, initializeDataset);\n function initializeDataset(oDataset) {\n var node = that.$node.find(oDataset.node).first();\n oDataset.node = node.length ? node : $(\"
\").appendTo(that.$node);\n return new Dataset(oDataset, www);\n }\n }\n _.mixin(Menu.prototype, EventEmitter, {\n _onSelectableClick: function onSelectableClick($e) {\n this.trigger(\"selectableClicked\", $($e.currentTarget));\n },\n _onRendered: function onRendered(type, dataset, suggestions, async) {\n this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n this.trigger(\"datasetRendered\", dataset, suggestions, async);\n },\n _onCleared: function onCleared() {\n this.$node.toggleClass(this.classes.empty, this._allDatasetsEmpty());\n this.trigger(\"datasetCleared\");\n },\n _propagate: function propagate() {\n this.trigger.apply(this, arguments);\n },\n _allDatasetsEmpty: function allDatasetsEmpty() {\n return _.every(this.datasets, _.bind(function isDatasetEmpty(dataset) {\n var isEmpty = dataset.isEmpty();\n this.$node.attr(\"aria-expanded\", !isEmpty);\n return isEmpty;\n }, this));\n },\n _getSelectables: function getSelectables() {\n return this.$node.find(this.selectors.selectable);\n },\n _removeCursor: function _removeCursor() {\n var $selectable = this.getActiveSelectable();\n $selectable && $selectable.removeClass(this.classes.cursor);\n },\n _ensureVisible: function ensureVisible($el) {\n var elTop, elBottom, nodeScrollTop, nodeHeight;\n elTop = $el.position().top;\n elBottom = elTop + $el.outerHeight(true);\n nodeScrollTop = this.$node.scrollTop();\n nodeHeight = this.$node.height() + parseInt(this.$node.css(\"paddingTop\"), 10) + parseInt(this.$node.css(\"paddingBottom\"), 10);\n if (elTop < 0) {\n this.$node.scrollTop(nodeScrollTop + elTop);\n } else if (nodeHeight < elBottom) {\n this.$node.scrollTop(nodeScrollTop + (elBottom - nodeHeight));\n }\n },\n bind: function() {\n var that = this, onSelectableClick;\n onSelectableClick = _.bind(this._onSelectableClick, this);\n this.$node.on(\"click.tt\", this.selectors.selectable, onSelectableClick);\n this.$node.on(\"mouseover\", this.selectors.selectable, function() {\n that.setCursor($(this));\n });\n this.$node.on(\"mouseleave\", function() {\n that._removeCursor();\n });\n _.each(this.datasets, function(dataset) {\n dataset.onSync(\"asyncRequested\", that._propagate, that).onSync(\"asyncCanceled\", that._propagate, that).onSync(\"asyncReceived\", that._propagate, that).onSync(\"rendered\", that._onRendered, that).onSync(\"cleared\", that._onCleared, that);\n });\n return this;\n },\n isOpen: function isOpen() {\n return this.$node.hasClass(this.classes.open);\n },\n open: function open() {\n this.$node.scrollTop(0);\n this.$node.addClass(this.classes.open);\n },\n close: function close() {\n this.$node.attr(\"aria-expanded\", false);\n this.$node.removeClass(this.classes.open);\n this._removeCursor();\n },\n setLanguageDirection: function setLanguageDirection(dir) {\n this.$node.attr(\"dir\", dir);\n },\n selectableRelativeToCursor: function selectableRelativeToCursor(delta) {\n var $selectables, $oldCursor, oldIndex, newIndex;\n $oldCursor = this.getActiveSelectable();\n $selectables = this._getSelectables();\n oldIndex = $oldCursor ? $selectables.index($oldCursor) : -1;\n newIndex = oldIndex + delta;\n newIndex = (newIndex + 1) % ($selectables.length + 1) - 1;\n newIndex = newIndex < -1 ? $selectables.length - 1 : newIndex;\n return newIndex === -1 ? null : $selectables.eq(newIndex);\n },\n setCursor: function setCursor($selectable) {\n this._removeCursor();\n if ($selectable = $selectable && $selectable.first()) {\n $selectable.addClass(this.classes.cursor);\n this._ensureVisible($selectable);\n }\n },\n getSelectableData: function getSelectableData($el) {\n return $el && $el.length ? Dataset.extractData($el) : null;\n },\n getActiveSelectable: function getActiveSelectable() {\n var $selectable = this._getSelectables().filter(this.selectors.cursor).first();\n return $selectable.length ? $selectable : null;\n },\n getTopSelectable: function getTopSelectable() {\n var $selectable = this._getSelectables().first();\n return $selectable.length ? $selectable : null;\n },\n update: function update(query) {\n var isValidUpdate = query !== this.query;\n if (isValidUpdate) {\n this.query = query;\n _.each(this.datasets, updateDataset);\n }\n return isValidUpdate;\n function updateDataset(dataset) {\n dataset.update(query);\n }\n },\n empty: function empty() {\n _.each(this.datasets, clearDataset);\n this.query = null;\n this.$node.addClass(this.classes.empty);\n function clearDataset(dataset) {\n dataset.clear();\n }\n },\n destroy: function destroy() {\n this.$node.off(\".tt\");\n this.$node = $(\"
\");\n _.each(this.datasets, destroyDataset);\n function destroyDataset(dataset) {\n dataset.destroy();\n }\n }\n });\n return Menu;\n }();\n var Status = function() {\n \"use strict\";\n function Status(options) {\n this.$el = $(\"\", {\n role: \"status\",\n \"aria-live\": \"polite\"\n }).css({\n position: \"absolute\",\n padding: \"0\",\n border: \"0\",\n height: \"1px\",\n width: \"1px\",\n \"margin-bottom\": \"-1px\",\n \"margin-right\": \"-1px\",\n overflow: \"hidden\",\n clip: \"rect(0 0 0 0)\",\n \"white-space\": \"nowrap\"\n });\n options.$input.after(this.$el);\n _.each(options.menu.datasets, _.bind(function(dataset) {\n if (dataset.onSync) {\n dataset.onSync(\"rendered\", _.bind(this.update, this));\n dataset.onSync(\"cleared\", _.bind(this.cleared, this));\n }\n }, this));\n }\n _.mixin(Status.prototype, {\n update: function update(event, suggestions) {\n var length = suggestions.length;\n var words;\n if (length === 1) {\n words = {\n result: \"result\",\n is: \"is\"\n };\n } else {\n words = {\n result: \"results\",\n is: \"are\"\n };\n }\n this.$el.text(length + \" \" + words.result + \" \" + words.is + \" available, use up and down arrow keys to navigate.\");\n },\n cleared: function() {\n this.$el.text(\"\");\n }\n });\n return Status;\n }();\n var DefaultMenu = function() {\n \"use strict\";\n var s = Menu.prototype;\n function DefaultMenu() {\n Menu.apply(this, [].slice.call(arguments, 0));\n }\n _.mixin(DefaultMenu.prototype, Menu.prototype, {\n open: function open() {\n !this._allDatasetsEmpty() && this._show();\n return s.open.apply(this, [].slice.call(arguments, 0));\n },\n close: function close() {\n this._hide();\n return s.close.apply(this, [].slice.call(arguments, 0));\n },\n _onRendered: function onRendered() {\n if (this._allDatasetsEmpty()) {\n this._hide();\n } else {\n this.isOpen() && this._show();\n }\n return s._onRendered.apply(this, [].slice.call(arguments, 0));\n },\n _onCleared: function onCleared() {\n if (this._allDatasetsEmpty()) {\n this._hide();\n } else {\n this.isOpen() && this._show();\n }\n return s._onCleared.apply(this, [].slice.call(arguments, 0));\n },\n setLanguageDirection: function setLanguageDirection(dir) {\n this.$node.css(dir === \"ltr\" ? this.css.ltr : this.css.rtl);\n return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));\n },\n _hide: function hide() {\n this.$node.hide();\n },\n _show: function show() {\n this.$node.css(\"display\", \"block\");\n }\n });\n return DefaultMenu;\n }();\n var Typeahead = function() {\n \"use strict\";\n function Typeahead(o, www) {\n var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;\n o = o || {};\n if (!o.input) {\n $.error(\"missing input\");\n }\n if (!o.menu) {\n $.error(\"missing menu\");\n }\n if (!o.eventBus) {\n $.error(\"missing event bus\");\n }\n www.mixin(this);\n this.eventBus = o.eventBus;\n this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;\n this.input = o.input;\n this.menu = o.menu;\n this.enabled = true;\n this.autoselect = !!o.autoselect;\n this.active = false;\n this.input.hasFocus() && this.activate();\n this.dir = this.input.getLangDir();\n this._hacks();\n this.menu.bind().onSync(\"selectableClicked\", this._onSelectableClicked, this).onSync(\"asyncRequested\", this._onAsyncRequested, this).onSync(\"asyncCanceled\", this._onAsyncCanceled, this).onSync(\"asyncReceived\", this._onAsyncReceived, this).onSync(\"datasetRendered\", this._onDatasetRendered, this).onSync(\"datasetCleared\", this._onDatasetCleared, this);\n onFocused = c(this, \"activate\", \"open\", \"_onFocused\");\n onBlurred = c(this, \"deactivate\", \"_onBlurred\");\n onEnterKeyed = c(this, \"isActive\", \"isOpen\", \"_onEnterKeyed\");\n onTabKeyed = c(this, \"isActive\", \"isOpen\", \"_onTabKeyed\");\n onEscKeyed = c(this, \"isActive\", \"_onEscKeyed\");\n onUpKeyed = c(this, \"isActive\", \"open\", \"_onUpKeyed\");\n onDownKeyed = c(this, \"isActive\", \"open\", \"_onDownKeyed\");\n onLeftKeyed = c(this, \"isActive\", \"isOpen\", \"_onLeftKeyed\");\n onRightKeyed = c(this, \"isActive\", \"isOpen\", \"_onRightKeyed\");\n onQueryChanged = c(this, \"_openIfActive\", \"_onQueryChanged\");\n onWhitespaceChanged = c(this, \"_openIfActive\", \"_onWhitespaceChanged\");\n this.input.bind().onSync(\"focused\", onFocused, this).onSync(\"blurred\", onBlurred, this).onSync(\"enterKeyed\", onEnterKeyed, this).onSync(\"tabKeyed\", onTabKeyed, this).onSync(\"escKeyed\", onEscKeyed, this).onSync(\"upKeyed\", onUpKeyed, this).onSync(\"downKeyed\", onDownKeyed, this).onSync(\"leftKeyed\", onLeftKeyed, this).onSync(\"rightKeyed\", onRightKeyed, this).onSync(\"queryChanged\", onQueryChanged, this).onSync(\"whitespaceChanged\", onWhitespaceChanged, this).onSync(\"langDirChanged\", this._onLangDirChanged, this);\n }\n _.mixin(Typeahead.prototype, {\n _hacks: function hacks() {\n var $input, $menu;\n $input = this.input.$input || $(\"
\");\n $menu = this.menu.$node || $(\"
\");\n $input.on(\"blur.tt\", function($e) {\n var active, isActive, hasActive;\n active = document.activeElement;\n isActive = $menu.is(active);\n hasActive = $menu.has(active).length > 0;\n if (_.isMsie() && (isActive || hasActive)) {\n $e.preventDefault();\n $e.stopImmediatePropagation();\n _.defer(function() {\n $input.focus();\n });\n }\n });\n $menu.on(\"mousedown.tt\", function($e) {\n $e.preventDefault();\n });\n },\n _onSelectableClicked: function onSelectableClicked(type, $el) {\n this.select($el);\n },\n _onDatasetCleared: function onDatasetCleared() {\n this._updateHint();\n },\n _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {\n this._updateHint();\n if (this.autoselect) {\n var cursorClass = this.selectors.cursor.substr(1);\n this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);\n }\n this.eventBus.trigger(\"render\", suggestions, async, dataset);\n },\n _onAsyncRequested: function onAsyncRequested(type, dataset, query) {\n this.eventBus.trigger(\"asyncrequest\", query, dataset);\n },\n _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {\n this.eventBus.trigger(\"asynccancel\", query, dataset);\n },\n _onAsyncReceived: function onAsyncReceived(type, dataset, query) {\n this.eventBus.trigger(\"asyncreceive\", query, dataset);\n },\n _onFocused: function onFocused() {\n this._minLengthMet() && this.menu.update(this.input.getQuery());\n },\n _onBlurred: function onBlurred() {\n if (this.input.hasQueryChangedSinceLastFocus()) {\n this.eventBus.trigger(\"change\", this.input.getQuery());\n }\n },\n _onEnterKeyed: function onEnterKeyed(type, $e) {\n var $selectable;\n if ($selectable = this.menu.getActiveSelectable()) {\n if (this.select($selectable)) {\n $e.preventDefault();\n $e.stopPropagation();\n }\n } else if (this.autoselect) {\n if (this.select(this.menu.getTopSelectable())) {\n $e.preventDefault();\n $e.stopPropagation();\n }\n }\n },\n _onTabKeyed: function onTabKeyed(type, $e) {\n var $selectable;\n if ($selectable = this.menu.getActiveSelectable()) {\n this.select($selectable) && $e.preventDefault();\n } else if (this.autoselect) {\n if ($selectable = this.menu.getTopSelectable()) {\n this.autocomplete($selectable) && $e.preventDefault();\n }\n }\n },\n _onEscKeyed: function onEscKeyed() {\n this.close();\n },\n _onUpKeyed: function onUpKeyed() {\n this.moveCursor(-1);\n },\n _onDownKeyed: function onDownKeyed() {\n this.moveCursor(+1);\n },\n _onLeftKeyed: function onLeftKeyed() {\n if (this.dir === \"rtl\" && this.input.isCursorAtEnd()) {\n this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n }\n },\n _onRightKeyed: function onRightKeyed() {\n if (this.dir === \"ltr\" && this.input.isCursorAtEnd()) {\n this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());\n }\n },\n _onQueryChanged: function onQueryChanged(e, query) {\n this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();\n },\n _onWhitespaceChanged: function onWhitespaceChanged() {\n this._updateHint();\n },\n _onLangDirChanged: function onLangDirChanged(e, dir) {\n if (this.dir !== dir) {\n this.dir = dir;\n this.menu.setLanguageDirection(dir);\n }\n },\n _openIfActive: function openIfActive() {\n this.isActive() && this.open();\n },\n _minLengthMet: function minLengthMet(query) {\n query = _.isString(query) ? query : this.input.getQuery() || \"\";\n return query.length >= this.minLength;\n },\n _updateHint: function updateHint() {\n var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;\n $selectable = this.menu.getTopSelectable();\n data = this.menu.getSelectableData($selectable);\n val = this.input.getInputValue();\n if (data && !_.isBlankString(val) && !this.input.hasOverflow()) {\n query = Input.normalizeQuery(val);\n escapedQuery = _.escapeRegExChars(query);\n frontMatchRegEx = new RegExp(\"^(?:\" + escapedQuery + \")(.+$)\", \"i\");\n match = frontMatchRegEx.exec(data.val);\n match && this.input.setHint(val + match[1]);\n } else {\n this.input.clearHint();\n }\n },\n isEnabled: function isEnabled() {\n return this.enabled;\n },\n enable: function enable() {\n this.enabled = true;\n },\n disable: function disable() {\n this.enabled = false;\n },\n isActive: function isActive() {\n return this.active;\n },\n activate: function activate() {\n if (this.isActive()) {\n return true;\n } else if (!this.isEnabled() || this.eventBus.before(\"active\")) {\n return false;\n } else {\n this.active = true;\n this.eventBus.trigger(\"active\");\n return true;\n }\n },\n deactivate: function deactivate() {\n if (!this.isActive()) {\n return true;\n } else if (this.eventBus.before(\"idle\")) {\n return false;\n } else {\n this.active = false;\n this.close();\n this.eventBus.trigger(\"idle\");\n return true;\n }\n },\n isOpen: function isOpen() {\n return this.menu.isOpen();\n },\n open: function open() {\n if (!this.isOpen() && !this.eventBus.before(\"open\")) {\n this.input.setAriaExpanded(true);\n this.menu.open();\n this._updateHint();\n this.eventBus.trigger(\"open\");\n }\n return this.isOpen();\n },\n close: function close() {\n if (this.isOpen() && !this.eventBus.before(\"close\")) {\n this.input.setAriaExpanded(false);\n this.menu.close();\n this.input.clearHint();\n this.input.resetInputValue();\n this.eventBus.trigger(\"close\");\n }\n return !this.isOpen();\n },\n setVal: function setVal(val) {\n this.input.setQuery(_.toStr(val));\n },\n getVal: function getVal() {\n return this.input.getQuery();\n },\n select: function select($selectable) {\n var data = this.menu.getSelectableData($selectable);\n if (data && !this.eventBus.before(\"select\", data.obj, data.dataset)) {\n this.input.setQuery(data.val, true);\n this.eventBus.trigger(\"select\", data.obj, data.dataset);\n this.close();\n return true;\n }\n return false;\n },\n autocomplete: function autocomplete($selectable) {\n var query, data, isValid;\n query = this.input.getQuery();\n data = this.menu.getSelectableData($selectable);\n isValid = data && query !== data.val;\n if (isValid && !this.eventBus.before(\"autocomplete\", data.obj, data.dataset)) {\n this.input.setQuery(data.val);\n this.eventBus.trigger(\"autocomplete\", data.obj, data.dataset);\n return true;\n }\n return false;\n },\n moveCursor: function moveCursor(delta) {\n var query, $candidate, data, suggestion, datasetName, cancelMove, id;\n query = this.input.getQuery();\n $candidate = this.menu.selectableRelativeToCursor(delta);\n data = this.menu.getSelectableData($candidate);\n suggestion = data ? data.obj : null;\n datasetName = data ? data.dataset : null;\n id = $candidate ? $candidate.attr(\"id\") : null;\n this.input.trigger(\"cursorchange\", id);\n cancelMove = this._minLengthMet() && this.menu.update(query);\n if (!cancelMove && !this.eventBus.before(\"cursorchange\", suggestion, datasetName)) {\n this.menu.setCursor($candidate);\n if (data) {\n if (typeof data.val === \"string\") {\n this.input.setInputValue(data.val);\n }\n } else {\n this.input.resetInputValue();\n this._updateHint();\n }\n this.eventBus.trigger(\"cursorchange\", suggestion, datasetName);\n return true;\n }\n return false;\n },\n destroy: function destroy() {\n this.input.destroy();\n this.menu.destroy();\n }\n });\n return Typeahead;\n function c(ctx) {\n var methods = [].slice.call(arguments, 1);\n return function() {\n var args = [].slice.call(arguments);\n _.each(methods, function(method) {\n return ctx[method].apply(ctx, args);\n });\n };\n }\n }();\n (function() {\n \"use strict\";\n var old, keys, methods;\n old = $.fn.typeahead;\n keys = {\n www: \"tt-www\",\n attrs: \"tt-attrs\",\n typeahead: \"tt-typeahead\"\n };\n methods = {\n initialize: function initialize(o, datasets) {\n var www;\n datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);\n o = o || {};\n www = WWW(o.classNames);\n return this.each(attach);\n function attach() {\n var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;\n _.each(datasets, function(d) {\n d.highlight = !!o.highlight;\n });\n $input = $(this);\n $wrapper = $(www.html.wrapper);\n $hint = $elOrNull(o.hint);\n $menu = $elOrNull(o.menu);\n defaultHint = o.hint !== false && !$hint;\n defaultMenu = o.menu !== false && !$menu;\n defaultHint && ($hint = buildHintFromInput($input, www));\n defaultMenu && ($menu = $(www.html.menu).css(www.css.menu));\n $hint && $hint.val(\"\");\n $input = prepInput($input, www);\n if (defaultHint || defaultMenu) {\n $wrapper.css(www.css.wrapper);\n $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);\n $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);\n }\n MenuConstructor = defaultMenu ? DefaultMenu : Menu;\n eventBus = new EventBus({\n el: $input\n });\n input = new Input({\n hint: $hint,\n input: $input,\n menu: $menu\n }, www);\n menu = new MenuConstructor({\n node: $menu,\n datasets: datasets\n }, www);\n status = new Status({\n $input: $input,\n menu: menu\n });\n typeahead = new Typeahead({\n input: input,\n menu: menu,\n eventBus: eventBus,\n minLength: o.minLength,\n autoselect: o.autoselect\n }, www);\n $input.data(keys.www, www);\n $input.data(keys.typeahead, typeahead);\n }\n },\n isEnabled: function isEnabled() {\n var enabled;\n ttEach(this.first(), function(t) {\n enabled = t.isEnabled();\n });\n return enabled;\n },\n enable: function enable() {\n ttEach(this, function(t) {\n t.enable();\n });\n return this;\n },\n disable: function disable() {\n ttEach(this, function(t) {\n t.disable();\n });\n return this;\n },\n isActive: function isActive() {\n var active;\n ttEach(this.first(), function(t) {\n active = t.isActive();\n });\n return active;\n },\n activate: function activate() {\n ttEach(this, function(t) {\n t.activate();\n });\n return this;\n },\n deactivate: function deactivate() {\n ttEach(this, function(t) {\n t.deactivate();\n });\n return this;\n },\n isOpen: function isOpen() {\n var open;\n ttEach(this.first(), function(t) {\n open = t.isOpen();\n });\n return open;\n },\n open: function open() {\n ttEach(this, function(t) {\n t.open();\n });\n return this;\n },\n close: function close() {\n ttEach(this, function(t) {\n t.close();\n });\n return this;\n },\n select: function select(el) {\n var success = false, $el = $(el);\n ttEach(this.first(), function(t) {\n success = t.select($el);\n });\n return success;\n },\n autocomplete: function autocomplete(el) {\n var success = false, $el = $(el);\n ttEach(this.first(), function(t) {\n success = t.autocomplete($el);\n });\n return success;\n },\n moveCursor: function moveCursoe(delta) {\n var success = false;\n ttEach(this.first(), function(t) {\n success = t.moveCursor(delta);\n });\n return success;\n },\n val: function val(newVal) {\n var query;\n if (!arguments.length) {\n ttEach(this.first(), function(t) {\n query = t.getVal();\n });\n return query;\n } else {\n ttEach(this, function(t) {\n t.setVal(_.toStr(newVal));\n });\n return this;\n }\n },\n destroy: function destroy() {\n ttEach(this, function(typeahead, $input) {\n revert($input);\n typeahead.destroy();\n });\n return this;\n }\n };\n $.fn.typeahead = function(method) {\n if (methods[method]) {\n return methods[method].apply(this, [].slice.call(arguments, 1));\n } else {\n return methods.initialize.apply(this, arguments);\n }\n };\n $.fn.typeahead.noConflict = function noConflict() {\n $.fn.typeahead = old;\n return this;\n };\n function ttEach($els, fn) {\n $els.each(function() {\n var $input = $(this), typeahead;\n (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input);\n });\n }\n function buildHintFromInput($input, www) {\n return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({\n readonly: true,\n required: false\n }).removeAttr(\"id name placeholder\").removeClass(\"required\").attr({\n spellcheck: \"false\",\n tabindex: -1\n });\n }\n function prepInput($input, www) {\n $input.data(keys.attrs, {\n dir: $input.attr(\"dir\"),\n autocomplete: $input.attr(\"autocomplete\"),\n spellcheck: $input.attr(\"spellcheck\"),\n style: $input.attr(\"style\")\n });\n $input.addClass(www.classes.input).attr({\n spellcheck: false\n });\n try {\n !$input.attr(\"dir\") && $input.attr(\"dir\", \"auto\");\n } catch (e) {}\n return $input;\n }\n function getBackgroundStyles($el) {\n return {\n backgroundAttachment: $el.css(\"background-attachment\"),\n backgroundClip: $el.css(\"background-clip\"),\n backgroundColor: $el.css(\"background-color\"),\n backgroundImage: $el.css(\"background-image\"),\n backgroundOrigin: $el.css(\"background-origin\"),\n backgroundPosition: $el.css(\"background-position\"),\n backgroundRepeat: $el.css(\"background-repeat\"),\n backgroundSize: $el.css(\"background-size\")\n };\n }\n function revert($input) {\n var www, $wrapper;\n www = $input.data(keys.www);\n $wrapper = $input.parent().filter(www.selectors.wrapper);\n _.each($input.data(keys.attrs), function(val, key) {\n _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);\n });\n $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);\n if ($wrapper.length) {\n $input.detach().insertAfter($wrapper);\n $wrapper.remove();\n }\n }\n function $elOrNull(obj) {\n var isValid, $el;\n isValid = _.isJQuery(obj) || _.isElement(obj);\n $el = isValid ? $(obj).first() : [];\n return $el.length ? $el : null;\n }\n })();\n});","var global = typeof self !== 'undefined' ? self : this;\nvar __self__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = global.DOMException\n}\nF.prototype = global;\nreturn new F();\n})();\n(function(self) {\n\nvar irrelevant = (function (exports) {\n\n var support = {\n searchParams: 'URLSearchParams' in self,\n iterable: 'Symbol' in self && 'iterator' in Symbol,\n blob:\n 'FileReader' in self &&\n 'Blob' in self &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in self,\n arrayBuffer: 'ArrayBuffer' in self\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~]/i.test(name)) {\n throw new TypeError('Invalid character in header field name')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsText(blob);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n this._bodyInit = body;\n if (!body) {\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n return consumed(this) || Promise.resolve(this._bodyArrayBuffer)\n } else {\n return this.blob().then(readBlobAsArrayBuffer)\n }\n };\n }\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['DELETE', 'GET', 'HEAD', 'OPTIONS', 'POST', 'PUT'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal;\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n preProcessedHeaders.split(/\\r?\\n/).forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n headers.append(key, value);\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = 'statusText' in options ? options.statusText : 'OK';\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 0, statusText: ''});\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = self.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n status: xhr.status,\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n resolve(new Response(body, options));\n };\n\n xhr.onerror = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.ontimeout = function() {\n reject(new TypeError('Network request failed'));\n };\n\n xhr.onabort = function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n };\n\n xhr.open(request.method, request.url, true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr && support.blob) {\n xhr.responseType = 'blob';\n }\n\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!self.fetch) {\n self.fetch = fetch;\n self.Headers = Headers;\n self.Request = Request;\n self.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__self__);\n__self__.fetch.ponyfill = true;\n// Remove \"polyfill\" property added by whatwg-fetch\ndelete __self__.fetch.polyfill;\n// Choose between native implementation (global) or custom implementation (__self__)\n// var ctx = global.fetch ? global : __self__;\nvar ctx = __self__; // this line disable service worker support temporarily\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","/*\n * International Telephone Input v12.4.0\n * https://github.com/jackocnr/intl-tel-input.git\n * Licensed under the MIT license\n */\n\n// wrap in UMD - see https://github.com/umdjs/umd/blob/master/jqueryPluginCommonjs.js\n(function(factory) {\n if (typeof define === \"function\" && define.amd) {\n define([ \"jquery\" ], function($) {\n factory($, window, document);\n });\n } else if (typeof module === \"object\" && module.exports) {\n module.exports = factory(require(\"jquery\"), window, document);\n } else {\n factory(jQuery, window, document);\n }\n})(function($, window, document, undefined) {\n \"use strict\";\n // these vars persist through all instances of the plugin\n var pluginName = \"intlTelInput\", id = 1, // give each instance it's own id for namespaced event handling\n defaults = {\n // whether or not to allow the dropdown\n allowDropdown: true,\n // if there is just a dial code in the input: remove it on blur, and re-add it on focus\n autoHideDialCode: true,\n // add a placeholder in the input with an example number for the selected country\n autoPlaceholder: \"polite\",\n // modify the auto placeholder\n customPlaceholder: null,\n // append menu to a specific element\n dropdownContainer: \"\",\n // don't display these countries\n excludeCountries: [],\n // format the input value during initialisation and on setNumber\n formatOnDisplay: true,\n // geoIp lookup function\n geoIpLookup: null,\n // inject a hidden input with this name, and on submit, populate it with the result of getNumber\n hiddenInput: \"\",\n // initial country\n initialCountry: \"\",\n // localized country names e.g. { 'de': 'Deutschland' }\n localizedCountries: null,\n // don't insert international dial codes\n nationalMode: true,\n // display only these countries\n onlyCountries: [],\n // number type to use for placeholders\n placeholderNumberType: \"MOBILE\",\n // the countries at the top of the list. defaults to united states and united kingdom\n preferredCountries: [ \"us\", \"gb\" ],\n // display the country dial code next to the selected flag so it's not part of the typed number\n separateDialCode: false,\n // specify the path to the libphonenumber script to enable validation/formatting\n utilsScript: \"\"\n }, keys = {\n UP: 38,\n DOWN: 40,\n ENTER: 13,\n ESC: 27,\n PLUS: 43,\n A: 65,\n Z: 90,\n SPACE: 32,\n TAB: 9\n }, // https://en.wikipedia.org/wiki/List_of_North_American_Numbering_Plan_area_codes#Non-geographic_area_codes\n regionlessNanpNumbers = [ \"800\", \"822\", \"833\", \"844\", \"855\", \"866\", \"877\", \"880\", \"881\", \"882\", \"883\", \"884\", \"885\", \"886\", \"887\", \"888\", \"889\" ];\n // keep track of if the window.load event has fired as impossible to check after the fact\n $(window).on(\"load\", function() {\n // UPDATE: use a public static field so we can fudge it in the tests\n $.fn[pluginName].windowLoaded = true;\n });\n function Plugin(element, options) {\n this.telInput = $(element);\n this.options = $.extend({}, defaults, options);\n // event namespace\n this.ns = \".\" + pluginName + id++;\n // Chrome, FF, Safari, IE9+\n this.isGoodBrowser = Boolean(element.setSelectionRange);\n this.hadInitialPlaceholder = Boolean($(element).attr(\"placeholder\"));\n }\n Plugin.prototype = {\n _init: function() {\n // if in nationalMode, disable options relating to dial codes\n if (this.options.nationalMode) {\n this.options.autoHideDialCode = false;\n }\n // if separateDialCode then doesn't make sense to A) insert dial code into input (autoHideDialCode), and B) display national numbers (because we're displaying the country dial code next to them)\n if (this.options.separateDialCode) {\n this.options.autoHideDialCode = this.options.nationalMode = false;\n }\n // we cannot just test screen size as some smartphones/website meta tags will report desktop resolutions\n // Note: for some reason jasmine breaks if you put this in the main Plugin function with the rest of these declarations\n // Note: to target Android Mobiles (and not Tablets), we must find \"Android\" and \"Mobile\"\n this.isMobile = /Android.+Mobile|webOS|iPhone|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n if (this.isMobile) {\n // trigger the mobile dropdown css\n $(\"body\").addClass(\"iti-mobile\");\n // on mobile, we want a full screen dropdown, so we must append it to the body\n if (!this.options.dropdownContainer) {\n this.options.dropdownContainer = \"body\";\n }\n }\n // we return these deferred objects from the _init() call so they can be watched, and then we resolve them when each specific request returns\n // Note: again, jasmine breaks when I put these in the Plugin function\n this.autoCountryDeferred = new $.Deferred();\n this.utilsScriptDeferred = new $.Deferred();\n // in various situations there could be no country selected initially, but we need to be able to assume this variable exists\n this.selectedCountryData = {};\n // process all the data: onlyCountries, excludeCountries, preferredCountries etc\n this._processCountryData();\n // generate the markup\n this._generateMarkup();\n // set the initial state of the input value and the selected flag\n this._setInitialState();\n // start all of the event listeners: autoHideDialCode, input keydown, selectedFlag click\n this._initListeners();\n // utils script, and auto country\n this._initRequests();\n // return the deferreds\n return [ this.autoCountryDeferred, this.utilsScriptDeferred ];\n },\n /********************\n * PRIVATE METHODS\n ********************/\n // prepare all of the country data, including onlyCountries, excludeCountries and preferredCountries options\n _processCountryData: function() {\n // process onlyCountries or excludeCountries array if present\n this._processAllCountries();\n // process the countryCodes map\n this._processCountryCodes();\n // process the preferredCountries\n this._processPreferredCountries();\n // translate countries according to localizedCountries option\n if (this.options.localizedCountries) {\n this._translateCountriesByLocale();\n }\n // sort countries by name\n if (this.options.onlyCountries.length || this.options.localizedCountries) {\n this.countries.sort(this._countryNameSort);\n }\n },\n // add a country code to this.countryCodes\n _addCountryCode: function(iso2, dialCode, priority) {\n if (!(dialCode in this.countryCodes)) {\n this.countryCodes[dialCode] = [];\n }\n var index = priority || 0;\n this.countryCodes[dialCode][index] = iso2;\n },\n // process onlyCountries or excludeCountries array if present\n _processAllCountries: function() {\n if (this.options.onlyCountries.length) {\n var lowerCaseOnlyCountries = this.options.onlyCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseOnlyCountries.indexOf(country.iso2) > -1;\n });\n } else if (this.options.excludeCountries.length) {\n var lowerCaseExcludeCountries = this.options.excludeCountries.map(function(country) {\n return country.toLowerCase();\n });\n this.countries = allCountries.filter(function(country) {\n return lowerCaseExcludeCountries.indexOf(country.iso2) === -1;\n });\n } else {\n this.countries = allCountries;\n }\n },\n // Translate Countries by object literal provided on config\n _translateCountriesByLocale: function() {\n for (var i = 0; i < this.countries.length; i++) {\n var iso = this.countries[i].iso2.toLowerCase();\n if (iso in this.options.localizedCountries) {\n this.countries[i].name = this.options.localizedCountries[iso];\n }\n }\n },\n // sort by country name\n _countryNameSort: function(a, b) {\n return a.name.localeCompare(b.name);\n },\n // process the countryCodes map\n _processCountryCodes: function() {\n this.countryCodes = {};\n for (var i = 0; i < this.countries.length; i++) {\n var c = this.countries[i];\n this._addCountryCode(c.iso2, c.dialCode, c.priority);\n // area codes\n if (c.areaCodes) {\n for (var j = 0; j < c.areaCodes.length; j++) {\n // full dial code is country code + dial code\n this._addCountryCode(c.iso2, c.dialCode + c.areaCodes[j]);\n }\n }\n }\n },\n // process preferred countries - iterate through the preferences, fetching the country data for each one\n _processPreferredCountries: function() {\n this.preferredCountries = [];\n for (var i = 0; i < this.options.preferredCountries.length; i++) {\n var countryCode = this.options.preferredCountries[i].toLowerCase(), countryData = this._getCountryData(countryCode, false, true);\n if (countryData) {\n this.preferredCountries.push(countryData);\n }\n }\n },\n // generate all of the markup for the plugin: the selected flag overlay, and the dropdown\n _generateMarkup: function() {\n // prevent autocomplete as there's no safe, cross-browser event we can react to, so it can easily put the plugin in an inconsistent state e.g. the wrong flag selected for the autocompleted number, which on submit could mean the wrong number is saved (esp in nationalMode)\n this.telInput.attr(\"autocomplete\", \"off\");\n // containers (mostly for positioning)\n var parentClass = \"intl-tel-input\";\n if (this.options.allowDropdown) {\n parentClass += \" allow-dropdown\";\n }\n if (this.options.separateDialCode) {\n parentClass += \" separate-dial-code\";\n }\n this.telInput.wrap($(\"
\", {\n \"class\": parentClass\n }));\n this.flagsContainer = $(\"
\", {\n \"class\": \"flag-container\"\n }).insertBefore(this.telInput);\n // currently selected flag (displayed to left of input)\n var selectedFlag = $(\"
\", {\n \"class\": \"selected-flag\"\n });\n selectedFlag.appendTo(this.flagsContainer);\n this.selectedFlagInner = $(\"
\", {\n \"class\": \"iti-flag\"\n }).appendTo(selectedFlag);\n if (this.options.separateDialCode) {\n this.selectedDialCode = $(\"
\", {\n \"class\": \"selected-dial-code\"\n }).appendTo(selectedFlag);\n }\n if (this.options.allowDropdown) {\n // make element focusable and tab naviagable\n selectedFlag.attr(\"tabindex\", \"0\");\n // CSS triangle\n $(\"
\", {\n \"class\": \"iti-arrow\"\n }).appendTo(selectedFlag);\n // country dropdown: preferred countries, then divider, then all countries\n this.countryList = $(\"
    \", {\n \"class\": \"country-list hide\"\n });\n if (this.preferredCountries.length) {\n this._appendListItems(this.preferredCountries, \"preferred\");\n $(\"
  • \", {\n \"class\": \"divider\"\n }).appendTo(this.countryList);\n }\n this._appendListItems(this.countries, \"\");\n // this is useful in lots of places\n this.countryListItems = this.countryList.children(\".country\");\n // create dropdownContainer markup\n if (this.options.dropdownContainer) {\n this.dropdown = $(\"
    \", {\n \"class\": \"intl-tel-input iti-container\"\n }).append(this.countryList);\n } else {\n this.countryList.appendTo(this.flagsContainer);\n }\n } else {\n // a little hack so we don't break anything\n this.countryListItems = $();\n }\n if (this.options.hiddenInput) {\n this.hiddenInput = $(\"\", {\n type: \"hidden\",\n name: this.options.hiddenInput\n }).insertAfter(this.telInput);\n }\n },\n // add a country
  • to the countryList
      container\n _appendListItems: function(countries, className) {\n // we create so many DOM elements, it is faster to build a temp string\n // and then add everything to the DOM in one go at the end\n var tmp = \"\";\n // for each country\n for (var i = 0; i < countries.length; i++) {\n var c = countries[i];\n // open the list item\n tmp += \"
    • \";\n // add the flag\n tmp += \"
      \";\n // and the country name and dial code\n tmp += \"\" + c.name + \"\";\n tmp += \"+\" + c.dialCode + \"\";\n // close the list item\n tmp += \"
    • \";\n }\n this.countryList.append(tmp);\n },\n // set the initial state of the input value and the selected flag by:\n // 1. extracting a dial code from the given number\n // 2. using explicit initialCountry\n // 3. picking the first preferred country\n // 4. picking the first country\n _setInitialState: function() {\n var val = this.telInput.val();\n // if we already have a dial code, and it's not a regionlessNanp, we can go ahead and set the flag, else fall back to the default country\n // UPDATE: actually we do want to set the flag for a regionlessNanp in one situation: if we're in nationalMode and there's no initialCountry - otherwise we lose the +1 and we're left with an invalid number\n if (this._getDialCode(val) && (!this._isRegionlessNanp(val) || this.options.nationalMode && !this.options.initialCountry)) {\n this._updateFlagFromNumber(val);\n } else if (this.options.initialCountry !== \"auto\") {\n // see if we should select a flag\n if (this.options.initialCountry) {\n this._setFlag(this.options.initialCountry.toLowerCase());\n } else {\n // no dial code and no initialCountry, so default to first in list\n this.defaultCountry = this.preferredCountries.length ? this.preferredCountries[0].iso2 : this.countries[0].iso2;\n if (!val) {\n this._setFlag(this.defaultCountry);\n }\n }\n // if empty and no nationalMode and no autoHideDialCode then insert the default dial code\n if (!val && !this.options.nationalMode && !this.options.autoHideDialCode && !this.options.separateDialCode) {\n this.telInput.val(\"+\" + this.selectedCountryData.dialCode);\n }\n }\n // NOTE: if initialCountry is set to auto, that will be handled separately\n // format\n if (val) {\n // this wont be run after _updateDialCode as that's only called if no val\n this._updateValFromNumber(val);\n }\n },\n // initialise the main event listeners: input keyup, and click selected flag\n _initListeners: function() {\n this._initKeyListeners();\n if (this.options.autoHideDialCode) {\n this._initFocusListeners();\n }\n if (this.options.allowDropdown) {\n this._initDropdownListeners();\n }\n if (this.hiddenInput) {\n this._initHiddenInputListener();\n }\n },\n // update hidden input on form submit\n _initHiddenInputListener: function() {\n var that = this;\n var form = this.telInput.closest(\"form\");\n if (form.length) {\n form.submit(function() {\n that.hiddenInput.val(that.getNumber());\n });\n }\n },\n // initialise the dropdown listeners\n _initDropdownListeners: function() {\n var that = this;\n // hack for input nested inside label: clicking the selected-flag to open the dropdown would then automatically trigger a 2nd click on the input which would close it again\n var label = this.telInput.closest(\"label\");\n if (label.length) {\n label.on(\"click\" + this.ns, function(e) {\n // if the dropdown is closed, then focus the input, else ignore the click\n if (that.countryList.hasClass(\"hide\")) {\n that.telInput.focus();\n } else {\n e.preventDefault();\n }\n });\n }\n // toggle country dropdown on click\n var selectedFlag = this.selectedFlagInner.parent();\n selectedFlag.on(\"click\" + this.ns, function(e) {\n // only intercept this event if we're opening the dropdown\n // else let it bubble up to the top (\"click-off-to-close\" listener)\n // we cannot just stopPropagation as it may be needed to close another instance\n if (that.countryList.hasClass(\"hide\") && !that.telInput.prop(\"disabled\") && !that.telInput.prop(\"readonly\")) {\n that._showDropdown();\n }\n });\n // open dropdown list if currently focused\n this.flagsContainer.on(\"keydown\" + that.ns, function(e) {\n var isDropdownHidden = that.countryList.hasClass(\"hide\");\n if (isDropdownHidden && (e.which == keys.UP || e.which == keys.DOWN || e.which == keys.SPACE || e.which == keys.ENTER)) {\n // prevent form from being submitted if \"ENTER\" was pressed\n e.preventDefault();\n // prevent event from being handled again by document\n e.stopPropagation();\n that._showDropdown();\n }\n // allow navigation from dropdown to input on TAB\n if (e.which == keys.TAB) {\n that._closeDropdown();\n }\n });\n },\n // init many requests: utils script / geo ip lookup\n _initRequests: function() {\n var that = this;\n // if the user has specified the path to the utils script, fetch it on window.load, else resolve\n if (this.options.utilsScript) {\n // if the plugin is being initialised after the window.load event has already been fired\n if ($.fn[pluginName].windowLoaded) {\n $.fn[pluginName].loadUtils(this.options.utilsScript, this.utilsScriptDeferred);\n } else {\n // wait until the load event so we don't block any other requests e.g. the flags image\n $(window).on(\"load\", function() {\n $.fn[pluginName].loadUtils(that.options.utilsScript, that.utilsScriptDeferred);\n });\n }\n } else {\n this.utilsScriptDeferred.resolve();\n }\n if (this.options.initialCountry === \"auto\") {\n this._loadAutoCountry();\n } else {\n this.autoCountryDeferred.resolve();\n }\n },\n // perform the geo ip lookup\n _loadAutoCountry: function() {\n var that = this;\n // 3 options:\n // 1) already loaded (we're done)\n // 2) not already started loading (start)\n // 3) already started loading (do nothing - just wait for loading callback to fire)\n if ($.fn[pluginName].autoCountry) {\n this.handleAutoCountry();\n } else if (!$.fn[pluginName].startedLoadingAutoCountry) {\n // don't do this twice!\n $.fn[pluginName].startedLoadingAutoCountry = true;\n if (typeof this.options.geoIpLookup === \"function\") {\n this.options.geoIpLookup(function(countryCode) {\n $.fn[pluginName].autoCountry = countryCode.toLowerCase();\n // tell all instances the auto country is ready\n // TODO: this should just be the current instances\n // UPDATE: use setTimeout in case their geoIpLookup function calls this callback straight away (e.g. if they have already done the geo ip lookup somewhere else). Using setTimeout means that the current thread of execution will finish before executing this, which allows the plugin to finish initialising.\n setTimeout(function() {\n $(\".intl-tel-input input\").intlTelInput(\"handleAutoCountry\");\n });\n });\n }\n }\n },\n // initialize any key listeners\n _initKeyListeners: function() {\n var that = this;\n // update flag on keyup\n // (keep this listener separate otherwise the setTimeout breaks all the tests)\n this.telInput.on(\"keyup\" + this.ns, function() {\n if (that._updateFlagFromNumber(that.telInput.val())) {\n that._triggerCountryChange();\n }\n });\n // update flag on cut/paste events (now supported in all major browsers)\n this.telInput.on(\"cut\" + this.ns + \" paste\" + this.ns, function() {\n // hack because \"paste\" event is fired before input is updated\n setTimeout(function() {\n if (that._updateFlagFromNumber(that.telInput.val())) {\n that._triggerCountryChange();\n }\n });\n });\n },\n // adhere to the input's maxlength attr\n _cap: function(number) {\n var max = this.telInput.attr(\"maxlength\");\n return max && number.length > max ? number.substr(0, max) : number;\n },\n // listen for mousedown, focus and blur\n _initFocusListeners: function() {\n var that = this;\n // mousedown decides where the cursor goes, so if we're focusing we must preventDefault as we'll be inserting the dial code, and we want the cursor to be at the end no matter where they click\n this.telInput.on(\"mousedown\" + this.ns, function(e) {\n if (!that.telInput.is(\":focus\") && !that.telInput.val()) {\n e.preventDefault();\n // but this also cancels the focus, so we must trigger that manually\n that.telInput.focus();\n }\n });\n // on focus: if empty, insert the dial code for the currently selected flag\n this.telInput.on(\"focus\" + this.ns, function(e) {\n if (!that.telInput.val() && !that.telInput.prop(\"readonly\") && that.selectedCountryData.dialCode) {\n // insert the dial code\n that.telInput.val(\"+\" + that.selectedCountryData.dialCode);\n // after auto-inserting a dial code, if the first key they hit is '+' then assume they are entering a new number, so remove the dial code. use keypress instead of keydown because keydown gets triggered for the shift key (required to hit the + key), and instead of keyup because that shows the new '+' before removing the old one\n that.telInput.one(\"keypress.plus\" + that.ns, function(e) {\n if (e.which == keys.PLUS) {\n that.telInput.val(\"\");\n }\n });\n // after tabbing in, make sure the cursor is at the end we must use setTimeout to get outside of the focus handler as it seems the selection happens after that\n setTimeout(function() {\n var input = that.telInput[0];\n if (that.isGoodBrowser) {\n var len = that.telInput.val().length;\n input.setSelectionRange(len, len);\n }\n });\n }\n });\n // on blur or form submit: if just a dial code then remove it\n var form = this.telInput.prop(\"form\");\n if (form) {\n $(form).on(\"submit\" + this.ns, function() {\n that._removeEmptyDialCode();\n });\n }\n this.telInput.on(\"blur\" + this.ns, function() {\n that._removeEmptyDialCode();\n });\n },\n _removeEmptyDialCode: function() {\n var value = this.telInput.val(), startsPlus = value.charAt(0) == \"+\";\n if (startsPlus) {\n var numeric = this._getNumeric(value);\n // if just a plus, or if just a dial code\n if (!numeric || this.selectedCountryData.dialCode == numeric) {\n this.telInput.val(\"\");\n }\n }\n // remove the keypress listener we added on focus\n this.telInput.off(\"keypress.plus\" + this.ns);\n },\n // extract the numeric digits from the given string\n _getNumeric: function(s) {\n return s.replace(/\\D/g, \"\");\n },\n // show the dropdown\n _showDropdown: function() {\n this._setDropdownPosition();\n // update highlighting and scroll to active list item\n var activeListItem = this.countryList.children(\".active\");\n if (activeListItem.length) {\n this._highlightListItem(activeListItem);\n this._scrollTo(activeListItem);\n }\n // bind all the dropdown-related listeners: mouseover, click, click-off, keydown\n this._bindDropdownListeners();\n // update the arrow\n this.selectedFlagInner.children(\".iti-arrow\").addClass(\"up\");\n this.telInput.trigger(\"open:countrydropdown\");\n },\n // decide where to position dropdown (depends on position within viewport, and scroll)\n _setDropdownPosition: function() {\n var that = this;\n if (this.options.dropdownContainer) {\n this.dropdown.appendTo(this.options.dropdownContainer);\n }\n // show the menu and grab the dropdown height\n this.dropdownHeight = this.countryList.removeClass(\"hide\").outerHeight();\n if (!this.isMobile) {\n var pos = this.telInput.offset(), inputTop = pos.top, windowTop = $(window).scrollTop(), // dropdownFitsBelow = (dropdownBottom < windowBottom)\n dropdownFitsBelow = inputTop + this.telInput.outerHeight() + this.dropdownHeight < windowTop + $(window).height(), dropdownFitsAbove = inputTop - this.dropdownHeight > windowTop;\n // by default, the dropdown will be below the input. If we want to position it above the input, we add the dropup class.\n this.countryList.toggleClass(\"dropup\", !dropdownFitsBelow && dropdownFitsAbove);\n // if dropdownContainer is enabled, calculate postion\n if (this.options.dropdownContainer) {\n // by default the dropdown will be directly over the input because it's not in the flow. If we want to position it below, we need to add some extra top value.\n var extraTop = !dropdownFitsBelow && dropdownFitsAbove ? 0 : this.telInput.innerHeight();\n // calculate placement\n this.dropdown.css({\n top: inputTop + extraTop,\n left: pos.left\n });\n // close menu on window scroll\n $(window).on(\"scroll\" + this.ns, function() {\n that._closeDropdown();\n });\n }\n }\n },\n // we only bind dropdown listeners when the dropdown is open\n _bindDropdownListeners: function() {\n var that = this;\n // when mouse over a list item, just highlight that one\n // we add the class \"highlight\", so if they hit \"enter\" we know which one to select\n this.countryList.on(\"mouseover\" + this.ns, \".country\", function(e) {\n that._highlightListItem($(this));\n });\n // listen for country selection\n this.countryList.on(\"click\" + this.ns, \".country\", function(e) {\n that._selectListItem($(this));\n });\n // click off to close\n // (except when this initial opening click is bubbling up)\n // we cannot just stopPropagation as it may be needed to close another instance\n var isOpening = true;\n $(\"html\").on(\"click\" + this.ns, function(e) {\n if (!isOpening) {\n that._closeDropdown();\n }\n isOpening = false;\n });\n // listen for up/down scrolling, enter to select, or letters to jump to country name.\n // use keydown as keypress doesn't fire for non-char keys and we want to catch if they\n // just hit down and hold it to scroll down (no keyup event).\n // listen on the document because that's where key events are triggered if no input has focus\n var query = \"\", queryTimer = null;\n $(document).on(\"keydown\" + this.ns, function(e) {\n // prevent down key from scrolling the whole page,\n // and enter key from submitting a form etc\n e.preventDefault();\n if (e.which == keys.UP || e.which == keys.DOWN) {\n // up and down to navigate\n that._handleUpDownKey(e.which);\n } else if (e.which == keys.ENTER) {\n // enter to select\n that._handleEnterKey();\n } else if (e.which == keys.ESC) {\n // esc to close\n that._closeDropdown();\n } else if (e.which >= keys.A && e.which <= keys.Z || e.which == keys.SPACE) {\n // upper case letters (note: keyup/keydown only return upper case letters)\n // jump to countries that start with the query string\n if (queryTimer) {\n clearTimeout(queryTimer);\n }\n query += String.fromCharCode(e.which);\n that._searchForCountry(query);\n // if the timer hits 1 second, reset the query\n queryTimer = setTimeout(function() {\n query = \"\";\n }, 1e3);\n }\n });\n },\n // highlight the next/prev item in the list (and ensure it is visible)\n _handleUpDownKey: function(key) {\n var current = this.countryList.children(\".highlight\").first();\n var next = key == keys.UP ? current.prev() : current.next();\n if (next.length) {\n // skip the divider\n if (next.hasClass(\"divider\")) {\n next = key == keys.UP ? next.prev() : next.next();\n }\n this._highlightListItem(next);\n this._scrollTo(next);\n }\n },\n // select the currently highlighted item\n _handleEnterKey: function() {\n var currentCountry = this.countryList.children(\".highlight\").first();\n if (currentCountry.length) {\n this._selectListItem(currentCountry);\n }\n },\n // find the first list item whose name starts with the query string\n _searchForCountry: function(query) {\n for (var i = 0; i < this.countries.length; i++) {\n if (this._startsWith(this.countries[i].name, query)) {\n var listItem = this.countryList.children(\"[data-country-code=\" + this.countries[i].iso2 + \"]\").not(\".preferred\");\n // update highlighting and scroll\n this._highlightListItem(listItem);\n this._scrollTo(listItem, true);\n break;\n }\n }\n },\n // check if (uppercase) string a starts with string b\n _startsWith: function(a, b) {\n return a.substr(0, b.length).toUpperCase() == b;\n },\n // update the input's value to the given val (format first if possible)\n // NOTE: this is called from _setInitialState, handleUtils and setNumber\n _updateValFromNumber: function(number) {\n if (this.options.formatOnDisplay && window.intlTelInputUtils && this.selectedCountryData) {\n var format = !this.options.separateDialCode && (this.options.nationalMode || number.charAt(0) != \"+\") ? intlTelInputUtils.numberFormat.NATIONAL : intlTelInputUtils.numberFormat.INTERNATIONAL;\n number = intlTelInputUtils.formatNumber(number, this.selectedCountryData.iso2, format);\n }\n number = this._beforeSetNumber(number);\n this.telInput.val(number);\n },\n // check if need to select a new flag based on the given number\n // Note: called from _setInitialState, keyup handler, setNumber\n _updateFlagFromNumber: function(number) {\n // if we're in nationalMode and we already have US/Canada selected, make sure the number starts with a +1 so _getDialCode will be able to extract the area code\n // update: if we dont yet have selectedCountryData, but we're here (trying to update the flag from the number), that means we're initialising the plugin with a number that already has a dial code, so fine to ignore this bit\n if (number && this.options.nationalMode && this.selectedCountryData.dialCode == \"1\" && number.charAt(0) != \"+\") {\n if (number.charAt(0) != \"1\") {\n number = \"1\" + number;\n }\n number = \"+\" + number;\n }\n // try and extract valid dial code from input\n var dialCode = this._getDialCode(number), countryCode = null, numeric = this._getNumeric(number);\n if (dialCode) {\n // check if one of the matching countries is already selected\n var countryCodes = this.countryCodes[this._getNumeric(dialCode)], alreadySelected = $.inArray(this.selectedCountryData.iso2, countryCodes) > -1, // check if the given number contains a NANP area code i.e. the only dialCode that could be extracted was +1 (instead of say +1204) and the actual number's length is >=4\n isNanpAreaCode = dialCode == \"+1\" && numeric.length >= 4, nanpSelected = this.selectedCountryData.dialCode == \"1\";\n // only update the flag if:\n // A) NOT (we currently have a NANP flag selected, and the number is a regionlessNanp)\n // AND\n // B) either a matching country is not already selected OR the number contains a NANP area code (ensure the flag is set to the first matching country)\n if (!(nanpSelected && this._isRegionlessNanp(numeric)) && (!alreadySelected || isNanpAreaCode)) {\n // if using onlyCountries option, countryCodes[0] may be empty, so we must find the first non-empty index\n for (var j = 0; j < countryCodes.length; j++) {\n if (countryCodes[j]) {\n countryCode = countryCodes[j];\n break;\n }\n }\n }\n } else if (number.charAt(0) == \"+\" && numeric.length) {\n // invalid dial code, so empty\n // Note: use getNumeric here because the number has not been formatted yet, so could contain bad chars\n countryCode = \"\";\n } else if (!number || number == \"+\") {\n // empty, or just a plus, so default\n countryCode = this.defaultCountry;\n }\n if (countryCode !== null) {\n return this._setFlag(countryCode);\n }\n return false;\n },\n // check if the given number is a regionless NANP number (expects the number to contain an international dial code)\n _isRegionlessNanp: function(number) {\n var numeric = this._getNumeric(number);\n if (numeric.charAt(0) == \"1\") {\n var areaCode = numeric.substr(1, 3);\n return $.inArray(areaCode, regionlessNanpNumbers) > -1;\n }\n return false;\n },\n // remove highlighting from other list items and highlight the given item\n _highlightListItem: function(listItem) {\n this.countryListItems.removeClass(\"highlight\");\n listItem.addClass(\"highlight\");\n },\n // find the country data for the given country code\n // the ignoreOnlyCountriesOption is only used during init() while parsing the onlyCountries array\n _getCountryData: function(countryCode, ignoreOnlyCountriesOption, allowFail) {\n var countryList = ignoreOnlyCountriesOption ? allCountries : this.countries;\n for (var i = 0; i < countryList.length; i++) {\n if (countryList[i].iso2 == countryCode) {\n return countryList[i];\n }\n }\n if (allowFail) {\n return null;\n } else {\n throw new Error(\"No country data for '\" + countryCode + \"'\");\n }\n },\n // select the given flag, update the placeholder and the active list item\n // Note: called from _setInitialState, _updateFlagFromNumber, _selectListItem, setCountry\n _setFlag: function(countryCode) {\n var prevCountry = this.selectedCountryData.iso2 ? this.selectedCountryData : {};\n // do this first as it will throw an error and stop if countryCode is invalid\n this.selectedCountryData = countryCode ? this._getCountryData(countryCode, false, false) : {};\n // update the defaultCountry - we only need the iso2 from now on, so just store that\n if (this.selectedCountryData.iso2) {\n this.defaultCountry = this.selectedCountryData.iso2;\n }\n this.selectedFlagInner.attr(\"class\", \"iti-flag \" + countryCode);\n // update the selected country's title attribute\n var title = countryCode ? this.selectedCountryData.name + \": +\" + this.selectedCountryData.dialCode : \"Unknown\";\n this.selectedFlagInner.parent().attr(\"title\", title);\n if (this.options.separateDialCode) {\n var dialCode = this.selectedCountryData.dialCode ? \"+\" + this.selectedCountryData.dialCode : \"\", parent = this.telInput.parent();\n if (prevCountry.dialCode) {\n parent.removeClass(\"iti-sdc-\" + (prevCountry.dialCode.length + 1));\n }\n if (dialCode) {\n parent.addClass(\"iti-sdc-\" + dialCode.length);\n }\n this.selectedDialCode.text(dialCode);\n }\n // and the input's placeholder\n this._updatePlaceholder();\n // update the active list item\n this.countryListItems.removeClass(\"active\");\n if (countryCode) {\n this.countryListItems.find(\".iti-flag.\" + countryCode).first().closest(\".country\").addClass(\"active\");\n }\n // return if the flag has changed or not\n return prevCountry.iso2 !== countryCode;\n },\n // update the input placeholder to an example number from the currently selected country\n _updatePlaceholder: function() {\n var shouldSetPlaceholder = this.options.autoPlaceholder === \"aggressive\" || !this.hadInitialPlaceholder && (this.options.autoPlaceholder === true || this.options.autoPlaceholder === \"polite\");\n if (window.intlTelInputUtils && shouldSetPlaceholder) {\n var numberType = intlTelInputUtils.numberType[this.options.placeholderNumberType], placeholder = this.selectedCountryData.iso2 ? intlTelInputUtils.getExampleNumber(this.selectedCountryData.iso2, this.options.nationalMode, numberType) : \"\";\n placeholder = this._beforeSetNumber(placeholder);\n if (typeof this.options.customPlaceholder === \"function\") {\n placeholder = this.options.customPlaceholder(placeholder, this.selectedCountryData);\n }\n this.telInput.attr(\"placeholder\", placeholder);\n }\n },\n // called when the user selects a list item from the dropdown\n _selectListItem: function(listItem) {\n // update selected flag and active list item\n var flagChanged = this._setFlag(listItem.attr(\"data-country-code\"));\n this._closeDropdown();\n this._updateDialCode(listItem.attr(\"data-dial-code\"), true);\n // focus the input\n this.telInput.focus();\n // put cursor at end - this fix is required for FF and IE11 (with nationalMode=false i.e. auto inserting dial code), who try to put the cursor at the beginning the first time\n if (this.isGoodBrowser) {\n var len = this.telInput.val().length;\n this.telInput[0].setSelectionRange(len, len);\n }\n if (flagChanged) {\n this._triggerCountryChange();\n }\n },\n // close the dropdown and unbind any listeners\n _closeDropdown: function() {\n this.countryList.addClass(\"hide\");\n // update the arrow\n this.selectedFlagInner.children(\".iti-arrow\").removeClass(\"up\");\n // unbind key events\n $(document).off(this.ns);\n // unbind click-off-to-close\n $(\"html\").off(this.ns);\n // unbind hover and click listeners\n this.countryList.off(this.ns);\n // remove menu from container\n if (this.options.dropdownContainer) {\n if (!this.isMobile) {\n $(window).off(\"scroll\" + this.ns);\n }\n this.dropdown.detach();\n }\n this.telInput.trigger(\"close:countrydropdown\");\n },\n // check if an element is visible within it's container, else scroll until it is\n _scrollTo: function(element, middle) {\n var container = this.countryList, containerHeight = container.height(), containerTop = container.offset().top, containerBottom = containerTop + containerHeight, elementHeight = element.outerHeight(), elementTop = element.offset().top, elementBottom = elementTop + elementHeight, newScrollTop = elementTop - containerTop + container.scrollTop(), middleOffset = containerHeight / 2 - elementHeight / 2;\n if (elementTop < containerTop) {\n // scroll up\n if (middle) {\n newScrollTop -= middleOffset;\n }\n container.scrollTop(newScrollTop);\n } else if (elementBottom > containerBottom) {\n // scroll down\n if (middle) {\n newScrollTop += middleOffset;\n }\n var heightDifference = containerHeight - elementHeight;\n container.scrollTop(newScrollTop - heightDifference);\n }\n },\n // replace any existing dial code with the new one\n // Note: called from _selectListItem and setCountry\n _updateDialCode: function(newDialCode, hasSelectedListItem) {\n var inputVal = this.telInput.val(), newNumber;\n // save having to pass this every time\n newDialCode = \"+\" + newDialCode;\n if (inputVal.charAt(0) == \"+\") {\n // there's a plus so we're dealing with a replacement (doesn't matter if nationalMode or not)\n var prevDialCode = this._getDialCode(inputVal);\n if (prevDialCode) {\n // current number contains a valid dial code, so replace it\n newNumber = inputVal.replace(prevDialCode, newDialCode);\n } else {\n // current number contains an invalid dial code, so ditch it\n // (no way to determine where the invalid dial code ends and the rest of the number begins)\n newNumber = newDialCode;\n }\n } else if (this.options.nationalMode || this.options.separateDialCode) {\n // don't do anything\n return;\n } else {\n // nationalMode is disabled\n if (inputVal) {\n // there is an existing value with no dial code: prefix the new dial code\n newNumber = newDialCode + inputVal;\n } else if (hasSelectedListItem || !this.options.autoHideDialCode) {\n // no existing value and either they've just selected a list item, or autoHideDialCode is disabled: insert new dial code\n newNumber = newDialCode;\n } else {\n return;\n }\n }\n this.telInput.val(newNumber);\n },\n // try and extract a valid international dial code from a full telephone number\n // Note: returns the raw string inc plus character and any whitespace/dots etc\n _getDialCode: function(number) {\n var dialCode = \"\";\n // only interested in international numbers (starting with a plus)\n if (number.charAt(0) == \"+\") {\n var numericChars = \"\";\n // iterate over chars\n for (var i = 0; i < number.length; i++) {\n var c = number.charAt(i);\n // if char is number\n if ($.isNumeric(c)) {\n numericChars += c;\n // if current numericChars make a valid dial code\n if (this.countryCodes[numericChars]) {\n // store the actual raw string (useful for matching later)\n dialCode = number.substr(0, i + 1);\n }\n // longest dial code is 4 chars\n if (numericChars.length == 4) {\n break;\n }\n }\n }\n }\n return dialCode;\n },\n // get the input val, adding the dial code if separateDialCode is enabled\n _getFullNumber: function() {\n var val = $.trim(this.telInput.val()), dialCode = this.selectedCountryData.dialCode, prefix, numericVal = this._getNumeric(val), // normalized means ensure starts with a 1, so we can match against the full dial code\n normalizedVal = numericVal.charAt(0) == \"1\" ? numericVal : \"1\" + numericVal;\n if (this.options.separateDialCode) {\n prefix = \"+\" + dialCode;\n } else if (val.charAt(0) != \"+\" && val.charAt(0) != \"1\" && dialCode && dialCode.charAt(0) == \"1\" && dialCode.length == 4 && dialCode != normalizedVal.substr(0, 4)) {\n // if the user has entered a national NANP number, then ensure it includes the full dial code / area code\n prefix = dialCode.substr(1);\n } else {\n prefix = \"\";\n }\n return prefix + val;\n },\n // remove the dial code if separateDialCode is enabled\n _beforeSetNumber: function(number) {\n if (this.options.separateDialCode) {\n var dialCode = this._getDialCode(number);\n if (dialCode) {\n // US dialCode is \"+1\", which is what we want\n // CA dialCode is \"+1 123\", which is wrong - should be \"+1\" (as it has multiple area codes)\n // AS dialCode is \"+1 684\", which is what we want\n // Solution: if the country has area codes, then revert to just the dial code\n if (this.selectedCountryData.areaCodes !== null) {\n dialCode = \"+\" + this.selectedCountryData.dialCode;\n }\n // a lot of numbers will have a space separating the dial code and the main number, and some NANP numbers will have a hyphen e.g. +1 684-733-1234 - in both cases we want to get rid of it\n // NOTE: don't just trim all non-numerics as may want to preserve an open parenthesis etc\n var start = number[dialCode.length] === \" \" || number[dialCode.length] === \"-\" ? dialCode.length + 1 : dialCode.length;\n number = number.substr(start);\n }\n }\n return this._cap(number);\n },\n // trigger the 'countrychange' event\n _triggerCountryChange: function() {\n this.telInput.trigger(\"countrychange\", this.selectedCountryData);\n },\n /**************************\n * SECRET PUBLIC METHODS\n **************************/\n // this is called when the geoip call returns\n handleAutoCountry: function() {\n if (this.options.initialCountry === \"auto\") {\n // we must set this even if there is an initial val in the input: in case the initial val is invalid and they delete it - they should see their auto country\n this.defaultCountry = $.fn[pluginName].autoCountry;\n // if there's no initial value in the input, then update the flag\n if (!this.telInput.val()) {\n this.setCountry(this.defaultCountry);\n }\n this.autoCountryDeferred.resolve();\n }\n },\n // this is called when the utils request completes\n handleUtils: function() {\n // if the request was successful\n if (window.intlTelInputUtils) {\n // if there's an initial value in the input, then format it\n if (this.telInput.val()) {\n this._updateValFromNumber(this.telInput.val());\n }\n this._updatePlaceholder();\n }\n this.utilsScriptDeferred.resolve();\n },\n /********************\n * PUBLIC METHODS\n ********************/\n // remove plugin\n destroy: function() {\n if (this.allowDropdown) {\n // make sure the dropdown is closed (and unbind listeners)\n this._closeDropdown();\n // click event to open dropdown\n this.selectedFlagInner.parent().off(this.ns);\n // label click hack\n this.telInput.closest(\"label\").off(this.ns);\n }\n // unbind submit event handler on form\n if (this.options.autoHideDialCode) {\n var form = this.telInput.prop(\"form\");\n if (form) {\n $(form).off(this.ns);\n }\n }\n // unbind all events: key events, and focus/blur events if autoHideDialCode=true\n this.telInput.off(this.ns);\n // remove markup (but leave the original input)\n var container = this.telInput.parent();\n container.before(this.telInput).remove();\n },\n // get the extension from the current number\n getExtension: function() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getExtension(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return \"\";\n },\n // format the number to the given format\n getNumber: function(format) {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.formatNumber(this._getFullNumber(), this.selectedCountryData.iso2, format);\n }\n return \"\";\n },\n // get the type of the entered number e.g. landline/mobile\n getNumberType: function() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getNumberType(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n },\n // get the country data for the currently selected flag\n getSelectedCountryData: function() {\n return this.selectedCountryData;\n },\n // get the validation error\n getValidationError: function() {\n if (window.intlTelInputUtils) {\n return intlTelInputUtils.getValidationError(this._getFullNumber(), this.selectedCountryData.iso2);\n }\n return -99;\n },\n // validate the input val - assumes the global function isValidNumber (from utilsScript)\n isValidNumber: function() {\n var val = $.trim(this._getFullNumber()), countryCode = this.options.nationalMode ? this.selectedCountryData.iso2 : \"\";\n return window.intlTelInputUtils ? intlTelInputUtils.isValidNumber(val, countryCode) : null;\n },\n // update the selected flag, and update the input val accordingly\n setCountry: function(countryCode) {\n countryCode = countryCode.toLowerCase();\n // check if already selected\n if (!this.selectedFlagInner.hasClass(countryCode)) {\n this._setFlag(countryCode);\n this._updateDialCode(this.selectedCountryData.dialCode, false);\n this._triggerCountryChange();\n }\n },\n // set the input value and update the flag\n setNumber: function(number) {\n // we must update the flag first, which updates this.selectedCountryData, which is used for formatting the number before displaying it\n var flagChanged = this._updateFlagFromNumber(number);\n this._updateValFromNumber(number);\n if (flagChanged) {\n this._triggerCountryChange();\n }\n },\n // set the placeholder number typ\n setPlaceholderNumberType: function(type) {\n this.options.placeholderNumberType = type;\n this._updatePlaceholder();\n }\n };\n // using https://github.com/jquery-boilerplate/jquery-boilerplate/wiki/Extending-jQuery-Boilerplate\n // (adapted to allow public functions)\n $.fn[pluginName] = function(options) {\n var args = arguments;\n // Is the first parameter an object (options), or was omitted,\n // instantiate a new instance of the plugin.\n if (options === undefined || typeof options === \"object\") {\n // collect all of the deferred objects for all instances created with this selector\n var deferreds = [];\n this.each(function() {\n if (!$.data(this, \"plugin_\" + pluginName)) {\n var instance = new Plugin(this, options);\n var instanceDeferreds = instance._init();\n // we now have 2 deffereds: 1 for auto country, 1 for utils script\n deferreds.push(instanceDeferreds[0]);\n deferreds.push(instanceDeferreds[1]);\n $.data(this, \"plugin_\" + pluginName, instance);\n }\n });\n // return the promise from the \"master\" deferred object that tracks all the others\n return $.when.apply(null, deferreds);\n } else if (typeof options === \"string\" && options[0] !== \"_\") {\n // If the first parameter is a string and it doesn't start\n // with an underscore or \"contains\" the `init`-function,\n // treat this as a call to a public method.\n // Cache the method call to make it possible to return a value\n var returns;\n this.each(function() {\n var instance = $.data(this, \"plugin_\" + pluginName);\n // Tests that there's already a plugin-instance\n // and checks that the requested public method exists\n if (instance instanceof Plugin && typeof instance[options] === \"function\") {\n // Call the method of our plugin instance,\n // and pass it the supplied arguments.\n returns = instance[options].apply(instance, Array.prototype.slice.call(args, 1));\n }\n // Allow instances to be destroyed via the 'destroy' method\n if (options === \"destroy\") {\n $.data(this, \"plugin_\" + pluginName, null);\n }\n });\n // If the earlier cached method gives a value back return the value,\n // otherwise return this to preserve chainability.\n return returns !== undefined ? returns : this;\n }\n };\n /********************\n * STATIC METHODS\n ********************/\n // get the country data object\n $.fn[pluginName].getCountryData = function() {\n return allCountries;\n };\n // load the utils script\n $.fn[pluginName].loadUtils = function(path, utilsScriptDeferred) {\n if (!$.fn[pluginName].loadedUtilsScript) {\n // don't do this twice! (dont just check if window.intlTelInputUtils exists as if init plugin multiple times in quick succession, it may not have finished loading yet)\n $.fn[pluginName].loadedUtilsScript = true;\n // dont use $.getScript as it prevents caching\n $.ajax({\n type: \"GET\",\n url: path,\n complete: function() {\n // tell all instances that the utils request is complete\n $(\".intl-tel-input input\").intlTelInput(\"handleUtils\");\n },\n dataType: \"script\",\n cache: true\n });\n } else if (utilsScriptDeferred) {\n utilsScriptDeferred.resolve();\n }\n };\n // default options\n $.fn[pluginName].defaults = defaults;\n // version\n $.fn[pluginName].version = \"12.4.0\";\n // Array of country objects for the flag dropdown.\n // Here is the criteria for the plugin to support a given country/territory\n // - It has an iso2 code: https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2\n // - It has it's own country calling code (it is not a sub-region of another country): https://en.wikipedia.org/wiki/List_of_country_calling_codes\n // - It has a flag in the region-flags project: https://github.com/behdad/region-flags/tree/gh-pages/png\n // - It is supported by libphonenumber (it must be listed on this page): https://github.com/googlei18n/libphonenumber/blob/master/resources/ShortNumberMetadata.xml\n // Each country array has the following information:\n // [\n // Country name,\n // iso2 code,\n // International dial code,\n // Order (if >1 country with same dial code),\n // Area codes\n // ]\n var allCountries = [ [ \"Afghanistan (‫افغانستان‬‎)\", \"af\", \"93\" ], [ \"Albania (Shqipëri)\", \"al\", \"355\" ], [ \"Algeria (‫الجزائر‬‎)\", \"dz\", \"213\" ], [ \"American Samoa\", \"as\", \"1684\" ], [ \"Andorra\", \"ad\", \"376\" ], [ \"Angola\", \"ao\", \"244\" ], [ \"Anguilla\", \"ai\", \"1264\" ], [ \"Antigua and Barbuda\", \"ag\", \"1268\" ], [ \"Argentina\", \"ar\", \"54\" ], [ \"Armenia (Հայաստան)\", \"am\", \"374\" ], [ \"Aruba\", \"aw\", \"297\" ], [ \"Australia\", \"au\", \"61\", 0 ], [ \"Austria (Österreich)\", \"at\", \"43\" ], [ \"Azerbaijan (Azərbaycan)\", \"az\", \"994\" ], [ \"Bahamas\", \"bs\", \"1242\" ], [ \"Bahrain (‫البحرين‬‎)\", \"bh\", \"973\" ], [ \"Bangladesh (বাংলাদেশ)\", \"bd\", \"880\" ], [ \"Barbados\", \"bb\", \"1246\" ], [ \"Belarus (Беларусь)\", \"by\", \"375\" ], [ \"Belgium (België)\", \"be\", \"32\" ], [ \"Belize\", \"bz\", \"501\" ], [ \"Benin (Bénin)\", \"bj\", \"229\" ], [ \"Bermuda\", \"bm\", \"1441\" ], [ \"Bhutan (འབྲུག)\", \"bt\", \"975\" ], [ \"Bolivia\", \"bo\", \"591\" ], [ \"Bosnia and Herzegovina (Босна и Херцеговина)\", \"ba\", \"387\" ], [ \"Botswana\", \"bw\", \"267\" ], [ \"Brazil (Brasil)\", \"br\", \"55\" ], [ \"British Indian Ocean Territory\", \"io\", \"246\" ], [ \"British Virgin Islands\", \"vg\", \"1284\" ], [ \"Brunei\", \"bn\", \"673\" ], [ \"Bulgaria (България)\", \"bg\", \"359\" ], [ \"Burkina Faso\", \"bf\", \"226\" ], [ \"Burundi (Uburundi)\", \"bi\", \"257\" ], [ \"Cambodia (កម្ពុជា)\", \"kh\", \"855\" ], [ \"Cameroon (Cameroun)\", \"cm\", \"237\" ], [ \"Canada\", \"ca\", \"1\", 1, [ \"204\", \"226\", \"236\", \"249\", \"250\", \"289\", \"306\", \"343\", \"365\", \"387\", \"403\", \"416\", \"418\", \"431\", \"437\", \"438\", \"450\", \"506\", \"514\", \"519\", \"548\", \"579\", \"581\", \"587\", \"604\", \"613\", \"639\", \"647\", \"672\", \"705\", \"709\", \"742\", \"778\", \"780\", \"782\", \"807\", \"819\", \"825\", \"867\", \"873\", \"902\", \"905\" ] ], [ \"Cape Verde (Kabu Verdi)\", \"cv\", \"238\" ], [ \"Caribbean Netherlands\", \"bq\", \"599\", 1 ], [ \"Cayman Islands\", \"ky\", \"1345\" ], [ \"Central African Republic (République centrafricaine)\", \"cf\", \"236\" ], [ \"Chad (Tchad)\", \"td\", \"235\" ], [ \"Chile\", \"cl\", \"56\" ], [ \"China (中国)\", \"cn\", \"86\" ], [ \"Christmas Island\", \"cx\", \"61\", 2 ], [ \"Cocos (Keeling) Islands\", \"cc\", \"61\", 1 ], [ \"Colombia\", \"co\", \"57\" ], [ \"Comoros (‫جزر القمر‬‎)\", \"km\", \"269\" ], [ \"Congo (DRC) (Jamhuri ya Kidemokrasia ya Kongo)\", \"cd\", \"243\" ], [ \"Congo (Republic) (Congo-Brazzaville)\", \"cg\", \"242\" ], [ \"Cook Islands\", \"ck\", \"682\" ], [ \"Costa Rica\", \"cr\", \"506\" ], [ \"Côte d’Ivoire\", \"ci\", \"225\" ], [ \"Croatia (Hrvatska)\", \"hr\", \"385\" ], [ \"Cuba\", \"cu\", \"53\" ], [ \"Curaçao\", \"cw\", \"599\", 0 ], [ \"Cyprus (Κύπρος)\", \"cy\", \"357\" ], [ \"Czech Republic (Česká republika)\", \"cz\", \"420\" ], [ \"Denmark (Danmark)\", \"dk\", \"45\" ], [ \"Djibouti\", \"dj\", \"253\" ], [ \"Dominica\", \"dm\", \"1767\" ], [ \"Dominican Republic (República Dominicana)\", \"do\", \"1\", 2, [ \"809\", \"829\", \"849\" ] ], [ \"Ecuador\", \"ec\", \"593\" ], [ \"Egypt (‫مصر‬‎)\", \"eg\", \"20\" ], [ \"El Salvador\", \"sv\", \"503\" ], [ \"Equatorial Guinea (Guinea Ecuatorial)\", \"gq\", \"240\" ], [ \"Eritrea\", \"er\", \"291\" ], [ \"Estonia (Eesti)\", \"ee\", \"372\" ], [ \"Ethiopia\", \"et\", \"251\" ], [ \"Falkland Islands (Islas Malvinas)\", \"fk\", \"500\" ], [ \"Faroe Islands (Føroyar)\", \"fo\", \"298\" ], [ \"Fiji\", \"fj\", \"679\" ], [ \"Finland (Suomi)\", \"fi\", \"358\", 0 ], [ \"France\", \"fr\", \"33\" ], [ \"French Guiana (Guyane française)\", \"gf\", \"594\" ], [ \"French Polynesia (Polynésie française)\", \"pf\", \"689\" ], [ \"Gabon\", \"ga\", \"241\" ], [ \"Gambia\", \"gm\", \"220\" ], [ \"Georgia (საქართველო)\", \"ge\", \"995\" ], [ \"Germany (Deutschland)\", \"de\", \"49\" ], [ \"Ghana (Gaana)\", \"gh\", \"233\" ], [ \"Gibraltar\", \"gi\", \"350\" ], [ \"Greece (Ελλάδα)\", \"gr\", \"30\" ], [ \"Greenland (Kalaallit Nunaat)\", \"gl\", \"299\" ], [ \"Grenada\", \"gd\", \"1473\" ], [ \"Guadeloupe\", \"gp\", \"590\", 0 ], [ \"Guam\", \"gu\", \"1671\" ], [ \"Guatemala\", \"gt\", \"502\" ], [ \"Guernsey\", \"gg\", \"44\", 1 ], [ \"Guinea (Guinée)\", \"gn\", \"224\" ], [ \"Guinea-Bissau (Guiné Bissau)\", \"gw\", \"245\" ], [ \"Guyana\", \"gy\", \"592\" ], [ \"Haiti\", \"ht\", \"509\" ], [ \"Honduras\", \"hn\", \"504\" ], [ \"Hong Kong (香港)\", \"hk\", \"852\" ], [ \"Hungary (Magyarország)\", \"hu\", \"36\" ], [ \"Iceland (Ísland)\", \"is\", \"354\" ], [ \"India (भारत)\", \"in\", \"91\" ], [ \"Indonesia\", \"id\", \"62\" ], [ \"Iran (‫ایران‬‎)\", \"ir\", \"98\" ], [ \"Iraq (‫العراق‬‎)\", \"iq\", \"964\" ], [ \"Ireland\", \"ie\", \"353\" ], [ \"Isle of Man\", \"im\", \"44\", 2 ], [ \"Israel (‫ישראל‬‎)\", \"il\", \"972\" ], [ \"Italy (Italia)\", \"it\", \"39\", 0 ], [ \"Jamaica\", \"jm\", \"1\", 4, [ \"876\", \"658\" ] ], [ \"Japan (日本)\", \"jp\", \"81\" ], [ \"Jersey\", \"je\", \"44\", 3 ], [ \"Jordan (‫الأردن‬‎)\", \"jo\", \"962\" ], [ \"Kazakhstan (Казахстан)\", \"kz\", \"7\", 1 ], [ \"Kenya\", \"ke\", \"254\" ], [ \"Kiribati\", \"ki\", \"686\" ], [ \"Kosovo\", \"xk\", \"383\" ], [ \"Kuwait (‫الكويت‬‎)\", \"kw\", \"965\" ], [ \"Kyrgyzstan (Кыргызстан)\", \"kg\", \"996\" ], [ \"Laos (ລາວ)\", \"la\", \"856\" ], [ \"Latvia (Latvija)\", \"lv\", \"371\" ], [ \"Lebanon (‫لبنان‬‎)\", \"lb\", \"961\" ], [ \"Lesotho\", \"ls\", \"266\" ], [ \"Liberia\", \"lr\", \"231\" ], [ \"Libya (‫ليبيا‬‎)\", \"ly\", \"218\" ], [ \"Liechtenstein\", \"li\", \"423\" ], [ \"Lithuania (Lietuva)\", \"lt\", \"370\" ], [ \"Luxembourg\", \"lu\", \"352\" ], [ \"Macau (澳門)\", \"mo\", \"853\" ], [ \"Macedonia (FYROM) (Македонија)\", \"mk\", \"389\" ], [ \"Madagascar (Madagasikara)\", \"mg\", \"261\" ], [ \"Malawi\", \"mw\", \"265\" ], [ \"Malaysia\", \"my\", \"60\" ], [ \"Maldives\", \"mv\", \"960\" ], [ \"Mali\", \"ml\", \"223\" ], [ \"Malta\", \"mt\", \"356\" ], [ \"Marshall Islands\", \"mh\", \"692\" ], [ \"Martinique\", \"mq\", \"596\" ], [ \"Mauritania (‫موريتانيا‬‎)\", \"mr\", \"222\" ], [ \"Mauritius (Moris)\", \"mu\", \"230\" ], [ \"Mayotte\", \"yt\", \"262\", 1 ], [ \"Mexico (México)\", \"mx\", \"52\" ], [ \"Micronesia\", \"fm\", \"691\" ], [ \"Moldova (Republica Moldova)\", \"md\", \"373\" ], [ \"Monaco\", \"mc\", \"377\" ], [ \"Mongolia (Монгол)\", \"mn\", \"976\" ], [ \"Montenegro (Crna Gora)\", \"me\", \"382\" ], [ \"Montserrat\", \"ms\", \"1664\" ], [ \"Morocco (‫المغرب‬‎)\", \"ma\", \"212\", 0 ], [ \"Mozambique (Moçambique)\", \"mz\", \"258\" ], [ \"Myanmar (Burma) (မြန်မာ)\", \"mm\", \"95\" ], [ \"Namibia (Namibië)\", \"na\", \"264\" ], [ \"Nauru\", \"nr\", \"674\" ], [ \"Nepal (नेपाल)\", \"np\", \"977\" ], [ \"Netherlands (Nederland)\", \"nl\", \"31\" ], [ \"New Caledonia (Nouvelle-Calédonie)\", \"nc\", \"687\" ], [ \"New Zealand\", \"nz\", \"64\" ], [ \"Nicaragua\", \"ni\", \"505\" ], [ \"Niger (Nijar)\", \"ne\", \"227\" ], [ \"Nigeria\", \"ng\", \"234\" ], [ \"Niue\", \"nu\", \"683\" ], [ \"Norfolk Island\", \"nf\", \"672\" ], [ \"North Korea (조선 민주주의 인민 공화국)\", \"kp\", \"850\" ], [ \"Northern Mariana Islands\", \"mp\", \"1670\" ], [ \"Norway (Norge)\", \"no\", \"47\", 0 ], [ \"Oman (‫عُمان‬‎)\", \"om\", \"968\" ], [ \"Pakistan (‫پاکستان‬‎)\", \"pk\", \"92\" ], [ \"Palau\", \"pw\", \"680\" ], [ \"Palestine (‫فلسطين‬‎)\", \"ps\", \"970\" ], [ \"Panama (Panamá)\", \"pa\", \"507\" ], [ \"Papua New Guinea\", \"pg\", \"675\" ], [ \"Paraguay\", \"py\", \"595\" ], [ \"Peru (Perú)\", \"pe\", \"51\" ], [ \"Philippines\", \"ph\", \"63\" ], [ \"Poland (Polska)\", \"pl\", \"48\" ], [ \"Portugal\", \"pt\", \"351\" ], [ \"Puerto Rico\", \"pr\", \"1\", 3, [ \"787\", \"939\" ] ], [ \"Qatar (‫قطر‬‎)\", \"qa\", \"974\" ], [ \"Réunion (La Réunion)\", \"re\", \"262\", 0 ], [ \"Romania (România)\", \"ro\", \"40\" ], [ \"Russia (Россия)\", \"ru\", \"7\", 0 ], [ \"Rwanda\", \"rw\", \"250\" ], [ \"Saint Barthélemy\", \"bl\", \"590\", 1 ], [ \"Saint Helena\", \"sh\", \"290\" ], [ \"Saint Kitts and Nevis\", \"kn\", \"1869\" ], [ \"Saint Lucia\", \"lc\", \"1758\" ], [ \"Saint Martin (Saint-Martin (partie française))\", \"mf\", \"590\", 2 ], [ \"Saint Pierre and Miquelon (Saint-Pierre-et-Miquelon)\", \"pm\", \"508\" ], [ \"Saint Vincent and the Grenadines\", \"vc\", \"1784\" ], [ \"Samoa\", \"ws\", \"685\" ], [ \"San Marino\", \"sm\", \"378\" ], [ \"São Tomé and Príncipe (São Tomé e Príncipe)\", \"st\", \"239\" ], [ \"Saudi Arabia (‫المملكة العربية السعودية‬‎)\", \"sa\", \"966\" ], [ \"Senegal (Sénégal)\", \"sn\", \"221\" ], [ \"Serbia (Србија)\", \"rs\", \"381\" ], [ \"Seychelles\", \"sc\", \"248\" ], [ \"Sierra Leone\", \"sl\", \"232\" ], [ \"Singapore\", \"sg\", \"65\" ], [ \"Sint Maarten\", \"sx\", \"1721\" ], [ \"Slovakia (Slovensko)\", \"sk\", \"421\" ], [ \"Slovenia (Slovenija)\", \"si\", \"386\" ], [ \"Solomon Islands\", \"sb\", \"677\" ], [ \"Somalia (Soomaaliya)\", \"so\", \"252\" ], [ \"South Africa\", \"za\", \"27\" ], [ \"South Korea (대한민국)\", \"kr\", \"82\" ], [ \"South Sudan (‫جنوب السودان‬‎)\", \"ss\", \"211\" ], [ \"Spain (España)\", \"es\", \"34\" ], [ \"Sri Lanka (ශ්‍රී ලංකාව)\", \"lk\", \"94\" ], [ \"Sudan (‫السودان‬‎)\", \"sd\", \"249\" ], [ \"Suriname\", \"sr\", \"597\" ], [ \"Svalbard and Jan Mayen\", \"sj\", \"47\", 1 ], [ \"Swaziland\", \"sz\", \"268\" ], [ \"Sweden (Sverige)\", \"se\", \"46\" ], [ \"Switzerland (Schweiz)\", \"ch\", \"41\" ], [ \"Syria (‫سوريا‬‎)\", \"sy\", \"963\" ], [ \"Taiwan (台灣)\", \"tw\", \"886\" ], [ \"Tajikistan\", \"tj\", \"992\" ], [ \"Tanzania\", \"tz\", \"255\" ], [ \"Thailand (ไทย)\", \"th\", \"66\" ], [ \"Timor-Leste\", \"tl\", \"670\" ], [ \"Togo\", \"tg\", \"228\" ], [ \"Tokelau\", \"tk\", \"690\" ], [ \"Tonga\", \"to\", \"676\" ], [ \"Trinidad and Tobago\", \"tt\", \"1868\" ], [ \"Tunisia (‫تونس‬‎)\", \"tn\", \"216\" ], [ \"Turkey (Türkiye)\", \"tr\", \"90\" ], [ \"Turkmenistan\", \"tm\", \"993\" ], [ \"Turks and Caicos Islands\", \"tc\", \"1649\" ], [ \"Tuvalu\", \"tv\", \"688\" ], [ \"U.S. Virgin Islands\", \"vi\", \"1340\" ], [ \"Uganda\", \"ug\", \"256\" ], [ \"Ukraine (Україна)\", \"ua\", \"380\" ], [ \"United Arab Emirates (‫الإمارات العربية المتحدة‬‎)\", \"ae\", \"971\" ], [ \"United Kingdom\", \"gb\", \"44\", 0 ], [ \"United States\", \"us\", \"1\", 0 ], [ \"Uruguay\", \"uy\", \"598\" ], [ \"Uzbekistan (Oʻzbekiston)\", \"uz\", \"998\" ], [ \"Vanuatu\", \"vu\", \"678\" ], [ \"Vatican City (Città del Vaticano)\", \"va\", \"39\", 1 ], [ \"Venezuela\", \"ve\", \"58\" ], [ \"Vietnam (Việt Nam)\", \"vn\", \"84\" ], [ \"Wallis and Futuna (Wallis-et-Futuna)\", \"wf\", \"681\" ], [ \"Western Sahara (‫الصحراء الغربية‬‎)\", \"eh\", \"212\", 1 ], [ \"Yemen (‫اليمن‬‎)\", \"ye\", \"967\" ], [ \"Zambia\", \"zm\", \"260\" ], [ \"Zimbabwe\", \"zw\", \"263\" ], [ \"Åland Islands\", \"ax\", \"358\", 1 ] ];\n // loop over all of the countries above\n for (var i = 0; i < allCountries.length; i++) {\n var c = allCountries[i];\n allCountries[i] = {\n name: c[0],\n iso2: c[1],\n dialCode: c[2],\n priority: c[3] || 0,\n areaCodes: c[4] || null\n };\n }\n});","/**\n * Exposing intl-tel-input as a component\n */\nmodule.exports = require(\"./build/js/intlTelInput\");\n","/*!\n * jQuery JavaScript Library v3.6.1\n * https://jquery.com/\n *\n * Includes Sizzle.js\n * https://sizzlejs.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2022-08-26T17:52Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket trac-14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar\n\tversion = \"3.6.1\",\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\nvar Sizzle =\n/*!\n * Sizzle CSS Selector Engine v2.3.6\n * https://sizzlejs.com/\n *\n * Copyright JS Foundation and other contributors\n * Released under the MIT license\n * https://js.foundation/\n *\n * Date: 2021-02-16\n */\n( function( window ) {\nvar i,\n\tsupport,\n\tExpr,\n\tgetText,\n\tisXML,\n\ttokenize,\n\tcompile,\n\tselect,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\n\t// Local document vars\n\tsetDocument,\n\tdocument,\n\tdocElem,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\trbuggyMatches,\n\tmatches,\n\tcontains,\n\n\t// Instance-specific data\n\texpando = \"sizzle\" + 1 * new Date(),\n\tpreferredDoc = window.document,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\t// Instance methods\n\thasOwn = ( {} ).hasOwnProperty,\n\tarr = [],\n\tpop = arr.pop,\n\tpushNative = arr.push,\n\tpush = arr.push,\n\tslice = arr.slice,\n\n\t// Use a stripped-down indexOf as it's faster than native\n\t// https://jsperf.com/thor-indexof-vs-for/5\n\tindexOf = function( list, elem ) {\n\t\tvar i = 0,\n\t\t\tlen = list.length;\n\t\tfor ( ; i < len; i++ ) {\n\t\t\tif ( list[ i ] === elem ) {\n\t\t\t\treturn i;\n\t\t\t}\n\t\t}\n\t\treturn -1;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|\" +\n\t\t\"ismap|loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// http://www.w3.org/TR/css3-selectors/#whitespace\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5]\n\t\t// or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" +\n\t\twhitespace + \"+$\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" + whitespace +\n\t\t\"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\t\"ID\": new RegExp( \"^#(\" + identifier + \")\" ),\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\t\"TAG\": new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\n\t\t\"CHILD\": new RegExp( \"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\t\"bool\": new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trhtml = /HTML$/i,\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\trnative = /^[^{]+\\{\\s*\\[native \\w/,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace + \"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\treturn nonHex ?\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\tnonHex :\n\n\t\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t\t// Support: IE <=11+\n\t\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t\t// surrogate pair\n\t\t\thigh < 0 ?\n\t\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// CSS string/identifier serialization\n\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\n\trcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,\n\tfcssescape = function( ch, asCodePoint ) {\n\t\tif ( asCodePoint ) {\n\n\t\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\t\tif ( ch === \"\\0\" ) {\n\t\t\t\treturn \"\\uFFFD\";\n\t\t\t}\n\n\t\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\t\treturn ch.slice( 0, -1 ) + \"\\\\\" +\n\t\t\t\tch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t\t}\n\n\t\t// Other potentially-special ASCII characters get backslash-escaped\n\t\treturn \"\\\\\" + ch;\n\t},\n\n\t// Used for iframes\n\t// See setDocument()\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && elem.nodeName.toLowerCase() === \"fieldset\";\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android<4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = { apply: arr.length ?\n\n\t\t// Leverage slice if possible\n\t\tfunction( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t} :\n\n\t\t// Support: IE<9\n\t\t// Otherwise append directly\n\t\tfunction( target, els ) {\n\t\t\tvar j = target.length,\n\t\t\t\ti = 0;\n\n\t\t\t// Can't trust NodeList.length\n\t\t\twhile ( ( target[ j++ ] = els[ i++ ] ) ) {}\n\t\t\ttarget.length = j - 1;\n\t\t}\n\t};\n}\n\nfunction Sizzle( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE, Opera, Webkit\n\t\t\t\t\t\t// TODO: identify versions\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tcontains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&\n\t\t\t\t\tcontext.getElementsByClassName ) {\n\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( support.qsa &&\n\t\t\t\t!nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&\n\n\t\t\t\t// Support: IE 8 only\n\t\t\t\t// Exclude object elements\n\t\t\t\t( nodeType !== 1 || context.nodeName.toLowerCase() !== \"object\" ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\tif ( newContext !== context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = nid.replace( rcssescape, fcssescape );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties (see Issue #157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by Sizzle\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Adds the same handler for all of the specified attrs\n * @param {String} attrs Pipe-separated list of attributes\n * @param {Function} handler The method that will be applied\n */\nfunction addHandle( attrs, handler ) {\n\tvar arr = attrs.split( \"|\" ),\n\t\ti = arr.length;\n\n\twhile ( i-- ) {\n\t\tExpr.attrHandle[ arr[ i ] ] = handler;\n\t}\n}\n\n/**\n * Checks document order of two siblings\n * @param {Element} a\n * @param {Element} b\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\n */\nfunction siblingCheck( a, b ) {\n\tvar cur = b && a,\n\t\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\n\t\t\ta.sourceIndex - b.sourceIndex;\n\n\t// Use IE sourceIndex if available on both nodes\n\tif ( diff ) {\n\t\treturn diff;\n\t}\n\n\t// Check if b follows a\n\tif ( cur ) {\n\t\twhile ( ( cur = cur.nextSibling ) ) {\n\t\t\tif ( cur === b ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t}\n\n\treturn a ? 1 : -1;\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn name === \"input\" && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\tvar name = elem.nodeName.toLowerCase();\n\t\treturn ( name === \"input\" || name === \"button\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\t/* jshint -W018 */\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a Sizzle context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n// Expose support vars for convenience\nsupport = Sizzle.support = {};\n\n/**\n * Detects XML nodes\n * @param {Element|Object} elem An element or a document\n * @returns {Boolean} True iff elem is a non-HTML XML node\n */\nisXML = Sizzle.isXML = function( elem ) {\n\tvar namespace = elem && elem.namespaceURI,\n\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t// Support: IE <=8\n\t// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes\n\t// https://bugs.jquery.com/ticket/4833\n\treturn !rhtml.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n};\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [doc] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nsetDocument = Sizzle.setDocument = function( node ) {\n\tvar hasCompare, subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocElem = document.documentElement;\n\tdocumentIsHTML = !isXML( document );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors (jQuery #13936)\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( preferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 11, Edge\n\t\tif ( subWindow.addEventListener ) {\n\t\t\tsubWindow.addEventListener( \"unload\", unloadHandler, false );\n\n\t\t// Support: IE 9 - 10 only\n\t\t} else if ( subWindow.attachEvent ) {\n\t\t\tsubWindow.attachEvent( \"onunload\", unloadHandler );\n\t\t}\n\t}\n\n\t// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,\n\t// Safari 4 - 5 only, Opera <=11.6 - 12.x only\n\t// IE/Edge & older browsers don't support the :scope pseudo-class.\n\t// Support: Safari 6.0 only\n\t// Safari 6.0 supports :scope but it's an alias of :root there.\n\tsupport.scope = assert( function( el ) {\n\t\tdocElem.appendChild( el ).appendChild( document.createElement( \"div\" ) );\n\t\treturn typeof el.querySelectorAll !== \"undefined\" &&\n\t\t\t!el.querySelectorAll( \":scope fieldset div\" ).length;\n\t} );\n\n\t/* Attributes\n\t---------------------------------------------------------------------- */\n\n\t// Support: IE<8\n\t// Verify that getAttribute really returns attributes and not properties\n\t// (excepting IE8 booleans)\n\tsupport.attributes = assert( function( el ) {\n\t\tel.className = \"i\";\n\t\treturn !el.getAttribute( \"className\" );\n\t} );\n\n\t/* getElement(s)By*\n\t---------------------------------------------------------------------- */\n\n\t// Check if getElementsByTagName(\"*\") returns only elements\n\tsupport.getElementsByTagName = assert( function( el ) {\n\t\tel.appendChild( document.createComment( \"\" ) );\n\t\treturn !el.getElementsByTagName( \"*\" ).length;\n\t} );\n\n\t// Support: IE<9\n\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\n\n\t// Support: IE<10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocElem.appendChild( el ).id = expando;\n\t\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter[ \"ID\" ] = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find[ \"ID\" ] = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find[ \"TAG\" ] = support.getElementsByTagName ?\n\t\tfunction( tag, context ) {\n\t\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t\t// DocumentFragment nodes don't have gEBTN\n\t\t\t} else if ( support.qsa ) {\n\t\t\t\treturn context.querySelectorAll( tag );\n\t\t\t}\n\t\t} :\n\n\t\tfunction( tag, context ) {\n\t\t\tvar elem,\n\t\t\t\ttmp = [],\n\t\t\t\ti = 0,\n\n\t\t\t\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\n\t\t\t\tresults = context.getElementsByTagName( tag );\n\n\t\t\t// Filter out possible comments\n\t\t\tif ( tag === \"*\" ) {\n\t\t\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\ttmp.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn tmp;\n\t\t\t}\n\t\t\treturn results;\n\t\t};\n\n\t// Class\n\tExpr.find[ \"CLASS\" ] = support.getElementsByClassName && function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\n\trbuggyMatches = [];\n\n\t// qSa(:focus) reports false when true (Chrome 21)\n\t// We allow this because of a bug in IE8/9 that throws an error\n\t// whenever `document.activeElement` is accessed on an iframe\n\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\n\t// See https://bugs.jquery.com/ticket/13378\n\trbuggyQSA = [];\n\n\tif ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {\n\n\t\t// Build QSA regex\n\t\t// Regex strategy adopted from Diego Perini\n\t\tassert( function( el ) {\n\n\t\t\tvar input;\n\n\t\t\t// Select is set to empty string on purpose\n\t\t\t// This is to test IE's treatment of not explicitly\n\t\t\t// setting a boolean content attribute,\n\t\t\t// since its presence should be enough\n\t\t\t// https://bugs.jquery.com/ticket/12359\n\t\t\tdocElem.appendChild( el ).innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: IE8, Opera 11-12.16\n\t\t\t// Nothing should be selected when empty strings follow ^= or $= or *=\n\t\t\t// The test attribute must be unknown in Opera but \"safe\" for WinRT\n\t\t\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\n\t\t\tif ( el.querySelectorAll( \"[msallowcapture^='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Support: IE8\n\t\t\t// Boolean attributes and \"value\" are not treated correctly\n\t\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t\t}\n\n\t\t\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\n\t\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"~=\" );\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t\t// Adding a temporary attribute to the document before the selection works\n\t\t\t// around the issue.\n\t\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\t\tinput = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"name\", \"\" );\n\t\t\tel.appendChild( input );\n\t\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t\t}\n\n\t\t\t// Webkit/Opera - :checked should return selected option elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\t\trbuggyQSA.push( \":checked\" );\n\t\t\t}\n\n\t\t\t// Support: Safari 8+, iOS 8+\n\t\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t\t}\n\n\t\t\t// Support: Firefox <=3.6 - 5 only\n\t\t\t// Old Firefox doesn't throw on a badly-escaped identifier.\n\t\t\tel.querySelectorAll( \"\\\\\\f\" );\n\t\t\trbuggyQSA.push( \"[\\\\r\\\\n\\\\f]\" );\n\t\t} );\n\n\t\tassert( function( el ) {\n\t\t\tel.innerHTML = \"\" +\n\t\t\t\t\"\";\n\n\t\t\t// Support: Windows 8 Native Apps\n\t\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\t\tvar input = document.createElement( \"input\" );\n\t\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t\t// Support: IE8\n\t\t\t// Enforce case-sensitivity of name attribute\n\t\t\tif ( el.querySelectorAll( \"[name=d]\" ).length ) {\n\t\t\t\trbuggyQSA.push( \"name\" + whitespace + \"*[*^$|!~]?=\" );\n\t\t\t}\n\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\n\t\t\t// IE8 throws error here and will not see later tests\n\t\t\tif ( el.querySelectorAll( \":enabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: IE9-11+\n\t\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t\tdocElem.appendChild( el ).disabled = true;\n\t\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t\t}\n\n\t\t\t// Support: Opera 10 - 11 only\n\t\t\t// Opera 10-11 does not throw on post-comma invalid pseudos\n\t\t\tel.querySelectorAll( \"*,:x\" );\n\t\t\trbuggyQSA.push( \",.*:\" );\n\t\t} );\n\t}\n\n\tif ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||\n\t\tdocElem.webkitMatchesSelector ||\n\t\tdocElem.mozMatchesSelector ||\n\t\tdocElem.oMatchesSelector ||\n\t\tdocElem.msMatchesSelector ) ) ) ) {\n\n\t\tassert( function( el ) {\n\n\t\t\t// Check to see if it's possible to do matchesSelector\n\t\t\t// on a disconnected node (IE 9)\n\t\t\tsupport.disconnectedMatch = matches.call( el, \"*\" );\n\n\t\t\t// This should fail with an exception\n\t\t\t// Gecko does not error, returns false instead\n\t\t\tmatches.call( el, \"[s!='']:x\" );\n\t\t\trbuggyMatches.push( \"!=\", pseudos );\n\t\t} );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( \"|\" ) );\n\n\t/* Contains\n\t---------------------------------------------------------------------- */\n\thasCompare = rnative.test( docElem.compareDocumentPosition );\n\n\t// Element contains another\n\t// Purposefully self-exclusive\n\t// As in, an element does not contain itself\n\tcontains = hasCompare || rnative.test( docElem.contains ) ?\n\t\tfunction( a, b ) {\n\t\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\n\t\t\t\tbup = b && b.parentNode;\n\t\t\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\t\t\t\tadown.contains ?\n\t\t\t\t\tadown.contains( bup ) :\n\t\t\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t\t\t) );\n\t\t} :\n\t\tfunction( a, b ) {\n\t\t\tif ( b ) {\n\t\t\t\twhile ( ( b = b.parentNode ) ) {\n\t\t\t\t\tif ( b === a ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = hasCompare ?\n\tfunction( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a == document || a.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b == document || b.ownerDocument == preferredDoc &&\n\t\t\t\tcontains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t} :\n\tfunction( a, b ) {\n\n\t\t// Exit early if the nodes are identical\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\taup = a.parentNode,\n\t\t\tbup = b.parentNode,\n\t\t\tap = [ a ],\n\t\t\tbp = [ b ];\n\n\t\t// Parentless nodes are either documents or disconnected\n\t\tif ( !aup || !bup ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\treturn a == document ? -1 :\n\t\t\t\tb == document ? 1 :\n\t\t\t\t/* eslint-enable eqeqeq */\n\t\t\t\taup ? -1 :\n\t\t\t\tbup ? 1 :\n\t\t\t\tsortInput ?\n\t\t\t\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\n\t\t\t\t0;\n\n\t\t// If the nodes are siblings, we can do a quick check\n\t\t} else if ( aup === bup ) {\n\t\t\treturn siblingCheck( a, b );\n\t\t}\n\n\t\t// Otherwise we need full lists of their ancestors for comparison\n\t\tcur = a;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tap.unshift( cur );\n\t\t}\n\t\tcur = b;\n\t\twhile ( ( cur = cur.parentNode ) ) {\n\t\t\tbp.unshift( cur );\n\t\t}\n\n\t\t// Walk down the tree looking for a discrepancy\n\t\twhile ( ap[ i ] === bp[ i ] ) {\n\t\t\ti++;\n\t\t}\n\n\t\treturn i ?\n\n\t\t\t// Do a sibling check if the nodes have a common ancestor\n\t\t\tsiblingCheck( ap[ i ], bp[ i ] ) :\n\n\t\t\t// Otherwise nodes in our document sort first\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t/* eslint-disable eqeqeq */\n\t\t\tap[ i ] == preferredDoc ? -1 :\n\t\t\tbp[ i ] == preferredDoc ? 1 :\n\t\t\t/* eslint-enable eqeqeq */\n\t\t\t0;\n\t};\n\n\treturn document;\n};\n\nSizzle.matches = function( expr, elements ) {\n\treturn Sizzle( expr, null, null, elements );\n};\n\nSizzle.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( support.matchesSelector && documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t// fragment in IE 9\n\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\n};\n\nSizzle.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn contains( context, elem );\n};\n\nSizzle.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (jQuery #13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\treturn val !== undefined ?\n\t\tval :\n\t\tsupport.attributes || !documentIsHTML ?\n\t\t\telem.getAttribute( name ) :\n\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\tval.value :\n\t\t\t\tnull;\n};\n\nSizzle.escape = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\nSizzle.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\nSizzle.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\thasDuplicate = !support.detectDuplicates;\n\tsortInput = !support.sortStable && results.slice( 0 );\n\tresults.sort( sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tresults.splice( duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\n/**\n * Utility function for retrieving the text value of an array of DOM nodes\n * @param {Array|Element} elem\n */\ngetText = Sizzle.getText = function( elem ) {\n\tvar node,\n\t\tret = \"\",\n\t\ti = 0,\n\t\tnodeType = elem.nodeType;\n\n\tif ( !nodeType ) {\n\n\t\t// If no nodeType, this is expected to be an array\n\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t// Do not traverse comment nodes\n\t\t\tret += getText( node );\n\t\t}\n\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\n\n\t\t// Use textContent for elements\n\t\t// innerText usage removed for consistency of new lines (jQuery #11153)\n\t\tif ( typeof elem.textContent === \"string\" ) {\n\t\t\treturn elem.textContent;\n\t\t} else {\n\n\t\t\t// Traverse its children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tret += getText( elem );\n\t\t\t}\n\t\t}\n\t} else if ( nodeType === 3 || nodeType === 4 ) {\n\t\treturn elem.nodeValue;\n\t}\n\n\t// Do not include comment or processing instruction nodes\n\n\treturn ret;\n};\n\nExpr = Sizzle.selectors = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\t\"ATTR\": function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] ||\n\t\t\t\tmatch[ 5 ] || \"\" ).replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\t\"CHILD\": function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" ) );\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tSizzle.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\t\"PSEUDO\": function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr[ \"CHILD\" ].test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\t\"TAG\": function( nodeNameSelector ) {\n\t\t\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\n\t\t\t\t};\n\t\t},\n\n\t\t\"CLASS\": function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace +\n\t\t\t\t\t\")\" + className + \"(\" + whitespace + \"|$)\" ) ) && classCache(\n\t\t\t\t\t\tclassName, function( elem ) {\n\t\t\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\t\"ATTR\": function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = Sizzle.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\t/* eslint-disable max-len */\n\n\t\t\t\treturn operator === \"=\" ? result === check :\n\t\t\t\t\toperator === \"!=\" ? result !== check :\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"$=\" ? check && result.slice( -check.length ) === check :\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" ).indexOf( check ) > -1 :\n\t\t\t\t\toperator === \"|=\" ? result === check || result.slice( 0, check.length + 1 ) === check + \"-\" :\n\t\t\t\t\tfalse;\n\t\t\t\t/* eslint-enable max-len */\n\n\t\t\t};\n\t\t},\n\n\t\t\"CHILD\": function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\n\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\tnode = parent;\n\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\n\t\t\t\t\t\t\t\t// ...in a gzip-friendly way\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\touterCache = node[ expando ] || ( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\tcache = uniqueCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnode.nodeName.toLowerCase() === name :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache = outerCache[ node.uniqueID ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( outerCache[ node.uniqueID ] = {} );\n\n\t\t\t\t\t\t\t\t\t\t\tuniqueCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\t\"PSEUDO\": function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as Sizzle does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\t\"not\": markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element (issue #299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\t\"has\": markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\t\"contains\": markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// http://www.w3.org/TR/selectors/#lang-pseudo\n\t\t\"lang\": markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tSizzle.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\t\"target\": function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\t\"root\": function( elem ) {\n\t\t\treturn elem === docElem;\n\t\t},\n\n\t\t\"focus\": function( elem ) {\n\t\t\treturn elem === document.activeElement &&\n\t\t\t\t( !document.hasFocus || document.hasFocus() ) &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\t\"enabled\": createDisabledPseudo( false ),\n\t\t\"disabled\": createDisabledPseudo( true ),\n\n\t\t\"checked\": function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\n\t\t\treturn ( nodeName === \"input\" && !!elem.checked ) ||\n\t\t\t\t( nodeName === \"option\" && !!elem.selected );\n\t\t},\n\n\t\t\"selected\": function( elem ) {\n\n\t\t\t// Accessing this property makes selected-by-default\n\t\t\t// options in Safari work properly\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\t\"empty\": function( elem ) {\n\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\t\"parent\": function( elem ) {\n\t\t\treturn !Expr.pseudos[ \"empty\" ]( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\t\"header\": function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\t\"input\": function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\t\"button\": function( elem ) {\n\t\t\tvar name = elem.nodeName.toLowerCase();\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\n\t\t},\n\n\t\t\"text\": function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\n\t\t\t\telem.type === \"text\" &&\n\n\t\t\t\t// Support: IE<8\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\t\"first\": createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\t\"last\": createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\t\"eq\": createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\t\"even\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"odd\": createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"lt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ?\n\t\t\t\targument + length :\n\t\t\t\targument > length ?\n\t\t\t\t\tlength :\n\t\t\t\t\targument;\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\t\"gt\": createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos[ \"nth\" ] = Expr.pseudos[ \"eq\" ];\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rcombinators.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrim, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\treturn parseOnly ?\n\t\tsoFar.length :\n\t\tsoFar ?\n\t\t\tSizzle.error( selector ) :\n\n\t\t\t// Cache the tokens\n\t\t\ttokenCache( selector, groups ).slice( 0 );\n};\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, uniqueCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\t// Support: IE <9 only\n\t\t\t\t\t\t// Defend against cloned attroperties (jQuery gh-1709)\n\t\t\t\t\t\tuniqueCache = outerCache[ elem.uniqueID ] ||\n\t\t\t\t\t\t\t( outerCache[ elem.uniqueID ] = {} );\n\n\t\t\t\t\t\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = uniqueCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\tuniqueCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tSizzle( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed || multipleContexts(\n\t\t\t\tselector || \"*\",\n\t\t\t\tcontext.nodeType ? [ context ] : context,\n\t\t\t\t[]\n\t\t\t),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems,\n\n\t\t\tmatcherOut = matcher ?\n\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t\t[] :\n\n\t\t\t\t\t// ...otherwise use results directly\n\t\t\t\t\tresults :\n\t\t\t\tmatcherIn;\n\n\t\t// Find primary matches\n\t\tif ( matcher ) {\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\t\t\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element (issue #299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\ttokens\n\t\t\t\t\t\t.slice( 0, i - 1 )\n\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrim, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find[ \"TAG\" ]( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: IE<9, Safari\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: ) matching elements by id\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tresults.push( elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tSizzle.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache(\n\t\t\tselector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers )\n\t\t);\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n};\n\n/**\n * A low-level selection function that works with Sizzle's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with Sizzle.compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nselect = Sizzle.select = function( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find[ \"ID\" ]( token.matches[ 0 ]\n\t\t\t\t.replace( runescape, funescape ), context ) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr[ \"needsContext\" ].test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n};\n\n// One-time assignments\n\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Support: Chrome 14-35+\n// Always assume duplicates if they aren't passed to the comparison function\nsupport.detectDuplicates = !!hasDuplicate;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\n// Support: IE<8\n// Prevent attribute/property \"interpolation\"\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\nif ( !assert( function( el ) {\n\tel.innerHTML = \"\";\n\treturn el.firstChild.getAttribute( \"href\" ) === \"#\";\n} ) ) {\n\taddHandle( \"type|href|height|width\", function( elem, name, isXML ) {\n\t\tif ( !isXML ) {\n\t\t\treturn elem.getAttribute( name, name.toLowerCase() === \"type\" ? 1 : 2 );\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use defaultValue in place of getAttribute(\"value\")\nif ( !support.attributes || !assert( function( el ) {\n\tel.innerHTML = \"\";\n\tel.firstChild.setAttribute( \"value\", \"\" );\n\treturn el.firstChild.getAttribute( \"value\" ) === \"\";\n} ) ) {\n\taddHandle( \"value\", function( elem, _name, isXML ) {\n\t\tif ( !isXML && elem.nodeName.toLowerCase() === \"input\" ) {\n\t\t\treturn elem.defaultValue;\n\t\t}\n\t} );\n}\n\n// Support: IE<9\n// Use getAttributeNode to fetch booleans when getAttribute lies\nif ( !assert( function( el ) {\n\treturn el.getAttribute( \"disabled\" ) == null;\n} ) ) {\n\taddHandle( booleans, function( elem, name, isXML ) {\n\t\tvar val;\n\t\tif ( !isXML ) {\n\t\t\treturn elem[ name ] === true ? name.toLowerCase() :\n\t\t\t\t( val = elem.getAttributeNode( name ) ) && val.specified ?\n\t\t\t\t\tval.value :\n\t\t\t\t\tnull;\n\t\t}\n\t} );\n}\n\nreturn Sizzle;\n\n} )( window );\n\n\n\njQuery.find = Sizzle;\njQuery.expr = Sizzle.selectors;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\njQuery.text = Sizzle.getText;\njQuery.isXMLDoc = Sizzle.isXML;\njQuery.contains = Sizzle.contains;\njQuery.escapeSelector = Sizzle.escape;\n\n\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over to avoid XSS via location.hash (trac-9521)\n\t// Strict HTML recognition (trac-11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to Sizzle\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.stackTrace );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the stack, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.stackTrace = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\njQuery.Deferred.exceptionHook = function( error, stack ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message, error.stack, stack );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See trac-6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (trac-9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see trac-8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (trac-14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (trac-11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (trac-14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces \";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (trac-13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting or other required elements.\n\tthead: [ 1, \"\", \"
      \" ],\n\tcol: [ 2, \"\", \"
      \" ],\n\ttr: [ 2, \"\", \"
      \" ],\n\ttd: [ 3, \"\", \"
      \" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (trac-12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\n// Support: IE <=9 - 11+\n// focus() and blur() are asynchronous, except when they are no-op.\n// So expect focus to be synchronous when the element is already active,\n// and blur to be synchronous when the element is not already active.\n// (focus and blur are always synchronous in other supported browsers,\n// this just defines when we can count on it).\nfunction expectSync( elem, type ) {\n\treturn ( elem === safeActiveElement() ) === ( type === \"focus\" );\n}\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (trac-13208)\n\t\t\t\t// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (trac-13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", returnTrue );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, expectSync ) {\n\n\t// Missing expectSync indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !expectSync ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar notAsync, result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\t// Saved data should be false in such cases, but might be a leftover capture object\n\t\t\t\t// from an async native handler (gh-4350)\n\t\t\t\tif ( !saved.length ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t// focus() and blur() are asynchronous\n\t\t\t\t\tnotAsync = expectSync( this, type );\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tif ( saved !== result || notAsync ) {\n\t\t\t\t\t\tdataPriv.set( this, type, false );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = {};\n\t\t\t\t\t}\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\t// Support: Chrome 86+\n\t\t\t\t\t\t// In Chrome, if an element having a focusout handler is blurred by\n\t\t\t\t\t\t// clicking outside of it, it invokes the handler synchronously. If\n\t\t\t\t\t\t// that handler calls `.remove()` on the element, the data is cleared,\n\t\t\t\t\t\t// leaving `result` undefined. We need to guard against this.\n\t\t\t\t\t\treturn result && result.value;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering the\n\t\t\t\t// native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved.length ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, {\n\t\t\t\t\tvalue: jQuery.event.trigger(\n\n\t\t\t\t\t\t// Support: IE <=9 - 11+\n\t\t\t\t\t\t// Extend with the prototype to reset the above stopImmediatePropagation()\n\t\t\t\t\t\tjQuery.extend( saved[ 0 ], jQuery.Event.prototype ),\n\t\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\t\tthis\n\t\t\t\t\t)\n\t\t\t\t} );\n\n\t\t\t\t// Abort handling of the native event\n\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (trac-504, trac-13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, expectSync );\n\n\t\t\t// Return false to allow normal processing in the caller\n\t\t\treturn false;\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\t// Suppress native focus or blur if we're currently inside\n\t\t// a leveraged native-event stack\n\t\t_default: function( event ) {\n\t\t\treturn dataPriv.get( event.target, type );\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (trac-8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Reenable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Unwrap a CDATA section containing script contents. This shouldn't be\n\t\t\t\t\t\t\t// needed as in XML documents they're already not visible when\n\t\t\t\t\t\t\t// inspecting element contents and in HTML documents they have no\n\t\t\t\t\t\t\t// meaning but we're preserving that logic for backwards compatibility.\n\t\t\t\t\t\t\t// This will be removed completely in 4.0. See gh-4904.\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar rcustomProp = /^--/;\n\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\nvar whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n\n\nvar rtrimCSS = new RegExp(\n\t\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\",\n\t\"g\"\n);\n\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (trac-8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is display: block\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tisCustomProp = rcustomProp.test( name ),\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, trac-12537)\n\t// .css('--customProperty) (gh-3144)\n\tif ( computed ) {\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\t// trim whitespace for custom property (issue gh-4926)\n\t\tif ( isCustomProp ) {\n\n\t\t\t// rtrim treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n\t\t\t// as whitespace while CSS does not, but this is not a problem\n\t\t\t// because CSS preprocessing replaces them with U+000A LINE FEED\n\t\t\t// (which *is* CSS whitespace)\n\t\t\t// https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n\t\t\tret = ret.replace( rtrimCSS, \"$1\" );\n\t\t}\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\tif ( box === \"margin\" ) {\n\t\t\tdelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\t\"animationIterationCount\": true,\n\t\t\"columnCount\": true,\n\t\t\"fillOpacity\": true,\n\t\t\"flexGrow\": true,\n\t\t\"flexShrink\": true,\n\t\t\"fontWeight\": true,\n\t\t\"gridArea\": true,\n\t\t\"gridColumn\": true,\n\t\t\"gridColumnEnd\": true,\n\t\t\"gridColumnStart\": true,\n\t\t\"gridRow\": true,\n\t\t\"gridRowEnd\": true,\n\t\t\"gridRowStart\": true,\n\t\t\"lineHeight\": true,\n\t\t\"opacity\": true,\n\t\t\"order\": true,\n\t\t\"orphans\": true,\n\t\t\"widows\": true,\n\t\t\"zIndex\": true,\n\t\t\"zoom\": true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug trac-9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (trac-7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// Use proper attribute retrieval (trac-12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + className + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += className + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + className + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + className + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar classNames, className, i, self,\n\t\t\ttype = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\treturn this.each( function() {\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\tself = jQuery( this );\n\n\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (trac-14686, trac-14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (trac-2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\n\n\nsupport.focusin = \"onfocusin\" in window;\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (trac-9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (trac-6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\n// Support: Firefox <=44\n// Firefox doesn't have focus(in | out) events\n// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n//\n// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n// focus(in | out) events fire after focus & blur events,\n// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\nif ( !support.focusin ) {\n\tjQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\n\n\t\t// Attach a single capturing handler on the document while someone wants focusin/focusout\n\t\tvar handler = function( event ) {\n\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );\n\t\t};\n\n\t\tjQuery.event.special[ fix ] = {\n\t\t\tsetup: function() {\n\n\t\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix );\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.addEventListener( orig, handler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.access( doc, fix, ( attaches || 0 ) + 1 );\n\t\t\t},\n\t\t\tteardown: function() {\n\t\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\t\tattaches = dataPriv.access( doc, fix ) - 1;\n\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tdoc.removeEventListener( orig, handler, true );\n\t\t\t\t\tdataPriv.remove( doc, fix );\n\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.access( doc, fix, attaches );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t} );\n}\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// trac-7653, trac-8125, trac-8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes trac-9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (trac-10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket trac-12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// trac-9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (trac-11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// trac-1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see trac-8605, trac-14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// trac-14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code);\n buffer = '';\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In raw continuation, after ` | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase();\n if (htmlRawNames.includes(name)) {\n effects.consume(code);\n return continuationClose;\n }\n return continuation(code);\n }\n if (asciiAlpha(code) && buffer.length < 8) {\n effects.consume(code);\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code);\n return continuationRawEndTag;\n }\n return continuation(code);\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code);\n return continuationClose;\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code);\n return continuationDeclarationInside;\n }\n return continuation(code);\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"htmlFlowData\");\n return continuationAfter(code);\n }\n effects.consume(code);\n return continuationClose;\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit(\"htmlFlow\");\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start;\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
      \n * ^\n * |\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return effects.attempt(blankLine, ok, nok);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nconst nonLazyContinuation = {\n tokenize: tokenizeNonLazyContinuation,\n partial: true\n};\n\n/** @type {Construct} */\nexport const codeFenced = {\n name: 'codeFenced',\n tokenize: tokenizeCodeFenced,\n concrete: true\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeFenced(effects, ok, nok) {\n const self = this;\n /** @type {Construct} */\n const closeStart = {\n tokenize: tokenizeCloseStart,\n partial: true\n };\n let initialPrefix = 0;\n let sizeOpen = 0;\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Start of code.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // To do: parse whitespace like `markdown-rs`.\n return beforeSequenceOpen(code);\n }\n\n /**\n * In opening fence, after prefix, at sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeSequenceOpen(code) {\n const tail = self.events[self.events.length - 1];\n initialPrefix = tail && tail[1].type === \"linePrefix\" ? tail[2].sliceSerialize(tail[1], true).length : 0;\n marker = code;\n effects.enter(\"codeFenced\");\n effects.enter(\"codeFencedFence\");\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening fence sequence.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === marker) {\n sizeOpen++;\n effects.consume(code);\n return sequenceOpen;\n }\n if (sizeOpen < 3) {\n return nok(code);\n }\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, infoBefore, \"whitespace\")(code) : infoBefore(code);\n }\n\n /**\n * In opening fence, after the sequence (and optional whitespace), before info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function infoBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return self.interrupt ? ok(code) : effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFencedFenceInfo\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return info(code);\n }\n\n /**\n * In info.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function info(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return infoBefore(code);\n }\n if (markdownSpace(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceInfo\");\n return factorySpace(effects, metaBefore, \"whitespace\")(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return info;\n }\n\n /**\n * In opening fence, after info and whitespace, before meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function metaBefore(code) {\n if (code === null || markdownLineEnding(code)) {\n return infoBefore(code);\n }\n effects.enter(\"codeFencedFenceMeta\");\n effects.enter(\"chunkString\", {\n contentType: \"string\"\n });\n return meta(code);\n }\n\n /**\n * In meta.\n *\n * ```markdown\n * > | ~~~js eval\n * ^\n * | alert(1)\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function meta(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"chunkString\");\n effects.exit(\"codeFencedFenceMeta\");\n return infoBefore(code);\n }\n if (code === 96 && code === marker) {\n return nok(code);\n }\n effects.consume(code);\n return meta;\n }\n\n /**\n * At eol/eof in code, before a non-lazy closing fence or content.\n *\n * ```markdown\n * > | ~~~js\n * ^\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function atNonLazyBreak(code) {\n return effects.attempt(closeStart, after, contentBefore)(code);\n }\n\n /**\n * Before code content, not a closing fence, at eol.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return contentStart;\n }\n\n /**\n * Before code content, not a closing fence.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentStart(code) {\n return initialPrefix > 0 && markdownSpace(code) ? factorySpace(effects, beforeContentChunk, \"linePrefix\", initialPrefix + 1)(code) : beforeContentChunk(code);\n }\n\n /**\n * Before code content, after optional prefix.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function beforeContentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n return effects.check(nonLazyContinuation, atNonLazyBreak, after)(code);\n }\n effects.enter(\"codeFlowValue\");\n return contentChunk(code);\n }\n\n /**\n * In code content.\n *\n * ```markdown\n * | ~~~js\n * > | alert(1)\n * ^^^^^^^^\n * | ~~~\n * ```\n *\n * @type {State}\n */\n function contentChunk(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFlowValue\");\n return beforeContentChunk(code);\n }\n effects.consume(code);\n return contentChunk;\n }\n\n /**\n * After code.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n effects.exit(\"codeFenced\");\n return ok(code);\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\n function tokenizeCloseStart(effects, ok, nok) {\n let size = 0;\n return startBefore;\n\n /**\n *\n *\n * @type {State}\n */\n function startBefore(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return start;\n }\n\n /**\n * Before closing fence, at optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // Always populated by defaults.\n\n // To do: `enter` here or in next state?\n effects.enter(\"codeFencedFence\");\n return markdownSpace(code) ? factorySpace(effects, beforeSequenceClose, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : beforeSequenceClose(code);\n }\n\n /**\n * In closing fence, after optional whitespace, at sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function beforeSequenceClose(code) {\n if (code === marker) {\n effects.enter(\"codeFencedFenceSequence\");\n return sequenceClose(code);\n }\n return nok(code);\n }\n\n /**\n * In closing fence sequence.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n if (code === marker) {\n size++;\n effects.consume(code);\n return sequenceClose;\n }\n if (size >= sizeOpen) {\n effects.exit(\"codeFencedFenceSequence\");\n return markdownSpace(code) ? factorySpace(effects, sequenceCloseAfter, \"whitespace\")(code) : sequenceCloseAfter(code);\n }\n return nok(code);\n }\n\n /**\n * After closing fence sequence, after optional whitespace.\n *\n * ```markdown\n * | ~~~js\n * | alert(1)\n * > | ~~~\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceCloseAfter(code) {\n if (code === null || markdownLineEnding(code)) {\n effects.exit(\"codeFencedFence\");\n return ok(code);\n }\n return nok(code);\n }\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuation(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n *\n *\n * @type {State}\n */\n function start(code) {\n if (code === null) {\n return nok(code);\n }\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineStart;\n }\n\n /**\n *\n *\n * @type {State}\n */\n function lineStart(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code);\n }\n}","/// \n\n/* eslint-env browser */\n\nconst element = document.createElement('i')\n\n/**\n * @param {string} value\n * @returns {string|false}\n */\nexport function decodeNamedCharacterReference(value) {\n const characterReference = '&' + value + ';'\n element.innerHTML = characterReference\n const char = element.textContent\n\n // Some named character references do not require the closing semicolon\n // (`¬`, for instance), which leads to situations where parsing the assumed\n // named reference of `¬it;` will result in the string `¬it;`.\n // When we encounter a trailing semicolon after parsing, and the character\n // reference to decode was not a semicolon (`;`), we can assume that the\n // matching was not complete.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n if (char.charCodeAt(char.length - 1) === 59 /* `;` */ && value !== 'semi') {\n return false\n }\n\n // If the decoded string is equal to the input, the character reference was\n // not valid.\n // @ts-expect-error: TypeScript is wrong that `textContent` on elements can\n // yield `null`.\n return char === characterReference ? false : char\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { decodeNamedCharacterReference } from 'decode-named-character-reference';\nimport { asciiAlphanumeric, asciiDigit, asciiHexDigit } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterReference = {\n name: 'characterReference',\n tokenize: tokenizeCharacterReference\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterReference(effects, ok, nok) {\n const self = this;\n let size = 0;\n /** @type {number} */\n let max;\n /** @type {(code: Code) => boolean} */\n let test;\n return start;\n\n /**\n * Start of character reference.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterReference\");\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n return open;\n }\n\n /**\n * After `&`, at `#` for numeric references or alphanumeric for named\n * references.\n *\n * ```markdown\n * > | a&b\n * ^\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 35) {\n effects.enter(\"characterReferenceMarkerNumeric\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerNumeric\");\n return numeric;\n }\n effects.enter(\"characterReferenceValue\");\n max = 31;\n test = asciiAlphanumeric;\n return value(code);\n }\n\n /**\n * After `#`, at `x` for hexadecimals or digit for decimals.\n *\n * ```markdown\n * > | a{b\n * ^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function numeric(code) {\n if (code === 88 || code === 120) {\n effects.enter(\"characterReferenceMarkerHexadecimal\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarkerHexadecimal\");\n effects.enter(\"characterReferenceValue\");\n max = 6;\n test = asciiHexDigit;\n return value;\n }\n effects.enter(\"characterReferenceValue\");\n max = 7;\n test = asciiDigit;\n return value(code);\n }\n\n /**\n * After markers (`&#x`, `&#`, or `&`), in value, before `;`.\n *\n * The character reference kind defines what and how many characters are\n * allowed.\n *\n * ```markdown\n * > | a&b\n * ^^^\n * > | a{b\n * ^^^\n * > | a b\n * ^\n * ```\n *\n * @type {State}\n */\n function value(code) {\n if (code === 59 && size) {\n const token = effects.exit(\"characterReferenceValue\");\n if (test === asciiAlphanumeric && !decodeNamedCharacterReference(self.sliceSerialize(token))) {\n return nok(code);\n }\n\n // To do: `markdown-rs` uses a different name:\n // `CharacterReferenceMarkerSemi`.\n effects.enter(\"characterReferenceMarker\");\n effects.consume(code);\n effects.exit(\"characterReferenceMarker\");\n effects.exit(\"characterReference\");\n return ok;\n }\n if (test(code) && size++ < max) {\n effects.consume(code);\n return value;\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { asciiPunctuation } from 'micromark-util-character';\n/** @type {Construct} */\nexport const characterEscape = {\n name: 'characterEscape',\n tokenize: tokenizeCharacterEscape\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCharacterEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of character escape.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"characterEscape\");\n effects.enter(\"escapeMarker\");\n effects.consume(code);\n effects.exit(\"escapeMarker\");\n return inside;\n }\n\n /**\n * After `\\`, at punctuation.\n *\n * ```markdown\n * > | a\\*b\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n // ASCII punctuation.\n if (asciiPunctuation(code)) {\n effects.enter(\"characterEscapeValue\");\n effects.consume(code);\n effects.exit(\"characterEscapeValue\");\n effects.exit(\"characterEscape\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start;\n\n /** @type {State} */\n function start(code) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return factorySpace(effects, ok, \"linePrefix\");\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factoryDestination } from 'micromark-factory-destination';\nimport { factoryLabel } from 'micromark-factory-label';\nimport { factoryTitle } from 'micromark-factory-title';\nimport { factoryWhitespace } from 'micromark-factory-whitespace';\nimport { markdownLineEndingOrSpace } from 'micromark-util-character';\nimport { push, splice } from 'micromark-util-chunked';\nimport { normalizeIdentifier } from 'micromark-util-normalize-identifier';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n};\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n};\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n};\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n};\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1;\n while (++index < events.length) {\n const token = events[index][1];\n if (token.type === \"labelImage\" || token.type === \"labelLink\" || token.type === \"labelEnd\") {\n // Remove the marker.\n events.splice(index + 1, token.type === \"labelImage\" ? 4 : 2);\n token.type = \"data\";\n index++;\n }\n }\n return events;\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length;\n let offset = 0;\n /** @type {Token} */\n let token;\n /** @type {number | undefined} */\n let open;\n /** @type {number | undefined} */\n let close;\n /** @type {Array} */\n let media;\n\n // Find an opening.\n while (index--) {\n token = events[index][1];\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (token.type === \"link\" || token.type === \"labelLink\" && token._inactive) {\n break;\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === \"labelLink\") {\n token._inactive = true;\n }\n } else if (close) {\n if (events[index][0] === 'enter' && (token.type === \"labelImage\" || token.type === \"labelLink\") && !token._balanced) {\n open = index;\n if (token.type !== \"labelLink\") {\n offset = 2;\n break;\n }\n }\n } else if (token.type === \"labelEnd\") {\n close = index;\n }\n }\n const group = {\n type: events[open][1].type === \"labelLink\" ? \"link\" : \"image\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n };\n const label = {\n type: \"label\",\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n };\n const text = {\n type: \"labelText\",\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n };\n media = [['enter', group, context], ['enter', label, context]];\n\n // Opening marker.\n media = push(media, events.slice(open + 1, open + offset + 3));\n\n // Text open.\n media = push(media, [['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n media = push(media, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + offset + 4, close - 3), context));\n\n // Text close, marker close, label close.\n media = push(media, [['exit', text, context], events[close - 2], events[close - 1], ['exit', label, context]]);\n\n // Reference, resource, or so.\n media = push(media, events.slice(close + 1));\n\n // Media close.\n media = push(media, [['exit', group, context]]);\n splice(events, open, events.length, media);\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this;\n let index = self.events.length;\n /** @type {Token} */\n let labelStart;\n /** @type {boolean} */\n let defined;\n\n // Find an opening.\n while (index--) {\n if ((self.events[index][1].type === \"labelImage\" || self.events[index][1].type === \"labelLink\") && !self.events[index][1]._balanced) {\n labelStart = self.events[index][1];\n break;\n }\n }\n return start;\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code);\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code);\n }\n defined = self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })));\n effects.enter(\"labelEnd\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelEnd\");\n return after;\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(resourceConstruct, labelEndOk, defined ? labelEndOk : labelEndNok)(code);\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(referenceFullConstruct, labelEndOk, defined ? referenceNotFull : labelEndNok)(code);\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code);\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(referenceCollapsedConstruct, labelEndOk, labelEndNok)(code);\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code);\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true;\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart;\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter(\"resource\");\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n return resourceBefore;\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceOpen)(code) : resourceOpen(code);\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code);\n }\n return factoryDestination(effects, resourceDestinationAfter, resourceDestinationMissing, \"resourceDestination\", \"resourceDestinationLiteral\", \"resourceDestinationLiteralMarker\", \"resourceDestinationRaw\", \"resourceDestinationString\", 32)(code);\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceBetween)(code) : resourceEnd(code);\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code);\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return factoryTitle(effects, resourceTitleAfter, nok, \"resourceTitle\", \"resourceTitleMarker\", \"resourceTitleString\")(code);\n }\n return resourceEnd(code);\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return markdownLineEndingOrSpace(code) ? factoryWhitespace(effects, resourceEnd)(code) : resourceEnd(code);\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter(\"resourceMarker\");\n effects.consume(code);\n effects.exit(\"resourceMarker\");\n effects.exit(\"resource\");\n return ok;\n }\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this;\n return referenceFull;\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return factoryLabel.call(self, effects, referenceFullAfter, referenceFullMissing, \"reference\", \"referenceMarker\", \"referenceString\")(code);\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(normalizeIdentifier(self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1))) ? ok(code) : nok(code);\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code);\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart;\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter(\"reference\");\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n return referenceCollapsedOpen;\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter(\"referenceMarker\");\n effects.consume(code);\n effects.exit(\"referenceMarker\");\n effects.exit(\"reference\");\n return ok;\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\nimport {\n markdownLineEndingOrSpace,\n unicodePunctuation,\n unicodeWhitespace\n} from 'micromark-util-character'\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nexport function classifyCharacter(code) {\n if (\n code === null ||\n markdownLineEndingOrSpace(code) ||\n unicodeWhitespace(code)\n ) {\n return 1\n }\n if (unicodePunctuation(code)) {\n return 2\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { push, splice } from 'micromark-util-chunked';\nimport { classifyCharacter } from 'micromark-util-classify-character';\nimport { resolveAll } from 'micromark-util-resolve-all';\n/** @type {Construct} */\nexport const attention = {\n name: 'attention',\n tokenize: tokenizeAttention,\n resolveAll: resolveAllAttention\n};\n\n/**\n * Take all events and resolve attention to emphasis or strong.\n *\n * @type {Resolver}\n */\n// eslint-disable-next-line complexity\nfunction resolveAllAttention(events, context) {\n let index = -1;\n /** @type {number} */\n let open;\n /** @type {Token} */\n let group;\n /** @type {Token} */\n let text;\n /** @type {Token} */\n let openingSequence;\n /** @type {Token} */\n let closingSequence;\n /** @type {number} */\n let use;\n /** @type {Array} */\n let nextEvents;\n /** @type {number} */\n let offset;\n\n // Walk through all events.\n //\n // Note: performance of this is fine on an mb of normal markdown, but it’s\n // a bottleneck for malicious stuff.\n while (++index < events.length) {\n // Find a token that can close.\n if (events[index][0] === 'enter' && events[index][1].type === 'attentionSequence' && events[index][1]._close) {\n open = index;\n\n // Now walk back to find an opener.\n while (open--) {\n // Find a token that can open the closer.\n if (events[open][0] === 'exit' && events[open][1].type === 'attentionSequence' && events[open][1]._open &&\n // If the markers are the same:\n context.sliceSerialize(events[open][1]).charCodeAt(0) === context.sliceSerialize(events[index][1]).charCodeAt(0)) {\n // If the opening can close or the closing can open,\n // and the close size *is not* a multiple of three,\n // but the sum of the opening and closing size *is* multiple of three,\n // then don’t match.\n if ((events[open][1]._close || events[index][1]._open) && (events[index][1].end.offset - events[index][1].start.offset) % 3 && !((events[open][1].end.offset - events[open][1].start.offset + events[index][1].end.offset - events[index][1].start.offset) % 3)) {\n continue;\n }\n\n // Number of markers to use from the sequence.\n use = events[open][1].end.offset - events[open][1].start.offset > 1 && events[index][1].end.offset - events[index][1].start.offset > 1 ? 2 : 1;\n const start = Object.assign({}, events[open][1].end);\n const end = Object.assign({}, events[index][1].start);\n movePoint(start, -use);\n movePoint(end, use);\n openingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start,\n end: Object.assign({}, events[open][1].end)\n };\n closingSequence = {\n type: use > 1 ? \"strongSequence\" : \"emphasisSequence\",\n start: Object.assign({}, events[index][1].start),\n end\n };\n text = {\n type: use > 1 ? \"strongText\" : \"emphasisText\",\n start: Object.assign({}, events[open][1].end),\n end: Object.assign({}, events[index][1].start)\n };\n group = {\n type: use > 1 ? \"strong\" : \"emphasis\",\n start: Object.assign({}, openingSequence.start),\n end: Object.assign({}, closingSequence.end)\n };\n events[open][1].end = Object.assign({}, openingSequence.start);\n events[index][1].start = Object.assign({}, closingSequence.end);\n nextEvents = [];\n\n // If there are more markers in the opening, add them before.\n if (events[open][1].end.offset - events[open][1].start.offset) {\n nextEvents = push(nextEvents, [['enter', events[open][1], context], ['exit', events[open][1], context]]);\n }\n\n // Opening.\n nextEvents = push(nextEvents, [['enter', group, context], ['enter', openingSequence, context], ['exit', openingSequence, context], ['enter', text, context]]);\n\n // Always populated by defaults.\n\n // Between.\n nextEvents = push(nextEvents, resolveAll(context.parser.constructs.insideSpan.null, events.slice(open + 1, index), context));\n\n // Closing.\n nextEvents = push(nextEvents, [['exit', text, context], ['enter', closingSequence, context], ['exit', closingSequence, context], ['exit', group, context]]);\n\n // If there are more markers in the closing, add them after.\n if (events[index][1].end.offset - events[index][1].start.offset) {\n offset = 2;\n nextEvents = push(nextEvents, [['enter', events[index][1], context], ['exit', events[index][1], context]]);\n } else {\n offset = 0;\n }\n splice(events, open - 1, index - open + 3, nextEvents);\n index = open + nextEvents.length - offset - 2;\n break;\n }\n }\n }\n }\n\n // Remove remaining sequences.\n index = -1;\n while (++index < events.length) {\n if (events[index][1].type === 'attentionSequence') {\n events[index][1].type = 'data';\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAttention(effects, ok) {\n const attentionMarkers = this.parser.constructs.attentionMarkers.null;\n const previous = this.previous;\n const before = classifyCharacter(previous);\n\n /** @type {NonNullable} */\n let marker;\n return start;\n\n /**\n * Before a sequence.\n *\n * ```markdown\n * > | **\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n marker = code;\n effects.enter('attentionSequence');\n return inside(code);\n }\n\n /**\n * In a sequence.\n *\n * ```markdown\n * > | **\n * ^^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code);\n return inside;\n }\n const token = effects.exit('attentionSequence');\n\n // To do: next major: move this to resolver, just like `markdown-rs`.\n const after = classifyCharacter(code);\n\n // Always populated by defaults.\n\n const open = !after || after === 2 && before || attentionMarkers.includes(code);\n const close = !before || before === 2 && after || attentionMarkers.includes(previous);\n token._open = Boolean(marker === 42 ? open : open && (before || !close));\n token._close = Boolean(marker === 42 ? close : close && (after || !open));\n return ok(code);\n }\n}\n\n/**\n * Move a point a bit.\n *\n * Note: `move` only works inside lines! It’s not possible to move past other\n * chunks (replacement characters, tabs, or line endings).\n *\n * @param {Point} point\n * @param {number} offset\n * @returns {undefined}\n */\nfunction movePoint(point, offset) {\n point.column += offset;\n point.offset += offset;\n point._bufferIndex += offset;\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { asciiAlpha, asciiAlphanumeric, asciiAtext, asciiControl } from 'micromark-util-character';\n/** @type {Construct} */\nexport const autolink = {\n name: 'autolink',\n tokenize: tokenizeAutolink\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeAutolink(effects, ok, nok) {\n let size = 0;\n return start;\n\n /**\n * Start of an autolink.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"autolink\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.enter(\"autolinkProtocol\");\n return open;\n }\n\n /**\n * After `<`, at protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (asciiAlpha(code)) {\n effects.consume(code);\n return schemeOrEmailAtext;\n }\n if (code === 64) {\n return nok(code);\n }\n return emailAtext(code);\n }\n\n /**\n * At second byte of protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeOrEmailAtext(code) {\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if (code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) {\n // Count the previous alphabetical from `open` too.\n size = 1;\n return schemeInsideOrEmailAtext(code);\n }\n return emailAtext(code);\n }\n\n /**\n * In ambiguous protocol or atext.\n *\n * ```markdown\n * > | ab\n * ^\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function schemeInsideOrEmailAtext(code) {\n if (code === 58) {\n effects.consume(code);\n size = 0;\n return urlInside;\n }\n\n // ASCII alphanumeric and `+`, `-`, and `.`.\n if ((code === 43 || code === 45 || code === 46 || asciiAlphanumeric(code)) && size++ < 32) {\n effects.consume(code);\n return schemeInsideOrEmailAtext;\n }\n size = 0;\n return emailAtext(code);\n }\n\n /**\n * After protocol, in URL.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function urlInside(code) {\n if (code === 62) {\n effects.exit(\"autolinkProtocol\");\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n\n // ASCII control, space, or `<`.\n if (code === null || code === 32 || code === 60 || asciiControl(code)) {\n return nok(code);\n }\n effects.consume(code);\n return urlInside;\n }\n\n /**\n * In email atext.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailAtext(code) {\n if (code === 64) {\n effects.consume(code);\n return emailAtSignOrDot;\n }\n if (asciiAtext(code)) {\n effects.consume(code);\n return emailAtext;\n }\n return nok(code);\n }\n\n /**\n * In label, after at-sign or dot.\n *\n * ```markdown\n * > | ab\n * ^ ^\n * ```\n *\n * @type {State}\n */\n function emailAtSignOrDot(code) {\n return asciiAlphanumeric(code) ? emailLabel(code) : nok(code);\n }\n\n /**\n * In label, where `.` and `>` are allowed.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailLabel(code) {\n if (code === 46) {\n effects.consume(code);\n size = 0;\n return emailAtSignOrDot;\n }\n if (code === 62) {\n // Exit, then change the token type.\n effects.exit(\"autolinkProtocol\").type = \"autolinkEmail\";\n effects.enter(\"autolinkMarker\");\n effects.consume(code);\n effects.exit(\"autolinkMarker\");\n effects.exit(\"autolink\");\n return ok;\n }\n return emailValue(code);\n }\n\n /**\n * In label, where `.` and `>` are *not* allowed.\n *\n * Though, this is also used in `emailLabel` to parse other values.\n *\n * ```markdown\n * > | ab\n * ^\n * ```\n *\n * @type {State}\n */\n function emailValue(code) {\n // ASCII alphanumeric or `-`.\n if ((code === 45 || asciiAlphanumeric(code)) && size++ < 63) {\n const next = code === 45 ? emailValue : emailLabel;\n effects.consume(code);\n return next;\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { factorySpace } from 'micromark-factory-space';\nimport { asciiAlpha, asciiAlphanumeric, markdownLineEnding, markdownLineEndingOrSpace, markdownSpace } from 'micromark-util-character';\n/** @type {Construct} */\nexport const htmlText = {\n name: 'htmlText',\n tokenize: tokenizeHtmlText\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHtmlText(effects, ok, nok) {\n const self = this;\n /** @type {NonNullable | undefined} */\n let marker;\n /** @type {number} */\n let index;\n /** @type {State} */\n let returnState;\n return start;\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"htmlText\");\n effects.enter(\"htmlTextData\");\n effects.consume(code);\n return open;\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code);\n return declarationOpen;\n }\n if (code === 47) {\n effects.consume(code);\n return tagCloseStart;\n }\n if (code === 63) {\n effects.consume(code);\n return instruction;\n }\n\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagOpen;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code);\n return commentOpenInside;\n }\n if (code === 91) {\n effects.consume(code);\n index = 0;\n return cdataOpenInside;\n }\n if (asciiAlpha(code)) {\n effects.consume(code);\n return declaration;\n }\n return nok(code);\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return nok(code);\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 45) {\n effects.consume(code);\n return commentClose;\n }\n if (markdownLineEnding(code)) {\n returnState = comment;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return comment;\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code);\n return commentEnd;\n }\n return comment(code);\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62 ? end(code) : code === 45 ? commentClose(code) : comment(code);\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = \"CDATA[\";\n if (code === value.charCodeAt(index++)) {\n effects.consume(code);\n return index === value.length ? cdata : cdataOpenInside;\n }\n return nok(code);\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataClose;\n }\n if (markdownLineEnding(code)) {\n returnState = cdata;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return cdata;\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code);\n }\n if (code === 93) {\n effects.consume(code);\n return cdataEnd;\n }\n return cdata(code);\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code);\n }\n if (markdownLineEnding(code)) {\n returnState = declaration;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return declaration;\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code);\n }\n if (code === 63) {\n effects.consume(code);\n return instructionClose;\n }\n if (markdownLineEnding(code)) {\n returnState = instruction;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return instruction;\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (asciiAlpha(code)) {\n effects.consume(code);\n return tagClose;\n }\n return nok(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagClose;\n }\n return tagCloseBetween(code);\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (markdownLineEnding(code)) {\n returnState = tagCloseBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagCloseBetween;\n }\n return end(code);\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpen;\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code);\n return end;\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || asciiAlpha(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenBetween;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenBetween;\n }\n return end(code);\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (code === 45 || code === 46 || code === 58 || code === 95 || asciiAlphanumeric(code)) {\n effects.consume(code);\n return tagOpenAttributeName;\n }\n return tagOpenAttributeNameAfter(code);\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeNameAfter;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeNameAfter;\n }\n return tagOpenBetween(code);\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (code === null || code === 60 || code === 61 || code === 62 || code === 96) {\n return nok(code);\n }\n if (code === 34 || code === 39) {\n effects.consume(code);\n marker = code;\n return tagOpenAttributeValueQuoted;\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueBefore;\n return lineEndingBefore(code);\n }\n if (markdownSpace(code)) {\n effects.consume(code);\n return tagOpenAttributeValueBefore;\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code);\n marker = undefined;\n return tagOpenAttributeValueQuotedAfter;\n }\n if (code === null) {\n return nok(code);\n }\n if (markdownLineEnding(code)) {\n returnState = tagOpenAttributeValueQuoted;\n return lineEndingBefore(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueQuoted;\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (code === null || code === 34 || code === 39 || code === 60 || code === 61 || code === 96) {\n return nok(code);\n }\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n effects.consume(code);\n return tagOpenAttributeValueUnquoted;\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || markdownLineEndingOrSpace(code)) {\n return tagOpenBetween(code);\n }\n return nok(code);\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code);\n effects.exit(\"htmlTextData\");\n effects.exit(\"htmlText\");\n return ok;\n }\n return nok(code);\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit(\"htmlTextData\");\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return lineEndingAfter;\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return markdownSpace(code) ? factorySpace(effects, lineEndingAfterPrefix, \"linePrefix\", self.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4)(code) : lineEndingAfterPrefix(code);\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter(\"htmlTextData\");\n return returnState(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Previous} Previous\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const codeText = {\n name: 'codeText',\n tokenize: tokenizeCodeText,\n resolve: resolveCodeText,\n previous\n};\n\n// To do: next major: don’t resolve, like `markdown-rs`.\n/** @type {Resolver} */\nfunction resolveCodeText(events) {\n let tailExitIndex = events.length - 4;\n let headEnterIndex = 3;\n /** @type {number} */\n let index;\n /** @type {number | undefined} */\n let enter;\n\n // If we start and end with an EOL or a space.\n if ((events[headEnterIndex][1].type === \"lineEnding\" || events[headEnterIndex][1].type === 'space') && (events[tailExitIndex][1].type === \"lineEnding\" || events[tailExitIndex][1].type === 'space')) {\n index = headEnterIndex;\n\n // And we have data.\n while (++index < tailExitIndex) {\n if (events[index][1].type === \"codeTextData\") {\n // Then we have padding.\n events[headEnterIndex][1].type = \"codeTextPadding\";\n events[tailExitIndex][1].type = \"codeTextPadding\";\n headEnterIndex += 2;\n tailExitIndex -= 2;\n break;\n }\n }\n }\n\n // Merge adjacent spaces and data.\n index = headEnterIndex - 1;\n tailExitIndex++;\n while (++index <= tailExitIndex) {\n if (enter === undefined) {\n if (index !== tailExitIndex && events[index][1].type !== \"lineEnding\") {\n enter = index;\n }\n } else if (index === tailExitIndex || events[index][1].type === \"lineEnding\") {\n events[enter][1].type = \"codeTextData\";\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end;\n events.splice(enter + 2, index - enter - 2);\n tailExitIndex -= index - enter - 2;\n index = enter + 2;\n }\n enter = undefined;\n }\n }\n return events;\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Previous}\n */\nfunction previous(code) {\n // If there is a previous code, there will always be a tail.\n return code !== 96 || this.events[this.events.length - 1][1].type === \"characterEscape\";\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeCodeText(effects, ok, nok) {\n const self = this;\n let sizeOpen = 0;\n /** @type {number} */\n let size;\n /** @type {Token} */\n let token;\n return start;\n\n /**\n * Start of code (text).\n *\n * ```markdown\n * > | `a`\n * ^\n * > | \\`a`\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"codeText\");\n effects.enter(\"codeTextSequence\");\n return sequenceOpen(code);\n }\n\n /**\n * In opening sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceOpen(code) {\n if (code === 96) {\n effects.consume(code);\n sizeOpen++;\n return sequenceOpen;\n }\n effects.exit(\"codeTextSequence\");\n return between(code);\n }\n\n /**\n * Between something and something else.\n *\n * ```markdown\n * > | `a`\n * ^^\n * ```\n *\n * @type {State}\n */\n function between(code) {\n // EOF.\n if (code === null) {\n return nok(code);\n }\n\n // To do: next major: don’t do spaces in resolve, but when compiling,\n // like `markdown-rs`.\n // Tabs don’t work, and virtual spaces don’t make sense.\n if (code === 32) {\n effects.enter('space');\n effects.consume(code);\n effects.exit('space');\n return between;\n }\n\n // Closing fence? Could also be data.\n if (code === 96) {\n token = effects.enter(\"codeTextSequence\");\n size = 0;\n return sequenceClose(code);\n }\n if (markdownLineEnding(code)) {\n effects.enter(\"lineEnding\");\n effects.consume(code);\n effects.exit(\"lineEnding\");\n return between;\n }\n\n // Data.\n effects.enter(\"codeTextData\");\n return data(code);\n }\n\n /**\n * In data.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function data(code) {\n if (code === null || code === 32 || code === 96 || markdownLineEnding(code)) {\n effects.exit(\"codeTextData\");\n return between(code);\n }\n effects.consume(code);\n return data;\n }\n\n /**\n * In closing sequence.\n *\n * ```markdown\n * > | `a`\n * ^\n * ```\n *\n * @type {State}\n */\n function sequenceClose(code) {\n // More.\n if (code === 96) {\n effects.consume(code);\n size++;\n return sequenceClose;\n }\n\n // Done!\n if (size === sizeOpen) {\n effects.exit(\"codeTextSequence\");\n effects.exit(\"codeText\");\n return ok(code);\n }\n\n // More or less accents: mark as data.\n token.type = \"codeTextData\";\n return data(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\nimport {\n attention,\n autolink,\n blockQuote,\n characterEscape,\n characterReference,\n codeFenced,\n codeIndented,\n codeText,\n definition,\n hardBreakEscape,\n headingAtx,\n htmlFlow,\n htmlText,\n labelEnd,\n labelStartImage,\n labelStartLink,\n lineEnding,\n list,\n setextUnderline,\n thematicBreak\n} from 'micromark-core-commonmark'\nimport {resolver as resolveText} from './initialize/text.js'\n\n/** @satisfies {Extension['document']} */\nexport const document = {\n [42]: list,\n [43]: list,\n [45]: list,\n [48]: list,\n [49]: list,\n [50]: list,\n [51]: list,\n [52]: list,\n [53]: list,\n [54]: list,\n [55]: list,\n [56]: list,\n [57]: list,\n [62]: blockQuote\n}\n\n/** @satisfies {Extension['contentInitial']} */\nexport const contentInitial = {\n [91]: definition\n}\n\n/** @satisfies {Extension['flowInitial']} */\nexport const flowInitial = {\n [-2]: codeIndented,\n [-1]: codeIndented,\n [32]: codeIndented\n}\n\n/** @satisfies {Extension['flow']} */\nexport const flow = {\n [35]: headingAtx,\n [42]: thematicBreak,\n [45]: [setextUnderline, thematicBreak],\n [60]: htmlFlow,\n [61]: setextUnderline,\n [95]: thematicBreak,\n [96]: codeFenced,\n [126]: codeFenced\n}\n\n/** @satisfies {Extension['string']} */\nexport const string = {\n [38]: characterReference,\n [92]: characterEscape\n}\n\n/** @satisfies {Extension['text']} */\nexport const text = {\n [-5]: lineEnding,\n [-4]: lineEnding,\n [-3]: lineEnding,\n [33]: labelStartImage,\n [38]: characterReference,\n [42]: attention,\n [60]: [autolink, htmlText],\n [91]: labelStartLink,\n [92]: [hardBreakEscape, characterEscape],\n [93]: labelEnd,\n [95]: attention,\n [96]: codeText\n}\n\n/** @satisfies {Extension['insideSpan']} */\nexport const insideSpan = {\n null: [attention, resolveText]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nexport const attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nexport const disable = {\n null: []\n}\n","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: labelEnd.resolveAll\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelImage\");\n effects.enter(\"labelImageMarker\");\n effects.consume(code);\n effects.exit(\"labelImageMarker\");\n return open;\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelImage\");\n return after;\n }\n return nok(code);\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * ![^a](b)\n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n *

      !^a

      \n *

      !^a

      \n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { labelEnd } from './label-end.js';\n\n/** @type {Construct} */\nexport const labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: labelEnd.resolveAll\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this;\n return start;\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"labelLink\");\n effects.enter(\"labelMarker\");\n effects.consume(code);\n effects.exit(\"labelMarker\");\n effects.exit(\"labelLink\");\n return after;\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs ? nok(code) : ok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\nimport { markdownLineEnding } from 'micromark-util-character';\n/** @type {Construct} */\nexport const hardBreakEscape = {\n name: 'hardBreakEscape',\n tokenize: tokenizeHardBreakEscape\n};\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeHardBreakEscape(effects, ok, nok) {\n return start;\n\n /**\n * Start of a hard break (escape).\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(\"hardBreakEscape\");\n effects.consume(code);\n return after;\n }\n\n /**\n * After `\\`, at eol.\n *\n * ```markdown\n * > | a\\\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (markdownLineEnding(code)) {\n effects.exit(\"hardBreakEscape\");\n return ok(code);\n }\n return nok(code);\n }\n}","/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nexport function preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n // eslint-disable-next-line complexity\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n value =\n buffer +\n (typeof value === 'string'\n ? value.toString()\n : new TextDecoder(encoding || undefined).decode(value))\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n","/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCodePoint(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nexport function decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base);\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 || code === 11 || code > 13 && code < 32 ||\n // Control character (DEL) of C0, and C1 controls.\n code > 126 && code < 160 ||\n // Lone high surrogates and low surrogates.\n code > 55_295 && code < 57_344 ||\n // Noncharacters.\n code > 64_975 && code < 65_008 || /* eslint-disable no-bitwise */\n (code & 65_535) === 65_535 || (code & 65_535) === 65_534 || /* eslint-enable no-bitwise */\n // Out of range\n code > 1_114_111) {\n return \"\\uFFFD\";\n }\n return String.fromCodePoint(code);\n}","import {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nexport function decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return decodeNumericCharacterReference($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return decodeNamedCharacterReference($2) || $0\n}\n","/**\n * @typedef {import('unist').Node} Node\n * @typedef {import('unist').Point} Point\n * @typedef {import('unist').Position} Position\n */\n\n/**\n * @typedef NodeLike\n * @property {string} type\n * @property {PositionLike | null | undefined} [position]\n *\n * @typedef PointLike\n * @property {number | null | undefined} [line]\n * @property {number | null | undefined} [column]\n * @property {number | null | undefined} [offset]\n *\n * @typedef PositionLike\n * @property {PointLike | null | undefined} [start]\n * @property {PointLike | null | undefined} [end]\n */\n\n/**\n * Serialize the positional info of a point, position (start and end points),\n * or node.\n *\n * @param {Node | NodeLike | Point | PointLike | Position | PositionLike | null | undefined} [value]\n * Node, position, or point.\n * @returns {string}\n * Pretty printed positional info of a node (`string`).\n *\n * In the format of a range `ls:cs-le:ce` (when given `node` or `position`)\n * or a point `l:c` (when given `point`), where `l` stands for line, `c` for\n * column, `s` for `start`, and `e` for end.\n * An empty string (`''`) is returned if the given value is neither `node`,\n * `position`, nor `point`.\n */\nexport function stringifyPosition(value) {\n // Nothing.\n if (!value || typeof value !== 'object') {\n return ''\n }\n\n // Node.\n if ('position' in value || 'type' in value) {\n return position(value.position)\n }\n\n // Position.\n if ('start' in value || 'end' in value) {\n return position(value)\n }\n\n // Point.\n if ('line' in value || 'column' in value) {\n return point(value)\n }\n\n // ?\n return ''\n}\n\n/**\n * @param {Point | PointLike | null | undefined} point\n * @returns {string}\n */\nfunction point(point) {\n return index(point && point.line) + ':' + index(point && point.column)\n}\n\n/**\n * @param {Position | PositionLike | null | undefined} pos\n * @returns {string}\n */\nfunction position(pos) {\n return point(pos && pos.start) + '-' + point(pos && pos.end)\n}\n\n/**\n * @param {number | null | undefined} value\n * @returns {number}\n */\nfunction index(value) {\n return value && typeof value === 'number' ? value : 1\n}\n","/**\n * @typedef {import('mdast').Break} Break\n * @typedef {import('mdast').Blockquote} Blockquote\n * @typedef {import('mdast').Code} Code\n * @typedef {import('mdast').Definition} Definition\n * @typedef {import('mdast').Emphasis} Emphasis\n * @typedef {import('mdast').Heading} Heading\n * @typedef {import('mdast').Html} Html\n * @typedef {import('mdast').Image} Image\n * @typedef {import('mdast').InlineCode} InlineCode\n * @typedef {import('mdast').Link} Link\n * @typedef {import('mdast').List} List\n * @typedef {import('mdast').ListItem} ListItem\n * @typedef {import('mdast').Nodes} Nodes\n * @typedef {import('mdast').Paragraph} Paragraph\n * @typedef {import('mdast').Parent} Parent\n * @typedef {import('mdast').PhrasingContent} PhrasingContent\n * @typedef {import('mdast').ReferenceType} ReferenceType\n * @typedef {import('mdast').Root} Root\n * @typedef {import('mdast').Strong} Strong\n * @typedef {import('mdast').Text} Text\n * @typedef {import('mdast').ThematicBreak} ThematicBreak\n *\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Value} Value\n *\n * @typedef {import('unist').Point} Point\n *\n * @typedef {import('../index.js').CompileData} CompileData\n */\n\n/**\n * @typedef {Omit & {type: 'fragment', children: Array}} Fragment\n */\n\n/**\n * @callback Transform\n * Extra transform, to change the AST afterwards.\n * @param {Root} tree\n * Tree to transform.\n * @returns {Root | null | undefined | void}\n * New tree or nothing (in which case the current tree is used).\n *\n * @callback Handle\n * Handle a token.\n * @param {CompileContext} this\n * Context.\n * @param {Token} token\n * Current token.\n * @returns {undefined | void}\n * Nothing.\n *\n * @typedef {Record} Handles\n * Token types mapping to handles\n *\n * @callback OnEnterError\n * Handle the case where the `right` token is open, but it is closed (by the\n * `left` token) or because we reached the end of the document.\n * @param {Omit} this\n * Context.\n * @param {Token | undefined} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @callback OnExitError\n * Handle the case where the `right` token is open but it is closed by\n * exiting the `left` token.\n * @param {Omit} this\n * Context.\n * @param {Token} left\n * Left token.\n * @param {Token} right\n * Right token.\n * @returns {undefined}\n * Nothing.\n *\n * @typedef {[Token, OnEnterError | undefined]} TokenTuple\n * Open token on the stack, with an optional error handler for when\n * that token isn’t closed properly.\n */\n\n/**\n * @typedef Config\n * Configuration.\n *\n * We have our defaults, but extensions will add more.\n * @property {Array} canContainEols\n * Token types where line endings are used.\n * @property {Handles} enter\n * Opening handles.\n * @property {Handles} exit\n * Closing handles.\n * @property {Array} transforms\n * Tree transforms.\n *\n * @typedef {Partial} Extension\n * Change how markdown tokens from micromark are turned into mdast.\n *\n * @typedef CompileContext\n * mdast compiler context.\n * @property {Array} stack\n * Stack of nodes.\n * @property {Array} tokenStack\n * Stack of tokens.\n * @property {(this: CompileContext) => undefined} buffer\n * Capture some of the output data.\n * @property {(this: CompileContext) => string} resume\n * Stop capturing and access the output data.\n * @property {(this: CompileContext, node: Nodes, token: Token, onError?: OnEnterError) => undefined} enter\n * Enter a node.\n * @property {(this: CompileContext, token: Token, onError?: OnExitError) => undefined} exit\n * Exit a node.\n * @property {TokenizeContext['sliceSerialize']} sliceSerialize\n * Get the string value of a token.\n * @property {Config} config\n * Configuration.\n * @property {CompileData} data\n * Info passed around; key/value store.\n *\n * @typedef FromMarkdownOptions\n * Configuration for how to build mdast.\n * @property {Array> | null | undefined} [mdastExtensions]\n * Extensions for this utility to change how tokens are turned into a tree.\n *\n * @typedef {ParseOptions & FromMarkdownOptions} Options\n * Configuration.\n */\n\nimport {toString} from 'mdast-util-to-string'\nimport {parse, postprocess, preprocess} from 'micromark'\nimport {decodeNumericCharacterReference} from 'micromark-util-decode-numeric-character-reference'\nimport {decodeString} from 'micromark-util-decode-string'\nimport {normalizeIdentifier} from 'micromark-util-normalize-identifier'\nimport {decodeNamedCharacterReference} from 'decode-named-character-reference'\nimport {stringifyPosition} from 'unist-util-stringify-position'\nconst own = {}.hasOwnProperty\n\n/**\n * Turn markdown into a syntax tree.\n *\n * @overload\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @overload\n * @param {Value} value\n * @param {Options | null | undefined} [options]\n * @returns {Root}\n *\n * @param {Value} value\n * Markdown to parse.\n * @param {Encoding | Options | null | undefined} [encoding]\n * Character encoding for when `value` is `Buffer`.\n * @param {Options | null | undefined} [options]\n * Configuration.\n * @returns {Root}\n * mdast tree.\n */\nexport function fromMarkdown(value, encoding, options) {\n if (typeof encoding !== 'string') {\n options = encoding\n encoding = undefined\n }\n return compiler(options)(\n postprocess(\n parse(options).document().write(preprocess()(value, encoding, true))\n )\n )\n}\n\n/**\n * Note this compiler only understand complete buffering, not streaming.\n *\n * @param {Options | null | undefined} [options]\n */\nfunction compiler(options) {\n /** @type {Config} */\n const config = {\n transforms: [],\n canContainEols: ['emphasis', 'fragment', 'heading', 'paragraph', 'strong'],\n enter: {\n autolink: opener(link),\n autolinkProtocol: onenterdata,\n autolinkEmail: onenterdata,\n atxHeading: opener(heading),\n blockQuote: opener(blockQuote),\n characterEscape: onenterdata,\n characterReference: onenterdata,\n codeFenced: opener(codeFlow),\n codeFencedFenceInfo: buffer,\n codeFencedFenceMeta: buffer,\n codeIndented: opener(codeFlow, buffer),\n codeText: opener(codeText, buffer),\n codeTextData: onenterdata,\n data: onenterdata,\n codeFlowValue: onenterdata,\n definition: opener(definition),\n definitionDestinationString: buffer,\n definitionLabelString: buffer,\n definitionTitleString: buffer,\n emphasis: opener(emphasis),\n hardBreakEscape: opener(hardBreak),\n hardBreakTrailing: opener(hardBreak),\n htmlFlow: opener(html, buffer),\n htmlFlowData: onenterdata,\n htmlText: opener(html, buffer),\n htmlTextData: onenterdata,\n image: opener(image),\n label: buffer,\n link: opener(link),\n listItem: opener(listItem),\n listItemValue: onenterlistitemvalue,\n listOrdered: opener(list, onenterlistordered),\n listUnordered: opener(list),\n paragraph: opener(paragraph),\n reference: onenterreference,\n referenceString: buffer,\n resourceDestinationString: buffer,\n resourceTitleString: buffer,\n setextHeading: opener(heading),\n strong: opener(strong),\n thematicBreak: opener(thematicBreak)\n },\n exit: {\n atxHeading: closer(),\n atxHeadingSequence: onexitatxheadingsequence,\n autolink: closer(),\n autolinkEmail: onexitautolinkemail,\n autolinkProtocol: onexitautolinkprotocol,\n blockQuote: closer(),\n characterEscapeValue: onexitdata,\n characterReferenceMarkerHexadecimal: onexitcharacterreferencemarker,\n characterReferenceMarkerNumeric: onexitcharacterreferencemarker,\n characterReferenceValue: onexitcharacterreferencevalue,\n codeFenced: closer(onexitcodefenced),\n codeFencedFence: onexitcodefencedfence,\n codeFencedFenceInfo: onexitcodefencedfenceinfo,\n codeFencedFenceMeta: onexitcodefencedfencemeta,\n codeFlowValue: onexitdata,\n codeIndented: closer(onexitcodeindented),\n codeText: closer(onexitcodetext),\n codeTextData: onexitdata,\n data: onexitdata,\n definition: closer(),\n definitionDestinationString: onexitdefinitiondestinationstring,\n definitionLabelString: onexitdefinitionlabelstring,\n definitionTitleString: onexitdefinitiontitlestring,\n emphasis: closer(),\n hardBreakEscape: closer(onexithardbreak),\n hardBreakTrailing: closer(onexithardbreak),\n htmlFlow: closer(onexithtmlflow),\n htmlFlowData: onexitdata,\n htmlText: closer(onexithtmltext),\n htmlTextData: onexitdata,\n image: closer(onexitimage),\n label: onexitlabel,\n labelText: onexitlabeltext,\n lineEnding: onexitlineending,\n link: closer(onexitlink),\n listItem: closer(),\n listOrdered: closer(),\n listUnordered: closer(),\n paragraph: closer(),\n referenceString: onexitreferencestring,\n resourceDestinationString: onexitresourcedestinationstring,\n resourceTitleString: onexitresourcetitlestring,\n resource: onexitresource,\n setextHeading: closer(onexitsetextheading),\n setextHeadingLineSequence: onexitsetextheadinglinesequence,\n setextHeadingText: onexitsetextheadingtext,\n strong: closer(),\n thematicBreak: closer()\n }\n }\n configure(config, (options || {}).mdastExtensions || [])\n\n /** @type {CompileData} */\n const data = {}\n return compile\n\n /**\n * Turn micromark events into an mdast tree.\n *\n * @param {Array} events\n * Events.\n * @returns {Root}\n * mdast tree.\n */\n function compile(events) {\n /** @type {Root} */\n let tree = {\n type: 'root',\n children: []\n }\n /** @type {Omit} */\n const context = {\n stack: [tree],\n tokenStack: [],\n config,\n enter,\n exit,\n buffer,\n resume,\n data\n }\n /** @type {Array} */\n const listStack = []\n let index = -1\n while (++index < events.length) {\n // We preprocess lists to add `listItem` tokens, and to infer whether\n // items the list itself are spread out.\n if (\n events[index][1].type === 'listOrdered' ||\n events[index][1].type === 'listUnordered'\n ) {\n if (events[index][0] === 'enter') {\n listStack.push(index)\n } else {\n const tail = listStack.pop()\n index = prepareList(events, tail, index)\n }\n }\n }\n index = -1\n while (++index < events.length) {\n const handler = config[events[index][0]]\n if (own.call(handler, events[index][1].type)) {\n handler[events[index][1].type].call(\n Object.assign(\n {\n sliceSerialize: events[index][2].sliceSerialize\n },\n context\n ),\n events[index][1]\n )\n }\n }\n\n // Handle tokens still being open.\n if (context.tokenStack.length > 0) {\n const tail = context.tokenStack[context.tokenStack.length - 1]\n const handler = tail[1] || defaultOnError\n handler.call(context, undefined, tail[0])\n }\n\n // Figure out `root` position.\n tree.position = {\n start: point(\n events.length > 0\n ? events[0][1].start\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n ),\n end: point(\n events.length > 0\n ? events[events.length - 2][1].end\n : {\n line: 1,\n column: 1,\n offset: 0\n }\n )\n }\n\n // Call transforms.\n index = -1\n while (++index < config.transforms.length) {\n tree = config.transforms[index](tree) || tree\n }\n return tree\n }\n\n /**\n * @param {Array} events\n * @param {number} start\n * @param {number} length\n * @returns {number}\n */\n function prepareList(events, start, length) {\n let index = start - 1\n let containerBalance = -1\n let listSpread = false\n /** @type {Token | undefined} */\n let listItem\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number | undefined} */\n let firstBlankLineIndex\n /** @type {boolean | undefined} */\n let atMarker\n while (++index <= length) {\n const event = events[index]\n switch (event[1].type) {\n case 'listUnordered':\n case 'listOrdered':\n case 'blockQuote': {\n if (event[0] === 'enter') {\n containerBalance++\n } else {\n containerBalance--\n }\n atMarker = undefined\n break\n }\n case 'lineEndingBlank': {\n if (event[0] === 'enter') {\n if (\n listItem &&\n !atMarker &&\n !containerBalance &&\n !firstBlankLineIndex\n ) {\n firstBlankLineIndex = index\n }\n atMarker = undefined\n }\n break\n }\n case 'linePrefix':\n case 'listItemValue':\n case 'listItemMarker':\n case 'listItemPrefix':\n case 'listItemPrefixWhitespace': {\n // Empty.\n\n break\n }\n default: {\n atMarker = undefined\n }\n }\n if (\n (!containerBalance &&\n event[0] === 'enter' &&\n event[1].type === 'listItemPrefix') ||\n (containerBalance === -1 &&\n event[0] === 'exit' &&\n (event[1].type === 'listUnordered' ||\n event[1].type === 'listOrdered'))\n ) {\n if (listItem) {\n let tailIndex = index\n lineIndex = undefined\n while (tailIndex--) {\n const tailEvent = events[tailIndex]\n if (\n tailEvent[1].type === 'lineEnding' ||\n tailEvent[1].type === 'lineEndingBlank'\n ) {\n if (tailEvent[0] === 'exit') continue\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n listSpread = true\n }\n tailEvent[1].type = 'lineEnding'\n lineIndex = tailIndex\n } else if (\n tailEvent[1].type === 'linePrefix' ||\n tailEvent[1].type === 'blockQuotePrefix' ||\n tailEvent[1].type === 'blockQuotePrefixWhitespace' ||\n tailEvent[1].type === 'blockQuoteMarker' ||\n tailEvent[1].type === 'listItemIndent'\n ) {\n // Empty\n } else {\n break\n }\n }\n if (\n firstBlankLineIndex &&\n (!lineIndex || firstBlankLineIndex < lineIndex)\n ) {\n listItem._spread = true\n }\n\n // Fix position.\n listItem.end = Object.assign(\n {},\n lineIndex ? events[lineIndex][1].start : event[1].end\n )\n events.splice(lineIndex || index, 0, ['exit', listItem, event[2]])\n index++\n length++\n }\n\n // Create a new list item.\n if (event[1].type === 'listItemPrefix') {\n /** @type {Token} */\n const item = {\n type: 'listItem',\n _spread: false,\n start: Object.assign({}, event[1].start),\n // @ts-expect-error: we’ll add `end` in a second.\n end: undefined\n }\n listItem = item\n events.splice(index, 0, ['enter', item, event[2]])\n index++\n length++\n firstBlankLineIndex = undefined\n atMarker = true\n }\n }\n }\n events[start][1]._spread = listSpread\n return length\n }\n\n /**\n * Create an opener handle.\n *\n * @param {(token: Token) => Nodes} create\n * Create a node.\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function opener(create, and) {\n return open\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function open(token) {\n enter.call(this, create(token), token)\n if (and) and.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @returns {undefined}\n */\n function buffer() {\n this.stack.push({\n type: 'fragment',\n children: []\n })\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Nodes} node\n * Node to enter.\n * @param {Token} token\n * Corresponding token.\n * @param {OnEnterError | undefined} [errorHandler]\n * Handle the case where this token is open, but it is closed by something else.\n * @returns {undefined}\n * Nothing.\n */\n function enter(node, token, errorHandler) {\n const parent = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = parent.children\n siblings.push(node)\n this.stack.push(node)\n this.tokenStack.push([token, errorHandler])\n node.position = {\n start: point(token.start),\n // @ts-expect-error: `end` will be patched later.\n end: undefined\n }\n }\n\n /**\n * Create a closer handle.\n *\n * @param {Handle | undefined} [and]\n * Optional function to also run.\n * @returns {Handle}\n * Handle.\n */\n function closer(and) {\n return close\n\n /**\n * @this {CompileContext}\n * @param {Token} token\n * @returns {undefined}\n */\n function close(token) {\n if (and) and.call(this, token)\n exit.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * Context.\n * @param {Token} token\n * Corresponding token.\n * @param {OnExitError | undefined} [onExitError]\n * Handle the case where another token is open.\n * @returns {undefined}\n * Nothing.\n */\n function exit(token, onExitError) {\n const node = this.stack.pop()\n const open = this.tokenStack.pop()\n if (!open) {\n throw new Error(\n 'Cannot close `' +\n token.type +\n '` (' +\n stringifyPosition({\n start: token.start,\n end: token.end\n }) +\n '): it’s not open'\n )\n } else if (open[0].type !== token.type) {\n if (onExitError) {\n onExitError.call(this, token, open[0])\n } else {\n const handler = open[1] || defaultOnError\n handler.call(this, token, open[0])\n }\n }\n node.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @returns {string}\n */\n function resume() {\n return toString(this.stack.pop())\n }\n\n //\n // Handlers.\n //\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistordered() {\n this.data.expectingFirstListItemValue = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onenterlistitemvalue(token) {\n if (this.data.expectingFirstListItemValue) {\n const ancestor = this.stack[this.stack.length - 2]\n ancestor.start = Number.parseInt(this.sliceSerialize(token), 10)\n this.data.expectingFirstListItemValue = undefined\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfenceinfo() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.lang = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfencemeta() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.meta = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefencedfence() {\n // Exit if this is the closing fence.\n if (this.data.flowCodeInside) return\n this.buffer()\n this.data.flowCodeInside = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodefenced() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/^(\\r?\\n|\\r)|(\\r?\\n|\\r)$/g, '')\n this.data.flowCodeInside = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcodeindented() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data.replace(/(\\r?\\n|\\r)$/g, '')\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitionlabelstring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.label = label\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiontitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitdefinitiondestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitatxheadingsequence(token) {\n const node = this.stack[this.stack.length - 1]\n if (!node.depth) {\n const depth = this.sliceSerialize(token).length\n node.depth = depth\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadingtext() {\n this.data.setextHeadingSlurpLineEnding = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheadinglinesequence(token) {\n const node = this.stack[this.stack.length - 1]\n node.depth = this.sliceSerialize(token).codePointAt(0) === 61 ? 1 : 2\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitsetextheading() {\n this.data.setextHeadingSlurpLineEnding = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterdata(token) {\n const node = this.stack[this.stack.length - 1]\n /** @type {Array} */\n const siblings = node.children\n let tail = siblings[siblings.length - 1]\n if (!tail || tail.type !== 'text') {\n // Add a new text node.\n tail = text()\n tail.position = {\n start: point(token.start),\n // @ts-expect-error: we’ll add `end` later.\n end: undefined\n }\n siblings.push(tail)\n }\n this.stack.push(tail)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitdata(token) {\n const tail = this.stack.pop()\n tail.value += this.sliceSerialize(token)\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlineending(token) {\n const context = this.stack[this.stack.length - 1]\n // If we’re at a hard break, include the line ending in there.\n if (this.data.atHardBreak) {\n const tail = context.children[context.children.length - 1]\n tail.position.end = point(token.end)\n this.data.atHardBreak = undefined\n return\n }\n if (\n !this.data.setextHeadingSlurpLineEnding &&\n config.canContainEols.includes(context.type)\n ) {\n onenterdata.call(this, token)\n onexitdata.call(this, token)\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithardbreak() {\n this.data.atHardBreak = true\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmlflow() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexithtmltext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcodetext() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.value = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlink() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitimage() {\n const node = this.stack[this.stack.length - 1]\n // Note: there are also `identifier` and `label` fields on this link node!\n // These are used / cleaned here.\n // To do: clean.\n if (this.data.inReference) {\n /** @type {ReferenceType} */\n const referenceType = this.data.referenceType || 'shortcut'\n node.type += 'Reference'\n // @ts-expect-error: mutate.\n node.referenceType = referenceType\n // @ts-expect-error: mutate.\n delete node.url\n delete node.title\n } else {\n // @ts-expect-error: mutate.\n delete node.identifier\n // @ts-expect-error: mutate.\n delete node.label\n }\n this.data.referenceType = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabeltext(token) {\n const string = this.sliceSerialize(token)\n const ancestor = this.stack[this.stack.length - 2]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n ancestor.label = decodeString(string)\n // @ts-expect-error: same as above.\n ancestor.identifier = normalizeIdentifier(string).toLowerCase()\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitlabel() {\n const fragment = this.stack[this.stack.length - 1]\n const value = this.resume()\n const node = this.stack[this.stack.length - 1]\n // Assume a reference.\n this.data.inReference = true\n if (node.type === 'link') {\n /** @type {Array} */\n const children = fragment.children\n node.children = children\n } else {\n node.alt = value\n }\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcedestinationstring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.url = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresourcetitlestring() {\n const data = this.resume()\n const node = this.stack[this.stack.length - 1]\n node.title = data\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitresource() {\n this.data.inReference = undefined\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onenterreference() {\n this.data.referenceType = 'collapsed'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitreferencestring(token) {\n const label = this.resume()\n const node = this.stack[this.stack.length - 1]\n // @ts-expect-error: stash this on the node, as it might become a reference\n // later.\n node.label = label\n // @ts-expect-error: same as above.\n node.identifier = normalizeIdentifier(\n this.sliceSerialize(token)\n ).toLowerCase()\n this.data.referenceType = 'full'\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n\n function onexitcharacterreferencemarker(token) {\n this.data.characterReferenceType = token.type\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitcharacterreferencevalue(token) {\n const data = this.sliceSerialize(token)\n const type = this.data.characterReferenceType\n /** @type {string} */\n let value\n if (type) {\n value = decodeNumericCharacterReference(\n data,\n type === 'characterReferenceMarkerNumeric' ? 10 : 16\n )\n this.data.characterReferenceType = undefined\n } else {\n const result = decodeNamedCharacterReference(data)\n value = result\n }\n const tail = this.stack.pop()\n tail.value += value\n tail.position.end = point(token.end)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkprotocol(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = this.sliceSerialize(token)\n }\n\n /**\n * @this {CompileContext}\n * @type {Handle}\n */\n function onexitautolinkemail(token) {\n onexitdata.call(this, token)\n const node = this.stack[this.stack.length - 1]\n node.url = 'mailto:' + this.sliceSerialize(token)\n }\n\n //\n // Creaters.\n //\n\n /** @returns {Blockquote} */\n function blockQuote() {\n return {\n type: 'blockquote',\n children: []\n }\n }\n\n /** @returns {Code} */\n function codeFlow() {\n return {\n type: 'code',\n lang: null,\n meta: null,\n value: ''\n }\n }\n\n /** @returns {InlineCode} */\n function codeText() {\n return {\n type: 'inlineCode',\n value: ''\n }\n }\n\n /** @returns {Definition} */\n function definition() {\n return {\n type: 'definition',\n identifier: '',\n label: null,\n title: null,\n url: ''\n }\n }\n\n /** @returns {Emphasis} */\n function emphasis() {\n return {\n type: 'emphasis',\n children: []\n }\n }\n\n /** @returns {Heading} */\n function heading() {\n return {\n type: 'heading',\n // @ts-expect-error `depth` will be set later.\n depth: 0,\n children: []\n }\n }\n\n /** @returns {Break} */\n function hardBreak() {\n return {\n type: 'break'\n }\n }\n\n /** @returns {Html} */\n function html() {\n return {\n type: 'html',\n value: ''\n }\n }\n\n /** @returns {Image} */\n function image() {\n return {\n type: 'image',\n title: null,\n url: '',\n alt: null\n }\n }\n\n /** @returns {Link} */\n function link() {\n return {\n type: 'link',\n title: null,\n url: '',\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {List}\n */\n function list(token) {\n return {\n type: 'list',\n ordered: token.type === 'listOrdered',\n start: null,\n spread: token._spread,\n children: []\n }\n }\n\n /**\n * @param {Token} token\n * @returns {ListItem}\n */\n function listItem(token) {\n return {\n type: 'listItem',\n spread: token._spread,\n checked: null,\n children: []\n }\n }\n\n /** @returns {Paragraph} */\n function paragraph() {\n return {\n type: 'paragraph',\n children: []\n }\n }\n\n /** @returns {Strong} */\n function strong() {\n return {\n type: 'strong',\n children: []\n }\n }\n\n /** @returns {Text} */\n function text() {\n return {\n type: 'text',\n value: ''\n }\n }\n\n /** @returns {ThematicBreak} */\n function thematicBreak() {\n return {\n type: 'thematicBreak'\n }\n }\n}\n\n/**\n * Copy a point-like value.\n *\n * @param {Point} d\n * Point-like value.\n * @returns {Point}\n * unist point.\n */\nfunction point(d) {\n return {\n line: d.line,\n column: d.column,\n offset: d.offset\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Array | Extension>} extensions\n * @returns {undefined}\n */\nfunction configure(combined, extensions) {\n let index = -1\n while (++index < extensions.length) {\n const value = extensions[index]\n if (Array.isArray(value)) {\n configure(combined, value)\n } else {\n extension(combined, value)\n }\n }\n}\n\n/**\n * @param {Config} combined\n * @param {Extension} extension\n * @returns {undefined}\n */\nfunction extension(combined, extension) {\n /** @type {keyof Extension} */\n let key\n for (key in extension) {\n if (own.call(extension, key)) {\n switch (key) {\n case 'canContainEols': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'transforms': {\n const right = extension[key]\n if (right) {\n combined[key].push(...right)\n }\n break\n }\n case 'enter':\n case 'exit': {\n const right = extension[key]\n if (right) {\n Object.assign(combined[key], right)\n }\n break\n }\n // No default\n }\n }\n }\n}\n\n/** @type {OnEnterError} */\nfunction defaultOnError(left, right) {\n if (left) {\n throw new Error(\n 'Cannot close `' +\n left.type +\n '` (' +\n stringifyPosition({\n start: left.start,\n end: left.end\n }) +\n '): a different token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is open'\n )\n } else {\n throw new Error(\n 'Cannot close document, a token (`' +\n right.type +\n '`, ' +\n stringifyPosition({\n start: right.start,\n end: right.end\n }) +\n ') is still open'\n )\n }\n}\n","/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\nimport {subtokenize} from 'micromark-util-subtokenize'\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nexport function postprocess(events) {\n while (!subtokenize(events)) {\n // Empty\n }\n return events\n}\n","/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\nimport {combineExtensions} from 'micromark-util-combine-extensions'\nimport {content} from './initialize/content.js'\nimport {document} from './initialize/document.js'\nimport {flow} from './initialize/flow.js'\nimport {string, text} from './initialize/text.js'\nimport {createTokenizer} from './create-tokenizer.js'\nimport * as defaultConstructs from './constructs.js'\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nexport function parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n combineExtensions([defaultConstructs, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(content),\n document: create(document),\n flow: create(flow),\n string: create(string),\n text: create(text)\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return createTokenizer(parser, initial, from)\n }\n }\n}\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var cache = null;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (cache && cache.lastThis === this && isEqual(newArgs, cache.lastArgs)) {\n return cache.lastResult;\n }\n var lastResult = resultFn.apply(this, newArgs);\n cache = {\n lastResult: lastResult,\n lastArgs: newArgs,\n lastThis: this,\n };\n return lastResult;\n }\n memoized.clear = function clear() {\n cache = null;\n };\n return memoized;\n}\n\nexport { memoizeOne as default };\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nimport _Array$from from \"@babel/runtime-corejs3/core-js/array/from\";\nimport arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n var _context;\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = _sliceInstanceProperty(_context = Object.prototype.toString.call(o)).call(_context, 8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return _Array$from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","import _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nexport default function _arrayWithHoles(arr) {\n if (_Array$isArray(arr)) return arr;\n}","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nexport default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof _Symbol && _getIteratorMethod(arr) || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1ZpZXdDb250ZXh0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUNvbnRleHQoKTtcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBYSxRQUFRLE9BQU87QUFFckMsNEJBQWVBLGFBQWEsRUFBRSJ9","import { useContext } from 'react';\nimport ViewContext from '../../ViewContext';\nexport default function useViewContext() {\n return useContext(ViewContext);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiVmlld0NvbnRleHQiLCJ1c2VWaWV3Q29udGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VWaWV3Q29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgVmlld0NvbnRleHQgZnJvbSAnLi4vLi4vVmlld0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VWaWV3Q29udGV4dCgpIHtcbiAgcmV0dXJuIHVzZUNvbnRleHQoVmlld0NvbnRleHQpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsT0FBTztBQUVsQyxPQUFPQyxXQUFXLE1BQU0sbUJBQW1CO0FBRTNDLGVBQWUsU0FBU0MsY0FBYyxHQUFHO0VBQ3ZDLE9BQU9GLFVBQVUsQ0FBQ0MsV0FBVyxDQUFDO0FBQ2hDIn0=","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Z1bmN0aW9uQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVDb250ZXh0KCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBUSxPQUFPO0FBRXJDLDRCQUFlQSxhQUFhLEVBQUUifQ==","import { useContext } from 'react';\nimport FunctionContext from '../../FunctionContext';\nexport default function useFunctionContext() {\n var context = useContext(FunctionContext);\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n return context;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiRnVuY3Rpb25Db250ZXh0IiwidXNlRnVuY3Rpb25Db250ZXh0IiwiY29udGV4dCIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZUZ1bmN0aW9uQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgRnVuY3Rpb25Db250ZXh0IGZyb20gJy4uLy4uL0Z1bmN0aW9uQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUZ1bmN0aW9uQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoRnVuY3Rpb25Db250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlYWN0LWZpbG06IEhvb2tzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHRoZSBjb21wb25lbnQuJyk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLE9BQU87QUFFbEMsT0FBT0MsZUFBZSxNQUFNLHVCQUF1QjtBQUVuRCxlQUFlLFNBQVNDLGtCQUFrQixHQUFHO0VBQzNDLElBQU1DLE9BQU8sR0FBR0gsVUFBVSxDQUFDQyxlQUFlLENBQUM7RUFFM0MsSUFBSSxDQUFDRSxPQUFPLEVBQUU7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQywwREFBMEQsQ0FBQztFQUM3RTtFQUVBLE9BQU9ELE9BQU87QUFDaEIifQ==","import useFunctionContext from './internal/useFunctionContext';\nexport default function useScrollTo() {\n var _useFunctionContext = useFunctionContext(),\n scrollTo = _useFunctionContext.scrollTo;\n return scrollTo;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VGdW5jdGlvbkNvbnRleHQiLCJ1c2VTY3JvbGxUbyIsInNjcm9sbFRvIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNjcm9sbFRvLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VGdW5jdGlvbkNvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VGdW5jdGlvbkNvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxUbygpIHtcbiAgY29uc3QgeyBzY3JvbGxUbyB9ID0gdXNlRnVuY3Rpb25Db250ZXh0KCk7XG5cbiAgcmV0dXJuIHNjcm9sbFRvO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxrQkFBa0IsTUFBTSwrQkFBK0I7QUFFOUQsZUFBZSxTQUFTQyxXQUFXLEdBQUc7RUFDcEMsMEJBQXFCRCxrQkFBa0IsRUFBRTtJQUFqQ0UsUUFBUSx1QkFBUkEsUUFBUTtFQUVoQixPQUFPQSxRQUFRO0FBQ2pCIn0=","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport PropTypes from 'prop-types';\nimport React, { useCallback } from 'react';\nimport useIndex from './hooks/useIndex';\nimport useScrollTo from './hooks/useScrollTo';\nvar Dot = function Dot(_ref) {\n var ariaLabel = _ref['aria-label'],\n itemIndex = _ref.itemIndex;\n var _useIndex = useIndex(),\n _useIndex2 = _slicedToArray(_useIndex, 1),\n index = _useIndex2[0];\n var scrollTo = useScrollTo();\n var checked = index === itemIndex;\n var handleChange = useCallback(function () {\n return scrollTo(function () {\n return itemIndex;\n });\n }, [itemIndex, scrollTo]);\n var handleKeyPress = useCallback(function (event) {\n var keyCode = event.keyCode;\n\n // 13 is ENTER, 32 is SPACEBAR.\n // eslint-disable-next-line no-magic-numbers\n if (keyCode === 13 || keyCode === 32) {\n event.preventDefault();\n event.stopPropagation();\n handleChange();\n }\n }, [handleChange]);\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"react-film__dot\"\n }, /*#__PURE__*/React.createElement(\"input\", {\n \"aria-label\": ariaLabel,\n \"aria-pressed\": checked,\n checked: checked,\n className: \"react-film__dot__input\",\n onChange: handleChange,\n onKeyPress: handleKeyPress,\n role: \"button\",\n type: \"checkbox\"\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-film__dot__handle\"\n }));\n};\nDot.defaultProps = {\n 'aria-label': undefined\n};\nDot.propTypes = {\n 'aria-label': PropTypes.string,\n itemIndex: PropTypes.number.isRequired\n};\nexport default Dot;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlSW5kZXgiLCJ1c2VTY3JvbGxUbyIsIkRvdCIsImFyaWFMYWJlbCIsIml0ZW1JbmRleCIsImluZGV4Iiwic2Nyb2xsVG8iLCJjaGVja2VkIiwiaGFuZGxlQ2hhbmdlIiwiaGFuZGxlS2V5UHJlc3MiLCJldmVudCIsImtleUNvZGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsInN0cmluZyIsIm51bWJlciIsImlzUmVxdWlyZWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvRG90LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2sgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB1c2VJbmRleCBmcm9tICcuL2hvb2tzL3VzZUluZGV4JztcbmltcG9ydCB1c2VTY3JvbGxUbyBmcm9tICcuL2hvb2tzL3VzZVNjcm9sbFRvJztcblxuY29uc3QgRG90ID0gKHsgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsIGl0ZW1JbmRleCB9KSA9PiB7XG4gIGNvbnN0IFtpbmRleF0gPSB1c2VJbmRleCgpO1xuICBjb25zdCBzY3JvbGxUbyA9IHVzZVNjcm9sbFRvKCk7XG5cbiAgY29uc3QgY2hlY2tlZCA9IGluZGV4ID09PSBpdGVtSW5kZXg7XG4gIGNvbnN0IGhhbmRsZUNoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHNjcm9sbFRvKCgpID0+IGl0ZW1JbmRleCksIFtpdGVtSW5kZXgsIHNjcm9sbFRvXSk7XG5cbiAgY29uc3QgaGFuZGxlS2V5UHJlc3MgPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBjb25zdCB7IGtleUNvZGUgfSA9IGV2ZW50O1xuXG4gICAgICAvLyAxMyBpcyBFTlRFUiwgMzIgaXMgU1BBQ0VCQVIuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgaWYgKGtleUNvZGUgPT09IDEzIHx8IGtleUNvZGUgPT09IDMyKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICBoYW5kbGVDaGFuZ2UoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtoYW5kbGVDaGFuZ2VdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8bGkgY2xhc3NOYW1lPVwicmVhY3QtZmlsbV9fZG90XCI+XG4gICAgICA8aW5wdXRcbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLXByZXNzZWQ9e2NoZWNrZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGNsYXNzTmFtZT1cInJlYWN0LWZpbG1fX2RvdF9faW5wdXRcIlxuICAgICAgICBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfVxuICAgICAgICBvbktleVByZXNzPXtoYW5kbGVLZXlQcmVzc31cbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAvPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWFjdC1maWxtX19kb3RfX2hhbmRsZVwiIC8+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbkRvdC5kZWZhdWx0UHJvcHMgPSB7XG4gICdhcmlhLWxhYmVsJzogdW5kZWZpbmVkXG59O1xuXG5Eb3QucHJvcFR5cGVzID0ge1xuICAnYXJpYS1sYWJlbCc6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGl0ZW1JbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBEb3Q7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxLQUFLLElBQUlDLFdBQVcsUUFBUSxPQUFPO0FBRTFDLE9BQU9DLFFBQVEsTUFBTSxrQkFBa0I7QUFDdkMsT0FBT0MsV0FBVyxNQUFNLHFCQUFxQjtBQUU3QyxJQUFNQyxHQUFHLEdBQUcsU0FBTkEsR0FBRyxPQUErQztFQUFBLElBQTNCQyxTQUFTLFFBQXZCLFlBQVk7SUFBYUMsU0FBUyxRQUFUQSxTQUFTO0VBQy9DLGdCQUFnQkosUUFBUSxFQUFFO0lBQUE7SUFBbkJLLEtBQUs7RUFDWixJQUFNQyxRQUFRLEdBQUdMLFdBQVcsRUFBRTtFQUU5QixJQUFNTSxPQUFPLEdBQUdGLEtBQUssS0FBS0QsU0FBUztFQUNuQyxJQUFNSSxZQUFZLEdBQUdULFdBQVcsQ0FBQztJQUFBLE9BQU1PLFFBQVEsQ0FBQztNQUFBLE9BQU1GLFNBQVM7SUFBQSxFQUFDO0VBQUEsR0FBRSxDQUFDQSxTQUFTLEVBQUVFLFFBQVEsQ0FBQyxDQUFDO0VBRXhGLElBQU1HLGNBQWMsR0FBR1YsV0FBVyxDQUNoQyxVQUFBVyxLQUFLLEVBQUk7SUFDUCxJQUFRQyxPQUFPLEdBQUtELEtBQUssQ0FBakJDLE9BQU87O0lBRWY7SUFDQTtJQUNBLElBQUlBLE9BQU8sS0FBSyxFQUFFLElBQUlBLE9BQU8sS0FBSyxFQUFFLEVBQUU7TUFDcENELEtBQUssQ0FBQ0UsY0FBYyxFQUFFO01BQ3RCRixLQUFLLENBQUNHLGVBQWUsRUFBRTtNQUN2QkwsWUFBWSxFQUFFO0lBQ2hCO0VBQ0YsQ0FBQyxFQUNELENBQUNBLFlBQVksQ0FBQyxDQUNmO0VBRUQsb0JBQ0U7SUFBSSxTQUFTLEVBQUM7RUFBaUIsZ0JBQzdCO0lBQ0UsY0FBWUwsU0FBVTtJQUN0QixnQkFBY0ksT0FBUTtJQUN0QixPQUFPLEVBQUVBLE9BQVE7SUFDakIsU0FBUyxFQUFDLHdCQUF3QjtJQUNsQyxRQUFRLEVBQUVDLFlBQWE7SUFDdkIsVUFBVSxFQUFFQyxjQUFlO0lBQzNCLElBQUksRUFBQyxRQUFRO0lBQ2IsSUFBSSxFQUFDO0VBQVUsRUFDZixlQUNGO0lBQUssU0FBUyxFQUFDO0VBQXlCLEVBQUcsQ0FDeEM7QUFFVCxDQUFDO0FBRURQLEdBQUcsQ0FBQ1ksWUFBWSxHQUFHO0VBQ2pCLFlBQVksRUFBRUM7QUFDaEIsQ0FBQztBQUVEYixHQUFHLENBQUNjLFNBQVMsR0FBRztFQUNkLFlBQVksRUFBRW5CLFNBQVMsQ0FBQ29CLE1BQU07RUFDOUJiLFNBQVMsRUFBRVAsU0FBUyxDQUFDcUIsTUFBTSxDQUFDQztBQUM5QixDQUFDO0FBRUQsZUFBZWpCLEdBQUcifQ==","import useViewContext from './internal/useViewContext';\nexport default function useIndex() {\n var _useViewContext = useViewContext(),\n index = _useViewContext.index;\n return [index];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VWaWV3Q29udGV4dCIsInVzZUluZGV4IiwiaW5kZXgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlSW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZVZpZXdDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlVmlld0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VJbmRleCgpIHtcbiAgY29uc3QgeyBpbmRleCB9ID0gdXNlVmlld0NvbnRleHQoKTtcblxuICByZXR1cm4gW2luZGV4XTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsY0FBYyxNQUFNLDJCQUEyQjtBQUV0RCxlQUFlLFNBQVNDLFFBQVEsR0FBRztFQUNqQyxzQkFBa0JELGNBQWMsRUFBRTtJQUExQkUsS0FBSyxtQkFBTEEsS0FBSztFQUViLE9BQU8sQ0FBQ0EsS0FBSyxDQUFDO0FBQ2hCIn0=","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Byb3BzQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVDb250ZXh0KCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBUSxPQUFPO0FBRXJDLDRCQUFlQSxhQUFhLEVBQUUifQ==","import { useContext } from 'react';\nimport PropsContext from '../../PropsContext';\nexport default function usePropsContext() {\n var context = useContext(PropsContext);\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n return context;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiUHJvcHNDb250ZXh0IiwidXNlUHJvcHNDb250ZXh0IiwiY29udGV4dCIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZVByb3BzQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgUHJvcHNDb250ZXh0IGZyb20gJy4uLy4uL1Byb3BzQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVByb3BzQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoUHJvcHNDb250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlYWN0LWZpbG06IEhvb2tzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHRoZSBjb21wb25lbnQuJyk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLE9BQU87QUFFbEMsT0FBT0MsWUFBWSxNQUFNLG9CQUFvQjtBQUU3QyxlQUFlLFNBQVNDLGVBQWUsR0FBRztFQUN4QyxJQUFNQyxPQUFPLEdBQUdILFVBQVUsQ0FBQ0MsWUFBWSxDQUFDO0VBRXhDLElBQUksQ0FBQ0UsT0FBTyxFQUFFO0lBQ1osTUFBTSxJQUFJQyxLQUFLLENBQUMsMERBQTBELENBQUM7RUFDN0U7RUFFQSxPQUFPRCxPQUFPO0FBQ2hCIn0=","import usePropsContext from './internal/usePropsContext';\nexport default function useNumItems() {\n var _usePropsContext = usePropsContext(),\n numItems = _usePropsContext.numItems;\n return [numItems];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VQcm9wc0NvbnRleHQiLCJ1c2VOdW1JdGVtcyIsIm51bUl0ZW1zIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZU51bUl0ZW1zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VQcm9wc0NvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VQcm9wc0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VOdW1JdGVtcygpIHtcbiAgY29uc3QgeyBudW1JdGVtcyB9ID0gdXNlUHJvcHNDb250ZXh0KCk7XG5cbiAgcmV0dXJuIFtudW1JdGVtc107XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSw0QkFBNEI7QUFFeEQsZUFBZSxTQUFTQyxXQUFXLEdBQUc7RUFDcEMsdUJBQXFCRCxlQUFlLEVBQUU7SUFBOUJFLFFBQVEsb0JBQVJBLFFBQVE7RUFFaEIsT0FBTyxDQUFDQSxRQUFRLENBQUM7QUFDbkIifQ==","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport _fillInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/fill\";\nimport React from 'react';\nimport Dot from './Dot';\nimport useNumItems from './hooks/useNumItems';\nvar Dots = function Dots() {\n var _context, _context2;\n var _useNumItems = useNumItems(),\n _useNumItems2 = _slicedToArray(_useNumItems, 1),\n numItems = _useNumItems2[0];\n return /*#__PURE__*/React.createElement(\"ul\", {\n className: \"react-film__dots\"\n }, _mapInstanceProperty(_context = _fillInstanceProperty(_context2 = new Array(numItems)).call(_context2)).call(_context, function (_, itemIndex) {\n return (\n /*#__PURE__*/\n /* eslint-disable-next-line react/no-array-index-key */\n React.createElement(Dot, {\n \"aria-label\": itemIndex + 1 + '',\n itemIndex: itemIndex,\n key: itemIndex\n })\n );\n }));\n};\nexport default Dots;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkRvdCIsInVzZU51bUl0ZW1zIiwiRG90cyIsIm51bUl0ZW1zIiwiQXJyYXkiLCJfIiwiaXRlbUluZGV4Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0RvdHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IERvdCBmcm9tICcuL0RvdCc7XG5pbXBvcnQgdXNlTnVtSXRlbXMgZnJvbSAnLi9ob29rcy91c2VOdW1JdGVtcyc7XG5cbmNvbnN0IERvdHMgPSAoKSA9PiB7XG4gIGNvbnN0IFtudW1JdGVtc10gPSB1c2VOdW1JdGVtcygpO1xuXG4gIHJldHVybiAoXG4gICAgPHVsIGNsYXNzTmFtZT1cInJlYWN0LWZpbG1fX2RvdHNcIj5cbiAgICAgIHtuZXcgQXJyYXkobnVtSXRlbXMpLmZpbGwoKS5tYXAoKF8sIGl0ZW1JbmRleCkgPT4gKFxuICAgICAgICAvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovXG4gICAgICAgIDxEb3QgYXJpYS1sYWJlbD17aXRlbUluZGV4ICsgMSArICcnfSBpdGVtSW5kZXg9e2l0ZW1JbmRleH0ga2V5PXtpdGVtSW5kZXh9IC8+XG4gICAgICApKX1cbiAgICA8L3VsPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRG90cztcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFFekIsT0FBT0MsR0FBRyxNQUFNLE9BQU87QUFDdkIsT0FBT0MsV0FBVyxNQUFNLHFCQUFxQjtBQUU3QyxJQUFNQyxJQUFJLEdBQUcsU0FBUEEsSUFBSSxHQUFTO0VBQUE7RUFDakIsbUJBQW1CRCxXQUFXLEVBQUU7SUFBQTtJQUF6QkUsUUFBUTtFQUVmLG9CQUNFO0lBQUksU0FBUyxFQUFDO0VBQWtCLEdBQzdCLHNFQUFJQyxLQUFLLENBQUNELFFBQVEsQ0FBQyxpQkFBTyxpQkFBSyxVQUFDRSxDQUFDLEVBQUVDLFNBQVM7SUFBQTtNQUFBO01BQzNDO01BQ0Esb0JBQUMsR0FBRztRQUFDLGNBQVlBLFNBQVMsR0FBRyxDQUFDLEdBQUcsRUFBRztRQUFDLFNBQVMsRUFBRUEsU0FBVTtRQUFDLEdBQUcsRUFBRUE7TUFBVTtJQUFHO0VBQUEsQ0FDOUUsQ0FBQyxDQUNDO0FBRVQsQ0FBQztBQUVELGVBQWVKLElBQUkifQ==","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0ludGVybmFsQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBjcmVhdGVDb250ZXh0KCk7XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLGFBQWEsUUFBUSxPQUFPO0FBRXJDLDRCQUFlQSxhQUFhLEVBQUUifQ==","import { useContext } from 'react';\nimport InternalContext from '../../InternalContext';\nexport default function useInternalContext() {\n var context = useContext(InternalContext);\n if (!context) {\n throw new Error('react-film: Hooks can only be used inside the component.');\n }\n return context;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiSW50ZXJuYWxDb250ZXh0IiwidXNlSW50ZXJuYWxDb250ZXh0IiwiY29udGV4dCIsIkVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZUludGVybmFsQ29udGV4dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgSW50ZXJuYWxDb250ZXh0IGZyb20gJy4uLy4uL0ludGVybmFsQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUludGVybmFsQ29udGV4dCgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoSW50ZXJuYWxDb250ZXh0KTtcblxuICBpZiAoIWNvbnRleHQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ3JlYWN0LWZpbG06IEhvb2tzIGNhbiBvbmx5IGJlIHVzZWQgaW5zaWRlIHRoZSBjb21wb25lbnQuJyk7XG4gIH1cblxuICByZXR1cm4gY29udGV4dDtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsVUFBVSxRQUFRLE9BQU87QUFFbEMsT0FBT0MsZUFBZSxNQUFNLHVCQUF1QjtBQUVuRCxlQUFlLFNBQVNDLGtCQUFrQixHQUFHO0VBQzNDLElBQU1DLE9BQU8sR0FBR0gsVUFBVSxDQUFDQyxlQUFlLENBQUM7RUFFM0MsSUFBSSxDQUFDRSxPQUFPLEVBQUU7SUFDWixNQUFNLElBQUlDLEtBQUssQ0FBQywwREFBMEQsQ0FBQztFQUM3RTtFQUVBLE9BQU9ELE9BQU87QUFDaEIifQ==","import { useCallback } from 'react';\nimport useInternalContext from './internal/useInternalContext';\nexport default function useItemContainerCallbackRef() {\n var _useInternalContext = useInternalContext(),\n itemContainerCallbackRefWithSubscribe = _useInternalContext.itemContainerCallbackRefWithSubscribe;\n return useCallback(function (element) {\n return itemContainerCallbackRefWithSubscribe(element);\n }, [itemContainerCallbackRefWithSubscribe]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUludGVybmFsQ29udGV4dCIsInVzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZiIsIml0ZW1Db250YWluZXJDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUiLCJlbGVtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUludGVybmFsQ29udGV4dCBmcm9tICcuL2ludGVybmFsL3VzZUludGVybmFsQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZigpIHtcbiAgY29uc3QgeyBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlIH0gPSB1c2VJbnRlcm5hbENvbnRleHQoKTtcblxuICByZXR1cm4gdXNlQ2FsbGJhY2soXG4gICAgZWxlbWVudCA9PiBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlKGVsZW1lbnQpLFxuICAgIFtpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlXVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsT0FBTztBQUVuQyxPQUFPQyxrQkFBa0IsTUFBTSwrQkFBK0I7QUFFOUQsZUFBZSxTQUFTQywyQkFBMkIsR0FBRztFQUNwRCwwQkFBa0RELGtCQUFrQixFQUFFO0lBQTlERSxxQ0FBcUMsdUJBQXJDQSxxQ0FBcUM7RUFFN0MsT0FBT0gsV0FBVyxDQUNoQixVQUFBSSxPQUFPO0lBQUEsT0FBSUQscUNBQXFDLENBQUNDLE9BQU8sQ0FBQztFQUFBLEdBQ3pELENBQUNELHFDQUFxQyxDQUFDLENBQ3hDO0FBQ0gifQ==","import { useCallback } from 'react';\nimport useInternalContext from './internal/useInternalContext';\nexport default function useScrollableCallbackRef() {\n var _useInternalContext = useInternalContext(),\n scrollableCallbackRefWithSubscribe = _useInternalContext.scrollableCallbackRefWithSubscribe;\n return useCallback(function (element) {\n return scrollableCallbackRefWithSubscribe(element);\n }, [scrollableCallbackRefWithSubscribe]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUludGVybmFsQ29udGV4dCIsInVzZVNjcm9sbGFibGVDYWxsYmFja1JlZiIsInNjcm9sbGFibGVDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUiLCJlbGVtZW50Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNjcm9sbGFibGVDYWxsYmFja1JlZi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUludGVybmFsQ29udGV4dCBmcm9tICcuL2ludGVybmFsL3VzZUludGVybmFsQ29udGV4dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVNjcm9sbGFibGVDYWxsYmFja1JlZigpIHtcbiAgY29uc3QgeyBzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlIH0gPSB1c2VJbnRlcm5hbENvbnRleHQoKTtcblxuICByZXR1cm4gdXNlQ2FsbGJhY2soZWxlbWVudCA9PiBzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlKGVsZW1lbnQpLCBbc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZV0pO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsT0FBTztBQUVuQyxPQUFPQyxrQkFBa0IsTUFBTSwrQkFBK0I7QUFFOUQsZUFBZSxTQUFTQyx3QkFBd0IsR0FBRztFQUNqRCwwQkFBK0NELGtCQUFrQixFQUFFO0lBQTNERSxrQ0FBa0MsdUJBQWxDQSxrQ0FBa0M7RUFFMUMsT0FBT0gsV0FBVyxDQUFDLFVBQUFJLE9BQU87SUFBQSxPQUFJRCxrQ0FBa0MsQ0FBQ0MsT0FBTyxDQUFDO0VBQUEsR0FBRSxDQUFDRCxrQ0FBa0MsQ0FBQyxDQUFDO0FBQ2xIIn0=","import _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport PropTypes from 'prop-types';\nimport React, { Children } from 'react';\nimport useItemContainerCallbackRef from './hooks/useItemContainerCallbackRef';\nimport useScrollableCallbackRef from './hooks/useScrollableCallbackRef';\nvar Filmstrip = function Filmstrip(_ref) {\n var children = _ref.children;\n var itemContainerCallbackRef = useItemContainerCallbackRef();\n var scrollableCallbackRef = useScrollableCallbackRef();\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-film__filmstrip\",\n ref: scrollableCallbackRef\n }, /*#__PURE__*/React.createElement(\"ul\", {\n className: \"react-film__filmstrip__list\",\n ref: itemContainerCallbackRef\n }, _mapInstanceProperty(Children).call(Children, children, function (child) {\n return /*#__PURE__*/React.createElement(\"li\", {\n className: \"react-film__filmstrip__item\"\n }, child);\n })));\n};\nFilmstrip.defaultProps = {\n children: undefined\n};\nFilmstrip.propTypes = {\n children: PropTypes.any\n};\nexport default Filmstrip;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJSZWFjdCIsIkNoaWxkcmVuIiwidXNlSXRlbUNvbnRhaW5lckNhbGxiYWNrUmVmIiwidXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmIiwiRmlsbXN0cmlwIiwiY2hpbGRyZW4iLCJpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWYiLCJzY3JvbGxhYmxlQ2FsbGJhY2tSZWYiLCJjaGlsZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsImFueSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9GaWxtc3RyaXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBDaGlsZHJlbiB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZiBmcm9tICcuL2hvb2tzL3VzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZic7XG5pbXBvcnQgdXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmJztcblxuY29uc3QgRmlsbXN0cmlwID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWYgPSB1c2VJdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWYoKTtcbiAgY29uc3Qgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmID0gdXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInJlYWN0LWZpbG1fX2ZpbG1zdHJpcFwiIHJlZj17c2Nyb2xsYWJsZUNhbGxiYWNrUmVmfT5cbiAgICAgIDx1bCBjbGFzc05hbWU9XCJyZWFjdC1maWxtX19maWxtc3RyaXBfX2xpc3RcIiByZWY9e2l0ZW1Db250YWluZXJDYWxsYmFja1JlZn0+XG4gICAgICAgIHtDaGlsZHJlbi5tYXAoY2hpbGRyZW4sIGNoaWxkID0+IChcbiAgICAgICAgICA8bGkgY2xhc3NOYW1lPVwicmVhY3QtZmlsbV9fZmlsbXN0cmlwX19pdGVtXCI+e2NoaWxkfTwvbGk+XG4gICAgICAgICkpfVxuICAgICAgPC91bD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkZpbG1zdHJpcC5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiB1bmRlZmluZWRcbn07XG5cbkZpbG1zdHJpcC5wcm9wVHlwZXMgPSB7XG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55XG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxtc3RyaXA7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxTQUFTLE1BQU0sWUFBWTtBQUNsQyxPQUFPQyxLQUFLLElBQUlDLFFBQVEsUUFBUSxPQUFPO0FBRXZDLE9BQU9DLDJCQUEyQixNQUFNLHFDQUFxQztBQUM3RSxPQUFPQyx3QkFBd0IsTUFBTSxrQ0FBa0M7QUFFdkUsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVMsT0FBcUI7RUFBQSxJQUFmQyxRQUFRLFFBQVJBLFFBQVE7RUFDM0IsSUFBTUMsd0JBQXdCLEdBQUdKLDJCQUEyQixFQUFFO0VBQzlELElBQU1LLHFCQUFxQixHQUFHSix3QkFBd0IsRUFBRTtFQUV4RCxvQkFDRTtJQUFLLFNBQVMsRUFBQyx1QkFBdUI7SUFBQyxHQUFHLEVBQUVJO0VBQXNCLGdCQUNoRTtJQUFJLFNBQVMsRUFBQyw2QkFBNkI7SUFBQyxHQUFHLEVBQUVEO0VBQXlCLEdBQ3ZFLHFCQUFBTCxRQUFRLE9BQVJBLFFBQVEsRUFBS0ksUUFBUSxFQUFFLFVBQUFHLEtBQUs7SUFBQSxvQkFDM0I7TUFBSSxTQUFTLEVBQUM7SUFBNkIsR0FBRUEsS0FBSyxDQUFNO0VBQUEsQ0FDekQsQ0FBQyxDQUNDLENBQ0Q7QUFFVixDQUFDO0FBRURKLFNBQVMsQ0FBQ0ssWUFBWSxHQUFHO0VBQ3ZCSixRQUFRLEVBQUVLO0FBQ1osQ0FBQztBQUVETixTQUFTLENBQUNPLFNBQVMsR0FBRztFQUNwQk4sUUFBUSxFQUFFTixTQUFTLENBQUNhO0FBQ3RCLENBQUM7QUFFRCxlQUFlUixTQUFTIn0=","import usePropsContext from './internal/usePropsContext';\nexport default function useDir() {\n var _usePropsContext = usePropsContext(),\n dir = _usePropsContext.dir;\n return [dir];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VQcm9wc0NvbnRleHQiLCJ1c2VEaXIiLCJkaXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlRGlyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VQcm9wc0NvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VQcm9wc0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VEaXIoKSB7XG4gIGNvbnN0IHsgZGlyIH0gPSB1c2VQcm9wc0NvbnRleHQoKTtcblxuICByZXR1cm4gW2Rpcl07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSw0QkFBNEI7QUFFeEQsZUFBZSxTQUFTQyxNQUFNLEdBQUc7RUFDL0IsdUJBQWdCRCxlQUFlLEVBQUU7SUFBekJFLEdBQUcsb0JBQUhBLEdBQUc7RUFFWCxPQUFPLENBQUNBLEdBQUcsQ0FBQztBQUNkIn0=","import useViewContext from './internal/useViewContext';\nexport default function useScrollBarPercentage() {\n var _useViewContext = useViewContext(),\n scrollBarPercentage = _useViewContext.scrollBarPercentage;\n return [scrollBarPercentage];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VWaWV3Q29udGV4dCIsInVzZVNjcm9sbEJhclBlcmNlbnRhZ2UiLCJzY3JvbGxCYXJQZXJjZW50YWdlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNjcm9sbEJhclBlcmNlbnRhZ2UuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZVZpZXdDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlVmlld0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxCYXJQZXJjZW50YWdlKCkge1xuICBjb25zdCB7IHNjcm9sbEJhclBlcmNlbnRhZ2UgfSA9IHVzZVZpZXdDb250ZXh0KCk7XG5cbiAgcmV0dXJuIFtzY3JvbGxCYXJQZXJjZW50YWdlXTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsY0FBYyxNQUFNLDJCQUEyQjtBQUV0RCxlQUFlLFNBQVNDLHNCQUFzQixHQUFHO0VBQy9DLHNCQUFnQ0QsY0FBYyxFQUFFO0lBQXhDRSxtQkFBbUIsbUJBQW5CQSxtQkFBbUI7RUFFM0IsT0FBTyxDQUFDQSxtQkFBbUIsQ0FBQztBQUM5QiJ9","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useRef } from 'react';\nimport useDir from './hooks/useDir';\nimport useScrollBarPercentage from './hooks/useScrollBarPercentage';\nimport useScrollOneLeft from './hooks/useScrollOneLeft';\nimport useScrollOneRight from './hooks/useScrollOneRight';\nvar Flipper = function Flipper(_ref) {\n var ariaLabel = _ref['aria-label'],\n blurFocusOnClick = _ref.blurFocusOnClick,\n children = _ref.children,\n mode = _ref.mode;\n var _useDir = useDir(),\n _useDir2 = _slicedToArray(_useDir, 1),\n dir = _useDir2[0];\n var _useScrollBarPercenta = useScrollBarPercentage(),\n _useScrollBarPercenta2 = _slicedToArray(_useScrollBarPercenta, 1),\n scrollBarPercentage = _useScrollBarPercenta2[0];\n var buttonRef = useRef();\n var left = mode === 'left';\n var scrollOneLeft = useScrollOneLeft();\n var scrollOneRight = useScrollOneRight();\n var handleClick = useCallback(function () {\n left ? scrollOneLeft() : scrollOneRight();\n blurFocusOnClick && buttonRef.current && buttonRef.current.blur();\n }, [blurFocusOnClick, buttonRef, left, scrollOneLeft, scrollOneRight]);\n var handleKeyDown = useCallback(function (event) {\n var key = event.key;\n if (key === 'Enter' || key === ' ') {\n event.preventDefault();\n left ? scrollOneLeft() : scrollOneRight();\n }\n }, [left, scrollOneLeft, scrollOneRight]);\n var hide;\n if (dir === 'rtl') {\n if (left) {\n hide = scrollBarPercentage === '100%' || scrollBarPercentage === '-100%';\n } else {\n hide = scrollBarPercentage === '0%';\n }\n } else {\n if (left) {\n hide = scrollBarPercentage === '0%';\n } else {\n hide = scrollBarPercentage === '100%';\n }\n }\n return /*#__PURE__*/React.createElement(\"button\", {\n \"aria-label\": ariaLabel || (left ? 'left' : 'right'),\n className: classNames('react-film__flipper', 'react-film__main__overlay', {\n 'react-film__flipper--left': left,\n 'react-film__flipper--right': !left\n }),\n onClick: handleClick,\n onKeyDown: handleKeyDown,\n ref: buttonRef,\n type: \"button\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames('react-film__flipper__slider', 'react-film__main__slider', {\n 'react-film__main__slider--hide': hide,\n 'react-film__main__slider--left': left,\n 'react-film__main__slider--right': !left\n })\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-film__flipper__body\"\n }, children)));\n};\nFlipper.defaultProps = {\n 'aria-label': undefined,\n blurFocusOnClick: false,\n children: undefined,\n mode: 'left'\n};\nFlipper.propTypes = {\n 'aria-label': PropTypes.string,\n blurFocusOnClick: PropTypes.bool,\n children: PropTypes.any,\n mode: PropTypes.oneOf(['left', 'right'])\n};\nexport default Flipper;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGFzc05hbWVzIiwiUHJvcFR5cGVzIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZURpciIsInVzZVNjcm9sbEJhclBlcmNlbnRhZ2UiLCJ1c2VTY3JvbGxPbmVMZWZ0IiwidXNlU2Nyb2xsT25lUmlnaHQiLCJGbGlwcGVyIiwiYXJpYUxhYmVsIiwiYmx1ckZvY3VzT25DbGljayIsImNoaWxkcmVuIiwibW9kZSIsImRpciIsInNjcm9sbEJhclBlcmNlbnRhZ2UiLCJidXR0b25SZWYiLCJsZWZ0Iiwic2Nyb2xsT25lTGVmdCIsInNjcm9sbE9uZVJpZ2h0IiwiaGFuZGxlQ2xpY2siLCJjdXJyZW50IiwiYmx1ciIsImhhbmRsZUtleURvd24iLCJldmVudCIsImtleSIsInByZXZlbnREZWZhdWx0IiwiaGlkZSIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsInN0cmluZyIsImJvb2wiLCJhbnkiLCJvbmVPZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9GbGlwcGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlRGlyIGZyb20gJy4vaG9va3MvdXNlRGlyJztcbmltcG9ydCB1c2VTY3JvbGxCYXJQZXJjZW50YWdlIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsQmFyUGVyY2VudGFnZSc7XG5pbXBvcnQgdXNlU2Nyb2xsT25lTGVmdCBmcm9tICcuL2hvb2tzL3VzZVNjcm9sbE9uZUxlZnQnO1xuaW1wb3J0IHVzZVNjcm9sbE9uZVJpZ2h0IGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsT25lUmlnaHQnO1xuXG5jb25zdCBGbGlwcGVyID0gKHsgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsIGJsdXJGb2N1c09uQ2xpY2ssIGNoaWxkcmVuLCBtb2RlIH0pID0+IHtcbiAgY29uc3QgW2Rpcl0gPSB1c2VEaXIoKTtcbiAgY29uc3QgW3Njcm9sbEJhclBlcmNlbnRhZ2VdID0gdXNlU2Nyb2xsQmFyUGVyY2VudGFnZSgpO1xuICBjb25zdCBidXR0b25SZWYgPSB1c2VSZWYoKTtcbiAgY29uc3QgbGVmdCA9IG1vZGUgPT09ICdsZWZ0JztcbiAgY29uc3Qgc2Nyb2xsT25lTGVmdCA9IHVzZVNjcm9sbE9uZUxlZnQoKTtcbiAgY29uc3Qgc2Nyb2xsT25lUmlnaHQgPSB1c2VTY3JvbGxPbmVSaWdodCgpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGxlZnQgPyBzY3JvbGxPbmVMZWZ0KCkgOiBzY3JvbGxPbmVSaWdodCgpO1xuICAgIGJsdXJGb2N1c09uQ2xpY2sgJiYgYnV0dG9uUmVmLmN1cnJlbnQgJiYgYnV0dG9uUmVmLmN1cnJlbnQuYmx1cigpO1xuICB9LCBbYmx1ckZvY3VzT25DbGljaywgYnV0dG9uUmVmLCBsZWZ0LCBzY3JvbGxPbmVMZWZ0LCBzY3JvbGxPbmVSaWdodF0pO1xuXG4gIGNvbnN0IGhhbmRsZUtleURvd24gPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBjb25zdCB7IGtleSB9ID0gZXZlbnQ7XG5cbiAgICAgIGlmIChrZXkgPT09ICdFbnRlcicgfHwga2V5ID09PSAnICcpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgbGVmdCA/IHNjcm9sbE9uZUxlZnQoKSA6IHNjcm9sbE9uZVJpZ2h0KCk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbbGVmdCwgc2Nyb2xsT25lTGVmdCwgc2Nyb2xsT25lUmlnaHRdXG4gICk7XG5cbiAgbGV0IGhpZGU7XG5cbiAgaWYgKGRpciA9PT0gJ3J0bCcpIHtcbiAgICBpZiAobGVmdCkge1xuICAgICAgaGlkZSA9IHNjcm9sbEJhclBlcmNlbnRhZ2UgPT09ICcxMDAlJyB8fCBzY3JvbGxCYXJQZXJjZW50YWdlID09PSAnLTEwMCUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaWRlID0gc2Nyb2xsQmFyUGVyY2VudGFnZSA9PT0gJzAlJztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGxlZnQpIHtcbiAgICAgIGhpZGUgPSBzY3JvbGxCYXJQZXJjZW50YWdlID09PSAnMCUnO1xuICAgIH0gZWxzZSB7XG4gICAgICBoaWRlID0gc2Nyb2xsQmFyUGVyY2VudGFnZSA9PT0gJzEwMCUnO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsIHx8IChsZWZ0ID8gJ2xlZnQnIDogJ3JpZ2h0Jyl9XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3JlYWN0LWZpbG1fX2ZsaXBwZXInLCAncmVhY3QtZmlsbV9fbWFpbl9fb3ZlcmxheScsIHtcbiAgICAgICAgJ3JlYWN0LWZpbG1fX2ZsaXBwZXItLWxlZnQnOiBsZWZ0LFxuICAgICAgICAncmVhY3QtZmlsbV9fZmxpcHBlci0tcmlnaHQnOiAhbGVmdFxuICAgICAgfSl9XG4gICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgIG9uS2V5RG93bj17aGFuZGxlS2V5RG93bn1cbiAgICAgIHJlZj17YnV0dG9uUmVmfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3JlYWN0LWZpbG1fX2ZsaXBwZXJfX3NsaWRlcicsICdyZWFjdC1maWxtX19tYWluX19zbGlkZXInLCB7XG4gICAgICAgICAgJ3JlYWN0LWZpbG1fX21haW5fX3NsaWRlci0taGlkZSc6IGhpZGUsXG4gICAgICAgICAgJ3JlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tbGVmdCc6IGxlZnQsXG4gICAgICAgICAgJ3JlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tcmlnaHQnOiAhbGVmdFxuICAgICAgICB9KX1cbiAgICAgID5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyZWFjdC1maWxtX19mbGlwcGVyX19ib2R5XCI+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9idXR0b24+XG4gICk7XG59O1xuXG5GbGlwcGVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgJ2FyaWEtbGFiZWwnOiB1bmRlZmluZWQsXG4gIGJsdXJGb2N1c09uQ2xpY2s6IGZhbHNlLFxuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBtb2RlOiAnbGVmdCdcbn07XG5cbkZsaXBwZXIucHJvcFR5cGVzID0ge1xuICAnYXJpYS1sYWJlbCc6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGJsdXJGb2N1c09uQ2xpY2s6IFByb3BUeXBlcy5ib29sLFxuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgbW9kZTogUHJvcFR5cGVzLm9uZU9mKFsnbGVmdCcsICdyaWdodCddKVxufTtcblxuZXhwb3J0IGRlZmF1bHQgRmxpcHBlcjtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFVBQVUsTUFBTSxZQUFZO0FBQ25DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEtBQUssSUFBSUMsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUVsRCxPQUFPQyxNQUFNLE1BQU0sZ0JBQWdCO0FBQ25DLE9BQU9DLHNCQUFzQixNQUFNLGdDQUFnQztBQUNuRSxPQUFPQyxnQkFBZ0IsTUFBTSwwQkFBMEI7QUFDdkQsT0FBT0MsaUJBQWlCLE1BQU0sMkJBQTJCO0FBRXpELElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPLE9BQXNFO0VBQUEsSUFBbERDLFNBQVMsUUFBdkIsWUFBWTtJQUFhQyxnQkFBZ0IsUUFBaEJBLGdCQUFnQjtJQUFFQyxRQUFRLFFBQVJBLFFBQVE7SUFBRUMsSUFBSSxRQUFKQSxJQUFJO0VBQzFFLGNBQWNSLE1BQU0sRUFBRTtJQUFBO0lBQWZTLEdBQUc7RUFDViw0QkFBOEJSLHNCQUFzQixFQUFF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","import useFunctionContext from './internal/useFunctionContext';\nexport default function useScrollOneLeft() {\n var _useFunctionContext = useFunctionContext(),\n scrollOneLeft = _useFunctionContext.scrollOneLeft;\n return scrollOneLeft;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VGdW5jdGlvbkNvbnRleHQiLCJ1c2VTY3JvbGxPbmVMZWZ0Iiwic2Nyb2xsT25lTGVmdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTY3JvbGxPbmVMZWZ0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VGdW5jdGlvbkNvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VGdW5jdGlvbkNvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxPbmVMZWZ0KCkge1xuICBjb25zdCB7IHNjcm9sbE9uZUxlZnQgfSA9IHVzZUZ1bmN0aW9uQ29udGV4dCgpO1xuXG4gIHJldHVybiBzY3JvbGxPbmVMZWZ0O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxrQkFBa0IsTUFBTSwrQkFBK0I7QUFFOUQsZUFBZSxTQUFTQyxnQkFBZ0IsR0FBRztFQUN6QywwQkFBMEJELGtCQUFrQixFQUFFO0lBQXRDRSxhQUFhLHVCQUFiQSxhQUFhO0VBRXJCLE9BQU9BLGFBQWE7QUFDdEIifQ==","import useFunctionContext from './internal/useFunctionContext';\nexport default function useScrollOneRight() {\n var _useFunctionContext = useFunctionContext(),\n scrollOneRight = _useFunctionContext.scrollOneRight;\n return scrollOneRight;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VGdW5jdGlvbkNvbnRleHQiLCJ1c2VTY3JvbGxPbmVSaWdodCIsInNjcm9sbE9uZVJpZ2h0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL3VzZVNjcm9sbE9uZVJpZ2h0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VGdW5jdGlvbkNvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VGdW5jdGlvbkNvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxPbmVSaWdodCgpIHtcbiAgY29uc3QgeyBzY3JvbGxPbmVSaWdodCB9ID0gdXNlRnVuY3Rpb25Db250ZXh0KCk7XG5cbiAgcmV0dXJuIHNjcm9sbE9uZVJpZ2h0O1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxrQkFBa0IsTUFBTSwrQkFBK0I7QUFFOUQsZUFBZSxTQUFTQyxpQkFBaUIsR0FBRztFQUMxQywwQkFBMkJELGtCQUFrQixFQUFFO0lBQXZDRSxjQUFjLHVCQUFkQSxjQUFjO0VBRXRCLE9BQU9BLGNBQWM7QUFDdkIifQ==","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _Symbol$iterator from \"@babel/runtime-corejs3/core-js/symbol/iterator\";\nexport default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof _Symbol && \"symbol\" == typeof _Symbol$iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof _Symbol && obj.constructor === _Symbol && obj !== _Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n _Object$defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nimport _Symbol$toPrimitive from \"@babel/runtime-corejs3/core-js/symbol/to-primitive\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[_Symbol$toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _Object$keys from \"@babel/runtime-corejs3/core-js/object/keys\";\nimport _Object$getOwnPropertySymbols from \"@babel/runtime-corejs3/core-js/object/get-own-property-symbols\";\nimport _filterInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/filter\";\nimport _Object$getOwnPropertyDescriptor from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptor\";\nimport _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/for-each\";\nimport _Object$getOwnPropertyDescriptors from \"@babel/runtime-corejs3/core-js/object/get-own-property-descriptors\";\nimport _Object$defineProperties from \"@babel/runtime-corejs3/core-js/object/define-properties\";\nimport _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = _Object$keys(object);\n if (_Object$getOwnPropertySymbols) {\n var symbols = _Object$getOwnPropertySymbols(object);\n enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) {\n return _Object$getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var _context, _context2;\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? _forEachInstanceProperty(_context = ownKeys(Object(source), !0)).call(_context, function (key) {\n defineProperty(target, key, source[key]);\n }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : _forEachInstanceProperty(_context2 = ownKeys(Object(source))).call(_context2, function (key) {\n _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","var _navigator = navigator,\n userAgent = _navigator.userAgent;\nvar chromium = !/Edge\\//.test(userAgent) && /Chrome\\//.test(userAgent);\nvar edgeAnaheim = /Edg\\//.test(userAgent);\nvar edgeUWP = /Edge\\//.test(userAgent);\nvar firefox = /Firefox\\//.test(userAgent);\nvar internetExplorer = /Trident\\/7(?:[\\0-\\t\\x0B\\f\\x0E-\\u2027\\u202A-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])0/.test(userAgent);\nvar chrome = chromium && !edgeAnaheim;\nvar safari = !(chrome || edgeUWP || internetExplorer || firefox);\nexport { chrome, chromium, edgeAnaheim, edgeUWP, firefox, internetExplorer, safari };\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJjaHJvbWl1bSIsInRlc3QiLCJlZGdlQW5haGVpbSIsImVkZ2VVV1AiLCJmaXJlZm94IiwiaW50ZXJuZXRFeHBsb3JlciIsImNocm9tZSIsInNhZmFyaSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHsgdXNlckFnZW50IH0gPSBuYXZpZ2F0b3I7XG5cbmNvbnN0IGNocm9taXVtID0gIS9FZGdlXFwvL3UudGVzdCh1c2VyQWdlbnQpICYmIC9DaHJvbWVcXC8vdS50ZXN0KHVzZXJBZ2VudCk7XG5jb25zdCBlZGdlQW5haGVpbSA9IC9FZGdcXC8vdS50ZXN0KHVzZXJBZ2VudCk7XG5jb25zdCBlZGdlVVdQID0gL0VkZ2VcXC8vdS50ZXN0KHVzZXJBZ2VudCk7XG5jb25zdCBmaXJlZm94ID0gL0ZpcmVmb3hcXC8vdS50ZXN0KHVzZXJBZ2VudCk7XG5jb25zdCBpbnRlcm5ldEV4cGxvcmVyID0gL1RyaWRlbnRcXC83LjAvdS50ZXN0KHVzZXJBZ2VudCk7XG5cbmNvbnN0IGNocm9tZSA9IGNocm9taXVtICYmICFlZGdlQW5haGVpbTtcbmNvbnN0IHNhZmFyaSA9ICEoY2hyb21lIHx8IGVkZ2VVV1AgfHwgaW50ZXJuZXRFeHBsb3JlciB8fCBmaXJlZm94KTtcblxuZXhwb3J0IHsgY2hyb21lLCBjaHJvbWl1bSwgZWRnZUFuYWhlaW0sIGVkZ2VVV1AsIGZpcmVmb3gsIGludGVybmV0RXhwbG9yZXIsIHNhZmFyaSB9O1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxpQkFBc0JBLFNBQVM7RUFBdkJDLFNBQVMsY0FBVEEsU0FBUztBQUVqQixJQUFNQyxRQUFRLEdBQUcsQ0FBQyxRQUFTLENBQUNDLElBQUksQ0FBQ0YsU0FBUyxDQUFDLElBQUksVUFBVyxDQUFDRSxJQUFJLENBQUNGLFNBQVMsQ0FBQztBQUMxRSxJQUFNRyxXQUFXLEdBQUcsT0FBUSxDQUFDRCxJQUFJLENBQUNGLFNBQVMsQ0FBQztBQUM1QyxJQUFNSSxPQUFPLEdBQUcsUUFBUyxDQUFDRixJQUFJLENBQUNGLFNBQVMsQ0FBQztBQUN6QyxJQUFNSyxPQUFPLEdBQUcsV0FBWSxDQUFDSCxJQUFJLENBQUNGLFNBQVMsQ0FBQztBQUM1QyxJQUFNTSxnQkFBZ0IsR0FBRywyS0FBZSxDQUFDSixJQUFJLENBQUNGLFNBQVMsQ0FBQztBQUV4RCxJQUFNTyxNQUFNLEdBQUdOLFFBQVEsSUFBSSxDQUFDRSxXQUFXO0FBQ3ZDLElBQU1LLE1BQU0sR0FBRyxFQUFFRCxNQUFNLElBQUlILE9BQU8sSUFBSUUsZ0JBQWdCLElBQUlELE9BQU8sQ0FBQztBQUVsRSxTQUFTRSxNQUFNLEVBQUVOLFFBQVEsRUFBRUUsV0FBVyxFQUFFQyxPQUFPLEVBQUVDLE9BQU8sRUFBRUMsZ0JBQWdCLEVBQUVFLE1BQU0ifQ==","import useViewContext from './internal/useViewContext';\nexport default function useScrollBarWidth() {\n var _useViewContext = useViewContext(),\n scrollBarWidth = _useViewContext.scrollBarWidth;\n return [scrollBarWidth];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VWaWV3Q29udGV4dCIsInVzZVNjcm9sbEJhcldpZHRoIiwic2Nyb2xsQmFyV2lkdGgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlU2Nyb2xsQmFyV2lkdGguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZVZpZXdDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlVmlld0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxCYXJXaWR0aCgpIHtcbiAgY29uc3QgeyBzY3JvbGxCYXJXaWR0aCB9ID0gdXNlVmlld0NvbnRleHQoKTtcblxuICByZXR1cm4gW3Njcm9sbEJhcldpZHRoXTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsY0FBYyxNQUFNLDJCQUEyQjtBQUV0RCxlQUFlLFNBQVNDLGlCQUFpQixHQUFHO0VBQzFDLHNCQUEyQkQsY0FBYyxFQUFFO0lBQW5DRSxjQUFjLG1CQUFkQSxjQUFjO0VBRXRCLE9BQU8sQ0FBQ0EsY0FBYyxDQUFDO0FBQ3pCIn0=","import _objectSpread from \"@babel/runtime-corejs3/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport _parseFloat from \"@babel/runtime-corejs3/core-js-stable/parse-float\";\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [1, 100] }] */\n\nimport React from 'react';\nimport * as browser from './browser';\nimport useDir from './hooks/useDir';\nimport useScrollBarPercentage from './hooks/useScrollBarPercentage';\nimport useScrollBarWidth from './hooks/useScrollBarWidth';\nvar ScrollBar = function ScrollBar() {\n var _useDir = useDir(),\n _useDir2 = _slicedToArray(_useDir, 1),\n dir = _useDir2[0];\n var _useScrollBarPercenta = useScrollBarPercentage(),\n _useScrollBarPercenta2 = _slicedToArray(_useScrollBarPercenta, 1),\n scrollBarPercentage = _useScrollBarPercenta2[0];\n var _useScrollBarWidth = useScrollBarWidth(),\n _useScrollBarWidth2 = _slicedToArray(_useScrollBarWidth, 1),\n scrollBarWidth = _useScrollBarWidth2[0];\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-film__scroll-bar react-film__main__slider react-film__main__slider--bottom\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"react-film__scroll-bar__handle\",\n style: _objectSpread(_objectSpread({}, dir === 'rtl' ? browser.edgeUWP || browser.internetExplorer ? {\n marginRight: \"\".concat((1 - _parseFloat(scrollBarWidth) / 100) * _parseFloat(scrollBarPercentage), \"%\")\n } : {\n marginRight: \"\".concat((_parseFloat(scrollBarWidth) / 100 - 1) * _parseFloat(scrollBarPercentage), \"%\")\n } : {\n marginLeft: \"\".concat((1 - _parseFloat(scrollBarWidth) / 100) * _parseFloat(scrollBarPercentage), \"%\")\n }), {}, {\n width: scrollBarWidth\n })\n }));\n};\nexport default ScrollBar;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImJyb3dzZXIiLCJ1c2VEaXIiLCJ1c2VTY3JvbGxCYXJQZXJjZW50YWdlIiwidXNlU2Nyb2xsQmFyV2lkdGgiLCJTY3JvbGxCYXIiLCJkaXIiLCJzY3JvbGxCYXJQZXJjZW50YWdlIiwic2Nyb2xsQmFyV2lkdGgiLCJlZGdlVVdQIiwiaW50ZXJuZXRFeHBsb3JlciIsIm1hcmdpblJpZ2h0IiwibWFyZ2luTGVmdCIsIndpZHRoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL1Njcm9sbEJhci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMSwgMTAwXSB9XSAqL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgKiBhcyBicm93c2VyIGZyb20gJy4vYnJvd3Nlcic7XG5pbXBvcnQgdXNlRGlyIGZyb20gJy4vaG9va3MvdXNlRGlyJztcbmltcG9ydCB1c2VTY3JvbGxCYXJQZXJjZW50YWdlIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsQmFyUGVyY2VudGFnZSc7XG5pbXBvcnQgdXNlU2Nyb2xsQmFyV2lkdGggZnJvbSAnLi9ob29rcy91c2VTY3JvbGxCYXJXaWR0aCc7XG5cbmNvbnN0IFNjcm9sbEJhciA9ICgpID0+IHtcbiAgY29uc3QgW2Rpcl0gPSB1c2VEaXIoKTtcbiAgY29uc3QgW3Njcm9sbEJhclBlcmNlbnRhZ2VdID0gdXNlU2Nyb2xsQmFyUGVyY2VudGFnZSgpO1xuICBjb25zdCBbc2Nyb2xsQmFyV2lkdGhdID0gdXNlU2Nyb2xsQmFyV2lkdGgoKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPVwicmVhY3QtZmlsbV9fc2Nyb2xsLWJhciByZWFjdC1maWxtX19tYWluX19zbGlkZXIgcmVhY3QtZmlsbV9fbWFpbl9fc2xpZGVyLS1ib3R0b21cIj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3NOYW1lPVwicmVhY3QtZmlsbV9fc2Nyb2xsLWJhcl9faGFuZGxlXCJcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi4oZGlyID09PSAncnRsJ1xuICAgICAgICAgICAgPyBicm93c2VyLmVkZ2VVV1AgfHwgYnJvd3Nlci5pbnRlcm5ldEV4cGxvcmVyXG4gICAgICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IGAkeygxIC0gcGFyc2VGbG9hdChzY3JvbGxCYXJXaWR0aCkgLyAxMDApICogcGFyc2VGbG9hdChzY3JvbGxCYXJQZXJjZW50YWdlKX0lYFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogYCR7KHBhcnNlRmxvYXQoc2Nyb2xsQmFyV2lkdGgpIC8gMTAwIC0gMSkgKiBwYXJzZUZsb2F0KHNjcm9sbEJhclBlcmNlbnRhZ2UpfSVgXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgOiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogYCR7KDEgLSBwYXJzZUZsb2F0KHNjcm9sbEJhcldpZHRoKSAvIDEwMCkgKiBwYXJzZUZsb2F0KHNjcm9sbEJhclBlcmNlbnRhZ2UpfSVgXG4gICAgICAgICAgICAgIH0pLFxuICAgICAgICAgIHdpZHRoOiBzY3JvbGxCYXJXaWR0aFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNjcm9sbEJhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0FBRUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFFekIsT0FBTyxLQUFLQyxPQUFPLE1BQU0sV0FBVztBQUNwQyxPQUFPQyxNQUFNLE1BQU0sZ0JBQWdCO0FBQ25DLE9BQU9DLHNCQUFzQixNQUFNLGdDQUFnQztBQUNuRSxPQUFPQyxpQkFBaUIsTUFBTSwyQkFBMkI7QUFFekQsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVMsR0FBUztFQUN0QixjQUFjSCxNQUFNLEVBQUU7SUFBQTtJQUFmSSxHQUFHO0VBQ1YsNEJBQThCSCxzQkFBc0IsRUFBRTtJQUFBO0lBQS9DSSxtQkFBbUI7RUFDMUIseUJBQXlCSCxpQkFBaUIsRUFBRTtJQUFBO0lBQXJDSSxjQUFjO0VBRXJCLG9CQUNFO0lBQUssU0FBUyxFQUFDO0VBQWtGLGdCQUMvRjtJQUNFLFNBQVMsRUFBQyxnQ0FBZ0M7SUFDMUMsS0FBSyxrQ0FDQ0YsR0FBRyxLQUFLLEtBQUssR0FDYkwsT0FBTyxDQUFDUSxPQUFPLElBQUlSLE9BQU8sQ0FBQ1MsZ0JBQWdCLEdBQ3pDO01BQ0VDLFdBQVcsWUFBSyxDQUFDLENBQUMsR0FBRyxZQUFXSCxjQUFjLENBQUMsR0FBRyxHQUFHLElBQUksWUFBV0QsbUJBQW1CLENBQUM7SUFDMUYsQ0FBQyxHQUNEO01BQ0VJLFdBQVcsWUFBSyxDQUFDLFlBQVdILGNBQWMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksWUFBV0QsbUJBQW1CLENBQUM7SUFDMUYsQ0FBQyxHQUNIO01BQ0VLLFVBQVUsWUFBSyxDQUFDLENBQUMsR0FBRyxZQUFXSixjQUFjLENBQUMsR0FBRyxHQUFHLElBQUksWUFBV0QsbUJBQW1CLENBQUM7SUFDekYsQ0FBQztNQUNMTSxLQUFLLEVBQUVMO0lBQWM7RUFDckIsRUFDRixDQUNFO0FBRVYsQ0FBQztBQUVELGVBQWVILFNBQVMifQ==","import useViewContext from './internal/useViewContext';\nexport default function useScrolling() {\n var _useViewContext = useViewContext(),\n scrolling = _useViewContext.scrolling;\n return [scrolling];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VWaWV3Q29udGV4dCIsInVzZVNjcm9sbGluZyIsInNjcm9sbGluZyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTY3JvbGxpbmcuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHVzZVZpZXdDb250ZXh0IGZyb20gJy4vaW50ZXJuYWwvdXNlVmlld0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTY3JvbGxpbmcoKSB7XG4gIGNvbnN0IHsgc2Nyb2xsaW5nIH0gPSB1c2VWaWV3Q29udGV4dCgpO1xuXG4gIHJldHVybiBbc2Nyb2xsaW5nXTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsY0FBYyxNQUFNLDJCQUEyQjtBQUV0RCxlQUFlLFNBQVNDLFlBQVksR0FBRztFQUNyQyxzQkFBc0JELGNBQWMsRUFBRTtJQUE5QkUsU0FBUyxtQkFBVEEsU0FBUztFQUVqQixPQUFPLENBQUNBLFNBQVMsQ0FBQztBQUNwQiJ9","import usePropsContext from './internal/usePropsContext';\nexport default function useStyleOptions() {\n var _usePropsContext = usePropsContext(),\n styleOptions = _usePropsContext.styleOptions;\n return [styleOptions];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VQcm9wc0NvbnRleHQiLCJ1c2VTdHlsZU9wdGlvbnMiLCJzdHlsZU9wdGlvbnMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlU3R5bGVPcHRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VQcm9wc0NvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VQcm9wc0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTdHlsZU9wdGlvbnMoKSB7XG4gIGNvbnN0IHsgc3R5bGVPcHRpb25zIH0gPSB1c2VQcm9wc0NvbnRleHQoKTtcblxuICByZXR1cm4gW3N0eWxlT3B0aW9uc107XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSw0QkFBNEI7QUFFeEQsZUFBZSxTQUFTQyxlQUFlLEdBQUc7RUFDeEMsdUJBQXlCRCxlQUFlLEVBQUU7SUFBbENFLFlBQVksb0JBQVpBLFlBQVk7RUFFcEIsT0FBTyxDQUFDQSxZQUFZLENBQUM7QUFDdkIifQ==","import usePropsContext from './internal/usePropsContext';\nexport default function useStyleSetClassNames() {\n var _usePropsContext = usePropsContext(),\n styleSetClassNames = _usePropsContext.styleSetClassNames;\n return [styleSetClassNames];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VQcm9wc0NvbnRleHQiLCJ1c2VTdHlsZVNldENsYXNzTmFtZXMiLCJzdHlsZVNldENsYXNzTmFtZXMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlU3R5bGVTZXRDbGFzc05hbWVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VQcm9wc0NvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VQcm9wc0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VTdHlsZVNldENsYXNzTmFtZXMoKSB7XG4gIGNvbnN0IHsgc3R5bGVTZXRDbGFzc05hbWVzIH0gPSB1c2VQcm9wc0NvbnRleHQoKTtcblxuICByZXR1cm4gW3N0eWxlU2V0Q2xhc3NOYW1lc107XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSw0QkFBNEI7QUFFeEQsZUFBZSxTQUFTQyxxQkFBcUIsR0FBRztFQUM5Qyx1QkFBK0JELGVBQWUsRUFBRTtJQUF4Q0Usa0JBQWtCLG9CQUFsQkEsa0JBQWtCO0VBRTFCLE9BQU8sQ0FBQ0Esa0JBQWtCLENBQUM7QUFDN0IifQ==","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React, { useMemo } from 'react';\nimport Dots from './Dots';\nimport Filmstrip from './Filmstrip';\nimport Flipper from './Flipper';\nimport ScrollBar from './ScrollBar';\nimport useDir from './hooks/useDir';\nimport useHeight from './hooks/useHeight';\nimport useNumItems from './hooks/useNumItems';\nimport useScrollBarWidth from './hooks/useScrollBarWidth';\nimport useScrolling from './hooks/useScrolling';\nimport useStyleOptions from './hooks/useStyleOptions';\nimport useStyleSetClassNames from './hooks/useStyleSetClassNames';\nvar BasicFilm = function BasicFilm(_ref) {\n var children = _ref.children,\n className = _ref.className;\n var _useDir = useDir(),\n _useDir2 = _slicedToArray(_useDir, 1),\n dir = _useDir2[0];\n var _useHeight = useHeight(),\n _useHeight2 = _slicedToArray(_useHeight, 1),\n height = _useHeight2[0];\n var _useNumItems = useNumItems(),\n _useNumItems2 = _slicedToArray(_useNumItems, 1),\n numItems = _useNumItems2[0];\n var _useScrollBarWidth = useScrollBarWidth(),\n _useScrollBarWidth2 = _slicedToArray(_useScrollBarWidth, 1),\n scrollBarWidth = _useScrollBarWidth2[0];\n var _useScrolling = useScrolling(),\n _useScrolling2 = _slicedToArray(_useScrolling, 1),\n scrolling = _useScrolling2[0];\n var _useStyleSetClassName = useStyleSetClassNames(),\n _useStyleSetClassName2 = _slicedToArray(_useStyleSetClassName, 1),\n rootClassName = _useStyleSetClassName2[0].root;\n var _useStyleOptions = useStyleOptions(),\n _useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),\n _useStyleOptions2$ = _useStyleOptions2[0],\n flipperBlurFocusOnClick = _useStyleOptions2$.flipperBlurFocusOnClick,\n leftFlipperAriaLabel = _useStyleOptions2$.leftFlipperAriaLabel,\n leftFlipperText = _useStyleOptions2$.leftFlipperText,\n rightFlipperAriaLabel = _useStyleOptions2$.rightFlipperAriaLabel,\n rightFlipperText = _useStyleOptions2$.rightFlipperText,\n showDots = _useStyleOptions2$.showDots,\n showFlipper = _useStyleOptions2$.showFlipper,\n showScrollBar = _useStyleOptions2$.showScrollBar;\n var contentStyle = useMemo(function () {\n return {\n height: height\n };\n }, [height]);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(rootClassName, (className || '') + ''),\n dir: dir\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: classNames('react-film__main', {\n 'react-film__main--scrolling': scrolling\n }),\n style: contentStyle\n }, !!numItems && scrollBarWidth !== '100%' && !!showFlipper && /*#__PURE__*/React.createElement(Flipper, {\n \"aria-label\": leftFlipperAriaLabel,\n blurFocusOnClick: flipperBlurFocusOnClick,\n mode: \"left\"\n }, leftFlipperText), /*#__PURE__*/React.createElement(Filmstrip, null, children), !!numItems && scrollBarWidth !== '100%' && !!showFlipper && /*#__PURE__*/React.createElement(Flipper, {\n \"aria-label\": rightFlipperAriaLabel,\n blurFocusOnClick: flipperBlurFocusOnClick,\n mode: \"right\"\n }, rightFlipperText), !!numItems && scrollBarWidth !== '100%' && !!showScrollBar && /*#__PURE__*/React.createElement(ScrollBar, null)), !!numItems && scrollBarWidth !== '100%' && !!showDots && /*#__PURE__*/React.createElement(Dots, null));\n};\n\n// TODO: Move from styleSet to styleSheet.\n\nBasicFilm.defaultProps = {\n children: undefined,\n className: undefined\n};\nBasicFilm.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string\n};\nexport default BasicFilm;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjbGFzc05hbWVzIiwiUHJvcFR5cGVzIiwiUmVhY3QiLCJ1c2VNZW1vIiwiRG90cyIsIkZpbG1zdHJpcCIsIkZsaXBwZXIiLCJTY3JvbGxCYXIiLCJ1c2VEaXIiLCJ1c2VIZWlnaHQiLCJ1c2VOdW1JdGVtcyIsInVzZVNjcm9sbEJhcldpZHRoIiwidXNlU2Nyb2xsaW5nIiwidXNlU3R5bGVPcHRpb25zIiwidXNlU3R5bGVTZXRDbGFzc05hbWVzIiwiQmFzaWNGaWxtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXIiLCJoZWlnaHQiLCJudW1JdGVtcyIsInNjcm9sbEJhcldpZHRoIiwic2Nyb2xsaW5nIiwicm9vdENsYXNzTmFtZSIsInJvb3QiLCJmbGlwcGVyQmx1ckZvY3VzT25DbGljayIsImxlZnRGbGlwcGVyQXJpYUxhYmVsIiwibGVmdEZsaXBwZXJUZXh0IiwicmlnaHRGbGlwcGVyQXJpYUxhYmVsIiwicmlnaHRGbGlwcGVyVGV4dCIsInNob3dEb3RzIiwic2hvd0ZsaXBwZXIiLCJzaG93U2Nyb2xsQmFyIiwiY29udGVudFN0eWxlIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiYW55Iiwic3RyaW5nIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0Jhc2ljRmlsbS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IERvdHMgZnJvbSAnLi9Eb3RzJztcbmltcG9ydCBGaWxtc3RyaXAgZnJvbSAnLi9GaWxtc3RyaXAnO1xuaW1wb3J0IEZsaXBwZXIgZnJvbSAnLi9GbGlwcGVyJztcbmltcG9ydCBTY3JvbGxCYXIgZnJvbSAnLi9TY3JvbGxCYXInO1xuaW1wb3J0IHVzZURpciBmcm9tICcuL2hvb2tzL3VzZURpcic7XG5pbXBvcnQgdXNlSGVpZ2h0IGZyb20gJy4vaG9va3MvdXNlSGVpZ2h0JztcbmltcG9ydCB1c2VOdW1JdGVtcyBmcm9tICcuL2hvb2tzL3VzZU51bUl0ZW1zJztcbmltcG9ydCB1c2VTY3JvbGxCYXJXaWR0aCBmcm9tICcuL2hvb2tzL3VzZVNjcm9sbEJhcldpZHRoJztcbmltcG9ydCB1c2VTY3JvbGxpbmcgZnJvbSAnLi9ob29rcy91c2VTY3JvbGxpbmcnO1xuaW1wb3J0IHVzZVN0eWxlT3B0aW9ucyBmcm9tICcuL2hvb2tzL3VzZVN0eWxlT3B0aW9ucyc7XG5pbXBvcnQgdXNlU3R5bGVTZXRDbGFzc05hbWVzIGZyb20gJy4vaG9va3MvdXNlU3R5bGVTZXRDbGFzc05hbWVzJztcblxuY29uc3QgQmFzaWNGaWxtID0gKHsgY2hpbGRyZW4sIGNsYXNzTmFtZSB9KSA9PiB7XG4gIGNvbnN0IFtkaXJdID0gdXNlRGlyKCk7XG4gIGNvbnN0IFtoZWlnaHRdID0gdXNlSGVpZ2h0KCk7XG4gIGNvbnN0IFtudW1JdGVtc10gPSB1c2VOdW1JdGVtcygpO1xuICBjb25zdCBbc2Nyb2xsQmFyV2lkdGhdID0gdXNlU2Nyb2xsQmFyV2lkdGgoKTtcbiAgY29uc3QgW3Njcm9sbGluZ10gPSB1c2VTY3JvbGxpbmcoKTtcbiAgY29uc3QgW3sgcm9vdDogcm9vdENsYXNzTmFtZSB9XSA9IHVzZVN0eWxlU2V0Q2xhc3NOYW1lcygpO1xuICBjb25zdCBbXG4gICAge1xuICAgICAgZmxpcHBlckJsdXJGb2N1c09uQ2xpY2ssXG4gICAgICBsZWZ0RmxpcHBlckFyaWFMYWJlbCxcbiAgICAgIGxlZnRGbGlwcGVyVGV4dCxcbiAgICAgIHJpZ2h0RmxpcHBlckFyaWFMYWJlbCxcbiAgICAgIHJpZ2h0RmxpcHBlclRleHQsXG4gICAgICBzaG93RG90cyxcbiAgICAgIHNob3dGbGlwcGVyLFxuICAgICAgc2hvd1Njcm9sbEJhclxuICAgIH1cbiAgXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuXG4gIGNvbnN0IGNvbnRlbnRTdHlsZSA9IHVzZU1lbW8oKCkgPT4gKHsgaGVpZ2h0IH0pLCBbaGVpZ2h0XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhyb290Q2xhc3NOYW1lLCAoY2xhc3NOYW1lIHx8ICcnKSArICcnKX0gZGlyPXtkaXJ9PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoJ3JlYWN0LWZpbG1fX21haW4nLCB7ICdyZWFjdC1maWxtX19tYWluLS1zY3JvbGxpbmcnOiBzY3JvbGxpbmcgfSl9XG4gICAgICAgIHN0eWxlPXtjb250ZW50U3R5bGV9XG4gICAgICA+XG4gICAgICAgIHshIW51bUl0ZW1zICYmIHNjcm9sbEJhcldpZHRoICE9PSAnMTAwJScgJiYgISFzaG93RmxpcHBlciAmJiAoXG4gICAgICAgICAgPEZsaXBwZXIgYXJpYS1sYWJlbD17bGVmdEZsaXBwZXJBcmlhTGFiZWx9IGJsdXJGb2N1c09uQ2xpY2s9e2ZsaXBwZXJCbHVyRm9jdXNPbkNsaWNrfSBtb2RlPVwibGVmdFwiPlxuICAgICAgICAgICAge2xlZnRGbGlwcGVyVGV4dH1cbiAgICAgICAgICA8L0ZsaXBwZXI+XG4gICAgICAgICl9XG4gICAgICAgIDxGaWxtc3RyaXA+e2NoaWxkcmVufTwvRmlsbXN0cmlwPlxuICAgICAgICB7ISFudW1JdGVtcyAmJiBzY3JvbGxCYXJXaWR0aCAhPT0gJzEwMCUnICYmICEhc2hvd0ZsaXBwZXIgJiYgKFxuICAgICAgICAgIDxGbGlwcGVyIGFyaWEtbGFiZWw9e3JpZ2h0RmxpcHBlckFyaWFMYWJlbH0gYmx1ckZvY3VzT25DbGljaz17ZmxpcHBlckJsdXJGb2N1c09uQ2xpY2t9IG1vZGU9XCJyaWdodFwiPlxuICAgICAgICAgICAge3JpZ2h0RmxpcHBlclRleHR9XG4gICAgICAgICAgPC9GbGlwcGVyPlxuICAgICAgICApfVxuICAgICAgICB7ISFudW1JdGVtcyAmJiBzY3JvbGxCYXJXaWR0aCAhPT0gJzEwMCUnICYmICEhc2hvd1Njcm9sbEJhciAmJiA8U2Nyb2xsQmFyIC8+fVxuICAgICAgPC9kaXY+XG4gICAgICB7ISFudW1JdGVtcyAmJiBzY3JvbGxCYXJXaWR0aCAhPT0gJzEwMCUnICYmICEhc2hvd0RvdHMgJiYgPERvdHMgLz59XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG4vLyBUT0RPOiBNb3ZlIGZyb20gc3R5bGVTZXQgdG8gc3R5bGVTaGVldC5cblxuQmFzaWNGaWxtLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWRcbn07XG5cbkJhc2ljRmlsbS5wcm9wVHlwZXMgPSB7XG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEJhc2ljRmlsbTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLFVBQVUsTUFBTSxZQUFZO0FBQ25DLE9BQU9DLFNBQVMsTUFBTSxZQUFZO0FBQ2xDLE9BQU9DLEtBQUssSUFBSUMsT0FBTyxRQUFRLE9BQU87QUFFdEMsT0FBT0MsSUFBSSxNQUFNLFFBQVE7QUFDekIsT0FBT0MsU0FBUyxNQUFNLGFBQWE7QUFDbkMsT0FBT0MsT0FBTyxNQUFNLFdBQVc7QUFDL0IsT0FBT0MsU0FBUyxNQUFNLGFBQWE7QUFDbkMsT0FBT0MsTUFBTSxNQUFNLGdCQUFnQjtBQUNuQyxPQUFPQyxTQUFTLE1BQU0sbUJBQW1CO0FBQ3pDLE9BQU9DLFdBQVcsTUFBTSxxQkFBcUI7QUFDN0MsT0FBT0MsaUJBQWlCLE1BQU0sMkJBQTJCO0FBQ3pELE9BQU9DLFlBQVksTUFBTSxzQkFBc0I7QUFDL0MsT0FBT0MsZUFBZSxNQUFNLHlCQUF5QjtBQUNyRCxPQUFPQyxxQkFBcUIsTUFBTSwrQkFBK0I7QUFFakUsSUFBTUMsU0FBUyxHQUFHLFNBQVpBLFNBQVMsT0FBZ0M7RUFBQSxJQUExQkMsUUFBUSxRQUFSQSxRQUFRO0lBQUVDLFNBQVMsUUFBVEEsU0FBUztFQUN0QyxjQUFjVCxNQUFNLEVBQUU7SUFBQTtJQUFmVSxHQUFHO0VBQ1YsaUJBQWlCVCxTQUFTLEVBQUU7SUFBQTtJQUFyQlUsTUFBTTtFQUNiLG1CQUFtQlQsV0FBVyxFQUFFO0lBQUE7SUFBekJVLFFBQVE7RUFDZix5QkFBeUJULGlCQUFpQixFQUFFO0lBQUE7SUFBckNVLGNBQWM7RUFDckIsb0JBQW9CVCxZQUFZLEVBQUU7SUFBQTtJQUEzQlUsU0FBUztFQUNoQiw0QkFBa0NSLHFCQUFxQixFQUFFO0lBQUE7SUFBMUNTLGFBQWEsNkJBQW5CQyxJQUFJO0VBQ2IsdUJBV0lYLGVBQWUsRUFBRTtJQUFBO0lBQUE7SUFUakJZLHVCQUF1QixzQkFBdkJBLHVCQUF1QjtJQUN2QkMsb0JBQW9CLHNCQUFwQkEsb0JBQW9CO0lBQ3BCQyxlQUFlLHNCQUFmQSxlQUFlO0lBQ2ZDLHFCQUFxQixzQkFBckJBLHFCQUFxQjtJQUNyQkMsZ0JBQWdCLHNCQUFoQkEsZ0JBQWdCO0lBQ2hCQyxRQUFRLHNCQUFSQSxRQUFRO0lBQ1JDLFdBQVcsc0JBQVhBLFdBQVc7SUFDWEMsYUFBYSxzQkFBYkEsYUFBYTtFQUlqQixJQUFNQyxZQUFZLEdBQUc5QixPQUFPLENBQUM7SUFBQSxPQUFPO01BQUVnQixNQUFNLEVBQU5BO0lBQU8sQ0FBQztFQUFBLENBQUMsRUFBRSxDQUFDQSxNQUFNLENBQUMsQ0FBQztFQUUxRCxvQkFDRTtJQUFLLFNBQVMsRUFBRW5CLFVBQVUsQ0FBQ3VCLGFBQWEsRUFBRSxDQUFDTixTQUFTLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBRTtJQUFDLEdBQUcsRUFBRUM7RUFBSSxnQkFDMUU7SUFDRSxTQUFTLEVBQUVsQixVQUFVLENBQUMsa0JBQWtCLEVBQUU7TUFBRSw2QkFBNkIsRUFBRXNCO0lBQVUsQ0FBQyxDQUFFO0lBQ3hGLEtBQUssRUFBRVc7RUFBYSxHQUVuQixDQUFDLENBQUNiLFFBQVEsSUFBSUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUNVLFdBQVcsaUJBQ3ZELG9CQUFDLE9BQU87SUFBQyxjQUFZTCxvQkFBcUI7SUFBQyxnQkFBZ0IsRUFBRUQsdUJBQXdCO0lBQUMsSUFBSSxFQUFDO0VBQU0sR0FDOUZFLGVBQWUsQ0FFbkIsZUFDRCxvQkFBQyxTQUFTLFFBQUVYLFFBQVEsQ0FBYSxFQUNoQyxDQUFDLENBQUNJLFFBQVEsSUFBSUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUNVLFdBQVcsaUJBQ3ZELG9CQUFDLE9BQU87SUFBQyxjQUFZSCxxQkFBc0I7SUFBQyxnQkFBZ0IsRUFBRUgsdUJBQXdCO0lBQUMsSUFBSSxFQUFDO0VBQU8sR0FDaEdJLGdCQUFnQixDQUVwQixFQUNBLENBQUMsQ0FBQ1QsUUFBUSxJQUFJQyxjQUFjLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQ1csYUFBYSxpQkFBSSxvQkFBQyxTQUFTLE9BQUcsQ0FDeEUsRUFDTCxDQUFDLENBQUNaLFFBQVEsSUFBSUMsY0FBYyxLQUFLLE1BQU0sSUFBSSxDQUFDLENBQUNTLFFBQVEsaUJBQUksb0JBQUMsSUFBSSxPQUFHLENBQzlEO0FBRVYsQ0FBQzs7QUFFRDs7QUFFQWYsU0FBUyxDQUFDbUIsWUFBWSxHQUFHO0VBQ3ZCbEIsUUFBUSxFQUFFbUIsU0FBUztFQUNuQmxCLFNBQVMsRUFBRWtCO0FBQ2IsQ0FBQztBQUVEcEIsU0FBUyxDQUFDcUIsU0FBUyxHQUFHO0VBQ3BCcEIsUUFBUSxFQUFFZixTQUFTLENBQUNvQyxHQUFHO0VBQ3ZCcEIsU0FBUyxFQUFFaEIsU0FBUyxDQUFDcUM7QUFDdkIsQ0FBQztBQUVELGVBQWV2QixTQUFTIn0=","import usePropsContext from './internal/usePropsContext';\nexport default function useHeight() {\n var _usePropsContext = usePropsContext(),\n height = _usePropsContext.height;\n return [height];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VQcm9wc0NvbnRleHQiLCJ1c2VIZWlnaHQiLCJoZWlnaHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlSGVpZ2h0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VQcm9wc0NvbnRleHQgZnJvbSAnLi9pbnRlcm5hbC91c2VQcm9wc0NvbnRleHQnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VIZWlnaHQoKSB7XG4gIGNvbnN0IHsgaGVpZ2h0IH0gPSB1c2VQcm9wc0NvbnRleHQoKTtcblxuICByZXR1cm4gW2hlaWdodF07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGVBQWUsTUFBTSw0QkFBNEI7QUFFeEQsZUFBZSxTQUFTQyxTQUFTLEdBQUc7RUFDbEMsdUJBQW1CRCxlQUFlLEVBQUU7SUFBNUJFLE1BQU0sb0JBQU5BLE1BQU07RUFFZCxPQUFPLENBQUNBLE1BQU0sQ0FBQztBQUNqQiJ9","import useAutoCenter from './hooks/internal/useAutoCenter';\nvar AutoCenter = function AutoCenter() {\n useAutoCenter();\n return false;\n};\nexport default AutoCenter;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VBdXRvQ2VudGVyIiwiQXV0b0NlbnRlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdXRvQ2VudGVyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VBdXRvQ2VudGVyIGZyb20gJy4vaG9va3MvaW50ZXJuYWwvdXNlQXV0b0NlbnRlcic7XG5cbmNvbnN0IEF1dG9DZW50ZXIgPSAoKSA9PiB7XG4gIHVzZUF1dG9DZW50ZXIoKTtcblxuICByZXR1cm4gZmFsc2U7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBdXRvQ2VudGVyO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxhQUFhLE1BQU0sZ0NBQWdDO0FBRTFELElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVLEdBQVM7RUFDdkJELGFBQWEsRUFBRTtFQUVmLE9BQU8sS0FBSztBQUNkLENBQUM7QUFFRCxlQUFlQyxVQUFVIn0=","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport { useCallback } from 'react';\nimport useScrolling from '../useScrolling';\nimport useScrollTo from '../useScrollTo';\nimport useStyleOptions from '../useStyleOptions';\nimport useTimeout from './useTimeout';\nexport default function useAutoCenter() {\n var _useStyleOptions = useStyleOptions(),\n _useStyleOptions2 = _slicedToArray(_useStyleOptions, 1),\n autoCenter = _useStyleOptions2[0].autoCenter;\n var _useScrolling = useScrolling(),\n _useScrolling2 = _slicedToArray(_useScrolling, 1),\n scrolling = _useScrolling2[0];\n var scrollTo = useScrollTo();\n var handleTrigger = useCallback(function () {\n return scrollTo(function (_ref) {\n var index = _ref.index;\n return index;\n });\n }, [scrollTo]);\n useTimeout(!autoCenter || scrolling ? undefined : handleTrigger, 0);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVNjcm9sbGluZyIsInVzZVNjcm9sbFRvIiwidXNlU3R5bGVPcHRpb25zIiwidXNlVGltZW91dCIsInVzZUF1dG9DZW50ZXIiLCJhdXRvQ2VudGVyIiwic2Nyb2xsaW5nIiwic2Nyb2xsVG8iLCJoYW5kbGVUcmlnZ2VyIiwiaW5kZXgiLCJ1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaG9va3MvaW50ZXJuYWwvdXNlQXV0b0NlbnRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZVNjcm9sbGluZyBmcm9tICcuLi91c2VTY3JvbGxpbmcnO1xuaW1wb3J0IHVzZVNjcm9sbFRvIGZyb20gJy4uL3VzZVNjcm9sbFRvJztcbmltcG9ydCB1c2VTdHlsZU9wdGlvbnMgZnJvbSAnLi4vdXNlU3R5bGVPcHRpb25zJztcbmltcG9ydCB1c2VUaW1lb3V0IGZyb20gJy4vdXNlVGltZW91dCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUF1dG9DZW50ZXIoKSB7XG4gIGNvbnN0IFt7IGF1dG9DZW50ZXIgfV0gPSB1c2VTdHlsZU9wdGlvbnMoKTtcbiAgY29uc3QgW3Njcm9sbGluZ10gPSB1c2VTY3JvbGxpbmcoKTtcbiAgY29uc3Qgc2Nyb2xsVG8gPSB1c2VTY3JvbGxUbygpO1xuXG4gIGNvbnN0IGhhbmRsZVRyaWdnZXIgPSB1c2VDYWxsYmFjaygoKSA9PiBzY3JvbGxUbygoeyBpbmRleCB9KSA9PiBpbmRleCksIFtzY3JvbGxUb10pO1xuXG4gIHVzZVRpbWVvdXQoIWF1dG9DZW50ZXIgfHwgc2Nyb2xsaW5nID8gdW5kZWZpbmVkIDogaGFuZGxlVHJpZ2dlciwgMCk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxXQUFXLFFBQVEsT0FBTztBQUVuQyxPQUFPQyxZQUFZLE1BQU0saUJBQWlCO0FBQzFDLE9BQU9DLFdBQVcsTUFBTSxnQkFBZ0I7QUFDeEMsT0FBT0MsZUFBZSxNQUFNLG9CQUFvQjtBQUNoRCxPQUFPQyxVQUFVLE1BQU0sY0FBYztBQUVyQyxlQUFlLFNBQVNDLGFBQWEsR0FBRztFQUN0Qyx1QkFBeUJGLGVBQWUsRUFBRTtJQUFBO0lBQWpDRyxVQUFVLHdCQUFWQSxVQUFVO0VBQ25CLG9CQUFvQkwsWUFBWSxFQUFFO0lBQUE7SUFBM0JNLFNBQVM7RUFDaEIsSUFBTUMsUUFBUSxHQUFHTixXQUFXLEVBQUU7RUFFOUIsSUFBTU8sYUFBYSxHQUFHVCxXQUFXLENBQUM7SUFBQSxPQUFNUSxRQUFRLENBQUM7TUFBQSxJQUFHRSxLQUFLLFFBQUxBLEtBQUs7TUFBQSxPQUFPQSxLQUFLO0lBQUEsRUFBQztFQUFBLEdBQUUsQ0FBQ0YsUUFBUSxDQUFDLENBQUM7RUFFbkZKLFVBQVUsQ0FBQyxDQUFDRSxVQUFVLElBQUlDLFNBQVMsR0FBR0ksU0FBUyxHQUFHRixhQUFhLEVBQUUsQ0FBQyxDQUFDO0FBQ3JFIn0=","import _setTimeout from \"@babel/runtime-corejs3/core-js-stable/set-timeout\";\nimport { useEffect } from 'react';\nexport default function useTimeout(onTrigger, duration) {\n useEffect(function () {\n if (onTrigger) {\n var timeout = _setTimeout(onTrigger, duration);\n return function () {\n return clearTimeout(timeout);\n };\n }\n }, [duration, onTrigger]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VUaW1lb3V0Iiwib25UcmlnZ2VyIiwiZHVyYXRpb24iLCJ0aW1lb3V0IiwiY2xlYXJUaW1lb3V0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZVRpbWVvdXQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VUaW1lb3V0KG9uVHJpZ2dlciwgZHVyYXRpb24pIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25UcmlnZ2VyKSB7XG4gICAgICBjb25zdCB0aW1lb3V0ID0gc2V0VGltZW91dChvblRyaWdnZXIsIGR1cmF0aW9uKTtcblxuICAgICAgcmV0dXJuICgpID0+IGNsZWFyVGltZW91dCh0aW1lb3V0KTtcbiAgICB9XG4gIH0sIFtkdXJhdGlvbiwgb25UcmlnZ2VyXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLFFBQVEsT0FBTztBQUVqQyxlQUFlLFNBQVNDLFVBQVUsQ0FBQ0MsU0FBUyxFQUFFQyxRQUFRLEVBQUU7RUFDdERILFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSUUsU0FBUyxFQUFFO01BQ2IsSUFBTUUsT0FBTyxHQUFHLFlBQVdGLFNBQVMsRUFBRUMsUUFBUSxDQUFDO01BRS9DLE9BQU87UUFBQSxPQUFNRSxZQUFZLENBQUNELE9BQU8sQ0FBQztNQUFBO0lBQ3BDO0VBQ0YsQ0FBQyxFQUFFLENBQUNELFFBQVEsRUFBRUQsU0FBUyxDQUFDLENBQUM7QUFDM0IifQ==","var DOT_BOX_SIZE = 20;\nvar DOT_SIZE = 6;\nvar FLIPPER_BOX_WIDTH = 60;\nvar FLIPPER_SIZE = 40;\nvar SCROLL_BAR_HEIGHT = 8;\nvar SCROLL_BAR_MARGIN = 4;\nexport default function normalizeStyleOptions() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n autoCenter = _ref.autoCenter,\n autoHide = _ref.autoHide,\n autoHideFlipperOnEdge = _ref.autoHideFlipperOnEdge,\n cursor = _ref.cursor,\n dir = _ref.dir,\n dotBoxSize = _ref.dotBoxSize,\n dotSize = _ref.dotSize,\n flipperBlurFocusOnClick = _ref.flipperBlurFocusOnClick,\n flipperBoxWidth = _ref.flipperBoxWidth,\n flipperSize = _ref.flipperSize,\n leftFlipperAriaLabel = _ref.leftFlipperAriaLabel,\n leftFlipperText = _ref.leftFlipperText,\n rightFlipperAriaLabel = _ref.rightFlipperAriaLabel,\n rightFlipperText = _ref.rightFlipperText,\n scrollBarHeight = _ref.scrollBarHeight,\n scrollBarMargin = _ref.scrollBarMargin,\n showDots = _ref.showDots,\n showFlipper = _ref.showFlipper,\n showScrollBar = _ref.showScrollBar;\n var rtl = dir === 'rtl';\n return {\n autoCenter: autoCenter !== false,\n autoHide: autoHide !== false,\n autoHideFlipperOnEdge: autoHideFlipperOnEdge !== false,\n cursor: typeof cursor === 'undefined' ? 'pointer' : cursor,\n dotBoxSize: typeof dotBoxSize === 'number' ? dotBoxSize : DOT_BOX_SIZE,\n dotSize: typeof dotSize === 'number' ? dotSize : DOT_SIZE,\n flipperBlurFocusOnClick: flipperBlurFocusOnClick === true,\n flipperBoxWidth: typeof flipperBoxWidth === 'number' ? flipperBoxWidth : FLIPPER_BOX_WIDTH,\n flipperSize: typeof flipperSize === 'number' ? flipperSize : FLIPPER_SIZE,\n leftFlipperAriaLabel: leftFlipperAriaLabel || 'left',\n leftFlipperText: leftFlipperText || (rtl ? '>' : '<'),\n rightFlipperAriaLabel: rightFlipperAriaLabel || 'right',\n rightFlipperText: rightFlipperText || (rtl ? '<' : '>'),\n scrollBarHeight: typeof scrollBarHeight === 'number' ? scrollBarHeight : SCROLL_BAR_HEIGHT,\n scrollBarMargin: typeof scrollBarMargin === 'number' ? scrollBarMargin : SCROLL_BAR_MARGIN,\n showDots: showDots !== false,\n showFlipper: showFlipper !== false,\n showScrollBar: showScrollBar !== false\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJET1RfQk9YX1NJWkUiLCJET1RfU0laRSIsIkZMSVBQRVJfQk9YX1dJRFRIIiwiRkxJUFBFUl9TSVpFIiwiU0NST0xMX0JBUl9IRUlHSFQiLCJTQ1JPTExfQkFSX01BUkdJTiIsIm5vcm1hbGl6ZVN0eWxlT3B0aW9ucyIsImF1dG9DZW50ZXIiLCJhdXRvSGlkZSIsImF1dG9IaWRlRmxpcHBlck9uRWRnZSIsImN1cnNvciIsImRpciIsImRvdEJveFNpemUiLCJkb3RTaXplIiwiZmxpcHBlckJsdXJGb2N1c09uQ2xpY2siLCJmbGlwcGVyQm94V2lkdGgiLCJmbGlwcGVyU2l6ZSIsImxlZnRGbGlwcGVyQXJpYUxhYmVsIiwibGVmdEZsaXBwZXJUZXh0IiwicmlnaHRGbGlwcGVyQXJpYUxhYmVsIiwicmlnaHRGbGlwcGVyVGV4dCIsInNjcm9sbEJhckhlaWdodCIsInNjcm9sbEJhck1hcmdpbiIsInNob3dEb3RzIiwic2hvd0ZsaXBwZXIiLCJzaG93U2Nyb2xsQmFyIiwicnRsIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3BhdGNoU3R5bGVPcHRpb25zLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IERPVF9CT1hfU0laRSA9IDIwO1xuY29uc3QgRE9UX1NJWkUgPSA2O1xuXG5jb25zdCBGTElQUEVSX0JPWF9XSURUSCA9IDYwO1xuY29uc3QgRkxJUFBFUl9TSVpFID0gNDA7XG5cbmNvbnN0IFNDUk9MTF9CQVJfSEVJR0hUID0gODtcbmNvbnN0IFNDUk9MTF9CQVJfTUFSR0lOID0gNDtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbm9ybWFsaXplU3R5bGVPcHRpb25zKHtcbiAgYXV0b0NlbnRlcixcbiAgYXV0b0hpZGUsXG4gIGF1dG9IaWRlRmxpcHBlck9uRWRnZSxcbiAgY3Vyc29yLFxuICBkaXIsXG4gIGRvdEJveFNpemUsXG4gIGRvdFNpemUsXG4gIGZsaXBwZXJCbHVyRm9jdXNPbkNsaWNrLFxuICBmbGlwcGVyQm94V2lkdGgsXG4gIGZsaXBwZXJTaXplLFxuICBsZWZ0RmxpcHBlckFyaWFMYWJlbCxcbiAgbGVmdEZsaXBwZXJUZXh0LFxuICByaWdodEZsaXBwZXJBcmlhTGFiZWwsXG4gIHJpZ2h0RmxpcHBlclRleHQsXG4gIHNjcm9sbEJhckhlaWdodCxcbiAgc2Nyb2xsQmFyTWFyZ2luLFxuICBzaG93RG90cyxcbiAgc2hvd0ZsaXBwZXIsXG4gIHNob3dTY3JvbGxCYXJcbn0gPSB7fSkge1xuICBjb25zdCBydGwgPSBkaXIgPT09ICdydGwnO1xuXG4gIHJldHVybiB7XG4gICAgYXV0b0NlbnRlcjogYXV0b0NlbnRlciAhPT0gZmFsc2UsXG4gICAgYXV0b0hpZGU6IGF1dG9IaWRlICE9PSBmYWxzZSxcbiAgICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2U6IGF1dG9IaWRlRmxpcHBlck9uRWRnZSAhPT0gZmFsc2UsXG4gICAgY3Vyc29yOiB0eXBlb2YgY3Vyc29yID09PSAndW5kZWZpbmVkJyA/ICdwb2ludGVyJyA6IGN1cnNvcixcbiAgICBkb3RCb3hTaXplOiB0eXBlb2YgZG90Qm94U2l6ZSA9PT0gJ251bWJlcicgPyBkb3RCb3hTaXplIDogRE9UX0JPWF9TSVpFLFxuICAgIGRvdFNpemU6IHR5cGVvZiBkb3RTaXplID09PSAnbnVtYmVyJyA/IGRvdFNpemUgOiBET1RfU0laRSxcbiAgICBmbGlwcGVyQmx1ckZvY3VzT25DbGljazogZmxpcHBlckJsdXJGb2N1c09uQ2xpY2sgPT09IHRydWUsXG4gICAgZmxpcHBlckJveFdpZHRoOiB0eXBlb2YgZmxpcHBlckJveFdpZHRoID09PSAnbnVtYmVyJyA/IGZsaXBwZXJCb3hXaWR0aCA6IEZMSVBQRVJfQk9YX1dJRFRILFxuICAgIGZsaXBwZXJTaXplOiB0eXBlb2YgZmxpcHBlclNpemUgPT09ICdudW1iZXInID8gZmxpcHBlclNpemUgOiBGTElQUEVSX1NJWkUsXG4gICAgbGVmdEZsaXBwZXJBcmlhTGFiZWw6IGxlZnRGbGlwcGVyQXJpYUxhYmVsIHx8ICdsZWZ0JyxcbiAgICBsZWZ0RmxpcHBlclRleHQ6IGxlZnRGbGlwcGVyVGV4dCB8fCAocnRsID8gJz4nIDogJzwnKSxcbiAgICByaWdodEZsaXBwZXJBcmlhTGFiZWw6IHJpZ2h0RmxpcHBlckFyaWFMYWJlbCB8fCAncmlnaHQnLFxuICAgIHJpZ2h0RmxpcHBlclRleHQ6IHJpZ2h0RmxpcHBlclRleHQgfHwgKHJ0bCA/ICc8JyA6ICc+JyksXG4gICAgc2Nyb2xsQmFySGVpZ2h0OiB0eXBlb2Ygc2Nyb2xsQmFySGVpZ2h0ID09PSAnbnVtYmVyJyA/IHNjcm9sbEJhckhlaWdodCA6IFNDUk9MTF9CQVJfSEVJR0hULFxuICAgIHNjcm9sbEJhck1hcmdpbjogdHlwZW9mIHNjcm9sbEJhck1hcmdpbiA9PT0gJ251bWJlcicgPyBzY3JvbGxCYXJNYXJnaW4gOiBTQ1JPTExfQkFSX01BUkdJTixcbiAgICBzaG93RG90czogc2hvd0RvdHMgIT09IGZhbHNlLFxuICAgIHNob3dGbGlwcGVyOiBzaG93RmxpcHBlciAhPT0gZmFsc2UsXG4gICAgc2hvd1Njcm9sbEJhcjogc2hvd1Njcm9sbEJhciAhPT0gZmFsc2VcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTUEsWUFBWSxHQUFHLEVBQUU7QUFDdkIsSUFBTUMsUUFBUSxHQUFHLENBQUM7QUFFbEIsSUFBTUMsaUJBQWlCLEdBQUcsRUFBRTtBQUM1QixJQUFNQyxZQUFZLEdBQUcsRUFBRTtBQUV2QixJQUFNQyxpQkFBaUIsR0FBRyxDQUFDO0FBQzNCLElBQU1DLGlCQUFpQixHQUFHLENBQUM7QUFFM0IsZUFBZSxTQUFTQyxxQkFBcUIsR0FvQnJDO0VBQUEsK0VBQUosQ0FBQyxDQUFDO0lBbkJKQyxVQUFVLFFBQVZBLFVBQVU7SUFDVkMsUUFBUSxRQUFSQSxRQUFRO0lBQ1JDLHFCQUFxQixRQUFyQkEscUJBQXFCO0lBQ3JCQyxNQUFNLFFBQU5BLE1BQU07SUFDTkMsR0FBRyxRQUFIQSxHQUFHO0lBQ0hDLFVBQVUsUUFBVkEsVUFBVTtJQUNWQyxPQUFPLFFBQVBBLE9BQU87SUFDUEMsdUJBQXVCLFFBQXZCQSx1QkFBdUI7SUFDdkJDLGVBQWUsUUFBZkEsZUFBZTtJQUNmQyxXQUFXLFFBQVhBLFdBQVc7SUFDWEMsb0JBQW9CLFFBQXBCQSxvQkFBb0I7SUFDcEJDLGVBQWUsUUFBZkEsZUFBZTtJQUNmQyxxQkFBcUIsUUFBckJBLHFCQUFxQjtJQUNyQkMsZ0JBQWdCLFFBQWhCQSxnQkFBZ0I7SUFDaEJDLGVBQWUsUUFBZkEsZUFBZTtJQUNmQyxlQUFlLFFBQWZBLGVBQWU7SUFDZkMsUUFBUSxRQUFSQSxRQUFRO0lBQ1JDLFdBQVcsUUFBWEEsV0FBVztJQUNYQyxhQUFhLFFBQWJBLGFBQWE7RUFFYixJQUFNQyxHQUFHLEdBQUdmLEdBQUcsS0FBSyxLQUFLO0VBRXpCLE9BQU87SUFDTEosVUFBVSxFQUFFQSxVQUFVLEtBQUssS0FBSztJQUNoQ0MsUUFBUSxFQUFFQSxRQUFRLEtBQUssS0FBSztJQUM1QkMscUJBQXFCLEVBQUVBLHFCQUFxQixLQUFLLEtBQUs7SUFDdERDLE1BQU0sRUFBRSxPQUFPQSxNQUFNLEtBQUssV0FBVyxHQUFHLFNBQVMsR0FBR0EsTUFBTTtJQUMxREUsVUFBVSxFQUFFLE9BQU9BLFVBQVUsS0FBSyxRQUFRLEdBQUdBLFVBQVUsR0FBR1osWUFBWTtJQUN0RWEsT0FBTyxFQUFFLE9BQU9BLE9BQU8sS0FBSyxRQUFRLEdBQUdBLE9BQU8sR0FBR1osUUFBUTtJQUN6RGEsdUJBQXVCLEVBQUVBLHVCQUF1QixLQUFLLElBQUk7SUFDekRDLGVBQWUsRUFBRSxPQUFPQSxlQUFlLEtBQUssUUFBUSxHQUFHQSxlQUFlLEdBQUdiLGlCQUFpQjtJQUMxRmMsV0FBVyxFQUFFLE9BQU9BLFdBQVcsS0FBSyxRQUFRLEdBQUdBLFdBQVcsR0FBR2IsWUFBWTtJQUN6RWMsb0JBQW9CLEVBQUVBLG9CQUFvQixJQUFJLE1BQU07SUFDcERDLGVBQWUsRUFBRUEsZUFBZSxLQUFLUSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNyRFAscUJBQXFCLEVBQUVBLHFCQUFxQixJQUFJLE9BQU87SUFDdkRDLGdCQUFnQixFQUFFQSxnQkFBZ0IsS0FBS00sR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUM7SUFDdkRMLGVBQWUsRUFBRSxPQUFPQSxlQUFlLEtBQUssUUFBUSxHQUFHQSxlQUFlLEdBQUdqQixpQkFBaUI7SUFDMUZrQixlQUFlLEVBQUUsT0FBT0EsZUFBZSxLQUFLLFFBQVEsR0FBR0EsZUFBZSxHQUFHakIsaUJBQWlCO0lBQzFGa0IsUUFBUSxFQUFFQSxRQUFRLEtBQUssS0FBSztJQUM1QkMsV0FBVyxFQUFFQSxXQUFXLEtBQUssS0FBSztJQUNsQ0MsYUFBYSxFQUFFQSxhQUFhLEtBQUs7RUFDbkMsQ0FBQztBQUNIIn0=","import _defineProperty from \"@babel/runtime-corejs3/helpers/defineProperty\";\nimport _objectSpread from \"@babel/runtime-corejs3/helpers/objectSpread2\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\n/* eslint no-magic-numbers: \"off\" */\n\nimport patchStyleOptions from './patchStyleOptions';\nvar createDotsStyle = function createDotsStyle(_ref) {\n var dotBoxSize = _ref.dotBoxSize;\n return {\n '& .react-film__dots': {\n alignItems: 'center',\n bottom: 0,\n display: 'flex',\n height: dotBoxSize,\n justifyContent: 'center',\n listStyleType: 'none',\n margin: 0,\n padding: 0,\n width: '100%'\n }\n };\n};\nvar createDotStyle = function createDotStyle(_ref2) {\n var cursor = _ref2.cursor,\n dotBoxSize = _ref2.dotBoxSize,\n dotSize = _ref2.dotSize;\n return {\n '& .react-film__dot': {\n alignItems: 'center',\n display: 'flex',\n height: dotBoxSize,\n justifyContent: 'center',\n position: 'relative',\n width: dotBoxSize,\n '& .react-film__dot__input': _objectSpread(_objectSpread({}, cursor ? {\n cursor: cursor\n } : {}), {}, {\n height: '100%',\n left: 0,\n margin: 0,\n opacity: 0,\n position: 'absolute',\n top: 0,\n touchAction: 'none',\n userSelect: 'none',\n width: '100%'\n }),\n '& .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .2)',\n borderRadius: dotSize / 2,\n height: dotSize,\n width: dotSize\n },\n '&:hover .react-film__dot__handle, & .react-film__dot__input:focus + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .4)'\n },\n '& .react-film__dot__input:active + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .8)'\n },\n '& .react-film__dot__input:checked:not(:active) + .react-film__dot__handle': {\n background: 'rgba(0, 0, 0, .6)'\n }\n }\n };\n};\nvar createFlipperStyle = function createFlipperStyle(_ref3) {\n var _context;\n var cursor = _ref3.cursor,\n flipperBoxWidth = _ref3.flipperBoxWidth,\n flipperSize = _ref3.flipperSize;\n return {\n '& .react-film__flipper': _objectSpread(_objectSpread({}, cursor ? {\n cursor: cursor\n } : {}), {}, {\n background: 'Transparent',\n border: 0,\n height: '100%',\n outline: 0,\n overflow: 'hidden',\n position: 'absolute',\n top: 0,\n touchAction: 'none',\n userSelect: 'none',\n width: flipperBoxWidth,\n zIndex: 1,\n '&.react-film__flipper--left': {\n left: 0,\n '& .react-film__flipper__slider': {\n left: 0\n }\n },\n '&.react-film__flipper--right': {\n right: 0,\n '& .react-film__flipper__slider': {\n right: 0\n }\n },\n '& .react-film__flipper__slider': {\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n position: 'absolute',\n top: 0,\n width: '100%'\n },\n '& .react-film__flipper__body': {\n backgroundColor: 'rgba(0, 0, 0, .6)',\n borderRadius: '50%',\n color: 'rgba(255, 255, 255, .6)',\n fontFamily: _mapInstanceProperty(_context = ['Consolas', 'monospace']).call(_context, function (font) {\n return \"'\".concat(font, \"'\");\n }).join(', '),\n fontSize: 16,\n height: flipperSize,\n lineHeight: \"\".concat(flipperSize, \"px\"),\n overflow: 'hidden',\n position: 'relative',\n transitionDuration: '100ms',\n transitionProperty: 'background-color',\n width: flipperSize\n },\n '&:hover, &:focus': {\n '& .react-film__flipper__body': {\n backgroundColor: 'rgba(0, 0, 0, .8)',\n color: 'rgba(255, 255, 255, .8)',\n transitionDuration: 0\n }\n },\n '&:active .react-film__flipper__body': {\n backgroundColor: 'Black',\n color: 'White',\n transitionDuration: 0\n }\n })\n };\n};\nvar createFilmstripStyle = function createFilmstripStyle() {\n return {\n '& .react-film__filmstrip': {\n MsOverflowStyle: 'none',\n overflowX: 'scroll',\n overflowY: 'hidden',\n overscrollBehaviorX: 'contain',\n position: 'relative',\n touchAction: 'manipulation',\n zIndex: 0,\n '&::-webkit-scrollbar': {\n display: 'none'\n },\n '& .react-film__filmstrip__list': {\n display: 'flex',\n listStyleType: 'none',\n margin: 0,\n padding: 0\n }\n }\n };\n};\nvar createScrollBarStyle = function createScrollBarStyle(_ref4) {\n var autoHide = _ref4.autoHide,\n scrollBarHeight = _ref4.scrollBarHeight,\n scrollBarMargin = _ref4.scrollBarMargin;\n return {\n '& .react-film__scroll-bar': {\n bottom: autoHide ? -30 : 0,\n boxSizing: 'border-box',\n padding: scrollBarMargin,\n position: 'absolute',\n transitionDelay: '1s',\n transitionDuration: '300ms',\n transitionProperty: 'bottom',\n width: '100%',\n '& .react-film__scroll-bar__handle': {\n backdropFilter: 'blur(4px)',\n background: 'rgba(255, 255, 255, .4)',\n borderRadius: scrollBarHeight / 2,\n height: scrollBarHeight\n }\n }\n };\n};\nvar createRootStyle = function createRootStyle(_ref5) {\n var autoHide = _ref5.autoHide,\n autoHideFlipperOnEdge = _ref5.autoHideFlipperOnEdge,\n flipperBoxWidth = _ref5.flipperBoxWidth,\n flipperSize = _ref5.flipperSize;\n return {\n '& .react-film__main': _objectSpread({\n overflow: 'hidden',\n position: 'relative'\n }, autoHide ? {\n '&:hover, &.react-film__main--scrolling': {\n '& .react-film__main__slider': {\n transitionDelay: '0s',\n '&.react-film__main__slider--bottom': {\n bottom: 0\n },\n '&.react-film__main__slider--left': _defineProperty({}, autoHideFlipperOnEdge ? '&:not(.react-film__main__slider--hide)' : '&', {\n left: 0\n }),\n '&.react-film__main__slider--right': _defineProperty({}, autoHideFlipperOnEdge ? '&:not(.react-film__main__slider--hide)' : '&', {\n right: 0\n })\n }\n },\n '& .react-film__main__overlay:focus .react-film__main__slider:not(.react-film__main__slider--hide)': {\n transitionDelay: '0s',\n '&.react-film__main__slider--left': {\n left: 0\n },\n '&.react-film__main__slider--right': {\n right: 0\n }\n },\n '& .react-film__main__slider': {\n transitionDelay: '1s',\n transitionDuration: '300ms',\n '&.react-film__main__slider--left': {\n left: (flipperBoxWidth + flipperSize) / -2,\n transitionProperty: 'left'\n },\n '&.react-film__main__slider--right': {\n right: (flipperBoxWidth + flipperSize) / -2,\n transitionProperty: 'right'\n }\n }\n } : {})\n };\n};\nexport default function createBasicStyleSet(styleOptions) {\n styleOptions = patchStyleOptions(styleOptions);\n return {\n root: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, createDotsStyle(styleOptions)), createDotStyle(styleOptions)), createFilmstripStyle(styleOptions)), createFlipperStyle(styleOptions)), createRootStyle(styleOptions)), createScrollBarStyle(styleOptions))\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwYXRjaFN0eWxlT3B0aW9ucyIsImNyZWF0ZURvdHNTdHlsZSIsImRvdEJveFNpemUiLCJhbGlnbkl0ZW1zIiwiYm90dG9tIiwiZGlzcGxheSIsImhlaWdodCIsImp1c3RpZnlDb250ZW50IiwibGlzdFN0eWxlVHlwZSIsIm1hcmdpbiIsInBhZGRpbmciLCJ3aWR0aCIsImNyZWF0ZURvdFN0eWxlIiwiY3Vyc29yIiwiZG90U2l6ZSIsInBvc2l0aW9uIiwibGVmdCIsIm9wYWNpdHkiLCJ0b3AiLCJ0b3VjaEFjdGlvbiIsInVzZXJTZWxlY3QiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyUmFkaXVzIiwiY3JlYXRlRmxpcHBlclN0eWxlIiwiZmxpcHBlckJveFdpZHRoIiwiZmxpcHBlclNpemUiLCJib3JkZXIiLCJvdXRsaW5lIiwib3ZlcmZsb3ciLCJ6SW5kZXgiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsImNvbG9yIiwiZm9udEZhbWlseSIsImZvbnQiLCJqb2luIiwiZm9udFNpemUiLCJsaW5lSGVpZ2h0IiwidHJhbnNpdGlvbkR1cmF0aW9uIiwidHJhbnNpdGlvblByb3BlcnR5IiwiY3JlYXRlRmlsbXN0cmlwU3R5bGUiLCJNc092ZXJmbG93U3R5bGUiLCJvdmVyZmxvd1giLCJvdmVyZmxvd1kiLCJvdmVyc2Nyb2xsQmVoYXZpb3JYIiwiY3JlYXRlU2Nyb2xsQmFyU3R5bGUiLCJhdXRvSGlkZSIsInNjcm9sbEJhckhlaWdodCIsInNjcm9sbEJhck1hcmdpbiIsImJveFNpemluZyIsInRyYW5zaXRpb25EZWxheSIsImJhY2tkcm9wRmlsdGVyIiwiY3JlYXRlUm9vdFN0eWxlIiwiYXV0b0hpZGVGbGlwcGVyT25FZGdlIiwiY3JlYXRlQmFzaWNTdHlsZVNldCIsInN0eWxlT3B0aW9ucyIsInJvb3QiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlYXRlQmFzaWNTdHlsZVNldC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogXCJvZmZcIiAqL1xuXG5pbXBvcnQgcGF0Y2hTdHlsZU9wdGlvbnMgZnJvbSAnLi9wYXRjaFN0eWxlT3B0aW9ucyc7XG5cbmNvbnN0IGNyZWF0ZURvdHNTdHlsZSA9ICh7IGRvdEJveFNpemUgfSkgPT4gKHtcbiAgJyYgLnJlYWN0LWZpbG1fX2RvdHMnOiB7XG4gICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgYm90dG9tOiAwLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBoZWlnaHQ6IGRvdEJveFNpemUsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIGxpc3RTdHlsZVR5cGU6ICdub25lJyxcbiAgICBtYXJnaW46IDAsXG4gICAgcGFkZGluZzogMCxcbiAgICB3aWR0aDogJzEwMCUnXG4gIH1cbn0pO1xuXG5jb25zdCBjcmVhdGVEb3RTdHlsZSA9ICh7IGN1cnNvciwgZG90Qm94U2l6ZSwgZG90U2l6ZSB9KSA9PiAoe1xuICAnJiAucmVhY3QtZmlsbV9fZG90Jzoge1xuICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICBoZWlnaHQ6IGRvdEJveFNpemUsXG4gICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgIHdpZHRoOiBkb3RCb3hTaXplLFxuXG4gICAgJyYgLnJlYWN0LWZpbG1fX2RvdF9faW5wdXQnOiB7XG4gICAgICAuLi4oY3Vyc29yID8geyBjdXJzb3IgfSA6IHt9KSxcblxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBsZWZ0OiAwLFxuICAgICAgbWFyZ2luOiAwLFxuICAgICAgb3BhY2l0eTogMCxcbiAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgdG9wOiAwLFxuICAgICAgdG91Y2hBY3Rpb246ICdub25lJyxcbiAgICAgIHVzZXJTZWxlY3Q6ICdub25lJyxcbiAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICB9LFxuXG4gICAgJyYgLnJlYWN0LWZpbG1fX2RvdF9faGFuZGxlJzoge1xuICAgICAgYmFja2dyb3VuZDogJ3JnYmEoMCwgMCwgMCwgLjIpJyxcbiAgICAgIGJvcmRlclJhZGl1czogZG90U2l6ZSAvIDIsXG4gICAgICBoZWlnaHQ6IGRvdFNpemUsXG4gICAgICB3aWR0aDogZG90U2l6ZVxuICAgIH0sXG5cbiAgICAnJjpob3ZlciAucmVhY3QtZmlsbV9fZG90X19oYW5kbGUsICYgLnJlYWN0LWZpbG1fX2RvdF9faW5wdXQ6Zm9jdXMgKyAucmVhY3QtZmlsbV9fZG90X19oYW5kbGUnOiB7XG4gICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLCAwLCAwLCAuNCknXG4gICAgfSxcblxuICAgICcmIC5yZWFjdC1maWxtX19kb3RfX2lucHV0OmFjdGl2ZSArIC5yZWFjdC1maWxtX19kb3RfX2hhbmRsZSc6IHtcbiAgICAgIGJhY2tncm91bmQ6ICdyZ2JhKDAsIDAsIDAsIC44KSdcbiAgICB9LFxuXG4gICAgJyYgLnJlYWN0LWZpbG1fX2RvdF9faW5wdXQ6Y2hlY2tlZDpub3QoOmFjdGl2ZSkgKyAucmVhY3QtZmlsbV9fZG90X19oYW5kbGUnOiB7XG4gICAgICBiYWNrZ3JvdW5kOiAncmdiYSgwLCAwLCAwLCAuNiknXG4gICAgfVxuICB9XG59KTtcblxuY29uc3QgY3JlYXRlRmxpcHBlclN0eWxlID0gKHsgY3Vyc29yLCBmbGlwcGVyQm94V2lkdGgsIGZsaXBwZXJTaXplIH0pID0+ICh7XG4gICcmIC5yZWFjdC1maWxtX19mbGlwcGVyJzoge1xuICAgIC4uLihjdXJzb3IgPyB7IGN1cnNvciB9IDoge30pLFxuXG4gICAgYmFja2dyb3VuZDogJ1RyYW5zcGFyZW50JyxcbiAgICBib3JkZXI6IDAsXG4gICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgb3V0bGluZTogMCxcbiAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgdG9wOiAwLFxuICAgIHRvdWNoQWN0aW9uOiAnbm9uZScsXG4gICAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAgIHdpZHRoOiBmbGlwcGVyQm94V2lkdGgsXG4gICAgekluZGV4OiAxLFxuXG4gICAgJyYucmVhY3QtZmlsbV9fZmxpcHBlci0tbGVmdCc6IHtcbiAgICAgIGxlZnQ6IDAsXG5cbiAgICAgICcmIC5yZWFjdC1maWxtX19mbGlwcGVyX19zbGlkZXInOiB7XG4gICAgICAgIGxlZnQ6IDBcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgJyYucmVhY3QtZmlsbV9fZmxpcHBlci0tcmlnaHQnOiB7XG4gICAgICByaWdodDogMCxcblxuICAgICAgJyYgLnJlYWN0LWZpbG1fX2ZsaXBwZXJfX3NsaWRlcic6IHtcbiAgICAgICAgcmlnaHQ6IDBcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgJyYgLnJlYWN0LWZpbG1fX2ZsaXBwZXJfX3NsaWRlcic6IHtcbiAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgaGVpZ2h0OiAnMTAwJScsXG4gICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICAgIHRvcDogMCxcbiAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICB9LFxuXG4gICAgJyYgLnJlYWN0LWZpbG1fX2ZsaXBwZXJfX2JvZHknOiB7XG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdyZ2JhKDAsIDAsIDAsIC42KScsXG4gICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgY29sb3I6ICdyZ2JhKDI1NSwgMjU1LCAyNTUsIC42KScsXG4gICAgICBmb250RmFtaWx5OiBbJ0NvbnNvbGFzJywgJ21vbm9zcGFjZSddLm1hcChmb250ID0+IGAnJHtmb250fSdgKS5qb2luKCcsICcpLFxuICAgICAgZm9udFNpemU6IDE2LFxuICAgICAgaGVpZ2h0OiBmbGlwcGVyU2l6ZSxcbiAgICAgIGxpbmVIZWlnaHQ6IGAke2ZsaXBwZXJTaXplfXB4YCxcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAnMTAwbXMnLFxuICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAnYmFja2dyb3VuZC1jb2xvcicsXG4gICAgICB3aWR0aDogZmxpcHBlclNpemVcbiAgICB9LFxuXG4gICAgJyY6aG92ZXIsICY6Zm9jdXMnOiB7XG4gICAgICAnJiAucmVhY3QtZmlsbV9fZmxpcHBlcl9fYm9keSc6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgwLCAwLCAwLCAuOCknLFxuICAgICAgICBjb2xvcjogJ3JnYmEoMjU1LCAyNTUsIDI1NSwgLjgpJyxcbiAgICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAwXG4gICAgICB9XG4gICAgfSxcblxuICAgICcmOmFjdGl2ZSAucmVhY3QtZmlsbV9fZmxpcHBlcl9fYm9keSc6IHtcbiAgICAgIGJhY2tncm91bmRDb2xvcjogJ0JsYWNrJyxcbiAgICAgIGNvbG9yOiAnV2hpdGUnLFxuICAgICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAwXG4gICAgfVxuICB9XG59KTtcblxuY29uc3QgY3JlYXRlRmlsbXN0cmlwU3R5bGUgPSAoKSA9PiAoe1xuICAnJiAucmVhY3QtZmlsbV9fZmlsbXN0cmlwJzoge1xuICAgIE1zT3ZlcmZsb3dTdHlsZTogJ25vbmUnLFxuICAgIG92ZXJmbG93WDogJ3Njcm9sbCcsXG4gICAgb3ZlcmZsb3dZOiAnaGlkZGVuJyxcbiAgICBvdmVyc2Nyb2xsQmVoYXZpb3JYOiAnY29udGFpbicsXG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsXG4gICAgdG91Y2hBY3Rpb246ICdtYW5pcHVsYXRpb24nLFxuICAgIHpJbmRleDogMCxcblxuICAgICcmOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgIGRpc3BsYXk6ICdub25lJ1xuICAgIH0sXG5cbiAgICAnJiAucmVhY3QtZmlsbV9fZmlsbXN0cmlwX19saXN0Jzoge1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgbGlzdFN0eWxlVHlwZTogJ25vbmUnLFxuICAgICAgbWFyZ2luOiAwLFxuICAgICAgcGFkZGluZzogMFxuICAgIH1cbiAgfVxufSk7XG5cbmNvbnN0IGNyZWF0ZVNjcm9sbEJhclN0eWxlID0gKHsgYXV0b0hpZGUsIHNjcm9sbEJhckhlaWdodCwgc2Nyb2xsQmFyTWFyZ2luIH0pID0+ICh7XG4gICcmIC5yZWFjdC1maWxtX19zY3JvbGwtYmFyJzoge1xuICAgIGJvdHRvbTogYXV0b0hpZGUgPyAtMzAgOiAwLFxuICAgIGJveFNpemluZzogJ2JvcmRlci1ib3gnLFxuICAgIHBhZGRpbmc6IHNjcm9sbEJhck1hcmdpbixcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgICB0cmFuc2l0aW9uRGVsYXk6ICcxcycsXG4gICAgdHJhbnNpdGlvbkR1cmF0aW9uOiAnMzAwbXMnLFxuICAgIHRyYW5zaXRpb25Qcm9wZXJ0eTogJ2JvdHRvbScsXG4gICAgd2lkdGg6ICcxMDAlJyxcblxuICAgICcmIC5yZWFjdC1maWxtX19zY3JvbGwtYmFyX19oYW5kbGUnOiB7XG4gICAgICBiYWNrZHJvcEZpbHRlcjogJ2JsdXIoNHB4KScsXG4gICAgICBiYWNrZ3JvdW5kOiAncmdiYSgyNTUsIDI1NSwgMjU1LCAuNCknLFxuICAgICAgYm9yZGVyUmFkaXVzOiBzY3JvbGxCYXJIZWlnaHQgLyAyLFxuICAgICAgaGVpZ2h0OiBzY3JvbGxCYXJIZWlnaHRcbiAgICB9XG4gIH1cbn0pO1xuXG5jb25zdCBjcmVhdGVSb290U3R5bGUgPSAoeyBhdXRvSGlkZSwgYXV0b0hpZGVGbGlwcGVyT25FZGdlLCBmbGlwcGVyQm94V2lkdGgsIGZsaXBwZXJTaXplIH0pID0+ICh7XG4gICcmIC5yZWFjdC1maWxtX19tYWluJzoge1xuICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcblxuICAgIC4uLihhdXRvSGlkZVxuICAgICAgPyB7XG4gICAgICAgICAgJyY6aG92ZXIsICYucmVhY3QtZmlsbV9fbWFpbi0tc2Nyb2xsaW5nJzoge1xuICAgICAgICAgICAgJyYgLnJlYWN0LWZpbG1fX21haW5fX3NsaWRlcic6IHtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbkRlbGF5OiAnMHMnLFxuXG4gICAgICAgICAgICAgICcmLnJlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tYm90dG9tJzoge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMFxuICAgICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAgICcmLnJlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tbGVmdCc6IHtcbiAgICAgICAgICAgICAgICBbYXV0b0hpZGVGbGlwcGVyT25FZGdlID8gJyY6bm90KC5yZWFjdC1maWxtX19tYWluX19zbGlkZXItLWhpZGUpJyA6ICcmJ106IHtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgJyYucmVhY3QtZmlsbV9fbWFpbl9fc2xpZGVyLS1yaWdodCc6IHtcbiAgICAgICAgICAgICAgICBbYXV0b0hpZGVGbGlwcGVyT25FZGdlID8gJyY6bm90KC5yZWFjdC1maWxtX19tYWluX19zbGlkZXItLWhpZGUpJyA6ICcmJ106IHtcbiAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcblxuICAgICAgICAgICcmIC5yZWFjdC1maWxtX19tYWluX19vdmVybGF5OmZvY3VzIC5yZWFjdC1maWxtX19tYWluX19zbGlkZXI6bm90KC5yZWFjdC1maWxtX19tYWluX19zbGlkZXItLWhpZGUpJzoge1xuICAgICAgICAgICAgdHJhbnNpdGlvbkRlbGF5OiAnMHMnLFxuXG4gICAgICAgICAgICAnJi5yZWFjdC1maWxtX19tYWluX19zbGlkZXItLWxlZnQnOiB7XG4gICAgICAgICAgICAgIGxlZnQ6IDBcbiAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICcmLnJlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tcmlnaHQnOiB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcblxuICAgICAgICAgICcmIC5yZWFjdC1maWxtX19tYWluX19zbGlkZXInOiB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uRGVsYXk6ICcxcycsXG4gICAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb246ICczMDBtcycsXG5cbiAgICAgICAgICAgICcmLnJlYWN0LWZpbG1fX21haW5fX3NsaWRlci0tbGVmdCc6IHtcbiAgICAgICAgICAgICAgbGVmdDogKGZsaXBwZXJCb3hXaWR0aCArIGZsaXBwZXJTaXplKSAvIC0yLFxuICAgICAgICAgICAgICB0cmFuc2l0aW9uUHJvcGVydHk6ICdsZWZ0J1xuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgJyYucmVhY3QtZmlsbV9fbWFpbl9fc2xpZGVyLS1yaWdodCc6IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IChmbGlwcGVyQm94V2lkdGggKyBmbGlwcGVyU2l6ZSkgLyAtMixcbiAgICAgICAgICAgICAgdHJhbnNpdGlvblByb3BlcnR5OiAncmlnaHQnXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICA6IHt9KVxuICB9XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gY3JlYXRlQmFzaWNTdHlsZVNldChzdHlsZU9wdGlvbnMpIHtcbiAgc3R5bGVPcHRpb25zID0gcGF0Y2hTdHlsZU9wdGlvbnMoc3R5bGVPcHRpb25zKTtcblxuICByZXR1cm4ge1xuICAgIHJvb3Q6IHtcbiAgICAgIC4uLmNyZWF0ZURvdHNTdHlsZShzdHlsZU9wdGlvbnMpLFxuICAgICAgLi4uY3JlYXRlRG90U3R5bGUoc3R5bGVPcHRpb25zKSxcbiAgICAgIC4uLmNyZWF0ZUZpbG1zdHJpcFN0eWxlKHN0eWxlT3B0aW9ucyksXG4gICAgICAuLi5jcmVhdGVGbGlwcGVyU3R5bGUoc3R5bGVPcHRpb25zKSxcbiAgICAgIC4uLmNyZWF0ZVJvb3RTdHlsZShzdHlsZU9wdGlvbnMpLFxuICAgICAgLi4uY3JlYXRlU2Nyb2xsQmFyU3R5bGUoc3R5bGVPcHRpb25zKVxuICAgIH1cbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7O0FBRUEsT0FBT0EsaUJBQWlCLE1BQU0scUJBQXFCO0FBRW5ELElBQU1DLGVBQWUsR0FBRyxTQUFsQkEsZUFBZTtFQUFBLElBQU1DLFVBQVUsUUFBVkEsVUFBVTtFQUFBLE9BQVE7SUFDM0MscUJBQXFCLEVBQUU7TUFDckJDLFVBQVUsRUFBRSxRQUFRO01BQ3BCQyxNQUFNLEVBQUUsQ0FBQztNQUNUQyxPQUFPLEVBQUUsTUFBTTtNQUNmQyxNQUFNLEVBQUVKLFVBQVU7TUFDbEJLLGNBQWMsRUFBRSxRQUFRO01BQ3hCQyxhQUFhLEVBQUUsTUFBTTtNQUNyQkMsTUFBTSxFQUFFLENBQUM7TUFDVEMsT0FBTyxFQUFFLENBQUM7TUFDVkMsS0FBSyxFQUFFO0lBQ1Q7RUFDRixDQUFDO0FBQUEsQ0FBQztBQUVGLElBQU1DLGNBQWMsR0FBRyxTQUFqQkEsY0FBYztFQUFBLElBQU1DLE1BQU0sU0FBTkEsTUFBTTtJQUFFWCxVQUFVLFNBQVZBLFVBQVU7SUFBRVksT0FBTyxTQUFQQSxPQUFPO0VBQUEsT0FBUTtJQUMzRCxvQkFBb0IsRUFBRTtNQUNwQlgsVUFBVSxFQUFFLFFBQVE7TUFDcEJFLE9BQU8sRUFBRSxNQUFNO01BQ2ZDLE1BQU0sRUFBRUosVUFBVTtNQUNsQkssY0FBYyxFQUFFLFFBQVE7TUFDeEJRLFFBQVEsRUFBRSxVQUFVO01BQ3BCSixLQUFLLEVBQUVULFVBQVU7TUFFakIsMkJBQTJCLGtDQUNyQlcsTUFBTSxHQUFHO1FBQUVBLE1BQU0sRUFBTkE7TUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBRTVCUCxNQUFNLEVBQUUsTUFBTTtRQUNkVSxJQUFJLEVBQUUs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","import _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/slice\";\n/* eslint no-magic-numbers: \"off\" */\n\nimport * as browser from './browser';\nimport best from './util/best';\nexport default function getView(dir, scrollable, itemContainer, scrollingTo) {\n var rtl = dir === 'rtl';\n if (itemContainer && scrollable) {\n var scrollLeft = scrollingTo || scrollable.scrollLeft;\n var trueScrollLeft = rtl && (browser.edgeUWP || browser.internetExplorer) ? -scrollLeft : scrollLeft;\n var items = itemContainer.children; // This will enumerate
    • inside \n var scrollCenter = trueScrollLeft + scrollable.offsetWidth / 2;\n var index = best(_sliceInstanceProperty([]).call(items), function (item) {\n var offsetCenter = item.offsetLeft + item.offsetWidth / 2;\n return 1 / Math.abs(scrollCenter - offsetCenter);\n });\n if (~index) {\n var item = items[index];\n var offsetCenter = item.offsetLeft + item.offsetWidth / 2;\n var indexFraction = index + (scrollCenter - offsetCenter) / item.offsetWidth * (rtl ? -1 : 1);\n\n // We \"fix\" indexFraction if the viewport is at the start/end of the content\n // This is to simplify code that use Math.round(indexFraction) to find the scrollable index\n // if (scrollLeft === 0) {\n // indexFraction = 0;\n // } else if (scrollLeft >= scrollable.scrollWidth - scrollable.offsetWidth) {\n // indexFraction = items.length - 1;\n // } else if (indexFraction % 1 > .99 || indexFraction % 1 < .01) {\n // indexFraction = Math.round(indexFraction);\n // }\n\n if (indexFraction % 1 > 0.99 || indexFraction % 1 < 0.01) {\n indexFraction = Math.round(indexFraction);\n }\n var selectedIndex;\n if (Math.abs(trueScrollLeft) < 1) {\n selectedIndex = 0;\n } else if (rtl ? trueScrollLeft <= scrollable.offsetWidth - scrollable.scrollWidth : trueScrollLeft >= scrollable.scrollWidth - scrollable.offsetWidth) {\n selectedIndex = items.length - 1;\n } else {\n selectedIndex = Math.round(indexFraction);\n }\n return {\n index: selectedIndex,\n indexFraction: indexFraction\n };\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJicm93c2VyIiwiYmVzdCIsImdldFZpZXciLCJkaXIiLCJzY3JvbGxhYmxlIiwiaXRlbUNvbnRhaW5lciIsInNjcm9sbGluZ1RvIiwicnRsIiwic2Nyb2xsTGVmdCIsInRydWVTY3JvbGxMZWZ0IiwiZWRnZVVXUCIsImludGVybmV0RXhwbG9yZXIiLCJpdGVtcyIsImNoaWxkcmVuIiwic2Nyb2xsQ2VudGVyIiwib2Zmc2V0V2lkdGgiLCJpbmRleCIsImNhbGwiLCJpdGVtIiwib2Zmc2V0Q2VudGVyIiwib2Zmc2V0TGVmdCIsIk1hdGgiLCJhYnMiLCJpbmRleEZyYWN0aW9uIiwicm91bmQiLCJzZWxlY3RlZEluZGV4Iiwic2Nyb2xsV2lkdGgiLCJsZW5ndGgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2V0Vmlldy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogXCJvZmZcIiAqL1xuXG5pbXBvcnQgKiBhcyBicm93c2VyIGZyb20gJy4vYnJvd3Nlcic7XG5pbXBvcnQgYmVzdCBmcm9tICcuL3V0aWwvYmVzdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFZpZXcoZGlyLCBzY3JvbGxhYmxlLCBpdGVtQ29udGFpbmVyLCBzY3JvbGxpbmdUbykge1xuICBjb25zdCBydGwgPSBkaXIgPT09ICdydGwnO1xuXG4gIGlmIChpdGVtQ29udGFpbmVyICYmIHNjcm9sbGFibGUpIHtcbiAgICBjb25zdCBzY3JvbGxMZWZ0ID0gc2Nyb2xsaW5nVG8gfHwgc2Nyb2xsYWJsZS5zY3JvbGxMZWZ0O1xuICAgIGNvbnN0IHRydWVTY3JvbGxMZWZ0ID0gcnRsICYmIChicm93c2VyLmVkZ2VVV1AgfHwgYnJvd3Nlci5pbnRlcm5ldEV4cGxvcmVyKSA/IC1zY3JvbGxMZWZ0IDogc2Nyb2xsTGVmdDtcbiAgICBjb25zdCBpdGVtcyA9IGl0ZW1Db250YWluZXIuY2hpbGRyZW47IC8vIFRoaXMgd2lsbCBlbnVtZXJhdGUgPGxpPiBpbnNpZGUgPEZpbG1TdHJpcD5cbiAgICBjb25zdCBzY3JvbGxDZW50ZXIgPSB0cnVlU2Nyb2xsTGVmdCArIHNjcm9sbGFibGUub2Zmc2V0V2lkdGggLyAyO1xuICAgIGNvbnN0IGluZGV4ID0gYmVzdChbXS5zbGljZS5jYWxsKGl0ZW1zKSwgaXRlbSA9PiB7XG4gICAgICBjb25zdCBvZmZzZXRDZW50ZXIgPSBpdGVtLm9mZnNldExlZnQgKyBpdGVtLm9mZnNldFdpZHRoIC8gMjtcblxuICAgICAgcmV0dXJuIDEgLyBNYXRoLmFicyhzY3JvbGxDZW50ZXIgLSBvZmZzZXRDZW50ZXIpO1xuICAgIH0pO1xuXG4gICAgaWYgKH5pbmRleCkge1xuICAgICAgY29uc3QgaXRlbSA9IGl0ZW1zW2luZGV4XTtcblxuICAgICAgY29uc3Qgb2Zmc2V0Q2VudGVyID0gaXRlbS5vZmZzZXRMZWZ0ICsgaXRlbS5vZmZzZXRXaWR0aCAvIDI7XG4gICAgICBsZXQgaW5kZXhGcmFjdGlvbiA9IGluZGV4ICsgKChzY3JvbGxDZW50ZXIgLSBvZmZzZXRDZW50ZXIpIC8gaXRlbS5vZmZzZXRXaWR0aCkgKiAocnRsID8gLTEgOiAxKTtcblxuICAgICAgLy8gV2UgXCJmaXhcIiBpbmRleEZyYWN0aW9uIGlmIHRoZSB2aWV3cG9ydCBpcyBhdCB0aGUgc3RhcnQvZW5kIG9mIHRoZSBjb250ZW50XG4gICAgICAvLyBUaGlzIGlzIHRvIHNpbXBsaWZ5IGNvZGUgdGhhdCB1c2UgTWF0aC5yb3VuZChpbmRleEZyYWN0aW9uKSB0byBmaW5kIHRoZSBzY3JvbGxhYmxlIGluZGV4XG4gICAgICAvLyBpZiAoc2Nyb2xsTGVmdCA9PT0gMCkge1xuICAgICAgLy8gICBpbmRleEZyYWN0aW9uID0gMDtcbiAgICAgIC8vIH0gZWxzZSBpZiAoc2Nyb2xsTGVmdCA+PSBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoIC0gc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aCkge1xuICAgICAgLy8gICBpbmRleEZyYWN0aW9uID0gaXRlbXMubGVuZ3RoIC0gMTtcbiAgICAgIC8vIH0gZWxzZSBpZiAoaW5kZXhGcmFjdGlvbiAlIDEgPiAuOTkgfHwgaW5kZXhGcmFjdGlvbiAlIDEgPCAuMDEpIHtcbiAgICAgIC8vICAgaW5kZXhGcmFjdGlvbiA9IE1hdGgucm91bmQoaW5kZXhGcmFjdGlvbik7XG4gICAgICAvLyB9XG5cbiAgICAgIGlmIChpbmRleEZyYWN0aW9uICUgMSA+IDAuOTkgfHwgaW5kZXhGcmFjdGlvbiAlIDEgPCAwLjAxKSB7XG4gICAgICAgIGluZGV4RnJhY3Rpb24gPSBNYXRoLnJvdW5kKGluZGV4RnJhY3Rpb24pO1xuICAgICAgfVxuXG4gICAgICBsZXQgc2VsZWN0ZWRJbmRleDtcblxuICAgICAgaWYgKE1hdGguYWJzKHRydWVTY3JvbGxMZWZ0KSA8IDEpIHtcbiAgICAgICAgc2VsZWN0ZWRJbmRleCA9IDA7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICBydGxcbiAgICAgICAgICA/IHRydWVTY3JvbGxMZWZ0IDw9IHNjcm9sbGFibGUub2Zmc2V0V2lkdGggLSBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoXG4gICAgICAgICAgOiB0cnVlU2Nyb2xsTGVmdCA+PSBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoIC0gc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aFxuICAgICAgKSB7XG4gICAgICAgIHNlbGVjdGVkSW5kZXggPSBpdGVtcy5sZW5ndGggLSAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VsZWN0ZWRJbmRleCA9IE1hdGgucm91bmQoaW5kZXhGcmFjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGluZGV4OiBzZWxlY3RlZEluZGV4LFxuICAgICAgICBpbmRleEZyYWN0aW9uXG4gICAgICB9O1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7O0FBRUEsT0FBTyxLQUFLQSxPQUFPLE1BQU0sV0FBVztBQUNwQyxPQUFPQyxJQUFJLE1BQU0sYUFBYTtBQUU5QixlQUFlLFNBQVNDLE9BQU8sQ0FBQ0MsR0FBRyxFQUFFQyxVQUFVLEVBQUVDLGFBQWEsRUFBRUMsV0FBVyxFQUFFO0VBQzNFLElBQU1DLEdBQUcsR0FBR0osR0FBRyxLQUFLLEtBQUs7RUFFekIsSUFBSUUsYUFBYSxJQUFJRCxVQUFVLEVBQUU7SUFDL0IsSUFBTUksVUFBVSxHQUFHRixXQUFXLElBQUlGLFVBQVUsQ0FBQ0ksVUFBVTtJQUN2RCxJQUFNQyxjQUFjLEdBQUdGLEdBQUcsS0FBS1AsT0FBTyxDQUFDVSxPQUFPLElBQUlWLE9BQU8sQ0FBQ1csZ0JBQWdCLENBQUMsR0FBRyxDQUFDSCxVQUFVLEdBQUdBLFVBQVU7SUFDdEcsSUFBTUksS0FBSyxHQUFHUCxhQUFhLENBQUNRLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLElBQU1DLFlBQVksR0FBR0wsY0FBYyxHQUFHTCxVQUFVLENBQUNXLFdBQVcsR0FBRyxDQUFDO0lBQ2hFLElBQU1DLEtBQUssR0FBR2YsSUFBSSxDQUFDLHlCQUFFLEVBQU9nQixJQUFJLENBQUNMLEtBQUssQ0FBQyxFQUFFLFVBQUFNLElBQUksRUFBSTtNQUMvQyxJQUFNQyxZQUFZLEdBQUdELElBQUksQ0FBQ0UsVUFBVSxHQUFHRixJQUFJLENBQUNILFdBQVcsR0FBRyxDQUFDO01BRTNELE9BQU8sQ0FBQyxHQUFHTSxJQUFJLENBQUNDLEdBQUcsQ0FBQ1IsWUFBWSxHQUFHSyxZQUFZLENBQUM7SUFDbEQsQ0FBQyxDQUFDO0lBRUYsSUFBSSxDQUFDSCxLQUFLLEVBQUU7TUFDVixJQUFNRSxJQUFJLEdBQUdOLEtBQUssQ0FBQ0ksS0FBSyxDQUFDO01BRXpCLElBQU1HLFlBQVksR0FBR0QsSUFBSSxDQUFDRSxVQUFVLEdBQUdGLElBQUksQ0FBQ0gsV0FBVyxHQUFHLENBQUM7TUFDM0QsSUFBSVEsYUFBYSxHQUFHUCxLQUFLLEdBQUksQ0FBQ0YsWUFBWSxHQUFHSyxZQUFZLElBQUlELElBQUksQ0FBQ0gsV0FBVyxJQUFLUixHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztNQUUvRjtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7TUFDQTtNQUNBO01BQ0E7O01BRUEsSUFBSWdCLGFBQWEsR0FBRyxDQUFDLEdBQUcsSUFBSSxJQUFJQSxhQUFhLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRTtRQUN4REEsYUFBYSxHQUFHRixJQUFJLENBQUNHLEtBQUssQ0FBQ0QsYUFBYSxDQUFDO01BQzNDO01BRUEsSUFBSUUsYUFBYTtNQUVqQixJQUFJSixJQUFJLENBQUNDLEdBQUcsQ0FBQ2IsY0FBYyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1FBQ2hDZ0IsYUFBYSxHQUFHLENBQUM7TUFDbkIsQ0FBQyxNQUFNLElBQ0xsQixHQUFHLEdBQ0NFLGNBQWMsSUFBSUwsVUFBVSxDQUFDVyxXQUFXLEdBQUdYLFVBQVUsQ0FBQ3NCLFdBQVcsR0FDakVqQixjQUFjLElBQUlMLFVBQVUsQ0FBQ3NCLFdBQVcsR0FBR3RCLFVBQVUsQ0FBQ1csV0FBVyxFQUNyRTtRQUNBVSxhQUFhLEdBQUdiLEtBQUssQ0FBQ2UsTUFBTSxHQUFHLENBQUM7TUFDbEMsQ0FBQyxNQUFNO1FBQ0xGLGFBQWEsR0FBR0osSUFBSSxDQUFDRyxLQUFLLENBQUNELGFBQWEsQ0FBQztNQUMzQztNQUVBLE9BQU87UUFDTFAsS0FBSyxFQUFFUyxhQUFhO1FBQ3BCRixhQUFhLEVBQWJBO01BQ0YsQ0FBQztJQUNIO0VBQ0Y7QUFDRiJ9","import _reduceInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/reduce\";\nexport default function best(array, scorer) {\n return _reduceInstanceProperty(array).call(array, function (best, item, index) {\n var score = scorer.call(array, item, index);\n if (score > best.score) {\n return {\n index: index,\n score: score\n };\n }\n return best;\n }, {\n index: -1,\n score: -Infinity\n }).index;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJiZXN0IiwiYXJyYXkiLCJzY29yZXIiLCJpdGVtIiwiaW5kZXgiLCJzY29yZSIsImNhbGwiLCJJbmZpbml0eSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy91dGlsL2Jlc3QuanMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYmVzdChhcnJheSwgc2NvcmVyKSB7XG4gIHJldHVybiBhcnJheS5yZWR1Y2UoXG4gICAgKGJlc3QsIGl0ZW0sIGluZGV4KSA9PiB7XG4gICAgICBjb25zdCBzY29yZSA9IHNjb3Jlci5jYWxsKGFycmF5LCBpdGVtLCBpbmRleCk7XG5cbiAgICAgIGlmIChzY29yZSA+IGJlc3Quc2NvcmUpIHtcbiAgICAgICAgcmV0dXJuIHsgaW5kZXgsIHNjb3JlIH07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBiZXN0O1xuICAgIH0sXG4gICAgeyBpbmRleDogLTEsIHNjb3JlOiAtSW5maW5pdHkgfVxuICApLmluZGV4O1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsZUFBZSxTQUFTQSxJQUFJLENBQUNDLEtBQUssRUFBRUMsTUFBTSxFQUFFO0VBQzFDLE9BQU8sd0JBQUFELEtBQUssT0FBTEEsS0FBSyxFQUNWLFVBQUNELElBQUksRUFBRUcsSUFBSSxFQUFFQyxLQUFLLEVBQUs7SUFDckIsSUFBTUMsS0FBSyxHQUFHSCxNQUFNLENBQUNJLElBQUksQ0FBQ0wsS0FBSyxFQUFFRSxJQUFJLEVBQUVDLEtBQUssQ0FBQztJQUU3QyxJQUFJQyxLQUFLLEdBQUdMLElBQUksQ0FBQ0ssS0FBSyxFQUFFO01BQ3RCLE9BQU87UUFBRUQsS0FBSyxFQUFMQSxLQUFLO1FBQUVDLEtBQUssRUFBTEE7TUFBTSxDQUFDO0lBQ3pCO0lBRUEsT0FBT0wsSUFBSTtFQUNiLENBQUMsRUFDRDtJQUFFSSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQUVDLEtBQUssRUFBRSxDQUFDRTtFQUFTLENBQUMsQ0FDaEMsQ0FBQ0gsS0FBSztBQUNUIn0=","import { createContext } from 'react';\nexport default /*#__PURE__*/createContext();\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0xlZ2FjeUNvbnRleHQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgY3JlYXRlQ29udGV4dCgpO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxhQUFhLFFBQVEsT0FBTztBQUVyQyw0QkFBZUEsYUFBYSxFQUFFIn0=","import _Math$sign from \"@babel/runtime-corejs3/core-js-stable/math/sign\";\nimport _Date$now from \"@babel/runtime-corejs3/core-js-stable/date/now\";\nimport { useEffect } from 'react';\nfunction step(from, to, stepper, index) {\n var next = from;\n for (var i = 0; i < index; i++) {\n next = stepper(next, to);\n }\n return next;\n}\nfunction squareStepper(current, to) {\n var sign = _Math$sign(to - current);\n var step = Math.sqrt(Math.abs(to - current));\n var next = current + step * sign;\n if (sign > 0) {\n return Math.min(to, next);\n }\n return Math.max(to, next);\n}\nexport default function useAnimateScrollLeft(element, to, onEnd) {\n useEffect(function () {\n if (element) {\n var start = _Date$now();\n var animator;\n var animate = function animate(from) {\n animator = requestAnimationFrame(function () {\n // eslint-disable-next-line no-magic-numbers\n var nextValue = step(from, to, squareStepper, (_Date$now() - start) / 5);\n\n // eslint-disable-next-line no-magic-numbers\n if (Math.abs(to - nextValue) < 0.5) {\n nextValue = to;\n }\n element.scrollLeft = nextValue;\n if (to === nextValue) {\n onEnd && onEnd(true);\n } else {\n animate(from);\n }\n });\n };\n animate(element.scrollLeft);\n return function () {\n return cancelAnimationFrame(animator);\n };\n }\n }, [element, to, onEnd]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJzdGVwIiwiZnJvbSIsInRvIiwic3RlcHBlciIsImluZGV4IiwibmV4dCIsImkiLCJzcXVhcmVTdGVwcGVyIiwiY3VycmVudCIsInNpZ24iLCJNYXRoIiwic3FydCIsImFicyIsIm1pbiIsIm1heCIsInVzZUFuaW1hdGVTY3JvbGxMZWZ0IiwiZWxlbWVudCIsIm9uRW5kIiwic3RhcnQiLCJhbmltYXRvciIsImFuaW1hdGUiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJuZXh0VmFsdWUiLCJzY3JvbGxMZWZ0IiwiY2FuY2VsQW5pbWF0aW9uRnJhbWUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvaG9va3MvaW50ZXJuYWwvdXNlQW5pbWF0ZVNjcm9sbExlZnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnO1xuXG5mdW5jdGlvbiBzdGVwKGZyb20sIHRvLCBzdGVwcGVyLCBpbmRleCkge1xuICBsZXQgbmV4dCA9IGZyb207XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBpbmRleDsgaSsrKSB7XG4gICAgbmV4dCA9IHN0ZXBwZXIobmV4dCwgdG8pO1xuICB9XG5cbiAgcmV0dXJuIG5leHQ7XG59XG5cbmZ1bmN0aW9uIHNxdWFyZVN0ZXBwZXIoY3VycmVudCwgdG8pIHtcbiAgY29uc3Qgc2lnbiA9IE1hdGguc2lnbih0byAtIGN1cnJlbnQpO1xuICBjb25zdCBzdGVwID0gTWF0aC5zcXJ0KE1hdGguYWJzKHRvIC0gY3VycmVudCkpO1xuICBjb25zdCBuZXh0ID0gY3VycmVudCArIHN0ZXAgKiBzaWduO1xuXG4gIGlmIChzaWduID4gMCkge1xuICAgIHJldHVybiBNYXRoLm1pbih0bywgbmV4dCk7XG4gIH1cblxuICByZXR1cm4gTWF0aC5tYXgodG8sIG5leHQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VBbmltYXRlU2Nyb2xsTGVmdChlbGVtZW50LCB0bywgb25FbmQpIHtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXG4gICAgICBsZXQgYW5pbWF0b3I7XG5cbiAgICAgIGNvbnN0IGFuaW1hdGUgPSBmcm9tID0+IHtcbiAgICAgICAgYW5pbWF0b3IgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzXG4gICAgICAgICAgbGV0IG5leHRWYWx1ZSA9IHN0ZXAoZnJvbSwgdG8sIHNxdWFyZVN0ZXBwZXIsIChEYXRlLm5vdygpIC0gc3RhcnQpIC8gNSk7XG5cbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgICAgIGlmIChNYXRoLmFicyh0byAtIG5leHRWYWx1ZSkgPCAwLjUpIHtcbiAgICAgICAgICAgIG5leHRWYWx1ZSA9IHRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsTGVmdCA9IG5leHRWYWx1ZTtcblxuICAgICAgICAgIGlmICh0byA9PT0gbmV4dFZhbHVlKSB7XG4gICAgICAgICAgICBvbkVuZCAmJiBvbkVuZCh0cnVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYW5pbWF0ZShmcm9tKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfTtcblxuICAgICAgYW5pbWF0ZShlbGVtZW50LnNjcm9sbExlZnQpO1xuXG4gICAgICByZXR1cm4gKCkgPT4gY2FuY2VsQW5pbWF0aW9uRnJhbWUoYW5pbWF0b3IpO1xuICAgIH1cbiAgfSwgW2VsZW1lbnQsIHRvLCBvbkVuZF0pO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxPQUFPO0FBRWpDLFNBQVNDLElBQUksQ0FBQ0MsSUFBSSxFQUFFQyxFQUFFLEVBQUVDLE9BQU8sRUFBRUMsS0FBSyxFQUFFO0VBQ3RDLElBQUlDLElBQUksR0FBR0osSUFBSTtFQUVmLEtBQUssSUFBSUssQ0FBQyxHQUFHLENBQUMsRUFBRUEsQ0FBQyxHQUFHRixLQUFLLEVBQUVFLENBQUMsRUFBRSxFQUFFO0lBQzlCRCxJQUFJLEdBQUdGLE9BQU8sQ0FBQ0UsSUFBSSxFQUFFSCxFQUFFLENBQUM7RUFDMUI7RUFFQSxPQUFPRyxJQUFJO0FBQ2I7QUFFQSxTQUFTRSxhQUFhLENBQUNDLE9BQU8sRUFBRU4sRUFBRSxFQUFFO0VBQ2xDLElBQU1PLElBQUksR0FBRyxXQUFVUCxFQUFFLEdBQUdNLE9BQU8sQ0FBQztFQUNwQyxJQUFNUixJQUFJLEdBQUdVLElBQUksQ0FBQ0MsSUFBSSxDQUFDRCxJQUFJLENBQUNFLEdBQUcsQ0FBQ1YsRUFBRSxHQUFHTSxPQUFPLENBQUMsQ0FBQztFQUM5QyxJQUFNSCxJQUFJLEdBQUdHLE9BQU8sR0FBR1IsSUFBSSxHQUFHUyxJQUFJO0VBRWxDLElBQUlBLElBQUksR0FBRyxDQUFDLEVBQUU7SUFDWixPQUFPQyxJQUFJLENBQUNHLEdBQUcsQ0FBQ1gsRUFBRSxFQUFFRyxJQUFJLENBQUM7RUFDM0I7RUFFQSxPQUFPSyxJQUFJLENBQUNJLEdBQUcsQ0FBQ1osRUFBRSxFQUFFRyxJQUFJLENBQUM7QUFDM0I7QUFFQSxlQUFlLFNBQVNVLG9CQUFvQixDQUFDQyxPQUFPLEVBQUVkLEVBQUUsRUFBRWUsS0FBSyxFQUFFO0VBQy9EbEIsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJaUIsT0FBTyxFQUFFO01BQ1gsSUFBTUUsS0FBSyxHQUFHLFdBQVU7TUFFeEIsSUFBSUMsUUFBUTtNQUVaLElBQU1DLE9BQU8sR0FBRyxTQUFWQSxPQUFPLENBQUduQixJQUFJLEVBQUk7UUFDdEJrQixRQUFRLEdBQUdFLHFCQUFxQixDQUFDLFlBQU07VUFDckM7VUFDQSxJQUFJQyxTQUFTLEdBQUd0QixJQUFJLENBQUNDLElBQUksRUFBRUMsRUFBRSxFQUFFSyxhQUFhLEVBQUUsQ0FBQyxXQUFVLEdBQUdXLEtBQUssSUFBSSxDQUFDLENBQUM7O1VBRXZFO1VBQ0EsSUFBSVIsSUFBSSxDQUFDRSxHQUFHLENBQUNWLEVBQUUsR0FBR29CLFNBQVMsQ0FBQyxHQUFHLEdBQUcsRUFBRTtZQUNsQ0EsU0FBUyxHQUFHcEIsRUFBRTtVQUNoQjtVQUVBYyxPQUFPLENBQUNPLFVBQVUsR0FBR0QsU0FBUztVQUU5QixJQUFJcEIsRUFBRSxLQUFLb0IsU0FBUyxFQUFFO1lBQ3BCTCxLQUFLLElBQUlBLEtBQUssQ0FBQyxJQUFJLENBQUM7VUFDdEIsQ0FBQyxNQUFNO1lBQ0xHLE9BQU8sQ0FBQ25CLElBQUksQ0FBQztVQUNmO1FBQ0YsQ0FBQyxDQUFDO01BQ0osQ0FBQztNQUVEbUIsT0FBTyxDQUFDSixPQUFPLENBQUNPLFVBQVUsQ0FBQztNQUUzQixPQUFPO1FBQUEsT0FBTUMsb0JBQW9CLENBQUNMLFFBQVEsQ0FBQztNQUFBO0lBQzdDO0VBQ0YsQ0FBQyxFQUFFLENBQUNILE9BQU8sRUFBRWQsRUFBRSxFQUFFZSxLQUFLLENBQUMsQ0FBQztBQUMxQiJ9","import _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/for-each\";\nimport _indexOfInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/index-of\";\nimport _spliceInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/splice\";\nimport { useMemo } from 'react';\nvar SUBSCRIBER_LIMIT = 10;\nexport default function useCallbackRefWithSubscribe() {\n return useMemo(function () {\n var subscriptions = [];\n var callbackRef = function callbackRef(current) {\n callbackRef.current = current;\n _forEachInstanceProperty(subscriptions).call(subscriptions, function (subscription) {\n subscription.cleanup && subscription.cleanup();\n subscription.cleanup = subscription.callback(current);\n });\n };\n callbackRef.subscribe = function (callback) {\n var subscription = {\n callback: callback\n };\n subscriptions.push(subscription);\n if (subscriptions.length >= SUBSCRIBER_LIMIT) {\n console.warn(\"useSubscribe: Reaching maximum limit of subscribers (\".concat(SUBSCRIBER_LIMIT, \"), please make sure your code did clean up properly.\"));\n }\n subscription.cleanup = callback(callbackRef.current);\n return function () {\n subscription.cleanup && subscription.cleanup();\n var index = _indexOfInstanceProperty(subscriptions).call(subscriptions, subscription);\n ~index && _spliceInstanceProperty(subscriptions).call(subscriptions, index, 1);\n };\n };\n return callbackRef;\n }, []);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwiU1VCU0NSSUJFUl9MSU1JVCIsInVzZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSIsInN1YnNjcmlwdGlvbnMiLCJjYWxsYmFja1JlZiIsImN1cnJlbnQiLCJzdWJzY3JpcHRpb24iLCJjbGVhbnVwIiwiY2FsbGJhY2siLCJzdWJzY3JpYmUiLCJwdXNoIiwibGVuZ3RoIiwiY29uc29sZSIsIndhcm4iLCJpbmRleCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuY29uc3QgU1VCU0NSSUJFUl9MSU1JVCA9IDEwO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUoKSB7XG4gIHJldHVybiB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBzdWJzY3JpcHRpb25zID0gW107XG5cbiAgICBjb25zdCBjYWxsYmFja1JlZiA9IGN1cnJlbnQgPT4ge1xuICAgICAgY2FsbGJhY2tSZWYuY3VycmVudCA9IGN1cnJlbnQ7XG5cbiAgICAgIHN1YnNjcmlwdGlvbnMuZm9yRWFjaChzdWJzY3JpcHRpb24gPT4ge1xuICAgICAgICBzdWJzY3JpcHRpb24uY2xlYW51cCAmJiBzdWJzY3JpcHRpb24uY2xlYW51cCgpO1xuICAgICAgICBzdWJzY3JpcHRpb24uY2xlYW51cCA9IHN1YnNjcmlwdGlvbi5jYWxsYmFjayhjdXJyZW50KTtcbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjYWxsYmFja1JlZi5zdWJzY3JpYmUgPSBjYWxsYmFjayA9PiB7XG4gICAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB7IGNhbGxiYWNrIH07XG5cbiAgICAgIHN1YnNjcmlwdGlvbnMucHVzaChzdWJzY3JpcHRpb24pO1xuXG4gICAgICBpZiAoc3Vic2NyaXB0aW9ucy5sZW5ndGggPj0gU1VCU0NSSUJFUl9MSU1JVCkge1xuICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgYHVzZVN1YnNjcmliZTogUmVhY2hpbmcgbWF4aW11bSBsaW1pdCBvZiBzdWJzY3JpYmVycyAoJHtTVUJTQ1JJQkVSX0xJTUlUfSksIHBsZWFzZSBtYWtlIHN1cmUgeW91ciBjb2RlIGRpZCBjbGVhbiB1cCBwcm9wZXJseS5gXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHN1YnNjcmlwdGlvbi5jbGVhbnVwID0gY2FsbGJhY2soY2FsbGJhY2tSZWYuY3VycmVudCk7XG5cbiAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgIHN1YnNjcmlwdGlvbi5jbGVhbnVwICYmIHN1YnNjcmlwdGlvbi5jbGVhbnVwKCk7XG5cbiAgICAgICAgY29uc3QgaW5kZXggPSBzdWJzY3JpcHRpb25zLmluZGV4T2Yoc3Vic2NyaXB0aW9uKTtcblxuICAgICAgICB+aW5kZXggJiYgc3Vic2NyaXB0aW9ucy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNhbGxiYWNrUmVmO1xuICB9LCBbXSk7XG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLE9BQU8sUUFBUSxPQUFPO0FBRS9CLElBQU1DLGdCQUFnQixHQUFHLEVBQUU7QUFFM0IsZUFBZSxTQUFTQywyQkFBMkIsR0FBRztFQUNwRCxPQUFPRixPQUFPLENBQUMsWUFBTTtJQUNuQixJQUFNRyxhQUFhLEdBQUcsRUFBRTtJQUV4QixJQUFNQyxXQUFXLEdBQUcsU0FBZEEsV0FBVyxDQUFHQyxPQUFPLEVBQUk7TUFDN0JELFdBQVcsQ0FBQ0MsT0FBTyxHQUFHQSxPQUFPO01BRTdCLHlCQUFBRixhQUFhLE9BQWJBLGFBQWEsRUFBUyxVQUFBRyxZQUFZLEVBQUk7UUFDcENBLFlBQVksQ0FBQ0MsT0FBTyxJQUFJRCxZQUFZLENBQUNDLE9BQU8sRUFBRTtRQUM5Q0QsWUFBWSxDQUFDQyxPQUFPLEdBQUdELFlBQVksQ0FBQ0UsUUFBUSxDQUFDSCxPQUFPLENBQUM7TUFDdkQsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVERCxXQUFXLENBQUNLLFNBQVMsR0FBRyxVQUFBRCxRQUFRLEVBQUk7TUFDbEMsSUFBTUYsWUFBWSxHQUFHO1FBQUVFLFFBQVEsRUFBUkE7TUFBUyxDQUFDO01BRWpDTCxhQUFhLENBQUNPLElBQUksQ0FBQ0osWUFBWSxDQUFDO01BRWhDLElBQUlILGFBQWEsQ0FBQ1EsTUFBTSxJQUFJVixnQkFBZ0IsRUFBRTtRQUM1Q1csT0FBTyxDQUFDQyxJQUFJLGdFQUM4Q1osZ0JBQWdCLDBEQUN6RTtNQUNIO01BRUFLLFlBQVksQ0FBQ0MsT0FBTyxHQUFHQyxRQUFRLENBQUNKLFdBQVcsQ0FBQ0MsT0FBTyxDQUFDO01BRXBELE9BQU8sWUFBTTtRQUNYQyxZQUFZLENBQUNDLE9BQU8sSUFBSUQsWUFBWSxDQUFDQyxPQUFPLEVBQUU7UUFFOUMsSUFBTU8sS0FBSyxHQUFHLHlCQUFBWCxhQUFhLE9BQWJBLGFBQWEsRUFBU0csWUFBWSxDQUFDO1FBRWpELENBQUNRLEtBQUssSUFBSSx3QkFBQVgsYUFBYSxPQUFiQSxhQUFhLEVBQVFXLEtBQUssRUFBRSxDQUFDLENBQUM7TUFDMUMsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPVixXQUFXO0VBQ3BCLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDUiJ9","import createCache from '@emotion/cache';\nimport { serializeStyles } from '@emotion/serialize';\nimport { getRegisteredStyles, insertStyles } from '@emotion/utils';\n\nfunction insertWithoutScoping(cache, serialized) {\n if (cache.inserted[serialized.name] === undefined) {\n return cache.insert('', serialized, cache.sheet, true);\n }\n}\n\nfunction merge(registered, css, className) {\n var registeredStyles = [];\n var rawClassName = getRegisteredStyles(registered, registeredStyles, className);\n\n if (registeredStyles.length < 2) {\n return className;\n }\n\n return rawClassName + css(registeredStyles);\n}\n\nvar createEmotion = function createEmotion(options) {\n var cache = createCache(options); // $FlowFixMe\n\n cache.sheet.speedy = function (value) {\n if (process.env.NODE_ENV !== 'production' && this.ctr !== 0) {\n throw new Error('speedy must be changed before any rules are inserted');\n }\n\n this.isSpeedy = value;\n };\n\n cache.compat = true;\n\n var css = function css() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var serialized = serializeStyles(args, cache.registered, undefined);\n insertStyles(cache, serialized, false);\n return cache.key + \"-\" + serialized.name;\n };\n\n var keyframes = function keyframes() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n var animation = \"animation-\" + serialized.name;\n insertWithoutScoping(cache, {\n name: serialized.name,\n styles: \"@keyframes \" + animation + \"{\" + serialized.styles + \"}\"\n });\n return animation;\n };\n\n var injectGlobal = function injectGlobal() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n var serialized = serializeStyles(args, cache.registered);\n insertWithoutScoping(cache, serialized);\n };\n\n var cx = function cx() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return merge(cache.registered, css, classnames(args));\n };\n\n return {\n css: css,\n cx: cx,\n injectGlobal: injectGlobal,\n keyframes: keyframes,\n hydrate: function hydrate(ids) {\n ids.forEach(function (key) {\n cache.inserted[key] = true;\n });\n },\n flush: function flush() {\n cache.registered = {};\n cache.inserted = {};\n cache.sheet.flush();\n },\n // $FlowFixMe\n sheet: cache.sheet,\n cache: cache,\n getRegisteredStyles: getRegisteredStyles.bind(null, cache.registered),\n merge: merge.bind(null, cache.registered, css)\n };\n};\n\nvar classnames = function classnames(args) {\n var cls = '';\n\n for (var i = 0; i < args.length; i++) {\n var arg = args[i];\n if (arg == null) continue;\n var toAdd = void 0;\n\n switch (typeof arg) {\n case 'boolean':\n break;\n\n case 'object':\n {\n if (Array.isArray(arg)) {\n toAdd = classnames(arg);\n } else {\n toAdd = '';\n\n for (var k in arg) {\n if (arg[k] && k) {\n toAdd && (toAdd += ' ');\n toAdd += k;\n }\n }\n }\n\n break;\n }\n\n default:\n {\n toAdd = arg;\n }\n }\n\n if (toAdd) {\n cls && (cls += ' ');\n cls += toAdd;\n }\n }\n\n return cls;\n};\n\nexport default createEmotion;\n","import _createForOfIteratorHelper from \"@babel/runtime-corejs3/helpers/createForOfIteratorHelper\";\nimport _findInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/find\";\nimport _lastIndexOfInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/last-index-of\";\nimport _spliceInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/splice\";\nimport _includesInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/includes\";\nimport createEmotion from '@emotion/css/create-instance';\nimport { useEffect, useMemo } from 'react';\nimport createCSSKey from '../../util/createCSSKey';\nvar sharedEmotionInstances = [];\nexport default function useEmotion(nonce, container) {\n var emotion = useMemo(function () {\n var sharedEmotion = _findInstanceProperty(sharedEmotionInstances).call(sharedEmotionInstances, function (_ref) {\n var sheet = _ref.sheet;\n return sheet.nonce === nonce && sheet.container === container;\n });\n var emotion = sharedEmotion !== null && sharedEmotion !== void 0 ? sharedEmotion : createEmotion({\n container: container,\n key: \"react-film--css-\".concat(createCSSKey()),\n nonce: nonce\n });\n sharedEmotionInstances.push(emotion);\n return emotion;\n }, [container, nonce]);\n useEffect(function () {\n return function () {\n var _emotion$sheet;\n var index = _lastIndexOfInstanceProperty(sharedEmotionInstances).call(sharedEmotionInstances, emotion);\n\n // Reduce ref count for the specific emotion instance.\n ~index && _spliceInstanceProperty(sharedEmotionInstances).call(sharedEmotionInstances, index, 1);\n if (!_includesInstanceProperty(sharedEmotionInstances).call(sharedEmotionInstances, emotion) && (_emotion$sheet = emotion.sheet) !== null && _emotion$sheet !== void 0 && _emotion$sheet.tags) {\n // No more hooks use this emotion object, we can clean up the container for stuff we added.\n var _iterator = _createForOfIteratorHelper(emotion.sheet.tags),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var child = _step.value;\n child.remove();\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n };\n }, [emotion]);\n return emotion;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGVFbW90aW9uIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsImNyZWF0ZUNTU0tleSIsInNoYXJlZEVtb3Rpb25JbnN0YW5jZXMiLCJ1c2VFbW90aW9uIiwibm9uY2UiLCJjb250YWluZXIiLCJlbW90aW9uIiwic2hhcmVkRW1vdGlvbiIsInNoZWV0Iiwia2V5IiwicHVzaCIsImluZGV4IiwidGFncyIsImNoaWxkIiwicmVtb3ZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2hvb2tzL2ludGVybmFsL3VzZUVtb3Rpb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNyZWF0ZUVtb3Rpb24gZnJvbSAnQGVtb3Rpb24vY3NzL2NyZWF0ZS1pbnN0YW5jZSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBjcmVhdGVDU1NLZXkgZnJvbSAnLi4vLi4vdXRpbC9jcmVhdGVDU1NLZXknO1xuXG5jb25zdCBzaGFyZWRFbW90aW9uSW5zdGFuY2VzID0gW107XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUVtb3Rpb24obm9uY2UsIGNvbnRhaW5lcikge1xuICBjb25zdCBlbW90aW9uID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3Qgc2hhcmVkRW1vdGlvbiA9IHNoYXJlZEVtb3Rpb25JbnN0YW5jZXMuZmluZChcbiAgICAgICh7IHNoZWV0IH0pID0+IHNoZWV0Lm5vbmNlID09PSBub25jZSAmJiBzaGVldC5jb250YWluZXIgPT09IGNvbnRhaW5lclxuICAgICk7XG4gICAgY29uc3QgZW1vdGlvbiA9IHNoYXJlZEVtb3Rpb24gPz8gY3JlYXRlRW1vdGlvbih7IGNvbnRhaW5lciwga2V5OiBgcmVhY3QtZmlsbS0tY3NzLSR7Y3JlYXRlQ1NTS2V5KCl9YCwgbm9uY2UgfSk7XG5cbiAgICBzaGFyZWRFbW90aW9uSW5zdGFuY2VzLnB1c2goZW1vdGlvbik7XG5cbiAgICByZXR1cm4gZW1vdGlvbjtcbiAgfSwgW2NvbnRhaW5lciwgbm9uY2VdKTtcblxuICB1c2VFZmZlY3QoXG4gICAgKCkgPT4gKCkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSBzaGFyZWRFbW90aW9uSW5zdGFuY2VzLmxhc3RJbmRleE9mKGVtb3Rpb24pO1xuXG4gICAgICAvLyBSZWR1Y2UgcmVmIGNvdW50IGZvciB0aGUgc3BlY2lmaWMgZW1vdGlvbiBpbnN0YW5jZS5cbiAgICAgIH5pbmRleCAmJiBzaGFyZWRFbW90aW9uSW5zdGFuY2VzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgIGlmICghc2hhcmVkRW1vdGlvbkluc3RhbmNlcy5pbmNsdWRlcyhlbW90aW9uKSAmJiBlbW90aW9uLnNoZWV0Py50YWdzKSB7XG4gICAgICAgIC8vIE5vIG1vcmUgaG9va3MgdXNlIHRoaXMgZW1vdGlvbiBvYmplY3QsIHdlIGNhbiBjbGVhbiB1cCB0aGUgY29udGFpbmVyIGZvciBzdHVmZiB3ZSBhZGRlZC5cbiAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBlbW90aW9uLnNoZWV0LnRhZ3MpIHtcbiAgICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gICAgW2Vtb3Rpb25dXG4gICk7XG5cbiAgcmV0dXJuIGVtb3Rpb247XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBT0EsYUFBYSxNQUFNLDhCQUE4QjtBQUN4RCxTQUFTQyxTQUFTLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBRTFDLE9BQU9DLFlBQVksTUFBTSx5QkFBeUI7QUFFbEQsSUFBTUMsc0JBQXNCLEdBQUcsRUFBRTtBQUVqQyxlQUFlLFNBQVNDLFVBQVUsQ0FBQ0MsS0FBSyxFQUFFQyxTQUFTLEVBQUU7RUFDbkQsSUFBTUMsT0FBTyxHQUFHTixPQUFPLENBQUMsWUFBTTtJQUM1QixJQUFNTyxhQUFhLEdBQUcsc0JBQUFMLHNCQUFzQixPQUF0QkEsc0JBQXNCLEVBQzFDO01BQUEsSUFBR00sS0FBSyxRQUFMQSxLQUFLO01BQUEsT0FBT0EsS0FBSyxDQUFDSixLQUFLLEtBQUtBLEtBQUssSUFBSUksS0FBSyxDQUFDSCxTQUFTLEtBQUtBLFNBQVM7SUFBQSxFQUN0RTtJQUNELElBQU1DLE9BQU8sR0FBR0MsYUFBYSxhQUFiQSxhQUFhLGNBQWJBLGFBQWEsR0FBSVQsYUFBYSxDQUFDO01BQUVPLFNBQVMsRUFBVEEsU0FBUztNQUFFSSxHQUFHLDRCQUFxQlIsWUFBWSxFQUFFLENBQUU7TUFBRUcsS0FBSyxFQUFMQTtJQUFNLENBQUMsQ0FBQztJQUU5R0Ysc0JBQXNCLENBQUNRLElBQUksQ0FBQ0osT0FBTyxDQUFDO0lBRXBDLE9BQU9BLE9BQU87RUFDaEIsQ0FBQyxFQUFFLENBQUNELFNBQVMsRUFBRUQsS0FBSyxDQUFDLENBQUM7RUFFdEJMLFNBQVMsQ0FDUDtJQUFBLE9BQU0sWUFBTTtNQUFBO01BQ1YsSUFBTVksS0FBSyxHQUFHLDZCQUFBVCxzQkFBc0IsT0FBdEJBLHNCQUFzQixFQUFhSSxPQUFPLENBQUM7O01BRXpEO01BQ0EsQ0FBQ0ssS0FBSyxJQUFJLHdCQUFBVCxzQkFBc0IsT0FBdEJBLHNCQUFzQixFQUFRUyxLQUFLLEVBQUUsQ0FBQyxDQUFDO01BRWpELElBQUksQ0FBQywwQkFBQVQsc0JBQXNCLE9BQXRCQSxzQkFBc0IsRUFBVUksT0FBTyxDQUFDLHNCQUFJQSxPQUFPLENBQUNFLEtBQUssMkNBQWIsZUFBZUksSUFBSSxFQUFFO1FBQ3BFO1FBQUEsMkNBQ29CTixPQUFPLENBQUNFLEtBQUssQ0FBQ0ksSUFBSTtVQUFBO1FBQUE7VUFBdEMsb0RBQXdDO1lBQUEsSUFBN0JDLEtBQUs7WUFDZEEsS0FBSyxDQUFDQyxNQUFNLEVBQUU7VUFDaEI7UUFBQztVQUFBO1FBQUE7VUFBQTtRQUFBO01BQ0g7SUFDRixDQUFDO0VBQUEsR0FDRCxDQUFDUixPQUFPLENBQUMsQ0FDVjtFQUVELE9BQU9BLE9BQU87QUFDaEIifQ==","import _typeof from \"./typeof.js\";\nimport _Object$defineProperty from \"@babel/runtime-corejs3/core-js/object/define-property\";\nimport _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _Object$create from \"@babel/runtime-corejs3/core-js/object/create\";\nimport _Object$getPrototypeOf from \"@babel/runtime-corejs3/core-js/object/get-prototype-of\";\nimport _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/for-each\";\nimport _Object$setPrototypeOf from \"@babel/runtime-corejs3/core-js/object/set-prototype-of\";\nimport _Promise from \"@babel/runtime-corejs3/core-js/promise\";\nimport _reverseInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/reverse\";\nimport _sliceInstanceProperty from \"@babel/runtime-corejs3/core-js/instance/slice\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = _Object$defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof _Symbol ? _Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return _Object$defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = _Object$create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = _Object$getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = _Object$create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n var _context;\n _forEachInstanceProperty(_context = [\"next\", \"throw\", \"return\"]).call(_context, function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], _forEachInstanceProperty(tryLocsList).call(tryLocsList, pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return _Object$setPrototypeOf ? _Object$setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = _Object$create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = _Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) keys.push(key);\n return _reverseInstanceProperty(keys).call(keys), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n var _context2;\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, _forEachInstanceProperty(_context2 = this.tryEntries).call(_context2, resetTryEntry), !skipTempReset) for (var name in this) \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+_sliceInstanceProperty(name).call(name, 1)) && (this[name] = undefined);\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","import _Promise from \"@babel/runtime-corejs3/core-js/promise\";\nfunction asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n _Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new _Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _regeneratorRuntime from \"@babel/runtime-corejs3/helpers/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime-corejs3/helpers/asyncToGenerator\";\nimport _Promise from \"@babel/runtime-corejs3/core-js-stable/promise\";\nimport _setTimeout from \"@babel/runtime-corejs3/core-js-stable/set-timeout\";\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 100] }] */\n\nimport memoize from 'memoize-one';\nimport { useEffect } from 'react';\nimport debounce from '../../util/debounce';\nfunction sleepZero() {\n return new _Promise(function (resolve) {\n return _setTimeout(function () {\n return resolve();\n });\n });\n}\nexport default function useObserveScrollLeft(callbackRefWithSubscribe, observer) {\n useEffect(function () {\n return callbackRefWithSubscribe.subscribe(function (current) {\n if (!current) {\n return;\n }\n var memoizedEmitValue = memoize(function (initial, fraction, width) {\n return observer && observer({\n initial: initial,\n fraction: fraction,\n width: width\n });\n });\n var emitValue = function emitValue(initial) {\n var offsetWidth = current.offsetWidth,\n scrollLeft = current.scrollLeft,\n scrollWidth = current.scrollWidth;\n memoizedEmitValue(initial, \"\".concat(scrollWidth === offsetWidth ? 0 : scrollLeft / (scrollWidth - offsetWidth) * 100, \"%\"), \"\".concat(offsetWidth / scrollWidth * 100, \"%\"));\n };\n var handleScroll = function handleScroll() {\n return emitValue(false);\n };\n var handlePointerOver = debounce(function () {\n // We need to send \"onScroll\" because \"scrollWidth\" might have changed\n // For example, the container resized, the scroll width will be incorrect\n // We will debounce to prevent \"pointerOver\" calculating too often\n // We will memoize to prevent firing unnecessary \"onScroll\"\n emitValue(false);\n });\n current.addEventListener('pointerover', handlePointerOver, {\n passive: true\n });\n current.addEventListener('scroll', handleScroll, {\n passive: true\n });\n\n // eslint-disable-next-line wrap-iife\n _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n if (!(current.scrollWidth === current.offsetWidth)) {\n _context.next = 3;\n break;\n }\n _context.next = 3;\n return sleepZero();\n case 3:\n emitValue(true);\n case 4:\n case \"end\":\n return _context.stop();\n }\n }, _callee);\n }))();\n return function () {\n current.removeEventListener('pointerover', handlePointerOver);\n current.removeEventListener('scroll', handleScroll);\n };\n });\n }, [callbackRefWithSubscribe, observer]);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZW1vaXplIiwidXNlRWZmZWN0IiwiZGVib3VuY2UiLCJzbGVlcFplcm8iLCJyZXNvbHZlIiwidXNlT2JzZXJ2ZVNjcm9sbExlZnQiLCJjYWxsYmFja1JlZldpdGhTdWJzY3JpYmUiLCJvYnNlcnZlciIsInN1YnNjcmliZSIsImN1cnJlbnQiLCJtZW1vaXplZEVtaXRWYWx1ZSIsImluaXRpYWwiLCJmcmFjdGlvbiIsIndpZHRoIiwiZW1pdFZhbHVlIiwib2Zmc2V0V2lkdGgiLCJzY3JvbGxMZWZ0Iiwic2Nyb2xsV2lkdGgiLCJoYW5kbGVTY3JvbGwiLCJoYW5kbGVQb2ludGVyT3ZlciIsImFkZEV2ZW50TGlzdGVuZXIiLCJwYXNzaXZlIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VPYnNlcnZlU2Nyb2xsTGVmdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMCwgMTAwXSB9XSAqL1xuXG5pbXBvcnQgbWVtb2l6ZSBmcm9tICdtZW1vaXplLW9uZSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBkZWJvdW5jZSBmcm9tICcuLi8uLi91dGlsL2RlYm91bmNlJztcblxuZnVuY3Rpb24gc2xlZXBaZXJvKCkge1xuICByZXR1cm4gbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUoKSkpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VPYnNlcnZlU2Nyb2xsTGVmdChjYWxsYmFja1JlZldpdGhTdWJzY3JpYmUsIG9ic2VydmVyKSB7XG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgY2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLnN1YnNjcmliZShjdXJyZW50ID0+IHtcbiAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWVtb2l6ZWRFbWl0VmFsdWUgPSBtZW1vaXplKFxuICAgICAgICAgIChpbml0aWFsLCBmcmFjdGlvbiwgd2lkdGgpID0+IG9ic2VydmVyICYmIG9ic2VydmVyKHsgaW5pdGlhbCwgZnJhY3Rpb24sIHdpZHRoIH0pXG4gICAgICAgICk7XG5cbiAgICAgICAgY29uc3QgZW1pdFZhbHVlID0gaW5pdGlhbCA9PiB7XG4gICAgICAgICAgY29uc3QgeyBvZmZzZXRXaWR0aCwgc2Nyb2xsTGVmdCwgc2Nyb2xsV2lkdGggfSA9IGN1cnJlbnQ7XG5cbiAgICAgICAgICBtZW1vaXplZEVtaXRWYWx1ZShcbiAgICAgICAgICAgIGluaXRpYWwsXG4gICAgICAgICAgICBgJHtzY3JvbGxXaWR0aCA9PT0gb2Zmc2V0V2lkdGggPyAwIDogKHNjcm9sbExlZnQgLyAoc2Nyb2xsV2lkdGggLSBvZmZzZXRXaWR0aCkpICogMTAwfSVgLFxuICAgICAgICAgICAgYCR7KG9mZnNldFdpZHRoIC8gc2Nyb2xsV2lkdGgpICogMTAwfSVgXG4gICAgICAgICAgKTtcbiAgICAgICAgfTtcblxuICAgICAgICBjb25zdCBoYW5kbGVTY3JvbGwgPSAoKSA9PiBlbWl0VmFsdWUoZmFsc2UpO1xuXG4gICAgICAgIGNvbnN0IGhhbmRsZVBvaW50ZXJPdmVyID0gZGVib3VuY2UoKCkgPT4ge1xuICAgICAgICAgIC8vIFdlIG5lZWQgdG8gc2VuZCBcIm9uU2Nyb2xsXCIgYmVjYXVzZSBcInNjcm9sbFdpZHRoXCIgbWlnaHQgaGF2ZSBjaGFuZ2VkXG4gICAgICAgICAgLy8gRm9yIGV4YW1wbGUsIHRoZSBjb250YWluZXIgcmVzaXplZCwgdGhlIHNjcm9sbCB3aWR0aCB3aWxsIGJlIGluY29ycmVjdFxuICAgICAgICAgIC8vIFdlIHdpbGwgZGVib3VuY2UgdG8gcHJldmVudCBcInBvaW50ZXJPdmVyXCIgY2FsY3VsYXRpbmcgdG9vIG9mdGVuXG4gICAgICAgICAgLy8gV2Ugd2lsbCBtZW1vaXplIHRvIHByZXZlbnQgZmlyaW5nIHVubmVjZXNzYXJ5IFwib25TY3JvbGxcIlxuICAgICAgICAgIGVtaXRWYWx1ZShmYWxzZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGN1cnJlbnQuYWRkRXZlbnRMaXN0ZW5lcigncG9pbnRlcm92ZXInLCBoYW5kbGVQb2ludGVyT3ZlciwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuICAgICAgICBjdXJyZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCwgeyBwYXNzaXZlOiB0cnVlIH0pO1xuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSB3cmFwLWlpZmVcbiAgICAgICAgKGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoY3VycmVudC5zY3JvbGxXaWR0aCA9PT0gY3VycmVudC5vZmZzZXRXaWR0aCkge1xuICAgICAgICAgICAgLy8gSEFDSzogQ2hyb21lIDY2IHdpbGwgaW5pdGlhbGx5IHNheSBzY3JvbGxXaWR0aCBlcXVhbHMgdG8gb2Zmc2V0V2lkdGgsIHVudGlsIHNvbWUgdGltZSBsYXRlclxuICAgICAgICAgICAgYXdhaXQgc2xlZXBaZXJvKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZW1pdFZhbHVlKHRydWUpO1xuICAgICAgICB9KSgpO1xuXG4gICAgICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAgICAgY3VycmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVyb3ZlcicsIGhhbmRsZVBvaW50ZXJPdmVyKTtcbiAgICAgICAgICBjdXJyZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbCk7XG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICBbY2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLCBvYnNlcnZlcl1cbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBOztBQUVBLE9BQU9BLE9BQU8s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","import _setTimeout from \"@babel/runtime-corejs3/core-js-stable/set-timeout\";\nimport _Date$now from \"@babel/runtime-corejs3/core-js-stable/date/now\";\nfunction later(fn, interval) {\n if (interval > 0) {\n return _setTimeout(fn, interval);\n }\n fn();\n}\nexport default function (fn, interval) {\n var last = 0;\n var timeout;\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n timeout || (timeout = later(function () {\n timeout = null;\n last = _Date$now();\n fn.apply(void 0, args);\n }, interval + last - _Date$now()));\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsYXRlciIsImZuIiwiaW50ZXJ2YWwiLCJsYXN0IiwidGltZW91dCIsImFyZ3MiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9kZWJvdW5jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJmdW5jdGlvbiBsYXRlcihmbiwgaW50ZXJ2YWwpIHtcbiAgaWYgKGludGVydmFsID4gMCkge1xuICAgIHJldHVybiBzZXRUaW1lb3V0KGZuLCBpbnRlcnZhbCk7XG4gIH1cblxuICBmbigpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZm4sIGludGVydmFsKSB7XG4gIGxldCBsYXN0ID0gMDtcbiAgbGV0IHRpbWVvdXQ7XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgdGltZW91dCB8fFxuICAgICAgKHRpbWVvdXQgPSBsYXRlcigoKSA9PiB7XG4gICAgICAgIHRpbWVvdXQgPSBudWxsO1xuICAgICAgICBsYXN0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgZm4oLi4uYXJncyk7XG4gICAgICB9LCBpbnRlcnZhbCArIGxhc3QgLSBEYXRlLm5vdygpKSk7XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsS0FBSyxDQUFDQyxFQUFFLEVBQUVDLFFBQVEsRUFBRTtFQUMzQixJQUFJQSxRQUFRLEdBQUcsQ0FBQyxFQUFFO0lBQ2hCLE9BQU8sWUFBV0QsRUFBRSxFQUFFQyxRQUFRLENBQUM7RUFDakM7RUFFQUQsRUFBRSxFQUFFO0FBQ047QUFFQSxlQUFlLFVBQVVBLEVBQUUsRUFBRUMsUUFBUSxFQUFFO0VBQ3JDLElBQUlDLElBQUksR0FBRyxDQUFDO0VBQ1osSUFBSUMsT0FBTztFQUVYLE9BQU8sWUFBbUI7SUFBQSxrQ0FBTkMsSUFBSTtNQUFKQSxJQUFJO0lBQUE7SUFDdEJELE9BQU8sS0FDSkEsT0FBTyxHQUFHSixLQUFLLENBQUMsWUFBTTtNQUNyQkksT0FBTyxHQUFHLElBQUk7TUFDZEQsSUFBSSxHQUFHLFdBQVU7TUFDakJGLEVBQUUsZUFBSUksSUFBSSxDQUFDO0lBQ2IsQ0FBQyxFQUFFSCxRQUFRLEdBQUdDLElBQUksR0FBRyxXQUFVLENBQUMsQ0FBQztFQUNyQyxDQUFDO0FBQ0gifQ==","import _objectSpread from \"@babel/runtime-corejs3/helpers/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport _Object$fromEntries from \"@babel/runtime-corejs3/core-js-stable/object/from-entries\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport _Object$entries from \"@babel/runtime-corejs3/core-js-stable/object/entries\";\nimport _setTimeout from \"@babel/runtime-corejs3/core-js-stable/set-timeout\";\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport AutoCenter from './AutoCenter';\nimport computeScrollLeft from './computeScrollLeft';\nimport createBasicStyleSet from './createBasicStyleSet';\nimport FunctionContext from './FunctionContext';\nimport getView from './getView';\nimport InternalContext from './InternalContext';\nimport LegacyContext from './LegacyContext';\nimport patchStyleOptions from './patchStyleOptions';\nimport PropsContext from './PropsContext';\nimport useAnimateScrollLeft from './hooks/internal/useAnimateScrollLeft';\nimport useCallbackRefWithSubscribe from './hooks/internal/useCallbackRefWithSubscribe';\nimport useEmotion from './hooks/internal/useEmotion';\nimport useObserveScrollLeft from './hooks/internal/useObserveScrollLeft';\nimport ViewContext from './ViewContext';\nvar Composer = function Composer(_ref) {\n var children = _ref.children,\n dir = _ref.dir,\n height = _ref.height,\n nonce = _ref.nonce,\n numItems = _ref.numItems,\n styleOptions = _ref.styleOptions,\n styleSet = _ref.styleSet;\n dir = dir === 'ltr' || dir === 'rtl' ? dir : undefined;\n var patchedStyleOptions = useMemo(function () {\n return patchStyleOptions(styleOptions);\n }, [styleOptions]);\n var patchedStyleSet = useMemo(function () {\n return styleSet || createBasicStyleSet(patchedStyleOptions);\n }, [patchedStyleOptions, styleSet]);\n var emotion = useEmotion(nonce, styleOptions.stylesRoot);\n var styleSetClassNames = useMemo(function () {\n var _context;\n return _Object$fromEntries(_mapInstanceProperty(_context = _Object$entries(patchedStyleSet)).call(_context, function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n name = _ref3[0],\n style = _ref3[1];\n return [name, emotion.css(style) + ''];\n }));\n }, [emotion, patchedStyleSet]);\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n _ = _useState2[0],\n forceRender = _useState2[1];\n var itemContainerCallbackRefWithSubscribe = useCallbackRefWithSubscribe();\n var scrollableCallbackRefWithSubscribe = useCallbackRefWithSubscribe();\n var scrollLeftRef = useRef(null);\n var scrollTimeoutRef = useRef();\n useEffect(function () {\n return function () {\n return clearTimeout(scrollTimeoutRef.current);\n };\n }, [scrollTimeoutRef]);\n var scrollTo = useCallback(function (scrollFn) {\n var view = getView(dir, scrollableCallbackRefWithSubscribe.current, itemContainerCallbackRefWithSubscribe.current, scrollLeftRef.current);\n if (view) {\n var index = view.index,\n indexFraction = view.indexFraction;\n var targetIndex = scrollFn({\n index: index,\n indexFraction: indexFraction\n });\n if (typeof targetIndex === 'number') {\n scrollLeftRef.current = computeScrollLeft(dir, scrollableCallbackRefWithSubscribe.current, itemContainerCallbackRefWithSubscribe.current, targetIndex);\n forceRender({});\n }\n }\n }, [dir, forceRender, itemContainerCallbackRefWithSubscribe, scrollableCallbackRefWithSubscribe, scrollLeftRef]);\n var scrollOneLeft = useCallback(function () {\n scrollTo(function (_ref4) {\n var indexFraction = _ref4.indexFraction;\n return dir === 'rtl' ? Math.floor(indexFraction) + 1 : Math.ceil(indexFraction) - 1;\n });\n }, [dir, scrollTo]);\n var scrollOneRight = useCallback(function () {\n scrollTo(function (_ref5) {\n var indexFraction = _ref5.indexFraction;\n return dir === 'rtl' ? Math.ceil(indexFraction) - 1 : Math.floor(indexFraction) + 1;\n });\n }, [dir, scrollTo]);\n var functionContext = useMemo(function () {\n return {\n scrollTo: scrollTo,\n scrollOneLeft: scrollOneLeft,\n scrollOneRight: scrollOneRight\n };\n }, [scrollTo, scrollOneLeft, scrollOneRight]);\n var internalContext = useMemo(function () {\n return {\n itemContainerCallbackRefWithSubscribe: itemContainerCallbackRefWithSubscribe,\n scrollableCallbackRefWithSubscribe: scrollableCallbackRefWithSubscribe\n };\n }, [itemContainerCallbackRefWithSubscribe, scrollableCallbackRefWithSubscribe]);\n var propsContext = useMemo(function () {\n return {\n dir: dir,\n height: height,\n nonce: nonce,\n numItems: numItems,\n styleOptions: patchedStyleOptions,\n styleSetClassNames: styleSetClassNames\n };\n }, [dir, height, nonce, numItems, patchedStyleOptions, styleSetClassNames]);\n var _useState3 = useState({\n index: 0,\n indexFraction: 0,\n scrollBarPercentage: '0%',\n scrollBarWidth: '0%',\n scrolling: false\n }),\n _useState4 = _slicedToArray(_useState3, 2),\n viewContext = _useState4[0],\n setViewContext = _useState4[1];\n\n // This will setViewContext and reset the \"scrolling\" flag after a period of time.\n var setViewContext2 = useCallback(function (nextViewContext) {\n setViewContext(nextViewContext);\n clearTimeout(scrollTimeoutRef.current);\n if (nextViewContext.scrolling) {\n scrollTimeoutRef.current = _setTimeout(function () {\n return setViewContext(_objectSpread(_objectSpread({}, nextViewContext), {}, {\n scrolling: false\n }));\n },\n // eslint-disable-next-line no-magic-numbers\n 500);\n }\n }, [scrollTimeoutRef, setViewContext]);\n var handleScroll = useCallback(function (_ref6) {\n var scrollBarPercentage = _ref6.fraction,\n initial = _ref6.initial,\n scrollBarWidth = _ref6.width;\n var view = getView(dir, scrollableCallbackRefWithSubscribe.current, itemContainerCallbackRefWithSubscribe.current, scrollLeftRef.current);\n if (view) {\n var index = view.index,\n indexFraction = view.indexFraction;\n setViewContext2({\n index: index,\n indexFraction: indexFraction,\n scrolling: !initial,\n scrollBarPercentage: scrollBarPercentage,\n scrollBarWidth: scrollBarWidth\n });\n }\n }, [dir, itemContainerCallbackRefWithSubscribe, scrollableCallbackRefWithSubscribe, scrollLeftRef, setViewContext2]);\n var handleScrollToEnd = useCallback(function () {\n scrollLeftRef.current = null;\n forceRender({});\n }, [forceRender, scrollLeftRef]);\n var legacyContext = useMemo(function () {\n return _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, functionContext), internalContext), propsContext), viewContext);\n }, [functionContext, internalContext, propsContext, viewContext]);\n useAnimateScrollLeft(typeof scrollLeftRef.current === 'number' && scrollableCallbackRefWithSubscribe.current, scrollLeftRef.current, handleScrollToEnd);\n useEffect(function () {\n return scrollableCallbackRefWithSubscribe.subscribe(function (current) {\n if (current) {\n current.addEventListener('pointerdown', handleScrollToEnd, {\n passive: true\n });\n return function () {\n return current.removeEventListener('pointerdown', handleScrollToEnd);\n };\n }\n });\n }, [handleScrollToEnd, scrollableCallbackRefWithSubscribe]);\n useObserveScrollLeft(scrollableCallbackRefWithSubscribe, handleScroll);\n return /*#__PURE__*/React.createElement(PropsContext.Provider, {\n value: propsContext\n }, /*#__PURE__*/React.createElement(InternalContext.Provider, {\n value: internalContext\n }, /*#__PURE__*/React.createElement(FunctionContext.Provider, {\n value: functionContext\n }, /*#__PURE__*/React.createElement(ViewContext.Provider, {\n value: viewContext\n }, /*#__PURE__*/React.createElement(LegacyContext.Provider, {\n value: legacyContext\n }, children, patchedStyleOptions.autoCenter && /*#__PURE__*/React.createElement(AutoCenter, null))))));\n};\nComposer.defaultProps = {\n children: undefined,\n dir: undefined,\n height: undefined,\n nonce: undefined,\n styleOptions: undefined,\n styleSet: undefined\n};\nComposer.propTypes = {\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.element), PropTypes.element]),\n dir: PropTypes.oneOf(['ltr', 'rtl']),\n height: PropTypes.number,\n nonce: PropTypes.string,\n numItems: PropTypes.number.isRequired,\n styleOptions: PropTypes.any,\n styleSet: PropTypes.any\n};\nexport default Composer;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwiQXV0b0NlbnRlciIsImNvbXB1dGVTY3JvbGxMZWZ0IiwiY3JlYXRlQmFzaWNTdHlsZVNldCIsIkZ1bmN0aW9uQ29udGV4dCIsImdldFZpZXciLCJJbnRlcm5hbENvbnRleHQiLCJMZWdhY3lDb250ZXh0IiwicGF0Y2hTdHlsZU9wdGlvbnMiLCJQcm9wc0NvbnRleHQiLCJ1c2VBbmltYXRlU2Nyb2xsTGVmdCIsInVzZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSIsInVzZUVtb3Rpb24iLCJ1c2VPYnNlcnZlU2Nyb2xsTGVmdCIsIlZpZXdDb250ZXh0IiwiQ29tcG9zZXIiLCJjaGlsZHJlbiIsImRpciIsImhlaWdodCIsIm5vbmNlIiwibnVtSXRlbXMiLCJzdHlsZU9wdGlvbnMiLCJzdHlsZVNldCIsInVuZGVmaW5lZCIsInBhdGNoZWRTdHlsZU9wdGlvbnMiLCJwYXRjaGVkU3R5bGVTZXQiLCJlbW90aW9uIiwic3R5bGVzUm9vdCIsInN0eWxlU2V0Q2xhc3NOYW1lcyIsIm5hbWUiLCJzdHlsZSIsImNzcyIsIl8iLCJmb3JjZVJlbmRlciIsIml0ZW1Db250YWluZXJDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUiLCJzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlIiwic2Nyb2xsTGVmdFJlZiIsInNjcm9sbFRpbWVvdXRSZWYiLCJjbGVhclRpbWVvdXQiLCJjdXJyZW50Iiwic2Nyb2xsVG8iLCJzY3JvbGxGbiIsInZpZXciLCJpbmRleCIsImluZGV4RnJhY3Rpb24iLCJ0YXJnZXRJbmRleCIsInNjcm9sbE9uZUxlZnQiLCJNYXRoIiwiZmxvb3IiLCJjZWlsIiwic2Nyb2xsT25lUmlnaHQiLCJmdW5jdGlvbkNvbnRleHQiLCJpbnRlcm5hbENvbnRleHQiLCJwcm9wc0NvbnRleHQiLCJzY3JvbGxCYXJQZXJjZW50YWdlIiwic2Nyb2xsQmFyV2lkdGgiLCJzY3JvbGxpbmciLCJ2aWV3Q29udGV4dCIsInNldFZpZXdDb250ZXh0Iiwic2V0Vmlld0NvbnRleHQyIiwibmV4dFZpZXdDb250ZXh0IiwiaGFuZGxlU2Nyb2xsIiwiZnJhY3Rpb24iLCJpbml0aWFsIiwid2lkdGgiLCJoYW5kbGVTY3JvbGxUb0VuZCIsImxlZ2FjeUNvbnRleHQiLCJzdWJzY3JpYmUiLCJhZGRFdmVudExpc3RlbmVyIiwicGFzc2l2ZSIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJhdXRvQ2VudGVyIiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIiwib25lT2ZUeXBlIiwiYXJyYXlPZiIsImVsZW1lbnQiLCJvbmVPZiIsIm51bWJlciIsInN0cmluZyIsImlzUmVxdWlyZWQiLCJhbnkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvQ29tcG9zZXIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQXV0b0NlbnRlciBmcm9tICcuL0F1dG9DZW50ZXInO1xuaW1wb3J0IGNvbXB1dGVTY3JvbGxMZWZ0IGZyb20gJy4vY29tcHV0ZVNjcm9sbExlZnQnO1xuaW1wb3J0IGNyZWF0ZUJhc2ljU3R5bGVTZXQgZnJvbSAnLi9jcmVhdGVCYXNpY1N0eWxlU2V0JztcbmltcG9ydCBGdW5jdGlvbkNvbnRleHQgZnJvbSAnLi9GdW5jdGlvbkNvbnRleHQnO1xuaW1wb3J0IGdldFZpZXcgZnJvbSAnLi9nZXRWaWV3JztcbmltcG9ydCBJbnRlcm5hbENvbnRleHQgZnJvbSAnLi9JbnRlcm5hbENvbnRleHQnO1xuaW1wb3J0IExlZ2FjeUNvbnRleHQgZnJvbSAnLi9MZWdhY3lDb250ZXh0JztcbmltcG9ydCBwYXRjaFN0eWxlT3B0aW9ucyBmcm9tICcuL3BhdGNoU3R5bGVPcHRpb25zJztcbmltcG9ydCBQcm9wc0NvbnRleHQgZnJvbSAnLi9Qcm9wc0NvbnRleHQnO1xuaW1wb3J0IHVzZUFuaW1hdGVTY3JvbGxMZWZ0IGZyb20gJy4vaG9va3MvaW50ZXJuYWwvdXNlQW5pbWF0ZVNjcm9sbExlZnQnO1xuaW1wb3J0IHVzZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSBmcm9tICcuL2hvb2tzL2ludGVybmFsL3VzZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSc7XG5pbXBvcnQgdXNlRW1vdGlvbiBmcm9tICcuL2hvb2tzL2ludGVybmFsL3VzZUVtb3Rpb24nO1xuaW1wb3J0IHVzZU9ic2VydmVTY3JvbGxMZWZ0IGZyb20gJy4vaG9va3MvaW50ZXJuYWwvdXNlT2JzZXJ2ZVNjcm9sbExlZnQnO1xuaW1wb3J0IFZpZXdDb250ZXh0IGZyb20gJy4vVmlld0NvbnRleHQnO1xuXG5jb25zdCBDb21wb3NlciA9ICh7IGNoaWxkcmVuLCBkaXIsIGhlaWdodCwgbm9uY2UsIG51bUl0ZW1zLCBzdHlsZU9wdGlvbnMsIHN0eWxlU2V0IH0pID0+IHtcbiAgZGlyID0gZGlyID09PSAnbHRyJyB8fCBkaXIgPT09ICdydGwnID8gZGlyIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHBhdGNoZWRTdHlsZU9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IHBhdGNoU3R5bGVPcHRpb25zKHN0eWxlT3B0aW9ucyksIFtzdHlsZU9wdGlvbnNdKTtcbiAgY29uc3QgcGF0Y2hlZFN0eWxlU2V0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBzdHlsZVNldCB8fCBjcmVhdGVCYXNpY1N0eWxlU2V0KHBhdGNoZWRTdHlsZU9wdGlvbnMpLFxuICAgIFtwYXRjaGVkU3R5bGVPcHRpb25zLCBzdHlsZVNldF1cbiAgKTtcblxuICBjb25zdCBlbW90aW9uID0gdXNlRW1vdGlvbihub25jZSwgc3R5bGVPcHRpb25zLnN0eWxlc1Jvb3QpO1xuICBjb25zdCBzdHlsZVNldENsYXNzTmFtZXMgPSB1c2VNZW1vKFxuICAgICgpID0+IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhwYXRjaGVkU3R5bGVTZXQpLm1hcCgoW25hbWUsIHN0eWxlXSkgPT4gW25hbWUsIGVtb3Rpb24uY3NzKHN0eWxlKSArICcnXSkpLFxuICAgIFtlbW90aW9uLCBwYXRjaGVkU3R5bGVTZXRdXG4gICk7XG5cbiAgY29uc3QgW18sIGZvcmNlUmVuZGVyXSA9IHVzZVN0YXRlKCk7XG4gIGNvbnN0IGl0ZW1Db250YWluZXJDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUgPSB1c2VDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUoKTtcbiAgY29uc3Qgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSA9IHVzZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSgpO1xuICBjb25zdCBzY3JvbGxMZWZ0UmVmID0gdXNlUmVmKG51bGwpO1xuICBjb25zdCBzY3JvbGxUaW1lb3V0UmVmID0gdXNlUmVmKCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+ICgpID0+IGNsZWFyVGltZW91dChzY3JvbGxUaW1lb3V0UmVmLmN1cnJlbnQpLCBbc2Nyb2xsVGltZW91dFJlZl0pO1xuXG4gIGNvbnN0IHNjcm9sbFRvID0gdXNlQ2FsbGJhY2soXG4gICAgc2Nyb2xsRm4gPT4ge1xuICAgICAgY29uc3QgdmlldyA9IGdldFZpZXcoXG4gICAgICAgIGRpcixcbiAgICAgICAgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZS5jdXJyZW50LFxuICAgICAgICBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLmN1cnJlbnQsXG4gICAgICAgIHNjcm9sbExlZnRSZWYuY3VycmVudFxuICAgICAgKTtcblxuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgY29uc3QgeyBpbmRleCwgaW5kZXhGcmFjdGlvbiB9ID0gdmlldztcbiAgICAgICAgY29uc3QgdGFyZ2V0SW5kZXggPSBzY3JvbGxGbih7IGluZGV4LCBpbmRleEZyYWN0aW9uIH0pO1xuXG4gICAgICAgIGlmICh0eXBlb2YgdGFyZ2V0SW5kZXggPT09ICdudW1iZXInKSB7XG4gICAgICAgICAgc2Nyb2xsTGVmdFJlZi5jdXJyZW50ID0gY29tcHV0ZVNjcm9sbExlZnQoXG4gICAgICAgICAgICBkaXIsXG4gICAgICAgICAgICBzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLmN1cnJlbnQsXG4gICAgICAgICAgICBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLmN1cnJlbnQsXG4gICAgICAgICAgICB0YXJnZXRJbmRleFxuICAgICAgICAgICk7XG4gICAgICAgICAgZm9yY2VSZW5kZXIoe30pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlyLCBmb3JjZVJlbmRlciwgaXRlbUNvbnRhaW5lckNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSwgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSwgc2Nyb2xsTGVmdFJlZl1cbiAgKTtcblxuICBjb25zdCBzY3JvbGxPbmVMZWZ0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNjcm9sbFRvKCh7IGluZGV4RnJhY3Rpb24gfSkgPT4gKGRpciA9PT0gJ3J0bCcgPyBNYXRoLmZsb29yKGluZGV4RnJhY3Rpb24pICsgMSA6IE1hdGguY2VpbChpbmRleEZyYWN0aW9uKSAtIDEpKTtcbiAgfSwgW2Rpciwgc2Nyb2xsVG9dKTtcblxuICBjb25zdCBzY3JvbGxPbmVSaWdodCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzY3JvbGxUbygoeyBpbmRleEZyYWN0aW9uIH0pID0+IChkaXIgPT09ICdydGwnID8gTWF0aC5jZWlsKGluZGV4RnJhY3Rpb24pIC0gMSA6IE1hdGguZmxvb3IoaW5kZXhGcmFjdGlvbikgKyAxKSk7XG4gIH0sIFtkaXIsIHNjcm9sbFRvXSk7XG5cbiAgY29uc3QgZnVuY3Rpb25Db250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgc2Nyb2xsVG8sXG4gICAgICBzY3JvbGxPbmVMZWZ0LFxuICAgICAgc2Nyb2xsT25lUmlnaHRcbiAgICB9KSxcbiAgICBbc2Nyb2xsVG8sIHNjcm9sbE9uZUxlZnQsIHNjcm9sbE9uZVJpZ2h0XVxuICApO1xuXG4gIGNvbnN0IGludGVybmFsQ29udGV4dCA9IHVzZU1lbW8oXG4gICAgKCkgPT4gKHtcbiAgICAgIGl0ZW1Db250YWluZXJDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUsXG4gICAgICBzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlXG4gICAgfSksXG4gICAgW2l0ZW1Db250YWluZXJDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUsIHNjcm9sbGFibGVDYWxsYmFja1JlZldpdGhTdWJzY3JpYmVdXG4gICk7XG5cbiAgY29uc3QgcHJvcHNDb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoeyBkaXIsIGhlaWdodCwgbm9uY2UsIG51bUl0ZW1zLCBzdHlsZU9wdGlvbnM6IHBhdGNoZWRTdHlsZU9wdGlvbnMsIHN0eWxlU2V0Q2xhc3NOYW1lcyB9KSxcbiAgICBbZGlyLCBoZWlnaHQsIG5vbmNlLCBudW1JdGVtcywgcGF0Y2hlZFN0eWxlT3B0aW9ucywgc3R5bGVTZXRDbGFzc05hbWVzXVxuICApO1xuXG4gIGNvbnN0IFt2aWV3Q29udGV4dCwgc2V0Vmlld0NvbnRleHRdID0gdXNlU3RhdGUoe1xuICAgIGluZGV4OiAwLFxuICAgIGluZGV4RnJhY3Rpb246IDAsXG4gICAgc2Nyb2xsQmFyUGVyY2VudGFnZTogJzAlJyxcbiAgICBzY3JvbGxCYXJXaWR0aDogJzAlJyxcbiAgICBzY3JvbGxpbmc6IGZhbHNlXG4gIH0pO1xuXG4gIC8vIFRoaXMgd2lsbCBzZXRWaWV3Q29udGV4dCBhbmQgcmVzZXQgdGhlIFwic2Nyb2xsaW5nXCIgZmxhZyBhZnRlciBhIHBlcmlvZCBvZiB0aW1lLlxuICBjb25zdCBzZXRWaWV3Q29udGV4dDIgPSB1c2VDYWxsYmFjayhcbiAgICBuZXh0Vmlld0NvbnRleHQgPT4ge1xuICAgICAgc2V0Vmlld0NvbnRleHQobmV4dFZpZXdDb250ZXh0KTtcblxuICAgICAgY2xlYXJUaW1lb3V0KHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCk7XG5cbiAgICAgIGlmIChuZXh0Vmlld0NvbnRleHQuc2Nyb2xsaW5nKSB7XG4gICAgICAgIHNjcm9sbFRpbWVvdXRSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoXG4gICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgIHNldFZpZXdDb250ZXh0KHtcbiAgICAgICAgICAgICAgLi4ubmV4dFZpZXdDb250ZXh0LFxuICAgICAgICAgICAgICBzY3JvbGxpbmc6IGZhbHNlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgICAgIDUwMFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3Njcm9sbFRpbWVvdXRSZWYsIHNldFZpZXdDb250ZXh0XVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IGZyYWN0aW9uOiBzY3JvbGxCYXJQZXJjZW50YWdlLCBpbml0aWFsLCB3aWR0aDogc2Nyb2xsQmFyV2lkdGggfSkgPT4ge1xuICAgICAgY29uc3QgdmlldyA9IGdldFZpZXcoXG4gICAgICAgIGRpcixcbiAgICAgICAgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZS5jdXJyZW50LFxuICAgICAgICBpdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlLmN1cnJlbnQsXG4gICAgICAgIHNjcm9sbExlZnRSZWYuY3VycmVudFxuICAgICAgKTtcblxuICAgICAgaWYgKHZpZXcpIHtcbiAgICAgICAgY29uc3QgeyBpbmRleCwgaW5kZXhGcmFjdGlvbiB9ID0gdmlldztcblxuICAgICAgICBzZXRWaWV3Q29udGV4dDIoe1xuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGluZGV4RnJhY3Rpb24sXG4gICAgICAgICAgc2Nyb2xsaW5nOiAhaW5pdGlhbCxcbiAgICAgICAgICBzY3JvbGxCYXJQZXJjZW50YWdlLFxuICAgICAgICAgIHNjcm9sbEJhcldpZHRoXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2RpciwgaXRlbUNvbnRhaW5lckNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSwgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZSwgc2Nyb2xsTGVmdFJlZiwgc2V0Vmlld0NvbnRleHQyXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVNjcm9sbFRvRW5kID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNjcm9sbExlZnRSZWYuY3VycmVudCA9IG51bGw7XG4gICAgZm9yY2VSZW5kZXIoe30pO1xuICB9LCBbZm9yY2VSZW5kZXIsIHNjcm9sbExlZnRSZWZdKTtcblxuICBjb25zdCBsZWdhY3lDb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgLi4uZnVuY3Rpb25Db250ZXh0LFxuICAgICAgLi4uaW50ZXJuYWxDb250ZXh0LFxuICAgICAgLi4ucHJvcHNDb250ZXh0LFxuICAgICAgLi4udmlld0NvbnRleHRcbiAgICB9KSxcbiAgICBbZnVuY3Rpb25Db250ZXh0LCBpbnRlcm5hbENvbnRleHQsIHByb3BzQ29udGV4dCwgdmlld0NvbnRleHRdXG4gICk7XG5cbiAgdXNlQW5pbWF0ZVNjcm9sbExlZnQoXG4gICAgdHlwZW9mIHNjcm9sbExlZnRSZWYuY3VycmVudCA9PT0gJ251bWJlcicgJiYgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZS5jdXJyZW50LFxuICAgIHNjcm9sbExlZnRSZWYuY3VycmVudCxcbiAgICBoYW5kbGVTY3JvbGxUb0VuZFxuICApO1xuXG4gIHVzZUVmZmVjdChcbiAgICAoKSA9PlxuICAgICAgc2Nyb2xsYWJsZUNhbGxiYWNrUmVmV2l0aFN1YnNjcmliZS5zdWJzY3JpYmUoY3VycmVudCA9PiB7XG4gICAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgICAgY3VycmVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIGhhbmRsZVNjcm9sbFRvRW5kLCB7IHBhc3NpdmU6IHRydWUgfSk7XG5cbiAgICAgICAgICByZXR1cm4gKCkgPT4gY3VycmVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIGhhbmRsZVNjcm9sbFRvRW5kKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgW2hhbmRsZVNjcm9sbFRvRW5kLCBzY3JvbGxhYmxlQ2FsbGJhY2tSZWZXaXRoU3Vic2NyaWJlXVxuICApO1xuXG4gIHVzZU9ic2VydmVTY3JvbGxMZWZ0KHNjcm9sbGFibGVDYWxsYmFja1JlZldpdGhTdWJzY3JpYmUsIGhhbmRsZVNjcm9sbCk7XG5cbiAgcmV0dXJuIChcbiAgICA8UHJvcHNDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtwcm9wc0NvbnRleHR9PlxuICAgICAgPEludGVybmFsQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17aW50ZXJuYWxDb250ZXh0fT5cbiAgICAgICAgPEZ1bmN0aW9uQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17ZnVuY3Rpb25Db250ZXh0fT5cbiAgICAgICAgICA8Vmlld0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZpZXdDb250ZXh0fT5cbiAgICAgICAgICAgIDxMZWdhY3lDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtsZWdhY3lDb250ZXh0fT5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICB7cGF0Y2hlZFN0eWxlT3B0aW9ucy5hdXRvQ2VudGVyICYmIDxBdXRvQ2VudGVyIC8+fVxuICAgICAgICAgICAgPC9MZWdhY3lDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICAgIDwvVmlld0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRnVuY3Rpb25Db250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9JbnRlcm5hbENvbnRleHQuUHJvdmlkZXI+XG4gICAgPC9Qcm9wc0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5Db21wb3Nlci5kZWZhdWx0UHJvcHMgPSB7XG4gIGNoaWxkcmVuOiB1bmRlZmluZWQsXG4gIGRpcjogdW5kZWZpbmVkLFxuICBoZWlnaHQ6IHVuZGVmaW5lZCxcbiAgbm9uY2U6IHVuZGVmaW5lZCxcbiAgc3R5bGVPcHRpb25zOiB1bmRlZmluZWQsXG4gIHN0eWxlU2V0OiB1bmRlZmluZWRcbn07XG5cbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5lbGVtZW50KSwgUHJvcFR5cGVzLmVsZW1lbnRdKSxcbiAgZGlyOiBQcm9wVHlwZXMub25lT2YoWydsdHInLCAncnRsJ10pLFxuICBoZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIG5vbmNlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBudW1JdGVtczogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICBzdHlsZU9wdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gIHN0eWxlU2V0OiBQcm9wVHlwZXMuYW55XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb21wb3NlcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBT0EsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsS0FBSyxJQUFJQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBRWhGLE9BQU9DLFVBQVUsTUFBTSxjQUFjO0FBQ3JDLE9BQU9DLGlCQUFpQixNQUFNLHFCQUFxQjtBQUNuRCxPQUFPQyxtQkFBbUIsTUFBTSx1QkFBdUI7QUFDdkQsT0FBT0MsZUFBZSxNQUFNLG1CQUFtQjtBQUMvQyxPQUFPQyxPQUFPLE1BQU0sV0FBVztBQUMvQixPQUFPQyxlQUFlLE1BQU0sbUJBQW1CO0FBQy9DLE9BQU9DLGFBQWEsTUFBTSxpQkFBaUI7QUFD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","/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 2, 5, 26, 65] }] */\n\nimport random from 'math-random';\nexport default function useCSSKey() {\n return random().toString(26).substr(2, 5).replace(/[0-9]/g, function (value) {\n return String.fromCharCode(value.charCodeAt(0) + 65);\n });\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyYW5kb20iLCJ1c2VDU1NLZXkiLCJ0b1N0cmluZyIsInN1YnN0ciIsInJlcGxhY2UiLCJ2YWx1ZSIsIlN0cmluZyIsImZyb21DaGFyQ29kZSIsImNoYXJDb2RlQXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdXRpbC9jcmVhdGVDU1NLZXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLW1hZ2ljLW51bWJlcnM6IFtcImVycm9yXCIsIHsgXCJpZ25vcmVcIjogWzAsIDIsIDUsIDI2LCA2NV0gfV0gKi9cblxuaW1wb3J0IHJhbmRvbSBmcm9tICdtYXRoLXJhbmRvbSc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUNTU0tleSgpIHtcbiAgcmV0dXJuIHJhbmRvbSgpXG4gICAgLnRvU3RyaW5nKDI2KVxuICAgIC5zdWJzdHIoMiwgNSlcbiAgICAucmVwbGFjZSgvXFxkL2d1LCB2YWx1ZSA9PiBTdHJpbmcuZnJvbUNoYXJDb2RlKHZhbHVlLmNoYXJDb2RlQXQoMCkgKyA2NSkpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxPQUFPQSxNQUFNLE1BQU0sYUFBYTtBQUVoQyxlQUFlLFNBQVNDLFNBQVMsR0FBRztFQUNsQyxPQUFPRCxNQUFNLEVBQUUsQ0FDWkUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUNaQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUNaQyxPQUFPLENBQUMsUUFBTSxFQUFFLFVBQUFDLEtBQUs7SUFBQSxPQUFJQyxNQUFNLENBQUNDLFlBQVksQ0FBQ0YsS0FBSyxDQUFDRyxVQUFVLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO0VBQUEsRUFBQztBQUM1RSJ9","import _Symbol from \"@babel/runtime-corejs3/core-js/symbol\";\nimport _getIteratorMethod from \"@babel/runtime-corejs3/core-js/get-iterator-method\";\nimport _Array$isArray from \"@babel/runtime-corejs3/core-js/array/is-array\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nexport default function _createForOfIteratorHelper(o, allowArrayLike) {\n var it = typeof _Symbol !== \"undefined\" && _getIteratorMethod(o) || o[\"@@iterator\"];\n if (!it) {\n if (_Array$isArray(o) || (it = unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") {\n if (it) o = it;\n var i = 0;\n var F = function F() {};\n return {\n s: F,\n n: function n() {\n if (i >= o.length) return {\n done: true\n };\n return {\n done: false,\n value: o[i++]\n };\n },\n e: function e(_e) {\n throw _e;\n },\n f: F\n };\n }\n throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n var normalCompletion = true,\n didErr = false,\n err;\n return {\n s: function s() {\n it = it.call(o);\n },\n n: function n() {\n var step = it.next();\n normalCompletion = step.done;\n return step;\n },\n e: function e(_e2) {\n didErr = true;\n err = _e2;\n },\n f: function f() {\n try {\n if (!normalCompletion && it[\"return\"] != null) it[\"return\"]();\n } finally {\n if (didErr) throw err;\n }\n }\n };\n}","import * as browser from './browser';\nexport default function computeScrollLeft(dir, scrollable, itemContainer, index) {\n var rtl = dir === 'rtl';\n if (itemContainer && scrollable) {\n var items = itemContainer.children; // This will enumerate
    • inside \n var item = items[Math.max(0, Math.min(items.length - 1, index))];\n if (item) {\n if (scrollable.offsetWidth === scrollable.scrollWidth) {\n return 0;\n }\n\n // eslint-disable-next-line no-magic-numbers\n var result = item.offsetLeft + (item.offsetWidth - scrollable.offsetWidth) / 2;\n if (rtl) {\n result = Math.min(result, 0);\n result = Math.max(result, scrollable.offsetWidth - scrollable.scrollWidth);\n } else {\n result = Math.max(result, 0);\n result = Math.min(result, scrollable.scrollWidth - scrollable.offsetWidth);\n }\n if (rtl && (browser.edgeUWP || browser.internetExplorer)) {\n result = -result;\n }\n return result;\n }\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJicm93c2VyIiwiY29tcHV0ZVNjcm9sbExlZnQiLCJkaXIiLCJzY3JvbGxhYmxlIiwiaXRlbUNvbnRhaW5lciIsImluZGV4IiwicnRsIiwiaXRlbXMiLCJjaGlsZHJlbiIsIml0ZW0iLCJNYXRoIiwibWF4IiwibWluIiwibGVuZ3RoIiwib2Zmc2V0V2lkdGgiLCJzY3JvbGxXaWR0aCIsInJlc3VsdCIsIm9mZnNldExlZnQiLCJlZGdlVVdQIiwiaW50ZXJuZXRFeHBsb3JlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wdXRlU2Nyb2xsTGVmdC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBicm93c2VyIGZyb20gJy4vYnJvd3Nlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNvbXB1dGVTY3JvbGxMZWZ0KGRpciwgc2Nyb2xsYWJsZSwgaXRlbUNvbnRhaW5lciwgaW5kZXgpIHtcbiAgY29uc3QgcnRsID0gZGlyID09PSAncnRsJztcblxuICBpZiAoaXRlbUNvbnRhaW5lciAmJiBzY3JvbGxhYmxlKSB7XG4gICAgY29uc3QgaXRlbXMgPSBpdGVtQ29udGFpbmVyLmNoaWxkcmVuOyAvLyBUaGlzIHdpbGwgZW51bWVyYXRlIDxsaT4gaW5zaWRlIDxGaWxtU3RyaXA+XG4gICAgY29uc3QgaXRlbSA9IGl0ZW1zW01hdGgubWF4KDAsIE1hdGgubWluKGl0ZW1zLmxlbmd0aCAtIDEsIGluZGV4KSldO1xuXG4gICAgaWYgKGl0ZW0pIHtcbiAgICAgIGlmIChzY3JvbGxhYmxlLm9mZnNldFdpZHRoID09PSBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoKSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVyc1xuICAgICAgbGV0IHJlc3VsdCA9IGl0ZW0ub2Zmc2V0TGVmdCArIChpdGVtLm9mZnNldFdpZHRoIC0gc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aCkgLyAyO1xuXG4gICAgICBpZiAocnRsKSB7XG4gICAgICAgIHJlc3VsdCA9IE1hdGgubWluKHJlc3VsdCwgMCk7XG4gICAgICAgIHJlc3VsdCA9IE1hdGgubWF4KHJlc3VsdCwgc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aCAtIHNjcm9sbGFibGUuc2Nyb2xsV2lkdGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gTWF0aC5tYXgocmVzdWx0LCAwKTtcbiAgICAgICAgcmVzdWx0ID0gTWF0aC5taW4ocmVzdWx0LCBzY3JvbGxhYmxlLnNjcm9sbFdpZHRoIC0gc2Nyb2xsYWJsZS5vZmZzZXRXaWR0aCk7XG4gICAgICB9XG5cbiAgICAgIGlmIChydGwgJiYgKGJyb3dzZXIuZWRnZVVXUCB8fCBicm93c2VyLmludGVybmV0RXhwbG9yZXIpKSB7XG4gICAgICAgIHJlc3VsdCA9IC1yZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBS0EsT0FBTyxNQUFNLFdBQVc7QUFFcEMsZUFBZSxTQUFTQyxpQkFBaUIsQ0FBQ0MsR0FBRyxFQUFFQyxVQUFVLEVBQUVDLGFBQWEsRUFBRUMsS0FBSyxFQUFFO0VBQy9FLElBQU1DLEdBQUcsR0FBR0osR0FBRyxLQUFLLEtBQUs7RUFFekIsSUFBSUUsYUFBYSxJQUFJRCxVQUFVLEVBQUU7SUFDL0IsSUFBTUksS0FBSyxHQUFHSCxhQUFhLENBQUNJLFFBQVEsQ0FBQyxDQUFDO0lBQ3RDLElBQU1DLElBQUksR0FBR0YsS0FBSyxDQUFDRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVELElBQUksQ0FBQ0UsR0FBRyxDQUFDTCxLQUFLLENBQUNNLE1BQU0sR0FBRyxDQUFDLEVBQUVSLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFFbEUsSUFBSUksSUFBSSxFQUFFO01BQ1IsSUFBSU4sVUFBVSxDQUFDVyxXQUFXLEtBQUtYLFVBQVUsQ0FBQ1ksV0FBVyxFQUFFO1FBQ3JELE9BQU8sQ0FBQztNQUNWOztNQUVBO01BQ0EsSUFBSUMsTUFBTSxHQUFHUCxJQUFJLENBQUNRLFVBQVUsR0FBRyxDQUFDUixJQUFJLENBQUNLLFdBQVcsR0FBR1gsVUFBVSxDQUFDVyxXQUFXLElBQUksQ0FBQztNQUU5RSxJQUFJUixHQUFHLEVBQUU7UUFDUFUsTUFBTSxHQUFHTixJQUFJLENBQUNFLEdBQUcsQ0FBQ0ksTUFBTSxFQUFFLENBQUMsQ0FBQztRQUM1QkEsTUFBTSxHQUFHTixJQUFJLENBQUNDLEdBQUcsQ0FBQ0ssTUFBTSxFQUFFYixVQUFVLENBQUNXLFdBQVcsR0FBR1gsVUFBVSxDQUFDWSxXQUFXLENBQUM7TUFDNUUsQ0FBQyxNQUFNO1FBQ0xDLE1BQU0sR0FBR04sSUFBSSxDQUFDQyxHQUFHLENBQUNLLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDNUJBLE1BQU0sR0FBR04sSUFBSSxDQUFDRSxHQUFHLENBQUNJLE1BQU0sRUFBRWIsVUFBVSxDQUFDWSxXQUFXLEdBQUdaLFVBQVUsQ0FBQ1csV0FBVyxDQUFDO01BQzVFO01BRUEsSUFBSVIsR0FBRyxLQUFLTixPQUFPLENBQUNrQixPQUFPLElBQUlsQixPQUFPLENBQUNtQixnQkFBZ0IsQ0FBQyxFQUFFO1FBQ3hESCxNQUFNLEdBQUcsQ0FBQ0EsTUFBTTtNQUNsQjtNQUVBLE9BQU9BLE1BQU07SUFDZjtFQUNGO0FBQ0YifQ==","import React from 'react';\nimport Filmstrip from './Filmstrip';\nvar deprecationNotesShown;\nvar DeprecatedFilmStrip = function DeprecatedFilmStrip(props) {\n if (!deprecationNotesShown) {\n console.warn('react-film: is being renamed to .');\n deprecationNotesShown = true;\n }\n return /*#__PURE__*/React.createElement(Filmstrip, props);\n};\nDeprecatedFilmStrip.defaultProps = Filmstrip.defaultProps;\nDeprecatedFilmStrip.propTypes = Filmstrip.propTypes;\nexport default DeprecatedFilmStrip;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZpbG1zdHJpcCIsImRlcHJlY2F0aW9uTm90ZXNTaG93biIsIkRlcHJlY2F0ZWRGaWxtU3RyaXAiLCJwcm9wcyIsImNvbnNvbGUiLCJ3YXJuIiwiZGVmYXVsdFByb3BzIiwicHJvcFR5cGVzIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL0RlcHJlY2F0ZWRGaWxtU3RyaXAuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEZpbG1zdHJpcCBmcm9tICcuL0ZpbG1zdHJpcCc7XG5cbmxldCBkZXByZWNhdGlvbk5vdGVzU2hvd247XG5cbmNvbnN0IERlcHJlY2F0ZWRGaWxtU3RyaXAgPSBwcm9wcyA9PiB7XG4gIGlmICghZGVwcmVjYXRpb25Ob3Rlc1Nob3duKSB7XG4gICAgY29uc29sZS53YXJuKCdyZWFjdC1maWxtOiA8RmlsbVN0cmlwPiBpcyBiZWluZyByZW5hbWVkIHRvIDxGaWxtc3RyaXA+LicpO1xuICAgIGRlcHJlY2F0aW9uTm90ZXNTaG93biA9IHRydWU7XG4gIH1cblxuICByZXR1cm4gPEZpbG1zdHJpcCB7Li4ucHJvcHN9IC8+O1xufTtcblxuRGVwcmVjYXRlZEZpbG1TdHJpcC5kZWZhdWx0UHJvcHMgPSBGaWxtc3RyaXAuZGVmYXVsdFByb3BzO1xuRGVwcmVjYXRlZEZpbG1TdHJpcC5wcm9wVHlwZXMgPSBGaWxtc3RyaXAucHJvcFR5cGVzO1xuXG5leHBvcnQgZGVmYXVsdCBEZXByZWNhdGVkRmlsbVN0cmlwO1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUV6QixPQUFPQyxTQUFTLE1BQU0sYUFBYTtBQUVuQyxJQUFJQyxxQkFBcUI7QUFFekIsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQixDQUFHQyxLQUFLLEVBQUk7RUFDbkMsSUFBSSxDQUFDRixxQkFBcUIsRUFBRTtJQUMxQkcsT0FBTyxDQUFDQyxJQUFJLENBQUMsMERBQTBELENBQUM7SUFDeEVKLHFCQUFxQixHQUFHLElBQUk7RUFDOUI7RUFFQSxvQkFBTyxvQkFBQyxTQUFTLEVBQUtFLEtBQUssQ0FBSTtBQUNqQyxDQUFDO0FBRURELG1CQUFtQixDQUFDSSxZQUFZLEdBQUdOLFNBQVMsQ0FBQ00sWUFBWTtBQUN6REosbUJBQW1CLENBQUNLLFNBQVMsR0FBR1AsU0FBUyxDQUFDTyxTQUFTO0FBRW5ELGVBQWVMLG1CQUFtQiJ9","import _objectSpread from \"@babel/runtime-corejs3/helpers/objectSpread2\";\nimport PropTypes from 'prop-types';\nimport React, { Children, useMemo } from 'react';\nimport BasicFilm from './BasicFilm';\nimport Composer from './Composer';\nvar ReactFilm = function ReactFilm(_ref) {\n var autoCenter = _ref.autoCenter,\n autoHide = _ref.autoHide,\n autoHideFlipperOnEdge = _ref.autoHideFlipperOnEdge,\n children = _ref.children,\n className = _ref.className,\n dir = _ref.dir,\n flipperBlurFocusOnClick = _ref.flipperBlurFocusOnClick,\n height = _ref.height,\n leftFlipperAriaLabel = _ref.leftFlipperAriaLabel,\n leftFlipperText = _ref.leftFlipperText,\n nonce = _ref.nonce,\n rightFlipperAriaLabel = _ref.rightFlipperAriaLabel,\n rightFlipperText = _ref.rightFlipperText,\n showDots = _ref.showDots,\n showFlipper = _ref.showFlipper,\n showScrollBar = _ref.showScrollBar,\n styleSet = _ref.styleSet,\n stylesRoot = _ref.stylesRoot;\n var styleOptions = useMemo(function () {\n return {\n autoCenter: autoCenter,\n autoHide: autoHide,\n autoHideFlipperOnEdge: autoHideFlipperOnEdge,\n dir: dir,\n flipperBlurFocusOnClick: flipperBlurFocusOnClick,\n leftFlipperAriaLabel: leftFlipperAriaLabel,\n leftFlipperText: leftFlipperText,\n rightFlipperAriaLabel: rightFlipperAriaLabel,\n rightFlipperText: rightFlipperText,\n showDots: showDots,\n showFlipper: showFlipper,\n showScrollBar: showScrollBar,\n stylesRoot: stylesRoot\n };\n }, [autoCenter, autoHide, autoHideFlipperOnEdge, dir, flipperBlurFocusOnClick, leftFlipperAriaLabel, leftFlipperText, rightFlipperAriaLabel, rightFlipperText, showDots, showFlipper, showScrollBar, stylesRoot]);\n return /*#__PURE__*/React.createElement(Composer, {\n dir: dir,\n height: height,\n nonce: nonce,\n numItems: children ? Children.count(children) : 0,\n styleOptions: styleOptions,\n styleSet: styleSet\n }, /*#__PURE__*/React.createElement(BasicFilm, {\n className: className\n }, children));\n};\nReactFilm.defaultProps = _objectSpread(_objectSpread({}, BasicFilm.defaultProps), {}, {\n autoCenter: undefined,\n autoHide: undefined,\n autoHideFlipperOnEdge: undefined,\n children: undefined,\n className: undefined,\n dir: undefined,\n flipperBlurFocusOnClick: undefined,\n leftFlipperAriaLabel: undefined,\n leftFlipperText: undefined,\n nonce: undefined,\n rightFlipperAriaLabel: undefined,\n rightFlipperText: undefined,\n showDots: undefined,\n showFlipper: undefined,\n showScrollBar: undefined,\n styleSet: undefined,\n stylesRoot: undefined\n});\nReactFilm.propTypes = _objectSpread(_objectSpread({}, BasicFilm.propTypes), {}, {\n autoCenter: PropTypes.bool,\n autoHide: PropTypes.bool,\n autoHideFlipperOnEdge: PropTypes.bool,\n children: PropTypes.any,\n className: PropTypes.string,\n dir: PropTypes.oneOf(['auto', 'ltr', 'rtl']),\n flipperBlurFocusOnClick: PropTypes.bool,\n height: PropTypes.number,\n leftFlipperAriaLabel: PropTypes.string,\n leftFlipperText: PropTypes.string,\n nonce: PropTypes.string,\n rightFlipperAriaLabel: PropTypes.string,\n rightFlipperText: PropTypes.string,\n showDots: PropTypes.bool,\n showFlipper: PropTypes.bool,\n showScrollBar: PropTypes.bool,\n styleSet: PropTypes.any,\n stylesRoot: PropTypes.any\n});\nexport default ReactFilm;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJSZWFjdCIsIkNoaWxkcmVuIiwidXNlTWVtbyIsIkJhc2ljRmlsbSIsIkNvbXBvc2VyIiwiUmVhY3RGaWxtIiwiYXV0b0NlbnRlciIsImF1dG9IaWRlIiwiYXV0b0hpZGVGbGlwcGVyT25FZGdlIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJkaXIiLCJmbGlwcGVyQmx1ckZvY3VzT25DbGljayIsImhlaWdodCIsImxlZnRGbGlwcGVyQXJpYUxhYmVsIiwibGVmdEZsaXBwZXJUZXh0Iiwibm9uY2UiLCJyaWdodEZsaXBwZXJBcmlhTGFiZWwiLCJyaWdodEZsaXBwZXJUZXh0Iiwic2hvd0RvdHMiLCJzaG93RmxpcHBlciIsInNob3dTY3JvbGxCYXIiLCJzdHlsZVNldCIsInN0eWxlc1Jvb3QiLCJzdHlsZU9wdGlvbnMiLCJjb3VudCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsImJvb2wiLCJhbnkiLCJzdHJpbmciLCJvbmVPZiIsIm51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9SZWFjdEZpbG0uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBDaGlsZHJlbiwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJhc2ljRmlsbSBmcm9tICcuL0Jhc2ljRmlsbSc7XG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9Db21wb3Nlcic7XG5cbmNvbnN0IFJlYWN0RmlsbSA9ICh7XG4gIGF1dG9DZW50ZXIsXG4gIGF1dG9IaWRlLFxuICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2UsXG4gIGNoaWxkcmVuLFxuICBjbGFzc05hbWUsXG4gIGRpcixcbiAgZmxpcHBlckJsdXJGb2N1c09uQ2xpY2ssXG4gIGhlaWdodCxcbiAgbGVmdEZsaXBwZXJBcmlhTGFiZWwsXG4gIGxlZnRGbGlwcGVyVGV4dCxcbiAgbm9uY2UsXG4gIHJpZ2h0RmxpcHBlckFyaWFMYWJlbCxcbiAgcmlnaHRGbGlwcGVyVGV4dCxcbiAgc2hvd0RvdHMsXG4gIHNob3dGbGlwcGVyLFxuICBzaG93U2Nyb2xsQmFyLFxuICBzdHlsZVNldCxcbiAgc3R5bGVzUm9vdFxufSkgPT4ge1xuICBjb25zdCBzdHlsZU9wdGlvbnMgPSB1c2VNZW1vKFxuICAgICgpID0+ICh7XG4gICAgICBhdXRvQ2VudGVyLFxuICAgICAgYXV0b0hpZGUsXG4gICAgICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2UsXG4gICAgICBkaXIsXG4gICAgICBmbGlwcGVyQmx1ckZvY3VzT25DbGljayxcbiAgICAgIGxlZnRGbGlwcGVyQXJpYUxhYmVsLFxuICAgICAgbGVmdEZsaXBwZXJUZXh0LFxuICAgICAgcmlnaHRGbGlwcGVyQXJpYUxhYmVsLFxuICAgICAgcmlnaHRGbGlwcGVyVGV4dCxcbiAgICAgIHNob3dEb3RzLFxuICAgICAgc2hvd0ZsaXBwZXIsXG4gICAgICBzaG93U2Nyb2xsQmFyLFxuICAgICAgc3R5bGVzUm9vdFxuICAgIH0pLFxuICAgIFtcbiAgICAgIGF1dG9DZW50ZXIsXG4gICAgICBhdXRvSGlkZSxcbiAgICAgIGF1dG9IaWRlRmxpcHBlck9uRWRnZSxcbiAgICAgIGRpcixcbiAgICAgIGZsaXBwZXJCbHVyRm9jdXNPbkNsaWNrLFxuICAgICAgbGVmdEZsaXBwZXJBcmlhTGFiZWwsXG4gICAgICBsZWZ0RmxpcHBlclRleHQsXG4gICAgICByaWdodEZsaXBwZXJBcmlhTGFiZWwsXG4gICAgICByaWdodEZsaXBwZXJUZXh0LFxuICAgICAgc2hvd0RvdHMsXG4gICAgICBzaG93RmxpcHBlcixcbiAgICAgIHNob3dTY3JvbGxCYXIsXG4gICAgICBzdHlsZXNSb290XG4gICAgXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbXBvc2VyXG4gICAgICBkaXI9e2Rpcn1cbiAgICAgIGhlaWdodD17aGVpZ2h0fVxuICAgICAgbm9uY2U9e25vbmNlfVxuICAgICAgbnVtSXRlbXM9e2NoaWxkcmVuID8gQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pIDogMH1cbiAgICAgIHN0eWxlT3B0aW9ucz17c3R5bGVPcHRpb25zfVxuICAgICAgc3R5bGVTZXQ9e3N0eWxlU2V0fVxuICAgID5cbiAgICAgIDxCYXNpY0ZpbG0gY2xhc3NOYW1lPXtjbGFzc05hbWV9PntjaGlsZHJlbn08L0Jhc2ljRmlsbT5cbiAgICA8L0NvbXBvc2VyPlxuICApO1xufTtcblxuUmVhY3RGaWxtLmRlZmF1bHRQcm9wcyA9IHtcbiAgLi4uQmFzaWNGaWxtLmRlZmF1bHRQcm9wcyxcbiAgYXV0b0NlbnRlcjogdW5kZWZpbmVkLFxuICBhdXRvSGlkZTogdW5kZWZpbmVkLFxuICBhdXRvSGlkZUZsaXBwZXJPbkVkZ2U6IHVuZGVmaW5lZCxcbiAgY2hpbGRyZW46IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGRpcjogdW5kZWZpbmVkLFxuICBmbGlwcGVyQmx1ckZvY3VzT25DbGljazogdW5kZWZpbmVkLFxuICBsZWZ0RmxpcHBlckFyaWFMYWJlbDogdW5kZWZpbmVkLFxuICBsZWZ0RmxpcHBlclRleHQ6IHVuZGVmaW5lZCxcbiAgbm9uY2U6IHVuZGVmaW5lZCxcbiAgcmlnaHRGbGlwcGVyQXJpYUxhYmVsOiB1bmRlZmluZWQsXG4gIHJpZ2h0RmxpcHBlclRleHQ6IHVuZGVmaW5lZCxcbiAgc2hvd0RvdHM6IHVuZGVmaW5lZCxcbiAgc2hvd0ZsaXBwZXI6IHVuZGVmaW5lZCxcbiAgc2hvd1Njcm9sbEJhcjogdW5kZWZpbmVkLFxuICBzdHlsZVNldDogdW5kZWZpbmVkLFxuICBzdHlsZXNSb290OiB1bmRlZmluZWRcbn07XG5cblJlYWN0RmlsbS5wcm9wVHlwZXMgPSB7XG4gIC4uLkJhc2ljRmlsbS5wcm9wVHlwZXMsXG4gIGF1dG9DZW50ZXI6IFByb3BUeXBlcy5ib29sLFxuICBhdXRvSGlkZTogUHJvcFR5cGVzLmJvb2wsXG4gIGF1dG9IaWRlRmxpcHBlck9uRWRnZTogUHJvcFR5cGVzLmJvb2wsXG4gIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGRpcjogUHJvcFR5cGVzLm9uZU9mKFsnYXV0bycsICdsdHInLCAncnRsJ10pLFxuICBmbGlwcGVyQmx1ckZvY3VzT25DbGljazogUHJvcFR5cGVzLmJvb2wsXG4gIGhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbiAgbGVmdEZsaXBwZXJBcmlhTGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGxlZnRGbGlwcGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgbm9uY2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHJpZ2h0RmxpcHBlckFyaWFMYWJlbDogUHJvcFR5cGVzLnN0cmluZyxcbiAgcmlnaHRGbGlwcGVyVGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgc2hvd0RvdHM6IFByb3BUeXBlcy5ib29sLFxuICBzaG93RmxpcHBlcjogUHJvcFR5cGVzLmJvb2wsXG4gIHNob3dTY3JvbGxCYXI6IFByb3BUeXBlcy5ib29sLFxuICBzdHlsZVNldDogUHJvcFR5cGVzLmFueSxcbiAgc3R5bGVzUm9vdDogUHJvcFR5cGVzLmFueVxufTtcblxuZXhwb3J0IGRlZmF1bHQgUmVhY3RGaWxtO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsU0FBUyxNQUFNLFlBQVk7QUFDbEMsT0FBT0MsS0FBSyxJQUFJQyxRQUFRLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBRWhELE9BQU9DLFNBQVMsTUFBTSxhQUFhO0FBQ25DLE9BQU9DLFFBQVEsTUFBTSxZQUFZO0FBRWpDLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFTLE9BbUJUO0VBQUEsSUFsQkpDLFVBQVUsUUFBVkEsVUFBVTtJQUNWQyxRQUFRLFFBQVJBLFFBQVE7SUFDUkMscUJBQXFCLFFBQXJCQSxxQkFBcUI7SUFDckJDLFFBQVEsUUFBUkEsUUFBUTtJQUNSQyxTQUFTLFFBQVRBLFNBQVM7SUFDVEMsR0FBRyxRQUFIQSxHQUFHO0lBQ0hDLHVCQUF1QixR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","import BasicFilm from './BasicFilm';\nimport Composer from './Composer';\nimport Context from './LegacyContext';\nimport createBasicStyleSet from './createBasicStyleSet';\nimport DeprecatedFilmStrip from './DeprecatedFilmStrip';\nimport Dots from './Dots';\nimport Filmstrip from './Filmstrip';\nimport Flipper from './Flipper';\nimport ReactFilm from './ReactFilm';\nimport ScrollBar from './ScrollBar';\nimport useDir from './hooks/useDir';\nimport useHeight from './hooks/useHeight';\nimport useIndex from './hooks/useIndex';\nimport useIndexFraction from './hooks/useIndexFraction';\nimport useItemContainerCallbackRef from './hooks/useItemContainerCallbackRef';\nimport useNumItems from './hooks/useNumItems';\nimport useScrollableCallbackRef from './hooks/useScrollableCallbackRef';\nimport useScrollBarPercentage from './hooks/useScrollBarPercentage';\nimport useScrollBarWidth from './hooks/useScrollBarWidth';\nimport useScrolling from './hooks/useScrolling';\nimport useScrollOneLeft from './hooks/useScrollOneLeft';\nimport useScrollOneRight from './hooks/useScrollOneRight';\nimport useScrollTo from './hooks/useScrollTo';\nimport useStyleOptions from './hooks/useStyleOptions';\nimport useStyleSetClassNames from './hooks/useStyleSetClassNames';\nexport default ReactFilm;\nexport { BasicFilm, Composer, Context, createBasicStyleSet, DeprecatedFilmStrip as FilmStrip, Dots, Filmstrip, Flipper, ScrollBar, useDir, useHeight, useIndex, useIndexFraction, useItemContainerCallbackRef, useNumItems, useScrollableCallbackRef, useScrollBarPercentage, useScrollBarWidth, useScrolling, useScrollOneLeft, useScrollOneRight, useScrollTo, useStyleOptions, useStyleSetClassNames };\nif (typeof document !== 'undefined' && document.head) {\n var meta = document.createElement('meta');\n meta.setAttribute('name', 'react-film');\n\n // eslint-disable-next-line no-undef\n meta.setAttribute('content', \"version=\".concat(\"3.1.1-main.f623bf6\"));\n document.head.appendChild(meta);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJCYXNpY0ZpbG0iLCJDb21wb3NlciIsIkNvbnRleHQiLCJjcmVhdGVCYXNpY1N0eWxlU2V0IiwiRGVwcmVjYXRlZEZpbG1TdHJpcCIsIkRvdHMiLCJGaWxtc3RyaXAiLCJGbGlwcGVyIiwiUmVhY3RGaWxtIiwiU2Nyb2xsQmFyIiwidXNlRGlyIiwidXNlSGVpZ2h0IiwidXNlSW5kZXgiLCJ1c2VJbmRleEZyYWN0aW9uIiwidXNlSXRlbUNvbnRhaW5lckNhbGxiYWNrUmVmIiwidXNlTnVtSXRlbXMiLCJ1c2VTY3JvbGxhYmxlQ2FsbGJhY2tSZWYiLCJ1c2VTY3JvbGxCYXJQZXJjZW50YWdlIiwidXNlU2Nyb2xsQmFyV2lkdGgiLCJ1c2VTY3JvbGxpbmciLCJ1c2VTY3JvbGxPbmVMZWZ0IiwidXNlU2Nyb2xsT25lUmlnaHQiLCJ1c2VTY3JvbGxUbyIsInVzZVN0eWxlT3B0aW9ucyIsInVzZVN0eWxlU2V0Q2xhc3NOYW1lcyIsIkZpbG1TdHJpcCIsImRvY3VtZW50IiwiaGVhZCIsIm1ldGEiLCJjcmVhdGVFbGVtZW50Iiwic2V0QXR0cmlidXRlIiwiYXBwZW5kQ2hpbGQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2ljRmlsbSBmcm9tICcuL0Jhc2ljRmlsbSc7XG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9Db21wb3Nlcic7XG5pbXBvcnQgQ29udGV4dCBmcm9tICcuL0xlZ2FjeUNvbnRleHQnO1xuaW1wb3J0IGNyZWF0ZUJhc2ljU3R5bGVTZXQgZnJvbSAnLi9jcmVhdGVCYXNpY1N0eWxlU2V0JztcbmltcG9ydCBEZXByZWNhdGVkRmlsbVN0cmlwIGZyb20gJy4vRGVwcmVjYXRlZEZpbG1TdHJpcCc7XG5pbXBvcnQgRG90cyBmcm9tICcuL0RvdHMnO1xuaW1wb3J0IEZpbG1zdHJpcCBmcm9tICcuL0ZpbG1zdHJpcCc7XG5pbXBvcnQgRmxpcHBlciBmcm9tICcuL0ZsaXBwZXInO1xuaW1wb3J0IFJlYWN0RmlsbSBmcm9tICcuL1JlYWN0RmlsbSc7XG5pbXBvcnQgU2Nyb2xsQmFyIGZyb20gJy4vU2Nyb2xsQmFyJztcbmltcG9ydCB1c2VEaXIgZnJvbSAnLi9ob29rcy91c2VEaXInO1xuaW1wb3J0IHVzZUhlaWdodCBmcm9tICcuL2hvb2tzL3VzZUhlaWdodCc7XG5pbXBvcnQgdXNlSW5kZXggZnJvbSAnLi9ob29rcy91c2VJbmRleCc7XG5pbXBvcnQgdXNlSW5kZXhGcmFjdGlvbiBmcm9tICcuL2hvb2tzL3VzZUluZGV4RnJhY3Rpb24nO1xuaW1wb3J0IHVzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZiBmcm9tICcuL2hvb2tzL3VzZUl0ZW1Db250YWluZXJDYWxsYmFja1JlZic7XG5pbXBvcnQgdXNlTnVtSXRlbXMgZnJvbSAnLi9ob29rcy91c2VOdW1JdGVtcyc7XG5pbXBvcnQgdXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsYWJsZUNhbGxiYWNrUmVmJztcbmltcG9ydCB1c2VTY3JvbGxCYXJQZXJjZW50YWdlIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsQmFyUGVyY2VudGFnZSc7XG5pbXBvcnQgdXNlU2Nyb2xsQmFyV2lkdGggZnJvbSAnLi9ob29rcy91c2VTY3JvbGxCYXJXaWR0aCc7XG5pbXBvcnQgdXNlU2Nyb2xsaW5nIGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsaW5nJztcbmltcG9ydCB1c2VTY3JvbGxPbmVMZWZ0IGZyb20gJy4vaG9va3MvdXNlU2Nyb2xsT25lTGVmdCc7XG5pbXBvcnQgdXNlU2Nyb2xsT25lUmlnaHQgZnJvbSAnLi9ob29rcy91c2VTY3JvbGxPbmVSaWdodCc7XG5pbXBvcnQgdXNlU2Nyb2xsVG8gZnJvbSAnLi9ob29rcy91c2VTY3JvbGxUbyc7XG5pbXBvcnQgdXNlU3R5bGVPcHRpb25zIGZyb20gJy4vaG9va3MvdXNlU3R5bGVPcHRpb25zJztcbmltcG9ydCB1c2VTdHlsZVNldENsYXNzTmFtZXMgZnJvbSAnLi9ob29rcy91c2VTdHlsZVNldENsYXNzTmFtZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBSZWFjdEZpbG07XG5cbmV4cG9ydCB7XG4gIEJhc2ljRmlsbSxcbiAgQ29tcG9zZXIsXG4gIENvbnRleHQsXG4gIGNyZWF0ZUJhc2ljU3R5bGVTZXQsXG4gIERlcHJlY2F0ZWRGaWxtU3RyaXAgYXMgRmlsbVN0cmlwLFxuICBEb3RzLFxuICBGaWxtc3RyaXAsXG4gIEZsaXBwZXIsXG4gIFNjcm9sbEJhcixcbiAgdXNlRGlyLFxuICB1c2VIZWlnaHQsXG4gIHVzZUluZGV4LFxuICB1c2VJbmRleEZyYWN0aW9uLFxuICB1c2VJdGVtQ29udGFpbmVyQ2FsbGJhY2tSZWYsXG4gIHVzZU51bUl0ZW1zLFxuICB1c2VTY3JvbGxhYmxlQ2FsbGJhY2tSZWYsXG4gIHVzZVNjcm9sbEJhclBlcmNlbnRhZ2UsXG4gIHVzZVNjcm9sbEJhcldpZHRoLFxuICB1c2VTY3JvbGxpbmcsXG4gIHVzZVNjcm9sbE9uZUxlZnQsXG4gIHVzZVNjcm9sbE9uZVJpZ2h0LFxuICB1c2VTY3JvbGxUbyxcbiAgdXNlU3R5bGVPcHRpb25zLFxuICB1c2VTdHlsZVNldENsYXNzTmFtZXNcbn07XG5cbmlmICh0eXBlb2YgZG9jdW1lbnQgIT09ICd1bmRlZmluZWQnICYmIGRvY3VtZW50LmhlYWQpIHtcbiAgY29uc3QgbWV0YSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ21ldGEnKTtcblxuICBtZXRhLnNldEF0dHJpYnV0ZSgnbmFtZScsICdyZWFjdC1maWxtJyk7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVuZGVmXG4gIG1ldGEuc2V0QXR0cmlidXRlKCdjb250ZW50JywgYHZlcnNpb249JHtwcm9jZXNzLmVudi5ucG1fcGFja2FnZV92ZXJzaW9ufWApO1xuXG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQobWV0YSk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLFNBQVMsTUFBTSxhQUFhO0FBQ25DLE9BQU9DLFFBQVEsTUFBTSxZQUFZO0FBQ2pDLE9BQU9DLE9BQU8sTUFBTSxpQkFBaUI7QUFDckMsT0FBT0MsbUJBQW1CLE1BQU0sdUJBQXVCO0FBQ3ZELE9BQU9DLG1CQUFtQixNQUFNLHVCQUF1QjtBQUN2RCxPQUFPQyxJQUFJLE1BQU0sUUFBUTtBQUN6QixPQUFPQyxTQUFTLE1BQU0sYUFBYTtBQUNuQyxPQUFPQyxPQUFPLE1BQU0sV0FBVztBQUMvQixPQUFPQyxTQUFTLE1BQU0sYUFBYTtBQUNuQyxPQUFPQyxTQUFTLE1BQU0sYUFBYTtBQUNuQyxPQUFPQyxNQUFNLE1BQU0sZ0JBQWdCO0FBQ25DLE9BQU9DLFNBQVMsTUFBTSxtQkFBbUI7QUFDekMsT0FBT0MsUUFBUSxNQUFNLGtCQUFrQjtBQUN2QyxPQUFPQyxnQkFBZ0IsTUFBTSwwQkFBMEI7QUFDdkQsT0FBT0MsMkJBQTJCLE1BQU0scUNBQXFDO0FBQzdFLE9BQU9DLFdBQVcsTUFBTSxxQkFBcUI7QUFDN0MsT0FBT0Msd0JBQXdCLE1BQU0sa0NBQWtDO0FBQ3ZFLE9BQU9DLHNCQUFzQixNQUFNLGdDQUFnQztBQUNuRSxPQUFPQyxpQkFBaUIsTUFBTSwyQkFBMkI7QUFDekQsT0FBT0MsWUFBWSxNQUFNLHNCQUFzQjtBQUMvQyxPQUFPQyxnQkFBZ0IsTUFBTSwwQkFBMEI7QUFDdkQsT0FBT0MsaUJBQWlCLE1BQU0sMkJBQTJCO0FBQ3pELE9BQU9DLFdBQVcsTUFBTSxxQkFBcUI7QUFDN0MsT0FBT0MsZUFBZSxNQUFNLHlCQUF5QjtBQUNyRCxPQUFPQyxxQkFBcUIsTUFBTSwrQkFBK0I7QUFFakUsZUFBZWhCLFNBQVM7QUFFeEIsU0FDRVIsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLE9BQU8sRUFDUEMsbUJBQW1CLEVBQ25CQyxtQkFBbUIsSUFBSXFCLFNBQVMsRUFDaENwQixJQUFJLEVBQ0pDLFNBQVMsRUFDVEMsT0FBTyxFQUNQRSxTQUFTLEVBQ1RDLE1BQU0sRUFDTkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLGdCQUFnQixFQUNoQkMsMkJBQTJCLEVBQzNCQyxXQUFXLEVBQ1hDLHdCQUF3QixFQUN4QkMsc0JBQXNCLEVBQ3RCQyxpQkFBaUIsRUFDakJDLFlBQVksRUFDWkMsZ0JBQWdCLEVBQ2hCQyxpQkFBaUIsRUFDakJDLFdBQVcsRUFDWEMsZUFBZSxFQUNmQyxxQkFBcUI7QUFHdkIsSUFBSSxPQUFPRSxRQUFRLEtBQUssV0FBVyxJQUFJQSxRQUFRLENBQUNDLElBQUksRUFBRTtFQUNwRCxJQUFNQyxJQUFJLEdBQUdGLFFBQVEsQ0FBQ0csYUFBYSxDQUFDLE1BQU0sQ0FBQztFQUUzQ0QsSUFBSSxDQUFDRSxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQzs7RUFFdkM7RUFDQUYsSUFBSSxDQUFDRSxZQUFZLENBQUMsU0FBUywwQ0FBK0M7RUFFMUVKLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDSSxXQUFXLENBQUNILElBQUksQ0FBQztBQUNqQyJ9","/**\n * A function that merges React refs into one.\n * Supports both functions and ref objects created using createRef() and useRef().\n *\n * Usage:\n * ```tsx\n *
      \n * ```\n *\n * @param {(React.Ref | undefined)[]} inputRefs Array of refs\n * @returns {React.Ref | React.RefCallback} Merged refs\n */\nexport default function mergeRefs() {\n var inputRefs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n inputRefs[_i] = arguments[_i];\n }\n var filteredInputRefs = inputRefs.filter(Boolean);\n if (filteredInputRefs.length <= 1) {\n var firstRef = filteredInputRefs[0];\n return firstRef || null;\n }\n return function mergedRefs(ref) {\n filteredInputRefs.forEach(function (inputRef) {\n if (typeof inputRef === 'function') {\n inputRef(ref);\n }\n else if (inputRef) {\n inputRef.current = ref;\n }\n });\n };\n}\n","import { createContext } from 'react';\nvar Context = /*#__PURE__*/createContext({\n abortable: false,\n readyState: 0,\n supported: true\n});\nexport default Context;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db250ZXh0LmpzIl0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJDb250ZXh0IiwiYWJvcnRhYmxlIiwicmVhZHlTdGF0ZSIsInN1cHBvcnRlZCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsYUFBVCxRQUE4QixPQUE5QjtBQUVBLElBQU1DLE9BQU8sZ0JBQUdELGFBQWEsQ0FBQztBQUM1QkUsRUFBQUEsU0FBUyxFQUFFLEtBRGlCO0FBRTVCQyxFQUFBQSxVQUFVLEVBQUUsQ0FGZ0I7QUFHNUJDLEVBQUFBLFNBQVMsRUFBRTtBQUhpQixDQUFELENBQTdCO0FBTUEsZUFBZUgsT0FBZiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5cbmNvbnN0IENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgYWJvcnRhYmxlOiBmYWxzZSxcbiAgcmVhZHlTdGF0ZTogMCxcbiAgc3VwcG9ydGVkOiB0cnVlXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgQ29udGV4dDtcbiJdfQ==","import { useRef } from 'react';\nexport default function useRefFrom(value) {\n var ref = useRef();\n ref.current = value;\n return ref;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91c2VSZWZGcm9tLmpzIl0sIm5hbWVzIjpbInVzZVJlZiIsInVzZVJlZkZyb20iLCJ2YWx1ZSIsInJlZiIsImN1cnJlbnQiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLE1BQVQsUUFBdUIsT0FBdkI7QUFFQSxlQUFlLFNBQVNDLFVBQVQsQ0FBb0JDLEtBQXBCLEVBQTJCO0FBQ3hDLE1BQU1DLEdBQUcsR0FBR0gsTUFBTSxFQUFsQjtBQUVBRyxFQUFBQSxHQUFHLENBQUNDLE9BQUosR0FBY0YsS0FBZDtBQUVBLFNBQU9DLEdBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVmRnJvbSh2YWx1ZSkge1xuICBjb25zdCByZWYgPSB1c2VSZWYoKTtcblxuICByZWYuY3VycmVudCA9IHZhbHVlO1xuXG4gIHJldHVybiByZWY7XG59XG4iXX0=","export default function vendorPrefix(name) {\n if (typeof window !== 'undefined') {\n return typeof window[name] !== 'undefined' ? window[name] : window[\"webkit\".concat(name)];\n }\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92ZW5kb3JQcmVmaXguanMiXSwibmFtZXMiOlsidmVuZG9yUHJlZml4IiwibmFtZSIsIndpbmRvdyJdLCJtYXBwaW5ncyI6IkFBQUEsZUFBZSxTQUFTQSxZQUFULENBQXNCQyxJQUF0QixFQUE0QjtBQUN6QyxNQUFJLE9BQU9DLE1BQVAsS0FBa0IsV0FBdEIsRUFBbUM7QUFDakMsV0FBTyxPQUFPQSxNQUFNLENBQUNELElBQUQsQ0FBYixLQUF3QixXQUF4QixHQUFzQ0MsTUFBTSxDQUFDRCxJQUFELENBQTVDLEdBQXFEQyxNQUFNLGlCQUFVRCxJQUFWLEVBQWxFO0FBQ0Q7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHZlbmRvclByZWZpeChuYW1lKSB7XG4gIGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiB0eXBlb2Ygd2luZG93W25hbWVdICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvd1tuYW1lXSA6IHdpbmRvd1tgd2Via2l0JHtuYW1lfWBdO1xuICB9XG59XG4iXX0=","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\nimport _forEachInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/for-each\";\nimport _mapInstanceProperty from \"@babel/runtime-corejs3/core-js-stable/instance/map\";\nimport _Object$entries from \"@babel/runtime-corejs3/core-js-stable/object/entries\";\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport Context from './Context';\nimport usePrevious from './usePrevious';\nimport useRefFrom from './useRefFrom';\nimport vendorPrefix from './vendorPrefix';\n\nfunction applyAll() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function () {\n var _arguments = arguments,\n _this = this;\n\n // eslint-disable-next-line no-invalid-this, prefer-rest-params\n _forEachInstanceProperty(fns).call(fns, function (fn) {\n return fn.apply(_this, _arguments);\n });\n };\n}\n\nfunction recognitionAbortable(recognition) {\n return !!(recognition && typeof recognition.abort === 'function');\n}\n\nvar Composer = function Composer(_ref) {\n var children = _ref.children,\n extra = _ref.extra,\n grammar = _ref.grammar,\n lang = _ref.lang,\n onDictate = _ref.onDictate,\n onError = _ref.onError,\n onProgress = _ref.onProgress,\n onRawEvent = _ref.onRawEvent,\n speechGrammarList = _ref.speechGrammarList,\n speechRecognition = _ref.speechRecognition,\n started = _ref.started;\n\n var _useState = useState(0),\n _useState2 = _slicedToArray(_useState, 2),\n readyState = _useState2[0],\n setReadyState = _useState2[1];\n\n var emitDictateOnEndRef = useRef(false);\n var extraRef = useRefFrom(extra);\n var grammarRef = useRefFrom(grammar);\n var langRef = useRefFrom(lang);\n var notAllowedRef = useRef(false);\n var onDictateRef = useRefFrom(onDictate);\n var onErrorRef = useRefFrom(onError);\n var onProgressRef = useRefFrom(onProgress);\n var onRawEventRef = useRefFrom(onRawEvent);\n var prevSpeechRecognition = usePrevious(speechRecognition);\n var recognitionRef = useRef();\n var speechGrammarListRef = useRefFrom(speechGrammarList);\n var speechRecognitionRef = useRefFrom(speechRecognition); // If \"speechRecognition\" ponyfill changed, reset the \"notAllowed\" flag.\n\n if (prevSpeechRecognition !== speechRecognition) {\n notAllowedRef.current = false;\n }\n\n var handleAudioEnd = useCallback(function (_ref2) {\n var target = _ref2.target;\n return target === recognitionRef.current && setReadyState(3);\n }, [recognitionRef, setReadyState]);\n var handleAudioStart = useCallback(function (_ref3) {\n var target = _ref3.target;\n\n if (target !== recognitionRef.current) {\n return;\n }\n\n setReadyState(2); // Web Speech API does not emit \"result\" when nothing is heard, and Chrome does not emit \"nomatch\" event.\n // Because we emitted onProgress, we should emit \"dictate\" if not error, so they works in pair.\n\n emitDictateOnEndRef.current = true;\n onProgressRef.current && onProgressRef.current({\n abortable: recognitionAbortable(target),\n type: 'progress'\n });\n }, [emitDictateOnEndRef, onProgressRef, recognitionRef, setReadyState]);\n var handleEnd = useCallback(function (_ref4) {\n var target = _ref4.target;\n\n if (target !== recognitionRef.current) {\n return;\n }\n\n recognitionRef.current = undefined;\n setReadyState(0);\n\n if (emitDictateOnEndRef.current) {\n onDictateRef.current && onDictateRef.current({\n type: 'dictate'\n });\n emitDictateOnEndRef.current = false;\n }\n }, [emitDictateOnEndRef, onDictateRef, recognitionRef, setReadyState]);\n var handleError = useCallback(function (event) {\n if (event.target !== recognitionRef.current) {\n return;\n } // Error out, no need to emit \"dictate\"\n\n\n emitDictateOnEndRef.current = false;\n recognitionRef.current = undefined;\n\n if (event.error === 'not-allowed') {\n notAllowedRef.current = true;\n }\n\n setReadyState(0);\n onErrorRef.current && onErrorRef.current(event);\n }, [emitDictateOnEndRef, onErrorRef, notAllowedRef, recognitionRef, setReadyState]);\n var handleRawEvent = useCallback(function (event) {\n if (event.target !== recognitionRef.current) {\n return;\n }\n\n onRawEventRef.current && onRawEventRef.current(event);\n }, [onRawEventRef, recognitionRef]);\n var handleResult = useCallback(function (_ref5) {\n var rawResults = _ref5.results,\n target = _ref5.target;\n\n if (target !== recognitionRef.current) {\n return;\n }\n\n if (rawResults.length) {\n var results = _mapInstanceProperty([]).call(rawResults, function (alts) {\n // Destructuring breaks Angular due to a bug in Zone.js.\n // eslint-disable-next-line prefer-destructuring\n var firstAlt = alts[0];\n return {\n confidence: firstAlt.confidence,\n transcript: firstAlt.transcript\n };\n }); // Destructuring breaks Angular due to a bug in Zone.js.\n // eslint-disable-next-line prefer-destructuring\n\n\n var first = rawResults[0];\n\n if (first.isFinal) {\n // After \"onDictate\" callback, the caller should be able to set \"started\" to false on an unabortable recognition.\n // TODO: Add test for fortification.\n recognitionRef.current = undefined;\n setReadyState(0);\n onDictateRef.current && onDictateRef.current({\n result: results[0],\n type: 'dictate'\n });\n } else {\n onProgressRef.current && onProgressRef.current({\n abortable: recognitionAbortable(target),\n results: results,\n type: 'progress'\n });\n }\n }\n }, [onDictateRef, onProgressRef, recognitionRef, setReadyState]);\n var handleStart = useCallback(function (_ref6) {\n var target = _ref6.target;\n return target === recognitionRef.current && setReadyState(1);\n }, [recognitionRef, setReadyState]);\n useEffect(function () {\n if (started) {\n var _context;\n\n if (!speechRecognitionRef.current || notAllowedRef.current) {\n throw new Error('Speech recognition is not supported');\n }\n\n var grammars = speechGrammarListRef.current && grammarRef.current && new speechGrammarListRef.current();\n var recognition = recognitionRef.current = new speechRecognitionRef.current();\n\n if (grammars) {\n grammars.addFromString(grammarRef.current, 1);\n recognition.grammars = grammars;\n }\n\n recognition.lang = langRef.current;\n recognition.interimResults = true;\n recognition.onaudioend = applyAll(handleAudioEnd, handleRawEvent);\n recognition.onaudiostart = applyAll(handleAudioStart, handleRawEvent);\n recognition.onend = applyAll(handleEnd, handleRawEvent);\n recognition.onerror = applyAll(handleError, handleRawEvent);\n recognition.onnomatch = handleRawEvent;\n recognition.onresult = applyAll(handleResult, handleRawEvent);\n recognition.onsoundend = handleRawEvent;\n recognition.onsoundstart = handleRawEvent;\n recognition.onspeechend = handleRawEvent;\n recognition.onspeechstart = handleRawEvent;\n recognition.onstart = applyAll(handleStart, handleRawEvent);\n var _extra = extraRef.current;\n _extra && _forEachInstanceProperty(_context = _Object$entries(_extra)).call(_context, function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n key = _ref8[0],\n value = _ref8[1];\n\n if (key !== 'constructor' && key !== 'prototype' && key !== '__proto__') {\n recognition[key] = value;\n }\n });\n recognition.start();\n }\n\n return function () {\n var recognition = recognitionRef.current;\n\n if (recognition) {\n if (recognitionAbortable(recognition)) {\n recognition.abort();\n } else {\n throw new Error('Failed to stop recognition while the current one is ongoing and is not abortable.');\n }\n }\n };\n }, [extraRef, grammarRef, handleAudioEnd, handleAudioStart, handleEnd, handleError, handleRawEvent, handleResult, handleStart, langRef, notAllowedRef, recognitionRef, speechGrammarListRef, speechRecognitionRef, started]);\n var abortable = recognitionAbortable(recognitionRef.current) && readyState === 2;\n var supported = !!speechRecognition && !notAllowedRef.current;\n var context = useMemo(function () {\n return {\n abortable: abortable,\n readyState: readyState,\n supported: supported\n };\n }, [abortable, readyState, supported]);\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: context\n }, /*#__PURE__*/React.createElement(Context.Consumer, null, function (context) {\n return typeof children === 'function' ? children(context) : children;\n }));\n};\n\nComposer.defaultProps = {\n children: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: navigator.mediaDevices && navigator.mediaDevices.getUserMedia && vendorPrefix('SpeechGrammarList'),\n speechRecognition: navigator.mediaDevices && navigator.mediaDevices.getUserMedia && vendorPrefix('SpeechRecognition'),\n started: undefined\n};\nComposer.propTypes = {\n children: PropTypes.any,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any,\n started: PropTypes.any\n};\nexport default Composer;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Db21wb3Nlci5qcyJdLCJuYW1lcyI6WyJQcm9wVHlwZXMiLCJSZWFjdCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwiQ29udGV4dCIsInVzZVByZXZpb3VzIiwidXNlUmVmRnJvbSIsInZlbmRvclByZWZpeCIsImFwcGx5QWxsIiwiZm5zIiwiZm4iLCJhcHBseSIsImFyZ3VtZW50cyIsInJlY29nbml0aW9uQWJvcnRhYmxlIiwicmVjb2duaXRpb24iLCJhYm9ydCIsIkNvbXBvc2VyIiwiY2hpbGRyZW4iLCJleHRyYSIsImdyYW1tYXIiLCJsYW5nIiwib25EaWN0YXRlIiwib25FcnJvciIsIm9uUHJvZ3Jlc3MiLCJvblJhd0V2ZW50Iiwic3BlZWNoR3JhbW1hckxpc3QiLCJzcGVlY2hSZWNvZ25pdGlvbiIsInN0YXJ0ZWQiLCJyZWFkeVN0YXRlIiwic2V0UmVhZHlTdGF0ZSIsImVtaXREaWN0YXRlT25FbmRSZWYiLCJleHRyYVJlZiIsImdyYW1tYXJSZWYiLCJsYW5nUmVmIiwibm90QWxsb3dlZFJlZiIsIm9uRGljdGF0ZVJlZiIsIm9uRXJyb3JSZWYiLCJvblByb2dyZXNzUmVmIiwib25SYXdFdmVudFJlZiIsInByZXZTcGVlY2hSZWNvZ25pdGlvbiIsInJlY29nbml0aW9uUmVmIiwic3BlZWNoR3JhbW1hckxpc3RSZWYiLCJzcGVlY2hSZWNvZ25pdGlvblJlZiIsImN1cnJlbnQiLCJoYW5kbGVBdWRpb0VuZCIsInRhcmdldCIsImhhbmRsZUF1ZGlvU3RhcnQiLCJhYm9ydGFibGUiLCJ0eXBlIiwiaGFuZGxlRW5kIiwidW5kZWZpbmVkIiwiaGFuZGxlRXJyb3IiLCJldmVudCIsImVycm9yIiwiaGFuZGxlUmF3RXZlbnQiLCJoYW5kbGVSZXN1bHQiLCJyYXdSZXN1bHRzIiwicmVzdWx0cyIsImxlbmd0aCIsImNhbGwiLCJhbHRzIiwiZmlyc3RBbHQiLCJjb25maWRlbmNlIiwidHJhbnNjcmlwdCIsImZpcnN0IiwiaXNGaW5hbCIsInJlc3VsdCIsImhhbmRsZVN0YXJ0IiwiRXJyb3IiLCJncmFtbWFycyIsImFkZEZyb21TdHJpbmciLCJpbnRlcmltUmVzdWx0cyIsIm9uYXVkaW9lbmQiLCJvbmF1ZGlvc3RhcnQiLCJvbmVuZCIsIm9uZXJyb3IiLCJvbm5vbWF0Y2giLCJvbnJlc3VsdCIsIm9uc291bmRlbmQiLCJvbnNvdW5kc3RhcnQiLCJvbnNwZWVjaGVuZCIsIm9uc3BlZWNoc3RhcnQiLCJvbnN0YXJ0Iiwia2V5IiwidmFsdWUiLCJzdGFydCIsInN1cHBvcnRlZCIsImNvbnRleHQiLCJkZWZhdWx0UHJvcHMiLCJuYXZpZ2F0b3IiLCJtZWRpYURldmljZXMiLCJnZXRVc2VyTWVkaWEiLCJwcm9wVHlwZXMiLCJhbnkiLCJzdHJpbmciLCJmdW5jIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBRUEsT0FBT0EsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLEtBQVAsSUFBZ0JDLFdBQWhCLEVBQTZCQyxTQUE3QixFQUF3Q0MsT0FBeEMsRUFBaURDLE1BQWpELEVBQXlEQyxRQUF6RCxRQUF5RSxPQUF6RTtBQUVBLE9BQU9DLE9BQVAsTUFBb0IsV0FBcEI7QUFDQSxPQUFPQyxXQUFQLE1BQXdCLGVBQXhCO0FBQ0EsT0FBT0MsVUFBUCxNQUF1QixjQUF2QjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsZ0JBQXpCOztBQUVBLFNBQVNDLFFBQVQsR0FBMEI7QUFBQSxvQ0FBTEMsR0FBSztBQUFMQSxJQUFBQSxHQUFLO0FBQUE7O0FBQ3hCLFNBQU8sWUFBWTtBQUFBO0FBQUE7O0FBQ2pCO0FBQ0EsNkJBQUFBLEdBQUcsTUFBSCxDQUFBQSxHQUFHLEVBQVMsVUFBQUMsRUFBRTtBQUFBLGFBQUlBLEVBQUUsQ0FBQ0MsS0FBSCxDQUFTLEtBQVQsRUFBZUMsVUFBZixDQUFKO0FBQUEsS0FBWCxDQUFIO0FBQ0QsR0FIRDtBQUlEOztBQUVELFNBQVNDLG9CQUFULENBQThCQyxXQUE5QixFQUEyQztBQUN6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QUFpQixFQUFFK0QsU0FBUyxDQUFDQyxZQUFWLElBQTBCRCxTQUFTLENBQUNDLFlBQVYsQ0FBdUJDLFlBQWpELElBQWlFcEYsWUFBWSxDQUFDLG1CQUFELENBVjFFO0FBV3RCb0IsRUFBQUEsT0FBTyxFQUFFdUI7QUFYYSxDQUF4QjtBQWNBbEMsUUFBUSxDQUFDNEUsU0FBVCxHQUFxQjtBQUNuQjNFLEVBQUFBLFFBQVEsRUFBRXBCLFNBQVMsQ0FBQ2dHLEdBREQ7QUFFbkIzRSxFQUFBQSxLQUFLLEVBQUVyQixTQUFTLENBQUNnRyxHQUZFO0FBR25CMUUsRUFBQUEsT0FBTyxFQUFFdEIsU0FBUyxDQUFDaUcsTUFIQTtBQUluQjFFLEVBQUFBLElBQUksRUFBRXZCLFNBQVMsQ0FBQ2lHLE1BSkc7QUFLbkJ6RSxFQUFBQSxTQUFTLEVBQUV4QixTQUFTLENBQUNrRyxJQUxGO0FBTW5CekUsRUFBQUEsT0FBTyxFQUFFekIsU0FBUyxDQUFDa0csSUFOQTtBQU9uQnhFLEVBQUFBLFVBQVUsRUFBRTFCLFNBQVMsQ0FBQ2tHLElBUEg7QUFRbkJ2RSxFQUFBQSxVQUFVLEVBQUUzQixTQUFTLENBQUNrRyxJQVJIO0FBU25CdEUsRUFBQUEsaUJBQWlCLEVBQUU1QixTQUFTLENBQUNnRyxHQVRWO0FBVW5CbkUsRUFBQUEsaUJBQWlCLEVBQUU3QixTQUFTLENBQUNnRyxHQVZWO0FBV25CbEUsRUFBQUEsT0FBTyxFQUFFOUIsU0FBUyxDQUFDZ0c7QUFYQSxDQUFyQjtBQWNBLGVBQWU3RSxRQUFmIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50IG5vLW1hZ2ljLW51bWJlcnM6IFtcImVycm9yXCIsIHsgXCJpZ25vcmVcIjogWzAsIDEsIDIsIDNdIH1dICovXG5cbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IENvbnRleHQgZnJvbSAnLi9Db250ZXh0JztcbmltcG9ydCB1c2VQcmV2aW91cyBmcm9tICcuL3VzZVByZXZpb3VzJztcbmltcG9ydCB1c2VSZWZGcm9tIGZyb20gJy4vdXNlUmVmRnJvbSc7XG5pbXBvcnQgdmVuZG9yUHJlZml4IGZyb20gJy4vdmVuZG9yUHJlZml4JztcblxuZnVuY3Rpb24gYXBwbHlBbGwoLi4uZm5zKSB7XG4gIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWludmFsaWQtdGhpcywgcHJlZmVyLXJlc3QtcGFyYW1zXG4gICAgZm5zLmZvckVhY2goZm4gPT4gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlY29nbml0aW9uQWJvcnRhYmxlKHJlY29nbml0aW9uKSB7XG4gIHJldHVybiAhIShyZWNvZ25pdGlvbiAmJiB0eXBlb2YgcmVjb2duaXRpb24uYWJvcnQgPT09ICdmdW5jdGlvbicpO1xufVxuXG5jb25zdCBDb21wb3NlciA9ICh7XG4gIGNoaWxkcmVuLFxuICBleHRyYSxcbiAgZ3JhbW1hcixcbiAgbGFuZyxcbiAgb25EaWN0YXRlLFxuICBvbkVycm9yLFxuICBvblByb2dyZXNzLFxuICBvblJhd0V2ZW50LFxuICBzcGVlY2hHcmFtbWFyTGlzdCxcbiAgc3BlZWNoUmVjb2duaXRpb24sXG4gIHN0YXJ0ZWRcbn0pID0+IHtcbiAgY29uc3QgW3JlYWR5U3RhdGUsIHNldFJlYWR5U3RhdGVdID0gdXNlU3RhdGUoMCk7XG4gIGNvbnN0IGVtaXREaWN0YXRlT25FbmRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBleHRyYVJlZiA9IHVzZVJlZkZyb20oZXh0cmEpO1xuICBjb25zdCBncmFtbWFyUmVmID0gdXNlUmVmRnJvbShncmFtbWFyKTtcbiAgY29uc3QgbGFuZ1JlZiA9IHVzZVJlZkZyb20obGFuZyk7XG4gIGNvbnN0IG5vdEFsbG93ZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICBjb25zdCBvbkRpY3RhdGVSZWYgPSB1c2VSZWZGcm9tKG9uRGljdGF0ZSk7XG4gIGNvbnN0IG9uRXJyb3JSZWYgPSB1c2VSZWZGcm9tKG9uRXJyb3IpO1xuICBjb25zdCBvblByb2dyZXNzUmVmID0gdXNlUmVmRnJvbShvblByb2dyZXNzKTtcbiAgY29uc3Qgb25SYXdFdmVudFJlZiA9IHVzZVJlZkZyb20ob25SYXdFdmVudCk7XG4gIGNvbnN0IHByZXZTcGVlY2hSZWNvZ25pdGlvbiA9IHVzZVByZXZpb3VzKHNwZWVjaFJlY29nbml0aW9uKTtcbiAgY29uc3QgcmVjb2duaXRpb25SZWYgPSB1c2VSZWYoKTtcbiAgY29uc3Qgc3BlZWNoR3JhbW1hckxpc3RSZWYgPSB1c2VSZWZGcm9tKHNwZWVjaEdyYW1tYXJMaXN0KTtcbiAgY29uc3Qgc3BlZWNoUmVjb2duaXRpb25SZWYgPSB1c2VSZWZGcm9tKHNwZWVjaFJlY29nbml0aW9uKTtcblxuICAvLyBJZiBcInNwZWVjaFJlY29nbml0aW9uXCIgcG9ueWZpbGwgY2hhbmdlZCwgcmVzZXQgdGhlIFwibm90QWxsb3dlZFwiIGZsYWcuXG4gIGlmIChwcmV2U3BlZWNoUmVjb2duaXRpb24gIT09IHNwZWVjaFJlY29nbml0aW9uKSB7XG4gICAgbm90QWxsb3dlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gIH1cblxuICBjb25zdCBoYW5kbGVBdWRpb0VuZCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHRhcmdldCB9KSA9PiB0YXJnZXQgPT09IHJlY29nbml0aW9uUmVmLmN1cnJlbnQgJiYgc2V0UmVhZHlTdGF0ZSgzKSxcbiAgICBbcmVjb2duaXRpb25SZWYsIHNldFJlYWR5U3RhdGVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlQXVkaW9TdGFydCA9IHVzZUNhbGxiYWNrKFxuICAgICh7IHRhcmdldCB9KSA9PiB7XG4gICAgICBpZiAodGFyZ2V0ICE9PSByZWNvZ25pdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2V0UmVhZHlTdGF0ZSgyKTtcblxuICAgICAgLy8gV2ViIFNwZWVjaCBBUEkgZG9lcyBub3QgZW1pdCBcInJlc3VsdFwiIHdoZW4gbm90aGluZyBpcyBoZWFyZCwgYW5kIENocm9tZSBkb2VzIG5vdCBlbWl0IFwibm9tYXRjaFwiIGV2ZW50LlxuICAgICAgLy8gQmVjYXVzZSB3ZSBlbWl0dGVkIG9uUHJvZ3Jlc3MsIHdlIHNob3VsZCBlbWl0IFwiZGljdGF0ZVwiIGlmIG5vdCBlcnJvciwgc28gdGhleSB3b3JrcyBpbiBwYWlyLlxuICAgICAgZW1pdERpY3RhdGVPbkVuZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIG9uUHJvZ3Jlc3NSZWYuY3VycmVudCAmJiBvblByb2dyZXNzUmVmLmN1cnJlbnQoeyBhYm9ydGFibGU6IHJlY29nbml0aW9uQWJvcnRhYmxlKHRhcmdldCksIHR5cGU6ICdwcm9ncmVzcycgfSk7XG4gICAgfSxcbiAgICBbZW1pdERpY3RhdGVPbkVuZFJlZiwgb25Qcm9ncmVzc1JlZiwgcmVjb2duaXRpb25SZWYsIHNldFJlYWR5U3RhdGVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRW5kID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgdGFyZ2V0IH0pID0+IHtcbiAgICAgIGlmICh0YXJnZXQgIT09IHJlY29nbml0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZWNvZ25pdGlvblJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgc2V0UmVhZHlTdGF0ZSgwKTtcblxuICAgICAgaWYgKGVtaXREaWN0YXRlT25FbmRSZWYuY3VycmVudCkge1xuICAgICAgICBvbkRpY3RhdGVSZWYuY3VycmVudCAmJiBvbkRpY3RhdGVSZWYuY3VycmVudCh7IHR5cGU6ICdkaWN0YXRlJyB9KTtcbiAgICAgICAgZW1pdERpY3RhdGVPbkVuZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZW1pdERpY3RhdGVPbkVuZFJlZiwgb25EaWN0YXRlUmVmLCByZWNvZ25pdGlvblJlZiwgc2V0UmVhZHlTdGF0ZV1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVFcnJvciA9IHVzZUNhbGxiYWNrKFxuICAgIGV2ZW50ID0+IHtcbiAgICAgIGlmIChldmVudC50YXJnZXQgIT09IHJlY29nbml0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBFcnJvciBvdXQsIG5vIG5lZWQgdG8gZW1pdCBcImRpY3RhdGVcIlxuICAgICAgZW1pdERpY3RhdGVPbkVuZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICByZWNvZ25pdGlvblJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuXG4gICAgICBpZiAoZXZlbnQuZXJyb3IgPT09ICdub3QtYWxsb3dlZCcpIHtcbiAgICAgICAgbm90QWxsb3dlZFJlZi5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgc2V0UmVhZHlTdGF0ZSgwKTtcblxuICAgICAgb25FcnJvclJlZi5jdXJyZW50ICYmIG9uRXJyb3JSZWYuY3VycmVudChldmVudCk7XG4gICAgfSxcbiAgICBbZW1pdERpY3RhdGVPbkVuZFJlZiwgb25FcnJvclJlZiwgbm90QWxsb3dlZFJlZiwgcmVjb2duaXRpb25SZWYsIHNldFJlYWR5U3RhdGVdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmF3RXZlbnQgPSB1c2VDYWxsYmFjayhcbiAgICBldmVudCA9PiB7XG4gICAgICBpZiAoZXZlbnQudGFyZ2V0ICE9PSByZWNvZ25pdGlvblJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgb25SYXdFdmVudFJlZi5jdXJyZW50ICYmIG9uUmF3RXZlbnRSZWYuY3VycmVudChldmVudCk7XG4gICAgfSxcbiAgICBbb25SYXdFdmVudFJlZiwgcmVjb2duaXRpb25SZWZdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlUmVzdWx0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgcmVzdWx0czogcmF3UmVzdWx0cywgdGFyZ2V0IH0pID0+IHtcbiAgICAgIGlmICh0YXJnZXQgIT09IHJlY29nbml0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAocmF3UmVzdWx0cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0cyA9IFtdLm1hcC5jYWxsKHJhd1Jlc3VsdHMsIGFsdHMgPT4ge1xuICAgICAgICAgIC8vIERlc3RydWN0dXJpbmcgYnJlYWtzIEFuZ3VsYXIgZHVlIHRvIGEgYnVnIGluIFpvbmUuanMuXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgICAgY29uc3QgZmlyc3RBbHQgPSBhbHRzWzBdO1xuXG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGNvbmZpZGVuY2U6IGZpcnN0QWx0LmNvbmZpZGVuY2UsXG4gICAgICAgICAgICB0cmFuc2NyaXB0OiBmaXJzdEFsdC50cmFuc2NyaXB0XG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gRGVzdHJ1Y3R1cmluZyBicmVha3MgQW5ndWxhciBkdWUgdG8gYSBidWcgaW4gWm9uZS5qcy5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1kZXN0cnVjdHVyaW5nXG4gICAgICAgIGNvbnN0IGZpcnN0ID0gcmF3UmVzdWx0c1swXTtcblxuICAgICAgICBpZiAoZmlyc3QuaXNGaW5hbCkge1xuICAgICAgICAgIC8vIEFmdGVyIFwib25EaWN0YXRlXCIgY2FsbGJhY2ssIHRoZSBjYWxsZXIgc2hvdWxkIGJlIGFibGUgdG8gc2V0IFwic3RhcnRlZFwiIHRvIGZhbHNlIG9uIGFuIHVuYWJvcnRhYmxlIHJlY29nbml0aW9uLlxuICAgICAgICAgIC8vIFRPRE86IEFkZCB0ZXN0IGZvciBmb3J0aWZpY2F0aW9uLlxuICAgICAgICAgIHJlY29nbml0aW9uUmVmLmN1cnJlbnQgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgc2V0UmVhZHlTdGF0ZSgwKTtcblxuICAgICAgICAgIG9uRGljdGF0ZVJlZi5jdXJyZW50ICYmIG9uRGljdGF0ZVJlZi5jdXJyZW50KHsgcmVzdWx0OiByZXN1bHRzWzBdLCB0eXBlOiAnZGljdGF0ZScgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgb25Qcm9ncmVzc1JlZi5jdXJyZW50ICYmXG4gICAgICAgICAgICBvblByb2dyZXNzUmVmLmN1cnJlbnQoeyBhYm9ydGFibGU6IHJlY29nbml0aW9uQWJvcnRhYmxlKHRhcmdldCksIHJlc3VsdHMsIHR5cGU6ICdwcm9ncmVzcycgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIFtvbkRpY3RhdGVSZWYsIG9uUHJvZ3Jlc3NSZWYsIHJlY29nbml0aW9uUmVmLCBzZXRSZWFkeVN0YXRlXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZVN0YXJ0ID0gdXNlQ2FsbGJhY2soXG4gICAgKHsgdGFyZ2V0IH0pID0+IHRhcmdldCA9PT0gcmVjb2duaXRpb25SZWYuY3VycmVudCAmJiBzZXRSZWFkeVN0YXRlKDEpLFxuICAgIFtyZWNvZ25pdGlvblJlZiwgc2V0UmVhZHlTdGF0ZV1cbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzdGFydGVkKSB7XG4gICAgICBpZiAoIXNwZWVjaFJlY29nbml0aW9uUmVmLmN1cnJlbnQgfHwgbm90QWxsb3dlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignU3BlZWNoIHJlY29nbml0aW9uIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZ3JhbW1hcnMgPSBzcGVlY2hHcmFtbWFyTGlzdFJlZi5jdXJyZW50ICYmIGdyYW1tYXJSZWYuY3VycmVudCAmJiBuZXcgc3BlZWNoR3JhbW1hckxpc3RSZWYuY3VycmVudCgpO1xuICAgICAgY29uc3QgcmVjb2duaXRpb24gPSAocmVjb2duaXRpb25SZWYuY3VycmVudCA9IG5ldyBzcGVlY2hSZWNvZ25pdGlvblJlZi5jdXJyZW50KCkpO1xuXG4gICAgICBpZiAoZ3JhbW1hcnMpIHtcbiAgICAgICAgZ3JhbW1hcnMuYWRkRnJvbVN0cmluZyhncmFtbWFyUmVmLmN1cnJlbnQsIDEpO1xuXG4gICAgICAgIHJlY29nbml0aW9uLmdyYW1tYXJzID0gZ3JhbW1hcnM7XG4gICAgICB9XG5cbiAgICAgIHJlY29nbml0aW9uLmxhbmcgPSBsYW5nUmVmLmN1cnJlbnQ7XG4gICAgICByZWNvZ25pdGlvbi5pbnRlcmltUmVzdWx0cyA9IHRydWU7XG4gICAgICByZWNvZ25pdGlvbi5vbmF1ZGlvZW5kID0gYXBwbHlBbGwoaGFuZGxlQXVkaW9FbmQsIGhhbmRsZVJhd0V2ZW50KTtcbiAgICAgIHJlY29nbml0aW9uLm9uYXVkaW9zdGFydCA9IGFwcGx5QWxsKGhhbmRsZUF1ZGlvU3RhcnQsIGhhbmRsZVJhd0V2ZW50KTtcbiAgICAgIHJlY29nbml0aW9uLm9uZW5kID0gYXBwbHlBbGwoaGFuZGxlRW5kLCBoYW5kbGVSYXdFdmVudCk7XG4gICAgICByZWNvZ25pdGlvbi5vbmVycm9yID0gYXBwbHlBbGwoaGFuZGxlRXJyb3IsIGhhbmRsZVJhd0V2ZW50KTtcbiAgICAgIHJlY29nbml0aW9uLm9ubm9tYXRjaCA9IGhhbmRsZVJhd0V2ZW50O1xuICAgICAgcmVjb2duaXRpb24ub25yZXN1bHQgPSBhcHBseUFsbChoYW5kbGVSZXN1bHQsIGhhbmRsZVJhd0V2ZW50KTtcbiAgICAgIHJlY29nbml0aW9uLm9uc291bmRlbmQgPSBoYW5kbGVSYXdFdmVudDtcbiAgICAgIHJlY29nbml0aW9uLm9uc291bmRzdGFydCA9IGhhbmRsZVJhd0V2ZW50O1xuICAgICAgcmVjb2duaXRpb24ub25zcGVlY2hlbmQgPSBoYW5kbGVSYXdFdmVudDtcbiAgICAgIHJlY29nbml0aW9uLm9uc3BlZWNoc3RhcnQgPSBoYW5kbGVSYXdFdmVudDtcbiAgICAgIHJlY29nbml0aW9uLm9uc3RhcnQgPSBhcHBseUFsbChoYW5kbGVTdGFydCwgaGFuZGxlUmF3RXZlbnQpO1xuXG4gICAgICBjb25zdCB7IGN1cnJlbnQ6IGV4dHJhIH0gPSBleHRyYVJlZjtcblxuICAgICAgZXh0cmEgJiZcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoZXh0cmEpLmZvckVhY2goKFtrZXksIHZhbHVlXSkgPT4ge1xuICAgICAgICAgIGlmIChrZXkgIT09ICdjb25zdHJ1Y3RvcicgJiYga2V5ICE9PSAncHJvdG90eXBlJyAmJiBrZXkgIT09ICdfX3Byb3RvX18nKSB7XG4gICAgICAgICAgICByZWNvZ25pdGlvbltrZXldID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgcmVjb2duaXRpb24uc3RhcnQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY29uc3QgeyBjdXJyZW50OiByZWNvZ25pdGlvbiB9ID0gcmVjb2duaXRpb25SZWY7XG5cbiAgICAgIGlmIChyZWNvZ25pdGlvbikge1xuICAgICAgICBpZiAocmVjb2duaXRpb25BYm9ydGFibGUocmVjb2duaXRpb24pKSB7XG4gICAgICAgICAgcmVjb2duaXRpb24uYWJvcnQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBzdG9wIHJlY29nbml0aW9uIHdoaWxlIHRoZSBjdXJyZW50IG9uZSBpcyBvbmdvaW5nIGFuZCBpcyBub3QgYWJvcnRhYmxlLicpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW1xuICAgIGV4dHJhUmVmLFxuICAgIGdyYW1tYXJSZWYsXG4gICAgaGFuZGxlQXVkaW9FbmQsXG4gICAgaGFuZGxlQXVkaW9TdGFydCxcbiAgICBoYW5kbGVFbmQsXG4gICAgaGFuZGxlRXJyb3IsXG4gICAgaGFuZGxlUmF3RXZlbnQsXG4gICAgaGFuZGxlUmVzdWx0LFxuICAgIGhhbmRsZVN0YXJ0LFxuICAgIGxhbmdSZWYsXG4gICAgbm90QWxsb3dlZFJlZixcbiAgICByZWNvZ25pdGlvblJlZixcbiAgICBzcGVlY2hHcmFtbWFyTGlzdFJlZixcbiAgICBzcGVlY2hSZWNvZ25pdGlvblJlZixcbiAgICBzdGFydGVkXG4gIF0pO1xuXG4gIGNvbnN0IGFib3J0YWJsZSA9IHJlY29nbml0aW9uQWJvcnRhYmxlKHJlY29nbml0aW9uUmVmLmN1cnJlbnQpICYmIHJlYWR5U3RhdGUgPT09IDI7XG4gIGNvbnN0IHN1cHBvcnRlZCA9ICEhc3BlZWNoUmVjb2duaXRpb24gJiYgIW5vdEFsbG93ZWRSZWYuY3VycmVudDtcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgYWJvcnRhYmxlLFxuICAgICAgcmVhZHlTdGF0ZSxcbiAgICAgIHN1cHBvcnRlZFxuICAgIH0pLFxuICAgIFthYm9ydGFibGUsIHJlYWR5U3RhdGUsIHN1cHBvcnRlZF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtjb250ZXh0fT5cbiAgICAgIDxDb250ZXh0LkNvbnN1bWVyPntjb250ZXh0ID0+ICh0eXBlb2YgY2hpbGRyZW4gPT09ICdmdW5jdGlvbicgPyBjaGlsZHJlbihjb250ZXh0KSA6IGNoaWxkcmVuKX08L0NvbnRleHQuQ29uc3VtZXI+XG4gICAgPC9Db250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuQ29tcG9zZXIuZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBleHRyYTogdW5kZWZpbmVkLFxuICBncmFtbWFyOiB1bmRlZmluZWQsXG4gIGxhbmc6IHVuZGVmaW5lZCxcbiAgb25EaWN0YXRlOiB1bmRlZmluZWQsXG4gIG9uRXJyb3I6IHVuZGVmaW5lZCxcbiAgb25Qcm9ncmVzczogdW5kZWZpbmVkLFxuICBvblJhd0V2ZW50OiB1bmRlZmluZWQsXG4gIHNwZWVjaEdyYW1tYXJMaXN0OiBuYXZpZ2F0b3IubWVkaWFEZXZpY2VzICYmIG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhICYmIHZlbmRvclByZWZpeCgnU3BlZWNoR3JhbW1hckxpc3QnKSxcbiAgc3BlZWNoUmVjb2duaXRpb246IG5hdmlnYXRvci5tZWRpYURldmljZXMgJiYgbmF2aWdhdG9yLm1lZGlhRGV2aWNlcy5nZXRVc2VyTWVkaWEgJiYgdmVuZG9yUHJlZml4KCdTcGVlY2hSZWNvZ25pdGlvbicpLFxuICBzdGFydGVkOiB1bmRlZmluZWRcbn07XG5cbkNvbXBvc2VyLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gIGV4dHJhOiBQcm9wVHlwZXMuYW55LFxuICBncmFtbWFyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkRpY3RhdGU6IFByb3BUeXBlcy5mdW5jLFxuICBvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25Qcm9ncmVzczogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUmF3RXZlbnQ6IFByb3BUeXBlcy5mdW5jLFxuICBzcGVlY2hHcmFtbWFyTGlzdDogUHJvcFR5cGVzLmFueSxcbiAgc3BlZWNoUmVjb2duaXRpb246IFByb3BUeXBlcy5hbnksXG4gIHN0YXJ0ZWQ6IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvbXBvc2VyO1xuIl19","import { useEffect, useRef } from 'react';\nexport default function usePrevious(value) {\n var ref = useRef();\n useEffect(function () {\n ref.current = value;\n });\n return ref.current;\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91c2VQcmV2aW91cy5qcyJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VQcmV2aW91cyIsInZhbHVlIiwicmVmIiwiY3VycmVudCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBVCxFQUFvQkMsTUFBcEIsUUFBa0MsT0FBbEM7QUFFQSxlQUFlLFNBQVNDLFdBQVQsQ0FBcUJDLEtBQXJCLEVBQTRCO0FBQ3pDLE1BQU1DLEdBQUcsR0FBR0gsTUFBTSxFQUFsQjtBQUVBRCxFQUFBQSxTQUFTLENBQUMsWUFBTTtBQUNkSSxJQUFBQSxHQUFHLENBQUNDLE9BQUosR0FBY0YsS0FBZDtBQUNELEdBRlEsQ0FBVDtBQUlBLFNBQU9DLEdBQUcsQ0FBQ0MsT0FBWDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVByZXZpb3VzKHZhbHVlKSB7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZigpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmLmN1cnJlbnQgPSB2YWx1ZTtcbiAgfSk7XG5cbiAgcmV0dXJuIHJlZi5jdXJyZW50O1xufVxuIl19","import { useContext } from 'react';\nimport Context from '../../Context';\nexport default function useDictateContext() {\n return useContext(Context);\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9ob29rcy9pbnRlcm5hbC91c2VEaWN0YXRlQ29udGV4dC5qcyJdLCJuYW1lcyI6WyJ1c2VDb250ZXh0IiwiQ29udGV4dCIsInVzZURpY3RhdGVDb250ZXh0Il0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFULFFBQTJCLE9BQTNCO0FBRUEsT0FBT0MsT0FBUCxNQUFvQixlQUFwQjtBQUVBLGVBQWUsU0FBU0MsaUJBQVQsR0FBNkI7QUFDMUMsU0FBT0YsVUFBVSxDQUFDQyxPQUFELENBQWpCO0FBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQ29udGV4dCBmcm9tICcuLi8uLi9Db250ZXh0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlRGljdGF0ZUNvbnRleHQoKSB7XG4gIHJldHVybiB1c2VDb250ZXh0KENvbnRleHQpO1xufVxuIl19","import useDictateContext from './internal/useDictateContext';\nexport default function useReadyState() {\n var _useDictateContext = useDictateContext(),\n readyState = _useDictateContext.readyState;\n\n return [readyState];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VSZWFkeVN0YXRlLmpzIl0sIm5hbWVzIjpbInVzZURpY3RhdGVDb250ZXh0IiwidXNlUmVhZHlTdGF0ZSIsInJlYWR5U3RhdGUiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGlCQUFQLE1BQThCLDhCQUE5QjtBQUVBLGVBQWUsU0FBU0MsYUFBVCxHQUF5QjtBQUN0QywyQkFBdUJELGlCQUFpQixFQUF4QztBQUFBLE1BQVFFLFVBQVIsc0JBQVFBLFVBQVI7O0FBRUEsU0FBTyxDQUFDQSxVQUFELENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VEaWN0YXRlQ29udGV4dCBmcm9tICcuL2ludGVybmFsL3VzZURpY3RhdGVDb250ZXh0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlUmVhZHlTdGF0ZSgpIHtcbiAgY29uc3QgeyByZWFkeVN0YXRlIH0gPSB1c2VEaWN0YXRlQ29udGV4dCgpO1xuXG4gIHJldHVybiBbcmVhZHlTdGF0ZV07XG59XG4iXX0=","import useDictateContext from './internal/useDictateContext';\nexport default function useSupported() {\n var _useDictateContext = useDictateContext(),\n supported = _useDictateContext.supported;\n\n return [supported];\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy91c2VTdXBwb3J0ZWQuanMiXSwibmFtZXMiOlsidXNlRGljdGF0ZUNvbnRleHQiLCJ1c2VTdXBwb3J0ZWQiLCJzdXBwb3J0ZWQiXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLGlCQUFQLE1BQThCLDhCQUE5QjtBQUVBLGVBQWUsU0FBU0MsWUFBVCxHQUF3QjtBQUNyQywyQkFBc0JELGlCQUFpQixFQUF2QztBQUFBLE1BQVFFLFNBQVIsc0JBQVFBLFNBQVI7O0FBRUEsU0FBTyxDQUFDQSxTQUFELENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB1c2VEaWN0YXRlQ29udGV4dCBmcm9tICcuL2ludGVybmFsL3VzZURpY3RhdGVDb250ZXh0JztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdXNlU3VwcG9ydGVkKCkge1xuICBjb25zdCB7IHN1cHBvcnRlZCB9ID0gdXNlRGljdGF0ZUNvbnRleHQoKTtcblxuICByZXR1cm4gW3N1cHBvcnRlZF07XG59XG4iXX0=","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\nimport Composer from './Composer';\nimport useReadyState from './hooks/useReadyState';\nimport useRefFrom from './useRefFrom';\nimport useSupported from './hooks/useSupported';\n\nvar DictateButtonCore = function DictateButtonCore(_ref) {\n var children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n onClick = _ref.onClick;\n\n var _useReadyState = useReadyState(),\n _useReadyState2 = _slicedToArray(_useReadyState, 1),\n readyState = _useReadyState2[0];\n\n var _useSupported = useSupported(),\n _useSupported2 = _slicedToArray(_useSupported, 1),\n supported = _useSupported2[0];\n\n return /*#__PURE__*/React.createElement(\"button\", {\n className: className,\n disabled: readyState === 1 || readyState === 3 || !supported || disabled,\n onClick: onClick,\n type: \"button\"\n }, typeof children === 'function' ? children({\n readyState: readyState\n }) : children);\n};\n\nDictateButtonCore.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined\n};\nDictateButtonCore.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired\n};\n\nvar DictateButton = function DictateButton(_ref2) {\n var children = _ref2.children,\n className = _ref2.className,\n disabled = _ref2.disabled,\n extra = _ref2.extra,\n grammar = _ref2.grammar,\n lang = _ref2.lang,\n onClick = _ref2.onClick,\n onDictate = _ref2.onDictate,\n onError = _ref2.onError,\n onProgress = _ref2.onProgress,\n onRawEvent = _ref2.onRawEvent,\n speechGrammarList = _ref2.speechGrammarList,\n speechRecognition = _ref2.speechRecognition;\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n started = _useState2[0],\n setStarted = _useState2[1];\n\n var onClickRef = useRefFrom(onClick);\n var onDictateRef = useRefFrom(onDictate);\n var onErrorRef = useRefFrom(onError);\n var handleClick = useCallback(function (event) {\n onClickRef.current && onClickRef.current(event);\n !event.isDefaultPrevented() && setStarted(function (started) {\n return !started;\n });\n }, [onClickRef, setStarted]);\n var handleDictate = useCallback(function (event) {\n setStarted(false);\n onDictateRef.current && onDictateRef.current(event);\n }, [onDictateRef, setStarted]);\n var handleError = useCallback(function (event) {\n setStarted(false);\n onErrorRef.current && onErrorRef.current(event);\n }, [onErrorRef, setStarted]);\n return /*#__PURE__*/React.createElement(Composer, {\n extra: extra,\n grammar: grammar,\n lang: lang,\n onDictate: handleDictate,\n onError: handleError,\n onProgress: onProgress,\n onRawEvent: onRawEvent,\n speechGrammarList: speechGrammarList,\n speechRecognition: speechRecognition,\n started: started && !disabled\n }, /*#__PURE__*/React.createElement(DictateButtonCore, {\n className: className,\n disabled: disabled,\n onClick: handleClick\n }, children));\n};\n\nDictateButton.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onClick: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: undefined,\n speechRecognition: undefined\n};\nDictateButton.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onClick: PropTypes.func,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any\n};\nexport default DictateButton;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EaWN0YXRlQnV0dG9uLmpzIl0sIm5hbWVzIjpbIlByb3BUeXBlcyIsIlJlYWN0IiwidXNlQ2FsbGJhY2siLCJ1c2VTdGF0ZSIsIkNvbXBvc2VyIiwidXNlUmVhZHlTdGF0ZSIsInVzZVJlZkZyb20iLCJ1c2VTdXBwb3J0ZWQiLCJEaWN0YXRlQnV0dG9uQ29yZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwicmVhZHlTdGF0ZSIsInN1cHBvcnRlZCIsImRlZmF1bHRQcm9wcyIsInVuZGVmaW5lZCIsInByb3BUeXBlcyIsImFueSIsInN0cmluZyIsImJvb2wiLCJmdW5jIiwiaXNSZXF1aXJlZCIsIkRpY3RhdGVCdXR0b24iLCJleHRyYSIsImdyYW1tYXIiLCJsYW5nIiwib25EaWN0YXRlIiwib25FcnJvciIsIm9uUHJvZ3Jlc3MiLCJvblJhd0V2ZW50Iiwic3BlZWNoR3JhbW1hckxpc3QiLCJzcGVlY2hSZWNvZ25pdGlvbiIsInN0YXJ0ZWQiLCJzZXRTdGFydGVkIiwib25DbGlja1JlZiIsIm9uRGljdGF0ZVJlZiIsIm9uRXJyb3JSZWYiLCJoYW5kbGVDbGljayIsImV2ZW50IiwiY3VycmVudCIsImlzRGVmYXVsdFByZXZlbnRlZCIsImhhbmRsZURpY3RhdGUiLCJoYW5kbGVFcnJvciJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUVBLE9BQU9BLFNBQVAsTUFBc0IsWUFBdEI7QUFDQSxPQUFPQyxLQUFQLElBQWdCQyxXQUFoQixFQUE2QkMsUUFBN0IsUUFBNkMsT0FBN0M7QUFFQSxPQUFPQyxRQUFQLE1BQXFCLFlBQXJCO0FBQ0EsT0FBT0MsYUFBUCxNQUEwQix1QkFBMUI7QUFDQSxPQUFPQyxVQUFQLE1BQXVCLGNBQXZCO0FBQ0EsT0FBT0MsWUFBUCxNQUF5QixzQkFBekI7O0FBRUEsSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFvQixPQUFnRDtBQUFBLE1BQTdDQyxRQUE2QyxRQUE3Q0EsUUFBNkM7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Z2ljLW51bWJlcnM6IFtcImVycm9yXCIsIHsgXCJpZ25vcmVcIjogWzAsIDEsIDIsIDNdIH1dICovXG5cbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgQ29tcG9zZXIgZnJvbSAnLi9Db21wb3Nlcic7XG5pbXBvcnQgdXNlUmVhZHlTdGF0ZSBmcm9tICcuL2hvb2tzL3VzZVJlYWR5U3RhdGUnO1xuaW1wb3J0IHVzZVJlZkZyb20gZnJvbSAnLi91c2VSZWZGcm9tJztcbmltcG9ydCB1c2VTdXBwb3J0ZWQgZnJvbSAnLi9ob29rcy91c2VTdXBwb3J0ZWQnO1xuXG5jb25zdCBEaWN0YXRlQnV0dG9uQ29yZSA9ICh7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGRpc2FibGVkLCBvbkNsaWNrIH0pID0+IHtcbiAgY29uc3QgW3JlYWR5U3RhdGVdID0gdXNlUmVhZHlTdGF0ZSgpO1xuICBjb25zdCBbc3VwcG9ydGVkXSA9IHVzZVN1cHBvcnRlZCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBkaXNhYmxlZD17cmVhZHlTdGF0ZSA9PT0gMSB8fCByZWFkeVN0YXRlID09PSAzIHx8ICFzdXBwb3J0ZWQgfHwgZGlzYWJsZWR9XG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgPlxuICAgICAge3R5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKHsgcmVhZHlTdGF0ZSB9KSA6IGNoaWxkcmVufVxuICAgIDwvYnV0dG9uPlxuICApO1xufTtcblxuRGljdGF0ZUJ1dHRvbkNvcmUuZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZFxufTtcblxuRGljdGF0ZUJ1dHRvbkNvcmUucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWRcbn07XG5cbmNvbnN0IERpY3RhdGVCdXR0b24gPSAoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBkaXNhYmxlZCxcbiAgZXh0cmEsXG4gIGdyYW1tYXIsXG4gIGxhbmcsXG4gIG9uQ2xpY2ssXG4gIG9uRGljdGF0ZSxcbiAgb25FcnJvcixcbiAgb25Qcm9ncmVzcyxcbiAgb25SYXdFdmVudCxcbiAgc3BlZWNoR3JhbW1hckxpc3QsXG4gIHNwZWVjaFJlY29nbml0aW9uXG59KSA9PiB7XG4gIGNvbnN0IFtzdGFydGVkLCBzZXRTdGFydGVkXSA9IHVzZVN0YXRlKCk7XG4gIGNvbnN0IG9uQ2xpY2tSZWYgPSB1c2VSZWZGcm9tKG9uQ2xpY2spO1xuICBjb25zdCBvbkRpY3RhdGVSZWYgPSB1c2VSZWZGcm9tKG9uRGljdGF0ZSk7XG4gIGNvbnN0IG9uRXJyb3JSZWYgPSB1c2VSZWZGcm9tKG9uRXJyb3IpO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4ge1xuICAgICAgb25DbGlja1JlZi5jdXJyZW50ICYmIG9uQ2xpY2tSZWYuY3VycmVudChldmVudCk7XG5cbiAgICAgICFldmVudC5pc0RlZmF1bHRQcmV2ZW50ZWQoKSAmJiBzZXRTdGFydGVkKHN0YXJ0ZWQgPT4gIXN0YXJ0ZWQpO1xuICAgIH0sXG4gICAgW29uQ2xpY2tSZWYsIHNldFN0YXJ0ZWRdXG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRGljdGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgIGV2ZW50ID0+IHtcbiAgICAgIHNldFN0YXJ0ZWQoZmFsc2UpO1xuXG4gICAgICBvbkRpY3RhdGVSZWYuY3VycmVudCAmJiBvbkRpY3RhdGVSZWYuY3VycmVudChldmVudCk7XG4gICAgfSxcbiAgICBbb25EaWN0YXRlUmVmLCBzZXRTdGFydGVkXVxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUVycm9yID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4ge1xuICAgICAgc2V0U3RhcnRlZChmYWxzZSk7XG5cbiAgICAgIG9uRXJyb3JSZWYuY3VycmVudCAmJiBvbkVycm9yUmVmLmN1cnJlbnQoZXZlbnQpO1xuICAgIH0sXG4gICAgW29uRXJyb3JSZWYsIHNldFN0YXJ0ZWRdXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29tcG9zZXJcbiAgICAgIGV4dHJhPXtleHRyYX1cbiAgICAgIGdyYW1tYXI9e2dyYW1tYXJ9XG4gICAgICBsYW5nPXtsYW5nfVxuICAgICAgb25EaWN0YXRlPXtoYW5kbGVEaWN0YXRlfVxuICAgICAgb25FcnJvcj17aGFuZGxlRXJyb3J9XG4gICAgICBvblByb2dyZXNzPXtvblByb2dyZXNzfVxuICAgICAgb25SYXdFdmVudD17b25SYXdFdmVudH1cbiAgICAgIHNwZWVjaEdyYW1tYXJMaXN0PXtzcGVlY2hHcmFtbWFyTGlzdH1cbiAgICAgIHNwZWVjaFJlY29nbml0aW9uPXtzcGVlY2hSZWNvZ25pdGlvbn1cbiAgICAgIHN0YXJ0ZWQ9e3N0YXJ0ZWQgJiYgIWRpc2FibGVkfVxuICAgID5cbiAgICAgIDxEaWN0YXRlQnV0dG9uQ29yZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBvbkNsaWNrPXtoYW5kbGVDbGlja30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvRGljdGF0ZUJ1dHRvbkNvcmU+XG4gICAgPC9Db21wb3Nlcj5cbiAgKTtcbn07XG5cbkRpY3RhdGVCdXR0b24uZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZCxcbiAgZXh0cmE6IHVuZGVmaW5lZCxcbiAgZ3JhbW1hcjogdW5kZWZpbmVkLFxuICBsYW5nOiB1bmRlZmluZWQsXG4gIG9uQ2xpY2s6IHVuZGVmaW5lZCxcbiAgb25EaWN0YXRlOiB1bmRlZmluZWQsXG4gIG9uRXJyb3I6IHVuZGVmaW5lZCxcbiAgb25Qcm9ncmVzczogdW5kZWZpbmVkLFxuICBvblJhd0V2ZW50OiB1bmRlZmluZWQsXG4gIHNwZWVjaEdyYW1tYXJMaXN0OiB1bmRlZmluZWQsXG4gIHNwZWVjaFJlY29nbml0aW9uOiB1bmRlZmluZWRcbn07XG5cbkRpY3RhdGVCdXR0b24ucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGV4dHJhOiBQcm9wVHlwZXMuYW55LFxuICBncmFtbWFyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkNsaWNrOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25EaWN0YXRlOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25FcnJvcjogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUHJvZ3Jlc3M6IFByb3BUeXBlcy5mdW5jLFxuICBvblJhd0V2ZW50OiBQcm9wVHlwZXMuZnVuYyxcbiAgc3BlZWNoR3JhbW1hckxpc3Q6IFByb3BUeXBlcy5hbnksXG4gIHNwZWVjaFJlY29nbml0aW9uOiBQcm9wVHlwZXMuYW55XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaWN0YXRlQnV0dG9uO1xuIl19","import _slicedToArray from \"@babel/runtime-corejs3/helpers/slicedToArray\";\n\n/* eslint no-magic-numbers: [\"error\", { \"ignore\": [0, 1, 2, 3] }] */\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useState } from 'react';\nimport Composer from './Composer';\nimport useReadyState from './hooks/useReadyState';\nimport useSupported from './hooks/useSupported';\n\nvar DictateCheckboxCore = function DictateCheckboxCore(_ref) {\n var children = _ref.children,\n className = _ref.className,\n disabled = _ref.disabled,\n onChange = _ref.onChange,\n started = _ref.started;\n\n var _useReadyState = useReadyState(),\n _useReadyState2 = _slicedToArray(_useReadyState, 1),\n readyState = _useReadyState2[0];\n\n var _useSupported = useSupported(),\n _useSupported2 = _slicedToArray(_useSupported, 1),\n supported = _useSupported2[0];\n\n return /*#__PURE__*/React.createElement(\"label\", null, /*#__PURE__*/React.createElement(\"input\", {\n checked: started,\n className: className,\n disabled: readyState === 1 || readyState === 3 || !supported || disabled,\n onChange: onChange,\n type: \"checkbox\"\n }), typeof children === 'function' ? children({\n readyState: readyState\n }) : children);\n};\n\nDictateCheckboxCore.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined\n};\nDictateCheckboxCore.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n started: PropTypes.bool.isRequired\n};\n\nvar DictateCheckbox = function DictateCheckbox(_ref2) {\n var children = _ref2.children,\n className = _ref2.className,\n disabled = _ref2.disabled,\n extra = _ref2.extra,\n grammar = _ref2.grammar,\n lang = _ref2.lang,\n onDictate = _ref2.onDictate,\n onError = _ref2.onError,\n onProgress = _ref2.onProgress,\n onRawEvent = _ref2.onRawEvent,\n speechGrammarList = _ref2.speechGrammarList,\n speechRecognition = _ref2.speechRecognition;\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n started = _useState2[0],\n setStarted = _useState2[1];\n\n var handleChange = useCallback(function (_ref3) {\n var checked = _ref3.target.checked;\n setStarted(checked);\n }, [setStarted]);\n var handleDictate = useCallback(function (event) {\n setStarted(false);\n onDictate && onDictate(event);\n }, [onDictate, setStarted]);\n var handleError = useCallback(function (event) {\n setStarted(false);\n onError && onError(event);\n }, [onError, setStarted]);\n return /*#__PURE__*/React.createElement(Composer, {\n extra: extra,\n grammar: grammar,\n lang: lang,\n onDictate: handleDictate,\n onError: handleError,\n onProgress: onProgress,\n onRawEvent: onRawEvent,\n speechGrammarList: speechGrammarList,\n speechRecognition: speechRecognition,\n started: started && !disabled\n }, /*#__PURE__*/React.createElement(DictateCheckboxCore, {\n className: className,\n disabled: disabled,\n onChange: handleChange,\n started: started\n }, children));\n};\n\nDictateCheckbox.defaultProps = {\n children: undefined,\n className: undefined,\n disabled: undefined,\n extra: undefined,\n grammar: undefined,\n lang: undefined,\n onDictate: undefined,\n onError: undefined,\n onProgress: undefined,\n onRawEvent: undefined,\n speechGrammarList: undefined,\n speechRecognition: undefined\n};\nDictateCheckbox.propTypes = {\n children: PropTypes.any,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n extra: PropTypes.any,\n grammar: PropTypes.string,\n lang: PropTypes.string,\n onDictate: PropTypes.func,\n onError: PropTypes.func,\n onProgress: PropTypes.func,\n onRawEvent: PropTypes.func,\n speechGrammarList: PropTypes.any,\n speechRecognition: PropTypes.any\n};\nexport default DictateCheckbox;\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9EaWN0YXRlQ2hlY2tib3guanMiXSwibmFtZXMiOlsiUHJvcFR5cGVzIiwiUmVhY3QiLCJ1c2VDYWxsYmFjayIsInVzZVN0YXRlIiwiQ29tcG9zZXIiLCJ1c2VSZWFkeVN0YXRlIiwidXNlU3VwcG9ydGVkIiwiRGljdGF0ZUNoZWNrYm94Q29yZSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwiZGlzYWJsZWQiLCJvbkNoYW5nZSIsInN0YXJ0ZWQiLCJyZWFkeVN0YXRlIiwic3VwcG9ydGVkIiwiZGVmYXVsdFByb3BzIiwidW5kZWZpbmVkIiwicHJvcFR5cGVzIiwiYW55Iiwic3RyaW5nIiwiYm9vbCIsImZ1bmMiLCJpc1JlcXVpcmVkIiwiRGljdGF0ZUNoZWNrYm94IiwiZXh0cmEiLCJncmFtbWFyIiwibGFuZyIsIm9uRGljdGF0ZSIsIm9uRXJyb3IiLCJvblByb2dyZXNzIiwib25SYXdFdmVudCIsInNwZWVjaEdyYW1tYXJMaXN0Iiwic3BlZWNoUmVjb2duaXRpb24iLCJzZXRTdGFydGVkIiwiaGFuZGxlQ2hhbmdlIiwiY2hlY2tlZCIsInRhcmdldCIsImhhbmRsZURpY3RhdGUiLCJldmVudCIsImhhbmRsZUVycm9yIl0sIm1hcHBpbmdzIjoiOztBQUFBO0FBRUEsT0FBT0EsU0FBUCxNQUFzQixZQUF0QjtBQUNBLE9BQU9DLEtBQVAsSUFBZ0JDLFdBQWhCLEVBQTZCQyxRQUE3QixRQUE2QyxPQUE3QztBQUVBLE9BQU9DLFFBQVAsTUFBcUIsWUFBckI7QUFDQSxPQUFPQyxhQUFQLE1BQTBCLHVCQUExQjtBQUNBLE9BQU9DLFlBQVAsTUFBeUIsc0JBQXpCOztBQUVBLElBQU1DLG1CQUFtQixHQUFHLFNBQXRCQSxtQkFBc0IsT0FBMEQ7QUFBQSxNQUF2REMsUUFBdUQsUUFBdkRBLFFBQXVEO0FBQUEsTUFBN0NDLFNBQTZDLFFBQTdDQSxTQUE2QztBQUFBLE1BQWxDQyxRQUFrQyxRQUFsQ0EsUUFBa0M7QUFBQSxNQUF4QkMsUUFBd0IsUUFBeEJB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QUNOLFNBQWhCLEdBQTRCO0FBQzFCVCxFQUFBQSxRQUFRLEVBQUVSLFNBQVMsQ0FBQ2tCLEdBRE07QUFFMUJULEVBQUFBLFNBQVMsRUFBRVQsU0FBUyxDQUFDbUIsTUFGSztBQUcxQlQsRUFBQUEsUUFBUSxFQUFFVixTQUFTLENBQUNvQixJQUhNO0FBSTFCSSxFQUFBQSxLQUFLLEVBQUV4QixTQUFTLENBQUNrQixHQUpTO0FBSzFCTyxFQUFBQSxPQUFPLEVBQUV6QixTQUFTLENBQUNtQixNQUxPO0FBTTFCTyxFQUFBQSxJQUFJLEVBQUUxQixTQUFTLENBQUNtQixNQU5VO0FBTzFCUSxFQUFBQSxTQUFTLEVBQUUzQixTQUFTLENBQUNxQixJQVBLO0FBUTFCTyxFQUFBQSxPQUFPLEVBQUU1QixTQUFTLENBQUNxQixJQVJPO0FBUzFCUSxFQUFBQSxVQUFVLEVBQUU3QixTQUFTLENBQUNxQixJQVRJO0FBVTFCUyxFQUFBQSxVQUFVLEVBQUU5QixTQUFTLENBQUNxQixJQVZJO0FBVzFCVSxFQUFBQSxpQkFBaUIsRUFBRS9CLFNBQVMsQ0FBQ2tCLEdBWEg7QUFZMUJjLEVBQUFBLGlCQUFpQixFQUFFaEMsU0FBUyxDQUFDa0I7QUFaSCxDQUE1QjtBQWVBLGVBQWVLLGVBQWYiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbMCwgMSwgMiwgM10gfV0gKi9cblxuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBDb21wb3NlciBmcm9tICcuL0NvbXBvc2VyJztcbmltcG9ydCB1c2VSZWFkeVN0YXRlIGZyb20gJy4vaG9va3MvdXNlUmVhZHlTdGF0ZSc7XG5pbXBvcnQgdXNlU3VwcG9ydGVkIGZyb20gJy4vaG9va3MvdXNlU3VwcG9ydGVkJztcblxuY29uc3QgRGljdGF0ZUNoZWNrYm94Q29yZSA9ICh7IGNoaWxkcmVuLCBjbGFzc05hbWUsIGRpc2FibGVkLCBvbkNoYW5nZSwgc3RhcnRlZCB9KSA9PiB7XG4gIGNvbnN0IFtyZWFkeVN0YXRlXSA9IHVzZVJlYWR5U3RhdGUoKTtcbiAgY29uc3QgW3N1cHBvcnRlZF0gPSB1c2VTdXBwb3J0ZWQoKTtcblxuICByZXR1cm4gKFxuICAgIDxsYWJlbD5cbiAgICAgIDxpbnB1dFxuICAgICAgICBjaGVja2VkPXtzdGFydGVkfVxuICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZX1cbiAgICAgICAgZGlzYWJsZWQ9e3JlYWR5U3RhdGUgPT09IDEgfHwgcmVhZHlTdGF0ZSA9PT0gMyB8fCAhc3VwcG9ydGVkIHx8IGRpc2FibGVkfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHR5cGU9XCJjaGVja2JveFwiXG4gICAgICAvPlxuICAgICAge3R5cGVvZiBjaGlsZHJlbiA9PT0gJ2Z1bmN0aW9uJyA/IGNoaWxkcmVuKHsgcmVhZHlTdGF0ZSB9KSA6IGNoaWxkcmVufVxuICAgIDwvbGFiZWw+XG4gICk7XG59O1xuXG5EaWN0YXRlQ2hlY2tib3hDb3JlLmRlZmF1bHRQcm9wcyA9IHtcbiAgY2hpbGRyZW46IHVuZGVmaW5lZCxcbiAgY2xhc3NOYW1lOiB1bmRlZmluZWQsXG4gIGRpc2FibGVkOiB1bmRlZmluZWRcbn07XG5cbkRpY3RhdGVDaGVja2JveENvcmUucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzdGFydGVkOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkXG59O1xuXG5jb25zdCBEaWN0YXRlQ2hlY2tib3ggPSAoe1xuICBjaGlsZHJlbixcbiAgY2xhc3NOYW1lLFxuICBkaXNhYmxlZCxcbiAgZXh0cmEsXG4gIGdyYW1tYXIsXG4gIGxhbmcsXG4gIG9uRGljdGF0ZSxcbiAgb25FcnJvcixcbiAgb25Qcm9ncmVzcyxcbiAgb25SYXdFdmVudCxcbiAgc3BlZWNoR3JhbW1hckxpc3QsXG4gIHNwZWVjaFJlY29nbml0aW9uXG59KSA9PiB7XG4gIGNvbnN0IFtzdGFydGVkLCBzZXRTdGFydGVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcblxuICBjb25zdCBoYW5kbGVDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoeyB0YXJnZXQ6IHsgY2hlY2tlZCB9IH0pID0+IHtcbiAgICAgIHNldFN0YXJ0ZWQoY2hlY2tlZCk7XG4gICAgfSxcbiAgICBbc2V0U3RhcnRlZF1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVEaWN0YXRlID0gdXNlQ2FsbGJhY2soXG4gICAgZXZlbnQgPT4ge1xuICAgICAgc2V0U3RhcnRlZChmYWxzZSk7XG5cbiAgICAgIG9uRGljdGF0ZSAmJiBvbkRpY3RhdGUoZXZlbnQpO1xuICAgIH0sXG4gICAgW29uRGljdGF0ZSwgc2V0U3RhcnRlZF1cbiAgKTtcblxuICBjb25zdCBoYW5kbGVFcnJvciA9IHVzZUNhbGxiYWNrKFxuICAgIGV2ZW50ID0+IHtcbiAgICAgIHNldFN0YXJ0ZWQoZmFsc2UpO1xuICAgICAgb25FcnJvciAmJiBvbkVycm9yKGV2ZW50KTtcbiAgICB9LFxuICAgIFtvbkVycm9yLCBzZXRTdGFydGVkXVxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPENvbXBvc2VyXG4gICAgICBleHRyYT17ZXh0cmF9XG4gICAgICBncmFtbWFyPXtncmFtbWFyfVxuICAgICAgbGFuZz17bGFuZ31cbiAgICAgIG9uRGljdGF0ZT17aGFuZGxlRGljdGF0ZX1cbiAgICAgIG9uRXJyb3I9e2hhbmRsZUVycm9yfVxuICAgICAgb25Qcm9ncmVzcz17b25Qcm9ncmVzc31cbiAgICAgIG9uUmF3RXZlbnQ9e29uUmF3RXZlbnR9XG4gICAgICBzcGVlY2hHcmFtbWFyTGlzdD17c3BlZWNoR3JhbW1hckxpc3R9XG4gICAgICBzcGVlY2hSZWNvZ25pdGlvbj17c3BlZWNoUmVjb2duaXRpb259XG4gICAgICBzdGFydGVkPXtzdGFydGVkICYmICFkaXNhYmxlZH1cbiAgICA+XG4gICAgICA8RGljdGF0ZUNoZWNrYm94Q29yZSBjbGFzc05hbWU9e2NsYXNzTmFtZX0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBvbkNoYW5nZT17aGFuZGxlQ2hhbmdlfSBzdGFydGVkPXtzdGFydGVkfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9EaWN0YXRlQ2hlY2tib3hDb3JlPlxuICAgIDwvQ29tcG9zZXI+XG4gICk7XG59O1xuXG5EaWN0YXRlQ2hlY2tib3guZGVmYXVsdFByb3BzID0ge1xuICBjaGlsZHJlbjogdW5kZWZpbmVkLFxuICBjbGFzc05hbWU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZCxcbiAgZXh0cmE6IHVuZGVmaW5lZCxcbiAgZ3JhbW1hcjogdW5kZWZpbmVkLFxuICBsYW5nOiB1bmRlZmluZWQsXG4gIG9uRGljdGF0ZTogdW5kZWZpbmVkLFxuICBvbkVycm9yOiB1bmRlZmluZWQsXG4gIG9uUHJvZ3Jlc3M6IHVuZGVmaW5lZCxcbiAgb25SYXdFdmVudDogdW5kZWZpbmVkLFxuICBzcGVlY2hHcmFtbWFyTGlzdDogdW5kZWZpbmVkLFxuICBzcGVlY2hSZWNvZ25pdGlvbjogdW5kZWZpbmVkXG59O1xuXG5EaWN0YXRlQ2hlY2tib3gucHJvcFR5cGVzID0ge1xuICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgY2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGV4dHJhOiBQcm9wVHlwZXMuYW55LFxuICBncmFtbWFyOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBsYW5nOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBvbkRpY3RhdGU6IFByb3BUeXBlcy5mdW5jLFxuICBvbkVycm9yOiBQcm9wVHlwZXMuZnVuYyxcbiAgb25Qcm9ncmVzczogUHJvcFR5cGVzLmZ1bmMsXG4gIG9uUmF3RXZlbnQ6IFByb3BUeXBlcy5mdW5jLFxuICBzcGVlY2hHcmFtbWFyTGlzdDogUHJvcFR5cGVzLmFueSxcbiAgc3BlZWNoUmVjb2duaXRpb246IFByb3BUeXBlcy5hbnlcbn07XG5cbmV4cG9ydCBkZWZhdWx0IERpY3RhdGVDaGVja2JveDtcbiJdfQ==","import {\n LiveRegionTwinComposer_default,\n parseDocumentFragmentFromString,\n serializeDocumentFragmentIntoString,\n useInjectStyles,\n useLiveRegion,\n useQueueStaticElement\n} from \"./chunk-AASFMTFD.mjs\";\nimport {\n Context_default,\n ThemeProvider_default,\n makeCreateStyles\n} from \"./chunk-DM5PORLM.mjs\";\nimport {\n __export\n} from \"./chunk-J5LGTIGS.mjs\";\n\n// src/index.ts\nimport { hooks as apiHooks, concatMiddleware, localize } from \"botframework-webchat-api\";\n\n// src/ReactWebChat.tsx\nimport PropTypes59 from \"prop-types\";\nimport React130 from \"react\";\n\n// src/BasicWebChat.tsx\nimport { SendBoxMiddlewareProxy, hooks as hooks28 } from \"botframework-webchat-api\";\nimport classNames11 from \"classnames\";\nimport PropTypes19 from \"prop-types\";\nimport React31 from \"react\";\n\n// src/BasicConnectivityStatus.js\nimport { hooks as hooks10 } from \"botframework-webchat-api\";\nimport React10 from \"react\";\n\n// src/ConnectivityStatus/Connected.js\nimport { hooks as hooks2 } from \"botframework-webchat-api\";\nimport React3 from \"react\";\n\n// src/ScreenReaderText.tsx\nimport PropTypes from \"prop-types\";\nimport React2, { forwardRef, memo as memo2 } from \"react\";\n\n// src/hooks/internal/styleToEmotionObject/private/StyleToEmotionObjectComposer.tsx\nimport { createContext, createRef, useContext, memo } from \"react\";\n\n// src/hooks/internal/styleToEmotionObject/private/createStyleToEmotionObjectComposer.tsx\nimport React, { useCallback } from \"react\";\nimport { useRefFrom } from \"use-ref-from\";\n\n// src/hooks/internal/useEmotion.ts\nimport createEmotion from \"@emotion/css/create-instance\";\nimport { useEffect, useMemo } from \"react\";\n\n// src/Utils/createCSSKey.js\nimport random from \"math-random\";\nfunction useCSSKey() {\n return random().toString(26).substr(2, 5).replace(/\\d/gu, (value) => String.fromCharCode(value.charCodeAt(0) + 65));\n}\n\n// src/hooks/internal/useEmotion.ts\nvar sharedEmotionInstances = [];\nfunction useEmotion(nonce, container) {\n const emotion = useMemo(() => {\n const sharedEmotion = sharedEmotionInstances.find(\n ({ sheet }) => sheet.nonce === nonce && sheet.container === container\n );\n const emotion2 = sharedEmotion ?? createEmotion({ container, key: `webchat--css-${useCSSKey()}`, nonce });\n sharedEmotionInstances.push(emotion2);\n return emotion2;\n }, [container, nonce]);\n useEffect(\n () => () => {\n const index = sharedEmotionInstances.lastIndexOf(emotion);\n ~index && sharedEmotionInstances.splice(index, 1);\n if (!sharedEmotionInstances.includes(emotion) && emotion.sheet?.tags) {\n for (const child of emotion.sheet.tags) {\n child.remove();\n }\n }\n },\n [emotion]\n );\n return emotion;\n}\n\n// src/hooks/internal/styleToEmotionObject/private/createStyleToEmotionObjectComposer.tsx\nimport { hooks } from \"botframework-webchat-api\";\nvar { useStyleOptions } = hooks;\nvar createStyleToEmotionObjectComposer = ({ Provider }) => ({ children, nonce }) => {\n const [{ stylesRoot }] = useStyleOptions();\n const emotion = useEmotion(nonce, stylesRoot);\n const styleToEmotionObject = useCallback((style) => emotion.css(style), [emotion]);\n const styleToEmotionObjectRef = useRefFrom(styleToEmotionObject);\n return /* @__PURE__ */ React.createElement(Provider, { value: styleToEmotionObjectRef }, styleToEmotionObject && children);\n};\nvar createStyleToEmotionObjectComposer_default = createStyleToEmotionObjectComposer;\n\n// src/hooks/internal/styleToEmotionObject/private/StyleToEmotionObjectComposer.tsx\nvar styleToEmotionObjectContext = createContext(\n new Proxy(createRef(), {\n get() {\n throw new Error(\"StyleToEmotionObjectContext was used without StyleToEmotionObjectComposer\");\n }\n })\n);\nfunction useStyleToEmotionObject() {\n return useContext(styleToEmotionObjectContext).current;\n}\nvar StyleToEmotionObjectComposer = memo(createStyleToEmotionObjectComposer_default(styleToEmotionObjectContext));\nStyleToEmotionObjectComposer.displayName = \"StyleToEmotionObjectComposer\";\n\n// src/ScreenReaderText.tsx\nvar ROOT_STYLE = {\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n color: \"transparent\",\n height: 1,\n overflow: \"hidden\",\n position: \"absolute\",\n // We need to set top: 0, otherwise, it will repro:\n // - Run NVDA\n // - Make the transcript long enough to show the scrollbar\n // - Press SHIFT-TAB, focus on upload button\n // - Press up arrow multiple times\n top: 0,\n whiteSpace: \"nowrap\",\n width: 1\n};\nvar ScreenReaderText = forwardRef(\n ({ \"aria-hidden\": ariaHidden, id, text }, ref) => {\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE) + \"\";\n if (ariaHidden && !id) {\n console.warn(\n 'botframework-webchat assertion: when \"aria-hidden\" is set, the screen reader text should be read by \"aria-labelledby\". Thus, \"id\" must be set.'\n );\n }\n return /* @__PURE__ */ React2.createElement(\"div\", { \"aria-hidden\": ariaHidden, className: rootClassName, id, ref }, text);\n }\n);\nScreenReaderText.defaultProps = {\n \"aria-hidden\": void 0,\n id: void 0\n};\nScreenReaderText.propTypes = {\n \"aria-hidden\": PropTypes.bool,\n id: PropTypes.string,\n text: PropTypes.string.isRequired\n};\nScreenReaderText.displayName = \"ScreenReaderText\";\nvar ScreenReaderText_default = memo2(ScreenReaderText);\n\n// src/ConnectivityStatus/Connected.js\nvar { useLocalizer } = hooks2;\nvar ConnectivityStatusConnected = () => {\n const localize2 = useLocalizer();\n return /* @__PURE__ */ React3.createElement(ScreenReaderText_default, { text: localize2(\"CONNECTIVITY_STATUS_ALT\", localize2(\"CONNECTIVITY_STATUS_ALT_CONNECTED\")) });\n};\nvar Connected_default = ConnectivityStatusConnected;\n\n// src/ConnectivityStatus/Connecting.js\nimport { hooks as hooks6 } from \"botframework-webchat-api\";\nimport classNames3 from \"classnames\";\nimport PropTypes3 from \"prop-types\";\nimport React6, { useState as useState2 } from \"react\";\n\n// src/ConnectivityStatus/Assets/SpinnerAnimation.js\nimport { hooks as hooks3 } from \"botframework-webchat-api\";\nimport classNames from \"classnames\";\nimport React4 from \"react\";\n\n// src/hooks/internal/useWebChatUIContext.js\nimport { useContext as useContext2 } from \"react\";\n\n// src/hooks/internal/WebChatUIContext.ts\nimport { createContext as createContext2 } from \"react\";\nvar context = createContext2(void 0);\nvar WebChatUIContext_default = context;\n\n// src/hooks/internal/useWebChatUIContext.js\nfunction useWebChatUIContext() {\n const context2 = useContext2(WebChatUIContext_default);\n if (!context2) {\n throw new Error(\"This hook can only be used on a component that is a descendant of \");\n }\n return context2;\n}\n\n// src/hooks/useStyleSet.ts\nfunction useStyleSet() {\n return Object.freeze([useWebChatUIContext().styleSet]);\n}\n\n// src/ConnectivityStatus/Assets/SpinnerAnimation.js\nvar { useDirection } = hooks3;\nvar SpinnerAnimation = () => {\n const [{ spinnerAnimation: spinnerAnimationStyleSet }] = useStyleSet();\n const [direction] = useDirection();\n return /* @__PURE__ */ React4.createElement(\"div\", { className: classNames(spinnerAnimationStyleSet + \"\", direction === \"rtl\" && \"webchat__spinner--rtl\") });\n};\nvar SpinnerAnimation_default = SpinnerAnimation;\n\n// src/hooks/internal/useForceRender.js\nimport { useCallback as useCallback2, useState } from \"react\";\nfunction useForceRender() {\n const [, setForceRender] = useState();\n return useCallback2(() => setForceRender({}), [setForceRender]);\n}\nvar useForceRender_default = useForceRender;\n\n// src/hooks/internal/useTimer.ts\nimport { hooks as hooks4 } from \"botframework-webchat-api\";\nimport { useEffect as useEffect2 } from \"react\";\nvar { usePonyfill } = hooks4;\nfunction useTimer(at, fn) {\n const [{ clearTimeout, Date, setTimeout }] = usePonyfill();\n useEffect2(() => {\n if (typeof at === \"number\") {\n const ms = Math.max(0, at - Date.now());\n if (ms) {\n const timeout = setTimeout(fn, ms);\n return () => clearTimeout(timeout);\n }\n fn();\n }\n }, [at, clearTimeout, Date, fn, setTimeout]);\n}\n\n// src/ConnectivityStatus/Assets/WarningNotificationIcon.js\nimport { hooks as hooks5 } from \"botframework-webchat-api\";\nimport classNames2 from \"classnames\";\nimport PropTypes2 from \"prop-types\";\nimport React5 from \"react\";\nvar { useDirection: useDirection2 } = hooks5;\nvar ICON_SIZE_FACTOR = 16;\nvar WarningNotificationIcon = ({ className, size }) => {\n const [direction] = useDirection2();\n return /* @__PURE__ */ React5.createElement(\n \"svg\",\n {\n alt: \"\",\n className: classNames2(className + \"\", direction === \"rtl\" && \"webchat_warning--rtl\"),\n height: ICON_SIZE_FACTOR * size,\n viewBox: \"0 0 13.1 13.1\",\n width: ICON_SIZE_FACTOR * size\n },\n /* @__PURE__ */ React5.createElement(\"path\", { d: \"M13.1,13.1H0L6.6,0L13.1,13.1z M7,10.5H6.1v0.9H7V10.5z M7,9.7V5.2H6.1v4.4L7,9.7z\", fillRule: \"evenodd\" })\n );\n};\nWarningNotificationIcon.defaultProps = {\n className: \"\",\n size: 1\n};\nWarningNotificationIcon.propTypes = {\n className: PropTypes2.string,\n size: PropTypes2.number\n};\nvar WarningNotificationIcon_default = WarningNotificationIcon;\n\n// src/ConnectivityStatus/Connecting.js\nvar { useDirection: useDirection3, useLocalizer: useLocalizer2, usePonyfill: usePonyfill2, useStyleOptions: useStyleOptions2 } = hooks6;\nvar ConnectivityStatusConnecting = ({ reconnect }) => {\n const [{ Date }] = usePonyfill2();\n const [{ slowConnectionAfter }] = useStyleOptions2();\n const [\n { connectivityNotification: connectivityNotificationStyleSet, warningNotification: warningNotificationStyleSet }\n ] = useStyleSet();\n const [direction] = useDirection3();\n const [initialRenderAt] = useState2(() => Date.now());\n const forceRender = useForceRender_default();\n const localize2 = useLocalizer2();\n const initialConnectionText = localize2(\"CONNECTIVITY_STATUS_ALT_CONNECTING\");\n const interruptedConnectionText = localize2(\"CONNECTIVITY_STATUS_ALT_RECONNECTING\");\n const slowConnectionText = localize2(\"CONNECTIVITY_STATUS_ALT_SLOW_CONNECTION\");\n useTimer(initialRenderAt + slowConnectionAfter, forceRender);\n const now = Date.now();\n const slow = now >= initialRenderAt + slowConnectionAfter;\n return slow ? /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(ScreenReaderText_default, { text: localize2(\"CONNECTIVITY_STATUS_ALT\", slowConnectionText) }), /* @__PURE__ */ React6.createElement(\n \"div\",\n {\n \"aria-hidden\": true,\n className: classNames3(\"webchat__connectivityStatus\", warningNotificationStyleSet + \"\"),\n dir: direction\n },\n /* @__PURE__ */ React6.createElement(WarningNotificationIcon_default, null),\n slowConnectionText\n )) : /* @__PURE__ */ React6.createElement(React6.Fragment, null, /* @__PURE__ */ React6.createElement(\n ScreenReaderText_default,\n {\n text: localize2(\"CONNECTIVITY_STATUS_ALT\", reconnect ? interruptedConnectionText : initialConnectionText)\n }\n ), /* @__PURE__ */ React6.createElement(\n \"div\",\n {\n \"aria-hidden\": true,\n className: classNames3(\"webchat__connectivityStatus\", connectivityNotificationStyleSet + \"\"),\n dir: direction\n },\n /* @__PURE__ */ React6.createElement(SpinnerAnimation_default, null),\n reconnect ? interruptedConnectionText : initialConnectionText\n ));\n};\nConnectivityStatusConnecting.defaultProps = {\n reconnect: false\n};\nConnectivityStatusConnecting.propTypes = {\n reconnect: PropTypes3.bool\n};\nvar Connecting_default = ConnectivityStatusConnecting;\n\n// src/ConnectivityStatus/FailedToConnect.js\nimport { hooks as hooks8 } from \"botframework-webchat-api\";\nimport classNames5 from \"classnames\";\nimport React8 from \"react\";\n\n// src/ConnectivityStatus/Assets/ErrorNotificationIcon.js\nimport { hooks as hooks7 } from \"botframework-webchat-api\";\nimport classNames4 from \"classnames\";\nimport PropTypes4 from \"prop-types\";\nimport React7 from \"react\";\nvar { useDirection: useDirection4 } = hooks7;\nvar ICON_SIZE_FACTOR2 = 16;\nvar ErrorNotificationIcon = ({ className, size }) => {\n const [direction] = useDirection4();\n return /* @__PURE__ */ React7.createElement(\n \"svg\",\n {\n alt: \"\",\n className: classNames4(className + \"\", direction === \"rtl\" && \"webchat__error--rtl\"),\n height: ICON_SIZE_FACTOR2 * size,\n viewBox: \"0 0 13.1 13.1\",\n width: ICON_SIZE_FACTOR2 * size\n },\n /* @__PURE__ */ React7.createElement(\n \"path\",\n {\n d: \"M6.5,13C2.9,13,0,10.1,0,6.5S2.9,0,6.5,0S13,2.9,13,6.5S10.1,13,6.5,13z M6.1,3.5v4.3h0.9V3.5H6.1z M6.1,8.7v0.9h0.9V8.7H6.1z\",\n fillRule: \"evenodd\"\n }\n )\n );\n};\nErrorNotificationIcon.defaultProps = {\n className: \"\",\n size: 1\n};\nErrorNotificationIcon.propTypes = {\n className: PropTypes4.string,\n size: PropTypes4.number\n};\nvar ErrorNotificationIcon_default = ErrorNotificationIcon;\n\n// src/ConnectivityStatus/FailedToConnect.js\nvar { useDirection: useDirection5, useLocalizer: useLocalizer3 } = hooks8;\nvar ConnectivityStatusFailedToConnect = () => {\n const [{ errorNotification: errorNotificationStyleSet }] = useStyleSet();\n const [direction] = useDirection5();\n const localize2 = useLocalizer3();\n const failedConnectionText = localize2(\"CONNECTIVITY_STATUS_ALT_FATAL\");\n return /* @__PURE__ */ React8.createElement(React8.Fragment, null, /* @__PURE__ */ React8.createElement(ScreenReaderText_default, { text: localize2(\"CONNECTIVITY_STATUS_ALT\", failedConnectionText) }), /* @__PURE__ */ React8.createElement(\n \"div\",\n {\n \"aria-hidden\": true,\n className: classNames5(\"webchat__connectivityStatus\", errorNotificationStyleSet + \"\"),\n dir: direction\n },\n /* @__PURE__ */ React8.createElement(ErrorNotificationIcon_default, null),\n failedConnectionText\n ));\n};\nvar FailedToConnect_default = ConnectivityStatusFailedToConnect;\n\n// src/ConnectivityStatus/JavaScriptError.js\nimport { hooks as hooks9 } from \"botframework-webchat-api\";\nimport classNames6 from \"classnames\";\nimport React9 from \"react\";\nvar { useDirection: useDirection6, useLocalizer: useLocalizer4 } = hooks9;\nvar ConnectivityStatusJavaScriptError = () => {\n const [{ errorNotification: errorNotificationStyleSet }] = useStyleSet();\n const [direction] = useDirection6();\n const localize2 = useLocalizer4();\n const renderErrorNotificationText = localize2(\"CONNECTIVITY_STATUS_ALT_RENDER_ERROR\");\n return /* @__PURE__ */ React9.createElement(React9.Fragment, null, /* @__PURE__ */ React9.createElement(ScreenReaderText_default, { text: localize2(\"CONNECTIVITY_STATUS_ALT\", renderErrorNotificationText) }), /* @__PURE__ */ React9.createElement(\n \"div\",\n {\n \"aria-hidden\": true,\n className: classNames6(\"webchat__connectivityStatus\", errorNotificationStyleSet + \"\"),\n dir: direction\n },\n /* @__PURE__ */ React9.createElement(ErrorNotificationIcon_default, null),\n renderErrorNotificationText\n ));\n};\nvar JavaScriptError_default = ConnectivityStatusJavaScriptError;\n\n// src/BasicConnectivityStatus.js\nvar { useDebouncedNotifications } = hooks10;\nvar BasicConnectivityStatus = () => {\n const [{ connectivitystatus: connectivityStatus }] = useDebouncedNotifications();\n if (!connectivityStatus) {\n return false;\n }\n switch (connectivityStatus.message) {\n case \"connecting\":\n return /* @__PURE__ */ React10.createElement(Connecting_default, null);\n case \"javascripterror\":\n return /* @__PURE__ */ React10.createElement(JavaScriptError_default, null);\n case \"failedtoconnect\":\n return /* @__PURE__ */ React10.createElement(FailedToConnect_default, null);\n case \"reconnecting\":\n return /* @__PURE__ */ React10.createElement(Connecting_default, { reconnect: true });\n case \"connected\":\n default:\n return /* @__PURE__ */ React10.createElement(Connected_default, null);\n }\n};\nvar BasicConnectivityStatus_default = BasicConnectivityStatus;\n\n// src/BasicToaster.js\nimport { hooks as hooks12 } from \"botframework-webchat-api\";\nimport classNames7 from \"classnames\";\nimport React16, { Fragment, memo as memo3, useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo2, useRef, useState as useState3 } from \"react\";\n\n// src/Toast/CollapseIcon.js\nimport PropTypes5 from \"prop-types\";\nimport React11 from \"react\";\nvar CollapseIcon = ({ className }) => /* @__PURE__ */ React11.createElement(\n \"svg\",\n {\n className: (className || \"\") + \"\",\n focusable: false,\n height: \"9\",\n role: \"presentation\",\n viewBox: \"0 0 16 9\",\n width: \"16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React11.createElement(\"path\", { d: \"M15.2734 8.97656L8 1.71094L0.726563 8.97656L0.0234375 8.27344L8 0.289062L15.9766 8.27344L15.2734 8.97656Z\" })\n);\nCollapseIcon.defaultProps = {\n className: void 0\n};\nCollapseIcon.propTypes = {\n className: PropTypes5.string\n};\nvar CollapseIcon_default = CollapseIcon;\n\n// src/Toast/ExpandIcon.js\nimport PropTypes6 from \"prop-types\";\nimport React12 from \"react\";\nvar ExpandIcon = ({ className }) => /* @__PURE__ */ React12.createElement(\n \"svg\",\n {\n className: (className || \"\") + \"\",\n focusable: false,\n height: \"10\",\n role: \"presentation\",\n viewBox: \"0 0 16 10\",\n width: \"16\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React12.createElement(\"path\", { d: \"M15.1484 0.648437L15.8516 1.35156L8 9.20312L0.148438 1.35156L0.851563 0.648438L8 7.79687L15.1484 0.648437Z\" })\n);\nExpandIcon.defaultProps = {\n className: void 0\n};\nExpandIcon.propTypes = {\n className: PropTypes6.string\n};\nvar ExpandIcon_default = ExpandIcon;\n\n// src/Toast/NotificationIcon.js\nimport { hooks as hooks11 } from \"botframework-webchat-api\";\nimport { isForbiddenPropertyName } from \"botframework-webchat-core\";\nimport PropTypes9 from \"prop-types\";\nimport React15 from \"react\";\n\n// src/Toast/CheckMarkIcon.js\nimport PropTypes7 from \"prop-types\";\nimport React13 from \"react\";\nvar CheckMarkIcon = ({ \"aria-label\": ariaLabel, className }) => /* @__PURE__ */ React13.createElement(\n \"svg\",\n {\n \"aria-label\": ariaLabel,\n className: (className || \"\") + \"\",\n fill: \"none\",\n height: \"20\",\n viewBox: \"0 0 20 20\",\n width: \"20\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React13.createElement(\n \"path\",\n {\n d: \"M14.5605 5.81055L15.4395 6.68945L8.125 14.0039L4.56055 10.4395L5.43945 9.56055L8.125 12.2461L14.5605 5.81055ZM10 0C10.918 0 11.8034 0.120443 12.6562 0.361328C13.5091 0.595703 14.3066 0.93099 15.0488 1.36719C15.791 1.79688 16.4648 2.31771 17.0703 2.92969C17.6823 3.53516 18.2031 4.20898 18.6328 4.95117C19.069 5.69336 19.4043 6.49089 19.6387 7.34375C19.8796 8.19661 20 9.08203 20 10C20 10.918 19.8796 11.8034 19.6387 12.6562C19.4043 13.5091 19.069 14.3066 18.6328 15.0488C18.2031 15.791 17.6823 16.4681 17.0703 17.0801C16.4648 17.6855 15.791 18.2064 15.0488 18.6426C14.3066 19.0723 13.5091 19.4076 12.6562 19.6484C11.8034 19.8828 10.918 20 10 20C9.08203 20 8.19661 19.8828 7.34375 19.6484C6.49089 19.4076 5.69336 19.0723 4.95117 18.6426C4.20898 18.2064 3.5319 17.6855 2.91992 17.0801C2.31445 16.4681 1.79362 15.791 1.35742 15.0488C0.927734 14.3066 0.592448 13.5124 0.351562 12.666C0.117188 11.8132 0 10.9245 0 10C0 9.08203 0.117188 8.19661 0.351562 7.34375C0.592448 6.49089 0.927734 5.69336 1.35742 4.95117C1.79362 4.20898 2.31445 3.53516 2.91992 2.92969C3.5319 2.31771 4.20898 1.79688 4.95117 1.36719C5.69336 0.93099 6.48763 0.595703 7.33398 0.361328C8.18685 0.120443 9.07552 0 10 0ZM10 18.75C10.8008 18.75 11.5723 18.6458 12.3145 18.4375C13.0632 18.2292 13.7598 17.9362 14.4043 17.5586C15.0553 17.1745 15.6478 16.7155 16.1816 16.1816C16.7155 15.6478 17.1712 15.0586 17.5488 14.4141C17.9329 13.763 18.2292 13.0664 18.4375 12.3242C18.6458 11.582 18.75 10.8073 18.75 10C18.75 9.19922 18.6458 8.42773 18.4375 7.68555C18.2292 6.93685 17.9329 6.24023 17.5488 5.5957C17.1712 4.94466 16.7155 4.35221 16.1816 3.81836C15.6478 3.28451 15.0553 2.82878 14.4043 2.45117C13.7598 2.06706 13.0632 1.77083 12.3145 1.5625C11.5723 1.35417 10.8008 1.25 10 1.25C9.19922 1.25 8.42448 1.35417 7.67578 1.5625C6.93359 1.77083 6.23698 2.06706 5.58594 2.45117C4.94141 2.82878 4.35221 3.28451 3.81836 3.81836C3.28451 4.35221 2.82552 4.94466 2.44141 5.5957C2.0638 6.24023 1.77083 6.93685 1.5625 7.68555C1.35417 8.42773 1.25 9.19922 1.25 10C1.25 10.8008 1.35417 11.5755 1.5625 12.3242C1.77083 13.0664 2.0638 13.763 2.44141 14.4141C2.82552 15.0586 3.28451 15.6478 3.81836 16.1816C4.35221 16.7155 4.94141 17.1745 5.58594 17.5586C6.23698 17.9362 6.93359 18.2292 7.67578 18.4375C8.41797 18.6458 9.19271 18.75 10 18.75Z\",\n fill: \"#107C10\"\n }\n )\n);\nCheckMarkIcon.defaultProps = {\n \"aria-label\": void 0,\n className: void 0\n};\nCheckMarkIcon.propTypes = {\n \"aria-label\": PropTypes7.string,\n className: PropTypes7.string\n};\nvar CheckMarkIcon_default = CheckMarkIcon;\n\n// src/Toast/ExclamationMarkIcon.js\nimport PropTypes8 from \"prop-types\";\nimport React14 from \"react\";\nvar ExclamationMarkIcon = ({ \"aria-label\": ariaLabel, className }) => /* @__PURE__ */ React14.createElement(\n \"svg\",\n {\n \"aria-label\": ariaLabel,\n className: (className || \"\") + \"\",\n height: \"19\",\n viewBox: \"0 0 19 19\",\n width: \"19\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React14.createElement(\"path\", { d: \"M9.375 0C10.2409 0 11.071 0.110677 11.8652 0.332031C12.666 0.553385 13.4147 0.869141 14.1113 1.2793C14.8079 1.68294 15.4395 2.17122 16.0059 2.74414C16.5788 3.31055 17.0671 3.94206 17.4707 4.63867C17.8809 5.33529 18.1966 6.08398 18.418 6.88477C18.6393 7.67904 18.75 8.50911 18.75 9.375C18.75 10.2409 18.6393 11.0742 18.418 11.875C18.1966 12.6693 17.8809 13.4147 17.4707 14.1113C17.0671 14.8079 16.5788 15.4427 16.0059 16.0156C15.4395 16.582 14.8079 17.0703 14.1113 17.4805C13.4147 17.8841 12.666 18.1966 11.8652 18.418C11.071 18.6393 10.2409 18.75 9.375 18.75C8.50911 18.75 7.67578 18.6393 6.875 18.418C6.08073 18.1966 5.33529 17.8841 4.63867 17.4805C3.94206 17.0703 3.30729 16.582 2.73438 16.0156C2.16797 15.4427 1.67969 14.8079 1.26953 14.1113C0.865885 13.4147 0.553385 12.6693 0.332031 11.875C0.110677 11.0742 0 10.2409 0 9.375C0 8.50911 0.110677 7.67904 0.332031 6.88477C0.553385 6.08398 0.865885 5.33529 1.26953 4.63867C1.67969 3.94206 2.16797 3.31055 2.73438 2.74414C3.30729 2.17122 3.94206 1.68294 4.63867 1.2793C5.33529 0.869141 6.08073 0.553385 6.875 0.332031C7.67578 0.110677 8.50911 0 9.375 0ZM9.375 17.5C10.1172 17.5 10.8333 17.4023 11.5234 17.207C12.2201 17.0117 12.8678 16.7383 13.4668 16.3867C14.0723 16.0352 14.6224 15.612 15.1172 15.1172C15.612 14.6224 16.0352 14.0755 16.3867 13.4766C16.7383 12.8711 17.0117 12.2233 17.207 11.5332C17.4023 10.8431 17.5 10.1237 17.5 9.375C17.5 8.63281 17.4023 7.91667 17.207 7.22656C17.0117 6.52995 16.7383 5.88216 16.3867 5.2832C16.0352 4.67773 15.612 4.1276 15.1172 3.63281C14.6224 3.13802 14.0723 2.71484 13.4668 2.36328C12.8678 2.01172 12.2201 1.73828 11.5234 1.54297C10.8333 1.34766 10.1172 1.25 9.375 1.25C8.6263 1.25 7.9069 1.34766 7.2168 1.54297C6.52669 1.73828 5.87891 2.01172 5.27344 2.36328C4.67448 2.71484 4.1276 3.13802 3.63281 3.63281C3.13802 4.1276 2.71484 4.67773 2.36328 5.2832C2.01172 5.88216 1.73828 6.52995 1.54297 7.22656C1.34766 7.91667 1.25 8.63281 1.25 9.375C1.25 10.1172 1.34766 10.8366 1.54297 11.5332C1.73828 12.2233 2.01172 12.8711 2.36328 13.4766C2.71484 14.0755 3.13802 14.6224 3.63281 15.1172C4.1276 15.612 4.67448 16.0352 5.27344 16.3867C5.87891 16.7383 6.52669 17.0117 7.2168 17.207C7.9069 17.4023 8.6263 17.5 9.375 17.5ZM8.75 5H10V11.25H8.75V5ZM8.75 12.5H10V13.75H8.75V12.5Z\" })\n);\nExclamationMarkIcon.defaultProps = {\n \"aria-label\": void 0,\n className: void 0\n};\nExclamationMarkIcon.propTypes = {\n \"aria-label\": PropTypes8.string,\n className: PropTypes8.string\n};\nvar ExclamationMarkIcon_default = ExclamationMarkIcon;\n\n// src/Toast/NotificationIcon.js\nvar { useLocalizer: useLocalizer5 } = hooks11;\nvar NotificationIcon = ({ className, level }) => {\n const localize2 = useLocalizer5();\n const prefixes = {\n error: localize2(\"TOAST_ALT_ERROR\"),\n info: localize2(\"TOAST_ALT_INFO\"),\n success: localize2(\"TOAST_ALT_SUCCESS\"),\n warn: localize2(\"TOAST_ALT_WARN\")\n };\n const prefix = !isForbiddenPropertyName(level) && prefixes[level] || \"\";\n return /* @__PURE__ */ React15.createElement(React15.Fragment, null, level === \"success\" ? /* @__PURE__ */ React15.createElement(CheckMarkIcon_default, { \"aria-label\": prefix, className }) : /* @__PURE__ */ React15.createElement(ExclamationMarkIcon_default, { \"aria-label\": prefix, className }));\n};\nNotificationIcon.defaultProps = {\n className: void 0\n};\nNotificationIcon.propTypes = {\n className: PropTypes9.string,\n level: PropTypes9.oneOf([\"error\", \"info\", \"success\", \"warn\"]).isRequired\n};\nvar NotificationIcon_default = NotificationIcon;\n\n// src/Utils/randomId.js\nimport random2 from \"math-random\";\nfunction randomId(maxLength = 5) {\n return random2().toString(36).substr(2, maxLength);\n}\n\n// src/hooks/internal/useInternalRenderMarkdownInline.js\nfunction useInternalRenderMarkdownInline() {\n const { internalRenderMarkdownInline } = useWebChatUIContext();\n return internalRenderMarkdownInline;\n}\nvar useInternalRenderMarkdownInline_default = useInternalRenderMarkdownInline;\n\n// src/BasicToaster.js\nvar { useDebouncedNotifications: useDebouncedNotifications2, useLocalizer: useLocalizer6, useRenderToast } = hooks12;\nvar ROOT_STYLE2 = {\n display: \"flex\",\n flexDirection: \"column\",\n \"& .webchat__toaster__header\": {\n display: \"flex\",\n flexShrink: 0\n },\n \"& .webchat__toaster__expandText\": {\n flex: 1\n },\n \"& .webchat__toaster__list\": {\n display: \"block\",\n listStyleType: \"none\"\n }\n};\nvar LEVEL_AS_NUMBER = {\n error: 1,\n warn: 2,\n info: 3,\n success: 4\n};\nvar LEVEL_AS_NUMBER_KEYS = Object.keys(LEVEL_AS_NUMBER);\nfunction getLevelAsNumber(level) {\n return LEVEL_AS_NUMBER_KEYS.includes(level) ? LEVEL_AS_NUMBER[level] : 5;\n}\nfunction compareLevel(x, y) {\n return getLevelAsNumber(x) - getLevelAsNumber(y);\n}\nfunction sortNotifications(map) {\n return Object.values(map).sort(({ timestamp: x }, { timestamp: y }) => y - x);\n}\nvar PASSTHRU_FN = (value) => value;\nvar TOAST_ACCORDION_IDS = {\n two: \"TOAST_ACCORDION_TWO\",\n few: \"TOAST_ACCORDION_FEW\",\n many: \"TOAST_ACCORDION_MANY\",\n other: \"TOAST_ACCORDION_OTHER\"\n};\nvar BasicToaster = () => {\n const instanceId = useMemo2(randomId, []);\n const [{ toaster: toasterStyleSet }] = useStyleSet();\n const [debouncedNotifications] = useDebouncedNotifications2();\n const [expanded, setExpanded] = useState3(false);\n const localizeWithPlural = useLocalizer6({ plural: true });\n const renderToast = useRenderToast();\n const renderMarkdownInline = useInternalRenderMarkdownInline_default();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE2) + \"\";\n const handleToggleExpand = useCallback3(() => setExpanded(!expanded), [expanded, setExpanded]);\n const sortedNotifications = useMemo2(() => sortNotifications(debouncedNotifications), [debouncedNotifications]);\n const sortedNotificationsWithChildren = useMemo2(\n () => sortedNotifications.map((notification) => {\n const children = renderToast({ notification });\n return children && { children, notification };\n }).filter(PASSTHRU_FN),\n [renderToast, sortedNotifications]\n );\n const expandable = sortedNotificationsWithChildren.length > 1;\n const [highestLevel] = sortedNotificationsWithChildren.map(({ notification: { level } }) => level).sort(compareLevel);\n const expandableElementId = useMemo2(\n () => !expandable || expanded ? `webchat__toaster__list__${instanceId}` : void 0,\n [expandable, expanded, instanceId]\n );\n const headerElementId = useMemo2(\n () => expandable ? `webchat__toaster__header__${instanceId}` : void 0,\n [expandable, instanceId]\n );\n useEffect3(() => {\n !expandable && setExpanded(false);\n }, [expandable]);\n const notifiedElements = useRef(/* @__PURE__ */ new Set());\n useLiveRegion(() => {\n const toAnnounce = [];\n for (const notification of sortedNotifications.slice().reverse()) {\n if (!notifiedElements.current.has(notification.id)) {\n notifiedElements.current.add(notification.id);\n toAnnounce.push(\n notification.alt ? /* @__PURE__ */ React16.createElement(\"div\", { \"aria-atomic\": true, className: \"webchat__toaster__notifications\", key: notification.id }, notification.alt) : /* @__PURE__ */ React16.createElement(\n \"div\",\n {\n \"aria-atomic\": true,\n className: \"webchat__toaster__notifications\",\n dangerouslySetInnerHTML: {\n __html: renderMarkdownInline(notification.message ?? \"\")\n },\n key: notification.id\n }\n )\n );\n }\n }\n return toAnnounce.length > 0 && /* @__PURE__ */ React16.createElement(Fragment, null, toAnnounce);\n }, [renderMarkdownInline, sortedNotifications]);\n return /* @__PURE__ */ React16.createElement(\n \"div\",\n {\n \"aria-labelledby\": headerElementId,\n \"aria-relevant\": \"all\",\n className: classNames7(\n \"webchat__toaster\",\n {\n \"webchat__toaster--expandable\": expandable,\n \"webchat__toaster--expanded\": expanded,\n \"webchat__toaster--error\": highestLevel === \"error\",\n \"webchat__toaster--info\": highestLevel === \"info\",\n \"webchat__toaster--success\": highestLevel === \"success\",\n \"webchat__toaster--warn\": highestLevel === \"warn\"\n },\n rootClassName,\n toasterStyleSet + \"\"\n ),\n role: \"log\"\n },\n expandable && /* @__PURE__ */ React16.createElement(\n \"button\",\n {\n \"aria-controls\": expandableElementId,\n \"aria-expanded\": expanded,\n className: \"webchat__toaster__header\",\n id: headerElementId,\n onClick: handleToggleExpand,\n type: \"button\"\n },\n /* @__PURE__ */ React16.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__toaster__expandLevelIconBox\" }, /* @__PURE__ */ React16.createElement(NotificationIcon_default, { className: \"webchat__toaster__expandLevelIcon\", level: highestLevel })),\n /* @__PURE__ */ React16.createElement(\"div\", { className: \"webchat__toaster__expandText\" }, localizeWithPlural(TOAST_ACCORDION_IDS, sortedNotificationsWithChildren.length)),\n /* @__PURE__ */ React16.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__toaster__expandIcon\" }, /* @__PURE__ */ React16.createElement(\"div\", { className: \"webchat__toaster__expandIconFocus\" }, expanded ? /* @__PURE__ */ React16.createElement(CollapseIcon_default, null) : /* @__PURE__ */ React16.createElement(ExpandIcon_default, null)))\n ),\n (!expandable || expanded) && /* @__PURE__ */ React16.createElement(\"div\", { \"aria-labelledby\": headerElementId, className: \"webchat__toaster__list\", id: expandableElementId }, sortedNotificationsWithChildren.map(({ children, notification: { id } }) => /* @__PURE__ */ React16.createElement(\"div\", { className: \"webchat__toaster__listItem\", key: id }, children)))\n );\n};\nBasicToaster.displayName = \"BasicToaster\";\nvar BasicToaster_default = memo3(BasicToaster);\n\n// src/BasicTranscript.tsx\nimport { hooks as hooks27 } from \"botframework-webchat-api\";\nimport {\n Composer as ReactScrollToBottomComposer,\n Panel as ReactScrollToBottomPanel,\n useAnimatingToEnd,\n useAtEnd,\n useObserveScrollPosition,\n useScrollTo,\n useScrollToEnd,\n useSticky\n} from \"react-scroll-to-bottom\";\nimport classNames10 from \"classnames\";\nimport PropTypes17 from \"prop-types\";\nimport React29, { forwardRef as forwardRef3, Fragment as Fragment6, memo as memo10, useCallback as useCallback14, useMemo as useMemo18, useRef as useRef11 } from \"react\";\n\n// src/Utils/detectBrowser.js\nvar { userAgent } = navigator;\nvar android = /Linux; Android/u.test(userAgent);\nvar chromium = !/Edge\\//u.test(userAgent) && /Chrome\\//u.test(userAgent);\nvar edgeAnaheim = /Edg\\//u.test(userAgent);\nvar edgeUWP = /Edge\\//u.test(userAgent);\nvar firefox = /Firefox\\//u.test(userAgent);\nvar ie11 = /Trident\\/7.0/u.test(userAgent);\n\n// src/BasicTypingIndicator.tsx\nimport { hooks as hooks13 } from \"botframework-webchat-api\";\nimport React17, { Fragment as Fragment2, useMemo as useMemo3 } from \"react\";\nvar { useActiveTyping, useRenderTypingIndicator } = hooks13;\nfunction useTypingIndicatorVisible() {\n const [activeTyping] = useActiveTyping();\n return useMemo3(\n () => Object.freeze([\n !!Object.values(activeTyping).some(\n // Show typing indicator if anyone is typing and not livestreaming.\n ({ role, type }) => role !== \"user\" && type !== \"livestream\"\n )\n ]),\n [activeTyping]\n );\n}\nvar BasicTypingIndicator = () => {\n const [activeTyping] = useActiveTyping();\n const [visible] = useTypingIndicatorVisible();\n const [typing] = useActiveTyping(Infinity);\n const renderTypingIndicator = useRenderTypingIndicator();\n return /* @__PURE__ */ React17.createElement(Fragment2, null, renderTypingIndicator({ activeTyping, typing, visible }));\n};\nvar BasicTypingIndicator_default = BasicTypingIndicator;\n\n// src/Utils/FocusRedirector.tsx\nimport PropTypes10 from \"prop-types\";\nimport React18, { useCallback as useCallback4 } from \"react\";\nvar FocusRedirector = ({ className, onFocus, redirectRef }) => {\n const handleFocus = useCallback4(() => {\n redirectRef?.current?.focus();\n onFocus && onFocus();\n }, [onFocus, redirectRef]);\n return /* @__PURE__ */ React18.createElement(\"div\", { className, onFocus: handleFocus, tabIndex: 0 });\n};\nFocusRedirector.defaultProps = {\n className: void 0,\n onFocus: void 0,\n redirectRef: void 0\n};\nFocusRedirector.propTypes = {\n className: PropTypes10.string,\n onFocus: PropTypes10.func,\n // PropTypes is not fully compatible with TypeScript.\n // @ts-ignore\n redirectRef: PropTypes10.shape({\n current: PropTypes10.instanceOf(HTMLElement)\n })\n};\nvar FocusRedirector_default = FocusRedirector;\n\n// src/Utils/TypeFocusSink/inputtableKey.ts\nvar INPUTTABLE_KEY = {\n Add: \"+\",\n // Numpad add key\n Decimal: \".\",\n // Numpad decimal key\n Divide: \"/\",\n // Numpad divide key\n Multiply: \"*\",\n // Numpad multiply key\n Subtract: \"-\"\n // Numpad subtract key\n};\nvar INPUTTABLE_KEY_KEYS = Object.keys(INPUTTABLE_KEY);\nfunction inputtableKey(key) {\n return key.length === 1 ? key : INPUTTABLE_KEY_KEYS.includes(key) ? INPUTTABLE_KEY[key] : void 0;\n}\n\n// src/Utils/isZeroOrPositive.ts\nfunction isZeroOrPositive(value) {\n return 1 / value >= 0;\n}\n\n// src/Transcript/LiveRegionTranscript.tsx\nimport { hooks as hooks20 } from \"botframework-webchat-api\";\nimport React22, { memo as memo5, useEffect as useEffect6, useMemo as useMemo8, useRef as useRef4 } from \"react\";\n\n// src/LiveRegion/LiveRegionActivity.tsx\nimport { hooks as hooks16 } from \"botframework-webchat-api\";\nimport classNames8 from \"classnames\";\nimport PropTypes12 from \"prop-types\";\nimport React21, { Fragment as Fragment4, useMemo as useMemo5 } from \"react\";\n\n// src/Utils/textFormatToContentType.ts\nfunction textFormatToContentType(textFormat) {\n switch (textFormat) {\n case \"plain\":\n return \"text/plain\";\n case \"xml\":\n return \"text/xml\";\n default:\n return \"text/markdown\";\n }\n}\n\n// src/Utils/activityAltText.ts\nfunction walk(document2, walker) {\n const nodes = [].slice.call(document2.childNodes);\n const results = [];\n while (nodes.length) {\n const node = nodes.shift();\n const { childNodes } = node;\n results.push(...walker(node) || []);\n nodes.unshift(...[].slice.call(childNodes));\n }\n return results;\n}\nvar HTML_INLINE_TAGS = [\n \"A\",\n \"ABBR\",\n \"ACRONYM\",\n \"AUDIO\",\n \"B\",\n \"BDI\",\n \"BDO\",\n \"BIG\",\n \"BR\",\n \"BUTTON\",\n \"CANVAS\",\n \"CITE\",\n \"CODE\",\n \"DATA\",\n \"DATALIST\",\n \"DEL\",\n \"DFN\",\n \"EM\",\n \"EMBED\",\n \"I\",\n \"IFRAME\",\n \"IMG\",\n \"INPUT\",\n \"INS\",\n \"KBD\",\n \"LABEL\",\n \"MAP\",\n \"MARK\",\n \"METER\",\n \"NOSCRIPT\",\n \"OBJECT\",\n \"OUTPUT\",\n \"PICTURE\",\n \"PROGRESS\",\n \"Q\",\n \"RUBY\",\n \"S\",\n \"SAMP\",\n \"SCRIPT\",\n \"SELECT\",\n \"SLOT\",\n \"SMALL\",\n \"SPAN\",\n \"STRONG\",\n \"SUB\",\n \"SUP\",\n \"SVG\",\n \"TEMPLATE\",\n \"TEXTAREA\",\n \"TIME\",\n \"U\",\n \"TT\",\n \"VAR\",\n \"VIDEO\",\n \"WBR\"\n];\nfunction htmlTextAlternatives(document2) {\n return walk(document2, (node) => {\n const { nodeType, tagName, textContent } = node;\n if (nodeType === Node.TEXT_NODE) {\n return [textContent];\n } else if (tagName === \"IMG\") {\n return [node.getAttribute(\"alt\")];\n } else if (!HTML_INLINE_TAGS.includes(tagName)) {\n return [\"\\n\"];\n }\n });\n}\nfunction activityAltText(activity, renderMarkdownAsHTML) {\n if (activity.type !== \"message\") {\n return false;\n }\n const fallbackText = activity?.channelData?.[\"webchat:fallback-text\"];\n if (typeof fallbackText === \"string\") {\n return fallbackText || false;\n }\n const text = activity?.channelData?.messageBack?.displayText || activity.text;\n if (!text) {\n return \"\";\n }\n if (renderMarkdownAsHTML && textFormatToContentType(activity.textFormat) === \"text/markdown\") {\n return htmlTextAlternatives(new DOMParser().parseFromString(renderMarkdownAsHTML(text), \"text/html\")).join(\"\").replace(/\\n{2,}/gu, \"\\n\").trim();\n }\n return text;\n}\n\n// src/LiveRegion/private/LiveRegionAttachments.tsx\nimport { hooks as hooks14 } from \"botframework-webchat-api\";\nimport React19, { Fragment as Fragment3 } from \"react\";\nvar { useCreateAttachmentForScreenReaderRenderer, useLocalizer: useLocalizer7 } = hooks14;\nvar ACTIVITY_NUM_ATTACHMENTS_ALT_IDS = {\n few: \"ACTIVITY_NUM_ATTACHMENTS_FEW_ALT\",\n many: \"ACTIVITY_NUM_ATTACHMENTS_MANY_ALT\",\n one: \"ACTIVITY_NUM_ATTACHMENTS_ONE_ALT\",\n other: \"ACTIVITY_NUM_ATTACHMENTS_OTHER_ALT\",\n two: \"ACTIVITY_NUM_ATTACHMENTS_TWO_ALT\"\n};\nvar LiveRegionAttachments = ({ activity }) => {\n const { attachments = [] } = activity;\n const createAttachmentForScreenReaderRenderer = useCreateAttachmentForScreenReaderRenderer();\n const localizeWithPlural = useLocalizer7({ plural: true });\n const attachmentForScreenReaderRenderers = attachments.map((attachment) => createAttachmentForScreenReaderRenderer({ activity, attachment })).filter(Boolean);\n const numGenericAttachments = attachments.length - attachmentForScreenReaderRenderers.length;\n const numAttachmentsAlt = !!numGenericAttachments && localizeWithPlural(ACTIVITY_NUM_ATTACHMENTS_ALT_IDS, numGenericAttachments);\n return /* @__PURE__ */ React19.createElement(Fragment3, null, attachmentForScreenReaderRenderers.map((render, index) => (\n // Direct Line does not have key for attachment other than index.\n // eslint-disable-next-line react/no-array-index-key\n /* @__PURE__ */ React19.createElement(\"div\", { key: index }, typeof render === \"function\" && render())\n )), numAttachmentsAlt && /* @__PURE__ */ React19.createElement(\"p\", null, numAttachmentsAlt));\n};\nvar LiveRegionAttachments_default = LiveRegionAttachments;\n\n// src/LiveRegion/private/LiveRegionSuggestedActions.tsx\nimport PropTypes11 from \"prop-types\";\nimport React20 from \"react\";\n\n// src/Utils/computeSuggestedActionText.ts\nfunction computeSuggestedActionText(cardAction) {\n const { title } = cardAction;\n const { type, value } = cardAction;\n if (type === \"messageBack\") {\n return title || cardAction.displayText;\n } else if (title) {\n return title;\n } else if (typeof value === \"string\") {\n return value;\n }\n return JSON.stringify(value);\n}\n\n// src/LiveRegion/private/LiveRegionSuggestedActions.tsx\nvar LiveRegionSuggestedActions = ({ suggestedActions }) => suggestedActions.actions?.length && /* @__PURE__ */ React20.createElement(\"p\", { className: \"webchat__live-region-activity__suggested-actions\" }, suggestedActions.actions.map((action, index) => (\n // Direct Line schema does not have key other than index.\n // eslint-disable-next-line react/no-array-index-key\n /* @__PURE__ */ React20.createElement(\"button\", { className: \"webchat__live-region-activity__suggested-action\", key: index, tabIndex: -1, type: \"button\" }, computeSuggestedActionText(action))\n)));\nLiveRegionSuggestedActions.propTypes = {\n suggestedActions: PropTypes11.shape({\n actions: PropTypes11.array\n }).isRequired\n};\nvar LiveRegionSuggestedActions_default = LiveRegionSuggestedActions;\n\n// src/hooks/useRenderMarkdownAsHTML.ts\nimport { cx } from \"@emotion/css\";\nimport { hooks as hooks15 } from \"botframework-webchat-api\";\nimport { useMemo as useMemo4 } from \"react\";\nvar { useLocalizer: useLocalizer8, useStyleOptions: useStyleOptions3 } = hooks15;\nfunction useRenderMarkdownAsHTML(mode = \"message activity\") {\n const { renderMarkdown } = useWebChatUIContext();\n const [styleOptions] = useStyleOptions3();\n const [{ renderMarkdown: renderMarkdownStyleSet }] = useStyleSet();\n const localize2 = useLocalizer8();\n const externalLinkAlt2 = localize2(\"MARKDOWN_EXTERNAL_LINK_ALT\");\n const containerClassName = useMemo4(\n () => cx(\n \"webchat__render-markdown\",\n {\n \"webchat__render-markdown--adaptive-cards\": mode === \"adaptive cards\",\n \"webchat__render-markdown--citation\": mode === \"citation modal\",\n \"webchat__render-markdown--clipboard\": mode === \"clipboard\",\n \"webchat__render-markdown--message-activity\": mode !== \"accessible name\" && mode !== \"adaptive cards\" && mode !== \"citation modal\" && mode !== \"clipboard\"\n },\n renderMarkdownStyleSet + \"\"\n ),\n [mode, renderMarkdownStyleSet]\n );\n return useMemo4(\n () => renderMarkdown && ((markdown) => {\n const htmlAfterSanitization = renderMarkdown(markdown, styleOptions, { containerClassName, externalLinkAlt: externalLinkAlt2 });\n const documentFragmentAfterSanitization = parseDocumentFragmentFromString(htmlAfterSanitization);\n const rootElement = document.createElement(\"div\");\n containerClassName && rootElement.classList.add(...containerClassName.split(\" \").filter(Boolean));\n rootElement.append(...documentFragmentAfterSanitization.childNodes);\n documentFragmentAfterSanitization.append(rootElement);\n return serializeDocumentFragmentIntoString(documentFragmentAfterSanitization);\n }),\n [containerClassName, externalLinkAlt2, renderMarkdown, styleOptions]\n );\n}\n\n// src/LiveRegion/LiveRegionActivity.tsx\nvar { useAvatarForBot, useLocalizer: useLocalizer9 } = hooks16;\nvar ROOT_STYLE3 = {\n \"&.webchat__live-region-activity\": {\n color: \"transparent\",\n height: 1,\n opacity: 0,\n overflow: \"hidden\",\n position: \"absolute\",\n top: 0,\n whiteSpace: \"nowrap\",\n width: 1\n }\n};\nvar LiveRegionActivity = ({ activity }) => {\n const [{ initials: botInitials }] = useAvatarForBot();\n const {\n from: { role },\n type\n } = activity;\n const fallbackText = type === \"message\" ? activity.channelData[\"webchat:fallback-text\"] : void 0;\n const localize2 = useLocalizer9();\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE3) + \"\";\n const textAlt = useMemo5(() => activityAltText(activity, renderMarkdownAsHTML), [activity, renderMarkdownAsHTML]);\n const greetingAlt = (role === \"user\" ? localize2(\"ACTIVITY_YOU_SAID_ALT\") : localize2(\"ACTIVITY_BOT_SAID_ALT\", botInitials || \"\")).replace(/\\s{2,}/gu, \" \");\n const validFallbackText = fallbackText && typeof fallbackText === \"string\";\n return /* @__PURE__ */ React21.createElement(\"article\", { \"aria-atomic\": true, className: classNames8(\"webchat__live-region-activity\", rootClassName) }, /* @__PURE__ */ React21.createElement(\"div\", null, greetingAlt), validFallbackText ? /* @__PURE__ */ React21.createElement(\"div\", null, fallbackText) : /* @__PURE__ */ React21.createElement(Fragment4, null, /* @__PURE__ */ React21.createElement(\"div\", null, textAlt), type === \"message\" && /* @__PURE__ */ React21.createElement(Fragment4, null, !!activity.suggestedActions && /* @__PURE__ */ React21.createElement(LiveRegionSuggestedActions_default, { suggestedActions: activity.suggestedActions }), /* @__PURE__ */ React21.createElement(LiveRegionAttachments_default, { activity }))));\n};\nLiveRegionActivity.propTypes = {\n activity: PropTypes12.any.isRequired\n};\nvar LiveRegionActivity_default = LiveRegionActivity;\n\n// src/Utils/tabbableElements.ts\nfunction tabbableElements(element) {\n const candidates = element?.querySelectorAll(\n \"a[href], area[href], audio[controls], button:not(:disabled), iframe, input:not(:disabled), keygen, select:not(:disabled), summary, textarea:not(:disabled), video[controls], [contenteditable], [tabindex]\"\n ) || [];\n return [].filter.call(candidates, (element2) => {\n const tabIndexAttribute = element2.attributes.getNamedItem(\"tabindex\");\n if (tabIndexAttribute && tabIndexAttribute.specified) {\n const value = parseInt(tabIndexAttribute.value, 10);\n return value >= 0 || isNaN(value) && element2.nodeName.toLowerCase() === \"input\";\n }\n return true;\n });\n}\n\n// src/hooks/internal/useLocalizeAccessKey.ts\nimport { hooks as hooks17 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback5 } from \"react\";\n\n// src/hooks/internal/useNavigatorPlatform.js\nimport { useMemo as useMemo6 } from \"react\";\nvar ANDROID_PATTERN = /^(android|linux armv7l)/giu;\nvar APPLE_PATTERN = /^(mac|ipad|iphone|ipod)/giu;\nvar LINUX_PATTERN = /^linux/giu;\nvar WINDOWS_PATTERN = /^win/giu;\nfunction useNavigatorPlatform() {\n const {\n navigator: { platform }\n } = window;\n return useMemo6(() => {\n const android2 = ANDROID_PATTERN.test(platform);\n const apple = APPLE_PATTERN.test(platform);\n const windows = WINDOWS_PATTERN.test(platform);\n const linux = !android2 && LINUX_PATTERN.test(platform);\n return [\n {\n android: android2,\n apple,\n linux,\n windows\n }\n ];\n }, [platform]);\n}\n\n// src/hooks/internal/useLocalizeAccessKey.ts\nvar { useLocalizer: useLocalizer10 } = hooks17;\nfunction useLocalizeAccessKey(type) {\n const [{ apple }] = useNavigatorPlatform();\n const localize2 = useLocalizer10();\n return useCallback5(\n (accessKey) => {\n if (!accessKey || typeof accessKey !== \"string\" || !accessKey.length) {\n throw new Error('useLocalizeAccessKey: \"accessKey\" must be a non-empty string');\n }\n if (type === \"accessible name\") {\n return localize2(apple ? \"ACCESS_KEY_FOR_MAC_ALT\" : \"ACCESS_KEY_ALT\", accessKey[0]);\n }\n return (apple ? \"Control+AltGraph+\" : \"Alt+Shift+\") + accessKey[0];\n },\n [apple, localize2, type]\n );\n}\n\n// src/hooks/internal/useSuggestedActionsAccessKey.js\nfunction useSuggestedActionsAccessKey() {\n const { suggestedActionsAccessKey } = useWebChatUIContext();\n return [suggestedActionsAccessKey];\n}\n\n// src/Transcript/LiveRegion/SendFailed.tsx\nimport { hooks as hooks18 } from \"botframework-webchat-api\";\nimport { memo as memo4, useMemo as useMemo7 } from \"react\";\n\n// src/hooks/internal/usePrevious.ts\nimport { useEffect as useEffect4, useRef as useRef2 } from \"react\";\nfunction usePrevious(value) {\n const ref = useRef2();\n useEffect4(() => {\n ref.current = value;\n });\n return ref.current;\n}\n\n// src/types/internal/SendStatus.ts\nvar SENDING = \"sending\";\nvar SEND_FAILED = \"send failed\";\nvar SENT = \"sent\";\n\n// src/Transcript/LiveRegion/isPresentational.ts\nfunction isPresentational(activity) {\n if (activity.type !== \"message\") {\n return true;\n }\n const { channelData } = activity;\n const fallbackText = channelData?.[\"webchat:fallback-text\"];\n if (typeof fallbackText === \"string\") {\n return !fallbackText;\n }\n return !(channelData?.messageBack?.displayText || activity.text || activity.attachments?.length || activity.suggestedActions?.actions?.length);\n}\n\n// src/Transcript/LiveRegion/SendFailed.tsx\nvar { useGetActivityByKey, useLocalizer: useLocalizer11, useSendStatusByActivityKey } = hooks18;\nvar LiveRegionSendFailed = () => {\n const [sendStatusByActivityKey] = useSendStatusByActivityKey();\n const getActivityByKey = useGetActivityByKey();\n const localize2 = useLocalizer11();\n const activityKeysOfSendFailed = useMemo7(\n () => Array.from(sendStatusByActivityKey).reduce(\n (activityKeysOfSendFailed2, [key, sendStatus]) => sendStatus === SEND_FAILED && !isPresentational(getActivityByKey(key)) ? activityKeysOfSendFailed2.add(key) : activityKeysOfSendFailed2,\n /* @__PURE__ */ new Set()\n ),\n [getActivityByKey, sendStatusByActivityKey]\n );\n const liveRegionSendFailedAlt = localize2(\"TRANSCRIPT_LIVE_REGION_SEND_FAILED_ALT\");\n const prevActivityKeysOfSendFailed = usePrevious(activityKeysOfSendFailed);\n const hasNewSendFailed = useMemo7(() => {\n if (activityKeysOfSendFailed === prevActivityKeysOfSendFailed) {\n return false;\n }\n for (const key of activityKeysOfSendFailed.keys()) {\n if (!prevActivityKeysOfSendFailed.has(key)) {\n return true;\n }\n }\n return false;\n }, [activityKeysOfSendFailed, prevActivityKeysOfSendFailed]);\n useLiveRegion(() => hasNewSendFailed && liveRegionSendFailedAlt, [hasNewSendFailed, liveRegionSendFailedAlt]);\n return null;\n};\nLiveRegionSendFailed.displayName = \"LiveRegionSendFailed\";\nvar SendFailed_default = memo4(LiveRegionSendFailed);\n\n// src/Transcript/useTypistNames.ts\nimport { hooks as hooks19 } from \"botframework-webchat-api\";\nimport { useEffect as useEffect5, useRef as useRef3 } from \"react\";\nvar { useActiveTyping: useActiveTyping2 } = hooks19;\nfunction arrayEquals(x, y) {\n return x.length === y.length && x.every((value, index) => y[+index] === value);\n}\nfunction useTypistNames() {\n const [activeTyping] = useActiveTyping2();\n const prevTypistNamesStateRef = useRef3(\n Object.freeze([Object.freeze([])])\n );\n const activeTypingFromOthersValues = Object.values(activeTyping).filter(({ role }) => role !== \"user\");\n const sortedActiveTypingFromOthersValues = activeTypingFromOthersValues.sort(({ at: x }, { at: y }) => x - y);\n const typistNamesState = Object.freeze([\n Object.freeze(sortedActiveTypingFromOthersValues.map(({ name }) => name))\n ]);\n const { current: prevTypistNamesState } = prevTypistNamesStateRef;\n const nextTypistNamesState = arrayEquals(typistNamesState[0], prevTypistNamesState[0]) ? prevTypistNamesState : typistNamesState;\n useEffect5(() => {\n prevTypistNamesStateRef.current = nextTypistNamesState;\n }, [prevTypistNamesStateRef, nextTypistNamesState]);\n return nextTypistNamesState;\n}\n\n// src/Transcript/LiveRegionTranscript.tsx\nvar { useActivities, useGetKeyByActivity, useLocalizer: useLocalizer12 } = hooks20;\nvar LiveRegionTranscript = ({ activityElementMapRef }) => {\n const [accessKey] = useSuggestedActionsAccessKey();\n const [activities] = useActivities();\n const [typistNames] = useTypistNames();\n const getKeyByActivity = useGetKeyByActivity();\n const localize2 = useLocalizer12();\n const localizeAccessKeyAsAccessibleName = useLocalizeAccessKey(\"accessible name\");\n const queueStaticElement = useQueueStaticElement();\n const liveRegionInteractiveLabelAlt = localize2(\"TRANSCRIPT_LIVE_REGION_INTERACTIVE_LABEL_ALT\");\n const liveRegionInteractiveWithLinkLabelAlt = localize2(\"TRANSCRIPT_LIVE_REGION_INTERACTIVE_WITH_LINKS_LABEL_ALT\");\n const typingIndicator = !!typistNames.length && localize2(\n typistNames.length > 1 ? \"TYPING_INDICATOR_MULTIPLE_TEXT\" : \"TYPING_INDICATOR_SINGLE_TEXT\",\n typistNames[0]\n );\n const liveRegionSuggestedActionsLabelAlt = accessKey ? localize2(\n \"TRANSCRIPT_LIVE_REGION_SUGGESTED_ACTIONS_WITH_ACCESS_KEY_LABEL_ALT\",\n localizeAccessKeyAsAccessibleName(accessKey)\n ) : localize2(\"TRANSCRIPT_LIVE_REGION_SUGGESTED_ACTIONS_LABEL_ALT\");\n const keyedActivities = useMemo8(\n () => Object.freeze(\n activities.reduce((intermediate, activity) => {\n if (activity.type === \"message\") {\n return intermediate.set(getKeyByActivity(activity), activity);\n }\n return intermediate;\n }, /* @__PURE__ */ new Map())\n ),\n [activities, getKeyByActivity]\n );\n const prevRenderingActivitiesRef = useRef4();\n useEffect6(() => {\n const { current: prevRenderingActivities } = prevRenderingActivitiesRef;\n const appendedActivities = [];\n for (const [key, activity] of Array.from(keyedActivities.entries()).reverse()) {\n if (prevRenderingActivities?.has(key)) {\n break;\n }\n appendedActivities.unshift({ activity, key });\n isPresentational(activity) || queueStaticElement(/* @__PURE__ */ React22.createElement(LiveRegionActivity_default, { activity }));\n }\n const hasNewLink = appendedActivities.some(({ key }) => activityElementMapRef.current.get(key)?.querySelector(\"a\"));\n const hasNewWidget = appendedActivities.some(\n ({ key }) => !!tabbableElements(\n activityElementMapRef.current.get(key)?.querySelector(\".webchat__basic-transcript__activity-body\")\n ).length\n );\n const hasSuggestedActions = appendedActivities.some(\n ({ activity }) => activity.type === \"message\" && activity.suggestedActions?.actions?.length\n );\n if (hasNewLink || hasNewWidget) {\n queueStaticElement(\n /* @__PURE__ */ React22.createElement(\"div\", { className: \"webchat__live-region-transcript__note\", role: \"note\" }, hasNewLink ? liveRegionInteractiveWithLinkLabelAlt : liveRegionInteractiveLabelAlt)\n );\n }\n if (hasSuggestedActions) {\n queueStaticElement(\n /* @__PURE__ */ React22.createElement(\"div\", { className: \"webchat__live-region-transcript__note\", role: \"note\" }, liveRegionSuggestedActionsLabelAlt)\n );\n }\n prevRenderingActivitiesRef.current = keyedActivities;\n }, [\n activityElementMapRef,\n liveRegionInteractiveLabelAlt,\n liveRegionInteractiveWithLinkLabelAlt,\n liveRegionSuggestedActionsLabelAlt,\n prevRenderingActivitiesRef,\n queueStaticElement,\n keyedActivities\n ]);\n useMemo8(() => typingIndicator && queueStaticElement(typingIndicator), [queueStaticElement, typingIndicator]);\n return /* @__PURE__ */ React22.createElement(SendFailed_default, null);\n};\nLiveRegionTranscript.displayName = \"LiveRegionTranscript\";\nvar LiveRegionTranscript_default = memo5(LiveRegionTranscript);\n\n// src/providers/TranscriptFocus/TranscriptFocusComposer.tsx\nimport { hooks as hooks21 } from \"botframework-webchat-api\";\nimport PropTypes13 from \"prop-types\";\nimport random3 from \"math-random\";\nimport React23, { useCallback as useCallback7, useMemo as useMemo10 } from \"react\";\n\n// src/Utils/scrollIntoViewWithBlockNearest.ts\nimport computeScrollIntoView from \"compute-scroll-into-view\";\nfunction scrollIntoViewWithBlockNearest(targetElement) {\n if (\"scrollBehavior\" in document.documentElement.style) {\n return targetElement.scrollIntoView({ block: \"nearest\" });\n }\n const [action] = computeScrollIntoView(targetElement, { block: \"nearest\" });\n action.el.scrollTop = action.top;\n}\n\n// src/providers/TranscriptFocus/private/Context.ts\nimport { createContext as createContext3 } from \"react\";\nvar TranscriptFocusContext = createContext3(void 0);\nvar Context_default2 = TranscriptFocusContext;\n\n// src/providers/ActivityTree/private/useContext.ts\nimport { useContext as useContext3 } from \"react\";\n\n// src/providers/ActivityTree/private/Context.ts\nimport { createContext as createContext4 } from \"react\";\nvar Context_default3 = createContext4(void 0);\n\n// src/providers/ActivityTree/private/useContext.ts\nfunction useActivityTreeContext(thrownOnUndefined = true) {\n const contextValue = useContext3(Context_default3);\n if (thrownOnUndefined && !contextValue) {\n throw new Error(\"botframework-webchat internal: This hook can only be used under .\");\n }\n return contextValue;\n}\n\n// src/providers/ActivityTree/useActivityTreeWithRenderer.ts\nfunction useActivityTreeWithRenderer(options = {}) {\n const context2 = useActivityTreeContext();\n return options?.flat === true ? context2.flattenedActivityTreeWithRendererState : context2.activityTreeWithRendererState;\n}\n\n// src/hooks/internal/useStateRef.ts\nimport { useCallback as useCallback6, useRef as useRef5, useState as useState4 } from \"react\";\nfunction useStateRef(initialValue) {\n const [_2, forceRender] = useState4();\n const valueRef = useRef5(initialValue);\n const setter = useCallback6(\n (value) => {\n const { current } = valueRef;\n value = value instanceof Function ? value(current) : value;\n if (current !== value) {\n valueRef.current = value;\n forceRender({});\n }\n },\n [forceRender, valueRef]\n );\n return Object.freeze([valueRef.current, setter, valueRef]);\n}\n\n// src/hooks/internal/useValueRef.ts\nimport { useMemo as useMemo9, useRef as useRef6 } from \"react\";\nfunction useValueRef(value) {\n const ref = useRef6();\n const readOnlyRef = useMemo9(\n () => Object.create(\n {},\n {\n current: {\n get: () => ref.current\n }\n }\n ),\n []\n );\n ref.current = value;\n return readOnlyRef;\n}\n\n// src/providers/TranscriptFocus/TranscriptFocusComposer.tsx\nvar { useGetKeyByActivity: useGetKeyByActivity2 } = hooks21;\nfunction last(array) {\n return array[array.length - 1];\n}\nfunction uniqueId(count = Infinity) {\n return random3().toString(36).substring(2, 2 + count);\n}\nvar TranscriptFocusComposer = ({ children, containerRef }) => {\n const [flattenedActivityTree] = useActivityTreeWithRenderer({ flat: true });\n const [_2, setRawFocusedActivityKey, rawFocusedActivityKeyRef] = useStateRef();\n const getKeyByActivity = useGetKeyByActivity2();\n const prefix = useMemo10(() => uniqueId(3), []);\n const getDescendantIdByActivityKey = useCallback7(\n (activityKey) => activityKey && `webchat__transcript-focus-${prefix}__activity-${activityKey}`,\n [prefix]\n );\n const renderingActivityKeys = useMemo10(\n () => Object.freeze(flattenedActivityTree.map(({ activity }) => getKeyByActivity(activity))),\n [flattenedActivityTree, getKeyByActivity]\n );\n const renderingActivityKeysRef = useValueRef(renderingActivityKeys);\n const prevRenderingActivityKeys = usePrevious(renderingActivityKeys);\n if (renderingActivityKeys !== prevRenderingActivityKeys && !containerRef.current?.contains(document.activeElement)) {\n rawFocusedActivityKeyRef.current = void 0;\n }\n const { current: rawFocusedActivityKey } = rawFocusedActivityKeyRef;\n const focusedActivityKey = useMemo10(\n () => renderingActivityKeys.includes(rawFocusedActivityKey) ? rawFocusedActivityKey : last(renderingActivityKeys),\n [renderingActivityKeys, rawFocusedActivityKey]\n );\n const focusedActivityKeyRef = useValueRef(focusedActivityKey);\n const activeDescendantId = useMemo10(\n () => getDescendantIdByActivityKey(focusedActivityKey),\n [getDescendantIdByActivityKey, focusedActivityKey]\n );\n const focusByActivityKey = useCallback7(\n (activityKey, withFocus = true) => {\n if (activityKey === false) {\n setRawFocusedActivityKey(void 0);\n } else if (activityKey === true) {\n setRawFocusedActivityKey((key) => key || focusedActivityKeyRef.current);\n } else if (activityKey) {\n setRawFocusedActivityKey(activityKey);\n }\n if (withFocus) {\n containerRef.current?.focus();\n const activeDescendantId2 = getDescendantIdByActivityKey(\n activityKey === false ? (\n // If \"activityKey\" is false, it means \"focus nothing and reset it to the last activity\".\n last(renderingActivityKeysRef.current)\n ) : activityKey && activityKey !== true ? (\n // If \"activity\" is not \"undefined\" and not \"true\", it means \"focus on this activity\".\n activityKey\n ) : (\n // If \"activityKey\" is \"undefined\", it means \"don't modify the focus\".\n // If \"activityKey\" is \"true\", it means \"try to focus on anything\".\n rawFocusedActivityKeyRef.current\n )\n );\n const activeDescendantElement = activeDescendantId2 && document.getElementById(activeDescendantId2);\n if (activeDescendantElement && !activeDescendantElement.contains(document.activeElement)) {\n scrollIntoViewWithBlockNearest(activeDescendantElement);\n }\n }\n },\n [\n getDescendantIdByActivityKey,\n containerRef,\n focusedActivityKeyRef,\n renderingActivityKeysRef,\n rawFocusedActivityKeyRef,\n setRawFocusedActivityKey\n ]\n );\n const focusRelativeActivity = useCallback7(\n (delta) => {\n const { current: orderedActivityKeys } = renderingActivityKeysRef;\n if (isNaN(delta) || !orderedActivityKeys.length) {\n return focusByActivityKey(false, true);\n }\n const { current: focusedActivityKey2 } = focusedActivityKeyRef;\n const index = orderedActivityKeys.indexOf(focusedActivityKey2);\n const nextIndex = ~index ? Math.max(0, Math.min(orderedActivityKeys.length - 1, index + delta)) : orderedActivityKeys.length - 1;\n focusByActivityKey(orderedActivityKeys[+nextIndex], true);\n },\n [focusedActivityKeyRef, renderingActivityKeysRef, focusByActivityKey]\n );\n const contextValue = useMemo10(\n () => ({\n activeDescendantIdState: Object.freeze([activeDescendantId]),\n getDescendantIdByActivityKey,\n focusByActivityKey,\n focusedActivityKeyState: Object.freeze([focusedActivityKey]),\n focusedExplicitlyState: Object.freeze([!!rawFocusedActivityKey]),\n focusRelativeActivity\n }),\n [\n activeDescendantId,\n getDescendantIdByActivityKey,\n focusByActivityKey,\n focusedActivityKey,\n focusRelativeActivity,\n rawFocusedActivityKey\n ]\n );\n return /* @__PURE__ */ React23.createElement(Context_default2.Provider, { value: contextValue }, children);\n};\nTranscriptFocusComposer.propTypes = {\n // PropTypes is not fully compatible with TypeScript.\n // @ts-ignore\n containerRef: PropTypes13.shape({\n current: PropTypes13.instanceOf(HTMLElement)\n }).isRequired\n};\nvar TranscriptFocusComposer_default = TranscriptFocusComposer;\n\n// src/providers/TranscriptFocus/private/useContext.ts\nimport { useContext as useContext4 } from \"react\";\nfunction useTranscriptFocusContext(throwOnUndefined = true) {\n const contextValue = useContext4(Context_default2);\n if (throwOnUndefined && !contextValue) {\n throw new Error(\"botframework-webchat internal: This hook can only be used under .\");\n }\n return contextValue;\n}\n\n// src/providers/TranscriptFocus/useActiveDescendantId.ts\nfunction useActiveDescendantId() {\n return useTranscriptFocusContext().activeDescendantIdState;\n}\n\n// src/hooks/internal/useDispatchScrollPosition.js\nfunction useDispatchScrollPosition() {\n return useWebChatUIContext().dispatchScrollPosition;\n}\n\n// src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts\nfunction useDispatchTranscriptFocusByActivityKey() {\n return useWebChatUIContext().dispatchTranscriptFocusByActivityKey;\n}\n\n// src/hooks/useFocus.ts\nimport { useCallback as useCallback8 } from \"react\";\n\n// src/hooks/internal/createWaitUntilable.ts\nfunction createWaitUntilable(object) {\n const allPromises = [];\n return Object.freeze([\n {\n ...object,\n waitUntil(promise) {\n allPromises.push(promise);\n }\n },\n async () => {\n for (let numPromise = 0; ; numPromise = allPromises.length) {\n await Promise.all(allPromises).then(() => {\n });\n if (numPromise === allPromises.length) {\n break;\n }\n }\n }\n ]);\n}\n\n// src/hooks/sendBoxFocus.ts\nimport { createPropagation } from \"use-propagate\";\nvar {\n PropagationScope: FocusSendBoxScope,\n useListen: useRegisterFocusSendBox,\n usePropagate: useFocusSendBox\n} = createPropagation();\n\n// src/hooks/useFocus.ts\nfunction useFocus() {\n const focusSendBox = useFocusSendBox();\n const { focusTranscriptCallbacksRef } = useWebChatUIContext();\n return useCallback8(\n async (where) => {\n if (where === \"sendBox\" || where === \"sendBoxWithoutKeyboard\") {\n const [options, getPromise] = createWaitUntilable({ noKeyboard: where === \"sendBoxWithoutKeyboard\" });\n focusSendBox(options);\n await getPromise();\n } else {\n const [, getPromise] = createWaitUntilable({});\n focusTranscriptCallbacksRef.current.forEach((callback) => callback());\n await getPromise();\n }\n },\n [focusSendBox, focusTranscriptCallbacksRef]\n );\n}\n\n// src/providers/TranscriptFocus/useFocusByActivityKey.ts\nfunction useFocusByActivityKey() {\n return useTranscriptFocusContext().focusByActivityKey;\n}\n\n// src/providers/TranscriptFocus/useFocusedActivityKey.ts\nfunction useFocusedActivityKey() {\n return useTranscriptFocusContext().focusedActivityKeyState;\n}\n\n// src/providers/TranscriptFocus/useFocusedExplicitly.ts\nfunction useFocusedExplicitly() {\n return useTranscriptFocusContext().focusedExplicitlyState;\n}\n\n// src/providers/TranscriptFocus/useFocusRelativeActivity.ts\nfunction useFocusRelativeActivity() {\n return useTranscriptFocusContext().focusRelativeActivity;\n}\n\n// src/hooks/internal/useObserveFocusVisible.ts\nimport { hooks as hooks22 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback9, useEffect as useEffect7, useMemo as useMemo11, useRef as useRef7 } from \"react\";\n\n// src/Utils/supportPseudoClass.ts\nfunction supportPseudoClass(pseudoClass, nonce) {\n const styleElement = document.createElement(\"style\");\n nonce && styleElement.setAttribute(\"nonce\", nonce);\n document.head.appendChild(styleElement);\n try {\n styleElement.sheet.insertRule(\"html\" + pseudoClass + \"{}\", 0);\n return true;\n } catch (error) {\n return false;\n } finally {\n document.head.removeChild(styleElement);\n }\n}\n\n// src/hooks/internal/useNonce.js\nfunction useNonce() {\n const { nonce } = useWebChatUIContext();\n return [nonce];\n}\n\n// src/hooks/internal/useObserveFocusVisible.ts\nvar { usePonyfill: usePonyfill3 } = hooks22;\nvar INPUT_TYPES_ALLOW_LIST = [\n \"date\",\n \"datetime-local\",\n \"datetime\",\n \"email\",\n \"month\",\n \"number\",\n \"password\",\n \"search\",\n \"tel\",\n \"text\",\n \"time\",\n \"url\",\n \"week\"\n];\nfunction focusTriggersKeyboardModality(el) {\n const { isContentEditable, readOnly, tagName, type } = el;\n return tagName === \"INPUT\" && INPUT_TYPES_ALLOW_LIST.includes(type) && !readOnly || tagName === \"TEXTAREA\" && !readOnly || isContentEditable;\n}\nfunction createEventSubscription(target, types, handler) {\n let subscribed;\n const subscribe = () => {\n if (!subscribed) {\n types.forEach((type) => target.addEventListener(type, handler));\n subscribed = true;\n }\n };\n const unsubscribe = () => {\n if (subscribed) {\n types.forEach((type) => target.removeEventListener(type, handler));\n subscribed = void 0;\n }\n };\n return {\n pause: unsubscribe,\n resume: subscribe\n };\n}\nfunction useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef) {\n const [{ Date }] = usePonyfill3();\n const blurSinceRef = useRef7(0);\n const hadKeyboardEventRef = useRef7(true);\n const hasFocusVisibleRef = useRef7(false);\n const eventSubscription = useMemo11(\n () => createEventSubscription(\n document,\n [\n \"mousemove\",\n \"mousedown\",\n \"mouseup\",\n \"pointermove\",\n \"pointerdown\",\n \"pointerup\",\n \"touchmove\",\n \"touchstart\",\n \"touchend\"\n ],\n (event) => {\n if (event.target.nodeName?.toLowerCase() !== \"html\") {\n hadKeyboardEventRef.current = false;\n eventSubscription.pause();\n }\n }\n ),\n [hadKeyboardEventRef]\n );\n const setHasFocusVisible = useCallback9(\n (nextHasFocusVisible) => {\n if (hasFocusVisibleRef.current !== nextHasFocusVisible) {\n hasFocusVisibleRef.current = nextHasFocusVisible;\n nextHasFocusVisible && onFocusVisibleRef?.current();\n }\n },\n [hasFocusVisibleRef, onFocusVisibleRef]\n );\n const handleKeyDown = useCallback9(\n (event) => {\n if (event.altKey || event.ctrlKey || event.metaKey) {\n return;\n }\n if (event.target === targetRef.current) {\n setHasFocusVisible(true);\n }\n hadKeyboardEventRef.current = true;\n },\n [hadKeyboardEventRef, setHasFocusVisible, targetRef]\n );\n const handlePointerDown = useCallback9(() => {\n hadKeyboardEventRef.current = false;\n }, [hadKeyboardEventRef]);\n const handleFocus = useCallback9(\n ({ target }) => {\n target === targetRef.current && (hadKeyboardEventRef.current || focusTriggersKeyboardModality(target)) && setHasFocusVisible(true);\n },\n [hadKeyboardEventRef, setHasFocusVisible, targetRef]\n );\n const handleBlur = useCallback9(\n (event) => {\n if (event.target === targetRef.current && hasFocusVisibleRef.current) {\n blurSinceRef.current = Date.now();\n setHasFocusVisible(false);\n }\n },\n [blurSinceRef, Date, hasFocusVisibleRef, setHasFocusVisible, targetRef]\n );\n const handleVisibilityChange = useCallback9(() => {\n if (document.visibilityState === \"hidden\") {\n if (Date.now() - blurSinceRef.current < 100) {\n hadKeyboardEventRef.current = true;\n }\n eventSubscription.resume();\n }\n }, [blurSinceRef, Date, eventSubscription, hadKeyboardEventRef]);\n useEffect7(() => {\n document.addEventListener(\"keydown\", handleKeyDown, true);\n document.addEventListener(\"mousedown\", handlePointerDown, true);\n document.addEventListener(\"pointerdown\", handlePointerDown, true);\n document.addEventListener(\"touchstart\", handlePointerDown, true);\n document.addEventListener(\"visibilitychange\", handleVisibilityChange, true);\n return () => {\n document.removeEventListener(\"keydown\", handleKeyDown);\n document.removeEventListener(\"mousedown\", handlePointerDown);\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n document.removeEventListener(\"touchstart\", handlePointerDown);\n document.removeEventListener(\"visibilitychange\", handleVisibilityChange);\n };\n }, [handleKeyDown, handlePointerDown, handleVisibilityChange]);\n useEffect7(() => {\n const { current: target } = targetRef;\n target.addEventListener(\"blur\", handleBlur, true);\n target.addEventListener(\"focus\", handleFocus, true);\n return () => {\n target.removeEventListener(\"blur\", handleBlur);\n target.removeEventListener(\"focus\", handleFocus);\n };\n }, [handleBlur, handleFocus, targetRef]);\n useEffect7(() => {\n eventSubscription.resume();\n return () => eventSubscription.pause();\n }, [eventSubscription]);\n}\nfunction useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef) {\n const handleFocus = useCallback9(() => {\n const { current } = targetRef;\n if (\n // \"msMatchesSelector\" is vendor-prefixed version of \"matches\".\n (current.matches || current[\"msMatchesSelector\"]).call(\n current,\n \":focus-visible\"\n )\n ) {\n onFocusVisibleRef?.current();\n }\n }, [onFocusVisibleRef, targetRef]);\n useEffect7(() => {\n const { current: target } = targetRef;\n target.addEventListener(\"focus\", handleFocus);\n return () => target.removeEventListener(\"focus\", handleFocus);\n }, [handleFocus, targetRef, targetRef.current]);\n}\nfunction useObserveFocusVisible(targetRef, onFocusVisible) {\n const [nonce] = useNonce();\n const onFocusVisibleRef = useValueRef(onFocusVisible);\n const nonceRef = useRef7(nonce);\n const supportFocusVisible = useMemo11(() => supportPseudoClass(\":focus-visible\", nonceRef.current), [nonceRef]);\n if (supportFocusVisible) {\n useObserveFocusVisibleForModernBrowsers(targetRef, onFocusVisibleRef);\n } else {\n useObserveFocusVisibleForLegacyBrowsers(targetRef, onFocusVisibleRef);\n }\n}\n\n// src/hooks/internal/useRegisterFocusTranscript.js\nimport { useEffect as useEffect8 } from \"react\";\n\n// src/Utils/removeInline.js\nfunction removeInline(array, ...items) {\n items.forEach((item) => {\n let index;\n while (~(index = array.indexOf(item))) {\n array.splice(index, 1);\n }\n });\n}\n\n// src/hooks/internal/useRegisterFocusTranscript.js\nfunction useRegisterFocusTranscript(callback) {\n const { focusTranscriptCallbacksRef } = useWebChatUIContext();\n useEffect8(() => {\n if (callback) {\n const { current: focusTranscriptCallbacks } = focusTranscriptCallbacksRef;\n focusTranscriptCallbacks.push(callback);\n return () => removeInline(focusTranscriptCallbacks, callback);\n }\n }, [callback, focusTranscriptCallbacksRef]);\n}\n\n// src/hooks/internal/useRegisterScrollTo.js\nimport { useEffect as useEffect9 } from \"react\";\nfunction useRegisterScrollTo(callback) {\n const { scrollToCallbacksRef } = useWebChatUIContext();\n useEffect9(() => {\n if (callback) {\n const { current: scrollToCallbacks } = scrollToCallbacksRef;\n scrollToCallbacks.push(callback);\n return () => removeInline(scrollToCallbacks, callback);\n }\n }, [callback, scrollToCallbacksRef]);\n}\n\n// src/hooks/internal/useRegisterScrollToEnd.js\nimport { useEffect as useEffect10 } from \"react\";\nfunction useRegisterScrollTo2(callback) {\n const { scrollToEndCallbacksRef } = useWebChatUIContext();\n useEffect10(() => {\n const { current: scrollToEndCallbacks } = scrollToEndCallbacksRef;\n scrollToEndCallbacks.push(callback);\n return () => removeInline(scrollToEndCallbacks, callback);\n }, [callback, scrollToEndCallbacksRef]);\n}\n\n// src/hooks/internal/useUniqueId.ts\nimport { useMemo as useMemo12 } from \"react\";\nimport random4 from \"math-random\";\nfunction useUniqueId(prefix) {\n const id = useMemo12(() => random4().toString(36).substr(2, 5), []);\n prefix = prefix ? `${prefix}--` : \"\";\n return `${prefix}${id}`;\n}\n\n// src/TranscriptActivity.tsx\nimport React28, { memo as memo9, useCallback as useCallback13, useMemo as useMemo16 } from \"react\";\nimport { hooks as hooks26 } from \"botframework-webchat-api\";\n\n// src/Transcript/ActivityRow.tsx\nimport { hooks as hooks25 } from \"botframework-webchat-api\";\nimport classNames9 from \"classnames\";\nimport PropTypes16 from \"prop-types\";\nimport React27, { forwardRef as forwardRef2, memo as memo8, useCallback as useCallback12, useMemo as useMemo15, useRef as useRef9 } from \"react\";\n\n// src/Transcript/FocusTrap.tsx\nimport React24, {\n Fragment as Fragment5,\n memo as memo6,\n useCallback as useCallback10,\n useRef as useRef8\n} from \"react\";\nimport { useRefFrom as useRefFrom2 } from \"use-ref-from\";\nvar FocusTrap = ({\n children,\n onFocus,\n onLeave,\n targetClassName\n}) => {\n const bodyRef = useRef8();\n const lastFocused = useRef8();\n const onFocusRef = useRefFrom2(onFocus);\n const onLeaveRef = useRefFrom2(onLeave);\n const getTabbableElementsInBody = useCallback10(\n () => tabbableElements(bodyRef.current).filter((element) => element.getAttribute(\"aria-disabled\") !== \"true\"),\n [bodyRef]\n );\n const focusOrTriggerLeave = useCallback10(\n (element) => element ? element.focus() : onLeaveRef.current?.(),\n [onLeaveRef]\n );\n const handleBodyKeyDown = useCallback10(\n (event) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n event.stopPropagation();\n onLeaveRef.current?.();\n } else if (event.key === \"Tab\") {\n const activeElement = document.activeElement;\n const focusables = getTabbableElementsInBody();\n const focusedIndex = getTabbableElementsInBody().indexOf(activeElement);\n if (event.shiftKey && focusedIndex === 0) {\n event.preventDefault();\n focusOrTriggerLeave(focusables.at(-1));\n } else if (!event.shiftKey && focusedIndex === focusables.length - 1) {\n event.preventDefault();\n focusOrTriggerLeave(focusables.at(0));\n }\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody, onLeaveRef]\n );\n const handleFocus = useCallback10(\n (event) => {\n onFocusRef.current?.();\n lastFocused.current = event.target;\n },\n [lastFocused, onFocusRef]\n );\n const handleBlur = useCallback10(\n (event) => {\n const { target } = event;\n const focusables = getTabbableElementsInBody();\n if (!focusables.includes(target)) {\n event.preventDefault();\n event.stopPropagation();\n focusOrTriggerLeave(focusables.at(0));\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody]\n );\n const handleTrapFocus = useCallback10(\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n event.target.blur();\n const focusables = getTabbableElementsInBody();\n if (lastFocused.current && focusables.includes(lastFocused.current)) {\n lastFocused.current.focus();\n } else {\n focusOrTriggerLeave(focusables.at(0));\n }\n },\n [focusOrTriggerLeave, getTabbableElementsInBody]\n );\n return /* @__PURE__ */ React24.createElement(Fragment5, null, /* @__PURE__ */ React24.createElement(\"div\", { onBlur: handleBlur, onFocus: handleFocus, onKeyDown: handleBodyKeyDown, ref: bodyRef }, children), /* @__PURE__ */ React24.createElement(\"div\", { \"aria-hidden\": \"true\", className: targetClassName, onFocus: handleTrapFocus, tabIndex: -1 }));\n};\nFocusTrap.displayName = \"FocusTrap\";\nvar FocusTrap_default = memo6(FocusTrap);\n\n// src/Activity/Speak.tsx\nimport { hooks as hooks23 } from \"botframework-webchat-api\";\nimport PropTypes15 from \"prop-types\";\nimport React26, { memo as memo7, useCallback as useCallback11, useMemo as useMemo13 } from \"react\";\nimport ReactSay, { SayUtterance } from \"react-say\";\n\n// src/Activity/SayAlt.js\nimport PropTypes14 from \"prop-types\";\nimport React25 from \"react\";\nvar ROOT_STYLE4 = {\n color: \"Red\",\n margin: 0\n};\nvar SayAlt = ({ speak }) => {\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE4) + \"\";\n return !!speak && /* @__PURE__ */ React25.createElement(\"pre\", { className: rootClassName }, speak);\n};\nSayAlt.defaultProps = {\n speak: \"\"\n};\nSayAlt.propTypes = {\n speak: PropTypes14.string\n};\nvar SayAlt_default = SayAlt;\n\n// src/Activity/Speak.tsx\nvar Say = \"default\" in ReactSay ? ReactSay.default : ReactSay;\nvar { useMarkActivityAsSpoken, useStyleOptions: useStyleOptions4, useVoiceSelector } = hooks23;\nvar Speak = ({ activity }) => {\n const [{ showSpokenText }] = useStyleOptions4();\n const markActivityAsSpoken = useMarkActivityAsSpoken();\n const selectVoice = useVoiceSelector(activity);\n const markAsSpoken = useCallback11(() => {\n markActivityAsSpoken(activity);\n }, [activity, markActivityAsSpoken]);\n const singleLine = useMemo13(() => {\n if (activity.type !== \"message\") {\n return false;\n }\n const { attachments = [], speak, text } = activity;\n return [\n speak || text,\n ...attachments.filter(({ contentType }) => contentType === \"application/vnd.microsoft.card.adaptive\").map((attachment) => attachment?.content?.speak)\n ].filter((line) => line).join(\"\\r\\n\");\n }, [activity]);\n const speechSynthesisUtterance = activity.type === \"message\" && activity.channelData?.speechSynthesisUtterance;\n return !!activity && /* @__PURE__ */ React26.createElement(React26.Fragment, null, speechSynthesisUtterance ? /* @__PURE__ */ React26.createElement(SayUtterance, { onEnd: markAsSpoken, onError: markAsSpoken, utterance: speechSynthesisUtterance }) : /* @__PURE__ */ React26.createElement(Say, { onEnd: markAsSpoken, onError: markAsSpoken, text: singleLine, voice: selectVoice }), !!showSpokenText && /* @__PURE__ */ React26.createElement(SayAlt_default, { speak: singleLine }));\n};\nSpeak.propTypes = {\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n activity: PropTypes15.shape({\n attachments: PropTypes15.arrayOf(\n PropTypes15.shape({\n speak: PropTypes15.string,\n subtitle: PropTypes15.string,\n text: PropTypes15.string,\n title: PropTypes15.string\n })\n ),\n channelData: PropTypes15.shape({\n speechSynthesisUtterance: PropTypes15.any\n }),\n speak: PropTypes15.string,\n text: PropTypes15.string,\n type: PropTypes15.string.isRequired\n }).isRequired\n};\nSpeak.displayName = \"SpeakActivity\";\nvar Speak_default = memo7(Speak);\n\n// src/Transcript/useActivityAccessibleName.ts\nimport { hooks as hooks24 } from \"botframework-webchat-api\";\nimport { useEffect as useEffect11, useMemo as useMemo14, useState as useState5 } from \"react\";\nvar { useAvatarForBot: useAvatarForBot2, useGetKeyByActivity: useGetKeyByActivity3, useLocalizer: useLocalizer13, useSendStatusByActivityKey: useSendStatusByActivityKey2 } = hooks24;\nvar ACTIVITY_NUM_ATTACHMENTS_ALT_IDS2 = {\n few: \"ACTIVITY_NUM_ATTACHMENTS_FEW_ALT\",\n many: \"ACTIVITY_NUM_ATTACHMENTS_MANY_ALT\",\n one: \"ACTIVITY_NUM_ATTACHMENTS_ONE_ALT\",\n other: \"ACTIVITY_NUM_ATTACHMENTS_OTHER_ALT\",\n two: \"ACTIVITY_NUM_ATTACHMENTS_TWO_ALT\"\n};\nfunction useActivityAccessibleName(activity, bodyRef) {\n const [{ initials: botInitials }] = useAvatarForBot2();\n const [interactiveType, setInteractiveType] = useState5(false);\n const [sendStatusByActivityKey] = useSendStatusByActivityKey2();\n const fromSelf = activity.from?.role === \"user\";\n const getKeyByActivity = useGetKeyByActivity3();\n const localize2 = useLocalizer13();\n const localizeWithPlural = useLocalizer13({ plural: true });\n const numAttachments = activity.type === \"message\" ? activity.attachments?.length || 0 : 0;\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML();\n const activityInteractiveFootNoteAlt = localize2(\"ACTIVITY_INTERACTIVE_FOOTNOTE_ALT\");\n const activityInteractiveReasonInteractiveContentAlt = localize2(\n \"ACTIVITY_INTERACTIVE_REASON_INTERACTIVE_CONTENT_ALT\"\n );\n const activityInteractiveReasonLinkAlt = localize2(\"ACTIVITY_INTERACTIVE_REASON_LINK_ALT\");\n const activityInteractiveReasonSendFailedAlt = localize2(\"ACTIVITY_INTERACTIVE_REASON_SEND_FAILED_ALT\");\n const activityKey = useMemo14(() => getKeyByActivity(activity), [activity, getKeyByActivity]);\n const greetingAlt = useMemo14(\n () => (fromSelf ? localize2(\"ACTIVITY_YOU_SAID_ALT\") : localize2(\"ACTIVITY_BOT_SAID_ALT\", botInitials || \"\")).replace(\n /\\s{2,}/gu,\n \" \"\n ),\n [botInitials, fromSelf, localize2]\n );\n const interactiveTypeRef = useValueRef(interactiveType);\n const messageTextAlt = useMemo14(\n () => activityAltText(activity, renderMarkdownAsHTML),\n [activity, renderMarkdownAsHTML]\n );\n const numAttachmentsAlt = useMemo14(\n () => numAttachments ? localizeWithPlural(ACTIVITY_NUM_ATTACHMENTS_ALT_IDS2, numAttachments) : \"\",\n [localizeWithPlural, numAttachments]\n );\n const isSendFailed = useMemo14(\n () => sendStatusByActivityKey.get(activityKey) === SEND_FAILED,\n [activityKey, sendStatusByActivityKey]\n );\n const accessibleName = useMemo14(\n // We are concatenating in a single string for Safari. If we split it up, Safari will only narrate the first section.\n () => [\n greetingAlt,\n messageTextAlt,\n numAttachmentsAlt,\n isSendFailed ? activityInteractiveReasonSendFailedAlt : \"\",\n interactiveType === 0 /* LINK */ ? activityInteractiveReasonLinkAlt : interactiveType === 1 /* WIDGET */ ? activityInteractiveReasonInteractiveContentAlt : \"\",\n interactiveType || isSendFailed ? activityInteractiveFootNoteAlt : \"\"\n ].filter(Boolean).join(\" \"),\n [\n activityInteractiveFootNoteAlt,\n activityInteractiveReasonInteractiveContentAlt,\n activityInteractiveReasonLinkAlt,\n activityInteractiveReasonSendFailedAlt,\n greetingAlt,\n interactiveType,\n isSendFailed,\n messageTextAlt,\n numAttachmentsAlt\n ]\n );\n useEffect11(() => {\n const hasLinks = !!bodyRef.current?.querySelector(\"a\");\n const hasWidgets = !!tabbableElements(bodyRef.current).length;\n interactiveTypeRef.current !== hasWidgets && setInteractiveType(hasLinks ? 0 /* LINK */ : hasWidgets ? 1 /* WIDGET */ : false);\n }, [bodyRef, interactiveTypeRef, setInteractiveType]);\n return [accessibleName];\n}\n\n// src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts\nfunction useGetDescendantIdByActivityKey() {\n return useTranscriptFocusContext().getDescendantIdByActivityKey;\n}\n\n// src/Transcript/ActivityRow.tsx\nimport { useRefFrom as useRefFrom3 } from \"use-ref-from\";\nvar { useActivityKeysByRead, useGetHasAcknowledgedByActivityKey, useGetKeyByActivity: useGetKeyByActivity4 } = hooks25;\nvar ActivityRow = forwardRef2(({ activity, children }, ref) => {\n const [activeDescendantId] = useActiveDescendantId();\n const [readActivityKeys] = useActivityKeysByRead();\n const bodyRef = useRef9();\n const focusByActivityKey = useFocusByActivityKey();\n const getKeyByActivity = useGetKeyByActivity4();\n const shouldSpeak = activity.channelData?.speak;\n const [accessibleName] = useActivityAccessibleName(activity, bodyRef);\n const activityKey = getKeyByActivity(activity);\n const acknowledged = useGetHasAcknowledgedByActivityKey()(activityKey);\n const activityKeyRef = useRefFrom3(activityKey);\n const descendantId = useGetDescendantIdByActivityKey()(activityKey);\n const descendantLabelId = `webchat__basic-transcript__active-descendant-label--${activityKey}`;\n const isActiveDescendant = descendantId === activeDescendantId;\n const read = readActivityKeys.includes(activityKey);\n const focusSelf = useCallback12(\n (withFocus) => focusByActivityKey(activityKeyRef.current, withFocus),\n [activityKeyRef, focusByActivityKey]\n );\n const handleDescendantFocus = useCallback12(() => focusSelf(false), [focusSelf]);\n const handleLeaveFocusTrap = useCallback12(() => focusSelf(), [focusSelf]);\n const handleMouseDownCapture = useCallback12(() => focusSelf(false), [focusSelf]);\n const focusTrapChildren = useMemo15(\n () => /* @__PURE__ */ React27.createElement(\"div\", { className: \"webchat__basic-transcript__activity-body\", ref: bodyRef }, children),\n [bodyRef, children]\n );\n return (\n // TODO: [P2] Add `aria-roledescription=\"message\"` for better AX, need localization strings.\n /* @__PURE__ */ React27.createElement(\n \"article\",\n {\n className: classNames9(\"webchat__basic-transcript__activity\", {\n \"webchat__basic-transcript__activity--acknowledged\": acknowledged,\n \"webchat__basic-transcript__activity--read\": read\n }),\n onMouseDownCapture: handleMouseDownCapture,\n ref\n },\n !android && /* @__PURE__ */ React27.createElement(\n \"div\",\n {\n \"aria-labelledby\": descendantLabelId,\n className: \"webchat__basic-transcript__activity-active-descendant\",\n id: descendantId,\n role: \"article\"\n },\n /* @__PURE__ */ React27.createElement(ScreenReaderText_default, { \"aria-hidden\": true, id: descendantLabelId, text: accessibleName })\n ),\n /* @__PURE__ */ React27.createElement(\n FocusTrap_default,\n {\n onFocus: handleDescendantFocus,\n onLeave: handleLeaveFocusTrap,\n targetClassName: \"webchat__basic-transcript__activity-focus-target\"\n },\n focusTrapChildren\n ),\n shouldSpeak && /* @__PURE__ */ React27.createElement(Speak_default, { activity }),\n /* @__PURE__ */ React27.createElement(\n \"div\",\n {\n className: classNames9(\"webchat__basic-transcript__activity-indicator\", {\n \"webchat__basic-transcript__activity-indicator--focus\": isActiveDescendant\n })\n }\n )\n )\n );\n});\nActivityRow.defaultProps = {\n children: void 0\n};\nActivityRow.displayName = \"ActivityRow\";\nActivityRow.propTypes = {\n // PropTypes cannot fully capture TypeScript type.\n // @ts-ignore\n activity: PropTypes16.shape({\n channelData: PropTypes16.shape({\n speak: PropTypes16.bool,\n \"webchat:fallback-text\": PropTypes16.string\n })\n }).isRequired,\n children: PropTypes16.any\n};\nvar ActivityRow_default = memo8(ActivityRow);\n\n// src/TranscriptActivity.tsx\nvar { useCreateActivityStatusRenderer } = hooks26;\nfunction TranscriptActivity({\n activityElementMapRef,\n activityKey,\n activity,\n hideTimestamp,\n renderActivity,\n renderAvatar,\n showCallout\n}) {\n const createActivityStatusRenderer = useCreateActivityStatusRenderer();\n const activityCallbackRef = useCallback13(\n (activityElement) => {\n activityElement ? activityElementMapRef.current.set(activityKey, activityElement) : activityElementMapRef.current.delete(activityKey);\n },\n [activityElementMapRef, activityKey]\n );\n const renderActivityStatus = useMemo16(\n () => createActivityStatusRenderer({\n activity,\n nextVisibleActivity: void 0\n }),\n [activity, createActivityStatusRenderer]\n );\n const children = useMemo16(\n () => renderActivity({\n hideTimestamp,\n renderActivityStatus,\n renderAvatar,\n showCallout\n }),\n [hideTimestamp, renderActivity, renderActivityStatus, renderAvatar, showCallout]\n );\n return /* @__PURE__ */ React28.createElement(ActivityRow_default, { activity, ref: activityCallbackRef }, children);\n}\nvar TranscriptActivity_default = memo9(TranscriptActivity);\n\n// src/hooks/internal/useMemoized.ts\nimport { useEffect as useEffect12, useMemo as useMemo17, useRef as useRef10 } from \"react\";\nimport { useRefFrom as useRefFrom4 } from \"use-ref-from\";\nfunction useMemoized(fn, deps) {\n if (typeof fn !== \"function\") {\n throw new Error(\"The first argument must be a function.\");\n } else if (!Array.isArray(deps)) {\n throw new Error(\"The second argument must be an array.\");\n }\n const fnRef = useRefFrom4(fn);\n const cacheRef = useRef10();\n const nextCacheRef = useRef10();\n const memoizedFn = useMemo17(\n () => {\n cacheRef.current = [];\n nextCacheRef.current = [];\n const memoizedFn2 = (...args) => {\n const fn2 = fnRef.current;\n const cache = cacheRef.current;\n const nextCache = nextCacheRef.current;\n const cached = cache.find(\n ({ args: cachedArgs }) => (\n // index is guarented to be a number here\n // eslint-disable-next-line security/detect-object-injection\n args.length === cachedArgs.length && args.every((arg, index) => Object.is(arg, cachedArgs[index]))\n )\n );\n if (cached) {\n cached.args = args;\n nextCache.push(cached);\n return cached.result;\n }\n const nextCached = {\n args,\n result: fn2(...args)\n };\n nextCache.push(nextCached);\n cache.push(nextCached);\n return nextCached.result;\n };\n return memoizedFn2;\n },\n // Concat our deps with passed deps, so the memo callback runs when anything changes\n /* eslint-disable-next-line react-hooks/exhaustive-deps */\n [fnRef, cacheRef, nextCacheRef, ...deps]\n );\n useEffect12(() => {\n cacheRef.current = nextCacheRef.current;\n nextCacheRef.current = [];\n });\n return memoizedFn;\n}\n\n// src/hooks/transcriptScrollRelative.ts\nimport { createPropagation as createPropagation2 } from \"use-propagate\";\nvar {\n PropagationScope: ScrollRelativeTranscriptScope,\n useListen: useRegisterScrollRelativeTranscript,\n usePropagate: useScrollRelativeTranscript\n} = createPropagation2();\n\n// src/BasicTranscript.tsx\nvar {\n useActivityKeys,\n useActivityKeysByRead: useActivityKeysByRead2,\n useCreateAvatarRenderer,\n useCreateScrollToEndButtonRenderer,\n useDirection: useDirection7,\n useGetActivityByKey: useGetActivityByKey2,\n useGetKeyByActivity: useGetKeyByActivity5,\n useGetKeyByActivityId,\n useLastAcknowledgedActivityKey,\n useLocalizer: useLocalizer14,\n useMarkActivityKeyAsRead,\n useMarkAllAsAcknowledged,\n useStyleOptions: useStyleOptions5\n} = hooks27;\nvar ROOT_STYLE5 = {\n \"&.webchat__basic-transcript\": {\n display: \"flex\",\n flexDirection: \"column\",\n overflow: \"hidden\",\n // Make sure to set \"position: relative\" here to form another stacking context for the scroll-to-end button.\n // Stacking context help isolating elements that use \"z-index\" from global pollution.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Positioning/Understanding_z_index/The_stacking_context\n position: \"relative\",\n \"& .webchat__basic-transcript__filler\": {\n flex: 1\n },\n \"& .webchat__basic-transcript__scrollable\": {\n display: \"flex\",\n flexDirection: \"column\",\n overflowX: \"hidden\",\n WebkitOverflowScrolling: \"touch\"\n },\n \"& .webchat__basic-transcript__transcript\": {\n listStyleType: \"none\"\n }\n }\n};\nvar InternalTranscript = forwardRef3(\n ({ activityElementMapRef, className }, ref) => {\n const [{ basicTranscript: basicTranscriptStyleSet }] = useStyleSet();\n const [{ bubbleFromUserNubOffset, bubbleNubOffset, groupTimestamp, showAvatarInGroup }] = useStyleOptions5();\n const [activeDescendantId] = useActiveDescendantId();\n const [activityWithRendererTree] = useActivityTreeWithRenderer();\n const [direction] = useDirection7();\n const [focusedActivityKey] = useFocusedActivityKey();\n const [focusedExplicitly] = useFocusedExplicitly();\n const createAvatarRenderer = useCreateAvatarRenderer();\n const focus = useFocus();\n const focusByActivityKey = useFocusByActivityKey();\n const focusRelativeActivity = useFocusRelativeActivity();\n const getActivityByKey = useGetActivityByKey2();\n const getKeyByActivity = useGetKeyByActivity5();\n const getKeyByActivityId = useGetKeyByActivityId();\n const localize2 = useLocalizer14();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE5) + \"\";\n const rootElementRef = useRef11();\n const terminatorLabelId = useUniqueId(\"webchat__basic-transcript__terminator-label\");\n const terminatorRef = useRef11();\n const focusedActivityKeyRef = useValueRef(focusedActivityKey);\n const hideAllTimestamps = groupTimestamp === false;\n const terminatorText = localize2(\"TRANSCRIPT_TERMINATOR_TEXT\");\n const transcriptAriaLabel = localize2(\"TRANSCRIPT_ARIA_LABEL_ALT\");\n const callbackRef = useCallback14(\n (element) => {\n if (typeof ref === \"function\") {\n ref(element);\n } else {\n ref.current = element;\n }\n rootElementRef.current = element;\n },\n [ref, rootElementRef]\n );\n const createAvatarRendererMemoized = useMemoized(\n (activity) => createAvatarRenderer({ activity }),\n [createAvatarRenderer]\n );\n const renderingElements = useMemo18(() => {\n const renderingElements2 = [];\n const topSideBotNub = isZeroOrPositive(bubbleNubOffset);\n const topSideUserNub = isZeroOrPositive(bubbleFromUserNubOffset);\n activityWithRendererTree.forEach((entriesWithSameSender) => {\n const [[{ activity: firstActivity }]] = entriesWithSameSender;\n const renderAvatar = createAvatarRendererMemoized(firstActivity);\n entriesWithSameSender.forEach((entriesWithSameSenderAndStatus, indexWithinSenderGroup) => {\n const firstInSenderGroup = !indexWithinSenderGroup;\n const lastInSenderGroup = indexWithinSenderGroup === entriesWithSameSender.length - 1;\n entriesWithSameSenderAndStatus.forEach(({ activity, renderActivity }, indexWithinSenderAndStatusGroup) => {\n const firstInSenderAndStatusGroup = !indexWithinSenderAndStatusGroup;\n const key = getKeyByActivity(activity);\n const lastInSenderAndStatusGroup = indexWithinSenderAndStatusGroup === entriesWithSameSenderAndStatus.length - 1;\n const topSideNub = activity.from?.role === \"user\" ? topSideUserNub : topSideBotNub;\n let showCallout;\n if (showAvatarInGroup === \"sender\") {\n if (topSideNub) {\n showCallout = firstInSenderGroup && firstInSenderAndStatusGroup;\n } else {\n showCallout = lastInSenderGroup && lastInSenderAndStatusGroup;\n }\n } else if (showAvatarInGroup === \"status\") {\n if (topSideNub) {\n showCallout = firstInSenderAndStatusGroup;\n } else {\n showCallout = lastInSenderAndStatusGroup;\n }\n } else {\n showCallout = true;\n }\n renderingElements2.push(\n /* @__PURE__ */ React29.createElement(\n TranscriptActivity_default,\n {\n activity,\n activityElementMapRef,\n activityKey: key,\n hideTimestamp: hideAllTimestamps || indexWithinSenderAndStatusGroup !== entriesWithSameSenderAndStatus.length - 1,\n key,\n renderActivity,\n renderAvatar,\n showCallout\n }\n )\n );\n });\n });\n });\n return renderingElements2;\n }, [\n activityElementMapRef,\n activityWithRendererTree,\n bubbleFromUserNubOffset,\n bubbleNubOffset,\n createAvatarRendererMemoized,\n getKeyByActivity,\n hideAllTimestamps,\n showAvatarInGroup\n ]);\n const scrollToBottomScrollTo = useScrollTo();\n const scrollToBottomScrollToEnd = useScrollToEnd();\n const scrollTo = useCallback14(\n (position, { behavior = \"auto\" } = {}) => {\n if (!position) {\n throw new Error(\n 'botframework-webchat: First argument passed to \"useScrollTo\" must be a ScrollPosition object.'\n );\n }\n const { activityID: activityId, scrollTop } = position;\n if (typeof scrollTop !== \"undefined\") {\n scrollToBottomScrollTo(scrollTop, { behavior });\n } else if (typeof activityId !== \"undefined\") {\n const activityBoundingBoxElement = activityElementMapRef.current.get(getKeyByActivityId(activityId))?.querySelector(\".webchat__basic-transcript__activity-active-descendant\");\n const scrollableElement = rootElementRef.current.querySelector(\".webchat__basic-transcript__scrollable\");\n if (scrollableElement && activityBoundingBoxElement) {\n const activityBoundingBoxElementClientRect = activityBoundingBoxElement.getClientRects()[0];\n const scrollableElementClientRect = scrollableElement.getClientRects()[0];\n if (activityBoundingBoxElementClientRect && scrollableElementClientRect) {\n const { height: activityHeight, y: activityY } = activityBoundingBoxElementClientRect;\n const { height: scrollableHeight } = scrollableElementClientRect;\n const activityOffsetTop = activityY + scrollableElement.scrollTop;\n const scrollTop2 = Math.min(activityOffsetTop, activityOffsetTop - scrollableHeight + activityHeight);\n scrollToBottomScrollTo(scrollTop2, { behavior });\n }\n }\n }\n },\n [activityElementMapRef, getKeyByActivityId, rootElementRef, scrollToBottomScrollTo]\n );\n const scrollToEnd = useCallback14(\n () => scrollToBottomScrollToEnd({ behavior: \"smooth\" }),\n [scrollToBottomScrollToEnd]\n );\n const scrollRelative = useCallback14(\n ({ direction: direction2, displacement }) => {\n const { current: rootElement } = rootElementRef;\n if (!rootElement) {\n return;\n }\n const scrollable = rootElement.querySelector(\".webchat__basic-transcript__scrollable\");\n let nextScrollTop;\n if (typeof displacement === \"number\") {\n nextScrollTop = scrollable.scrollTop + (direction2 === \"down\" ? 1 : -1) * displacement;\n } else {\n nextScrollTop = scrollable.scrollTop + (direction2 === \"down\" ? 1 : -1) * scrollable.offsetHeight;\n }\n scrollTo(\n {\n scrollTop: Math.max(0, Math.min(scrollable.scrollHeight - scrollable.offsetHeight, nextScrollTop))\n },\n { behavior: \"smooth\" }\n );\n },\n [rootElementRef, scrollTo]\n );\n useRegisterScrollTo(scrollTo);\n useRegisterScrollTo2(scrollToEnd);\n useRegisterScrollRelativeTranscript(scrollRelative);\n const markActivityKeyAsRead = useMarkActivityKeyAsRead();\n const dispatchScrollPositionWithActivityId = useDispatchScrollPosition();\n const handleScrollPosition = useCallback14(\n ({ scrollTop }) => {\n const { current: rootElement } = rootElementRef;\n if (!rootElement) {\n return;\n }\n const scrollableElement = rootElement.querySelector(\".webchat__basic-transcript__scrollable\");\n const scrollableElementClientRect = scrollableElement.getClientRects()[0];\n if (!scrollableElementClientRect) {\n return;\n }\n const { bottom: scrollableClientBottom } = scrollableElementClientRect;\n const activityElements = Array.from(activityElementMapRef.current.entries());\n const activityKeyJustAboveScrollBottom = (scrollableElement.scrollTop ? activityElements.reverse().find(([, element]) => {\n const elementClientRect = element.getClientRects()[0];\n return elementClientRect && elementClientRect.bottom < scrollableClientBottom + 1;\n }) : activityElements[0])?.[0];\n activityKeyJustAboveScrollBottom && markActivityKeyAsRead(activityKeyJustAboveScrollBottom);\n if (dispatchScrollPositionWithActivityId) {\n const activity = getActivityByKey(activityKeyJustAboveScrollBottom);\n dispatchScrollPositionWithActivityId({ ...activity ? { activityID: activity.id } : {}, scrollTop });\n }\n },\n [\n activityElementMapRef,\n dispatchScrollPositionWithActivityId,\n getActivityByKey,\n markActivityKeyAsRead,\n rootElementRef\n ]\n );\n useObserveScrollPosition(handleScrollPosition);\n const handleTranscriptKeyDown = useCallback14(\n (event) => {\n const { target } = event;\n const fromEndOfTranscriptIndicator = target === terminatorRef.current;\n const fromTranscript = target === event.currentTarget;\n if (!fromEndOfTranscriptIndicator && !fromTranscript) {\n return;\n }\n let handled = true;\n switch (event.key) {\n case \"ArrowDown\":\n focusRelativeActivity(fromEndOfTranscriptIndicator ? 0 : 1);\n break;\n case \"ArrowUp\":\n focusRelativeActivity(fromEndOfTranscriptIndicator ? 0 : -1);\n break;\n case \"End\":\n focusRelativeActivity(Infinity);\n break;\n case \"Enter\":\n if (!fromEndOfTranscriptIndicator) {\n const activityFocusTrapTarget = activityElementMapRef.current.get(focusedActivityKeyRef.current)?.querySelector(\".webchat__basic-transcript__activity-focus-target\");\n activityFocusTrapTarget?.focus();\n }\n break;\n case \"Escape\":\n focus(\"sendBoxWithoutKeyboard\");\n break;\n case \"Home\":\n focusRelativeActivity(-Infinity);\n break;\n default:\n handled = false;\n break;\n }\n if (handled) {\n event.preventDefault();\n event.stopPropagation();\n }\n },\n [activityElementMapRef, focus, focusedActivityKeyRef, focusRelativeActivity, terminatorRef]\n );\n const handleTranscriptKeyDownCapture = useCallback14(\n (event) => {\n const { altKey, ctrlKey, key, metaKey, target } = event;\n if (altKey || ctrlKey && key !== \"v\" || metaKey || !inputtableKey(key) && key !== \"Backspace\") {\n return;\n }\n if (target === event.currentTarget || target === terminatorRef.current) {\n event.stopPropagation();\n focus(\"sendBox\");\n }\n },\n [focus]\n );\n useRegisterFocusTranscript(useCallback14(() => focusByActivityKey(void 0), [focusByActivityKey]));\n const dispatchTranscriptFocusByActivityKey = useDispatchTranscriptFocusByActivityKey();\n useMemo18(\n () => dispatchTranscriptFocusByActivityKey(focusedExplicitly ? focusedActivityKey : void 0),\n [dispatchTranscriptFocusByActivityKey, focusedActivityKey, focusedExplicitly]\n );\n const handleFocus = useCallback14(\n // We call \"focusByActivityKey\" with activity key of \"true\".\n // It means, tries to focus on anything.\n ({ currentTarget, target }) => target === currentTarget && focusByActivityKey(true, false),\n [focusByActivityKey]\n );\n const handleFocusFiller = useCallback14(() => focusByActivityKey(void 0), [focusByActivityKey]);\n useObserveFocusVisible(\n rootElementRef,\n useCallback14(() => focusByActivityKey(void 0), [focusByActivityKey])\n );\n return /* @__PURE__ */ React29.createElement(\n \"div\",\n {\n \"aria-activedescendant\": android ? void 0 : activeDescendantId,\n \"aria-label\": transcriptAriaLabel,\n className: classNames10(\n \"webchat__basic-transcript\",\n basicTranscriptStyleSet + \"\",\n rootClassName,\n (className || \"\") + \"\"\n ),\n dir: direction,\n onFocus: handleFocus,\n onKeyDown: handleTranscriptKeyDown,\n onKeyDownCapture: handleTranscriptKeyDownCapture,\n ref: callbackRef,\n role: \"group\",\n tabIndex: 0\n },\n /* @__PURE__ */ React29.createElement(LiveRegionTranscript_default, { activityElementMapRef }),\n /* @__PURE__ */ React29.createElement(InternalTranscriptScrollable, { onFocusFiller: handleFocusFiller, terminatorRef }, renderingElements),\n !!renderingElements.length && /* @__PURE__ */ React29.createElement(Fragment6, null, /* @__PURE__ */ React29.createElement(FocusRedirector_default, { redirectRef: rootElementRef }), /* @__PURE__ */ React29.createElement(\n \"div\",\n {\n \"aria-labelledby\": terminatorLabelId,\n className: \"webchat__basic-transcript__terminator\",\n ref: terminatorRef,\n role: \"note\",\n tabIndex: 0\n },\n /* @__PURE__ */ React29.createElement(\"div\", { className: \"webchat__basic-transcript__terminator-body\" }, /* @__PURE__ */ React29.createElement(\"div\", { className: \"webchat__basic-transcript__terminator-text\", id: terminatorLabelId }, terminatorText))\n )),\n /* @__PURE__ */ React29.createElement(\"div\", { className: \"webchat__basic-transcript__focus-indicator\" })\n );\n }\n);\nInternalTranscript.defaultProps = {\n className: \"\"\n};\nInternalTranscript.displayName = \"InternalTranscript\";\nInternalTranscript.propTypes = {\n // PropTypes cannot validate precisely with its TypeScript counterpart.\n // @ts-ignore\n activityElementMapRef: PropTypes17.shape({\n current: PropTypes17.instanceOf(Map)\n }).isRequired,\n className: PropTypes17.string\n};\nvar InternalTranscriptScrollable = ({\n children,\n onFocusFiller,\n terminatorRef\n}) => {\n const [{ activities: activitiesStyleSet }] = useStyleSet();\n const [animatingToEnd] = useAnimatingToEnd();\n const [atEnd] = useAtEnd();\n const [, unreadActivityKeys] = useActivityKeysByRead2();\n const [sticky] = useSticky();\n const [styleOptions] = useStyleOptions5();\n const focusByActivityKey = useFocusByActivityKey();\n const localize2 = useLocalizer14();\n const markActivityKeyAsRead = useMarkActivityKeyAsRead();\n const markAllAsAcknowledged = useMarkAllAsAcknowledged();\n const scrollToEnd = useScrollToEnd();\n const prevSticky = usePrevious(sticky);\n const transcriptRoleDescription = localize2(\"TRANSCRIPT_ARIA_ROLE_ALT\");\n const stickyChangedToTrue = prevSticky !== sticky && sticky;\n useMemo18(\n () => stickyChangedToTrue && // TODO: [P2] Both `markActivityKeyAsRead` and `markAllAsAcknowledged` hook are setters of useState.\n // This means, in a render loop, we will be calling setter and will cause another re-render.\n // This is not trivial but we should think if there is a way to avoid this.\n markAllAsAcknowledged(),\n [markAllAsAcknowledged, stickyChangedToTrue]\n );\n const [flattenedActivityTreeWithRenderer] = useActivityTreeWithRenderer({ flat: true });\n const getKeyByActivity = useGetKeyByActivity5();\n const renderingActivityKeys = useMemo18(\n () => flattenedActivityTreeWithRenderer.map(({ activity }) => getKeyByActivity(activity)),\n [flattenedActivityTreeWithRenderer, getKeyByActivity]\n );\n const renderingActivityKeysRef = useValueRef(renderingActivityKeys);\n const nextUnreadActivityKeys = useMemo18(() => {\n if (sticky && unreadActivityKeys.length) {\n markActivityKeyAsRead(unreadActivityKeys[unreadActivityKeys.length - 1]);\n return [];\n }\n return unreadActivityKeys;\n }, [markActivityKeyAsRead, sticky, unreadActivityKeys]);\n const nextUnreadActivityKeysRef = useValueRef(nextUnreadActivityKeys);\n const unread = useMemo18(\n () => nextUnreadActivityKeys.some((key) => renderingActivityKeys.includes(key)),\n [renderingActivityKeys, nextUnreadActivityKeys]\n );\n const handleScrollToEndButtonClick = useCallback14(() => {\n scrollToEnd({ behavior: \"smooth\" });\n const { current: renderingActivityKeys2 } = renderingActivityKeysRef;\n const firstUnreadRenderingActivityKey = nextUnreadActivityKeysRef.current.find(\n (key) => renderingActivityKeys2.includes(key)\n );\n if (firstUnreadRenderingActivityKey) {\n focusByActivityKey(firstUnreadRenderingActivityKey);\n } else {\n terminatorRef.current?.focus();\n }\n }, [focusByActivityKey, nextUnreadActivityKeysRef, renderingActivityKeysRef, scrollToEnd, terminatorRef]);\n const renderScrollToEndButton = useCreateScrollToEndButtonRenderer()({\n atEnd: animatingToEnd || atEnd || sticky,\n styleOptions,\n unread\n });\n const hasAnyChild = !!React29.Children.count(children);\n return /* @__PURE__ */ React29.createElement(React29.Fragment, null, renderScrollToEndButton && renderScrollToEndButton({ onClick: handleScrollToEndButtonClick }), hasAnyChild && /* @__PURE__ */ React29.createElement(FocusRedirector_default, { redirectRef: terminatorRef }), /* @__PURE__ */ React29.createElement(ReactScrollToBottomPanel, { className: \"webchat__basic-transcript__scrollable\" }, /* @__PURE__ */ React29.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__basic-transcript__filler\", onFocus: onFocusFiller }), hasAnyChild && /* @__PURE__ */ React29.createElement(\n \"section\",\n {\n \"aria-roledescription\": transcriptRoleDescription,\n className: classNames10(activitiesStyleSet + \"\", \"webchat__basic-transcript__transcript\"),\n role: \"feed\"\n },\n children\n ), /* @__PURE__ */ React29.createElement(BasicTypingIndicator_default, null)));\n};\nInternalTranscriptScrollable.propTypes = {\n children: PropTypes17.any.isRequired,\n onFocusFiller: PropTypes17.func.isRequired,\n terminatorRef: PropTypes17.any.isRequired\n};\nvar useScroller = (activityElementMapRef) => {\n const [activityKeys] = useActivityKeys();\n const [lastAcknowledgedActivityKey] = useLastAcknowledgedActivityKey();\n const [styleOptions] = useStyleOptions5();\n const activityKeysRef = useValueRef(activityKeys);\n const lastAcknowledgedActivityKeyRef = useValueRef(lastAcknowledgedActivityKey);\n const styleOptionsRef = useValueRef(styleOptions);\n return useCallback14(\n ({ offsetHeight, scrollTop }) => {\n const {\n current: {\n autoScrollSnapOnActivity,\n autoScrollSnapOnActivityOffset,\n autoScrollSnapOnPage,\n autoScrollSnapOnPageOffset\n }\n } = styleOptionsRef;\n const patchedAutoScrollSnapOnActivity = typeof autoScrollSnapOnActivity === \"number\" ? Math.max(0, autoScrollSnapOnActivity) : autoScrollSnapOnActivity ? 1 : 0;\n const patchedAutoScrollSnapOnPage = typeof autoScrollSnapOnPage === \"number\" ? Math.max(0, Math.min(1, autoScrollSnapOnPage)) : autoScrollSnapOnPage ? 1 : 0;\n const patchedAutoScrollSnapOnActivityOffset = typeof autoScrollSnapOnActivityOffset === \"number\" ? autoScrollSnapOnActivityOffset : 0;\n const patchedAutoScrollSnapOnPageOffset = typeof autoScrollSnapOnPageOffset === \"number\" ? autoScrollSnapOnPageOffset : 0;\n if (patchedAutoScrollSnapOnActivity || patchedAutoScrollSnapOnPage) {\n const { current: activityElementMap } = activityElementMapRef;\n const { current: activityKeys2 } = activityKeysRef;\n const { current: lastAcknowledgedActivityKey2 } = lastAcknowledgedActivityKeyRef;\n const values = [];\n const lastAcknowledgedActivityKeyIndex = activityKeys2.indexOf(lastAcknowledgedActivityKey2);\n if (~lastAcknowledgedActivityKeyIndex) {\n const renderingActivityKeys = Array.from(activityElementMap.keys());\n let firstUnacknowledgedActivityElementIndex = -1;\n for (const acknowledgedActivityKey of activityKeys2.slice(0, lastAcknowledgedActivityKeyIndex + 1).reverse()) {\n const index = renderingActivityKeys.indexOf(acknowledgedActivityKey);\n if (~index) {\n if (index !== renderingActivityKeys.length - 1) {\n firstUnacknowledgedActivityElementIndex = index + 1;\n }\n break;\n }\n }\n if (~firstUnacknowledgedActivityElementIndex) {\n const activityElements = Array.from(activityElementMap.values());\n if (patchedAutoScrollSnapOnActivity) {\n const nthUnacknowledgedActivityElement = activityElements[firstUnacknowledgedActivityElementIndex + patchedAutoScrollSnapOnActivity - 1];\n if (nthUnacknowledgedActivityElement) {\n const nthUnacknowledgedActivityBoundingBoxElement = nthUnacknowledgedActivityElement?.querySelector(\n \".webchat__basic-transcript__activity-active-descendant\"\n );\n const nthUnacknowledgedActivityOffsetTop = nthUnacknowledgedActivityElement.offsetTop + nthUnacknowledgedActivityBoundingBoxElement.offsetTop;\n values.push(\n nthUnacknowledgedActivityOffsetTop + nthUnacknowledgedActivityBoundingBoxElement.offsetHeight - offsetHeight - scrollTop + patchedAutoScrollSnapOnActivityOffset\n );\n }\n }\n if (patchedAutoScrollSnapOnPage) {\n const firstUnacknowledgedActivityElement = activityElements[+firstUnacknowledgedActivityElementIndex];\n const firstUnacknowledgedActivityBoundingBoxElement = firstUnacknowledgedActivityElement.querySelector(\n \".webchat__basic-transcript__activity-active-descendant\"\n );\n const firstUnacknowledgedActivityOffsetTop = firstUnacknowledgedActivityElement.offsetTop + firstUnacknowledgedActivityBoundingBoxElement.offsetTop;\n values.push(\n firstUnacknowledgedActivityOffsetTop - scrollTop - offsetHeight * (1 - patchedAutoScrollSnapOnPage) + patchedAutoScrollSnapOnPageOffset\n );\n }\n }\n }\n return Math.min(...values);\n }\n return Infinity;\n },\n [activityElementMapRef, activityKeysRef, lastAcknowledgedActivityKeyRef, styleOptionsRef]\n );\n};\nvar BasicTranscript = ({ className }) => {\n const activityElementMapRef = useRef11(/* @__PURE__ */ new Map());\n const containerRef = useRef11();\n const [nonce] = useNonce();\n const scroller = useScroller(activityElementMapRef);\n const [{ stylesRoot }] = useStyleOptions5();\n const styleOptions = useMemo18(() => ({ stylesRoot }), [stylesRoot]);\n return /* @__PURE__ */ React29.createElement(TranscriptFocusComposer_default, { containerRef }, /* @__PURE__ */ React29.createElement(ReactScrollToBottomComposer, { nonce, scroller, styleOptions }, /* @__PURE__ */ React29.createElement(InternalTranscript, { activityElementMapRef, className, ref: containerRef })));\n};\nBasicTranscript.defaultProps = {\n className: \"\"\n};\nBasicTranscript.propTypes = {\n className: PropTypes17.string\n};\nvar BasicTranscript_default = memo10(BasicTranscript);\n\n// src/Utils/AccessKeySink/Surface.js\nimport PropTypes18 from \"prop-types\";\nimport React30, { useCallback as useCallback15, useRef as useRef12 } from \"react\";\n\n// src/Utils/TypeFocusSink/getTabIndex.ts\nvar {\n navigator: { userAgent: userAgent2 }\n} = window;\nvar IE_FOCUSABLE_LIST = [\n \"a\",\n \"body\",\n \"button\",\n \"frame\",\n \"iframe\",\n \"img\",\n \"input\",\n \"isindex\",\n \"object\",\n \"select\",\n \"textarea\"\n];\nvar IS_FIREFOX = /Firefox\\//iu.test(userAgent2);\nvar IS_IE = /Trident\\//iu.test(userAgent2);\nfunction getTabIndex(element) {\n const { tabIndex } = element;\n if (IS_IE) {\n const tabIndexAttribute = element.attributes.getNamedItem(\"tabindex\");\n if (!tabIndexAttribute || !tabIndexAttribute.specified) {\n return ~IE_FOCUSABLE_LIST.indexOf(element.nodeName.toLowerCase()) ? 0 : null;\n }\n } else if (!~tabIndex) {\n const attr = element.getAttribute(\"tabindex\");\n if (attr === null || attr === \"\" && !IS_FIREFOX) {\n return null;\n }\n }\n return tabIndex;\n}\n\n// src/Utils/firstTabbableDescendant.js\nvar ALWAYS_TRUE_FN = () => true;\nvar SELECTOR = \"a[href], audio, button, details, details summary, embed, iframe, input, object, rect, select, svg[focusable], textarea, video, [tabindex]\";\nfunction firstTabbableDescendant(element, filter = ALWAYS_TRUE_FN) {\n if (!element) {\n return;\n }\n const focusables = [].filter.call(element.querySelectorAll(SELECTOR), filter);\n return [].find.call(focusables, (focusable) => {\n const tabIndex = getTabIndex(focusable);\n return typeof tabIndex === \"number\" && tabIndex >= 0;\n });\n}\nfunction orSelf(element) {\n if (!element) {\n return;\n }\n if ((element.matches || element[\"msMatchesSelector\"]).call(element, SELECTOR)) {\n return element;\n }\n return firstTabbableDescendant(element);\n}\n\n// src/Utils/AccessKeySink/internal/Context.js\nimport { createContext as createContext5 } from \"react\";\nvar AccessKeySinkContext = createContext5();\nvar Context_default4 = AccessKeySinkContext;\n\n// src/Utils/AccessKeySink/Surface.js\nvar Surface = ({ children, ...otherProps }) => {\n const [{ apple }] = useNavigatorPlatform();\n const contextRef = useRef12({ focii: [] });\n const handleKeyUp = useCallback15(\n (event) => {\n const { altKey, ctrlKey, key, shiftKey } = event;\n if (altKey && (apple ? ctrlKey : shiftKey)) {\n const focii = contextRef.current.focii.filter((entry) => entry.keys.includes(key));\n const currentFocus = focii.findIndex(\n ({ ref: { current } }) => current === document.activeElement || current.contains(document.activeElement)\n );\n const nextFocus = focii[(currentFocus + 1) % focii.length];\n if (nextFocus) {\n event.preventDefault();\n event.stopPropagation();\n const tabbable = orSelf(nextFocus.ref.current);\n tabbable && tabbable.focus();\n }\n }\n },\n [apple]\n );\n return /* @__PURE__ */ React30.createElement(Context_default4.Provider, { value: contextRef.current }, /* @__PURE__ */ React30.createElement(\"div\", { onKeyUp: handleKeyUp, ...otherProps }, children));\n};\nSurface.defaultProps = {\n children: void 0\n};\nSurface.propTypes = {\n children: PropTypes18.any\n};\nvar Surface_default = Surface;\n\n// src/BasicWebChat.tsx\nvar { useStyleOptions: useStyleOptions6 } = hooks28;\nvar ROOT_STYLE6 = {\n display: \"flex\",\n flexDirection: \"column\"\n};\nvar CONNECTIVITY_STATUS_STYLE = {\n flexShrink: 0\n};\nvar SEND_BOX_CSS = {\n flexShrink: 0\n};\nvar TOASTER_STYLE = {\n flexShrink: 0\n};\nvar TRANSCRIPT_STYLE = {\n flex: 1\n};\nvar ARIA_LANDMARK_ROLES = [\"complementary\", \"contentinfo\", \"form\", \"main\", \"region\"];\nvar BasicWebChat = ({ className, role }) => {\n const [{ root: rootStyleSet }] = useStyleSet();\n const [options] = useStyleOptions6();\n const styleToEmotionObject = useStyleToEmotionObject();\n const connectivityStatusClassName = styleToEmotionObject(CONNECTIVITY_STATUS_STYLE) + \"\";\n const rootClassName = styleToEmotionObject(ROOT_STYLE6) + \"\";\n const sendBoxClassName = styleToEmotionObject(SEND_BOX_CSS) + \"\";\n const toasterClassName = styleToEmotionObject(TOASTER_STYLE) + \"\";\n const transcriptClassName = styleToEmotionObject(TRANSCRIPT_STYLE) + \"\";\n if (!ARIA_LANDMARK_ROLES.includes(role)) {\n role = \"complementary\";\n }\n return /* @__PURE__ */ React31.createElement(\n Surface_default,\n {\n className: classNames11(\"webchat__surface\", rootClassName, rootStyleSet + \"\", (className || \"\") + \"\"),\n role\n },\n !options.hideToaster && /* @__PURE__ */ React31.createElement(BasicToaster_default, { className: toasterClassName }),\n /* @__PURE__ */ React31.createElement(BasicTranscript_default, { className: transcriptClassName }),\n /* @__PURE__ */ React31.createElement(BasicConnectivityStatus_default, { className: connectivityStatusClassName }),\n /* @__PURE__ */ React31.createElement(SendBoxMiddlewareProxy, { className: sendBoxClassName, request: void 0 })\n );\n};\nBasicWebChat.defaultProps = {\n className: \"\",\n role: \"complementary\"\n};\nBasicWebChat.propTypes = {\n className: PropTypes19.string,\n // Ignoring deficiencies with TypeScript/PropTypes inference.\n // @ts-ignore\n role: PropTypes19.oneOf(ARIA_LANDMARK_ROLES)\n};\nvar BasicWebChat_default = BasicWebChat;\n\n// src/Composer.tsx\nimport {\n Composer as APIComposer,\n hooks as hooks84,\n initSendBoxMiddleware,\n initSendBoxToolbarMiddleware\n} from \"botframework-webchat-api\";\nimport { DecoratorComposer } from \"botframework-webchat-api/decorator\";\nimport { singleToArray } from \"botframework-webchat-core\";\nimport classNames57 from \"classnames\";\nimport MarkdownIt from \"markdown-it\";\nimport PropTypes58 from \"prop-types\";\nimport React129, { memo as memo47, useCallback as useCallback48, useMemo as useMemo40, useRef as useRef28, useState as useState14 } from \"react\";\nimport { Composer as SayComposer } from \"react-say\";\n\n// src/Attachment/createMiddleware.tsx\nimport React77 from \"react\";\n\n// src/Attachment/AudioAttachment.js\nimport PropTypes21 from \"prop-types\";\nimport React33 from \"react\";\n\n// src/Attachment/AudioContent.tsx\nimport PropTypes20 from \"prop-types\";\nimport React32 from \"react\";\nvar AudioContent = ({ alt, autoPlay, loop, src }) => {\n const [{ audioContent: audioContentStyleSet }] = useStyleSet();\n return /* @__PURE__ */ React32.createElement(\n \"audio\",\n {\n \"aria-label\": alt,\n autoPlay,\n className: audioContentStyleSet,\n controls: true,\n loop,\n src\n }\n );\n};\nAudioContent.defaultProps = {\n alt: \"\",\n autoPlay: false,\n loop: false,\n poster: \"\"\n};\nAudioContent.propTypes = {\n alt: PropTypes20.string,\n autoPlay: PropTypes20.bool,\n loop: PropTypes20.bool,\n // We will keep the \"poster\" prop for #3315.\n // eslint-disable-next-line react/no-unused-prop-types\n poster: PropTypes20.string,\n src: PropTypes20.string.isRequired\n};\nvar AudioContent_default = AudioContent;\n\n// src/Attachment/AudioAttachment.js\nvar AudioAttachment = ({ attachment }) => {\n const [{ audioAttachment: audioAttachmentStyleSet }] = useStyleSet();\n return /* @__PURE__ */ React33.createElement(\"div\", { className: audioAttachmentStyleSet }, /* @__PURE__ */ React33.createElement(AudioContent_default, { alt: attachment.name, src: attachment.contentUrl }));\n};\nAudioAttachment.propTypes = {\n attachment: PropTypes21.shape({\n contentUrl: PropTypes21.string.isRequired,\n name: PropTypes21.string\n }).isRequired\n};\nvar AudioAttachment_default = AudioAttachment;\n\n// src/Attachment/FileAttachment.js\nimport PropTypes24 from \"prop-types\";\nimport React36 from \"react\";\n\n// src/Attachment/FileContent.tsx\nimport { hooks as hooks29 } from \"botframework-webchat-api\";\nimport classNames12 from \"classnames\";\nimport PropTypes23 from \"prop-types\";\nimport React35 from \"react\";\n\n// src/Attachment/Assets/DownloadIcon.js\nimport PropTypes22 from \"prop-types\";\nimport React34 from \"react\";\nvar ICON_SIZE_FACTOR3 = 22;\nvar DownloadIcon = ({ className, size }) => /* @__PURE__ */ React34.createElement(\n \"svg\",\n {\n className,\n focusable: false,\n height: ICON_SIZE_FACTOR3 * size,\n role: \"presentation\",\n viewBox: \"0 0 31.8 46\",\n width: ICON_SIZE_FACTOR3 * size\n },\n /* @__PURE__ */ React34.createElement(\"path\", { d: \"M26.8,23.8l-10.9,11L5,23.8l1.6-1.6l8.2,8.3V5H17v25.5l8.2-8.3L26.8,23.8z M5.8,41v-2.2H26V41H5.8z\" })\n);\nDownloadIcon.defaultProps = {\n className: \"\",\n size: 1\n};\nDownloadIcon.propTypes = {\n className: PropTypes22.string,\n size: PropTypes22.number\n};\nvar DownloadIcon_default = DownloadIcon;\n\n// src/Attachment/FileContent.tsx\nvar { useByteFormatter, useDirection: useDirection8, useLocalizer: useLocalizer15 } = hooks29;\nvar ROOT_STYLE7 = {\n display: \"flex\",\n \"& .webchat__fileContent__buttonLink\": {\n display: \"flex\",\n flex: 1\n },\n \"& .webchat__fileContent__badge\": {\n display: \"flex\",\n flex: 1,\n flexDirection: \"column\"\n }\n};\nvar ALLOWED_PROTOCOLS = [\"blob:\", \"data:\", \"http:\", \"https:\"];\nfunction isAllowedProtocol(url) {\n try {\n return ALLOWED_PROTOCOLS.includes(new URL(url).protocol);\n } catch (err) {\n return false;\n }\n}\nvar FileContentBadge = ({ downloadIcon, fileName, size }) => {\n const [direction] = useDirection8();\n const formatByte = useByteFormatter();\n const localizedSize = typeof size === \"number\" && formatByte(size);\n return /* @__PURE__ */ React35.createElement(React35.Fragment, null, /* @__PURE__ */ React35.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__fileContent__badge\" }, /* @__PURE__ */ React35.createElement(\"div\", { className: \"webchat__fileContent__fileName\" }, fileName), !!localizedSize && /* @__PURE__ */ React35.createElement(\"div\", { className: \"webchat__fileContent__size\" }, localizedSize)), downloadIcon && /* @__PURE__ */ React35.createElement(\n DownloadIcon_default,\n {\n className: classNames12(\n \"webchat__fileContent__downloadIcon\",\n direction === \"rtl\" && \"webchat__fileContent__downloadIcon--rtl\"\n ),\n size: 1.5\n }\n ));\n};\nFileContentBadge.defaultProps = {\n downloadIcon: false,\n size: void 0\n};\nFileContentBadge.propTypes = {\n downloadIcon: PropTypes23.bool,\n fileName: PropTypes23.string.isRequired,\n size: PropTypes23.number\n};\nvar FileContent = ({ className, href, fileName, size }) => {\n const [{ fileContent: fileContentStyleSet }] = useStyleSet();\n const localize2 = useLocalizer15();\n const localizeBytes = useByteFormatter();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE7) + \"\";\n const localizedSize = typeof size === \"number\" && localizeBytes(size);\n href = href && isAllowedProtocol(href) ? href : void 0;\n const alt = localize2(\n href ? localizedSize ? \"FILE_CONTENT_DOWNLOADABLE_WITH_SIZE_ALT\" : \"FILE_CONTENT_DOWNLOADABLE_ALT\" : localizedSize ? \"FILE_CONTENT_WITH_SIZE_ALT\" : \"FILE_CONTENT_ALT\",\n fileName,\n localizedSize\n );\n return /* @__PURE__ */ React35.createElement(\n \"div\",\n {\n className: classNames12(\"webchat__fileContent\", rootClassName, fileContentStyleSet + \"\", (className || \"\") + \"\")\n },\n href ? /* @__PURE__ */ React35.createElement(\n \"a\",\n {\n \"aria-label\": alt,\n className: \"webchat__fileContent__buttonLink\",\n download: fileName,\n href,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n },\n /* @__PURE__ */ React35.createElement(FileContentBadge, { downloadIcon: true, fileName, size })\n ) : /* @__PURE__ */ React35.createElement(FileContentBadge, { downloadIcon: false, fileName, size })\n );\n};\nFileContent.defaultProps = {\n className: \"\",\n href: void 0,\n size: void 0\n};\nFileContent.propTypes = {\n className: PropTypes23.string,\n fileName: PropTypes23.string.isRequired,\n href: PropTypes23.string,\n size: PropTypes23.number\n};\nvar FileContent_default = FileContent;\n\n// src/Attachment/FileAttachment.js\nvar FileAttachment = ({\n activity: { attachments = [], channelData: { attachmentSizes = [] } = {} } = {},\n attachment\n}) => {\n const attachmentIndex = attachments.indexOf(attachment);\n const size = attachmentSizes[+attachmentIndex];\n return /* @__PURE__ */ React36.createElement(FileContent_default, { fileName: attachment.name, href: attachment.contentUrl, size });\n};\nFileAttachment.propTypes = {\n activity: PropTypes24.shape({\n attachment: PropTypes24.array,\n channelData: PropTypes24.shape({\n attachmentSizes: PropTypes24.arrayOf(PropTypes24.number)\n })\n }).isRequired,\n attachment: PropTypes24.shape({\n contentUrl: PropTypes24.string,\n name: PropTypes24.string.isRequired\n }).isRequired\n};\nvar FileAttachment_default = FileAttachment;\n\n// src/Attachment/ImageAttachment.js\nimport PropTypes25 from \"prop-types\";\nimport React39 from \"react\";\n\n// src/Attachment/ImageContent.tsx\nimport React38, { memo as memo12 } from \"react\";\n\n// src/Utils/FixedWidthImage.tsx\nimport classNames13 from \"classnames\";\nimport React37, { memo as memo11 } from \"react\";\n\n// src/Styles/CustomPropertyNames.ts\nvar CustomPropertyNames = Object.freeze({\n // Make sure key names does not have JavaScript forbidden names.\n BorderAnimationColor1: \"--webchat__border-animation--color-1\",\n BorderAnimationColor2: \"--webchat__border-animation--color-2\",\n BorderAnimationColor3: \"--webchat__border-animation--color-3\",\n ColorAccent: \"--webchat__color--accent\",\n ColorSubtle: \"--webchat__color--subtle\",\n ColorTimestamp: \"--webchat__color--timestamp\",\n FontPrimary: \"--webchat__font--primary\",\n FontSizeSmall: \"--webchat__font-size--small\",\n IconURLExternalLink: \"--webchat__icon-url--external-link\",\n MaxHeightImageBubble: \"--webchat__max-height--image-bubble\",\n MaxWidthAttachmentBubble: \"--webchat__max-width--attachment-bubble\",\n MinWidthAttachmentBubble: \"--webchat__min-width--attachment-bubble\",\n MaxWidthMessageBubble: \"--webchat__max-width--message-bubble\",\n MinWidthMessageBubble: \"--webchat__min-width--message-bubble\",\n MinHeightBubble: \"--webchat__min-height--bubble\",\n MinHeightImageBubble: \"--webchat__min-height--image-bubble\",\n PaddingRegular: \"--webchat__padding--regular\",\n SizeAvatar: \"--webchat__size--avatar\"\n});\nvar CustomPropertyNames_default = CustomPropertyNames;\n\n// src/Styles/CSSTokens.ts\nvar CSSTokens = new Proxy(\n {},\n {\n get(_2, key) {\n return `var(${CustomPropertyNames_default[key]})`;\n }\n }\n);\nvar CSSTokens_default = CSSTokens;\n\n// src/Utils/FixedWidthImage.tsx\nvar ROOT_STYLE8 = {\n \"&.webchat__fixed-width-image\": {\n display: \"flex\",\n justifyContent: \"center\",\n maxHeight: CSSTokens_default.MaxHeightImageBubble,\n minHeight: CSSTokens_default.MinHeightImageBubble,\n overflow: \"hidden\",\n position: \"relative\",\n \"& .webchat__fixed-width-image__filler\": {\n visibility: \"hidden\",\n width: \"100%\"\n },\n \"& .webchat__fixed-width-image__image\": {\n left: \"50%\",\n objectFit: \"cover\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n width: \"100%\"\n }\n }\n};\nvar FixedWidthImage = memo11(\n ({\n alt,\n className,\n src\n }) => /* @__PURE__ */ React37.createElement(\n \"div\",\n {\n className: classNames13(\n \"webchat__fixed-width-image\",\n useStyleToEmotionObject()(ROOT_STYLE8) + \"\",\n (className || \"\") + \"\"\n )\n },\n /* @__PURE__ */ React37.createElement(\"img\", { alt: \"\", className: \"webchat__fixed-width-image__filler\", role: \"none\", src }),\n /* @__PURE__ */ React37.createElement(\"img\", { alt, className: \"webchat__fixed-width-image__image\", src })\n )\n);\nFixedWidthImage.displayName = \"FixedWidthImage\";\nvar FixedWidthImage_default = FixedWidthImage;\n\n// src/Attachment/ImageContent.tsx\nvar ImageContent = memo12(\n ({\n alt,\n src\n }) => /* @__PURE__ */ React38.createElement(FixedWidthImage_default, { alt: alt || \"\", src })\n);\nvar ImageContent_default = ImageContent;\n\n// src/Utils/readDataURIToBlob.js\nimport { toByteArray } from \"base64-js\";\nvar PATTERN = /^data:([^,]*?)(;(base64)){0,1},([A-Za-z0-9+/=]+)/u;\nvar DEFAULT_CONTENT_TYPE = \"text/plain;charset=US-ASCII\";\nfunction parse(dataURI) {\n const match = PATTERN.exec(dataURI);\n if (!match) {\n return;\n }\n const [, contentType, , encoding, base64] = match;\n if (encoding !== \"base64\") {\n return;\n }\n return { base64, contentType: contentType || DEFAULT_CONTENT_TYPE, encoding };\n}\nfunction readDataURIToBlob(dataURI) {\n const parsed = parse(dataURI);\n if (!parsed) {\n return;\n }\n return new Blob([toByteArray(parsed.base64)], { type: parsed.contentType });\n}\n\n// src/Attachment/ImageAttachment.js\nvar ImageAttachment = ({ attachment }) => {\n let imageURL = attachment.thumbnailUrl || attachment.contentUrl;\n const blob = readDataURIToBlob(imageURL);\n if (blob) {\n imageURL = URL.createObjectURL(blob);\n }\n return /* @__PURE__ */ React39.createElement(ImageContent_default, { alt: attachment.name, src: imageURL });\n};\nImageAttachment.propTypes = {\n // Either attachment.contentUrl or attachment.thumbnailUrl must be specified.\n attachment: PropTypes25.oneOfType([\n PropTypes25.shape({\n contentUrl: PropTypes25.string.isRequired,\n name: PropTypes25.string,\n thumbnailUrl: PropTypes25.string\n }),\n PropTypes25.shape({\n contentUrl: PropTypes25.string,\n name: PropTypes25.string,\n thumbnailUrl: PropTypes25.string.isRequired\n })\n ]).isRequired\n};\nvar ImageAttachment_default = ImageAttachment;\n\n// src/Attachment/Text/TextAttachment.tsx\nimport React71, { memo as memo26 } from \"react\";\n\n// src/Attachment/Text/TextContent.tsx\nimport React70, { memo as memo25, useMemo as useMemo26 } from \"react\";\nimport classNames34 from \"classnames\";\nimport { hooks as hooks45 } from \"botframework-webchat-api\";\n\n// src/Attachment/Text/private/isAIGeneratedActivity.ts\nimport { getOrgSchemaMessage } from \"botframework-webchat-core\";\nfunction isAIGeneratedActivity(activity) {\n return !!(activity && getOrgSchemaMessage(activity?.entities || [])?.keywords?.includes(\"AIGeneratedContent\"));\n}\n\n// src/Attachment/Text/private/MarkdownTextContent.tsx\nimport { hooks as hooks44 } from \"botframework-webchat-api\";\nimport {\n getOrgSchemaMessage as getOrgSchemaMessage2,\n onErrorResumeNext,\n parseClaim\n} from \"botframework-webchat-core\";\nimport classNames32 from \"classnames\";\nimport { fromMarkdown } from \"mdast-util-from-markdown\";\nimport React68, { memo as memo23, useCallback as useCallback36, useMemo as useMemo25 } from \"react\";\nimport { useRefFrom as useRefFrom10 } from \"use-ref-from\";\n\n// src/LinkDefinition/LinkDefinitionItem.tsx\nimport React43, { memo as memo15, useCallback as useCallback16 } from \"react\";\nimport { useRefFrom as useRefFrom5 } from \"use-ref-from\";\n\n// src/LinkDefinition/private/ItemBody.tsx\nimport React42, { memo as memo14 } from \"react\";\n\n// src/LinkDefinition/private/Badge.tsx\nimport React40, { memo as memo13 } from \"react\";\nvar Badge = memo13(({ value }) => /* @__PURE__ */ React40.createElement(\"div\", { className: \"webchat__link-definitions__badge\" }, value));\nBadge.displayName = \"Badge\";\nvar Badge_default = Badge;\n\n// src/LinkDefinition/private/OpenInNewWindowIcon.tsx\nimport classNames14 from \"classnames\";\nimport React41 from \"react\";\nvar OpenInNewWindowIcon = ({ className }) => /* @__PURE__ */ React41.createElement(\n \"svg\",\n {\n className: classNames14(\"webchat__text-content__open-in-new-window-icon\", className),\n viewBox: \"3 3 18 18\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React41.createElement(\n \"path\",\n {\n d: \"M7.2501 4.50017H10.7495C11.1637 4.50017 11.4995 4.83596 11.4995 5.25017C11.4995 5.62986 11.2173 5.94366 10.8513 5.99332L10.7495 6.00017H7.24974C6.07079 5.99961 5.10349 6.90656 5.00786 8.06112L5.00028 8.22003L5.00312 16.7507C5.00343 17.9415 5.92885 18.9161 7.09966 18.9949L7.25371 19.0001L15.7518 18.9884C16.9415 18.9868 17.9145 18.062 17.9935 16.8923L17.9987 16.7384V13.2321C17.9987 12.8179 18.3345 12.4821 18.7487 12.4821C19.1284 12.4821 19.4422 12.7643 19.4918 13.1303L19.4987 13.2321V16.7384C19.4987 18.7407 17.9293 20.3769 15.9528 20.4829L15.7538 20.4884L7.25827 20.5001L7.05495 20.4949C5.14239 20.3954 3.60895 18.8627 3.50837 16.9502L3.50312 16.7511L3.50089 8.2527L3.50529 8.0502C3.60539 6.13749 5.13867 4.60449 7.05096 4.50527L7.2501 4.50017H10.7495H7.2501ZM13.7481 3.00146L20.3018 3.00197L20.4014 3.01575L20.5022 3.04393L20.559 3.06803C20.6122 3.09122 20.6634 3.12163 20.7111 3.15885L20.7804 3.22156L20.8641 3.32014L20.9183 3.41025L20.957 3.50057L20.9762 3.56476L20.9898 3.62862L20.9992 3.72282L20.9997 10.2554C20.9997 10.6696 20.6639 11.0054 20.2497 11.0054C19.87 11.0054 19.5562 10.7232 19.5065 10.3571L19.4997 10.2554L19.4989 5.56147L12.2797 12.7847C12.0134 13.051 11.5968 13.0753 11.3031 12.8575L11.219 12.7849C10.9527 12.5187 10.9284 12.1021 11.1462 11.8084L11.2188 11.7243L18.4369 4.50146H13.7481C13.3684 4.50146 13.0546 4.21931 13.005 3.85324L12.9981 3.75146C12.9981 3.37177 13.2803 3.05797 13.6464 3.00831L13.7481 3.00146Z\",\n fill: \"currentcolor\"\n }\n )\n);\nvar OpenInNewWindowIcon_default = OpenInNewWindowIcon;\n\n// src/LinkDefinition/private/ItemBody.tsx\nvar ItemBody = memo14(({ badgeName, badgeTitle, identifier, isExternal, text }) => /* @__PURE__ */ React42.createElement(\"div\", { className: \"webchat__link-definitions__list-item-body\" }, identifier ? /* @__PURE__ */ React42.createElement(Badge_default, { value: identifier }) : null, /* @__PURE__ */ React42.createElement(\"div\", { className: \"webchat__link-definitions__list-item-body-main\" }, /* @__PURE__ */ React42.createElement(\"div\", { className: \"webchat__link-definitions__list-item-main-text\" }, /* @__PURE__ */ React42.createElement(\"div\", { className: \"webchat__link-definitions__list-item-text\", title: text }, text), isExternal ? /* @__PURE__ */ React42.createElement(OpenInNewWindowIcon_default, { className: \"webchat__link-definitions__open-in-new-window-icon\" }) : null), badgeName && /* @__PURE__ */ React42.createElement(\"div\", { className: \"webchat__link-definitions__list-item-badge\", title: badgeTitle }, badgeName))));\nItemBody.displayName = \"ItemBody\";\nvar ItemBody_default = ItemBody;\n\n// src/LinkDefinition/private/extractHostnameWithSubdomain.ts\nfunction extractHostnameWithSubdomain(urlString) {\n try {\n const { host, port, protocol } = new URL(urlString);\n if (protocol === \"http:\" || protocol === \"https:\") {\n if (!port) {\n return host.replace(/^www\\./iu, \"\");\n }\n return host;\n }\n } catch (error) {\n }\n return urlString;\n}\n\n// src/LinkDefinition/LinkDefinitionItem.tsx\nvar LinkDefinitionItem = memo15(({ badgeName, badgeTitle, identifier, onClick, text, url }) => {\n const onClickRef = useRefFrom5(onClick);\n const handleClick = useCallback16(\n (event) => {\n const { current } = onClickRef;\n if (current) {\n const customEvent = new CustomEvent(\"click\");\n current(customEvent);\n customEvent.defaultPrevented && event.preventDefault();\n }\n },\n [onClickRef]\n );\n return url ? /* @__PURE__ */ React43.createElement(\n \"a\",\n {\n className: \"webchat__link-definitions__list-item-box webchat__link-definitions__list-item-box--as-link\",\n href: url,\n onClick: handleClick,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n },\n /* @__PURE__ */ React43.createElement(\n ItemBody_default,\n {\n badgeName,\n badgeTitle,\n identifier,\n isExternal: true,\n text: text || extractHostnameWithSubdomain(url)\n }\n )\n ) : /* @__PURE__ */ React43.createElement(\n \"button\",\n {\n className: \"webchat__link-definitions__list-item-box webchat__link-definitions__list-item-box--as-button\",\n onClick: handleClick,\n type: \"button\"\n },\n /* @__PURE__ */ React43.createElement(ItemBody_default, { badgeName, badgeTitle, identifier, text })\n );\n});\nLinkDefinitionItem.displayName = \"LinkDefinitionItem\";\nvar LinkDefinitionItem_default = LinkDefinitionItem;\n\n// src/LinkDefinition/LinkDefinitions.tsx\nimport { hooks as hooks30 } from \"botframework-webchat-api\";\nimport classNames15 from \"classnames\";\nimport React45, { Children } from \"react\";\n\n// src/LinkDefinition/private/Chevron.tsx\nimport React44, { memo as memo16 } from \"react\";\nvar Chevron = memo16(() => /* @__PURE__ */ React44.createElement(\n \"svg\",\n {\n className: \"webchat__link-definitions__header-chevron\",\n fill: \"none\",\n height: \"10\",\n viewBox: \"1 3 10 7\",\n width: \"14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React44.createElement(\n \"path\",\n {\n d: \"M2.14645 4.64645C2.34171 4.45118 2.65829 4.45118 2.85355 4.64645L6 7.79289L9.14645 4.64645C9.34171 4.45118 9.65829 4.45118 9.85355 4.64645C10.0488 4.84171 10.0488 5.15829 9.85355 5.35355L6.35355 8.85355C6.15829 9.04882 5.84171 9.04882 5.64645 8.85355L2.14645 5.35355C1.95118 5.15829 1.95118 4.84171 2.14645 4.64645Z\",\n fill: \"currentcolor\"\n }\n )\n));\nChevron.displayName = \"Chevron\";\nvar Chevron_default = Chevron;\n\n// src/LinkDefinition/LinkDefinitions.tsx\nvar { useLocalizer: useLocalizer16 } = hooks30;\nvar { count: childrenCount, map: childrenMap } = Children;\nvar REFERENCE_LIST_HEADER_IDS = {\n one: \"REFERENCE_LIST_HEADER_ONE\",\n few: \"REFERENCE_LIST_HEADER_FEW\",\n many: \"REFERENCE_LIST_HEADER_MANY\",\n other: \"REFERENCE_LIST_HEADER_OTHER\",\n two: \"REFERENCE_LIST_HEADER_TWO\"\n};\nvar LinkDefinitions = ({\n accessoryComponentType,\n accessoryProps,\n children\n}) => {\n const [{ linkDefinitions: linkDefinitions2 }] = useStyleSet();\n const localizeWithPlural = useLocalizer16({ plural: true });\n const headerText = localizeWithPlural(REFERENCE_LIST_HEADER_IDS, childrenCount(children));\n return /* @__PURE__ */ React45.createElement(\"details\", { className: classNames15(linkDefinitions2, \"webchat__link-definitions\"), open: true }, /* @__PURE__ */ React45.createElement(\"summary\", { className: \"webchat__link-definitions__header\" }, /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__header-section webchat__link-definitions__header-section--left\" }, /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__header-text\" }, headerText), /* @__PURE__ */ React45.createElement(Chevron_default, null)), /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__header-section webchat__link-definitions__header-section--right\" }, accessoryComponentType && /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__header-accessory\" }, React45.createElement(accessoryComponentType, accessoryProps)))), /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__list\", role: \"list\" }, childrenMap(children, (child) => /* @__PURE__ */ React45.createElement(\"div\", { className: \"webchat__link-definitions__list-item\", role: \"listitem\" }, child))));\n};\nLinkDefinitions.displayName = \"LinkDefinitions\";\nvar LinkDefinitions_default = LinkDefinitions;\n\n// src/Utils/JSONLinkedData/dereferenceBlankNodes.ts\nimport deepFreeze from \"deep-freeze-strict\";\n\n// src/Utils/JSONLinkedData/getSafeOwnPropertyNames.ts\nvar DANGEROUS_PROPERTY_NAMES = [\"__proto__\", \"constructor\", \"prototype\"];\nfunction getSafeOwnPropertyNames(object) {\n return Object.getOwnPropertyNames(object).filter((name) => !DANGEROUS_PROPERTY_NAMES.includes(name));\n}\n\n// src/Utils/JSONLinkedData/isBlankNode.ts\nfunction isBlankNode(node) {\n if (node) {\n const id = node[\"@id\"];\n return typeof id === \"string\" && id.startsWith(\"_:\");\n }\n return false;\n}\n\n// src/Utils/JSONLinkedData/isUnconnectedBlankNode.ts\nfunction isUnconnectedBlankNode(object) {\n return isBlankNode(object) && Object.getOwnPropertyNames(object).every((name) => name.startsWith(\"@\"));\n}\n\n// src/Utils/JSONLinkedData/visitOnce.ts\nfunction visitOnce() {\n const visited = /* @__PURE__ */ new Set();\n return (value) => {\n if (visited.has(value)) {\n return false;\n }\n visited.add(value);\n return true;\n };\n}\n\n// src/Utils/JSONLinkedData/dereferenceBlankNodes.ts\nfunction dereferenceBlankNodesInline(objects) {\n const blankNodeIdMap = /* @__PURE__ */ new Map();\n const objectsToVisit1 = [objects];\n const shouldVisit1 = visitOnce();\n while (objectsToVisit1.length) {\n const object = objectsToVisit1.shift();\n if (!object) {\n continue;\n }\n const indices = getSafeOwnPropertyNames(object);\n for (const index of indices) {\n const value = object[index];\n if (isBlankNode(value) && !isUnconnectedBlankNode(value)) {\n blankNodeIdMap.set(value[\"@id\"], value);\n }\n shouldVisit1(value) && objectsToVisit1.push(value);\n }\n }\n const objectsToVisit2 = [objects];\n const shouldVisit2 = visitOnce();\n while (objectsToVisit2.length) {\n const object = objectsToVisit2.shift();\n if (!object) {\n continue;\n }\n const indices = getSafeOwnPropertyNames(object);\n for (const index of indices) {\n const value = object[index];\n if (isBlankNode(value) && isUnconnectedBlankNode(value)) {\n const blankNode = blankNodeIdMap.get(value[\"@id\"]);\n if (blankNode) {\n object[index] = blankNode;\n }\n } else {\n shouldVisit2(value) && objectsToVisit2.push(value);\n }\n }\n }\n}\nfunction dereferenceBlankNodes(graph) {\n const nextObjects = structuredClone(graph);\n dereferenceBlankNodesInline(nextObjects);\n return deepFreeze(nextObjects);\n}\n\n// src/providers/ModalDialog/private/useContext.ts\nimport { useContext as useReactContext } from \"react\";\n\n// src/providers/ModalDialog/private/Context.ts\nimport { createContext as createContext6 } from \"react\";\nvar defaultContextValue = {\n close: {\n get() {\n throw new Error(\"close cannot be used outside of .\");\n }\n },\n showModal: {\n get() {\n throw new Error(\"showModal cannot be used outside of .\");\n }\n }\n};\nvar Context = createContext6(Object.create({}, defaultContextValue));\nContext.displayName = \"ModalDialogComposer\";\nvar Context_default5 = Context;\n\n// src/providers/ModalDialog/private/useContext.ts\nfunction useContext5() {\n return useReactContext(Context_default5);\n}\n\n// src/providers/ModalDialog/useShowModal.ts\nfunction useShowModal() {\n return useContext5().showModal;\n}\n\n// src/Attachment/Text/private/ActivityCopyButton.tsx\nimport { hooks as hooks43 } from \"botframework-webchat-api\";\nimport classNames28 from \"classnames\";\nimport React64, { memo as memo20, useCallback as useCallback35, useEffect as useEffect21, useRef as useRef23, useState as useState9 } from \"react\";\nimport { useRefFrom as useRefFrom9 } from \"use-ref-from\";\n\n// src/Attachment/Text/private/ActivityButton.tsx\nimport classNames27 from \"classnames\";\nimport React63, { forwardRef as forwardRef9, memo as memo19, useCallback as useCallback34 } from \"react\";\nimport { useRefFrom as useRefFrom8 } from \"use-ref-from\";\n\n// src/Utils/MonochromeImageMasker.tsx\nimport classNames26 from \"classnames\";\nimport React62, { memo as memo18, useMemo as useMemo23 } from \"react\";\n\n// src/hooks/index.ts\nvar hooks_exports = {};\n__export(hooks_exports, {\n useDictateAbortable: () => useDictateAbortable,\n useFocus: () => useFocus,\n useMakeThumbnail: () => useMakeThumbnail,\n useMicrophoneButtonClick: () => useMicrophoneButtonClick,\n useMicrophoneButtonDisabled: () => useMicrophoneButtonDisabled,\n useObserveScrollPosition: () => useObserveScrollPosition2,\n useObserveTranscriptFocus: () => useObserveTranscriptFocus,\n useRegisterFocusSendBox: () => useRegisterFocusSendBox,\n useRenderMarkdownAsHTML: () => useRenderMarkdownAsHTML,\n useScrollDown: () => useScrollDown,\n useScrollTo: () => useScrollTo2,\n useScrollToEnd: () => useScrollToEnd2,\n useScrollUp: () => useScrollUp,\n useSendBoxSpeechInterimsVisible: () => useSendBoxSpeechInterimsVisible,\n useSendFiles: () => useSendFiles,\n useSendMessage: () => useSendMessage,\n useStyleSet: () => useStyleSet,\n useTextBoxSubmit: () => useTextBoxSubmit,\n useTextBoxValue: () => useTextBoxValue,\n useTypingIndicatorVisible: () => useTypingIndicatorVisible,\n useWebSpeechPonyfill: () => useWebSpeechPonyfill\n});\n\n// src/hooks/internal/useSettableDictateAbortable.js\nfunction useSettableDictateAbortable() {\n const { dictateAbortable, setDictateAbortable } = useWebChatUIContext();\n return [dictateAbortable, setDictateAbortable];\n}\n\n// src/hooks/useDictateAbortable.ts\nfunction useDictateAbortable() {\n const [dictateAbortable] = useSettableDictateAbortable();\n return [dictateAbortable];\n}\n\n// src/hooks/useMakeThumbnail.ts\nimport { hooks as hooks31 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback17 } from \"react\";\nimport { useRefFrom as useRefFrom6 } from \"use-ref-from\";\n\n// src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingBrowser.ts\nfunction keepAspectRatio(width, height, maxWidth, maxHeight) {\n if (width < maxWidth && height < maxHeight) {\n return {\n height,\n width\n };\n }\n const aspectRatio = width / height;\n if (aspectRatio > maxWidth / maxHeight) {\n return {\n height: maxWidth / aspectRatio,\n width: maxWidth\n };\n }\n return {\n height: maxHeight,\n width: maxHeight * aspectRatio\n };\n}\nfunction createCanvas(width, height) {\n const canvas = document.createElement(\"canvas\");\n canvas.height = height;\n canvas.width = width;\n return canvas;\n}\nfunction loadImageFromBlob(blob) {\n const blobURL = URL.createObjectURL(blob);\n return new Promise((resolve, reject) => {\n const image = document.createElement(\"img\");\n image.addEventListener(\"error\", ({ error }) => reject(error));\n image.addEventListener(\"load\", () => resolve(image));\n image.setAttribute(\"src\", blobURL);\n }).finally(() => {\n URL.revokeObjectURL(blobURL);\n });\n}\nasync function downscaleImageToDataURLUsingBrowser(blob, maxWidth, maxHeight, type, quality) {\n const image = await loadImageFromBlob(blob);\n const { height, width } = keepAspectRatio(image.width, image.height, maxWidth, maxHeight);\n const canvas = createCanvas(width, height);\n const context2 = canvas.getContext(\"2d\");\n if (!context2) {\n throw new Error(\"botframework-webchat: Failed to get 2D context.\");\n }\n context2.drawImage(image, 0, 0, width, height);\n return new URL(canvas.toDataURL(type, quality));\n}\n\n// src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.worker.js\nfunction downscaleImageToDataURLUsingWorker_worker_default() {\n function blobToDataURL(blob) {\n return new Promise(function(resolve, reject) {\n const reader = new FileReader();\n reader.onerror = function(event) {\n reject(event.error || new Error(event.message));\n };\n reader.onloadend = function() {\n resolve(reader.result);\n };\n reader.readAsDataURL(blob);\n });\n }\n function keepAspectRatio2(width, height, maxWidth, maxHeight) {\n if (width < maxWidth && height < maxHeight) {\n return {\n height,\n width\n };\n }\n const aspectRatio = width / height;\n if (aspectRatio > maxWidth / maxHeight) {\n return {\n height: maxWidth / aspectRatio,\n width: maxWidth\n };\n }\n return {\n height: maxHeight,\n width: maxHeight * aspectRatio\n };\n }\n onmessage = function(event) {\n const data = event.data;\n const arrayBuffer = data.arrayBuffer;\n const maxHeight = data.maxHeight;\n const maxWidth = data.maxWidth;\n const type = data.type;\n const quality = data.quality;\n const port = event.ports[0];\n return Promise.resolve().then(function() {\n return createImageBitmap(new Blob([arrayBuffer]), { resizeQuality: \"high\" });\n }).then(function(imageBitmap) {\n const dimension = keepAspectRatio2(imageBitmap.width, imageBitmap.height, maxWidth, maxHeight);\n const height = dimension.height;\n const width = dimension.width;\n const offscreenCanvas = new OffscreenCanvas(width, height);\n const context2 = offscreenCanvas.getContext(\"2d\");\n context2.drawImage(imageBitmap, 0, 0, width, height);\n const convertToBlob = (offscreenCanvas.convertToBlob || offscreenCanvas.toBlob).bind(offscreenCanvas);\n return convertToBlob({ type, quality });\n }).then(function(blob) {\n return blobToDataURL(blob);\n }).then(function(dataURL) {\n return port.postMessage({ result: dataURL });\n }).catch(function(err) {\n console.error(err);\n port.postMessage({\n error: {\n message: err.message,\n stack: err.stack\n }\n });\n });\n };\n postMessage(\"ready\");\n}\n\n// src/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.ts\nfunction createWorker(fn) {\n const blob = new Blob([`(${fn})()`], { type: \"text/javascript\" });\n const url = window.URL.createObjectURL(blob);\n return new Promise((resolve, reject) => {\n const worker = new Worker(url);\n worker.onerror = ({ error, message }) => reject(error || new Error(message));\n worker.onmessage = ({ data }) => data === \"ready\" && resolve(worker);\n }).finally(() => {\n window.URL.revokeObjectURL(url);\n });\n}\nvar workerPromise;\nasync function getWorker() {\n let worker;\n if (workerPromise) {\n worker = await workerPromise;\n } else {\n workerPromise = createWorker(downscaleImageToDataURLUsingWorker_worker_default);\n worker = await workerPromise;\n worker.addEventListener(\"error\", () => {\n workerPromise = null;\n worker.terminate();\n });\n }\n return worker;\n}\nvar checkSupportOffscreenCanvas = () => {\n const hasOffscreenCanvas = typeof window.OffscreenCanvas !== \"undefined\" && (typeof window.OffscreenCanvas.prototype.convertToBlob !== \"undefined\" || // Firefox quirks: 68.0.1 call named OffscreenCanvas.convertToBlob as OffscreenCanvas.toBlob.\n typeof window.OffscreenCanvas.prototype.toBlob !== \"undefined\");\n let isOffscreenCanvasSupportGetContext2D;\n if (hasOffscreenCanvas) {\n try {\n new OffscreenCanvas(1, 1).getContext(\"2d\");\n isOffscreenCanvasSupportGetContext2D = true;\n } catch (err) {\n isOffscreenCanvasSupportGetContext2D = false;\n }\n }\n return typeof window.createImageBitmap !== \"undefined\" && hasOffscreenCanvas && isOffscreenCanvasSupportGetContext2D;\n};\nvar checkSupportWebWorkerPromise;\nfunction checkSupportWebWorker() {\n return checkSupportWebWorkerPromise || (checkSupportWebWorkerPromise = (async () => {\n if (typeof window.MessageChannel === \"undefined\" || typeof window.Worker === \"undefined\") {\n return false;\n }\n let worker;\n try {\n worker = await createWorker('function(){postMessage(\"ready\")}');\n } catch (err) {\n return false;\n }\n worker.terminate();\n return true;\n })());\n}\nvar checkSupportPromise;\nfunction checkSupport() {\n return checkSupportPromise || (checkSupportPromise = (async () => {\n try {\n const results = await Promise.all([checkSupportOffscreenCanvas(), checkSupportWebWorker()]);\n return results.every((result) => result);\n } catch (err) {\n return false;\n }\n })());\n}\nfunction downscaleImageToDataURLUsingWorker(blob, maxWidth, maxHeight, type, quality) {\n return new Promise((resolve, reject) => {\n const { port1, port2 } = new MessageChannel();\n port1.onmessage = ({ data }) => {\n if (\"error\" in data) {\n const { message, stack } = data.error;\n const err = new Error(message);\n err.stack = stack;\n reject(err);\n } else {\n resolve(new URL(data.result));\n }\n port1.close();\n port2.close();\n };\n Promise.all([blob.arrayBuffer(), getWorker()]).then(\n ([arrayBuffer, worker]) => worker.postMessage({ arrayBuffer, maxHeight, maxWidth, quality, type }, [arrayBuffer, port2])\n );\n });\n}\n\n// src/Utils/downscaleImageToDataURL/index.ts\nasync function downscaleImageToDataURL(blob, maxWidth, maxHeight, type, quality) {\n if (await checkSupport()) {\n return downscaleImageToDataURLUsingWorker(blob, maxWidth, maxHeight, type, quality);\n }\n return downscaleImageToDataURLUsingBrowser(blob, maxWidth, maxHeight, type, quality);\n}\n\n// src/hooks/useMakeThumbnail.ts\nvar { useStyleOptions: useStyleOptions7, useTrackTiming } = hooks31;\nasync function makeThumbnail(file, width, height, contentType, quality) {\n try {\n return await downscaleImageToDataURL(file, width, height, contentType, quality);\n } catch (error) {\n console.warn(`Web Chat: Failed to downscale image due to ${error}.`);\n }\n}\nfunction useMakeThumbnail() {\n const [styleOptions] = useStyleOptions7();\n const trackTiming = useTrackTiming();\n const styleOptionsRef = useRefFrom6(styleOptions);\n return useCallback17(\n (file, contentType) => {\n const {\n current: {\n enableUploadThumbnail,\n uploadThumbnailContentType,\n uploadThumbnailHeight,\n uploadThumbnailQuality,\n uploadThumbnailWidth\n }\n } = styleOptionsRef;\n if (enableUploadThumbnail && (contentType || (file instanceof File ? file.type : \"\")).startsWith(\"image/\")) {\n return trackTiming(\n \"sendFiles:makeThumbnail\",\n makeThumbnail(\n file,\n uploadThumbnailWidth,\n uploadThumbnailHeight,\n uploadThumbnailContentType,\n uploadThumbnailQuality\n )\n );\n }\n return Promise.resolve(void 0);\n },\n [styleOptionsRef, trackTiming]\n );\n}\n\n// src/hooks/useObserveScrollPosition.ts\nimport { useEffect as useEffect13 } from \"react\";\nfunction useObserveScrollPosition2(observer, deps) {\n if (typeof observer !== \"function\") {\n observer = void 0;\n console.warn('botframework-webchat: First argument passed to \"useObserveScrollPosition\" must be a function.');\n } else if (typeof deps !== \"undefined\" && !Array.isArray(deps)) {\n console.warn(\n 'botframework-webchat: Second argument passed to \"useObserveScrollPosition\" must be an array if specified.'\n );\n }\n const { observeScrollPosition } = useWebChatUIContext();\n useEffect13(() => observer && observeScrollPosition(observer), [...deps || [], observer, observeScrollPosition]);\n}\n\n// src/hooks/useObserveTranscriptFocus.ts\nimport { useEffect as useEffect14 } from \"react\";\nfunction useObserveTranscriptFocus(observer, deps) {\n if (typeof observer !== \"function\") {\n observer = void 0;\n console.warn('botframework-webchat: First argument passed to \"useObserveTranscriptFocus\" must be a function.');\n } else if (typeof deps !== \"undefined\" && !Array.isArray(deps)) {\n console.warn(\n 'botframework-webchat: Second argument passed to \"useObserveTranscriptFocus\" must be an array if specified.'\n );\n }\n const { observeTranscriptFocus } = useWebChatUIContext();\n useEffect14(() => observer && observeTranscriptFocus(observer), [...deps || [], observer, observeTranscriptFocus]);\n}\n\n// src/hooks/useScrollDown.ts\nimport { useCallback as useCallback18 } from \"react\";\nfunction useScrollDown() {\n const scrollRelative = useScrollRelativeTranscript();\n return useCallback18((options) => scrollRelative({ direction: \"down\", ...options }), [scrollRelative]);\n}\n\n// src/hooks/useScrollTo.ts\nimport { useCallback as useCallback19 } from \"react\";\nfunction useScrollTo2() {\n const { scrollToCallbacksRef } = useWebChatUIContext();\n return useCallback19(\n (...args) => scrollToCallbacksRef.current.forEach((callback) => callback(...args)),\n [scrollToCallbacksRef]\n );\n}\n\n// src/hooks/useScrollToEnd.ts\nimport { useCallback as useCallback20 } from \"react\";\nfunction useScrollToEnd2() {\n const { scrollToEndCallbacksRef } = useWebChatUIContext();\n return useCallback20(\n () => scrollToEndCallbacksRef.current.forEach((callback) => callback({ behavior: \"smooth\" })),\n [scrollToEndCallbacksRef]\n );\n}\n\n// src/hooks/useScrollUp.ts\nimport { useCallback as useCallback21 } from \"react\";\nfunction useScrollUp() {\n const scrollRelative = useScrollRelativeTranscript();\n return useCallback21((options) => scrollRelative({ direction: \"up\", ...options }), [scrollRelative]);\n}\n\n// src/hooks/useSendFiles.ts\nimport { hooks as hooks32 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback22 } from \"react\";\nvar { useSendFiles: useAPISendFiles } = hooks32;\nfunction useSendFiles() {\n const makeThumbnail2 = useMakeThumbnail();\n const sendFiles = useAPISendFiles();\n return useCallback22(\n (files) => {\n (async function() {\n files && files.length && sendFiles(\n await Promise.all(\n files.map(\n (file) => (\n // To maintain backward compatibility, this hook should look at file extension instead of MIME type.\n makeThumbnail2(\n file,\n /\\.(gif|jpe?g|png)$/iu.test(file.name) ? \"image/*\" : \"application/octet-stream\"\n ).then((thumbnailURL) => ({\n name: file.name,\n size: file.size,\n thumbnail: thumbnailURL?.toString(),\n url: URL.createObjectURL(file)\n }))\n )\n )\n )\n );\n })();\n },\n [makeThumbnail2, sendFiles]\n );\n}\n\n// src/hooks/useSendMessage.ts\nimport { hooks as hooks33 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback23 } from \"react\";\nvar { useSendMessage: useAPISendMessage } = hooks33;\nfunction useSendMessage() {\n const makeThumbnail2 = useMakeThumbnail();\n const sendMessage = useAPISendMessage();\n return useCallback23(\n async (text, method, { channelData, attachments } = {}) => {\n sendMessage(text, method, {\n attachments: attachments ? await Promise.all(\n [...attachments].map(async ({ blob, thumbnailURL }) => {\n if (!thumbnailURL && blob instanceof File) {\n thumbnailURL = await makeThumbnail2(blob);\n }\n return { blob, thumbnailURL };\n })\n ) : [],\n channelData\n });\n },\n [makeThumbnail2, sendMessage]\n );\n}\n\n// src/hooks/useWebSpeechPonyfill.ts\nfunction useWebSpeechPonyfill() {\n return [useWebChatUIContext().webSpeechPonyfill];\n}\n\n// src/SendBox/BasicSendBox.tsx\nimport { SendBoxToolbarMiddlewareProxy, hooks as hooks42 } from \"botframework-webchat-api\";\nimport { Constants as Constants3 } from \"botframework-webchat-core\";\nimport classNames25 from \"classnames\";\nimport React61 from \"react\";\n\n// src/providers/internal/SendBox/private/useContext.ts\nimport { useContext as useContext6 } from \"react\";\n\n// src/providers/internal/SendBox/private/Context.ts\nimport { createContext as createContext7 } from \"react\";\nvar SendBoxContext = createContext7(void 0);\nvar Context_default6 = SendBoxContext;\n\n// src/providers/internal/SendBox/private/useContext.ts\nfunction useSendBoxContext() {\n const context2 = useContext6(Context_default6);\n if (!context2) {\n throw new Error(\"botframework-webchat internal: This hook can only be used under .\");\n }\n return context2;\n}\n\n// src/providers/internal/SendBox/useErrorMessageId.ts\nfunction useSubmitErrorMessageId() {\n return useSendBoxContext().submitErrorMessageIdState;\n}\n\n// src/SendBox/DictationInterims.tsx\nimport { Constants } from \"botframework-webchat-core\";\nimport { hooks as hooks34 } from \"botframework-webchat-api\";\nimport classNames16 from \"classnames\";\nimport PropTypes26 from \"prop-types\";\nimport React46 from \"react\";\nvar {\n DictateState: { DICTATING, STARTING, STOPPING }\n} = Constants;\nvar { useDictateInterims, useDictateState, useLocalizer: useLocalizer17 } = hooks34;\nvar ROOT_STYLE9 = {\n alignItems: \"center\",\n display: \"flex\"\n};\nvar DictationInterims = ({ className }) => {\n const [dictateInterims] = useDictateInterims();\n const [dictateState] = useDictateState();\n const [{ dictationInterims: dictationInterimsStyleSet }] = useStyleSet();\n const localize2 = useLocalizer17();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE9) + \"\";\n return dictateState === STARTING || dictateState === STOPPING ? /* @__PURE__ */ React46.createElement(\"p\", { className: classNames16(dictationInterimsStyleSet + \"\", rootClassName, (className || \"\") + \"\", \"status\") }, dictateState === STARTING && localize2(\"SPEECH_INPUT_STARTING\")) : dictateState === DICTATING && (dictateInterims.length ? /* @__PURE__ */ React46.createElement(\"p\", { className: classNames16(dictationInterimsStyleSet + \"\", rootClassName, (className || \"\") + \"\", \"dictating\") }, dictateInterims.map((interim, index) => /* @__PURE__ */ React46.createElement(\"span\", { key: index }, interim, \"\\xA0\"))) : /* @__PURE__ */ React46.createElement(\"p\", { className: classNames16(dictationInterimsStyleSet + \"\", rootClassName, (className || \"\") + \"\", \"status\") }, localize2(\"SPEECH_INPUT_LISTENING\")));\n};\nDictationInterims.defaultProps = {\n className: \"\"\n};\nDictationInterims.propTypes = {\n className: PropTypes26.string\n};\nvar DictationInterims_default = DictationInterims;\n\n// src/SendBox/MicrophoneButton.tsx\nimport { hooks as hooks36 } from \"botframework-webchat-api\";\nimport { Constants as Constants2 } from \"botframework-webchat-core\";\nimport classNames18 from \"classnames\";\nimport memoize from \"memoize-one\";\nimport React50, { memo as memo17, useCallback as useCallback25, useState as useState7 } from \"react\";\n\n// src/SendBox/Assets/MicrophoneIcon.js\nimport React47 from \"react\";\nvar MicrophoneIcon = ({ className }) => /* @__PURE__ */ React47.createElement(\"svg\", { className, focusable: false, height: 28, role: \"presentation\", viewBox: \"0 0 34.75 46\", width: 28 }, /* @__PURE__ */ React47.createElement(\n \"path\",\n {\n className: \"a\",\n d: \"M29.75,23v6.36a7,7,0,0,1-.56,2.78,7.16,7.16,0,0,1-3.8,3.8,7,7,0,0,1-2.78.56H18.5v2.25H23V41H11.75v-2.25h4.5V36.5h-4.11a7,7,0,0,1-2.78-.56,7.16,7.16,0,0,1-3.8-3.8,7,7,0,0,1-.56-2.78V23h2.25v6.36a4.72,4.72,0,0,0,.39,1.9,4.78,4.78,0,0,0,2.6,2.6,4.72,4.72,0,0,0,1.9.39h10.47a4.72,4.72,0,0,0,1.9-.39,4.78,4.78,0,0,0,2.6-2.6,4.72,4.72,0,0,0,.39-1.9V23Zm-18,5.62a1.13,1.13,0,0,0,1.13,1.13h9a1.13,1.13,0,0,0,1.12-1.13V8.38a1.13,1.13,0,0,0-1.12-1.13h-9a1.13,1.13,0,0,0-1.13,1.13Zm1.13,3.38a3.41,3.41,0,0,1-1.32-.26,3.31,3.31,0,0,1-1.8-1.8,3.41,3.41,0,0,1-.26-1.32V8.38a3.41,3.41,0,0,1,.26-1.32,3.31,3.31,0,0,1,1.8-1.8,3.41,3.41,0,0,1,1.32-.26h9a3.4,3.4,0,0,1,1.31.26,3.31,3.31,0,0,1,1.8,1.8,3.41,3.41,0,0,1,.26,1.32v20.24a3.41,3.41,0,0,1-.26,1.32,3.31,3.31,0,0,1-1.8,1.8,3.4,3.4,0,0,1-1.31.26Z\"\n }\n));\nvar MicrophoneIcon_default = MicrophoneIcon;\n\n// src/SendBox/IconButton.tsx\nimport { hooks as hooks35 } from \"botframework-webchat-api\";\nimport classNames17 from \"classnames\";\nimport PropTypes28 from \"prop-types\";\nimport React49, { useRef as useRef14 } from \"react\";\n\n// src/Utils/AccessibleButton.tsx\nimport PropTypes27 from \"prop-types\";\nimport React48, { forwardRef as forwardRef4, useRef as useRef13 } from \"react\";\nvar PREVENT_DEFAULT_HANDLER = (event) => event.preventDefault();\nvar AccessibleButton = forwardRef4(\n ({ \"aria-hidden\": ariaHidden, children, disabled, onClick, tabIndex, ...props }, forwardedRef) => {\n const targetRef = useRef13();\n const ref = forwardedRef || targetRef;\n return /* @__PURE__ */ React48.createElement(\n \"button\",\n {\n \"aria-disabled\": disabled || void 0,\n \"aria-hidden\": ariaHidden,\n onClick: disabled ? PREVENT_DEFAULT_HANDLER : onClick,\n ref,\n tabIndex: disabled ? -1 : tabIndex,\n ...props,\n type: \"button\"\n },\n children\n );\n }\n);\nAccessibleButton.defaultProps = {\n \"aria-hidden\": void 0,\n children: void 0,\n disabled: void 0,\n onClick: void 0,\n tabIndex: void 0\n};\nAccessibleButton.displayName = \"AccessibleButton\";\nAccessibleButton.propTypes = {\n \"aria-hidden\": PropTypes27.bool,\n children: PropTypes27.any,\n disabled: PropTypes27.bool,\n onClick: PropTypes27.func,\n tabIndex: PropTypes27.number,\n // TypeScript class is not mappable to PropTypes.oneOf(['button'])\n // @ts-ignore\n type: PropTypes27.oneOf([\"button\"]).isRequired\n};\nvar AccessibleButton_default = AccessibleButton;\n\n// src/hooks/internal/useFocusVisible.ts\nimport { useCallback as useCallback24, useEffect as useEffect15, useState as useState6 } from \"react\";\nfunction useFocusVisible(targetRef) {\n const [focusVisible, setFocusVisible] = useState6(false);\n const handleBlur = useCallback24(() => setFocusVisible(false), [setFocusVisible]);\n const handleFocusVisible = useCallback24(() => setFocusVisible(true), [setFocusVisible]);\n useObserveFocusVisible(targetRef, handleFocusVisible);\n useEffect15(() => {\n const { current } = targetRef;\n current.addEventListener(\"blur\", handleBlur);\n return () => current.removeEventListener(\"blur\", handleBlur);\n }, [handleBlur, targetRef]);\n return [focusVisible];\n}\n\n// src/SendBox/IconButton.tsx\nvar { useStyleOptions: useStyleOptions8 } = hooks35;\nvar IconButton = ({ alt, children, className, disabled, onClick }) => {\n const [{ sendBoxButton: sendBoxButtonStyleSet }] = useStyleSet();\n const [{ sendBoxButtonAlignment }] = useStyleOptions8();\n const buttonRef = useRef14();\n const [focusVisible] = useFocusVisible(buttonRef);\n return /* @__PURE__ */ React49.createElement(\n AccessibleButton_default,\n {\n className: classNames17(\n sendBoxButtonStyleSet + \"\",\n \"webchat__icon-button\",\n {\n \"webchat__icon-button--focus-visible\": focusVisible,\n \"webchat__icon-button--stretch\": sendBoxButtonAlignment !== \"bottom\" && sendBoxButtonAlignment !== \"top\"\n },\n className + \"\"\n ),\n disabled,\n onClick: disabled ? void 0 : onClick,\n ref: buttonRef,\n title: alt,\n type: \"button\"\n },\n /* @__PURE__ */ React49.createElement(\"div\", { className: \"webchat__icon-button__shade\" }),\n children,\n /* @__PURE__ */ React49.createElement(\"div\", { className: \"webchat__icon-button__keyboard-focus-indicator\" })\n );\n};\nIconButton.defaultProps = {\n alt: \"\",\n children: void 0,\n className: \"\",\n disabled: false,\n onClick: void 0\n};\nIconButton.propTypes = {\n alt: PropTypes28.string,\n children: PropTypes28.any,\n className: PropTypes28.string,\n disabled: PropTypes28.bool,\n onClick: PropTypes28.func\n};\nvar IconButton_default = IconButton;\n\n// src/SendBox/MicrophoneButton.tsx\nvar { DictateState } = Constants2;\nvar {\n useDictateInterims: useDictateInterims2,\n useDictateState: useDictateState2,\n useLocalizer: useLocalizer18,\n useSendBoxValue,\n useShouldSpeakIncomingActivity,\n useStartDictate,\n useStopDictate,\n useUIState\n} = hooks36;\nvar ROOT_STYLE10 = {\n display: \"flex\",\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n \"& > .sr-only\": {\n color: \"transparent\",\n height: 1,\n left: -1e4,\n overflow: \"hidden\",\n position: \"absolute\",\n top: 0,\n whiteSpace: \"nowrap\",\n width: 1\n }\n};\nfunction useMicrophoneButtonClick() {\n const [, setSendBox] = useSendBoxValue();\n const [, setShouldSpeakIncomingActivity] = useShouldSpeakIncomingActivity();\n const [dictateInterims] = useDictateInterims2();\n const [dictateState] = useDictateState2();\n const [webSpeechPonyfill] = useWebSpeechPonyfill();\n const startDictate = useStartDictate();\n const stopDictate = useStopDictate();\n const { speechSynthesis: speechSynthesis2, SpeechSynthesisUtterance: SpeechSynthesisUtterance2 } = webSpeechPonyfill || {};\n const [primeSpeechSynthesis] = useState7(\n () => memoize((speechSynthesis3, SpeechSynthesisUtterance3) => {\n if (speechSynthesis3 && SpeechSynthesisUtterance3) {\n const utterance = new SpeechSynthesisUtterance3(\"\");\n [utterance.voice] = speechSynthesis3.getVoices();\n speechSynthesis3.speak(utterance);\n }\n })\n );\n return useCallback25(() => {\n if (dictateState === DictateState.WILL_START) {\n setShouldSpeakIncomingActivity(false);\n } else if (dictateState === DictateState.DICTATING) {\n stopDictate();\n setSendBox(dictateInterims.join(\" \"));\n } else {\n setShouldSpeakIncomingActivity(false);\n startDictate();\n }\n primeSpeechSynthesis(speechSynthesis2, SpeechSynthesisUtterance2);\n }, [\n dictateInterims,\n dictateState,\n primeSpeechSynthesis,\n setSendBox,\n setShouldSpeakIncomingActivity,\n speechSynthesis2,\n SpeechSynthesisUtterance2,\n startDictate,\n stopDictate\n ]);\n}\nfunction useMicrophoneButtonDisabled() {\n const [abortable] = useDictateAbortable();\n const [dictateState] = useDictateState2();\n const [uiState] = useUIState();\n return [\n uiState === \"disabled\" || dictateState === DictateState.STARTING || dictateState === DictateState.STOPPING || dictateState === DictateState.DICTATING && !abortable\n ];\n}\nvar MicrophoneButton = ({ className }) => {\n const [{ microphoneButton: microphoneButtonStyleSet }] = useStyleSet();\n const [dictateState] = useDictateState2();\n const [disabled] = useMicrophoneButtonDisabled();\n const click = useMicrophoneButtonClick();\n const localize2 = useLocalizer18();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE10) + \"\";\n const dictating = dictateState === DictateState.DICTATING;\n const message = localize2(\n dictating ? \"SPEECH_INPUT_MICROPHONE_BUTTON_OPEN_ALT\" : \"SPEECH_INPUT_MICROPHONE_BUTTON_CLOSE_ALT\"\n );\n useLiveRegion(() => message && /* @__PURE__ */ React50.createElement(\"div\", { className: \"webchat__microphone-button__status\" }, message), [message]);\n return /* @__PURE__ */ React50.createElement(\n \"div\",\n {\n \"aria-controls\": \"webchatSendBoxMicrophoneButton\",\n className: classNames18(\n \"webchat__microphone-button\",\n { \"webchat__microphone-button--dictating\": dictating },\n microphoneButtonStyleSet + \"\",\n rootClassName,\n (className || \"\") + \"\"\n )\n },\n /* @__PURE__ */ React50.createElement(\n IconButton_default,\n {\n alt: localize2(\"TEXT_INPUT_SPEAK_BUTTON_ALT\"),\n className: \"webchat__microphone-button__button\",\n disabled,\n onClick: click\n },\n /* @__PURE__ */ React50.createElement(MicrophoneIcon_default, { className: \"webchat__microphone-button__icon\" })\n ),\n /* @__PURE__ */ React50.createElement(\"div\", { className: \"sr-only\", id: \"webchatSendBoxMicrophoneButton\" }, message)\n );\n};\nMicrophoneButton.displayName = \"MicrophoneButton\";\nvar MicrophoneButton_default = memo17(MicrophoneButton);\n\n// src/SendBox/SendButton.tsx\nimport { hooks as hooks38 } from \"botframework-webchat-api\";\nimport classNames20 from \"classnames\";\nimport PropTypes29 from \"prop-types\";\nimport React52, { useCallback as useCallback26 } from \"react\";\n\n// src/providers/internal/SendBox/useSubmit.ts\nfunction useSubmit() {\n return useSendBoxContext().submit;\n}\n\n// src/SendBox/Assets/SendIcon.js\nimport { hooks as hooks37 } from \"botframework-webchat-api\";\nimport classNames19 from \"classnames\";\nimport React51 from \"react\";\nvar { useDirection: useDirection9 } = hooks37;\nvar ROOT_STYLE11 = {\n \"&.webchat__send-icon\": {\n \"&.webchat__send-icon--rtl\": {\n transform: \"scale(-1, 1)\"\n }\n }\n};\nvar SendIcon = () => {\n const [direction] = useDirection9();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE11) + \"\";\n return /* @__PURE__ */ React51.createElement(\n \"svg\",\n {\n className: classNames19(\"webchat__send-icon\", { \"webchat__send-icon--rtl\": direction === \"rtl\" }, rootClassName),\n height: 28,\n viewBox: \"0 0 45.7 33.8\",\n width: 28\n },\n /* @__PURE__ */ React51.createElement(\n \"path\",\n {\n clipRule: \"evenodd\",\n d: \"M8.55 25.25l21.67-7.25H11zm2.41-9.47h19.26l-21.67-7.23zm-6 13l4-11.9L5 5l35.7 11.9z\"\n }\n )\n );\n};\nvar SendIcon_default = SendIcon;\n\n// src/SendBox/SendButton.tsx\nvar { useLocalizer: useLocalizer19, useUIState: useUIState2 } = hooks38;\nvar SendButton = ({ className }) => {\n const [uiState] = useUIState2();\n const localize2 = useLocalizer19();\n const submit = useSubmit();\n const handleClick = useCallback26(() => submit({ setFocus: \"sendBoxWithoutKeyboard\" }), [submit]);\n return /* @__PURE__ */ React52.createElement(\n IconButton_default,\n {\n alt: localize2(\"TEXT_INPUT_SEND_BUTTON_ALT\"),\n className: classNames20(\"webchat__send-button\", className),\n disabled: uiState === \"disabled\",\n onClick: handleClick\n },\n /* @__PURE__ */ React52.createElement(SendIcon_default, null)\n );\n};\nSendButton.defaultProps = {\n className: void 0\n};\nSendButton.propTypes = {\n className: PropTypes29.string\n};\nvar SendButton_default = SendButton;\n\n// src/SendBox/SuggestedActions.tsx\nimport { hooks as hooks40 } from \"botframework-webchat-api\";\nimport classNames22 from \"classnames\";\nimport PropTypes32 from \"prop-types\";\nimport React55, { useCallback as useCallback30, useMemo as useMemo20, useRef as useRef17 } from \"react\";\nimport BasicFilm, { createBasicStyleSet as createBasicStyleSetForReactFilm } from \"react-film\";\n\n// src/hooks/internal/useFocusWithin.ts\nimport { useCallback as useCallback27, useEffect as useEffect16, useState as useState8 } from \"react\";\nfunction useFocusWithin(targetRef) {\n const [focusWithin, setFocusWithin] = useState8(false);\n const handleBlur = useCallback27(() => setFocusWithin(false), [setFocusWithin]);\n const handleFocus = useCallback27(\n ({ target }) => {\n const targetElement = target;\n setFocusWithin(targetRef.current === targetElement || !!targetRef.current?.contains(targetElement));\n },\n [setFocusWithin, targetRef]\n );\n useEffect16(() => {\n document.addEventListener(\"blur\", handleBlur);\n document.addEventListener(\"focus\", handleFocus);\n return () => {\n document.removeEventListener(\"blur\", handleBlur);\n document.removeEventListener(\"focus\", handleFocus);\n };\n }, [handleBlur, handleFocus]);\n return Object.freeze([focusWithin]);\n}\n\n// src/providers/RovingTabIndex/RovingTabIndexComposer.tsx\nimport PropTypes30 from \"prop-types\";\nimport React53, { useCallback as useCallback28, useEffect as useEffect17, useMemo as useMemo19, useRef as useRef15 } from \"react\";\n\n// src/providers/RovingTabIndex/private/Context.ts\nimport { createContext as createContext8 } from \"react\";\nvar RovingTabIndexContext = createContext8({\n itemEffector: () => {\n throw new Error(\"botframework-webchat internal: Not implemented.\");\n }\n});\nvar Context_default7 = RovingTabIndexContext;\n\n// src/providers/RovingTabIndex/RovingTabIndexComposer.tsx\nvar RovingTabIndexComposer = ({ children, onEscapeKey, orientation }) => {\n const activeItemIndexRef = useRef15(0);\n const itemRefsRef = useRef15([]);\n const refreshTabIndices = useCallback28(() => {\n const { current: activeItemIndex } = activeItemIndexRef;\n itemRefsRef.current.forEach(({ current }, index) => {\n current?.setAttribute(\"tabindex\", activeItemIndex === index ? \"0\" : \"-1\");\n });\n }, [activeItemIndexRef]);\n const setActiveItemIndex = useCallback28(\n (valueOrFunction) => {\n let nextActiveItemIndex;\n if (typeof valueOrFunction === \"number\") {\n nextActiveItemIndex = valueOrFunction;\n } else {\n nextActiveItemIndex = valueOrFunction(activeItemIndexRef.current);\n }\n if (nextActiveItemIndex && !itemRefsRef.current[+nextActiveItemIndex]?.current) {\n nextActiveItemIndex = 0;\n }\n if (activeItemIndexRef.current !== nextActiveItemIndex) {\n activeItemIndexRef.current = nextActiveItemIndex;\n refreshTabIndices();\n itemRefsRef.current[+nextActiveItemIndex]?.current?.focus();\n }\n },\n [activeItemIndexRef, itemRefsRef, refreshTabIndices]\n );\n const handleFocus = useCallback28(\n (event) => {\n const { target } = event;\n const index = itemRefsRef.current.findIndex(({ current }) => current === target);\n ~index && setActiveItemIndex(index);\n },\n [itemRefsRef, setActiveItemIndex]\n );\n const handleKeyDown = useCallback28(\n (event) => {\n const { key } = event;\n const vertical = orientation === \"vertical\";\n switch (key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n case \"Down\":\n // IE11\n case \"Right\":\n if (vertical && key === \"ArrowRight\" || !vertical && key === \"ArrowDown\") {\n return;\n }\n setActiveItemIndex((value) => {\n const itemIndices = itemRefsRef.current.map((_2, index) => index);\n const nextIndex = itemIndices.indexOf(value) + 1;\n if (nextIndex >= itemIndices.length) {\n return itemIndices[0];\n }\n return itemIndices[+nextIndex];\n });\n break;\n case \"ArrowLeft\":\n case \"ArrowUp\":\n case \"Left\":\n // IE11\n case \"Up\":\n if (vertical && key === \"ArrowLeft\" || !vertical && key === \"ArrowUp\") {\n return;\n }\n setActiveItemIndex((value) => {\n const itemIndices = itemRefsRef.current.map((_2, index) => index);\n const nextIndex = itemIndices.indexOf(value) - 1;\n if (nextIndex < 0) {\n return itemIndices[itemIndices.length - 1];\n }\n return itemIndices[+nextIndex];\n });\n break;\n case \"Home\":\n setActiveItemIndex(0);\n break;\n case \"End\":\n setActiveItemIndex(Infinity);\n break;\n case \"Escape\":\n if (!onEscapeKey) {\n return;\n }\n onEscapeKey();\n break;\n default:\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n },\n [setActiveItemIndex, onEscapeKey, orientation]\n );\n const itemEffector = useCallback28(\n (ref, index) => {\n const { current } = ref;\n itemRefsRef.current[+index] = ref;\n current.addEventListener(\"focus\", handleFocus);\n current.addEventListener(\"keydown\", handleKeyDown);\n current.setAttribute(\"tabindex\", activeItemIndexRef.current === index ? \"0\" : \"-1\");\n return () => {\n current.removeEventListener(\"focus\", handleFocus);\n current.removeEventListener(\"keydown\", handleKeyDown);\n delete itemRefsRef.current[+index];\n };\n },\n [activeItemIndexRef, handleFocus, handleKeyDown]\n );\n const contextValue = useMemo19(\n () => ({\n itemEffector\n }),\n [itemEffector]\n );\n useEffect17(() => {\n setActiveItemIndex((value) => value);\n });\n return /* @__PURE__ */ React53.createElement(Context_default7.Provider, { value: contextValue }, children);\n};\nRovingTabIndexComposer.defaultProps = {\n onEscapeKey: void 0,\n orientation: \"horizontal\"\n};\nRovingTabIndexComposer.propTypes = {\n onEscapeKey: PropTypes30.func,\n orientation: PropTypes30.oneOf([\"horizontal\", \"vertical\"])\n};\nvar RovingTabIndexComposer_default = RovingTabIndexComposer;\n\n// src/SendBox/SuggestedAction.tsx\nimport { hooks as hooks39 } from \"botframework-webchat-api\";\nimport classNames21 from \"classnames\";\nimport PropTypes31 from \"prop-types\";\nimport React54, { useCallback as useCallback29 } from \"react\";\n\n// src/providers/RovingTabIndex/useItemRef.ts\nimport { useEffect as useEffect18, useRef as useRef16 } from \"react\";\n\n// src/providers/RovingTabIndex/private/useContext.ts\nimport { useContext as useContext7 } from \"react\";\nfunction useRovingTabIndexContext(throwOnUndefined = true) {\n const contextValue = useContext7(Context_default7);\n if (throwOnUndefined && !contextValue) {\n throw new Error(\"botframework-webchat internal: This hook can only be used under .\");\n }\n return contextValue;\n}\n\n// src/providers/RovingTabIndex/useItemRef.ts\nfunction useItemRef(itemIndex) {\n const ref = useRef16();\n const { itemEffector } = useRovingTabIndexContext();\n useEffect18(() => itemEffector(ref, itemIndex));\n return ref;\n}\n\n// src/Utils/AccessKeySink/useFocusAccessKeyEffect.js\nimport { useEffect as useEffect19 } from \"react\";\n\n// src/Utils/AccessKeySink/internal/useContext.js\nimport { useContext as useContext8 } from \"react\";\nfunction useAccessKeySinkContext() {\n return useContext8(Context_default4);\n}\n\n// src/Utils/AccessKeySink/useFocusAccessKeyEffect.js\nfunction removeInline2(array, item) {\n const index = array.indexOf(item);\n ~index && array.splice(index, 1);\n}\nfunction useFocusAccessKeyEffect(key, ref) {\n if (key && typeof key !== \"string\") {\n throw new Error('useFocusAccessKeyEffect: If defined, \"key\" must be of type \"string\".');\n } else if (!ref || !(\"current\" in ref)) {\n throw new Error('useFocusAccessKeyEffect: \"ref\" must be defined and has \"current\" property.');\n }\n const context2 = useAccessKeySinkContext();\n useEffect19(() => {\n if (key) {\n const entry = { keys: key.split(/\\s+/gu), ref };\n context2.focii.push(entry);\n return () => removeInline2(context2.focii, entry);\n }\n }, [context2, key, ref]);\n}\n\n// src/SendBox/SuggestedAction.tsx\nvar { useDirection: useDirection10, usePerformCardAction, useStyleOptions: useStyleOptions9, useSuggestedActions, useUIState: useUIState3 } = hooks39;\nvar ROOT_STYLE12 = {\n \"&.webchat__suggested-action\": {\n display: \"flex\",\n overflow: \"hidden\"\n // Prevent image from leaking; object-fit does not work with IE11\n }\n};\nvar SuggestedAction = ({\n buttonText,\n className,\n displayText,\n image,\n imageAlt,\n itemIndex,\n text,\n textClassName,\n type,\n value\n}) => {\n const [_2, setSuggestedActions] = useSuggestedActions();\n const [{ suggestedActionsStackedLayoutButtonTextWrap }] = useStyleOptions9();\n const [{ suggestedAction: suggestedActionStyleSet }] = useStyleSet();\n const [accessKey] = useSuggestedActionsAccessKey();\n const [direction] = useDirection10();\n const [uiState] = useUIState3();\n const focus = useFocus();\n const focusRef = useItemRef(itemIndex);\n const localizeAccessKeyAsAriaKeyShortcuts = useLocalizeAccessKey(\"aria-keyshortcuts\");\n const performCardAction = usePerformCardAction();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE12) + \"\";\n const scrollToEnd = useScrollToEnd2();\n const [focusVisible] = useFocusVisible(focusRef);\n const handleClick = useCallback29(\n ({ target }) => {\n (async function() {\n await focus(\"sendBoxWithoutKeyboard\");\n performCardAction({ displayText, text, type, value }, { target });\n type === \"openUrl\" && setSuggestedActions([]);\n scrollToEnd();\n })();\n },\n [displayText, focus, performCardAction, scrollToEnd, setSuggestedActions, text, type, value]\n );\n useFocusAccessKeyEffect(accessKey, focusRef);\n return /* @__PURE__ */ React54.createElement(\n AccessibleButton_default,\n {\n ...accessKey ? { \"aria-keyshortcuts\": localizeAccessKeyAsAriaKeyShortcuts(accessKey) } : {},\n className: classNames21(\n \"webchat__suggested-action\",\n {\n \"webchat__suggested-action--focus-visible\": focusVisible,\n \"webchat__suggested-action--rtl\": direction === \"rtl\",\n \"webchat__suggested-action--wrapping\": suggestedActionsStackedLayoutButtonTextWrap\n },\n rootClassName,\n suggestedActionStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n disabled: uiState === \"disabled\",\n onClick: handleClick,\n ref: focusRef,\n type: \"button\"\n },\n image && /* @__PURE__ */ React54.createElement(\n \"img\",\n {\n alt: imageAlt,\n className: classNames21(\n \"webchat__suggested-action__image\",\n direction === \"rtl\" && \"webchat__suggested-action__image--rtl\"\n ),\n src: image\n }\n ),\n /* @__PURE__ */ React54.createElement(\"span\", { className: classNames21(\"webchat__suggested-action__text\", (textClassName || \"\") + \"\") }, buttonText),\n /* @__PURE__ */ React54.createElement(\"div\", { className: \"webchat__suggested-action__keyboard-focus-indicator\" })\n );\n};\nSuggestedAction.defaultProps = {\n className: \"\",\n displayText: \"\",\n image: \"\",\n imageAlt: void 0,\n text: \"\",\n textClassName: \"\",\n type: void 0,\n value: void 0\n};\nSuggestedAction.propTypes = {\n buttonText: PropTypes31.string.isRequired,\n className: PropTypes31.string,\n displayText: PropTypes31.string,\n image: PropTypes31.string,\n imageAlt: PropTypes31.string,\n itemIndex: PropTypes31.number.isRequired,\n text: PropTypes31.string,\n textClassName: PropTypes31.string,\n // TypeScript class is not mappable to PropTypes.\n // @ts-ignore\n type: PropTypes31.string,\n value: PropTypes31.any\n};\nvar SuggestedAction_default = SuggestedAction;\n\n// src/SendBox/SuggestedActions.tsx\nvar { useDirection: useDirection11, useLocalizer: useLocalizer20, useStyleOptions: useStyleOptions10, useSuggestedActions: useSuggestedActions2 } = hooks40;\nvar ROOT_STYLE13 = {\n \"&.webchat__suggested-actions\": {\n \"&.webchat__suggested-actions--flow-layout .webchat__suggested-actions__flow-box\": {\n display: \"flex\",\n flexWrap: \"wrap\"\n },\n \"&.webchat__suggested-actions--stack-layout .webchat__suggested-actions__stack\": {\n display: \"flex\",\n flexDirection: \"column\"\n }\n }\n};\nvar SuggestedActionCarouselContainer = ({ children, className, label }) => {\n const [\n {\n suggestedActionsCarouselFlipperBoxWidth,\n suggestedActionsCarouselFlipperCursor,\n suggestedActionsCarouselFlipperSize\n }\n ] = useStyleOptions10();\n const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet();\n const [direction] = useDirection11();\n const [nonce] = useNonce();\n const localize2 = useLocalizer20();\n const ref = useRef17();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE13) + \"\";\n const filmStyleSet = useMemo20(\n () => createBasicStyleSetForReactFilm({\n autoHide: false,\n cursor: suggestedActionsCarouselFlipperCursor,\n flipperBoxWidth: suggestedActionsCarouselFlipperBoxWidth,\n flipperSize: suggestedActionsCarouselFlipperSize\n }),\n [\n suggestedActionsCarouselFlipperBoxWidth,\n suggestedActionsCarouselFlipperCursor,\n suggestedActionsCarouselFlipperSize\n ]\n );\n const nextFlipperAriaLabel = localize2(\"SUGGESTED_ACTIONS_FLIPPER_NEXT_ALT\");\n const previousFlipperAriaLabel = localize2(\"SUGGESTED_ACTIONS_FLIPPER_PREVIOUS_ALT\");\n const [focusedWithin] = useFocusWithin(ref);\n const leftFlipperAriaLabel = direction === \"rtl\" ? nextFlipperAriaLabel : previousFlipperAriaLabel;\n const rightFlipperAriaLabel = direction === \"rtl\" ? previousFlipperAriaLabel : nextFlipperAriaLabel;\n return (\n // TODO: The content of suggested actions should be the labelled by the activity.\n // That means, when the user focus into the suggested actions, it should read similar to \"Bot said, what's your preference of today? Suggested actions has items: apple button, orange button, banana button.\"\n /* @__PURE__ */ React55.createElement(\n \"div\",\n {\n \"aria-label\": label,\n \"aria-orientation\": \"horizontal\",\n className: classNames22(\n \"webchat__suggested-actions\",\n \"webchat__suggested-actions--carousel-layout\",\n {\n \"webchat__suggested-actions--focus-within\": focusedWithin,\n \"webchat__suggested-actions--rtl\": direction === \"rtl\"\n },\n rootClassName,\n suggestedActionsStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n ref,\n role: \"toolbar\"\n },\n !!children && !!React55.Children.count(children) && /* @__PURE__ */ React55.createElement(\n BasicFilm,\n {\n autoCenter: false,\n className: \"webchat__suggested-actions__carousel\",\n dir: direction,\n flipperBlurFocusOnClick: true,\n leftFlipperAriaLabel,\n nonce,\n rightFlipperAriaLabel,\n showDots: false,\n showScrollBar: false,\n styleSet: filmStyleSet\n },\n children\n ),\n /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__focus-indicator\" })\n )\n );\n};\nSuggestedActionCarouselContainer.defaultProps = {\n children: void 0,\n className: void 0\n};\nSuggestedActionCarouselContainer.propTypes = {\n children: PropTypes32.any,\n className: PropTypes32.string,\n label: PropTypes32.string.isRequired\n};\nvar SuggestedActionFlowContainer = ({ children, className, label }) => {\n const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE13) + \"\";\n return /* @__PURE__ */ React55.createElement(\n \"div\",\n {\n \"aria-label\": label,\n \"aria-orientation\": \"horizontal\",\n className: classNames22(\n \"webchat__suggested-actions\",\n \"webchat__suggested-actions--flow-layout\",\n rootClassName,\n suggestedActionsStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n role: \"toolbar\"\n },\n !!children && !!React55.Children.count(children) && /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__flow-box\" }, React55.Children.map(children, (child) => /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__flow-item-box\" }, child))),\n /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__focus-indicator\" })\n );\n};\nSuggestedActionFlowContainer.defaultProps = {\n children: void 0,\n className: void 0\n};\nSuggestedActionFlowContainer.propTypes = {\n children: PropTypes32.any,\n className: PropTypes32.string,\n label: PropTypes32.string.isRequired\n};\nvar SuggestedActionStackedContainer = ({ children, className, label }) => {\n const [{ suggestedActions: suggestedActionsStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE13) + \"\";\n return /* @__PURE__ */ React55.createElement(\n \"div\",\n {\n \"aria-label\": label,\n \"aria-orientation\": \"vertical\",\n className: classNames22(\n \"webchat__suggested-actions\",\n \"webchat__suggested-actions--stacked-layout\",\n rootClassName,\n suggestedActionsStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n role: \"toolbar\"\n },\n !!children && !!React55.Children.count(children) && /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__stack\" }, children),\n /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__focus-indicator\" })\n );\n};\nSuggestedActionStackedContainer.defaultProps = {\n children: void 0,\n className: void 0\n};\nSuggestedActionStackedContainer.propTypes = {\n children: PropTypes32.any,\n className: PropTypes32.string,\n label: PropTypes32.string.isRequired\n};\nvar SuggestedActions = ({ className }) => {\n const [suggestedActions] = useSuggestedActions2();\n const [{ suggestedActionLayout, suggestedActionsStackedLayoutButtonTextWrap }] = useStyleOptions10();\n const localize2 = useLocalizer20();\n const focus = useFocus();\n const handleEscapeKey = useCallback30(() => {\n focus(\"sendBox\");\n }, [focus]);\n const label = localize2(\"SUGGESTED_ACTIONS_LABEL_ALT\");\n const children = suggestedActions.map((cardAction, index) => {\n const { displayText, image, imageAltText, text, type, value } = cardAction;\n return /* @__PURE__ */ React55.createElement(\"div\", { className: \"webchat__suggested-actions__item-box\", key: index }, /* @__PURE__ */ React55.createElement(\n SuggestedAction_default,\n {\n buttonText: computeSuggestedActionText(cardAction),\n className: \"webchat__suggested-actions__button\",\n displayText,\n image,\n imageAlt: image && (imageAltText || text),\n itemIndex: index,\n text,\n textClassName: suggestedActionLayout === \"stacked\" && suggestedActionsStackedLayoutButtonTextWrap ? \"webchat__suggested-actions__button-text-stacked-text-wrap\" : \"webchat__suggested-actions__button-text\",\n type,\n value\n }\n ));\n });\n if (!children.length) {\n return null;\n }\n if (suggestedActionLayout === \"flow\") {\n return /* @__PURE__ */ React55.createElement(RovingTabIndexComposer_default, { onEscapeKey: handleEscapeKey }, /* @__PURE__ */ React55.createElement(SuggestedActionFlowContainer, { className, label }, children));\n } else if (suggestedActionLayout === \"stacked\") {\n return /* @__PURE__ */ React55.createElement(RovingTabIndexComposer_default, { onEscapeKey: handleEscapeKey, orientation: \"vertical\" }, /* @__PURE__ */ React55.createElement(SuggestedActionStackedContainer, { className, label }, children));\n }\n return /* @__PURE__ */ React55.createElement(RovingTabIndexComposer_default, { onEscapeKey: handleEscapeKey }, /* @__PURE__ */ React55.createElement(SuggestedActionCarouselContainer, { className, label }, children));\n};\nvar SuggestedActions_default = SuggestedActions;\n\n// src/SendBox/TextBox.tsx\nimport { hooks as hooks41 } from \"botframework-webchat-api\";\nimport classNames24 from \"classnames\";\nimport React60, { useCallback as useCallback33, useMemo as useMemo22, useRef as useRef22 } from \"react\";\n\n// src/Utils/AccessibleInputText.tsx\nimport React56, {\n forwardRef as forwardRef5,\n useRef as useRef18\n} from \"react\";\n\n// src/hooks/internal/useEnterKeyHint.js\nimport { useEffect as useEffect20 } from \"react\";\nfunction useEnterKeyHint(elementRef, enterKeyHint) {\n useEffect20(() => {\n const { current } = elementRef;\n if (current) {\n current.enterKeyHint = enterKeyHint;\n }\n }, [enterKeyHint, elementRef]);\n}\n\n// src/Utils/AccessibleInputText.tsx\nvar AccessibleInputText = forwardRef5(\n ({\n \"aria-errormessage\": ariaErrorMessage,\n className,\n \"data-id\": dataId,\n \"data-testid\": dataTestId,\n disabled,\n enterKeyHint,\n onChange,\n onFocus,\n onKeyDown,\n onKeyDownCapture,\n onKeyPress,\n onSelect,\n placeholder,\n readOnly,\n tabIndex,\n value,\n ...props\n }, forwardedRef) => {\n const targetRef = useRef18();\n const ref = forwardedRef || targetRef;\n useEnterKeyHint(ref, enterKeyHint);\n return /* @__PURE__ */ React56.createElement(\n \"input\",\n {\n \"aria-disabled\": disabled || void 0,\n \"aria-errormessage\": ariaErrorMessage,\n className,\n \"data-id\": dataId,\n \"data-testid\": dataTestId,\n onChange: disabled ? void 0 : onChange,\n onFocus: disabled ? void 0 : onFocus,\n onKeyDown: disabled ? void 0 : onKeyDown,\n onKeyDownCapture: disabled ? void 0 : onKeyDownCapture,\n onKeyPress: disabled ? void 0 : onKeyPress,\n onSelect: disabled ? void 0 : onSelect,\n placeholder,\n readOnly: readOnly || disabled,\n ref,\n tabIndex: disabled ? -1 : tabIndex,\n value,\n ...props,\n type: \"text\"\n }\n );\n }\n);\nAccessibleInputText.displayName = \"AccessibleInputText\";\nvar AccessibleInputText_default = AccessibleInputText;\n\n// src/Utils/TypeFocusSink/navigableEvent.js\nfunction navigableEvent(event) {\n const {\n altKey,\n target,\n target: { tagName }\n } = event;\n const autocompleteAttribute = target.getAttribute(\"autocomplete\");\n const autocomplete = autocompleteAttribute && autocompleteAttribute !== \"off\";\n if (tagName === \"INPUT\") {\n const { list, type, value } = target;\n if (type === \"button\" || type === \"checkbox\" || type === \"file\" || type === \"image\" || type === \"radio\" || type === \"reset\" || type === \"submit\") {\n return true;\n } else if (type === \"email\" || type === \"password\" || type === \"search\" || type === \"tel\" || type === \"text\" || type === \"url\") {\n if (autocomplete || list) {\n return true;\n } else if (altKey || !value) {\n return true;\n }\n }\n } else if (tagName === \"SELECT\") {\n return false;\n } else if (tagName === \"TEXTAREA\") {\n if (!autocomplete && (altKey || !target.value)) {\n return true;\n }\n } else if (target.getAttribute(\"contenteditable\") === \"true\") {\n if (altKey || !target.innerHTML) {\n return true;\n }\n } else {\n return true;\n }\n}\n\n// src/withEmoji/withEmoji.tsx\nimport { useRefFrom as useRefFrom7 } from \"use-ref-from\";\nimport mergeRefs from \"merge-refs\";\nimport React57, {\n forwardRef as forwardRef6,\n useCallback as useCallback32,\n useMemo as useMemo21,\n useRef as useRef20\n} from \"react\";\n\n// src/withEmoji/private/useUndoStack.ts\nimport { useCallback as useCallback31, useRef as useRef19 } from \"react\";\n\n// src/withEmoji/private/UndoEntry.ts\nvar UndoEntry = class {\n constructor(value, selectionStart, selectionEnd, group) {\n this.#group = group;\n this.#selectionEnd = selectionEnd;\n this.#selectionStart = selectionStart;\n this.#value = value;\n }\n #group;\n #selectionEnd;\n #selectionStart;\n #value;\n get group() {\n return this.#group;\n }\n get selectionStart() {\n return this.#selectionStart;\n }\n get selectionEnd() {\n return this.#selectionEnd;\n }\n get value() {\n return this.#value;\n }\n};\n\n// src/withEmoji/private/useUndoStack.ts\nfunction useUndoStack(elementRef) {\n const undoStackRef = useRef19([]);\n const push = useCallback31(\n (group) => {\n const { current: element } = elementRef;\n if (!element) {\n return;\n }\n const { current: undoStack } = undoStackRef;\n const [firstEntry] = undoStack;\n const { selectionEnd, selectionStart, value } = element;\n if (!group || group !== firstEntry?.group) {\n value === firstEntry?.value && undoStack.shift();\n undoStack.unshift(new UndoEntry(value, selectionStart, selectionEnd, group));\n }\n },\n [elementRef, undoStackRef]\n );\n const undo = useCallback31(() => {\n const { current: element } = elementRef;\n if (!element) {\n return;\n }\n const { current: undoStack } = undoStackRef;\n let lastEntry;\n while (undoStack.length) {\n [lastEntry] = undoStack;\n if (lastEntry?.value === element.value) {\n undoStack.shift();\n } else {\n break;\n }\n }\n if (lastEntry) {\n element.value = lastEntry.value;\n element.selectionStart = lastEntry.selectionStart;\n element.selectionEnd = lastEntry.selectionEnd;\n } else {\n element.value = \"\";\n }\n }, [elementRef, undoStackRef]);\n return Object.freeze({ push, undo });\n}\n\n// src/withEmoji/withEmoji.tsx\nfunction WithEmojiController({\n componentProps,\n componentType,\n emojiMap = /* @__PURE__ */ new Map(),\n innerRef,\n onChange\n}) {\n const { value } = componentProps;\n const inputElementRef = useRef20(null);\n const onChangeRef = useRefFrom7(onChange);\n const { push, undo } = useUndoStack(inputElementRef);\n const valueRef = useRefFrom7(value);\n const handleChange = useCallback32(\n ({ currentTarget }) => {\n const { selectionEnd, selectionStart, value: value2 } = currentTarget;\n if (typeof selectionEnd === \"number\" && typeof selectionStart === \"number\" && selectionStart === selectionEnd && value2 && value2.length === (valueRef.current || \"\").length + 1) {\n for (const [emoticon, emoji] of emojiMap.entries()) {\n const { length } = emoticon;\n if (value2.slice(selectionEnd - length, selectionEnd) === emoticon) {\n push();\n const nextValue = `${value2.slice(0, selectionEnd - length)}${emoji}${value2.slice(selectionEnd)}`;\n const nextSelectionEnd = selectionEnd + emoji.length - length;\n currentTarget.value = nextValue;\n currentTarget.selectionStart = selectionStart;\n currentTarget.selectionEnd = nextSelectionEnd;\n break;\n }\n }\n }\n value2 || push();\n onChangeRef.current?.(currentTarget.value);\n },\n [push, emojiMap, onChangeRef, valueRef]\n );\n const handleFocus = useCallback32(() => push(), [push]);\n const handleKeyDown = useCallback32(\n // eslint-disable-next-line complexity\n (event) => {\n const { ctrlKey, key, metaKey } = event;\n const uppercaseKey = key.toUpperCase();\n if ((ctrlKey || metaKey) && uppercaseKey === \"Z\") {\n event.preventDefault();\n undo();\n onChangeRef.current?.(event.currentTarget.value);\n } else if (key === \"Backspace\") {\n push(\"backspace\");\n } else if (key === \"Delete\") {\n push(\"delete\");\n } else if (key === \"ArrowLeft\" || key === \"ArrowRight\" || key === \"ArrowUp\" || key === \"ArrowDown\" || key === \"Home\" || key === \"End\" || key === \"PageUp\" || key === \"PageDown\" || (ctrlKey || metaKey) && uppercaseKey === \"A\" || (ctrlKey || metaKey) && (uppercaseKey === \"V\" || uppercaseKey === \"X\")) {\n push();\n } else {\n push(\"change\");\n }\n },\n [push, onChangeRef, undo]\n );\n useMemo21(\n () => (!inputElementRef.current || inputElementRef.current.value !== value) && push(),\n [push, inputElementRef, value]\n );\n return React57.createElement(componentType, {\n ...componentProps,\n onChange: handleChange,\n onFocus: handleFocus,\n onKeyDown: handleKeyDown,\n ref: mergeRefs(inputElementRef, innerRef)\n });\n}\nfunction withEmoji(componentType) {\n const WithEmoji = forwardRef6(({ emojiMap, onChange, ...props }, ref) => /* @__PURE__ */ React57.createElement(\n WithEmojiController,\n {\n componentProps: props,\n componentType,\n emojiMap,\n innerRef: ref,\n onChange\n }\n ));\n WithEmoji.displayName = `WithEmoji<${componentType.displayName}>`;\n return WithEmoji;\n}\n\n// src/SendBox/AutoResizeTextArea.tsx\nimport classNames23 from \"classnames\";\nimport React59, {\n forwardRef as forwardRef8\n} from \"react\";\n\n// src/Utils/AccessibleTextArea.tsx\nimport PropTypes33 from \"prop-types\";\nimport React58, {\n forwardRef as forwardRef7,\n useRef as useRef21\n} from \"react\";\nvar AccessibleTextArea = forwardRef7(\n ({\n className,\n disabled,\n inputMode,\n onChange,\n onFocus,\n onKeyDown,\n onKeyDownCapture,\n onKeyPress,\n onSelect,\n placeholder,\n readOnly,\n rows,\n tabIndex,\n ...props\n }, forwardedRef) => {\n const targetRef = useRef21();\n const ref = forwardedRef || targetRef;\n return /* @__PURE__ */ React58.createElement(\n \"textarea\",\n {\n \"aria-disabled\": disabled || void 0,\n className,\n inputMode,\n onChange: disabled ? void 0 : onChange,\n onFocus: disabled ? void 0 : onFocus,\n onKeyDown: disabled ? void 0 : onKeyDown,\n onKeyDownCapture: disabled ? void 0 : onKeyDownCapture,\n onKeyPress: disabled ? void 0 : onKeyPress,\n onSelect: disabled ? void 0 : onSelect,\n placeholder,\n readOnly: readOnly || disabled,\n ref,\n rows,\n tabIndex: disabled ? -1 : tabIndex,\n ...props\n }\n );\n }\n);\nAccessibleTextArea.defaultProps = {\n className: void 0,\n disabled: void 0,\n inputMode: void 0,\n onChange: void 0,\n onFocus: void 0,\n onKeyDown: void 0,\n onKeyDownCapture: void 0,\n onKeyPress: void 0,\n onSelect: void 0,\n placeholder: void 0,\n readOnly: void 0,\n rows: void 0,\n tabIndex: void 0,\n value: void 0\n};\nAccessibleTextArea.displayName = \"AccessibleTextArea\";\nAccessibleTextArea.propTypes = {\n className: PropTypes33.string,\n disabled: PropTypes33.bool,\n inputMode: PropTypes33.oneOf([\"text\", \"none\", \"tel\", \"url\", \"email\", \"numeric\", \"decimal\", \"search\"]),\n onChange: PropTypes33.func,\n onFocus: PropTypes33.func,\n onKeyDown: PropTypes33.func,\n onKeyDownCapture: PropTypes33.func,\n onKeyPress: PropTypes33.func,\n onSelect: PropTypes33.func,\n placeholder: PropTypes33.string,\n readOnly: PropTypes33.bool,\n rows: PropTypes33.number,\n tabIndex: PropTypes33.number,\n value: PropTypes33.string\n};\nvar AccessibleTextArea_default = AccessibleTextArea;\n\n// src/SendBox/AutoResizeTextArea.tsx\nvar AutoResizeTextArea = forwardRef8(\n ({\n \"aria-errormessage\": ariaErrorMessage,\n \"aria-label\": ariaLabel,\n className,\n \"data-id\": dataId,\n \"data-testid\": dataTestId,\n disabled,\n enterKeyHint,\n inputMode,\n onChange,\n onFocus,\n onKeyDown,\n onKeyDownCapture,\n onKeyPress,\n onSelect,\n placeholder,\n readOnly,\n rows,\n textAreaClassName,\n value\n }, ref) => {\n const [{ autoResizeTextArea: autoResizeTextAreaStyleSet }] = useStyleSet();\n useEnterKeyHint(ref, enterKeyHint);\n return /* @__PURE__ */ React59.createElement(\"div\", { className: classNames23(\"webchat__auto-resize-textarea\", autoResizeTextAreaStyleSet + \"\", className) }, /* @__PURE__ */ React59.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__auto-resize-textarea__doppelganger\" }, value, \"\\xA0\"), /* @__PURE__ */ React59.createElement(\n AccessibleTextArea_default,\n {\n \"aria-errormessage\": ariaErrorMessage,\n \"aria-label\": ariaLabel,\n className: classNames23(\"webchat__auto-resize-textarea__textarea\", textAreaClassName),\n \"data-id\": dataId,\n \"data-testid\": dataTestId,\n disabled,\n inputMode,\n onChange,\n onFocus,\n onKeyDown,\n onKeyDownCapture,\n onKeyPress,\n onSelect,\n placeholder,\n readOnly,\n ref,\n rows,\n value\n }\n ));\n }\n);\nvar AutoResizeTextArea_default = AutoResizeTextArea;\n\n// src/testIds.ts\nvar testIds = {\n copyButton: \"copy button\",\n sendBoxTextBox: \"send box text area\"\n};\nvar testIds_default = testIds;\n\n// src/SendBox/TextBox.tsx\nvar { useLocalizer: useLocalizer21, usePonyfill: usePonyfill4, useSendBoxValue: useSendBoxValue2, useStopDictate: useStopDictate2, useStyleOptions: useStyleOptions11, useUIState: useUIState4 } = hooks41;\nvar ROOT_STYLE14 = {\n \"&.webchat__send-box-text-box\": {\n display: \"flex\",\n \"& .webchat__send-box-text-box__input, & .webchat__send-box-text-box__text-area\": {\n flex: 1\n }\n }\n};\nfunction useTextBoxSubmit() {\n const submit = useSubmit();\n return useCallback33(\n (setFocus) => submit({ setFocus: setFocus || void 0 }),\n [submit]\n );\n}\nfunction useTextBoxValue() {\n const [value, setValue] = useSendBoxValue2();\n const stopDictate = useStopDictate2();\n const setter = useCallback33(\n (nextValue) => {\n if (typeof nextValue !== \"string\") {\n throw new Error(\"botframework-webchat: First argument passed to useTextBoxValue() must be a string.\");\n }\n setValue(nextValue);\n stopDictate();\n },\n [setValue, stopDictate]\n );\n return [value, setter];\n}\nvar PREVENT_DEFAULT_HANDLER2 = (event) => event.preventDefault();\nvar SingleLineTextBox = withEmoji(AccessibleInputText_default);\nvar MultiLineTextBox = withEmoji(AutoResizeTextArea_default);\nvar TextBox = ({ className = \"\" }) => {\n const [value, setValue] = useSendBoxValue2();\n const [{ sendBoxTextBox: sendBoxTextBoxStyleSet }] = useStyleSet();\n const [{ emojiSet, sendBoxTextWrap }] = useStyleOptions11();\n const [{ setTimeout }] = usePonyfill4();\n const [uiState] = useUIState4();\n const inputElementRef = useRef22();\n const localize2 = useLocalizer21();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE14) + \"\";\n const scrollDown = useScrollDown();\n const scrollUp = useScrollUp();\n const submitTextBox = useTextBoxSubmit();\n const disabled = uiState === \"disabled\";\n const sendBoxString = localize2(\"TEXT_INPUT_ALT\");\n const typeYourMessageString = localize2(\"TEXT_INPUT_PLACEHOLDER\");\n const handleKeyPress = useCallback33(\n (event) => {\n const { key, shiftKey } = event;\n if (key === \"Enter\" && !shiftKey) {\n event.preventDefault();\n submitTextBox(\"sendBox\");\n }\n },\n [submitTextBox]\n );\n const handleSubmit = useCallback33(\n (event) => {\n event.preventDefault();\n submitTextBox();\n },\n [submitTextBox]\n );\n const handleKeyDownCapture = useCallback33(\n (event) => {\n const { ctrlKey, metaKey, shiftKey } = event;\n if (ctrlKey || metaKey || shiftKey) {\n return;\n }\n if (navigableEvent(event)) {\n let handled = true;\n switch (event.key) {\n case \"End\":\n scrollDown({ displacement: Infinity });\n break;\n case \"Home\":\n scrollUp({ displacement: Infinity });\n break;\n case \"PageDown\":\n scrollDown();\n break;\n case \"PageUp\":\n scrollUp();\n break;\n default:\n handled = false;\n break;\n }\n if (handled) {\n event.preventDefault();\n event.stopPropagation();\n }\n }\n },\n [scrollDown, scrollUp]\n );\n const focusCallback = useCallback33(\n (options) => {\n const { noKeyboard } = options;\n const { current } = inputElementRef;\n if (current) {\n if (noKeyboard && !ie11) {\n const readOnly = current.getAttribute(\"readonly\");\n current.setAttribute(\"readonly\", \"readonly\");\n options.waitUntil(\n async function() {\n await new Promise((resolve) => setTimeout(resolve, 0));\n if (current) {\n current.focus();\n readOnly ? current.setAttribute(\"readonly\", readOnly) : current.removeAttribute(\"readonly\");\n }\n }()\n );\n } else {\n current.focus();\n }\n }\n },\n [inputElementRef, setTimeout]\n );\n useRegisterFocusSendBox(focusCallback);\n const emojiMap = useMemo22(() => new Map(Object.entries(emojiSet)), [emojiSet]);\n return /* @__PURE__ */ React60.createElement(\n \"form\",\n {\n \"aria-disabled\": disabled,\n className: classNames24(\n \"webchat__send-box-text-box\",\n rootClassName,\n sendBoxTextBoxStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n onSubmit: disabled ? PREVENT_DEFAULT_HANDLER2 : handleSubmit\n },\n !sendBoxTextWrap ? /* @__PURE__ */ React60.createElement(\n SingleLineTextBox,\n {\n \"aria-label\": sendBoxString,\n className: \"webchat__send-box-text-box__input\",\n \"data-id\": \"webchat-sendbox-input\",\n \"data-testid\": testIds_default.sendBoxTextBox,\n disabled,\n emojiMap,\n enterKeyHint: \"send\",\n inputMode: \"text\",\n onChange: setValue,\n onKeyDownCapture: disabled ? void 0 : handleKeyDownCapture,\n onKeyPress: disabled ? void 0 : handleKeyPress,\n placeholder: typeYourMessageString,\n readOnly: disabled,\n ref: inputElementRef,\n type: \"text\",\n value\n }\n ) : /* @__PURE__ */ React60.createElement(\n MultiLineTextBox,\n {\n \"aria-label\": sendBoxString,\n className: \"webchat__send-box-text-box__text-area\",\n \"data-id\": \"webchat-sendbox-input\",\n \"data-testid\": testIds_default.sendBoxTextBox,\n disabled,\n emojiMap,\n enterKeyHint: \"send\",\n inputMode: \"text\",\n onChange: setValue,\n onKeyDownCapture: disabled ? void 0 : handleKeyDownCapture,\n onKeyPress: disabled ? void 0 : handleKeyPress,\n placeholder: typeYourMessageString,\n readOnly: disabled,\n ref: inputElementRef,\n rows: 1,\n textAreaClassName: \"webchat__send-box-text-box__html-text-area\",\n value\n }\n ),\n disabled && /* @__PURE__ */ React60.createElement(\"div\", { className: \"webchat__send-box-text-box__glass\" })\n );\n};\nvar TextBox_default = TextBox;\n\n// src/SendBox/BasicSendBox.tsx\nvar {\n DictateState: { DICTATING: DICTATING2, STARTING: STARTING2 }\n} = Constants3;\nvar { useActivities: useActivities2, useDirection: useDirection12, useDictateState: useDictateState3, useStyleOptions: useStyleOptions12 } = hooks42;\nvar ROOT_STYLE15 = {\n \"&.webchat__send-box\": {\n \"& .webchat__send-box__button\": { flexShrink: 0 },\n \"& .webchat__send-box__dictation-interims\": { flex: 1e4 },\n \"& .webchat__send-box__main\": { display: \"flex\" },\n \"& .webchat__send-box__microphone-button\": { flex: 1 },\n \"& .webchat__send-box__text-box\": { flex: 1e4 }\n }\n};\nfunction activityIsSpeakingOrQueuedToSpeak(activity) {\n return activity.type === \"message\" && activity.channelData?.speak;\n}\nfunction useSendBoxSpeechInterimsVisible() {\n const [activities] = useActivities2();\n const [dictateState] = useDictateState3();\n return [\n (dictateState === STARTING2 || dictateState === DICTATING2) && !activities.filter(activityIsSpeakingOrQueuedToSpeak).length\n ];\n}\nvar BasicSendBox = ({ className }) => {\n const [{ sendBoxButtonAlignment }] = useStyleOptions12();\n const [{ sendBox: sendBoxStyleSet }] = useStyleSet();\n const [{ SpeechRecognition = void 0 } = {}] = useWebSpeechPonyfill();\n const [direction] = useDirection12();\n const [errorMessageId] = useSubmitErrorMessageId();\n const [speechInterimsVisible] = useSendBoxSpeechInterimsVisible();\n const styleToEmotionObject = useStyleToEmotionObject();\n const rootClassName = styleToEmotionObject(ROOT_STYLE15) + \"\";\n const supportSpeechRecognition = !!SpeechRecognition;\n const buttonClassName = classNames25(\"webchat__send-box__button\", {\n \"webchat__send-box__button--align-bottom\": sendBoxButtonAlignment === \"bottom\",\n \"webchat__send-box__button--align-stretch\": sendBoxButtonAlignment !== \"bottom\" && sendBoxButtonAlignment !== \"top\",\n \"webchat__send-box__button--align-top\": sendBoxButtonAlignment === \"top\"\n });\n return /* @__PURE__ */ React61.createElement(\n \"div\",\n {\n \"aria-describedby\": errorMessageId,\n \"aria-errormessage\": errorMessageId,\n \"aria-invalid\": !!errorMessageId,\n className: classNames25(\"webchat__send-box\", sendBoxStyleSet + \"\", rootClassName + \"\", (className || \"\") + \"\"),\n dir: direction,\n role: \"form\"\n },\n /* @__PURE__ */ React61.createElement(SuggestedActions_default, null),\n /* @__PURE__ */ React61.createElement(\"div\", { className: \"webchat__send-box__main\" }, /* @__PURE__ */ React61.createElement(SendBoxToolbarMiddlewareProxy, { className: buttonClassName, request: void 0 }), speechInterimsVisible ? /* @__PURE__ */ React61.createElement(DictationInterims_default, { className: \"webchat__send-box__dictation-interims\" }) : /* @__PURE__ */ React61.createElement(TextBox_default, { className: \"webchat__send-box__text-box\" }), supportSpeechRecognition ? /* @__PURE__ */ React61.createElement(MicrophoneButton_default, { className: classNames25(buttonClassName, \"webchat__send-box__microphone-button\") }) : /* @__PURE__ */ React61.createElement(SendButton_default, { className: buttonClassName }))\n );\n};\nvar BasicSendBox_default = BasicSendBox;\n\n// src/Utils/MonochromeImageMasker.tsx\nvar MonochromeImageMasker = ({ className, src }) => {\n const [{ monochromeImageMasker }] = useStyleSet();\n const style = useMemo23(\n () => ({ \"--webchat__monochrome-image-masker__mask-image\": `url(${src})` }),\n [src]\n );\n return /* @__PURE__ */ React62.createElement(\"div\", { className: classNames26(monochromeImageMasker, \"webchat__monochrome-image-masker\", className), style });\n};\nMonochromeImageMasker.displayName = \"MonochromeImageMasker\";\nvar MonochromeImageMasker_default = memo18(MonochromeImageMasker);\n\n// src/Attachment/Text/private/ActivityButton.tsx\nvar ActivityButton = forwardRef9(\n ({ children, className, \"data-testid\": dataTestId, disabled, iconURL, onClick, text }, ref) => {\n const [{ activityButton }] = useStyleSet();\n const onClickRef = useRefFrom8(onClick);\n const handleClick = useCallback34(() => onClickRef.current?.(), [onClickRef]);\n return /* @__PURE__ */ React63.createElement(\n \"button\",\n {\n \"aria-disabled\": disabled ? \"true\" : void 0,\n className: classNames27(activityButton, \"webchat__activity-button\", className),\n \"data-testid\": dataTestId,\n onClick: disabled ? void 0 : handleClick,\n ref,\n tabIndex: disabled ? -1 : void 0,\n type: \"button\"\n },\n iconURL && /* @__PURE__ */ React63.createElement(MonochromeImageMasker_default, { className: \"webchat__activity-button__icon\", src: iconURL }),\n text && /* @__PURE__ */ React63.createElement(\"span\", { className: \"webchat__activity-button__text\" }, text),\n children\n );\n }\n);\nvar ActivityButton_default = memo19(ActivityButton);\n\n// src/Attachment/Text/private/ActivityCopyButton.tsx\nvar { useLocalizer: useLocalizer22, useUIState: useUIState5 } = hooks43;\nvar COPY_ICON_URL = `data:image/svg+xml;utf8,${encodeURIComponent('')}`;\nvar ActivityCopyButton = ({ className, htmlText, plainText }) => {\n const [{ activityButton, activityCopyButton }] = useStyleSet();\n const [permissionGranted, setPermissionGranted] = useState9(false);\n const [uiState] = useUIState5();\n const buttonRef = useRef23(null);\n const htmlTextRef = useRefFrom9(htmlText);\n const localize2 = useLocalizer22();\n const plainTextRef = useRefFrom9(plainText);\n const copiedText = localize2(\"COPY_BUTTON_COPIED_TEXT\");\n const copyText = localize2(\"COPY_BUTTON_TEXT\");\n const disabled = !permissionGranted || uiState === \"disabled\";\n useEffect21(() => {\n const { current } = buttonRef;\n if (current) {\n const handleAnimationEnd = () => current.classList.remove(\"webchat__activity-copy-button--copied\");\n current.addEventListener(\"animationend\", handleAnimationEnd);\n return () => current.removeEventListener(\"animationend\", handleAnimationEnd);\n }\n }, [buttonRef]);\n const handleClick = useCallback35(() => {\n const { current: htmlText2 } = htmlTextRef;\n navigator.clipboard?.write([\n new ClipboardItem({\n ...htmlText2 ? { \"text/html\": new Blob([htmlText2], { type: \"text/html\" }) } : {},\n \"text/plain\": new Blob([plainTextRef.current], { type: \"text/plain\" })\n })\n ]).catch((error) => console.error(`botframework-webchat-fluent-theme: Failed to copy to clipboard.`, error));\n buttonRef.current?.classList.remove(\"webchat__activity-copy-button--copied\");\n buttonRef.current?.offsetWidth;\n buttonRef.current?.classList.add(\"webchat__activity-copy-button--copied\");\n }, [buttonRef, htmlTextRef, plainTextRef]);\n useEffect21(() => {\n let unmounted = false;\n (async function() {\n if ((await navigator.permissions.query({ name: \"clipboard-write\" })).state === \"granted\") {\n unmounted || setPermissionGranted(true);\n }\n })();\n return () => {\n unmounted = true;\n };\n }, [setPermissionGranted]);\n return /* @__PURE__ */ React64.createElement(\n ActivityButton_default,\n {\n className: classNames28(\n activityButton,\n activityCopyButton,\n \"webchat__activity-button\",\n \"webchat__activity-copy-button\",\n className\n ),\n \"data-testid\": \"copy button\",\n disabled,\n iconURL: COPY_ICON_URL,\n onClick: handleClick,\n ref: buttonRef,\n text: copyText\n },\n /* @__PURE__ */ React64.createElement(\"span\", { className: \"webchat__activity-copy-button__copied-text\" }, copiedText)\n );\n};\nActivityCopyButton.displayName = \"ActivityCopyButton\";\nvar ActivityCopyButton_default = memo20(ActivityCopyButton);\n\n// src/Attachment/Text/private/CitationModalContent.tsx\nimport classNames29 from \"classnames\";\nimport React65, { Fragment as Fragment7, memo as memo21 } from \"react\";\nvar CitationModalContent = memo21(({ headerText, markdown }) => {\n const [{ renderMarkdown: renderMarkdownStyleSet }] = useStyleSet();\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML(\"citation modal\");\n return /* @__PURE__ */ React65.createElement(Fragment7, null, headerText && /* @__PURE__ */ React65.createElement(\"h2\", { className: \"webchat__citation-modal-dialog__header\" }, headerText), renderMarkdownAsHTML ? /* @__PURE__ */ React65.createElement(\n \"div\",\n {\n className: classNames29(\n \"webchat__citation-modal-dialog__body\",\n \"webchat__render-markdown\",\n renderMarkdownStyleSet + \"\"\n ),\n dangerouslySetInnerHTML: { __html: renderMarkdownAsHTML(markdown) }\n }\n ) : /* @__PURE__ */ React65.createElement(\"div\", { className: classNames29(\"webchat__render-markdown\", renderMarkdownStyleSet + \"\") }, markdown));\n});\nCitationModalContent.displayName = \"CitationModalContent\";\nvar CitationModalContent_default = CitationModalContent;\n\n// src/Attachment/Text/private/MessageSensitivityLabel.tsx\nimport classNames31 from \"classnames\";\nimport React67, { memo as memo22, useMemo as useMemo24 } from \"react\";\n\n// src/Attachment/Text/private/ShieldIcon.tsx\nimport classNames30 from \"classnames\";\nimport React66, { Fragment as Fragment8 } from \"react\";\nvar ShieldIcon = ({ className, fillColor, hasLock }) => /* @__PURE__ */ React66.createElement(\"svg\", { className: classNames30(className), height: \"16\", viewBox: \"0 0 16 16\", width: \"16\", xmlns: \"http://www.w3.org/2000/svg\" }, hasLock ? /* @__PURE__ */ React66.createElement(Fragment8, null, fillColor && /* @__PURE__ */ React66.createElement(\n \"path\",\n {\n d: \"M8.35464 2.14678C8.15946 1.95123 7.84268 1.95105 7.64728 2.14638C6.40416 3.38902 5.02923 4 3.5 4C3.22386 4 3 4.22386 3 4.5V7.50126C3 10.4242 4.35378 12.4971 7 13.6523V10C7 9.06808 7.63739 8.28503 8.5 8.06301V8C8.5 6.34315 9.84315 5 11.5 5C12.0464 5 12.5587 5.14609 13 5.40135V4.5C13 4.22386 12.7761 4 12.5 4C10.9689 4 9.5947 3.38913 8.35464 2.14678ZM9.5 9V8C9.5 6.89543 10.3954 6 11.5 6C12.6046 6 13.5 6.89543 13.5 8V9H14C14.5523 9 15 9.44772 15 10V14C15 14.5523 14.5523 15 14 15H9C8.44771 15 8 14.5523 8 14V10C8 9.44772 8.44772 9 9 9H9.5ZM10.5 8V9H12.5V8C12.5 7.44772 12.0523 7 11.5 7C10.9477 7 10.5 7.44772 10.5 8ZM12.25 12C12.25 11.5858 11.9142 11.25 11.5 11.25C11.0858 11.25 10.75 11.5858 10.75 12C10.75 12.4142 11.0858 12.75 11.5 12.75C11.9142 12.75 12.25 12.4142 12.25 12Z\",\n fill: fillColor\n }\n), /* @__PURE__ */ React66.createElement(\n \"path\",\n {\n d: \"M7.64728 2.14638C7.84268 1.95105 8.15946 1.95123 8.35464 2.14678C9.5947 3.38913 10.9689 4 12.5 4C12.7761 4 13 4.22386 13 4.5V5.40135C12.6963 5.22567 12.359 5.1017 12 5.04148V4.98121C10.5195 4.86895 9.18521 4.25528 8.00042 3.18917C6.81393 4.25491 5.47941 4.86879 4 4.98118V7.50126C4 8.9349 4.36269 10.0655 5.02127 10.9453C5.49089 11.5727 6.14168 12.1134 7 12.5478V13.6523C4.35378 12.4971 3 10.4242 3 7.50126V4.5C3 4.22386 3.22386 4 3.5 4C5.02923 4 6.40416 3.38902 7.64728 2.14638ZM9.5 8V9H9C8.44772 9 8 9.44772 8 10V14C8 14.5523 8.44771 15 9 15H14C14.5523 15 15 14.5523 15 14V10C15 9.44772 14.5523 9 14 9H13.5V8C13.5 6.89543 12.6046 6 11.5 6C10.3954 6 9.5 6.89543 9.5 8ZM10.5 9V8C10.5 7.44772 10.9477 7 11.5 7C12.0523 7 12.5 7.44772 12.5 8V9H10.5ZM11.5 11.25C11.9142 11.25 12.25 11.5858 12.25 12C12.25 12.4142 11.9142 12.75 11.5 12.75C11.0858 12.75 10.75 12.4142 10.75 12C10.75 11.5858 11.0858 11.25 11.5 11.25Z\",\n fill: \"currentcolor\"\n }\n)) : /* @__PURE__ */ React66.createElement(Fragment8, null, fillColor && /* @__PURE__ */ React66.createElement(\n \"path\",\n {\n d: \"M7.64728 2.14638C7.84268 1.95105 8.15946 1.95123 8.35464 2.14678C9.5947 3.38913 10.9689 4 12.5 4C12.7761 4 13 4.22386 13 4.5V7.50126C13 10.7196 11.3587 12.9075 8.15811 13.9743C8.05548 14.0086 7.94452 14.0086 7.84189 13.9743C4.64126 12.9075 3 10.7196 3 7.50126V4.5C3 4.22386 3.22386 4 3.5 4C5.02923 4 6.40416 3.38902 7.64728 2.14638Z\",\n fill: fillColor\n }\n), /* @__PURE__ */ React66.createElement(\n \"path\",\n {\n d: \"M7.64728 2.14638C7.84268 1.95105 8.15946 1.95123 8.35464 2.14678C9.5947 3.38913 10.9689 4 12.5 4C12.7761 4 13 4.22386 13 4.5V7.50126C13 10.7196 11.3587 12.9075 8.15811 13.9743C8.05548 14.0086 7.94452 14.0086 7.84189 13.9743C4.64126 12.9075 3 10.7196 3 7.50126V4.5C3 4.22386 3.22386 4 3.5 4C5.02923 4 6.40416 3.38902 7.64728 2.14638ZM8.00042 3.18917C6.81393 4.25491 5.47941 4.86879 4 4.98118V7.50126C4 8.9349 4.36269 10.0655 5.02127 10.9453C5.65858 11.7967 6.62953 12.4885 8 12.9715C9.37047 12.4885 10.3414 11.7967 10.9787 10.9453C11.6373 10.0655 12 8.9349 12 7.50126V4.98121C10.5195 4.86895 9.18521 4.25528 8.00042 3.18917Z\",\n fill: \"currentcolor\"\n }\n)));\nvar ShieldIcon_default = ShieldIcon;\n\n// src/Attachment/Text/private/MessageSensitivityLabel.tsx\nvar MessageSensitivityLabel = memo22(({ className, color, isEncrypted, name, title }) => /* @__PURE__ */ React67.createElement(\n \"div\",\n {\n className: classNames31(\n \"webchat__link-definitions__message-sensitivity-label\",\n {\n \"webchat__link-definitions__message-sensitivity-label--is-encrypted\": isEncrypted\n },\n className\n ),\n title: useMemo24(() => [name, title].filter(Boolean).join(\"\\n\\n\"), [name, title])\n },\n /* @__PURE__ */ React67.createElement(\n ShieldIcon_default,\n {\n className: \"webchat__link-definitions__message-sensitivity-label-icon\",\n fillColor: color,\n hasLock: isEncrypted\n }\n ),\n /* @__PURE__ */ React67.createElement(\"span\", { className: \"webchat__link-definitions__message-sensitivity-label-text\" }, name)\n));\nMessageSensitivityLabel.displayName = \"MessageSensitivityLabel\";\nvar MessageSensitivityLabel_default = MessageSensitivityLabel;\n\n// src/Attachment/Text/private/isHTMLButtonElement.ts\nfunction isHTMLButtonElement(button) {\n return button.matches(\"button\");\n}\n\n// src/Attachment/Text/private/MarkdownTextContent.tsx\nvar { useLocalizer: useLocalizer23 } = hooks44;\nfunction isCitationURL(url) {\n return onErrorResumeNext(() => new URL(url))?.protocol === \"cite:\";\n}\nvar MarkdownTextContent = memo23(({ activity, children, markdown }) => {\n const [\n {\n citationModalDialog: citationModalDialogStyleSet,\n renderMarkdown: renderMarkdownStyleSet,\n textContent: textContentStyleSet\n }\n ] = useStyleSet();\n const localize2 = useLocalizer23();\n const graph = useMemo25(() => dereferenceBlankNodes(activity.entities || []), [activity.entities]);\n const renderMarkdownAsHTML = useRenderMarkdownAsHTML(\"message activity\");\n const renderMarkdownAsHTMLForClipboard = useRenderMarkdownAsHTML(\"clipboard\");\n const showModal = useShowModal();\n const messageThing = useMemo25(() => getOrgSchemaMessage2(graph), [graph]);\n const citationModalDialogLabel = localize2(\"CITATION_MODEL_DIALOG_ALT\");\n if (!renderMarkdownAsHTML) {\n throw new Error(\"botframework-webchat: assert failed for renderMarkdownAsHTML\");\n }\n const dangerouslySetInnerHTML = useMemo25(\n () => ({ __html: markdown ? renderMarkdownAsHTML(markdown) : \"\" }),\n [renderMarkdownAsHTML, markdown]\n );\n const htmlTextForClipboard = useMemo25(\n () => markdown ? renderMarkdownAsHTMLForClipboard(markdown) : void 0,\n [markdown, renderMarkdownAsHTMLForClipboard]\n );\n const markdownDefinitions = useMemo25(\n () => fromMarkdown(markdown).children.filter((node) => node.type === \"definition\"),\n [markdown]\n );\n const showClaimModal = useCallback36(\n (title, text, altText) => {\n showModal(() => /* @__PURE__ */ React68.createElement(CitationModalContent_default, { headerText: title, markdown: text }), {\n \"aria-label\": altText || title || citationModalDialogLabel,\n className: classNames32(\"webchat__citation-modal-dialog\", citationModalDialogStyleSet)\n });\n },\n [citationModalDialogStyleSet, citationModalDialogLabel, showModal]\n );\n const entries = useMemo25(\n () => Object.freeze(\n markdownDefinitions.map((markdownDefinition) => {\n const messageCitation = messageThing?.citation?.map(parseClaim).find(({ position }) => \"\" + position === markdownDefinition.identifier);\n if (messageCitation) {\n return {\n claim: messageCitation,\n key: markdownDefinition.url,\n handleClick: messageCitation?.appearance && !messageCitation.appearance.url ? () => showClaimModal(\n messageCitation.appearance.name ?? markdownDefinition.title,\n messageCitation.appearance.text,\n messageCitation.alternateName\n ) : void 0,\n markdownDefinition,\n url: messageCitation?.appearance ? messageCitation.appearance.url : markdownDefinition.url\n };\n }\n const rootLevelClaim = graph.filter(({ type }) => type === \"https://schema.org/Claim\").map(parseClaim).find(({ \"@id\": id }) => id === markdownDefinition.url);\n if (rootLevelClaim) {\n return {\n claim: rootLevelClaim,\n key: markdownDefinition.url,\n handleClick: isCitationURL(rootLevelClaim[\"@id\"]) ? () => showClaimModal(\n rootLevelClaim.name ?? markdownDefinition.title,\n rootLevelClaim.text,\n rootLevelClaim.alternateName\n ) : void 0,\n markdownDefinition\n };\n }\n return {\n key: markdownDefinition.url,\n markdownDefinition,\n url: markdownDefinition.url\n };\n })\n ),\n [graph, markdownDefinitions, messageThing, showClaimModal]\n );\n const entriesRef = useRefFrom10(entries);\n const handleClick = useCallback36(\n (event) => {\n const targetElement = event.target;\n const buttonElement = isHTMLButtonElement(targetElement) ? targetElement : targetElement.closest(\"button\");\n if (!buttonElement || !targetElement.contains(buttonElement)) {\n return;\n }\n const entry = entriesRef.current.find(({ key }) => key === buttonElement.value);\n if (entry?.handleClick) {\n event.preventDefault();\n event.stopPropagation();\n entry.handleClick();\n }\n },\n [entriesRef]\n );\n const messageSensitivityLabelProps = useMemo25(() => {\n const usageInfo = messageThing?.usageInfo;\n if (usageInfo) {\n const { pattern } = usageInfo;\n const encryptionStatus = !!usageInfo.keywords?.find((keyword) => keyword === \"encrypted-content\");\n return {\n color: pattern && pattern.inDefinedTermSet === \"https://www.w3.org/TR/css-color-4/\" && pattern.name === \"color\" && pattern.termCode,\n isEncrypted: encryptionStatus,\n name: usageInfo.name,\n title: usageInfo.description\n };\n }\n }, [messageThing]);\n const getEntryMainText = (entry) => entry.claim?.name ?? entry.claim?.appearance?.name ?? entry.markdownDefinition.title;\n const getEntryBadgeName = (entry) => entry.claim?.appearance?.usageInfo?.name;\n const getEntryDescription = (entry) => entry.claim?.appearance?.usageInfo?.description;\n return /* @__PURE__ */ React68.createElement(\n \"div\",\n {\n className: classNames32(\"webchat__text-content\", \"webchat__text-content--is-markdown\", textContentStyleSet + \"\")\n },\n /* @__PURE__ */ React68.createElement(\n \"div\",\n {\n className: classNames32(\"webchat__text-content__markdown\", renderMarkdownStyleSet + \"\"),\n dangerouslySetInnerHTML,\n onClick: handleClick\n }\n ),\n children,\n !!entries.length && /* @__PURE__ */ React68.createElement(\n LinkDefinitions_default,\n {\n accessoryComponentType: messageSensitivityLabelProps && MessageSensitivityLabel_default,\n accessoryProps: messageSensitivityLabelProps\n },\n entries.map((entry) => /* @__PURE__ */ React68.createElement(\n LinkDefinitionItem_default,\n {\n badgeName: getEntryBadgeName(entry),\n badgeTitle: `${getEntryBadgeName(entry) ?? \"\"}\n\n${getEntryDescription(entry) ?? \"\"}`.trim(),\n identifier: entry.markdownDefinition.label,\n key: entry.key,\n onClick: entry.handleClick,\n text: getEntryMainText(entry),\n url: entry.url\n }\n ))\n ),\n activity.type === \"message\" && activity.text && messageThing?.keywords?.includes(\"AllowCopy\") ? /* @__PURE__ */ React68.createElement(\n ActivityCopyButton_default,\n {\n className: \"webchat__text-content__activity-copy-button\",\n htmlText: htmlTextForClipboard,\n plainText: activity.text\n }\n ) : null\n );\n});\nMarkdownTextContent.displayName = \"MarkdownTextContent\";\nvar MarkdownTextContent_default = MarkdownTextContent;\n\n// src/Attachment/Text/private/PlainTextContent.tsx\nimport classNames33 from \"classnames\";\nimport React69, { Fragment as Fragment9, memo as memo24 } from \"react\";\nvar PlainTextContent = memo24(({ children, text }) => {\n const [{ textContent: textContentStyleSet }] = useStyleSet();\n return /* @__PURE__ */ React69.createElement(Fragment9, null, (text || \"\").split(\"\\n\").map((line) => /* @__PURE__ */ React69.createElement(\n \"p\",\n {\n className: classNames33(\"webchat__text-content\", \"webchat__text-content--is-plain\", textContentStyleSet + \"\"),\n key: line\n },\n line.trim()\n )), children && /* @__PURE__ */ React69.createElement(\n \"div\",\n {\n className: classNames33(\"webchat__text-content\", \"webchat__text-content--children\", textContentStyleSet + \"\")\n },\n children\n ));\n});\nPlainTextContent.displayName = \"PlainTextContent\";\nvar PlainTextContent_default = PlainTextContent;\n\n// src/Attachment/Text/TextContent.tsx\nvar { useLocalizer: useLocalizer24 } = hooks45;\nvar generatedBadgeStyle = {\n \"&.webchat__text-content__generated-badge\": {\n color: `var(${CustomPropertyNames_default.ColorSubtle})`,\n fontSize: `var(${CustomPropertyNames_default.FontSizeSmall})`\n }\n};\nvar TextContent = memo25(({ activity, contentType = \"text/plain\", text }) => {\n const supportMarkdown = !!useRenderMarkdownAsHTML(\"message activity\");\n const localize2 = useLocalizer24();\n const generatedBadgeClassName = useStyleToEmotionObject()(generatedBadgeStyle) + \"\";\n const generatedBadge = useMemo26(\n () => isAIGeneratedActivity(activity) && /* @__PURE__ */ React70.createElement(\"div\", { className: classNames34(\"webchat__text-content__generated-badge\", generatedBadgeClassName) }, localize2(\"ACTIVITY_CONTENT_CAUTION\")),\n [activity, generatedBadgeClassName, localize2]\n );\n return text ? contentType === \"text/markdown\" && supportMarkdown ? /* @__PURE__ */ React70.createElement(MarkdownTextContent_default, { activity, markdown: text }, generatedBadge) : /* @__PURE__ */ React70.createElement(PlainTextContent_default, { text }, generatedBadge) : null;\n});\nTextContent.displayName = \"TextContent\";\nvar TextContent_default = TextContent;\n\n// src/Attachment/Text/TextAttachment.tsx\nvar TextAttachment = memo26(({ activity, attachment: { content, contentType } }) => /* @__PURE__ */ React71.createElement(TextContent_default, { activity, contentType, text: content }));\nTextAttachment.displayName = \"TextAttachment\";\nvar TextAttachment_default = TextAttachment;\n\n// src/Attachment/VideoAttachment.js\nimport classNames35 from \"classnames\";\nimport PropTypes38 from \"prop-types\";\nimport React76 from \"react\";\n\n// src/Attachment/VideoContent.tsx\nimport PropTypes37 from \"prop-types\";\nimport React75 from \"react\";\n\n// src/Attachment/HTMLVideoContent.tsx\nimport PropTypes34 from \"prop-types\";\nimport React72 from \"react\";\nvar HTMLVideoContent = ({ alt, autoPlay, loop, poster, src }) => {\n const [{ videoContent: videoContentStyleSet }] = useStyleSet();\n return /* @__PURE__ */ React72.createElement(\n \"video\",\n {\n \"aria-label\": alt,\n autoPlay,\n className: videoContentStyleSet,\n controls: true,\n loop,\n poster,\n src\n }\n );\n};\nHTMLVideoContent.defaultProps = {\n alt: \"\",\n autoPlay: false,\n loop: false,\n poster: \"\"\n};\nHTMLVideoContent.propTypes = {\n alt: PropTypes34.string,\n autoPlay: PropTypes34.bool,\n loop: PropTypes34.bool,\n poster: PropTypes34.string,\n src: PropTypes34.string.isRequired\n};\nvar HTMLVideoContent_default = HTMLVideoContent;\n\n// src/Attachment/VimeoContent.tsx\nimport { hooks as hooks46 } from \"botframework-webchat-api\";\nimport PropTypes35 from \"prop-types\";\nimport React73 from \"react\";\nvar { useLocalizer: useLocalizer25 } = hooks46;\nvar VimeoContent = ({ alt, autoPlay, embedID, loop }) => {\n const [{ vimeoContent: vimeoContentStyleSet }] = useStyleSet();\n const localize2 = useLocalizer25();\n const search = new URLSearchParams({\n autoplay: autoPlay ? \"1\" : \"0\",\n badge: \"0\",\n byline: \"0\",\n loop: loop ? \"1\" : \"0\",\n portrait: \"0\",\n title: \"0\"\n }).toString();\n const title = localize2(\"ATTACHMENT_VIDEO\");\n return /* @__PURE__ */ React73.createElement(\n \"iframe\",\n {\n allowFullScreen: true,\n \"aria-label\": alt,\n className: vimeoContentStyleSet,\n sandbox: \"allow-same-origin allow-scripts\",\n src: `https://player.vimeo.com/video/${encodeURI(embedID)}?${search}`,\n title\n }\n );\n};\nVimeoContent.defaultProps = {\n alt: \"\",\n autoPlay: false,\n loop: false\n};\nVimeoContent.propTypes = {\n alt: PropTypes35.string,\n autoPlay: PropTypes35.bool,\n embedID: PropTypes35.string.isRequired,\n loop: PropTypes35.bool\n};\nvar VimeoContent_default = VimeoContent;\n\n// src/Attachment/YouTubeContent.tsx\nimport { hooks as hooks47 } from \"botframework-webchat-api\";\nimport PropTypes36 from \"prop-types\";\nimport React74 from \"react\";\nvar { useLocalizer: useLocalizer26 } = hooks47;\nvar YouTubeContent = ({ alt, autoPlay, embedID, loop }) => {\n const [{ youTubeContent: youTubeContentStyleSet }] = useStyleSet();\n const localize2 = useLocalizer26();\n const search = new URLSearchParams({\n autoplay: autoPlay ? \"1\" : \"0\",\n loop: loop ? \"1\" : \"0\",\n modestbranding: \"1\"\n }).toString();\n const title = localize2(\"ATTACHMENT_VIDEO\");\n return (\n // TODO: We should encodeURI the URL\n /* @__PURE__ */ React74.createElement(\n \"iframe\",\n {\n allowFullScreen: true,\n \"aria-label\": alt,\n className: youTubeContentStyleSet,\n sandbox: \"allow-same-origin allow-scripts\",\n src: `https://youtube.com/embed/${embedID}?${search}`,\n title\n }\n )\n );\n};\nYouTubeContent.defaultProps = {\n alt: \"\",\n autoPlay: false,\n loop: false\n};\nYouTubeContent.propTypes = {\n alt: PropTypes36.string,\n autoPlay: PropTypes36.bool,\n embedID: PropTypes36.string.isRequired,\n loop: PropTypes36.bool\n};\nvar YouTubeContent_default = YouTubeContent;\n\n// src/Attachment/VideoContent.tsx\nvar YOUTUBE_DOMAIN = \"youtube.com\";\nvar YOUTUBE_WWW_DOMAIN = \"www.youtube.com\";\nvar YOUTUBE_SHORT_DOMAIN = \"youtu.be\";\nvar YOUTUBE_WWW_SHORT_DOMAIN = \"www.youtu.be\";\nvar VIMEO_DOMAIN = \"vimeo.com\";\nvar VIMEO_WWW_DOMAIN = \"www.vimeo.com\";\nfunction parseURL(url) {\n let urlLike;\n if (typeof URL === \"function\") {\n urlLike = new URL(url);\n } else {\n urlLike = document.createElement(\"a\");\n urlLike.setAttribute(\"href\", url);\n }\n const { hostname, pathname, search } = urlLike;\n return { hostname, pathname, search };\n}\nvar VideoContent = ({ alt, autoPlay, loop, poster, src }) => {\n const { hostname, pathname, search } = parseURL(src);\n const lastSegment = pathname.split(\"/\").pop();\n const searchParams = new URLSearchParams(search);\n switch (hostname) {\n case VIMEO_DOMAIN:\n case VIMEO_WWW_DOMAIN:\n return /* @__PURE__ */ React75.createElement(VimeoContent_default, { alt, autoPlay, embedID: lastSegment, loop });\n case YOUTUBE_DOMAIN:\n case YOUTUBE_WWW_DOMAIN:\n return /* @__PURE__ */ React75.createElement(YouTubeContent_default, { alt, autoPlay, embedID: searchParams.get(\"v\"), loop });\n case YOUTUBE_SHORT_DOMAIN:\n case YOUTUBE_WWW_SHORT_DOMAIN:\n return /* @__PURE__ */ React75.createElement(YouTubeContent_default, { alt, autoPlay, embedID: lastSegment, loop });\n default:\n return /* @__PURE__ */ React75.createElement(HTMLVideoContent_default, { alt, autoPlay, loop, poster, src });\n }\n};\nVideoContent.defaultProps = {\n alt: \"\",\n autoPlay: false,\n loop: false,\n poster: \"\"\n};\nVideoContent.propTypes = {\n alt: PropTypes37.string,\n autoPlay: PropTypes37.bool,\n loop: PropTypes37.bool,\n poster: PropTypes37.string,\n src: PropTypes37.string.isRequired\n};\nvar VideoContent_default = VideoContent;\n\n// src/Attachment/VideoAttachment.js\nvar ROOT_STYLE16 = {\n display: \"flex\",\n flexDirection: \"column\"\n};\nvar VideoAttachment = ({ attachment }) => {\n const [{ videoAttachment: videoAttachmentStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE16) + \"\";\n return /* @__PURE__ */ React76.createElement(\"div\", { className: classNames35(rootClassName, videoAttachmentStyleSet + \"\") }, /* @__PURE__ */ React76.createElement(VideoContent_default, { alt: attachment.name, src: attachment.contentUrl }));\n};\nVideoAttachment.propTypes = {\n attachment: PropTypes38.shape({\n contentUrl: PropTypes38.string.isRequired,\n name: PropTypes38.string\n }).isRequired\n};\nvar VideoAttachment_default = VideoAttachment;\n\n// src/Attachment/createMiddleware.tsx\nfunction isTextAttachment(attachment) {\n return attachment.contentType.startsWith(\"text/\");\n}\nfunction createCoreMiddleware() {\n return [\n () => (next) => (...args) => {\n const [\n {\n activity,\n activity: { from: { role = void 0 } = {} } = {},\n attachment,\n attachment: { contentType = void 0, contentUrl = void 0, thumbnailUrl = void 0 } = {}\n }\n ] = args;\n const isText = isTextAttachment(attachment);\n return (isText ? !attachment.content : role === \"user\" && !thumbnailUrl) ? /* @__PURE__ */ React77.createElement(FileAttachment_default, { activity, attachment }) : /^audio\\//u.test(contentType) ? /* @__PURE__ */ React77.createElement(AudioAttachment_default, { attachment }) : /^image\\//u.test(contentType) ? /* @__PURE__ */ React77.createElement(ImageAttachment_default, { attachment }) : /^video\\//u.test(contentType) ? /* @__PURE__ */ React77.createElement(VideoAttachment_default, { attachment }) : contentUrl || contentType === \"application/octet-stream\" ? /* @__PURE__ */ React77.createElement(FileAttachment_default, { activity, attachment }) : isText ? /* @__PURE__ */ React77.createElement(TextAttachment_default, { activity, attachment }) : next(...args);\n }\n ];\n}\n\n// src/Dictation.js\nimport { hooks as hooks48 } from \"botframework-webchat-api\";\nimport { useSetDictateState } from \"botframework-webchat-api/internal\";\nimport { Constants as Constants4 } from \"botframework-webchat-core\";\nimport PropTypes39 from \"prop-types\";\nimport React78, { useCallback as useCallback37, useEffect as useEffect22, useMemo as useMemo27 } from \"react\";\nimport { Composer as DictateComposer } from \"react-dictate-button\";\n\n// src/hooks/internal/useResumeAudioContext.ts\nfunction useResumeAudioContext() {\n const [{ resumeAudioContext }] = useWebSpeechPonyfill();\n return () => resumeAudioContext && resumeAudioContext();\n}\n\n// src/Dictation.js\nvar {\n useActivities: useActivities3,\n useDictateInterims: useDictateInterims3,\n useDictateState: useDictateState4,\n useEmitTypingIndicator,\n useLanguage,\n useSendBoxValue: useSendBoxValue3,\n useSendTypingIndicator,\n useShouldSpeakIncomingActivity: useShouldSpeakIncomingActivity2,\n useStopDictate: useStopDictate3,\n useSubmitSendBox,\n useUIState: useUIState6\n} = hooks48;\nvar {\n DictateState: { DICTATING: DICTATING3, IDLE, STARTING: STARTING3 }\n} = Constants4;\nvar Dictation = ({ onError }) => {\n const [, setDictateAbortable] = useSettableDictateAbortable();\n const [, setDictateInterims] = useDictateInterims3();\n const [, setSendBox] = useSendBoxValue3();\n const [, setShouldSpeakIncomingActivity] = useShouldSpeakIncomingActivity2();\n const [{ SpeechGrammarList, SpeechRecognition } = {}] = useWebSpeechPonyfill();\n const [activities] = useActivities3();\n const [dictateState] = useDictateState4();\n const [sendTypingIndicator] = useSendTypingIndicator();\n const [speechLanguage] = useLanguage(\"speech\");\n const [uiState] = useUIState6();\n const emitTypingIndicator = useEmitTypingIndicator();\n const resumeAudioContext = useResumeAudioContext();\n const setDictateState = useSetDictateState();\n const stopDictate = useStopDictate3();\n const submitSendBox = useSubmitSendBox();\n const numSpeakingActivities = useMemo27(\n () => activities.filter(({ channelData: { speak } = {} }) => speak).length,\n [activities]\n );\n const handleDictate = useCallback37(\n ({ result: { confidence, transcript } = {} }) => {\n if (dictateState === DICTATING3 || dictateState === STARTING3) {\n setDictateInterims([]);\n setDictateState(IDLE);\n stopDictate();\n if (transcript) {\n setSendBox(transcript);\n submitSendBox(\"speech\", { channelData: { speech: { alternatives: [{ confidence, transcript }] } } });\n setShouldSpeakIncomingActivity(true);\n }\n }\n },\n [\n dictateState,\n setDictateInterims,\n setDictateState,\n stopDictate,\n setSendBox,\n submitSendBox,\n setShouldSpeakIncomingActivity\n ]\n );\n const handleDictating = useCallback37(\n ({ abortable, results = [] }) => {\n if (dictateState === DICTATING3 || dictateState === STARTING3) {\n const interims = results.map(({ transcript }) => transcript);\n setDictateAbortable(abortable);\n setDictateInterims(interims);\n setDictateState(DICTATING3);\n sendTypingIndicator && emitTypingIndicator();\n }\n },\n [dictateState, emitTypingIndicator, sendTypingIndicator, setDictateAbortable, setDictateInterims, setDictateState]\n );\n const handleError = useCallback37(\n (event) => {\n dictateState !== IDLE && setDictateState(IDLE);\n (dictateState === DICTATING3 || dictateState === STARTING3) && stopDictate();\n onError && onError(event);\n },\n [dictateState, onError, setDictateState, stopDictate]\n );\n useEffect22(() => {\n window.addEventListener(\"pointerdown\", resumeAudioContext);\n return () => window.removeEventListener(\"pointerdown\", resumeAudioContext);\n }, [resumeAudioContext]);\n return /* @__PURE__ */ React78.createElement(\n DictateComposer,\n {\n lang: speechLanguage,\n onDictate: handleDictate,\n onError: handleError,\n onProgress: handleDictating,\n speechGrammarList: SpeechGrammarList,\n speechRecognition: SpeechRecognition,\n started: uiState !== \"disabled\" && (dictateState === STARTING3 || dictateState === DICTATING3) && !numSpeakingActivities\n }\n );\n};\nDictation.defaultProps = {\n onError: void 0\n};\nDictation.propTypes = {\n onError: PropTypes39.func\n};\nvar Dictation_default = Dictation;\n\n// src/ErrorBox.tsx\nimport { hooks as hooks49 } from \"botframework-webchat-api\";\nimport PropTypes40 from \"prop-types\";\nimport React79 from \"react\";\nvar { useLocalizer: useLocalizer27 } = hooks49;\nvar ErrorBox = ({ error, type }) => {\n const [{ errorBox: errorBoxStyleSet }] = useStyleSet();\n const localize2 = useLocalizer27();\n return /* @__PURE__ */ React79.createElement(React79.Fragment, null, /* @__PURE__ */ React79.createElement(ScreenReaderText_default, { text: localize2(\"ACTIVITY_ERROR_BOX_TITLE\") }), /* @__PURE__ */ React79.createElement(\"div\", { className: errorBoxStyleSet }, /* @__PURE__ */ React79.createElement(\"div\", null, type), /* @__PURE__ */ React79.createElement(\"details\", null, /* @__PURE__ */ React79.createElement(\"summary\", null, error.message), /* @__PURE__ */ React79.createElement(\"pre\", null, error.stack))));\n};\nErrorBox.defaultProps = {\n type: \"\"\n};\nErrorBox.propTypes = {\n error: PropTypes40.instanceOf(Error).isRequired,\n type: PropTypes40.string\n};\nvar ErrorBox_default = ErrorBox;\n\n// src/hooks/internal/private/createOnEventShim.ts\nfunction createOnEventShim(target) {\n const currentListeners = /* @__PURE__ */ new Map();\n return {\n get(name) {\n return currentListeners.get(name);\n },\n set(name, listener) {\n const current = currentListeners.get(name);\n current && target.removeEventListener(name, current);\n if (listener) {\n target.addEventListener(name, listener);\n currentListeners.set(name, listener);\n } else {\n currentListeners.delete(name);\n }\n }\n };\n}\n\n// src/hooks/internal/BypassSpeechSynthesisPonyfill.js\nvar SpeechSynthesisEvent = class extends Event {\n constructor(type, utterance) {\n super(type);\n this._utterance = utterance;\n }\n get charIndex() {\n return 0;\n }\n get elapsedTime() {\n return 0;\n }\n get name() {\n }\n get utterance() {\n return this._utterance;\n }\n};\nvar SpeechSynthesisUtterance = class extends EventTarget {\n constructor(text) {\n super();\n this._lang = \"en-US\";\n this._pitch = 1;\n this._rate = 1;\n this._text = text;\n this._voice = null;\n this._volume = 1;\n this._shim = createOnEventShim(this);\n }\n get lang() {\n return this._lang;\n }\n set lang(value) {\n this._lang = value;\n }\n get pitch() {\n return this._pitch;\n }\n set pitch(value) {\n this._pitch = value;\n }\n get rate() {\n return this._rate;\n }\n set rate(value) {\n this._rate = value;\n }\n get text() {\n return this._text;\n }\n set text(value) {\n this._text = value;\n }\n get voice() {\n return this._voice;\n }\n set voice(value) {\n this._voice = value;\n }\n get volume() {\n return this._volume;\n }\n set volume(value) {\n this._volume = value;\n }\n get onboundary() {\n return this._shim.get(\"boundary\");\n }\n set onboundary(value) {\n this._shim.set(\"boundary\", value);\n }\n get onend() {\n return this._shim.get(\"end\");\n }\n set onend(value) {\n this._shim.set(\"end\", value);\n }\n get onerror() {\n return this._shim.get(\"error\");\n }\n set onerror(value) {\n this._shim.set(\"error\", value);\n }\n get onmark() {\n return this._shim.get(\"mark\");\n }\n set onmark(value) {\n this._shim.set(\"mark\", value);\n }\n get onpause() {\n return this._shim.get(\"pause\");\n }\n set onpause(value) {\n this._shim.set(\"pause\", value);\n }\n get onresume() {\n return this._shim.get(\"resume\");\n }\n set onresume(value) {\n this._shim.set(\"resume\", value);\n }\n get onstart() {\n return this._shim.get(\"start\");\n }\n set onstart(value) {\n this._shim.set(\"start\", value);\n }\n};\nvar SpeechSynthesisVoice = class {\n get default() {\n return true;\n }\n get lang() {\n return \"en-US\";\n }\n get localService() {\n return true;\n }\n get name() {\n return \"English (US)\";\n }\n get voiceURI() {\n return \"English (US)\";\n }\n};\nvar SpeechSynthesis = class extends EventTarget {\n constructor() {\n super();\n this._shim = createOnEventShim(this);\n }\n get paused() {\n return false;\n }\n get pending() {\n return false;\n }\n get speaking() {\n return false;\n }\n cancel() {\n }\n getVoices() {\n return [new SpeechSynthesisVoice()];\n }\n pause() {\n throw new Error(\"pause is not implemented.\");\n }\n resume() {\n throw new Error(\"resume is not implemented.\");\n }\n speak(utterance) {\n utterance.dispatchEvent(new SpeechSynthesisEvent(\"start\", utterance));\n utterance.dispatchEvent(new SpeechSynthesisEvent(\"end\", utterance));\n }\n get onvoiceschanged() {\n return this._shim.get(\"voiceschanged\");\n }\n set onvoiceschanged(value) {\n this._shim.set(\"voiceschanged\", value);\n }\n};\nvar speechSynthesis = new SpeechSynthesis();\n\n// src/hooks/internal/UITracker.js\nimport { hooks as hooks50 } from \"botframework-webchat-api\";\nimport { useEffect as useEffect23 } from \"react\";\nvar { useTrackDimension } = hooks50;\nvar Tracker = () => {\n const [webSpeechPonyfill] = useWebSpeechPonyfill();\n const trackDimension = useTrackDimension();\n const speechRecognitionCapability = !!webSpeechPonyfill.SpeechRecognition;\n const speechSynthesisCapability = webSpeechPonyfill.speechSynthesis && webSpeechPonyfill.speechSynthesis !== speechSynthesis;\n useEffect23(() => {\n trackDimension(\"capability:downscaleImage:workerType\", checkSupport() ? \"web worker\" : \"main\");\n trackDimension(\"capability:renderer\", \"html\");\n trackDimension(\"prop:speechRecognition\", !!speechRecognitionCapability + \"\");\n trackDimension(\"prop:speechSynthesis\", !!speechSynthesisCapability + \"\");\n }, [trackDimension, speechRecognitionCapability, speechSynthesisCapability]);\n return false;\n};\nvar UITracker_default = Tracker;\n\n// src/Middleware/Activity/createCoreMiddleware.tsx\nimport React85 from \"react\";\nimport { getActivityLivestreamingMetadata as getActivityLivestreamingMetadata2 } from \"botframework-webchat-core\";\n\n// src/Activity/CarouselLayout.js\nimport { hooks as hooks54 } from \"botframework-webchat-api\";\nimport {\n Composer as FilmComposer,\n createBasicStyleSet as createBasicStyleSetForReactFilm2,\n Flipper,\n useScrollBarWidth,\n useScrolling,\n useStyleSetClassNames as useReactFilmStyleSetClassNames\n} from \"react-film\";\nimport classNames39 from \"classnames\";\nimport PropTypes44 from \"prop-types\";\nimport React83, { memo as memo28, useMemo as useMemo28 } from \"react\";\n\n// src/Activity/CarouselFilmStrip.js\nimport { hooks as hooks53 } from \"botframework-webchat-api\";\nimport { useItemContainerCallbackRef, useScrollableCallbackRef } from \"react-film\";\nimport classNames38 from \"classnames\";\nimport PropTypes43 from \"prop-types\";\nimport React82 from \"react\";\n\n// src/Activity/Bubble.tsx\nimport { hooks as hooks51 } from \"botframework-webchat-api\";\nimport classNames36 from \"classnames\";\nimport PropTypes41 from \"prop-types\";\nimport React80, { memo as memo27 } from \"react\";\nvar { useDirection: useDirection13, useStyleOptions: useStyleOptions13 } = hooks51;\nvar ROOT_STYLE17 = {\n \"&.webchat__bubble\": {\n display: \"flex\",\n position: \"relative\",\n \"& .webchat__bubble__nub-pad\": {\n flexShrink: 0\n },\n \"& .webchat__bubble__content\": {\n flexGrow: 1,\n // This is for hiding content outside of the bubble, for example, content outside of border radius\n overflow: \"hidden\"\n }\n }\n};\nfunction acuteNubSVG(nubSize, strokeWidth, side, upSideDown = false) {\n if (typeof nubSize !== \"number\") {\n return false;\n }\n const halfNubSize = nubSize / 2;\n const halfStrokeWidth = strokeWidth / 2;\n const horizontalTransform = side === \"bot\" ? \"\" : `translate(${halfNubSize} 0) scale(-1 1) translate(${-halfNubSize} 0)`;\n const verticalTransform = upSideDown ? `translate(0 ${halfNubSize}) scale(1 -1) translate(0 ${-halfNubSize})` : \"\";\n const p1 = [nubSize, halfStrokeWidth].join(\" \");\n const p2 = [strokeWidth, halfStrokeWidth].join(\" \");\n const p3 = [nubSize + strokeWidth, nubSize + halfStrokeWidth].join(\" \");\n return /* @__PURE__ */ React80.createElement(\n \"svg\",\n {\n className: \"webchat__bubble__nub\",\n version: \"1.1\",\n viewBox: `0 0 ${nubSize} ${nubSize}`,\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React80.createElement(\"g\", { transform: `${horizontalTransform} ${verticalTransform}` }, /* @__PURE__ */ React80.createElement(\"path\", { className: \"webchat__bubble__nub-outline\", d: `M${p1} L${p2} L${p3}` }))\n );\n}\nvar Bubble = ({ \"aria-hidden\": ariaHidden, children, className, fromUser, nub }) => {\n const [{ bubble: bubbleStyleSet }] = useStyleSet();\n const [direction] = useDirection13();\n const [\n {\n bubbleBorderWidth,\n bubbleFromUserBorderWidth,\n bubbleFromUserNubSize,\n bubbleNubSize,\n bubbleNubOffset,\n bubbleFromUserNubOffset\n }\n ] = useStyleOptions13();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE17) + \"\";\n const { borderWidth, nubOffset, nubSize, side } = fromUser ? {\n borderWidth: bubbleFromUserBorderWidth,\n nubOffset: bubbleFromUserNubOffset,\n nubSize: bubbleFromUserNubSize,\n side: \"user\"\n } : {\n borderWidth: bubbleBorderWidth,\n nubOffset: bubbleNubOffset,\n nubSize: bubbleNubSize,\n side: \"bot\"\n };\n return /* @__PURE__ */ React80.createElement(\n \"div\",\n {\n \"aria-hidden\": ariaHidden,\n className: classNames36(\n \"webchat__bubble\",\n {\n \"webchat__bubble--from-user\": fromUser,\n \"webchat__bubble--hide-nub\": nub !== true && nub !== false,\n \"webchat__bubble--nub-on-top\": isZeroOrPositive(nubOffset),\n \"webchat__bubble--rtl\": direction === \"rtl\",\n \"webchat__bubble--show-nub\": nub === true\n },\n rootClassName,\n bubbleStyleSet + \"\",\n (className || \"\") + \"\"\n )\n },\n /* @__PURE__ */ React80.createElement(\"div\", { className: \"webchat__bubble__nub-pad\" }),\n /* @__PURE__ */ React80.createElement(\"div\", { className: \"webchat__bubble__content\" }, children),\n acuteNubSVG(nubSize, borderWidth, side, !isZeroOrPositive(nubOffset))\n );\n};\nBubble.defaultProps = {\n \"aria-hidden\": void 0,\n children: void 0,\n className: \"\",\n fromUser: false,\n nub: false\n};\nBubble.propTypes = {\n \"aria-hidden\": PropTypes41.bool,\n children: PropTypes41.any,\n className: PropTypes41.string,\n fromUser: PropTypes41.bool,\n nub: PropTypes41.oneOf([true, false, \"hidden\"])\n};\nBubble.displayName = \"Bubble\";\nvar Bubble_default = memo27(Bubble);\n\n// src/Activity/CarouselFilmStripAttachment.js\nimport { hooks as hooks52 } from \"botframework-webchat-api\";\nimport classNames37 from \"classnames\";\nimport PropTypes42 from \"prop-types\";\nimport React81 from \"react\";\nvar { useDirection: useDirection14, useLocalizer: useLocalizer28 } = hooks52;\nvar CarouselFilmStripAttachment = ({\n activity,\n attachment,\n className,\n fromUser,\n hasAvatar,\n hideNub,\n index,\n renderAttachment,\n showAvatar,\n showNub\n}) => {\n const [direction] = useDirection14();\n const localize2 = useLocalizer28();\n const [{ carouselFilmStripAttachment: carouselFilmStripAttachmentStyleSet }] = useStyleSet();\n const attachedAlt = localize2(fromUser ? \"ACTIVITY_YOU_ATTACHED_ALT\" : \"ACTIVITY_BOT_ATTACHED_ALT\");\n return /* @__PURE__ */ React81.createElement(\n \"li\",\n {\n \"aria-roledescription\": \"attachment\",\n className: classNames37(\n \"webchat__carousel-filmstrip-attachment\",\n {\n \"webchat__carousel-filmstrip-attachment--hide-avatar\": hasAvatar && !showAvatar,\n \"webchat__carousel-filmstrip-attachment--hide-nub\": hideNub,\n \"webchat__carousel-filmstrip-attachment--rtl\": direction === \"rtl\",\n \"webchat__carousel-filmstrip-attachment--show-avatar\": showAvatar,\n \"webchat__carousel-filmstrip-attachment--show-nub\": showNub\n },\n \"react-film__filmstrip__item\",\n carouselFilmStripAttachmentStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n role: \"listitem\",\n tabIndex: 0\n },\n /* @__PURE__ */ React81.createElement(ScreenReaderText_default, { text: attachedAlt }),\n /* @__PURE__ */ React81.createElement(Bubble_default, { fromUser, key: index, nub: false }, renderAttachment({ activity, attachment }), /* @__PURE__ */ React81.createElement(\"div\", { className: \"webchat__carousel-filmstrip-attachment--focus\" }))\n );\n};\nCarouselFilmStripAttachment.defaultProps = {\n className: \"\"\n};\nCarouselFilmStripAttachment.propTypes = {\n activity: PropTypes42.shape({\n attachments: PropTypes42.array,\n from: PropTypes42.shape({\n role: PropTypes42.string.isRequired\n }).isRequired,\n text: PropTypes42.string,\n textFormat: PropTypes42.string,\n timestamp: PropTypes42.string\n }).isRequired,\n attachment: PropTypes42.shape({\n content: PropTypes42.any\n }).isRequired,\n className: PropTypes42.string,\n fromUser: PropTypes42.any.isRequired,\n hasAvatar: PropTypes42.any.isRequired,\n hideNub: PropTypes42.bool.isRequired,\n index: PropTypes42.number.isRequired,\n renderAttachment: PropTypes42.func.isRequired,\n showAvatar: PropTypes42.bool.isRequired,\n showNub: PropTypes42.bool.isRequired\n};\nvar CarouselFilmStripAttachment_default = CarouselFilmStripAttachment;\n\n// src/Activity/CarouselFilmStrip.js\nvar { useAvatarForBot: useAvatarForBot3, useAvatarForUser, useDirection: useDirection15, useLocalizer: useLocalizer29, useStyleOptions: useStyleOptions14 } = hooks53;\nvar ROOT_STYLE18 = {\n \"&.webchat__carousel-filmstrip\": {\n display: \"flex\",\n flexDirection: \"column\",\n MsOverflowStyle: \"none\",\n overflowX: \"scroll\",\n overflowY: \"hidden\",\n position: \"relative\",\n // This is to keep screen reader text in the destinated area.\n touchAction: \"manipulation\",\n WebkitOverflowScrolling: \"touch\",\n \"&::-webkit-scrollbar\": {\n display: \"none\"\n },\n \"& .webchat__carousel-filmstrip__alignment-pad\": {\n flexShrink: 0\n },\n \"& .webchat__carousel-filmstrip-attachment\": {\n flex: 1\n },\n \"& .webchat__carousel-filmstrip__attachments\": {\n display: \"flex\",\n listStyleType: \"none\",\n margin: 0,\n padding: 0\n },\n \"& .webchat__carousel-filmstrip__avatar\": {\n flexShrink: 0\n },\n \"& .webchat__carousel-filmstrip__avatar-gutter\": {\n display: \"flex\",\n flexDirection: \"column\",\n flexShrink: 0\n },\n \"& .webchat__carousel-filmstrip__complimentary\": {\n display: \"flex\"\n },\n \"& .webchat__carousel-filmstrip__complimentary-content\": {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\"\n },\n \"& .webchat__carousel-filmstrip__content\": {\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\"\n },\n \"& .webchat__carousel-filmstrip__filler\": {\n flexGrow: 1e4,\n flexShrink: 1\n },\n \"& .webchat__carousel-filmstrip__main\": {\n display: \"flex\"\n },\n \"& .webchat__carousel-filmstrip__message\": {\n display: \"flex\"\n },\n \"& .webchat__carousel-filmstrip__nub-pad\": {\n flexShrink: 0\n },\n \"& .webchat__carousel-filmstrip__status\": {\n display: \"flex\"\n }\n }\n};\nvar CarouselFilmStrip = ({\n activity,\n className,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [{ bubbleNubOffset, bubbleNubSize, bubbleFromUserNubOffset, bubbleFromUserNubSize }] = useStyleOptions14();\n const [{ carouselFilmStrip: carouselFilmStripStyleSet }] = useStyleSet();\n const [{ initials: botInitials }] = useAvatarForBot3();\n const [{ initials: userInitials }] = useAvatarForUser();\n const [direction] = useDirection15();\n const localize2 = useLocalizer29();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE18) + \"\";\n const showActivityStatus = typeof renderActivityStatus === \"function\";\n const itemContainerCallbackRef = useItemContainerCallbackRef();\n const scrollableCallbackRef = useScrollableCallbackRef();\n const {\n attachments = [],\n channelData: { messageBack: { displayText: messageBackDisplayText } = {} } = {},\n from: { role } = {},\n text,\n textFormat\n } = activity;\n const activityDisplayText = messageBackDisplayText || text;\n const fromUser = role === \"user\";\n const greetingAlt = (fromUser ? localize2(\"ACTIVITY_YOU_SAID_ALT\") : localize2(\"ACTIVITY_BOT_SAID_ALT\", botInitials || \"\")).replace(/\\s{2,}/gu, \" \");\n const initials = fromUser ? userInitials : botInitials;\n const nubOffset = fromUser ? bubbleFromUserNubOffset : bubbleNubOffset;\n const nubSize = fromUser ? bubbleFromUserNubSize : bubbleNubSize;\n const otherInitials = fromUser ? botInitials : userInitials;\n const otherNubSize = fromUser ? bubbleNubSize : bubbleFromUserNubSize;\n const hasAvatar = initials || typeof initials === \"string\";\n const hasOtherAvatar = otherInitials || typeof otherInitials === \"string\";\n const hasNub = typeof nubSize === \"number\";\n const hasOtherNub = typeof otherNubSize === \"number\";\n const topAlignedCallout = isZeroOrPositive(nubOffset);\n const extraTrailing = !hasOtherAvatar && hasOtherNub;\n const showAvatar = showCallout && hasAvatar && !!renderAvatar;\n const showNub = showCallout && hasNub && (topAlignedCallout || !attachments.length);\n const hideNub = hasNub && !showNub;\n return /* @__PURE__ */ React82.createElement(\n \"div\",\n {\n className: classNames38(\n \"webchat__carousel-filmstrip\",\n {\n \"webchat__carousel-filmstrip--extra-trailing\": extraTrailing,\n \"webchat__carousel-filmstrip--hide-avatar\": hasAvatar && !showAvatar,\n \"webchat__carousel-filmstrip--hide-nub\": hideNub,\n \"webchat__carousel-filmstrip--no-message\": !activityDisplayText,\n \"webchat__carousel-filmstrip--rtl\": direction === \"rtl\",\n \"webchat__carousel-filmstrip--show-avatar\": showAvatar,\n \"webchat__carousel-filmstrip--show-nub\": showNub,\n \"webchat__carousel-filmstrip--top-callout\": topAlignedCallout\n },\n \"react-film__filmstrip\",\n rootClassName,\n carouselFilmStripStyleSet + \"\",\n (className || \"\") + \"\"\n ),\n ref: scrollableCallbackRef\n },\n /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__main\" }, /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__avatar-gutter\" }, showAvatar && renderAvatar({ activity })), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__content\" }, !!activityDisplayText && /* @__PURE__ */ React82.createElement(\"div\", { \"aria-roledescription\": \"message\", className: \"webchat__carousel-filmstrip__message\", role: \"group\" }, /* @__PURE__ */ React82.createElement(ScreenReaderText_default, { text: greetingAlt }), /* @__PURE__ */ React82.createElement(\n Bubble_default,\n {\n className: \"webchat__carousel-filmstrip__bubble\",\n fromUser,\n nub: showNub || (hasAvatar || hasNub) && \"hidden\"\n },\n renderAttachment({\n activity,\n attachment: {\n content: activityDisplayText,\n contentType: textFormatToContentType(textFormat)\n }\n })\n ), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__filler\" })), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__complimentary\" }, /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__nub-pad\" }), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__complimentary-content\" }, /* @__PURE__ */ React82.createElement(\n \"ul\",\n {\n className: \"webchat__carousel-filmstrip__attachments react-film__filmstrip__list\",\n ref: itemContainerCallbackRef\n },\n attachments.map((attachment, index) => /* @__PURE__ */ React82.createElement(\n CarouselFilmStripAttachment_default,\n {\n activity,\n attachment,\n fromUser,\n hasAvatar,\n hideNub,\n index,\n key: index,\n renderAttachment,\n showAvatar,\n showNub\n }\n ))\n )))), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__alignment-pad\" })),\n showActivityStatus && /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__status\" }, /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__avatar-gutter\" }), /* @__PURE__ */ React82.createElement(\"div\", { className: \"webchat__carousel-filmstrip__nub-pad\" }), renderActivityStatus({ hideTimestamp }))\n );\n};\nCarouselFilmStrip.defaultProps = {\n className: \"\",\n hideTimestamp: false,\n renderActivityStatus: false,\n renderAvatar: false,\n showCallout: false\n};\nCarouselFilmStrip.propTypes = {\n activity: PropTypes43.shape({\n attachments: PropTypes43.array,\n channelData: PropTypes43.shape({\n messageBack: PropTypes43.shape({\n displayText: PropTypes43.string\n })\n }),\n from: PropTypes43.shape({\n role: PropTypes43.string.isRequired\n }).isRequired,\n text: PropTypes43.string,\n textFormat: PropTypes43.string,\n timestamp: PropTypes43.string\n }).isRequired,\n className: PropTypes43.string,\n hideTimestamp: PropTypes43.bool,\n renderActivityStatus: PropTypes43.oneOfType([PropTypes43.oneOf([false]), PropTypes43.func]),\n renderAttachment: PropTypes43.func.isRequired,\n renderAvatar: PropTypes43.oneOfType([PropTypes43.oneOf([false]), PropTypes43.func]),\n showCallout: PropTypes43.bool\n};\nvar CarouselFilmStrip_default = CarouselFilmStrip;\n\n// src/Activity/CarouselLayout.js\nvar { useDirection: useDirection16, useLocalizer: useLocalizer30, useStyleOptions: useStyleOptions15 } = hooks54;\nvar ROOT_STYLE19 = {\n \"&.webchat__carousel-layout\": {\n overflow: \"hidden\",\n position: \"relative\"\n }\n};\nvar CarouselLayoutCore = ({\n activity,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [{ carouselFlipper: carouselFlipperStyleSet }] = useStyleSet();\n const [{ root: filmRootClassName }] = useReactFilmStyleSetClassNames();\n const [direction] = useDirection16();\n const [scrollBarWidth] = useScrollBarWidth();\n const [scrolling] = useScrolling();\n const leftSideFlipper = direction === \"rtl\" ? \">\" : \"<\";\n const localize2 = useLocalizer30();\n const rightSideFlipper = direction === \"rtl\" ? \"<\" : \">\";\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE19) + \"\";\n const nextAlt = localize2(\"CAROUSEL_FLIPPER_NEXT_ALT\");\n const previousAlt = localize2(\"CAROUSEL_FLIPPER_PREVIOUS_ALT\");\n const leftFlipperAriaLabel = direction === \"rtl\" ? nextAlt : previousAlt;\n const rightFlipperAriaLabel = direction === \"rtl\" ? previousAlt : nextAlt;\n return /* @__PURE__ */ React83.createElement(\n \"div\",\n {\n className: classNames39(\"webchat__carousel-layout\", rootClassName, carouselFlipperStyleSet + \"\", filmRootClassName)\n },\n /* @__PURE__ */ React83.createElement(\"div\", { className: classNames39(\"react-film__main\", { \"react-film__main--scrolling\": scrolling }) }, /* @__PURE__ */ React83.createElement(\n CarouselFilmStrip_default,\n {\n activity,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n }\n ), scrollBarWidth !== \"100%\" && /* @__PURE__ */ React83.createElement(React83.Fragment, null, /* @__PURE__ */ React83.createElement(Flipper, { \"aria-label\": leftFlipperAriaLabel, blurFocusOnClick: true, mode: \"left\" }, leftSideFlipper), /* @__PURE__ */ React83.createElement(Flipper, { \"aria-label\": rightFlipperAriaLabel, blurFocusOnClick: true, mode: \"right\" }, rightSideFlipper)))\n );\n};\nCarouselLayoutCore.defaultProps = {\n hideTimestamp: false,\n renderActivityStatus: false,\n renderAvatar: false,\n showCallout: true\n};\nCarouselLayoutCore.propTypes = {\n activity: PropTypes44.shape({\n attachments: PropTypes44.array\n }).isRequired,\n hideTimestamp: PropTypes44.bool,\n renderActivityStatus: PropTypes44.oneOfType([PropTypes44.oneOf([false]), PropTypes44.func]),\n renderAttachment: PropTypes44.func.isRequired,\n renderAvatar: PropTypes44.oneOfType([PropTypes44.oneOf([false]), PropTypes44.func]),\n showCallout: PropTypes44.bool\n};\nvar CarouselLayout = (props) => {\n const { activity: { attachments = [] } = {} } = props;\n const [direction] = useDirection16();\n const [nonce] = useNonce();\n const filmStyleSet = useMemo28(() => createBasicStyleSetForReactFilm2({ cursor: null }), []);\n const [{ stylesRoot }] = useStyleOptions15();\n const styleOptions = useMemo28(() => ({ stylesRoot }), [stylesRoot]);\n return /* @__PURE__ */ React83.createElement(\n FilmComposer,\n {\n dir: direction,\n nonce,\n numItems: attachments.length,\n styleOptions,\n styleSet: filmStyleSet\n },\n /* @__PURE__ */ React83.createElement(CarouselLayoutCore, { ...props })\n );\n};\nCarouselLayout.defaultProps = {\n ...CarouselLayoutCore.defaultProps\n};\nCarouselLayout.propTypes = {\n ...CarouselLayoutCore.propTypes\n};\nvar CarouselLayout_default = memo28(CarouselLayout);\n\n// src/Activity/StackedLayout.tsx\nimport { hooks as hooks55 } from \"botframework-webchat-api\";\nimport { ActivityDecorator } from \"botframework-webchat-api/decorator\";\nimport classNames40 from \"classnames\";\nimport React84, { memo as memo29 } from \"react\";\nimport { getActivityLivestreamingMetadata } from \"botframework-webchat-core\";\nvar { useAvatarForBot: useAvatarForBot4, useAvatarForUser: useAvatarForUser2, useLocalizer: useLocalizer31, useStyleOptions: useStyleOptions16 } = hooks55;\nvar ROOT_STYLE20 = {\n \"&.webchat__stacked-layout\": {\n position: \"relative\",\n // This is to keep screen reader text in the destinated area.\n \"& .webchat__stacked-layout__attachment-row, & .webchat__stacked-layout__main, & .webchat__stacked-layout__message-row, & .webchat__stacked-layout__status\": {\n display: \"flex\"\n },\n \"& .webchat__stacked-layout__alignment-pad\": {\n flexShrink: 0\n },\n \"& .webchat__stacked-layout__attachment\": {\n width: \"100%\"\n },\n \"& .webchat__stacked-layout__avatar-gutter\": {\n display: \"flex\",\n flexDirection: \"column\",\n flexShrink: 0\n },\n \"&.webchat__stacked-layout--from-user\": {\n \"& .webchat__stacked-layout__attachment-row, & .webchat__stacked-layout__main, & .webchat__stacked-layout__message-row, & .webchat__stacked-layout__status\": {\n flexDirection: \"row-reverse\"\n }\n },\n \"& .webchat__stacked-layout__content\": {\n flex: 1,\n // This is for bottom aligning an avatar with a message bubble shorter than the avatar.\n // Related to the test at activityGrouping.avatarMiddleware.atBottom.js.\n display: \"flex\",\n flexDirection: \"column\",\n // This \"overflow: hidden\" is to make sure text overflow will get clipped correctly.\n // Related to the test at basic.js \"long URLs with keep-all\".\n overflow: \"hidden\"\n },\n \"& .webchat__stacked-layout__nub-pad\": {\n flexShrink: 0\n }\n }\n};\nvar StackedLayout = ({\n activity,\n hideTimestamp,\n renderActivityStatus,\n renderAttachment,\n renderAvatar,\n showCallout\n}) => {\n const [styleOptions] = useStyleOptions16();\n const [{ initials: botInitials }] = useAvatarForBot4();\n const [{ initials: userInitials }] = useAvatarForUser2();\n const [{ stackedLayout: stackedLayoutStyleSet }] = useStyleSet();\n const ariaLabelId = useUniqueId(\"webchat__stacked-layout__id\");\n const localize2 = useLocalizer31();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE20) + \"\";\n const { bubbleNubOffset, bubbleNubSize, bubbleFromUserNubOffset, bubbleFromUserNubSize } = styleOptions;\n const isMessage = activity.type === \"message\";\n const attachments = isMessage && activity.attachments || [];\n const fromUser = activity.from.role === \"user\";\n const messageBackDisplayText = isMessage && activity.channelData?.messageBack?.displayText || \"\";\n const isLivestreaming = !!getActivityLivestreamingMetadata(activity);\n const activityDisplayText = isMessage ? messageBackDisplayText || activity.text : isLivestreaming && \"text\" in activity ? activity.text : \"\";\n const attachedAlt = localize2(fromUser ? \"ACTIVITY_YOU_ATTACHED_ALT\" : \"ACTIVITY_BOT_ATTACHED_ALT\");\n const greetingAlt = (fromUser ? localize2(\"ACTIVITY_YOU_SAID_ALT\") : localize2(\"ACTIVITY_BOT_SAID_ALT\", botInitials || \"\")).replace(/\\s{2,}/gu, \" \");\n const initials = fromUser ? userInitials : botInitials;\n const nubOffset = fromUser ? bubbleFromUserNubOffset : bubbleNubOffset;\n const nubSize = fromUser ? bubbleFromUserNubSize : bubbleNubSize;\n const otherInitials = fromUser ? botInitials : userInitials;\n const otherNubSize = fromUser ? bubbleNubSize : bubbleFromUserNubSize;\n const hasAvatar = initials || typeof initials === \"string\";\n const hasOtherAvatar = otherInitials || typeof otherInitials === \"string\";\n const hasNub = typeof nubSize === \"number\";\n const hasOtherNub = typeof otherNubSize === \"number\";\n const topAlignedCallout = isZeroOrPositive(nubOffset);\n const extraTrailing = !hasOtherAvatar && hasOtherNub;\n const showAvatar = showCallout && hasAvatar && !!renderAvatar;\n const showNub = showCallout && hasNub && (topAlignedCallout || !attachments?.length);\n return /* @__PURE__ */ React84.createElement(\n \"div\",\n {\n \"aria-labelledby\": activityDisplayText ? ariaLabelId : void 0,\n className: classNames40(\"webchat__stacked-layout\", rootClassName, stackedLayoutStyleSet + \"\", {\n \"webchat__stacked-layout--extra-trailing\": extraTrailing,\n \"webchat__stacked-layout--from-user\": fromUser,\n \"webchat__stacked-layout--hide-avatar\": hasAvatar && !showAvatar,\n \"webchat__stacked-layout--hide-nub\": hasNub && !showNub,\n \"webchat__stacked-layout--no-message\": !activityDisplayText,\n \"webchat__stacked-layout--show-avatar\": showAvatar,\n \"webchat__stacked-layout--show-nub\": showNub,\n \"webchat__stacked-layout--top-callout\": topAlignedCallout\n })\n },\n /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__main\" }, /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__avatar-gutter\" }, showAvatar && renderAvatar()), /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__content\" }, !!activityDisplayText && /* @__PURE__ */ React84.createElement(\n \"div\",\n {\n \"aria-roledescription\": \"message\",\n className: \"webchat__stacked-layout__message-row\",\n id: ariaLabelId,\n role: \"group\"\n },\n /* @__PURE__ */ React84.createElement(ScreenReaderText_default, { text: greetingAlt }),\n /* @__PURE__ */ React84.createElement(\n Bubble_default,\n {\n className: \"webchat__stacked-layout__message\",\n fromUser,\n nub: showNub || (hasAvatar || hasNub ? \"hidden\" : false)\n },\n /* @__PURE__ */ React84.createElement(ActivityDecorator, { activity }, renderAttachment({\n activity,\n attachment: {\n content: activityDisplayText,\n contentType: textFormatToContentType(\"textFormat\" in activity ? activity.textFormat : void 0)\n }\n }))\n )\n ), attachments.map((attachment, index) => /* @__PURE__ */ React84.createElement(\n \"div\",\n {\n \"aria-roledescription\": \"attachment\",\n className: classNames40(\"webchat__stacked-layout__attachment-row\", {\n \"webchat__stacked-layout__attachment-row--first\": !index\n }),\n key: index,\n role: \"group\"\n },\n /* @__PURE__ */ React84.createElement(ScreenReaderText_default, { text: attachedAlt }),\n /* @__PURE__ */ React84.createElement(\n Bubble_default,\n {\n className: \"webchat__stacked-layout__attachment\",\n fromUser,\n key: index,\n nub: hasAvatar || hasNub ? \"hidden\" : false\n },\n renderAttachment({ activity, attachment })\n )\n ))), /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__alignment-pad\" })),\n typeof renderActivityStatus === \"function\" && /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__status\" }, /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__avatar-gutter\" }), /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__nub-pad\" }), renderActivityStatus({ hideTimestamp }), /* @__PURE__ */ React84.createElement(\"div\", { className: \"webchat__stacked-layout__alignment-pad\" }))\n );\n};\nStackedLayout.displayName = \"StackedLayout\";\nvar StackedLayout_default = memo29(StackedLayout);\n\n// src/Middleware/Activity/createCoreMiddleware.tsx\nfunction createCoreMiddleware2() {\n return [\n () => (next) => (...args) => {\n const [{ activity }] = args;\n const { type } = activity;\n if (type === \"conversationUpdate\" || type === \"event\" || type === \"invoke\" || // Do not show typing indicator except when it is livestreaming session\n type === \"typing\" && !getActivityLivestreamingMetadata2(activity) || type === \"message\" && // Do not show postback\n (activity.channelData?.postBack || // Do not show messageBack if displayText is undefined\n activity.channelData?.messageBack && !activity.channelData.messageBack.displayText || // Do not show empty bubbles (no text and attachments)\n !(activity.text || activity.attachments?.length))) {\n return false;\n } else if (type === \"message\" || type === \"typing\") {\n if (type === \"message\" && (activity.attachments?.length || 0) > 1 && activity.attachmentLayout === \"carousel\") {\n return function renderCarouselLayout(renderAttachment, props) {\n typeof props === \"undefined\" && console.warn(\n \"botframework-webchat: One or more arguments were missing after passing through the activity middleware. Please check your custom activity middleware to make sure it passes all arguments.\"\n );\n return /* @__PURE__ */ React85.createElement(CarouselLayout_default, { activity, renderAttachment, ...props });\n };\n }\n return function renderStackedLayout(renderAttachment, props) {\n typeof props === \"undefined\" && console.warn(\n \"botframework-webchat: One or more arguments were missing after passing through the activity middleware. Please check your custom activity middleware to make sure it passes all arguments.\"\n );\n return /* @__PURE__ */ React85.createElement(StackedLayout_default, { activity, renderAttachment, ...props });\n };\n }\n return next(...args);\n }\n ];\n}\n\n// src/Middleware/ActivityStatus/createSendStatusMiddleware.tsx\nimport React89 from \"react\";\n\n// src/ActivityStatus/SendStatus/SendStatus.tsx\nimport { hooks as hooks58 } from \"botframework-webchat-api\";\nimport classNames41 from \"classnames\";\nimport PropTypes47 from \"prop-types\";\nimport React88, { useCallback as useCallback40 } from \"react\";\n\n// src/ActivityStatus/SendStatus/private/SendFailedRetry.js\nimport { hooks as hooks57 } from \"botframework-webchat-api\";\nimport PropTypes46 from \"prop-types\";\nimport React87, { useCallback as useCallback39 } from \"react\";\n\n// src/Utils/InlineMarkdown.js\nimport { hooks as hooks56 } from \"botframework-webchat-api\";\nimport { isForbiddenPropertyName as isForbiddenPropertyName3 } from \"botframework-webchat-core\";\nimport PropTypes45 from \"prop-types\";\nimport React86, { useCallback as useCallback38, useMemo as useMemo29 } from \"react\";\nimport updateIn from \"simple-update-in\";\n\n// src/Utils/createCustomEvent.js\nimport { isForbiddenPropertyName as isForbiddenPropertyName2 } from \"botframework-webchat-core\";\nfunction createCustomEvent(name, eventInitDict) {\n let event;\n if (typeof CustomEvent === \"function\") {\n event = new CustomEvent(name);\n } else {\n event = document.createEvent(\"Event\");\n event.initEvent(name, true, true);\n }\n Object.entries(eventInitDict).forEach(([key, value]) => {\n if (!isForbiddenPropertyName2(key)) {\n event[key] = value;\n }\n });\n return event;\n}\n\n// src/hooks/internal/useInternalMarkdownIt.js\nfunction useInternalMarkdownIt() {\n return useWebChatUIContext().internalMarkdownItState;\n}\nvar useInternalMarkdownIt_default = useInternalMarkdownIt;\n\n// src/Utils/walkMarkdownTokens.js\nfunction walkMarkdownTokens(tokens, walker) {\n return tokens.map((token) => {\n if (token) {\n const nextToken = walker(token);\n if (nextToken.children) {\n nextToken.children = walkMarkdownTokens(nextToken.children, walker);\n }\n return nextToken;\n }\n return token;\n });\n}\n\n// src/Utils/InlineMarkdown.js\nvar { useStyleOptions: useStyleOptions17 } = hooks56;\nfunction replaceAnchorWithButton(markdownTokens) {\n return walkMarkdownTokens(markdownTokens, (markdownToken) => {\n markdownToken = { ...markdownToken };\n switch (markdownToken.type) {\n case \"link_open\":\n markdownToken.tag = \"button\";\n markdownToken.attrs = [\n ...updateIn(\n markdownToken.attrs,\n [([name, value]) => name === \"href\" && value.startsWith(\"#\")],\n ([, value]) => [\"data-markdown-href\", value.substr(1)]\n ),\n [\"type\", \"button\"]\n ];\n break;\n case \"link_close\":\n markdownToken.tag = \"button\";\n break;\n default:\n break;\n }\n return markdownToken;\n });\n}\nvar InlineMarkdown = ({ children, onReference, references }) => {\n if (typeof children !== \"string\") {\n console.warn('botframework-webchat: \"children\" prop passed to must be of type string.');\n children = \"\";\n }\n const [markdownIt2] = useInternalMarkdownIt_default();\n const [{ accent }] = useStyleOptions17();\n const styleToClassName = useStyleToEmotionObject();\n const className = useMemo29(\n () => styleToClassName({\n \"& button[data-markdown-href]\": {\n appearance: \"none\",\n backgroundColor: \"transparent\",\n border: 0,\n color: accent,\n cursor: \"pointer\",\n fontFamily: \"inherit\",\n fontSize: \"inherit\",\n padding: 0\n },\n \"@media screen and (forced-colors: active)\": {\n \"& button[data-markdown-href]\": {\n color: \"LinkText\",\n textDecoration: \"underline\"\n }\n }\n }) + \"\",\n [accent, styleToClassName]\n );\n references = references.map((reference) => reference.toUpperCase());\n const { hrefToRef, refToHref } = references.reduce(\n ({ hrefToRef: hrefToRef2, refToHref: refToHref2 }, ref) => {\n const href = randomId();\n return {\n hrefToRef: { ...hrefToRef2, [href]: ref },\n refToHref: { ...refToHref2, [ref]: href }\n };\n },\n { hrefToRef: {}, refToHref: {} }\n );\n const html = useMemo29(() => {\n const tree = markdownIt2.parseInline(children, {\n references: references.reduce(\n (references2, key) => (\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName3(key) ? references2 : { ...references2, [key]: { href: `#${refToHref[key]}` } }\n ),\n {}\n )\n });\n const updatedTree = replaceAnchorWithButton(tree);\n return { __html: markdownIt2.renderer.render(updatedTree) };\n }, [children, refToHref, markdownIt2, references]);\n const handleClick = useCallback38(\n (event) => {\n event.stopPropagation();\n const href = event.target.getAttribute(\"data-markdown-href\");\n href && onReference && onReference(\n createCustomEvent(\n \"reference\",\n // Mitigated through denylisting.\n // eslint-disable-next-line security/detect-object-injection\n isForbiddenPropertyName3(href) ? {} : { data: hrefToRef[href] }\n )\n );\n },\n [hrefToRef, onReference]\n );\n return /* @__PURE__ */ React86.createElement(\"span\", { className, dangerouslySetInnerHTML: html, onClick: handleClick });\n};\nInlineMarkdown.defaultProps = {\n children: \"\",\n onReference: void 0,\n references: []\n};\nInlineMarkdown.propTypes = {\n children: PropTypes45.string,\n onReference: PropTypes45.func,\n references: PropTypes45.arrayOf(PropTypes45.string)\n};\nvar InlineMarkdown_default = InlineMarkdown;\n\n// src/ActivityStatus/SendStatus/private/SendFailedRetry.js\nvar { useLocalizer: useLocalizer32 } = hooks57;\nvar MARKDOWN_REFERENCES = [\"RETRY\"];\nvar SendFailedRetry = ({ onRetryClick }) => {\n const handleReference = useCallback39(({ data }) => data === \"RETRY\" && onRetryClick(), [onRetryClick]);\n const localize2 = useLocalizer32();\n const sendFailedText = localize2(\"ACTIVITY_STATUS_SEND_FAILED_RETRY\");\n return /* @__PURE__ */ React87.createElement(InlineMarkdown_default, { onReference: handleReference, references: MARKDOWN_REFERENCES }, sendFailedText);\n};\nSendFailedRetry.propTypes = {\n onRetryClick: PropTypes46.func.isRequired\n};\nvar SendFailedRetry_default = SendFailedRetry;\n\n// src/ActivityStatus/SendStatus/SendStatus.tsx\nvar { useLocalizer: useLocalizer33, usePostActivity } = hooks58;\nvar SendStatus = ({ activity, sendStatus }) => {\n const [{ sendStatus: sendStatusStyleSet }] = useStyleSet();\n const focus = useFocus();\n const localize2 = useLocalizer33();\n const postActivity = usePostActivity();\n const handleRetryClick = useCallback40(() => {\n postActivity(activity);\n focus(\"sendBoxWithoutKeyboard\");\n }, [activity, focus, postActivity]);\n const sendingText = localize2(\"ACTIVITY_STATUS_SEND_STATUS_ALT_SENDING\");\n return /* @__PURE__ */ React88.createElement(React88.Fragment, null, /* @__PURE__ */ React88.createElement(\"span\", { className: classNames41(\"webchat__activity-status\", \"webchat__activity-status--sending\", sendStatusStyleSet) }, sendStatus === SENDING ? sendingText : sendStatus === SEND_FAILED ? /* @__PURE__ */ React88.createElement(SendFailedRetry_default, { onRetryClick: handleRetryClick }) : false));\n};\nSendStatus.propTypes = {\n activity: PropTypes47.any.isRequired,\n // PropTypes cannot fully capture TypeScript types.\n // @ts-ignore\n sendStatus: PropTypes47.oneOf([SENDING, SEND_FAILED, SENT]).isRequired\n};\nvar SendStatus_default = SendStatus;\n\n// src/Middleware/ActivityStatus/createSendStatusMiddleware.tsx\nfunction createSendStatusMiddleware() {\n return () => (next) => ({ activity, sendState, ...args }) => {\n switch (sendState) {\n case SENDING:\n case SEND_FAILED:\n return /* @__PURE__ */ React89.createElement(SendStatus_default, { activity, sendStatus: sendState });\n default:\n return next({ activity, sendState, ...args });\n }\n };\n}\n\n// src/Middleware/ActivityStatus/createTimestampMiddleware.tsx\nimport React105, { Fragment as Fragment14 } from \"react\";\n\n// src/ActivityStatus/AbsoluteTime.js\nimport { hooks as hooks59 } from \"botframework-webchat-api\";\nimport PropTypes48 from \"prop-types\";\nimport React90, { Fragment as Fragment10 } from \"react\";\nvar { useDateFormatter, useLocalizer: useLocalizer34 } = hooks59;\nvar AbsoluteTime = ({ hide, value }) => {\n const localize2 = useLocalizer34();\n const formatDate = useDateFormatter();\n const absoluteTime = formatDate(value);\n return /* @__PURE__ */ React90.createElement(Fragment10, null, /* @__PURE__ */ React90.createElement(ScreenReaderText_default, { text: localize2(\"ACTIVITY_STATUS_SEND_STATUS_ALT_SENT_AT\", absoluteTime) }), !hide && /* @__PURE__ */ React90.createElement(\"span\", { \"aria-hidden\": true }, absoluteTime));\n};\nAbsoluteTime.defaultProps = {\n hide: false\n};\nAbsoluteTime.propTypes = {\n hide: PropTypes48.bool,\n value: PropTypes48.string.isRequired\n};\nvar AbsoluteTime_default = AbsoluteTime;\n\n// src/ActivityStatus/OthersActivityStatus.tsx\nimport {\n getOrgSchemaMessage as getOrgSchemaMessage3,\n parseAction,\n parseClaim as parseClaim2,\n warnOnce\n} from \"botframework-webchat-core\";\nimport classNames44 from \"classnames\";\nimport React103, { memo as memo40, useMemo as useMemo31 } from \"react\";\n\n// src/ActivityStatus/private/Feedback/Feedback.tsx\nimport { hooks as hooks61 } from \"botframework-webchat-api\";\nimport React98, { Fragment as Fragment11, memo as memo37, useEffect as useEffect24, useState as useState10 } from \"react\";\nimport { useRefFrom as useRefFrom12 } from \"use-ref-from\";\n\n// src/ActivityStatus/private/Feedback/private/VoteButton.tsx\nimport { onErrorResumeNext as onErrorResumeNext2, parseVoteAction } from \"botframework-webchat-core\";\nimport React97, { memo as memo36, useCallback as useCallback41, useMemo as useMemo30 } from \"react\";\nimport { useRefFrom as useRefFrom11 } from \"use-ref-from\";\n\n// src/ActivityStatus/private/Feedback/private/ThumbButton.tsx\nimport { hooks as hooks60 } from \"botframework-webchat-api\";\nimport classNames42 from \"classnames\";\nimport React96, { memo as memo35 } from \"react\";\n\n// src/ActivityStatus/private/Feedback/private/ThumbButton.Image.tsx\nimport React95, { memo as memo34 } from \"react\";\n\n// src/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Filled.tsx\nimport React91, { memo as memo30 } from \"react\";\nvar ThumbDislike16Filled = memo30(({ className }) => /* @__PURE__ */ React91.createElement(\"svg\", { className, fill: \"none\", height: \"16\", viewBox: \"0 0 16 16\", width: \"16\", xmlns: \"http://www.w3.org/2000/svg\" }, /* @__PURE__ */ React91.createElement(\n \"path\",\n {\n d: \"M13.0939 4.61984C12.716 2.60391 10.6934 1.34358 8.71713 1.89254L3.76706 3.26756C3.03196 3.47175 2.47706 4.07638 2.33656 4.82627L2.11258 6.02165C1.94781 6.90105 2.5733 7.6693 3.26989 7.95815C3.5248 8.06386 3.81627 8.21111 4.1232 8.41574C5.80215 9.53503 6.60359 11.0523 7.13855 12.3413C7.23478 12.5731 7.32706 12.8106 7.41614 13.0399C7.56235 13.4162 7.69994 13.7703 7.83227 14.041C7.94336 14.2683 8.07685 14.4964 8.2515 14.6716C8.43773 14.8585 8.68676 14.9995 9.00016 14.9995C9.35735 14.9995 9.66579 14.8763 9.91159 14.6602C10.1473 14.453 10.3051 14.179 10.4137 13.8989C10.6282 13.3453 10.6952 12.648 10.7032 12.0058C10.7114 11.3524 10.6585 10.705 10.6045 10.2249C10.5955 10.1452 10.5865 10.0698 10.5776 9.99952H11.0903C12.6557 9.99952 13.836 8.57733 13.5475 7.03879L13.0939 4.61984Z\",\n fill: \"currentcolor\"\n }\n)));\nThumbDislike16Filled.displayName = \"ThumbDislike16Filled\";\nvar ThumbDislike16Filled_default = ThumbDislike16Filled;\n\n// src/ActivityStatus/private/Feedback/private/icons/ThumbDislike16Regular.tsx\nimport React92, { memo as memo31 } from \"react\";\nvar ThumbDislike16Regular = memo31(({ className }) => /* @__PURE__ */ React92.createElement(\"svg\", { className, fill: \"none\", height: \"16\", viewBox: \"0 0 16 16\", width: \"16\", xmlns: \"http://www.w3.org/2000/svg\" }, /* @__PURE__ */ React92.createElement(\n \"path\",\n {\n d: \"M10.5776 9.99952C10.5944 10.133 10.6119 10.2848 10.6283 10.45C10.7019 11.1893 10.7593 12.2428 10.6146 13.1274C10.5427 13.5666 10.4137 14.0141 10.1727 14.3636C9.91609 14.7357 9.52604 14.9995 9.00016 14.9995C8.48357 14.9995 8.16907 14.6298 7.97616 14.3084C7.78384 13.9879 7.61527 13.553 7.44271 13.1078L7.42958 13.0739C6.88287 11.6637 6.13522 9.75708 4.1232 8.41574C3.81627 8.21111 3.5248 8.06386 3.26989 7.95815C2.5733 7.6693 1.94781 6.90105 2.11258 6.02165L2.33656 4.82627C2.47706 4.07638 3.03196 3.47175 3.76706 3.26756L8.71713 1.89254C10.6934 1.34358 12.716 2.60391 13.0939 4.61984L13.5475 7.03879C13.836 8.57733 12.6557 9.99952 11.0903 9.99952H10.5776ZM12.1111 4.80413C11.8411 3.36418 10.3964 2.46395 8.98478 2.85605L4.03471 4.23107C3.66715 4.33317 3.38971 4.63549 3.31945 5.01043L3.09548 6.20582C3.04235 6.48935 3.2566 6.87007 3.65293 7.03442C3.96222 7.16268 4.31198 7.33974 4.67791 7.58369C6.9648 9.10828 7.80648 11.2795 8.35387 12.6916L8.36197 12.7124C8.55151 13.2014 8.69067 13.5556 8.83359 13.7938C8.90275 13.909 8.95439 13.9644 8.98519 13.9886C8.99329 13.995 8.99862 13.9981 9.00124 13.9995C9.14311 13.9992 9.24643 13.9453 9.3495 13.7959C9.46849 13.6233 9.56579 13.3445 9.62769 12.966C9.75044 12.2154 9.70484 11.2689 9.63323 10.549C9.60484 10.2636 9.57314 10.0209 9.54862 9.85016C9.53637 9.76485 9.52595 9.69769 9.51867 9.65235L9.51029 9.60123L9.50819 9.58884L9.50772 9.58609C9.48227 9.44064 9.52236 9.29093 9.61735 9.17788C9.66884 9.11659 9.73358 9.06935 9.8056 9.03892C9.86646 9.01321 9.93252 8.99952 10.0002 8.99952H11.0903C12.0295 8.99952 12.7377 8.1462 12.5646 7.22308L12.1111 4.80413Z\",\n fill: \"currentcolor\"\n }\n)));\nThumbDislike16Regular.displayName = \"ThumbDislike16Regular\";\nvar ThumbDislike16Regular_default = ThumbDislike16Regular;\n\n// src/ActivityStatus/private/Feedback/private/icons/ThumbLike16Filled.tsx\nimport React93, { memo as memo32 } from \"react\";\nvar ThumbLike16Filled = memo32(({ className }) => /* @__PURE__ */ React93.createElement(\"svg\", { className, fill: \"none\", height: \"16\", viewBox: \"0 0 16 16\", width: \"16\", xmlns: \"http://www.w3.org/2000/svg\" }, /* @__PURE__ */ React93.createElement(\n \"path\",\n {\n d: \"M9.5806 1.0516C8.83006 0.843 8.24411 1.40248 8.03494 1.92332C7.79411 2.52303 7.58243 2.94395 7.32941 3.44707C7.17287 3.75833 7.00052 4.10106 6.79565 4.53704C6.32141 5.54625 5.84755 6.19347 5.5035 6.58154C5.33128 6.77579 5.19093 6.90585 5.09835 6.98435C5.05204 7.02362 5.01761 7.05005 4.99704 7.0652L4.9809 7.07684L3.109 8.18119C2.27244 8.67473 1.91142 9.69797 2.25304 10.6072L2.77304 11.9912C2.98944 12.5671 3.45891 13.0114 4.04591 13.1958L9.40179 14.8781C10.7365 15.2974 12.1555 14.5397 12.5497 13.1973L13.9139 8.55127C14.29 7.2705 13.3298 5.9878 11.9949 5.9878H10.6099C10.6759 5.76117 10.7434 5.50906 10.8047 5.24751C10.9361 4.68641 11.0478 4.04484 11.0375 3.51008C11.028 3.01293 10.9778 2.49126 10.7735 2.04807C10.5544 1.57258 10.1709 1.21566 9.5806 1.0516ZM4.9768 7.07969L4.97492 7.08097L4.9768 7.07969Z\",\n fill: \"currentcolor\"\n }\n)));\nThumbLike16Filled.displayName = \"ThumbLike16Filled\";\nvar ThumbLike16Filled_default = ThumbLike16Filled;\n\n// src/ActivityStatus/private/Feedback/private/icons/ThumbLike16Regular.tsx\nimport React94, { memo as memo33 } from \"react\";\nvar ThumbLike16Regular = memo33(({ className }) => /* @__PURE__ */ React94.createElement(\"svg\", { className, fill: \"none\", height: \"16\", viewBox: \"0 0 16 16\", width: \"16\", xmlns: \"http://www.w3.org/2000/svg\" }, /* @__PURE__ */ React94.createElement(\n \"path\",\n {\n d: \"M8.03494 1.92332C8.24411 1.40248 8.83006 0.843 9.5806 1.0516C10.1709 1.21566 10.5544 1.57258 10.7735 2.04807C10.9778 2.49126 11.028 3.01293 11.0375 3.51008C11.0478 4.04484 10.9361 4.68641 10.8047 5.24751C10.7434 5.50906 10.6759 5.76117 10.6099 5.9878H11.9949C13.3298 5.9878 14.29 7.2705 13.9139 8.55127L12.5497 13.1973C12.1555 14.5397 10.7365 15.2974 9.40179 14.8781L4.04591 13.1958C3.45891 13.0114 2.98944 12.5671 2.77304 11.9912L2.25304 10.6072C1.91142 9.69797 2.27244 8.67473 3.109 8.18119L4.98089 7.07684C4.98462 7.07423 4.99002 7.07037 4.99704 7.0652C5.01761 7.05005 5.05204 7.02362 5.09835 6.98435C5.19093 6.90585 5.33128 6.77579 5.5035 6.58154C5.84755 6.19347 6.32141 5.54625 6.79565 4.53704C7.00052 4.10106 7.17287 3.75833 7.32941 3.44707C7.58243 2.94395 7.79411 2.52303 8.03494 1.92332ZM5.51946 7.91969C5.51378 7.92334 5.50805 7.9269 5.50224 7.93032L3.61713 9.04247C3.19885 9.28924 3.01834 9.80086 3.18915 10.2555L3.70914 11.6394C3.81735 11.9274 4.05208 12.1496 4.34558 12.2418L9.70146 13.9241C10.5023 14.1756 11.3537 13.721 11.5902 12.9156L12.9544 8.26953C13.1424 7.62915 12.6623 6.9878 11.9949 6.9878H9.92587C9.76349 6.9878 9.61122 6.90894 9.51751 6.77632C9.42381 6.64369 9.40035 6.47382 9.4546 6.32077C9.55458 6.03869 9.70672 5.54998 9.83103 5.01941C9.95711 4.48125 10.0456 3.93709 10.0377 3.52931C10.0287 3.061 9.97907 2.71335 9.86536 2.46667C9.76654 2.25227 9.61384 2.09874 9.31282 2.01508C9.26971 2.0031 9.21948 2.0066 9.15353 2.04989C9.08149 2.09718 9.00781 2.18417 8.96291 2.29598C8.70922 2.92772 8.46651 3.41157 8.19787 3.94711C8.04311 4.25564 7.87974 4.58133 7.7007 4.96233C7.18681 6.05594 6.66067 6.78372 6.25176 7.24494C6.04749 7.47534 5.87312 7.6385 5.74509 7.74707C5.68109 7.80133 5.62875 7.84188 5.59013 7.87034C5.57082 7.88456 5.55495 7.89575 5.54277 7.90411L5.5273 7.91456L5.52171 7.91823L5.51946 7.91969ZM4.97612 7.08018L4.97492 7.08097L4.97612 7.08018Z\",\n fill: \"currentcolor\"\n }\n)));\nThumbLike16Regular.displayName = \"ThumbLike16Regular\";\nvar ThumbLike16Regular_default = ThumbLike16Regular;\n\n// src/ActivityStatus/private/Feedback/private/ThumbButton.Image.tsx\nvar ThumbButtonImage = memo34(\n ({ className, direction, filled = false }) => direction === \"down\" ? filled ? /* @__PURE__ */ React95.createElement(ThumbDislike16Filled_default, { className }) : /* @__PURE__ */ React95.createElement(ThumbDislike16Regular_default, { className }) : filled ? /* @__PURE__ */ React95.createElement(ThumbLike16Filled_default, { className }) : /* @__PURE__ */ React95.createElement(ThumbLike16Regular_default, { className })\n);\nThumbButtonImage.displayName = \"ThumbButtonImage\";\nvar ThumbButton_Image_default = ThumbButtonImage;\n\n// src/ActivityStatus/private/Feedback/private/ThumbButton.tsx\nvar { useLocalizer: useLocalizer35 } = hooks60;\nvar ThumbButton = memo35(({ direction, onClick, pressed }) => {\n const [{ thumbButton }] = useStyleSet();\n const localize2 = useLocalizer35();\n const title = localize2(direction === \"down\" ? \"VOTE_DISLIKE_ALT\" : \"VOTE_LIKE_ALT\");\n return /* @__PURE__ */ React96.createElement(\n \"button\",\n {\n \"aria-label\": title,\n \"aria-pressed\": pressed,\n className: classNames42(\n \"webchat__thumb-button\",\n { \"webchat__thumb-button--is-pressed\": pressed },\n thumbButton + \"\"\n ),\n onClick,\n title,\n type: \"button\"\n },\n /* @__PURE__ */ React96.createElement(\n ThumbButton_Image_default,\n {\n className: classNames42(\"webchat__thumb-button__image\", {\n \"webchat__thumb-button__image--is-down\": direction === \"down\"\n }),\n direction\n }\n ),\n /* @__PURE__ */ React96.createElement(\n ThumbButton_Image_default,\n {\n className: classNames42(\"webchat__thumb-button__image\", \"webchat__thumb-button__image--is-filled\", {\n \"webchat__thumb-button__image--is-down\": direction === \"down\"\n }),\n direction,\n filled: true\n }\n )\n );\n});\nThumbButton.displayName = \"ThumbButton\";\nvar ThumbButton_default = ThumbButton;\n\n// src/ActivityStatus/private/Feedback/private/VoteButton.tsx\nvar FeedbackVoteButton = memo36(({ action, onClick, pressed }) => {\n const onClickRef = useRefFrom11(onClick);\n const voteActionRef = useRefFrom11(action);\n const direction = useMemo30(() => {\n if (action[\"@type\"] === \"DislikeAction\" || action[\"@type\"] === \"VoteAction\" && onErrorResumeNext2(() => parseVoteAction(action))?.actionOption === \"downvote\") {\n return \"down\";\n }\n return \"up\";\n }, [action]);\n const handleClick = useCallback41(() => onClickRef.current?.(voteActionRef.current), [onClickRef, voteActionRef]);\n return /* @__PURE__ */ React97.createElement(ThumbButton_default, { direction, onClick: handleClick, pressed });\n});\nFeedbackVoteButton.displayName = \"FeedbackVoteButton\";\nvar VoteButton_default = FeedbackVoteButton;\n\n// src/ActivityStatus/private/Feedback/Feedback.tsx\nvar { usePonyfill: usePonyfill5, usePostActivity: usePostActivity2 } = hooks61;\nvar DEBOUNCE_TIMEOUT = 500;\nvar Feedback = memo37(({ actions }) => {\n const [{ clearTimeout, setTimeout }] = usePonyfill5();\n const [selectedAction, setSelectedAction] = useState10();\n const postActivity = usePostActivity2();\n const postActivityRef = useRefFrom12(postActivity);\n useEffect24(() => {\n if (!selectedAction) {\n return;\n }\n const timeout = setTimeout(\n () => (\n // TODO: We should update this to use W3C Hydra.1\n postActivityRef.current({\n entities: [selectedAction],\n name: \"webchat:activity-status/feedback\",\n type: \"event\"\n })\n ),\n DEBOUNCE_TIMEOUT\n );\n return () => clearTimeout(timeout);\n }, [clearTimeout, postActivityRef, selectedAction, setTimeout]);\n return /* @__PURE__ */ React98.createElement(Fragment11, null, Array.from(actions).map((action, index) => /* @__PURE__ */ React98.createElement(\n VoteButton_default,\n {\n action,\n key: action[\"@id\"] || index,\n onClick: setSelectedAction,\n pressed: selectedAction === action\n }\n )));\n});\nFeedback.displayName = \"ActivityStatusFeedback\";\nvar Feedback_default = Feedback;\n\n// src/ActivityStatus/private/Originator.tsx\nimport React99, { memo as memo38 } from \"react\";\nvar Originator = memo38(({ project }) => {\n const { name, slogan, url } = project;\n const text = slogan || name;\n return url ? /* @__PURE__ */ React99.createElement(\n \"a\",\n {\n className: \"webchat__activity-status__originator webchat__activity-status__originator--has-link\",\n href: url,\n rel: \"noopener noreferrer\",\n target: \"_blank\"\n },\n text\n ) : /* @__PURE__ */ React99.createElement(\"span\", { className: \"webchat__activity-status__originator\" }, text);\n});\nOriginator.displayName = \"Originator\";\nvar Originator_default = Originator;\n\n// src/ActivityStatus/Slotted.tsx\nimport React100, { Children as Children2, Fragment as Fragment12, memo as memo39 } from \"react\";\nimport classNames43 from \"classnames\";\nvar Slotted = memo39(({ children, className }) => /* @__PURE__ */ React100.createElement(\"span\", { className: classNames43(\"webchat__activity-status--slotted\", className) }, Children2.map(\n children,\n (child, index) => (\n // TODO: We may be able to do this in pure CSS, say, :not(:first-child)::before { content: '|' }.\n index ? /* @__PURE__ */ React100.createElement(Fragment12, null, /* @__PURE__ */ React100.createElement(\"span\", { className: \"webchat__activity-status__slot-pipe\", role: \"presentation\" }, \"|\"), child) : child\n )\n)));\nSlotted.displayName = \"SlottedActivityStatus\";\nvar Slotted_default = Slotted;\n\n// src/ActivityStatus/Timestamp.tsx\nimport { hooks as hooks64 } from \"botframework-webchat-api\";\nimport PropTypes50 from \"prop-types\";\nimport React102 from \"react\";\n\n// src/ActivityStatus/private/RelativeTime.js\nimport { hooks as hooks63 } from \"botframework-webchat-api\";\nimport PropTypes49 from \"prop-types\";\nimport React101, { Fragment as Fragment13 } from \"react\";\n\n// src/hooks/internal/useForceRenderAtInterval.ts\nimport { hooks as hooks62 } from \"botframework-webchat-api\";\nimport { useCallback as useCallback42, useState as useState11 } from \"react\";\nimport random5 from \"math-random\";\nvar { usePonyfill: usePonyfill6 } = hooks62;\nfunction nextTimer(origin, interval, { Date }) {\n const time = new Date(origin).getTime();\n const now = Date.now();\n return time > now ? time : now + interval - (now - time) % interval;\n}\nfunction useForceRenderAtInterval(origin, interval, fn) {\n const [ponyfill] = usePonyfill6();\n const [timer, setTimer] = useState11(nextTimer(origin, interval, ponyfill));\n const handler = useCallback42(() => {\n fn && fn();\n setTimer(nextTimer(origin, interval, ponyfill) + random5());\n }, [fn, origin, interval, ponyfill]);\n useTimer(timer, handler);\n return [timer, setTimer];\n}\n\n// src/ActivityStatus/private/RelativeTime.js\nvar { useDateFormatter: useDateFormatter2, useLocalizer: useLocalizer36, useRelativeTimeFormatter } = hooks63;\nvar TIMER_INTERVAL = 6e4;\nvar RelativeTime = ({ value }) => {\n const formatDate = useDateFormatter2();\n const formatRelativeTime = useRelativeTimeFormatter();\n const localize2 = useLocalizer36();\n useForceRenderAtInterval(value, TIMER_INTERVAL);\n return /* @__PURE__ */ React101.createElement(Fragment13, null, /* @__PURE__ */ React101.createElement(ScreenReaderText_default, { text: localize2(\"ACTIVITY_STATUS_SEND_STATUS_ALT_SENT_AT\", formatDate(value)) }), /* @__PURE__ */ React101.createElement(\"span\", { \"aria-hidden\": true }, formatRelativeTime(value)));\n};\nRelativeTime.propTypes = {\n value: PropTypes49.string.isRequired\n};\nvar RelativeTime_default = RelativeTime;\n\n// src/ActivityStatus/Timestamp.tsx\nvar { useStyleOptions: useStyleOptions18 } = hooks64;\nvar Timestamp = ({ timestamp }) => {\n const [{ timestampFormat }] = useStyleOptions18();\n return timestampFormat === \"relative\" ? /* @__PURE__ */ React102.createElement(RelativeTime_default, { value: timestamp }) : /* @__PURE__ */ React102.createElement(AbsoluteTime_default, { value: timestamp });\n};\nTimestamp.propTypes = {\n timestamp: PropTypes50.string.isRequired\n};\nvar Timestamp_default = Timestamp;\n\n// src/ActivityStatus/OthersActivityStatus.tsx\nvar warnRootLevelThings = warnOnce(\n 'Root-level things are being deprecated, please relate all things to `entities[@id=\"\"]` instead. This feature will be removed in 2025-03-06.'\n);\nvar OthersActivityStatus = memo40(({ activity }) => {\n const [{ sendStatus }] = useStyleSet();\n const { timestamp } = activity;\n const graph = useMemo31(() => dereferenceBlankNodes(activity.entities || []), [activity.entities]);\n const messageThing = useMemo31(() => getOrgSchemaMessage3(graph), [graph]);\n const claimInterpreter = useMemo31(() => {\n try {\n if (messageThing) {\n return parseClaim2((messageThing?.citation || [])[0])?.claimInterpreter;\n }\n const [firstClaim] = graph.filter(({ type }) => type === \"https://schema.org/Claim\").map(parseClaim2);\n if (firstClaim) {\n warnRootLevelThings();\n return firstClaim?.claimInterpreter;\n }\n const replyAction = parseAction(graph.find(({ type }) => type === \"https://schema.org/ReplyAction\"));\n if (replyAction) {\n warnRootLevelThings();\n return replyAction?.provider;\n }\n } catch {\n }\n }, [graph, messageThing]);\n const feedbackActions = useMemo31(() => {\n try {\n const reactActions = (messageThing?.potentialAction || []).filter(\n ({ \"@type\": type }) => type === \"LikeAction\" || type === \"DislikeAction\"\n );\n if (reactActions.length) {\n return Object.freeze(new Set(reactActions));\n }\n const voteActions = graph.filter(({ type }) => type === \"https://schema.org/VoteAction\").map(parseAction);\n if (voteActions.length) {\n return Object.freeze(new Set(voteActions));\n }\n } catch {\n }\n }, [graph, messageThing]);\n return /* @__PURE__ */ React103.createElement(Slotted_default, { className: classNames44(\"webchat__activity-status\", sendStatus + \"\") }, useMemo31(\n () => [\n timestamp && /* @__PURE__ */ React103.createElement(Timestamp_default, { key: \"timestamp\", timestamp }),\n claimInterpreter && /* @__PURE__ */ React103.createElement(Originator_default, { key: \"originator\", project: claimInterpreter }),\n feedbackActions?.size && /* @__PURE__ */ React103.createElement(Feedback_default, { actions: feedbackActions, key: \"feedback\" })\n ].filter(Boolean),\n [claimInterpreter, timestamp, feedbackActions]\n ));\n});\nOthersActivityStatus.displayName = \"OthersActivityStatus\";\nvar OthersActivityStatus_default = OthersActivityStatus;\n\n// src/ActivityStatus/SelfActivityStatus.tsx\nimport classNames45 from \"classnames\";\nimport React104, { memo as memo41 } from \"react\";\nvar SelftActivityStatus = memo41(({ activity }) => {\n const [{ sendStatus }] = useStyleSet();\n const { timestamp } = activity;\n return timestamp ? /* @__PURE__ */ React104.createElement(Slotted_default, { className: classNames45(\"webchat__activity-status\", \"webchat__activity-status--self\", sendStatus + \"\") }, /* @__PURE__ */ React104.createElement(Timestamp_default, { timestamp })) : null;\n});\nSelftActivityStatus.displayName = \"SelftActivityStatus\";\nvar SelfActivityStatus_default = SelftActivityStatus;\n\n// src/Middleware/ActivityStatus/createTimestampMiddleware.tsx\nfunction createTimestampMiddleware() {\n return () => () => (...args) => {\n const [{ activity, hideTimestamp }] = args;\n if (typeof activity.timestamp === \"undefined\") {\n return /* @__PURE__ */ React105.createElement(Fragment14, null);\n } else if (hideTimestamp) {\n return /* @__PURE__ */ React105.createElement(AbsoluteTime_default, { hide: true, value: activity.timestamp });\n } else if (activity.from.role === \"bot\") {\n return /* @__PURE__ */ React105.createElement(OthersActivityStatus_default, { activity });\n }\n return /* @__PURE__ */ React105.createElement(SelfActivityStatus_default, { activity });\n };\n}\n\n// src/Middleware/ActivityStatus/createCoreMiddleware.tsx\nfunction createCoreMiddleware3() {\n return [createSendStatusMiddleware(), createTimestampMiddleware()];\n}\n\n// src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx\nimport React111 from \"react\";\n\n// src/Middleware/AttachmentForScreenReader/AudioAttachment.js\nimport { hooks as hooks65 } from \"botframework-webchat-api\";\nimport React106 from \"react\";\nvar { useLocalizer: useLocalizer37 } = hooks65;\nvar AudioAttachment2 = () => {\n const localize2 = useLocalizer37();\n const label = localize2(\"ATTACHMENT_AUDIO\");\n return /* @__PURE__ */ React106.createElement(\"article\", null, label);\n};\nvar AudioAttachment_default2 = AudioAttachment2;\n\n// src/Middleware/AttachmentForScreenReader/FileAttachment.js\nimport { hooks as hooks66 } from \"botframework-webchat-api\";\nimport PropTypes51 from \"prop-types\";\nimport React107 from \"react\";\nvar { useLocalizer: useLocalizer38 } = hooks66;\nvar FileAttachment2 = ({ attachment: { name = \"\" } = {} }) => {\n const localize2 = useLocalizer38();\n const label = localize2(\"ATTACHMENT_FILE\", name);\n return /* @__PURE__ */ React107.createElement(\"article\", null, label);\n};\nFileAttachment2.propTypes = {\n attachment: PropTypes51.shape({\n name: PropTypes51.string.isRequired\n }).isRequired\n};\nvar FileAttachment_default2 = FileAttachment2;\n\n// src/Middleware/AttachmentForScreenReader/ImageAttachment.js\nimport { hooks as hooks67 } from \"botframework-webchat-api\";\nimport React108 from \"react\";\nvar { useLocalizer: useLocalizer39 } = hooks67;\nvar ImageAttachment2 = () => {\n const localize2 = useLocalizer39();\n const label = localize2(\"ATTACHMENT_IMAGE\");\n return /* @__PURE__ */ React108.createElement(\"article\", null, label);\n};\nvar ImageAttachment_default2 = ImageAttachment2;\n\n// src/Middleware/AttachmentForScreenReader/TextAttachment.js\nimport { hooks as hooks68 } from \"botframework-webchat-api\";\nimport PropTypes52 from \"prop-types\";\nimport React109 from \"react\";\nvar { useLocalizer: useLocalizer40 } = hooks68;\nvar TextAttachment2 = ({ attachment: { content = \"\" } = {} }) => {\n const localize2 = useLocalizer40();\n const label = localize2(\"ATTACHMENT_TEXT\", content);\n return /* @__PURE__ */ React109.createElement(\"article\", null, label);\n};\nTextAttachment2.propTypes = {\n attachment: PropTypes52.shape({\n content: PropTypes52.string.isRequired\n }).isRequired\n};\nvar TextAttachment_default2 = TextAttachment2;\n\n// src/Middleware/AttachmentForScreenReader/VideoAttachment.js\nimport { hooks as hooks69 } from \"botframework-webchat-api\";\nimport React110 from \"react\";\nvar { useLocalizer: useLocalizer41 } = hooks69;\nvar VideoAttachment2 = () => {\n const localize2 = useLocalizer41();\n const label = localize2(\"ATTACHMENT_VIDEO\");\n return /* @__PURE__ */ React110.createElement(\"article\", null, label);\n};\nvar VideoAttachment_default2 = VideoAttachment2;\n\n// src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx\nfunction createCoreMiddleware4() {\n return [\n () => (next) => (...args) => {\n const [\n {\n activity: { from: { role = void 0 } = {} } = {},\n attachment,\n attachment: { contentType = void 0, contentUrl = void 0, thumbnailUrl = void 0 } = {}\n }\n ] = args;\n const isText = /^text\\//u.test(contentType);\n return (isText ? !attachment.content : role === \"user\" && !thumbnailUrl) ? () => /* @__PURE__ */ React111.createElement(FileAttachment_default2, { attachment }) : /^audio\\//u.test(contentType) ? () => /* @__PURE__ */ React111.createElement(AudioAttachment_default2, null) : /^image\\//u.test(contentType) ? () => /* @__PURE__ */ React111.createElement(ImageAttachment_default2, null) : /^video\\//u.test(contentType) ? () => /* @__PURE__ */ React111.createElement(VideoAttachment_default2, null) : contentUrl || contentType === \"application/octet-stream\" ? () => /* @__PURE__ */ React111.createElement(FileAttachment_default2, { attachment }) : isText ? () => /* @__PURE__ */ React111.createElement(TextAttachment_default2, { attachment }) : next(...args);\n }\n ];\n}\n\n// src/Middleware/Avatar/createCoreMiddleware.tsx\nimport classNames48 from \"classnames\";\nimport PropTypes54 from \"prop-types\";\nimport React114 from \"react\";\n\n// src/Avatar/ImageAvatar.tsx\nimport { hooks as hooks70 } from \"botframework-webchat-api\";\nimport classNames46 from \"classnames\";\nimport React112, { memo as memo42 } from \"react\";\nvar { useAvatarForBot: useAvatarForBot5, useAvatarForUser: useAvatarForUser3 } = hooks70;\nvar ROOT_STYLE21 = {\n \"& .webchat__imageAvatar__image\": {\n width: \"100%\"\n }\n};\nvar ImageAvatar = memo42(({ fromUser }) => {\n const [{ image: avatarImageForBot }] = useAvatarForBot5();\n const [{ image: avatarImageForUser }] = useAvatarForUser3();\n const [{ imageAvatar: imageAvatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE21) + \"\";\n const avatarImage = fromUser ? avatarImageForUser : avatarImageForBot;\n return !!avatarImage && /* @__PURE__ */ React112.createElement(\"div\", { className: classNames46(\"webchat__imageAvatar\", rootClassName, imageAvatarStyleSet + \"\") }, /* @__PURE__ */ React112.createElement(\n FixedWidthImage_default,\n {\n alt: \"\",\n className: \"webchat__imageAvatar__image\",\n src: fromUser ? avatarImageForUser : avatarImageForBot\n }\n ));\n});\nvar ImageAvatar_default = ImageAvatar;\n\n// src/Avatar/InitialsAvatar.js\nimport { hooks as hooks71 } from \"botframework-webchat-api\";\nimport classNames47 from \"classnames\";\nimport PropTypes53 from \"prop-types\";\nimport React113 from \"react\";\nvar { useAvatarForBot: useAvatarForBot6, useAvatarForUser: useAvatarForUser4 } = hooks71;\nvar ROOT_STYLE22 = {\n alignItems: \"center\",\n display: \"flex\",\n \"& .webchat__initialsAvatar__initials\": {\n justifyContent: \"center\"\n }\n};\nvar InitialsAvatar = ({ fromUser }) => {\n const [{ initials: avatarInitialsForBot }] = useAvatarForBot6();\n const [{ initials: avatarInitialsForUser }] = useAvatarForUser4();\n const [{ initialsAvatar: initialsAvatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE22) + \"\";\n return /* @__PURE__ */ React113.createElement(\n \"div\",\n {\n className: classNames47(\n \"webchat__initialsAvatar\",\n {\n \"webchat__initialsAvatar--fromUser\": fromUser\n },\n rootClassName,\n initialsAvatarStyleSet + \"\"\n )\n },\n /* @__PURE__ */ React113.createElement(\"div\", { className: \"webchat__initialsAvatar__initials\" }, fromUser ? avatarInitialsForUser : avatarInitialsForBot)\n );\n};\nInitialsAvatar.defaultProps = {\n fromUser: false\n};\nInitialsAvatar.propTypes = {\n fromUser: PropTypes53.bool\n};\nvar InitialsAvatar_default = InitialsAvatar;\n\n// src/Middleware/Avatar/createCoreMiddleware.tsx\nvar ROOT_STYLE23 = {\n overflow: \"hidden\",\n position: \"relative\",\n \"> *\": {\n left: 0,\n position: \"absolute\",\n top: 0\n }\n};\nvar DefaultAvatar = ({ \"aria-hidden\": ariaHidden, className, fromUser }) => {\n const [{ avatar: avatarStyleSet }] = useStyleSet();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE23) + \"\";\n return /* @__PURE__ */ React114.createElement(\n \"div\",\n {\n \"aria-hidden\": ariaHidden,\n className: classNames48(\n \"webchat__defaultAvatar\",\n { \"webchat__defaultAvatar--fromUser\": fromUser },\n rootClassName,\n avatarStyleSet + \"\",\n (className || \"\") + \"\"\n )\n },\n /* @__PURE__ */ React114.createElement(InitialsAvatar_default, { fromUser }),\n /* @__PURE__ */ React114.createElement(ImageAvatar_default, { fromUser })\n );\n};\nDefaultAvatar.defaultProps = {\n \"aria-hidden\": true,\n className: \"\"\n};\nDefaultAvatar.propTypes = {\n \"aria-hidden\": PropTypes54.bool,\n className: PropTypes54.string,\n fromUser: PropTypes54.bool.isRequired\n};\nfunction createCoreAvatarMiddleware() {\n return [\n () => () => ({ fromUser, styleOptions }) => {\n const { botAvatarImage, botAvatarInitials, userAvatarImage, userAvatarInitials } = styleOptions;\n if (fromUser ? userAvatarImage || userAvatarInitials : botAvatarImage || botAvatarInitials) {\n return () => /* @__PURE__ */ React114.createElement(DefaultAvatar, { fromUser });\n }\n return false;\n }\n ];\n}\n\n// src/Middleware/CardAction/createCoreMiddleware.js\nfunction getScheme(href) {\n href = href.replace(/[\\x00-\\x20]+/gu, \"\");\n href = href.replace(//gu, \"\");\n const matches = href.match(/^([a-zA-Z]+):/u);\n if (!matches) {\n return;\n }\n return matches[1].toLowerCase();\n}\nvar ALLOWED_SCHEMES = [\"data\", \"http\", \"https\", \"ftp\", \"mailto\", \"sip\", \"tel\"];\nfunction createDefaultCardActionMiddleware() {\n return [\n () => (next) => (...args) => {\n const [\n {\n cardAction: { type, value },\n getSignInUrl\n }\n ] = args;\n switch (type) {\n case \"call\":\n case \"downloadFile\":\n case \"openUrl\":\n case \"playAudio\":\n case \"playVideo\":\n case \"showImage\":\n if (ALLOWED_SCHEMES.includes(getScheme(value))) {\n if (ie11) {\n const newWindow = window.open();\n newWindow.opener = null;\n newWindow.location = value;\n } else {\n window.open(value, \"_blank\", \"noopener noreferrer\");\n }\n } else {\n console.warn(\"botframework-webchat: Cannot open URL with disallowed schemes.\", value);\n }\n break;\n case \"signin\": {\n (async function() {\n const popup = window.open();\n const url = await getSignInUrl();\n if ([\"http\", \"https\"].includes(getScheme(url))) {\n popup.location.href = url;\n } else {\n console.warn(\"botframework-webchat: Cannot open URL with disallowed schemes.\", url);\n popup.close();\n }\n })();\n break;\n }\n default:\n return next(...args);\n }\n }\n ];\n}\n\n// src/Middleware/ScrollToEndButton/ScrollToEndButton.tsx\nimport { hooks as hooks72 } from \"botframework-webchat-api\";\nimport classNames49 from \"classnames\";\nimport React115, { useRef as useRef24 } from \"react\";\nvar { useDirection: useDirection17, useLocalizer: useLocalizer42, useStyleOptions: useStyleOptions19 } = hooks72;\nvar newMessagesAccessKey = \"U u \\xDC \\xFC\";\nvar ScrollToEndButton = ({ onClick }) => {\n const focusRef = useRef24(null);\n const [{ scrollToEndButton: scrollToEndButtonStyleSet }] = useStyleSet();\n const [{ scrollToEndButtonBehavior }] = useStyleOptions19();\n const [direction] = useDirection17();\n const localize2 = useLocalizer42();\n const localizeAccessKey = useLocalizeAccessKey(\"accessible name\");\n const shouldShowNewMessagesButton = scrollToEndButtonBehavior !== \"any\";\n const text = localize2(shouldShowNewMessagesButton ? \"TRANSCRIPT_NEW_MESSAGES\" : \"TRANSCRIPT_MORE_MESSAGES\");\n const liveRegionText = localize2(\n \"TRANSCRIPT_LIVE_REGION_NEW_MESSAGES_ALT\",\n localizeAccessKey(newMessagesAccessKey),\n text\n );\n useFocusAccessKeyEffect(shouldShowNewMessagesButton ? newMessagesAccessKey : \"\", focusRef);\n useLiveRegion(\n () => shouldShowNewMessagesButton && /* @__PURE__ */ React115.createElement(\"div\", { className: \"webchat__scroll-to-end-button__status\" }, liveRegionText),\n [liveRegionText, shouldShowNewMessagesButton]\n );\n return /* @__PURE__ */ React115.createElement(\n \"button\",\n {\n \"aria-keyshortcuts\": shouldShowNewMessagesButton ? localizeAccessKey(newMessagesAccessKey) : void 0,\n \"aria-label\": text,\n className: classNames49(\n \"webchat__scroll-to-end-button\",\n scrollToEndButtonStyleSet + \"\",\n direction === \"rtl\" ? \"webchat__scroll-to-end-button--rtl\" : \"\"\n ),\n onClick,\n ref: focusRef,\n tabIndex: 0,\n type: \"button\"\n },\n text\n );\n};\nScrollToEndButton.displayName = \"ScrollToEndButton\";\nvar ScrollToEndButton_default = ScrollToEndButton;\n\n// src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts\nfunction createScrollToEndButtonMiddleware() {\n return [\n () => () => ({ atEnd, styleOptions: { scrollToEndButtonBehavior }, unread }) => !scrollToEndButtonBehavior ? (\n // Don't show the button when it is set to false.\n false\n ) : scrollToEndButtonBehavior === \"any\" ? (\n // Show when the scroll view is not at the end, regardless of number of unread activities.\n !atEnd && ScrollToEndButton_default\n ) : (\n // Show when the scroll view is not at the end of the transcript, and there are new/unread activities.\n !atEnd && unread && ScrollToEndButton_default\n )\n ];\n}\n\n// src/Toast/createToastMiddleware.tsx\nimport React118 from \"react\";\n\n// src/BasicToast.js\nimport { hooks as hooks73 } from \"botframework-webchat-api\";\nimport classNames50 from \"classnames\";\nimport PropTypes56 from \"prop-types\";\nimport React117, { useCallback as useCallback43, useMemo as useMemo32 } from \"react\";\n\n// src/Toast/DismissIcon.js\nimport PropTypes55 from \"prop-types\";\nimport React116 from \"react\";\nvar DismissIcon = ({ className }) => /* @__PURE__ */ React116.createElement(\n \"svg\",\n {\n className: (className || \"\") + \"\",\n focusable: false,\n height: \"14\",\n role: \"presentation\",\n viewBox: \"0 0 14 14\",\n width: \"14\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React116.createElement(\"path\", { d: \"M7.71094 7L13.1016 12.3984L12.3984 13.1016L7 7.71094L1.60156 13.1016L0.898438 12.3984L6.28906 7L0.898438 1.60156L1.60156 0.898438L7 6.28906L12.3984 0.898438L13.1016 1.60156L7.71094 7Z\" })\n);\nDismissIcon.defaultProps = {\n className: void 0\n};\nDismissIcon.propTypes = {\n className: PropTypes55.string\n};\nvar DismissIcon_default = DismissIcon;\n\n// src/BasicToast.js\nvar { useDismissNotification, useLocalizer: useLocalizer43 } = hooks73;\nvar ROOT_STYLE24 = {\n display: \"flex\",\n \"& .webchat__toast__text\": {\n flex: 1\n }\n};\nvar BasicToast = ({ notification: { alt, id, level, message = \"\" } }) => {\n const [{ toast: toastStyleSet }] = useStyleSet();\n const contentId = useMemo32(() => `webchat__toast__${randomId()}`, []);\n const localize2 = useLocalizer43();\n const dismissNotification = useDismissNotification();\n const renderMarkdownInline = useInternalRenderMarkdownInline_default();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE24) + \"\";\n const handleDismiss = useCallback43(() => dismissNotification(id), [dismissNotification, id]);\n const html = useMemo32(() => ({ __html: renderMarkdownInline(message) }), [message, renderMarkdownInline]);\n return /* @__PURE__ */ React117.createElement(\n \"div\",\n {\n \"aria-describedby\": contentId,\n \"aria-label\": localize2(\"TOAST_TITLE_ALT\"),\n className: classNames50(\n \"webchat__toast\",\n {\n \"webchat__toast--error\": level === \"error\",\n \"webchat__toast--info\": level === \"info\",\n \"webchat__toast--success\": level === \"success\",\n \"webchat__toast--warn\": level === \"warn\"\n },\n rootClassName,\n toastStyleSet + \"\"\n ),\n role: \"dialog\"\n },\n /* @__PURE__ */ React117.createElement(\"div\", { className: \"webchat__toast__iconBox\" }, /* @__PURE__ */ React117.createElement(NotificationIcon_default, { className: \"webchat__toast__icon\", level })),\n !!alt && /* @__PURE__ */ React117.createElement(ScreenReaderText_default, { text: alt }),\n /* @__PURE__ */ React117.createElement(\"div\", { \"aria-hidden\": !!alt, className: \"webchat__toast__text\", dangerouslySetInnerHTML: html, id: contentId }),\n /* @__PURE__ */ React117.createElement(\n \"button\",\n {\n \"aria-label\": localize2(\"TOAST_DISMISS_BUTTON\"),\n className: \"webchat__toast__dismissButton\",\n onClick: handleDismiss,\n type: \"button\"\n },\n /* @__PURE__ */ React117.createElement(\"div\", { \"aria-hidden\": true, className: \"webchat__toast__dismissButtonFocus\" }, /* @__PURE__ */ React117.createElement(DismissIcon_default, null))\n )\n );\n};\nBasicToast.propTypes = {\n notification: PropTypes56.shape({\n alt: PropTypes56.string,\n id: PropTypes56.string.isRequired,\n level: PropTypes56.string.isRequired,\n message: PropTypes56.string.isRequired\n }).isRequired\n};\nvar BasicToast_default = BasicToast;\n\n// src/Toast/createToastMiddleware.tsx\nfunction createToastMiddleware() {\n return () => () => ({ notification }) => /* @__PURE__ */ React118.createElement(BasicToast_default, { notification });\n}\nvar createToastMiddleware_default = createToastMiddleware;\n\n// src/Middleware/Toast/createCoreMiddleware.tsx\nfunction createCoreMiddleware5() {\n return [\n () => (next) => (...args) => {\n const [\n {\n notification: { id }\n }\n ] = args;\n return id !== \"connectivitystatus\" && next(...args);\n },\n createToastMiddleware_default()\n ];\n}\nvar createCoreMiddleware_default = createCoreMiddleware5;\n\n// src/Middleware/TypingIndicator/createCoreMiddleware.tsx\nimport { hooks as hooks75 } from \"botframework-webchat-api\";\nimport classNames52 from \"classnames\";\nimport React120 from \"react\";\n\n// src/Assets/TypingAnimation.js\nimport { hooks as hooks74 } from \"botframework-webchat-api\";\nimport classNames51 from \"classnames\";\nimport React119 from \"react\";\nvar { useDirection: useDirection18, useLocalizer: useLocalizer44 } = hooks74;\nvar ROOT_STYLE25 = {\n \"&.webchat__typing-indicator.webchat__typing-indicator--rtl\": { transform: \"scale(-1, 1)\" }\n};\nvar TypingAnimation = () => {\n const [{ typingAnimation: typingAnimationStyleSet }] = useStyleSet();\n const [direction] = useDirection18();\n const localize2 = useLocalizer44();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE25) + \"\";\n return /* @__PURE__ */ React119.createElement(React119.Fragment, null, /* @__PURE__ */ React119.createElement(ScreenReaderText_default, { text: localize2(\"TYPING_INDICATOR_ALT\") }), /* @__PURE__ */ React119.createElement(\n \"div\",\n {\n \"aria-hidden\": true,\n className: classNames51(\n \"webchat__typing-indicator\",\n {\n \"webchat__typing-indicator--rtl\": direction === \"rtl\"\n },\n rootClassName,\n typingAnimationStyleSet + \"\"\n )\n }\n ));\n};\nvar TypingAnimation_default = TypingAnimation;\n\n// src/Middleware/TypingIndicator/createCoreMiddleware.tsx\nvar { useDirection: useDirection19, useLocalizer: useLocalizer45 } = hooks75;\nvar DotIndicator = () => {\n const [{ typingIndicator: typingIndicatorStyleSet }] = useStyleSet();\n const [direction] = useDirection19();\n const localize2 = useLocalizer45();\n return /* @__PURE__ */ React120.createElement(\"div\", { className: classNames52(typingIndicatorStyleSet + \"\", direction === \"rtl\" && \"webchat__typing-indicator--rtl\") }, /* @__PURE__ */ React120.createElement(TypingAnimation_default, { \"aria-label\": localize2(\"TYPING_INDICATOR_ALT\") }));\n};\nfunction createCoreMiddleware6() {\n return [\n () => () => ({ visible }) => visible && /* @__PURE__ */ React120.createElement(DotIndicator, null)\n ];\n}\n\n// src/providers/ActivityTree/ActivityTreeComposer.tsx\nimport { hooks as hooks77 } from \"botframework-webchat-api\";\nimport React121, { useMemo as useMemo36 } from \"react\";\n\n// src/hooks/internal/useMemoWithPrevious.ts\nimport { useEffect as useEffect25, useMemo as useMemo33, useRef as useRef25 } from \"react\";\nfunction useMemoWithPrevious(factory, deps) {\n const prevValueRef = useRef25();\n const value = useMemo33(() => factory(prevValueRef.current), deps);\n useEffect25(() => {\n prevValueRef.current = value;\n });\n return value;\n}\n\n// src/providers/ActivityTree/private/useActivitiesWithRenderer.ts\nimport { useMemo as useMemo34 } from \"react\";\nfunction useActivitiesWithRenderer(activities, createActivityRenderer) {\n const createActivityRendererMemoized = useMemoized(\n (activity, nextVisibleActivity) => createActivityRenderer({ activity, nextVisibleActivity }),\n [createActivityRenderer]\n );\n const entries = useMemo34(() => {\n const activitiesWithRenderer = [];\n let nextVisibleActivity;\n for (let index = activities.length - 1; index >= 0; index--) {\n const activity = activities[+index];\n const renderActivity = createActivityRendererMemoized(activity, nextVisibleActivity);\n if (renderActivity) {\n activitiesWithRenderer.splice(0, 0, {\n activity,\n renderActivity\n });\n nextVisibleActivity = activity;\n }\n }\n return Object.freeze(activitiesWithRenderer);\n }, [activities, createActivityRendererMemoized]);\n return entries;\n}\n\n// src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts\nimport { hooks as hooks76 } from \"botframework-webchat-api\";\nimport { useMemo as useMemo35 } from \"react\";\n\n// src/Utils/intersectionOf.ts\nfunction intersectionOf(arg0, ...args) {\n return args.reduce(\n (interim, arg) => interim.reduce((intersection, item) => {\n arg.includes(item) && intersection.push(item);\n return intersection;\n }, []),\n [...arg0]\n );\n}\n\n// src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts\nvar { useGroupActivities } = hooks76;\nfunction validateAllEntriesTagged(entries, bins) {\n return entries.every((entry) => bins.some((bin) => bin.includes(entry)));\n}\nfunction useActivityTreeWithRenderer2(entries) {\n const groupActivities = useGroupActivities();\n const entryMap = useMemo35(\n () => new Map(entries.map((entry) => [entry.activity, entry])),\n [entries]\n );\n const { entriesBySender, entriesByStatus } = useMemo35(() => {\n const visibleActivities = [...entryMap.keys()];\n const groupActivitiesResult = groupActivities({ activities: visibleActivities });\n const activitiesBySender = groupActivitiesResult?.sender || [];\n const activitiesByStatus = groupActivitiesResult?.status || [];\n const [entriesBySender2, entriesByStatus2] = [activitiesBySender, activitiesByStatus].map(\n (bins) => bins.map((bin) => bin.map((activity) => entryMap.get(activity)))\n );\n if (!validateAllEntriesTagged(visibleActivities, activitiesBySender)) {\n console.warn(\n 'botframework-webchat: Not every activities are grouped in the \"sender\" property. Please fix \"groupActivitiesMiddleware\" and group every activities.'\n );\n }\n if (!validateAllEntriesTagged(visibleActivities, activitiesByStatus)) {\n console.warn(\n 'botframework-webchat: Not every activities are grouped in the \"status\" property. Please fix \"groupActivitiesMiddleware\" and group every activities.'\n );\n }\n return {\n entriesBySender: entriesBySender2,\n entriesByStatus: entriesByStatus2\n };\n }, [entryMap, groupActivities]);\n const activityTree = useMemo35(() => {\n const entriesPendingGrouping = [...entries];\n const activityTree2 = [];\n while (entriesPendingGrouping.length) {\n let found;\n const entriesWithSameSender = entriesBySender.find((bin) => bin.includes(entriesPendingGrouping[0]));\n const senderTree = [];\n entriesWithSameSender?.forEach((entry) => {\n const entriesWithSameStatus = entriesByStatus.find((bin) => bin.includes(entry));\n const entriesWithSameSenderAndStatus = intersectionOf(\n entriesPendingGrouping,\n entriesWithSameSender,\n entriesWithSameStatus\n );\n if (entriesWithSameSenderAndStatus.length) {\n senderTree.push(Object.freeze(entriesWithSameSenderAndStatus));\n removeInline(entriesPendingGrouping, ...entriesWithSameSenderAndStatus);\n found = true;\n }\n });\n found || senderTree.push(Object.freeze([entriesPendingGrouping.shift()]));\n activityTree2.push(Object.freeze(senderTree));\n }\n if (!entries.every(\n (activity) => activityTree2.some(\n (activitiesWithSameSender) => activitiesWithSameSender.some(\n (activitiesWithSameSenderAndStatus) => activitiesWithSameSenderAndStatus.includes(activity)\n )\n )\n )) {\n console.warn(\"botframework-webchat internal: Not all visible activities are grouped in the activityTree.\", {\n entries,\n activityTree: activityTree2\n });\n }\n return Object.freeze(activityTree2);\n }, [entriesBySender, entriesByStatus, entries]);\n return activityTree;\n}\nvar useActivityTreeWithRenderer_default = useActivityTreeWithRenderer2;\n\n// src/providers/ActivityTree/ActivityTreeComposer.tsx\nvar { useActivities: useActivities4, useCreateActivityRenderer, useGetActivitiesByKey, useGetKeyByActivity: useGetKeyByActivity6 } = hooks77;\nvar ActivityTreeComposer = ({ children }) => {\n const existingContext = useActivityTreeContext(false);\n if (existingContext) {\n throw new Error(\"botframework-webchat internal: should not be nested.\");\n }\n const [rawActivities] = useActivities4();\n const getActivitiesByKey = useGetActivitiesByKey();\n const getKeyByActivity = useGetKeyByActivity6();\n const activities = useMemo36(() => {\n const activities2 = [];\n for (const activity of rawActivities) {\n const activitiesWithSameKey = getActivitiesByKey(getKeyByActivity(activity));\n activitiesWithSameKey[0] === activity && activities2.push(activitiesWithSameKey[activitiesWithSameKey.length - 1]);\n }\n return Object.freeze(activities2);\n }, [getActivitiesByKey, getKeyByActivity, rawActivities]);\n const createActivityRenderer = useCreateActivityRenderer();\n const activitiesWithRenderer = useActivitiesWithRenderer(activities, createActivityRenderer);\n const activityTreeWithRenderer = useActivityTreeWithRenderer_default(activitiesWithRenderer);\n const flattenedActivityTreeWithRenderer = useMemoWithPrevious(\n (prevFlattenedActivityTree) => {\n const nextFlattenedActivityTree = Object.freeze(\n activityTreeWithRenderer.reduce(\n (intermediate, entriesWithSameSender) => entriesWithSameSender.reduce(\n (intermediate2, entriesWithSameSenderAndStatus) => entriesWithSameSenderAndStatus.reduce((intermediate3, entry) => {\n intermediate3.push(entry);\n return intermediate3;\n }, intermediate2),\n intermediate\n ),\n []\n )\n );\n return nextFlattenedActivityTree.length === prevFlattenedActivityTree?.length && nextFlattenedActivityTree.every((item, index) => item === prevFlattenedActivityTree[+index]) ? prevFlattenedActivityTree : nextFlattenedActivityTree;\n },\n [activityTreeWithRenderer]\n );\n const contextValue = useMemo36(\n () => ({\n activityTreeWithRendererState: Object.freeze([activityTreeWithRenderer]),\n flattenedActivityTreeWithRendererState: Object.freeze([flattenedActivityTreeWithRenderer])\n }),\n [activityTreeWithRenderer, flattenedActivityTreeWithRenderer]\n );\n return /* @__PURE__ */ React121.createElement(Context_default3.Provider, { value: contextValue }, children);\n};\nvar ActivityTreeComposer_default = ActivityTreeComposer;\n\n// src/providers/internal/SendBox/SendBoxComposer.tsx\nimport { hooks as hooks78 } from \"botframework-webchat-api\";\nimport classNames53 from \"classnames\";\nimport React122, { memo as memo43, useCallback as useCallback44, useEffect as useEffect26, useMemo as useMemo37, useState as useState12 } from \"react\";\nimport { useRefFrom as useRefFrom13 } from \"use-ref-from\";\nvar { useConnectivityStatus, useLocalizer: useLocalizer46, useSendBoxAttachments, useSendBoxValue: useSendBoxValue4, useSubmitSendBox: useSubmitSendBox2 } = hooks78;\nvar SUBMIT_ERROR_MESSAGE_STYLE = {\n \"&.webchat__submit-error-message\": {\n // .sr-only - This component is intended to be invisible to the visual Web Chat user, but read by the AT when using a screen reader\n color: \"transparent\",\n height: 1,\n overflow: \"hidden\",\n position: \"absolute\",\n // We need to set top: 0, otherwise, it will repro:\n // - Run NVDA\n // - Make the transcript long enough to show the scrollbar\n // - Press SHIFT-TAB, focus on upload button\n // - Press up arrow multiple times\n top: 0,\n whiteSpace: \"nowrap\",\n width: 1\n }\n};\nvar SendBoxComposer = ({ children }) => {\n const [attachments] = useSendBoxAttachments();\n const [connectivityStatus] = useConnectivityStatus();\n const [error, setError] = useState12(false);\n const [sendBoxValue] = useSendBoxValue4();\n const apiSubmitSendBox = useSubmitSendBox2();\n const focus = useFocus();\n const localize2 = useLocalizer46();\n const scrollToEnd = useScrollToEnd2();\n const styleToEmotionObject = useStyleToEmotionObject();\n const submitErrorMessageId = useUniqueId(\"webchat__send-box__error-message-id\");\n const errorMessageStringMap = useMemo37(\n () => Object.freeze(\n (/* @__PURE__ */ new Map()).set(\"empty\", localize2(\"SEND_BOX_IS_EMPTY_TOOLTIP_ALT\")).set(\"offline\", localize2(\"CONNECTIVITY_STATUS_ALT_FATAL\"))\n ),\n [localize2]\n );\n const focusRef = useRefFrom13(focus);\n const scrollToEndRef = useRefFrom13(scrollToEnd);\n const submitErrorMessageClassName = styleToEmotionObject(SUBMIT_ERROR_MESSAGE_STYLE) + \"\";\n const submitErrorMessageIdState = useMemo37(\n () => Object.freeze([error ? submitErrorMessageId : void 0]),\n [error, submitErrorMessageId]\n );\n const submitErrorRef = useRefFrom13(\n connectivityStatus !== \"connected\" && connectivityStatus !== \"reconnected\" ? \"offline\" : !sendBoxValue && !attachments.length ? \"empty\" : void 0\n );\n const submit = useCallback44(\n ({ setFocus } = {}) => {\n (setFocus === \"main\" || setFocus === \"sendBox\" || setFocus === \"sendBoxWithoutKeyboard\") && focusRef.current?.(setFocus === \"main\" || setFocus === \"sendBox\" ? setFocus : \"sendBoxWithoutKeyboard\");\n const { current: submitError } = submitErrorRef;\n setError(submitError ?? false);\n if (!submitError) {\n scrollToEndRef.current?.();\n apiSubmitSendBox();\n }\n },\n [apiSubmitSendBox, focusRef, scrollToEndRef, submitErrorRef]\n );\n const context2 = useMemo37(\n () => ({\n submit,\n submitErrorMessageIdState\n }),\n [submit, submitErrorMessageIdState]\n );\n const hasValue = !!sendBoxValue?.trim();\n useEffect26(() => {\n if (error === \"empty\" && hasValue) {\n setError(false);\n }\n }, [error, hasValue]);\n const errorMessage = error && errorMessageStringMap.get(error);\n useLiveRegion(\n () => errorMessage && /* @__PURE__ */ React122.createElement(\"div\", { className: classNames53(\"webchat__submit-error-message__status\") }, errorMessage),\n [errorMessage]\n );\n return /* @__PURE__ */ React122.createElement(Context_default6.Provider, { value: context2 }, children, /* @__PURE__ */ React122.createElement(\n \"span\",\n {\n className: classNames53(\"webchat__submit-error-message\", submitErrorMessageClassName),\n id: submitErrorMessageId\n },\n error ? errorMessageStringMap.get(error) : \"\"\n ));\n};\nSendBoxComposer.displayName = \"SendBoxComposer\";\nvar SendBoxComposer_default = memo43(SendBoxComposer);\n\n// src/providers/ModalDialog/ModalDialogComposer.tsx\nimport React124, { memo as memo45, useCallback as useCallback46, useMemo as useMemo38, useState as useState13 } from \"react\";\n\n// src/providers/ModalDialog/private/Popover.tsx\nimport { hooks as hooks79 } from \"botframework-webchat-api\";\nimport classNames54 from \"classnames\";\nimport React123, { memo as memo44, useCallback as useCallback45, useEffect as useEffect27, useRef as useRef26 } from \"react\";\nvar { useLocalizer: useLocalizer47 } = hooks79;\nvar ModalDialog = memo44(\n ({ \"aria-label\": ariaLabel, \"aria-labelledby\": ariaLabelledBy, children, className, onDismiss }) => {\n const [{ modalDialog: modalDialogStyleSet }] = useStyleSet();\n const dialogRef = useRef26(null);\n const localize2 = useLocalizer47();\n const closeButtonAlt = localize2(\"CLOSE_BUTTON_ALT\");\n const handleCloseButtonClick = useCallback45(() => dialogRef.current?.close(), [dialogRef]);\n useEffect27(() => dialogRef.current?.showModal(), [dialogRef]);\n return /* @__PURE__ */ React123.createElement(\n \"dialog\",\n {\n \"aria-label\": !ariaLabelledBy ? ariaLabel : void 0,\n \"aria-labelledby\": ariaLabelledBy,\n className: classNames54(\"webchat__modal-dialog\", className, modalDialogStyleSet + \"\"),\n onClose: onDismiss,\n open: false,\n ref: dialogRef,\n role: \"dialog\"\n },\n /* @__PURE__ */ React123.createElement(\"div\", { className: \"webchat__modal-dialog__box\" }, /* @__PURE__ */ React123.createElement(\"div\", { className: \"webchat__modal-dialog__close-button-layout\" }, /* @__PURE__ */ React123.createElement(\n \"button\",\n {\n \"aria-label\": closeButtonAlt,\n className: \"webchat__modal-dialog__close-button\",\n onClick: handleCloseButtonClick,\n type: \"button\"\n },\n /* @__PURE__ */ React123.createElement(\"div\", { className: \"webchat__modal-dialog__close-button-border\" }, /* @__PURE__ */ React123.createElement(\n \"svg\",\n {\n className: \"webchat__modal-dialog__close-button-image\",\n focusable: false,\n role: \"presentation\",\n viewBox: \"0 0 2048 2048\",\n xmlns: \"http://www.w3.org/2000/svg\"\n },\n /* @__PURE__ */ React123.createElement(\"path\", { d: \"M2048 136l-888 888 888 888-136 136-888-888-888 888L0 1912l888-888L0 136 136 0l888 888L1912 0l136 136z\" })\n ))\n )), /* @__PURE__ */ React123.createElement(\"div\", { className: \"webchat__modal-dialog__body\" }, children))\n );\n }\n);\nModalDialog.displayName = \"ModalDialog\";\nvar Popover_default = ModalDialog;\n\n// src/providers/ModalDialog/ModalDialogComposer.tsx\nvar ModalDialogComposer = memo45(({ children }) => {\n const [renderFunctionAndDialogInit, setRenderFunctionAndDialogInit] = useState13();\n const close = useCallback46(() => setRenderFunctionAndDialogInit(void 0), [setRenderFunctionAndDialogInit]);\n const showModal = useCallback46(\n (render, init) => setRenderFunctionAndDialogInit(Object.freeze([render, init])),\n [setRenderFunctionAndDialogInit]\n );\n const context2 = useMemo38(() => Object.freeze({ close, showModal }), [close, showModal]);\n return /* @__PURE__ */ React124.createElement(Context_default5.Provider, { value: context2 }, children, renderFunctionAndDialogInit && /* @__PURE__ */ React124.createElement(\n Popover_default,\n {\n \"aria-label\": renderFunctionAndDialogInit[1]?.[\"aria-label\"],\n \"aria-labelledby\": renderFunctionAndDialogInit[1]?.[\"aria-labelledby\"],\n className: renderFunctionAndDialogInit[1]?.className,\n onDismiss: close\n },\n renderFunctionAndDialogInit[0]()\n ));\n});\nModalDialogComposer.displayName = \"ModalDialogComposer\";\nvar ModalDialogComposer_default = ModalDialogComposer;\n\n// src/providers/Theme/useTheme.tsx\nimport { useContext as useContext9 } from \"react\";\nfunction useTheme() {\n return useContext9(Context_default);\n}\n\n// src/SendBox/createMiddleware.tsx\nimport { hooks as hooks80 } from \"botframework-webchat-api\";\nimport React125 from \"react\";\nvar { useStyleOptions: useStyleOptions20 } = hooks80;\nvar HideableSendBox = ({ className }) => {\n const [{ hideSendBox }] = useStyleOptions20();\n return hideSendBox ? null : /* @__PURE__ */ React125.createElement(BasicSendBox_default, { className });\n};\nvar createMiddleware = () => Object.freeze([() => () => () => HideableSendBox]);\nvar createMiddleware_default = createMiddleware;\n\n// src/SendBoxToolbar/BasicSendBoxToolbar.tsx\nimport { hooks as hooks82 } from \"botframework-webchat-api\";\nimport React128, { memo as memo46 } from \"react\";\n\n// src/SendBoxToolbar/UploadButton.tsx\nimport { hooks as hooks81 } from \"botframework-webchat-api\";\nimport classNames56 from \"classnames\";\nimport PropTypes57 from \"prop-types\";\nimport React127, { useCallback as useCallback47, useRef as useRef27 } from \"react\";\nimport { useRefFrom as useRefFrom14 } from \"use-ref-from\";\n\n// src/SendBoxToolbar/Assets/AttachmentIcon.tsx\nimport classNames55 from \"classnames\";\nimport React126 from \"react\";\nvar ROOT_STYLE26 = {\n \"&.webchat__attachment-icon\": {\n display: \"grid\",\n gridTemplateArea: \"body\",\n position: \"relative\",\n \"& .webchat__attachment-icon__icon\": {\n gridArea: \"body\"\n },\n \"&:not(.webchat__attachment-icon--checked) .webchat__attachment-icon__checkmark-icon\": {\n display: \"none\"\n },\n // TODO: [P1] Replace the icon with a SVG that embed the checkmark directly.\n \"& .webchat__attachment-icon__checkmark-icon\": {\n // White border around the check icon\n border: \"2px solid white\",\n borderRadius: \"50%\",\n position: \"absolute\",\n left: \"45%\",\n top: \"50%\"\n }\n }\n};\nvar AttachmentIcon = ({ checked }) => {\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE26) + \"\";\n return /* @__PURE__ */ React126.createElement(\n \"div\",\n {\n className: classNames55(\n \"webchat__attachment-icon\",\n { \"webchat__attachment-icon--checked\": checked },\n rootClassName\n )\n },\n /* @__PURE__ */ React126.createElement(\n \"svg\",\n {\n className: \"webchat__attachment-icon__icon\",\n focusable: false,\n height: 28,\n role: \"presentation\",\n viewBox: \"0 0 25.75 46\",\n width: 28\n },\n /* @__PURE__ */ React126.createElement(\n \"path\",\n {\n clipRule: \"evenodd\",\n d: \"M20.75 11.75v21.37a7.69 7.69 0 0 1-.62 3.07 7.95 7.95 0 0 1-4.19 4.19 7.89 7.89 0 0 1-6.13 0 7.95 7.95 0 0 1-4.19-4.19 7.69 7.69 0 0 1-.62-3.07v-22.5a5.27 5.27 0 0 1 .45-2.17 5.69 5.69 0 0 1 3-3 5.48 5.48 0 0 1 4.35 0 5.69 5.69 0 0 1 3 3 5.27 5.27 0 0 1 .45 2.17v22.5a3.41 3.41 0 0 1-.26 1.32 3.31 3.31 0 0 1-1.8 1.8 3.46 3.46 0 0 1-2.63 0 3.31 3.31 0 0 1-1.8-1.8 3.41 3.41 0 0 1-.26-1.32V14h2.25v19.12a1.13 1.13 0 1 0 2.25 0v-22.5a3.4 3.4 0 0 0-.26-1.31 3.31 3.31 0 0 0-1.8-1.8 3.46 3.46 0 0 0-2.63 0 3.31 3.31 0 0 0-1.8 1.8 3.4 3.4 0 0 0-.26 1.31v22.5a5.32 5.32 0 0 0 .45 2.18 5.69 5.69 0 0 0 3 3 5.48 5.48 0 0 0 4.35 0 5.69 5.69 0 0 0 3-3 5.32 5.32 0 0 0 .45-2.18v-21.37z\"\n }\n )\n ),\n /* @__PURE__ */ React126.createElement(\n \"svg\",\n {\n className: \"webchat__attachment-icon__icon webchat__attachment-icon__checkmark-icon\",\n focusable: false,\n height: 10,\n role: \"presentation\",\n viewBox: \"0 0 10 10\",\n width: 10\n },\n /* @__PURE__ */ React126.createElement(\"path\", { d: \"M5 10C7.76142 10 10 7.76142 10 5C10 2.23858 7.76142 0 5 0C2.23858 0 0 2.23858 0 5C0 7.76142 2.23858 10 5 10ZM7.10356 4.10355L4.85357 6.35356C4.65831 6.54883 4.34173 6.54883 4.14646 6.35357L3.14645 5.35357C2.95119 5.1583 2.95118 4.84172 3.14644 4.64646C3.34171 4.45119 3.65829 4.45119 3.85355 4.64645L4.50001 5.29291L6.39644 3.39645C6.59171 3.20119 6.90829 3.20118 7.10355 3.39644C7.29881 3.59171 7.29882 3.90829 7.10356 4.10355Z\" })\n )\n );\n};\nvar AttachmentIcon_default = AttachmentIcon;\n\n// src/SendBoxToolbar/UploadButton.tsx\nvar { useSendBoxAttachments: useSendBoxAttachments2, useLocalizer: useLocalizer48, useStyleOptions: useStyleOptions21, useUIState: useUIState7 } = hooks81;\nvar ROOT_STYLE27 = {\n \"&.webchat__upload-button\": {\n display: \"flex\",\n overflow: \"hidden\",\n position: \"relative\",\n \"& .webchat__upload-button--file-input\": {\n height: 0,\n width: 0,\n opacity: 0,\n position: \"absolute\",\n left: 0,\n top: 0\n }\n }\n};\nvar PREVENT_DEFAULT_HANDLER3 = (event) => event.preventDefault();\nvar UploadButton = ({ className }) => {\n const [{ sendAttachmentOn, uploadAccept, uploadMultiple }] = useStyleOptions21();\n const [{ uploadButton: uploadButtonStyleSet }] = useStyleSet();\n const [sendBoxAttachments, setSendBoxAttachments] = useSendBoxAttachments2();\n const [uiState] = useUIState7();\n const focus = useFocus();\n const inputRef = useRef27(null);\n const localize2 = useLocalizer48();\n const makeThumbnail2 = useMakeThumbnail();\n const rootClassName = useStyleToEmotionObject()(ROOT_STYLE27) + \"\";\n const submit = useSubmit();\n const disabled = uiState === \"disabled\";\n const sendAttachmentOnRef = useRefFrom14(sendAttachmentOn);\n const uploadFileString = localize2(\"TEXT_INPUT_UPLOAD_BUTTON_ALT\");\n const handleClick = useCallback47(() => inputRef.current?.click(), [inputRef]);\n const handleFileChange = useCallback47(\n ({ currentTarget }) => {\n focus(\"sendBox\");\n (async function() {\n setSendBoxAttachments(\n Object.freeze(\n await Promise.all(\n [...currentTarget.files].map((blob) => makeThumbnail2(blob).then((thumbnailURL) => ({ blob, thumbnailURL })))\n )\n )\n );\n sendAttachmentOnRef.current === \"attach\" && submit();\n })();\n },\n [focus, makeThumbnail2, sendAttachmentOnRef, setSendBoxAttachments, submit]\n );\n return /* @__PURE__ */ React127.createElement(\"div\", { className: classNames56(rootClassName, \"webchat__upload-button\", uploadButtonStyleSet + \"\", className) }, /* @__PURE__ */ React127.createElement(\n \"input\",\n {\n accept: uploadAccept,\n \"aria-disabled\": disabled,\n \"aria-hidden\": \"true\",\n className: \"webchat__upload-button--file-input\",\n multiple: uploadMultiple,\n onChange: disabled ? void 0 : handleFileChange,\n onClick: disabled ? PREVENT_DEFAULT_HANDLER3 : void 0,\n readOnly: disabled,\n ref: inputRef,\n role: \"button\",\n tabIndex: -1,\n type: \"file\"\n }\n ), /* @__PURE__ */ React127.createElement(IconButton_default, { alt: uploadFileString, \"aria-label\": uploadFileString, disabled, onClick: handleClick }, /* @__PURE__ */ React127.createElement(AttachmentIcon_default, { checked: !!sendBoxAttachments.length })));\n};\nUploadButton.defaultProps = {\n className: void 0\n};\nUploadButton.propTypes = {\n className: PropTypes57.string\n};\nvar UploadButton_default = UploadButton;\n\n// src/SendBoxToolbar/BasicSendBoxToolbar.tsx\nvar { useStyleOptions: useStyleOptions22 } = hooks82;\nfunction BasicSendBoxToolbar({ className }) {\n const [{ hideUploadButton }] = useStyleOptions22();\n return !hideUploadButton && /* @__PURE__ */ React128.createElement(UploadButton_default, { className });\n}\nvar BasicSendBoxToolbar_default = memo46(BasicSendBoxToolbar);\n\n// src/SendBoxToolbar/createMiddleware.tsx\nvar createMiddleware2 = () => Object.freeze([() => () => () => BasicSendBoxToolbar_default]);\nvar createMiddleware_default2 = createMiddleware2;\n\n// src/Styles/createStyleSet.ts\nimport { normalizeStyleOptions } from \"botframework-webchat-api\";\n\n// src/Styles/StyleSet/Activities.ts\nfunction createActivitiesStyle() {\n return {\n margin: 0,\n padding: 0\n };\n}\n\n// src/Styles/StyleSet/ActivityButton.ts\nfunction createActivityButtonStyle() {\n return {\n \"&.webchat__activity-button\": {\n alignItems: \"center\",\n appearance: \"none\",\n background: \"#fff\",\n borderRadius: \"4px\",\n border: \"1px solid #d1d1d1\",\n color: \"#242424\",\n display: \"flex\",\n gap: \"4px\",\n justifyContent: \"center\",\n padding: \"5px 12px\",\n \"&:hover\": {\n background: \"#f5f5f5\",\n border: \"1px solid #c7c7c7\",\n color: \"#242424\"\n },\n \"&:active\": {\n background: \"#e0e0e0\",\n border: \"1px solid #b3b3b3\",\n color: \"#242424\"\n },\n \"&:focus-visible\": {\n background: \"#fff\",\n outline: \"2px solid #000\",\n outlineOffset: \"-2px\"\n },\n '&[aria-disabled=\"true\"]': {\n background: \"#f0f0f0\",\n border: \"1px solid #e0e0e0\",\n color: \"#bdbdbd\",\n cursor: \"not-allowed\"\n },\n \"& .webchat__activity-button__icon\": {\n height: \"20px\",\n width: \"20px\"\n }\n }\n };\n}\n\n// src/Styles/StyleSet/ActivityCopyButton.ts\nfunction createActivityButtonStyle2() {\n return {\n \"&.webchat__activity-copy-button\": {\n overflow: \"hidden\",\n position: \"relative\",\n \"& .webchat__activity-copy-button__copied-text\": {\n alignItems: \"center\",\n backgroundColor: \"#fff\",\n display: \"flex\",\n height: \"100%\",\n justifyContent: \"center\",\n opacity: 0,\n position: \"absolute\",\n width: \"100%\"\n },\n \"&.webchat__activity-copy-button--copied .webchat__activity-copy-button__copied-text\": {\n animation: \"webchat__activity-copy-button__copied-animation 0.5s linear\"\n },\n \"@keyframes webchat__activity-copy-button__copied-animation\": {\n \"0%\": {\n opacity: \"100%\"\n },\n \"100%\": {\n opacity: \"unset\"\n }\n }\n }\n };\n}\n\n// src/Styles/StyleSet/AudioAttachment.ts\nfunction AudioAttachment3() {\n return {\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: \"flex\",\n minHeight: CSSTokens_default.SizeAvatar\n };\n}\n\n// src/Styles/StyleSet/AudioContent.ts\nfunction AudioContent2() {\n return {\n width: \"100%\"\n };\n}\n\n// src/Styles/StyleSet/AutoResizeTextArea.ts\nfunction AutoResizeTextArea2({ primaryFont }) {\n return {\n \"&.webchat__auto-resize-textarea\": {\n fontFamily: primaryFont,\n overflow: \"hidden\",\n position: \"relative\",\n \"& .webchat__auto-resize-textarea__doppelganger\": {\n color: \"transparent\",\n height: \"100%\",\n overflowY: \"auto\",\n userSelect: \"none\",\n width: \"inherit\",\n whiteSpace: \"pre-wrap\",\n wordBreak: \"break-word\"\n },\n \"& .webchat__auto-resize-textarea__textarea\": {\n appearance: \"none\",\n backgroundColor: \"transparent\",\n border: 0,\n color: \"inherit\",\n fontFamily: \"inherit\",\n fontSize: \"inherit\",\n height: \"100%\",\n left: 0,\n margin: 0,\n outline: 0,\n overflowY: \"auto\",\n padding: 0,\n position: \"absolute\",\n resize: \"none\",\n top: 0,\n width: \"100%\",\n wordBreak: \"break-word\"\n }\n }\n };\n}\n\n// src/Styles/StyleSet/Avatar.ts\nfunction createAvatarStyle({ avatarBorderRadius }) {\n return {\n \"&.webchat__defaultAvatar\": {\n borderRadius: avatarBorderRadius,\n height: CSSTokens_default.SizeAvatar,\n width: CSSTokens_default.SizeAvatar\n }\n };\n}\n\n// src/Styles/StyleSet/BasicTranscript.ts\nfunction createBasicTranscriptStyleSet({\n paddingRegular,\n primaryFont,\n transcriptActivityVisualKeyboardIndicatorColor,\n transcriptActivityVisualKeyboardIndicatorStyle,\n transcriptActivityVisualKeyboardIndicatorWidth,\n transcriptTerminatorBackgroundColor,\n transcriptTerminatorBorderRadius,\n transcriptTerminatorColor,\n transcriptTerminatorFontSize,\n transcriptVisualKeyboardIndicatorColor,\n transcriptVisualKeyboardIndicatorStyle,\n transcriptVisualKeyboardIndicatorWidth\n}) {\n return {\n \"&.webchat__basic-transcript\": {\n \"&:focus\": {\n outline: 0,\n \"& .webchat__basic-transcript__activity-indicator.webchat__basic-transcript__activity-indicator--focus\": {\n borderColor: transcriptActivityVisualKeyboardIndicatorColor,\n borderStyle: transcriptActivityVisualKeyboardIndicatorStyle,\n borderWidth: transcriptActivityVisualKeyboardIndicatorWidth,\n boxSizing: \"border-box\",\n height: `calc(100% - ${paddingRegular / 2}px)`,\n left: 0,\n marginBottom: 0,\n marginLeft: paddingRegular / 2,\n marginRight: paddingRegular / 2,\n marginTop: 0,\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n width: `calc(100% - ${paddingRegular}px)`\n }\n },\n \"&:focus-visible .webchat__basic-transcript__focus-indicator, .webchat__basic-transcript__terminator:focus-visible + .webchat__basic-transcript__focus-indicator\": {\n height: \"100%\",\n borderColor: transcriptVisualKeyboardIndicatorColor,\n borderStyle: transcriptVisualKeyboardIndicatorStyle,\n borderWidth: transcriptVisualKeyboardIndicatorWidth,\n boxSizing: \"border-box\",\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n width: \"100%\"\n },\n \"& .webchat__basic-transcript__activity\": {\n paddingTop: paddingRegular / 2,\n position: \"relative\",\n \"&:first-child\": {\n marginTop: paddingRegular / 2\n },\n \"&:not(:first-child)\": {\n marginTop: -paddingRegular / 2\n }\n },\n // When the activity is focused as active descendant, `scrollIntoView()` will scroll this invisible
      into view.\n \"& .webchat__basic-transcript__activity-active-descendant\": {\n height: \"100%\",\n left: 0,\n marginTop: -paddingRegular / 2,\n paddingBottom: paddingRegular / 2,\n // The bounding box is expanded to both top and bottom to scroll focus indicator into view.\n // We should ignore clicks to make sure this expansion don't register click as focus.\n // Otherwise, when clicking on the very bottom edge of the activity, it will focus on next activity instead.\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n width: \"100%\"\n },\n \"& .webchat__basic-transcript__activity-body:not(:empty)\": {\n paddingBottom: paddingRegular\n },\n \"& .webchat__basic-transcript__terminator\": {\n bottom: 0,\n height: 0,\n outline: 0,\n position: \"relative\",\n width: \"100%\"\n },\n \"& .webchat__basic-transcript__terminator-body\": {\n bottom: 0,\n display: \"flex\",\n justifyContent: \"center\",\n position: \"absolute\",\n width: \"100%\"\n },\n \"& .webchat__basic-transcript__terminator:not(:focus) .webchat__basic-transcript__terminator-body\": {\n display: \"none\"\n },\n \"& .webchat__basic-transcript__terminator-text\": {\n backgroundColor: transcriptTerminatorBackgroundColor,\n borderRadius: transcriptTerminatorBorderRadius,\n color: transcriptTerminatorColor,\n fontFamily: primaryFont,\n fontSize: transcriptTerminatorFontSize,\n margin: paddingRegular / 2,\n padding: paddingRegular / 2\n }\n }\n };\n}\n\n// src/Styles/mirrorStyle.js\nimport { isForbiddenPropertyName as isForbiddenPropertyName4 } from \"botframework-webchat-core\";\nfunction mirrorStyle(mirrorSelector, styles) {\n const mirrored = {};\n for (const [key, value] of Object.entries(styles)) {\n if (typeof value === \"number\" || typeof value === \"string\") {\n const patchedKey = key.replace(\n /(^left|^right|Left|Right)/u,\n (match) => match === \"Left\" ? \"Right\" : match === \"left\" ? \"right\" : match === \"Right\" ? \"Left\" : \"left\"\n );\n if (!isForbiddenPropertyName4(patchedKey)) {\n mirrored[patchedKey] = value;\n }\n } else if (!isForbiddenPropertyName4(key)) {\n mirrored[key] = mirrorStyle(\"\", value);\n }\n }\n const relative = /^&\\s*/gu.exec(mirrorSelector) || \"\";\n return mirrorSelector ? {\n [`${relative}:not(${mirrorSelector.substr(relative.length)})`]: styles,\n [mirrorSelector]: mirrored\n } : mirrored;\n}\n\n// src/Styles/StyleSet/Bubble.ts\nfunction createBubbleStyle({\n bubbleBackground,\n bubbleBorderColor,\n bubbleBorderRadius,\n bubbleBorderStyle,\n bubbleBorderWidth,\n bubbleFromUserBackground,\n bubbleFromUserBorderColor,\n bubbleFromUserBorderRadius,\n bubbleFromUserBorderStyle,\n bubbleFromUserBorderWidth,\n bubbleFromUserNubOffset,\n bubbleFromUserNubSize,\n bubbleFromUserTextColor,\n bubbleMinHeight,\n bubbleNubOffset,\n bubbleNubSize,\n bubbleTextColor,\n messageActivityWordBreak,\n paddingRegular,\n transitionDuration\n}) {\n const botNubCornerRadius = typeof bubbleNubOffset === \"number\" ? Math.min(bubbleBorderRadius, Math.abs(bubbleNubOffset)) : bubbleBorderRadius;\n const userNubCornerRadius = typeof bubbleFromUserNubOffset === \"number\" ? Math.min(bubbleFromUserBorderRadius, Math.abs(bubbleFromUserNubOffset)) : bubbleFromUserBorderRadius;\n return {\n \"&.webchat__bubble\": {\n \"& .webchat__bubble__content\": {\n marginLeft: 0,\n marginRight: 0,\n transitionDuration,\n transitionProperty: \"margin-left, margin-right\",\n wordBreak: messageActivityWordBreak\n },\n \"& .webchat__bubble__nub\": {\n overflow: \"hidden\",\n // This style is for IE11 because it doesn't respect SVG viewport\n position: \"absolute\"\n },\n \"& .webchat__bubble__nub-pad\": {\n transitionDuration,\n transitionProperty: \"width\",\n width: 0\n },\n \"&.webchat__bubble--hide-nub, &.webchat__bubble--show-nub\": {\n \"& .webchat__bubble__nub-pad\": {\n width: paddingRegular\n }\n },\n \"&.webchat__bubble--rtl .webchat__bubble__nub\": {\n transform: \"scale(-1, 1)\"\n },\n \"&:not(.webchat__bubble--from-user)\": {\n \"& .webchat__bubble__content\": {\n background: bubbleBackground,\n borderColor: bubbleBorderColor,\n borderRadius: bubbleBorderRadius,\n borderStyle: bubbleBorderStyle,\n borderWidth: bubbleBorderWidth,\n color: bubbleTextColor,\n minHeight: bubbleMinHeight - bubbleBorderWidth * 2\n },\n ...typeof bubbleNubSize === \"number\" ? {\n \"& .webchat__bubble__nub\": {\n height: bubbleNubSize,\n width: bubbleNubSize\n }\n } : {},\n \"&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub\": {\n bottom: -bubbleNubOffset\n },\n \"&.webchat__bubble--nub-on-top .webchat__bubble__nub\": {\n top: bubbleNubOffset\n },\n \"& .webchat__bubble__nub-outline\": {\n fill: bubbleBackground,\n stroke: bubbleBorderColor,\n strokeWidth: bubbleBorderWidth\n }\n },\n \"&.webchat__bubble--from-user\": {\n flexDirection: \"row-reverse\",\n \"& .webchat__bubble__content\": {\n background: bubbleFromUserBackground,\n borderColor: bubbleFromUserBorderColor,\n borderRadius: bubbleFromUserBorderRadius,\n borderStyle: bubbleFromUserBorderStyle,\n borderWidth: bubbleFromUserBorderWidth,\n color: bubbleFromUserTextColor,\n minHeight: bubbleMinHeight - bubbleFromUserBorderWidth * 2\n },\n ...typeof bubbleFromUserNubSize === \"number\" ? {\n \"& .webchat__bubble__nub\": {\n height: bubbleFromUserNubSize,\n width: bubbleFromUserNubSize\n }\n } : {},\n \"&:not(.webchat__bubble--nub-on-top) .webchat__bubble__nub\": {\n bottom: -bubbleFromUserNubOffset\n },\n \"&.webchat__bubble--nub-on-top .webchat__bubble__nub\": {\n top: bubbleFromUserNubOffset\n },\n \"& .webchat__bubble__nub-outline\": {\n fill: bubbleFromUserBackground,\n stroke: bubbleFromUserBorderColor,\n strokeWidth: bubbleFromUserBorderWidth\n }\n },\n ...mirrorStyle(\"&.webchat__bubble--rtl\", {\n \"&:not(.webchat__bubble--from-user)\": {\n \"&.webchat__bubble--show-nub\": {\n // Hide border radius if there is a nub on the top/bottom left corner\n \"&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content\": {\n borderBottomLeftRadius: botNubCornerRadius\n },\n \"&.webchat__bubble--nub-on-top .webchat__bubble__content\": {\n borderTopLeftRadius: botNubCornerRadius\n }\n },\n ...typeof bubbleNubSize === \"number\" ? {\n \"& .webchat__bubble__nub\": { left: bubbleBorderWidth - bubbleNubSize + paddingRegular }\n } : {}\n },\n \"&.webchat__bubble--from-user\": {\n \"&.webchat__bubble--show-nub\": {\n // Hide border radius if there is a nub on the top/bottom right corner\n \"&:not(.webchat__bubble--nub-on-top) .webchat__bubble__content\": {\n borderBottomRightRadius: userNubCornerRadius\n },\n \"&.webchat__bubble--nub-on-top .webchat__bubble__content\": {\n borderTopRightRadius: userNubCornerRadius\n }\n },\n ...typeof bubbleFromUserNubSize === \"number\" ? {\n \"& .webchat__bubble__nub\": { right: bubbleFromUserBorderWidth - bubbleFromUserNubSize + paddingRegular }\n } : {}\n }\n })\n }\n };\n}\n\n// src/Styles/StyleSet/CarouselFilmStrip.ts\nfunction CarouselFilmStrip2({\n avatarSize,\n bubbleMessageMaxWidth,\n paddingRegular,\n transitionDuration\n}) {\n return {\n \"&.webchat__carousel-filmstrip\": {\n // Browser quirks: Firefox has no way to hide scrollbar and while keeping it in function\n // https://developer.mozilla.org/en-US/docs/Web/CSS/overflow\n \"@supports (-moz-appearance: none)\": {\n marginBottom: -17\n },\n \"& .webchat__carousel-filmstrip__bubble\": {\n maxWidth: CSSTokens_default.MaxWidthMessageBubble,\n minWidth: CSSTokens_default.MinWidthMessageBubble,\n transitionDuration,\n transitionProperty: \"max-width\"\n },\n \"&.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub, &.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar\": {\n \"& .webchat__carousel-filmstrip__bubble\": {\n maxWidth: bubbleMessageMaxWidth + paddingRegular\n }\n },\n \"& .webchat__carousel-filmstrip__alignment-pad\": {\n transitionDuration,\n transitionProperty: \"width\",\n width: CSSTokens_default.PaddingRegular\n },\n \"&.webchat__carousel-filmstrip--extra-trailing .webchat__carousel-filmstrip__alignment-pad\": {\n width: paddingRegular * 2\n },\n \"&:not(.webchat__carousel-filmstrip--no-message) .webchat__carousel-filmstrip__attachments\": {\n marginTop: paddingRegular\n },\n \"& .webchat__carousel-filmstrip__avatar-gutter\": {\n alignItems: \"flex-end\",\n transitionDuration,\n transitionProperty: \"width\"\n },\n \"& .webchat__carousel-filmstrip__nub-pad\": {\n transitionDuration,\n transitionProperty: \"width\",\n width: 0\n },\n \"&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar\": {\n \"& .webchat__carousel-filmstrip__avatar-gutter\": {\n width: CSSTokens_default.SizeAvatar\n }\n },\n \"&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar, &.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub\": {\n \"& .webchat__carousel-filmstrip__nub-pad\": {\n width: paddingRegular\n }\n },\n \"&:not(.webchat__carousel-filmstrip--top-callout) .webchat__carousel-filmstrip__avatar-gutter\": {\n justifyContent: \"flex-end\"\n },\n ...mirrorStyle(\"&.webchat__carousel-filmstrip--rtl\", {\n \"& .webchat__carousel-filmstrip__avatar-gutter\": {\n marginLeft: paddingRegular\n },\n \"& .webchat__carousel-filmstrip__attachments\": {\n marginLeft: -paddingRegular\n },\n \"&.webchat__carousel-filmstrip--hide-avatar, &.webchat__carousel-filmstrip--show-avatar\": {\n \"& .webchat__carousel-filmstrip__attachments\": {\n marginLeft: -(avatarSize + paddingRegular * 2)\n }\n },\n \"&.webchat__carousel-filmstrip--hide-nub, &.webchat__carousel-filmstrip--show-nub\": {\n \"&:not(.webchat__carousel-filmstrip--hide-avatar.webchat__carousel-filmstrip--show-avatar)\": {\n \"& .webchat__carousel-filmstrip__attachments\": {\n marginLeft: -paddingRegular * 2\n }\n }\n }\n })\n }\n };\n}\n\n// src/Styles/StyleSet/CarouselFilmStripAttachment.ts\nfunction CarouselFilmStripAttachment2({\n avatarSize,\n paddingRegular,\n transcriptVisualKeyboardIndicatorColor,\n transcriptVisualKeyboardIndicatorStyle,\n transcriptVisualKeyboardIndicatorWidth,\n transitionDuration\n}) {\n return {\n \"&.webchat__carousel-filmstrip-attachment\": {\n maxWidth: CSSTokens_default.MaxWidthAttachmentBubble,\n minWidth: CSSTokens_default.MinWidthAttachmentBubble,\n transitionDuration,\n transitionProperty: \"max-width, min-width\",\n \"&:focus\": {\n outline: 0\n },\n \"&:focus .webchat__carousel-filmstrip-attachment--focus\": {\n borderColor: transcriptVisualKeyboardIndicatorColor,\n borderStyle: transcriptVisualKeyboardIndicatorStyle,\n borderWidth: transcriptVisualKeyboardIndicatorWidth,\n boxSizing: \"border-box\",\n height: `calc(100% - ${transcriptVisualKeyboardIndicatorWidth}px)`,\n left: 0,\n pointerEvents: \"none\",\n position: \"absolute\",\n top: 0,\n width: `calc(100% - ${transcriptVisualKeyboardIndicatorWidth}px)`\n }\n },\n ...mirrorStyle(\"&.webchat__carousel-filmstrip-attachment--rtl\", {\n paddingLeft: paddingRegular,\n \"&.webchat__carousel-filmstrip-attachment--hide-avatar, &.webchat__carousel-filmstrip-attachment--show-avatar\": {\n \"&:first-child\": {\n paddingLeft: avatarSize + paddingRegular * 2\n }\n },\n \"&.webchat__carousel-filmstrip-attachment--hide-nub, &.webchat__carousel-filmstrip-attachment--show-nub\": {\n \"&:not(.webchat__carousel-filmstrip-attachment--hide-avatar.webchat__carousel-filmstrip-attachment--show-avatar):first-child\": {\n paddingLeft: paddingRegular * 2\n }\n }\n })\n };\n}\n\n// src/Styles/StyleSet/CarouselFlipper.ts\nfunction CarouselFlipper({\n transcriptOverlayButtonBackground,\n transcriptOverlayButtonBackgroundOnDisabled,\n transcriptOverlayButtonBackgroundOnFocus,\n transcriptOverlayButtonBackgroundOnHover,\n transcriptOverlayButtonColor,\n transcriptOverlayButtonColorOnDisabled,\n transcriptOverlayButtonColorOnFocus,\n transcriptOverlayButtonColorOnHover\n}) {\n return {\n \"&.webchat__carousel-layout\": {\n \"& .react-film__flipper\": {\n \"& .react-film__flipper__body\": {\n backgroundColor: transcriptOverlayButtonBackground,\n color: transcriptOverlayButtonColor,\n outline: 0\n },\n '&:disabled, &[aria-disabled=\"true\"]': {\n \"& .react-film__flipper__body\": {\n backgroundColor: transcriptOverlayButtonBackgroundOnDisabled,\n color: transcriptOverlayButtonColorOnDisabled\n }\n },\n \"&:focus .react-film__flipper__body\": {\n backgroundColor: transcriptOverlayButtonBackgroundOnFocus,\n color: transcriptOverlayButtonColorOnFocus || transcriptOverlayButtonColor\n },\n \"&:hover .react-film__flipper__body\": {\n backgroundColor: transcriptOverlayButtonBackgroundOnHover,\n color: transcriptOverlayButtonColorOnHover || transcriptOverlayButtonColor\n }\n }\n }\n };\n}\n\n// src/Styles/StyleSet/CitationModalDialog.ts\nfunction createCitationModalDialogStyle() {\n return {\n \"&.webchat__citation-modal-dialog\": {\n \"& .webchat__citation-modal-dialog__body\": {\n lineHeight: \"20px\"\n }\n }\n };\n}\n\n// src/Styles/StyleSet/ConnectivityNotification.ts\nfunction ConnectivityNotification({\n connectivityMarginLeftRight,\n connectivityMarginTopBottom,\n connectivityTextSize,\n notificationText,\n primaryFont\n}) {\n return {\n alignItems: \"center\",\n color: notificationText,\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: \"flex\",\n fontFamily: primaryFont,\n fontSize: connectivityTextSize,\n marginBottom: connectivityMarginTopBottom,\n marginLeft: connectivityMarginLeftRight,\n marginRight: connectivityMarginLeftRight,\n marginTop: connectivityMarginTopBottom\n };\n}\n\n// src/Styles/StyleSet/DictationInterims.ts\nfunction createDictationInterimsStyle({ paddingRegular, primaryFont }) {\n return {\n fontFamily: primaryFont,\n margin: 0,\n paddingBottom: 0,\n paddingLeft: paddingRegular,\n paddingRight: paddingRegular,\n paddingTop: 0,\n \"&.dictating > span:not(:first-child), &.status\": {\n opacity: 0.5\n }\n };\n}\n\n// src/Styles/StyleSet/ErrorBox.ts\nfunction createErrorBoxStyle({ monospaceFont, primaryFont }) {\n return {\n // TODO: [P2] We should not set \"display\" in styleSet, this will allow the user to break the layout for no good reasons.\n display: \"flex\",\n flexDirection: \"column\",\n fontFamily: primaryFont,\n margin: 0,\n minHeight: 20,\n maxHeight: 200,\n overflowY: \"auto\",\n WebkitOverflowScrolling: \"touch\",\n \"& > :first-child\": {\n backgroundColor: \"#EF0000\",\n color: \"White\",\n padding: \"5px 10px\"\n },\n \"& > :last-child\": {\n borderColor: \"#EF0000\",\n borderStyle: \"dashed\",\n borderBottomWidth: 2,\n borderLeftWidth: 2,\n borderRightWidth: 2,\n borderTopWidth: 0,\n margin: 0,\n overflowY: \"auto\",\n padding: 10,\n \"& > pre\": {\n fontFamily: monospaceFont,\n fontSize: \"60%\",\n margin: 0\n }\n }\n };\n}\n\n// src/Styles/StyleSet/ErrorNotification.ts\nfunction createErrorNotificationStyle({\n connectivityIconPadding,\n connectivityMarginLeftRight,\n connectivityMarginTopBottom,\n connectivityTextSize,\n failedConnectivity,\n primaryFont\n}) {\n return {\n alignItems: \"center\",\n color: failedConnectivity,\n display: \"flex\",\n fontFamily: primaryFont,\n fontSize: connectivityTextSize,\n fontWeight: \"bold\",\n marginBottom: connectivityMarginTopBottom,\n marginLeft: connectivityMarginLeftRight,\n marginRight: connectivityMarginLeftRight,\n marginTop: connectivityMarginTopBottom,\n \"& > svg\": {\n fill: failedConnectivity,\n \"&:not(.webchat__error--rtl)\": {\n paddingRight: connectivityIconPadding\n },\n \"&.webchat__error--rtl\": {\n paddingLeft: connectivityIconPadding\n }\n }\n };\n}\n\n// src/Styles/StyleSet/FileContent.ts\nfunction createFileContentStyle({\n accent,\n bubbleTextColor,\n paddingRegular,\n primaryFont\n}) {\n return {\n color: bubbleTextColor,\n display: \"flex\",\n fontFamily: primaryFont,\n padding: paddingRegular,\n \"& .webchat__fileContent__badge\": {\n justifyContent: \"center\"\n },\n \"& .webchat__fileContent__buttonLink\": {\n alignItems: \"center\",\n color: bubbleTextColor,\n textDecoration: \"none\",\n \"&:focus\": {\n backgroundColor: \"rgba(0, 0, 0, .1)\"\n }\n },\n \"& .webchat__fileContent__downloadIcon\": {\n fill: accent,\n padding: paddingRegular,\n \"&:not(.webchat__fileContent__downloadIcon--rtl)\": {\n marginLeft: paddingRegular\n },\n \"&.webchat__fileContent__downloadIcon--rtl\": {\n marginRight: paddingRegular\n }\n },\n \"& .webchat__fileContent__fileName\": {\n color: accent\n }\n };\n}\n\n// src/Styles/StyleSet/ImageAvatar.ts\nfunction createImageAvatarStyle() {\n return {\n height: CSSTokens_default.SizeAvatar,\n overflow: \"hidden\",\n width: CSSTokens_default.SizeAvatar\n };\n}\n\n// src/Styles/StyleSet/InitialsAvatar.ts\nfunction createInitialsAvatarStyle({\n accent,\n botAvatarBackgroundColor,\n userAvatarBackgroundColor\n}) {\n return {\n \"&.webchat__initialsAvatar\": {\n alignItems: \"center\",\n color: \"White\",\n fontFamily: CSSTokens_default.FontPrimary,\n height: CSSTokens_default.SizeAvatar,\n justifyContent: \"center\",\n overflow: \"hidden\",\n width: CSSTokens_default.SizeAvatar,\n \"&.webchat__initialsAvatar--fromUser\": {\n backgroundColor: userAvatarBackgroundColor || accent\n },\n \"&:not(.webchat__initialsAvatar--fromUser)\": {\n backgroundColor: botAvatarBackgroundColor || accent\n }\n }\n };\n}\n\n// src/Styles/StyleSet/Constants.ts\nvar FORCED_COLORS_SELECTOR = \"@media (forced-colors: active)\";\nvar NOT_FORCED_COLORS_SELECTOR = \"@media (forced-colors: none)\";\n\n// src/Styles/StyleSet/LinkDefinitions.ts\nvar DARK_THEME_SELECTOR = \"@media (forced-colors: none) and not (forced-colors: none)\";\nvar LIGHT_THEME_SELECTOR = \"@media (forced-colors: none)\";\nfunction createLinkDefinitionsStyleSet() {\n return {\n \"&.webchat__link-definitions\": {\n // '&[open] .webchat__link-definitions__header::after': {\n // transform: 'rotate(0deg)'\n // },\n \".webchat__link-definitions__header\": {\n alignItems: \"center\",\n display: \"flex\",\n fontFamily: CSSTokens_default.FontPrimary,\n fontSize: CSSTokens_default.FontSizeSmall,\n gap: 4,\n justifyContent: \"space-between\",\n listStyle: \"none\",\n [LIGHT_THEME_SELECTOR]: {\n color: \"#616161\"\n // TODO: Should we use subtle color instead?\n },\n [DARK_THEME_SELECTOR]: {\n // TODO: Add dark theme color.\n color: \"#616161\"\n }\n },\n \".webchat__link-definitions__header-section\": {\n alignItems: \"center\",\n display: \"flex\",\n gap: 4,\n overflow: \"hidden\"\n },\n \".webchat__link-definitions__header-section--left\": {\n flexShrink: 0\n },\n \".webchat__link-definitions__header-text\": {\n flexShrink: 0\n },\n \".webchat__link-definitions__header::-webkit-details-marker\": {\n display: \"none\"\n },\n \".webchat__link-definitions__header-chevron\": {\n flexShrink: 0\n },\n \"&:not([open]) .webchat__link-definitions__header-chevron\": {\n transform: \"rotate(-180deg)\"\n },\n \".webchat__link-definitions__header-accessory\": {\n overflow: \"hidden\"\n },\n \".webchat__link-definitions__message-sensitivity-label\": {\n alignItems: \"center\",\n display: \"flex\",\n gap: 4\n },\n \".webchat__link-definitions__message-sensitivity-label-icon\": {\n color: \"CanvasText\",\n flexShrink: 0\n },\n \".webchat__link-definitions__message-sensitivity-label-text\": {\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\"\n },\n \".webchat__link-definitions__list\": {\n display: \"flex\",\n flexDirection: \"column\",\n gap: 4,\n margin: \"4px 0 0\",\n padding: 0\n },\n \".webchat__link-definitions__list-item\": {\n display: \"flex\",\n // This prevents the