Submit
Path:
~
/
/
usr
/
share
/
grafana
/
public
/
build
/
File Content:
testDataDSPlugin.9717509b124d754e4f35.js.map
{"version":3,"file":"testDataDSPlugin.9717509b124d754e4f35.js","mappings":"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OAAO,EAAI,CAAC,GAAK6H,GAAM,OACjDA,GAAM7H,CAAK,CACpB,CAEO,SAAS8H,GAAcC,EAAS,GAAI,CACzC,IAAIC,EAAOJ,GAAY,EACvB,KAAOI,EAAK,OAASD,GACnBC,GAAQ,IAAMJ,GAAY,EAE5B,OAAOI,CACT,CAEA,MAAMH,GAAQ,CACZ,KACA,OACA,MACA,KACA,YACA,KACA,QACA,OACA,cACA,UACA,MACA,aACA,cACA,aACA,WACA,QACA,WACA,OACA,UACA,KACA,OACA,YACA,YACA,OACA,YACA,aACA,MACA,YACA,YACA,OACA,KACA,QACA,MACA,UACA,WACA,WACA,QACA,KACA,MACA,UACA,KACA,UACA,OACA,KACA,QACA,SACA,QACA,UACA,MACA,KACA,WACA,aACA,MACA,SACA,UACA,MACA,SACA,QACA,MACA,WACA,QACA,SACA,QACA,UACA,MACA,QACA,KACA,OACA,SACA,UACA,SACA,WACA,QACA,WACA,YACA,MACA,QACA,QACA,cACA,aACA,QACA,YACA,KACA,MACA,WACA,UACA,MACA,QACA,iBACA,QACA,UACA,KACA,KACA,aACA,cACA,OACA,KACA,YACA,MACA,aACA,SACA,QACA,QACA,MACA,UACA,IACA,WACA,WACA,KACA,MACA,aACA,eACA,UACA,QACA,cACA,MACA,cACA,YACA,aACA,UACF,ECzIaI,GAAqC,CAChD,KAAM,SACN,MAAO,IACP,OAAQ,IACR,MAAO,IACP,MAAO,CACT,EAEO,SAASC,GAAUC,EAAkBC,EAAgE,CAC1G,MAAM/H,KAAQ,YAAS8H,EAAO,OAAQF,EAAkB,EACxD,OAAQ5H,EAAM,KAAM,CAClB,IAAK,SACH,OAAOgI,GAAgBF,EAAQ9H,EAAO+H,CAAG,EAC3C,IAAK,OACH,OAAOE,GAAcH,EAAQ9H,EAAO+H,CAAG,EACzC,IAAK,QACH,OAAOG,GAAeJ,EAAQ9H,EAAO+H,CAAG,EAC1C,IAAK,SACH,OAAOI,GAAgBL,EAAQ9H,EAAO+H,CAAG,CAC7C,CACA,MAAM,IAAI,MAAM,wBAAwB/H,EAAM,MAAM,CACtD,CAEO,S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,MACA,MACA,MACA,MACA,SACA,WACA,MACA,MACA,MACA,MACA,WACA,WACA,WACA,aACF,CACF,EACA,CACE,KAAM,IAA6B,OACnC,KAAM,KAAU,OAChB,OAAQ,CAAC,EACT,OAAQ,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,GAAI,EAAE,CACnE,EACA,CACE,KAAM,aACN,KAAM,KAAU,OAChB,OAAQ,CAAC,EACT,OAAQ,CACN,YACA,SACA,OACA,SACA,cACA,YACA,WACA,WACA,SACA,WACA,OACA,MACA,MACA,MACA,WACA,YACA,WACA,UACF,CACF,EACA,CACE,KAAM,IAA6B,SACnC,KAAM,KAAU,OAChB,OAAQ,CAAE,YAAa,qBAAsB,EAC7C,OAAQ,CACN,kBACA,kBACA,kBACA,kBACA,iBACA,kBACA,eACA,gBACA,kBACA,eACA,eACA,eACA,iBACA,eACA,kBACA,kBACA,eACA,cACF,CACF,EACA,CACE,KAAM,IAA6B,cACnC,KAAM,KAAU,OAChB,OAAQ,CAAE,KAAM,QAAS,YAAa,yBAA0B,EAChE,OAAQ,CACN,kBAAmB,mBAAoB,mBAAqB,mBAAoB,oBAChF,mBAAoB,mBAAoB,oBAAsB,mBAAoB,mBAClF,kBAAmB,kBAAmB,iBAAmB,QAAS,MAAO,mBAAoB,mBAC7F,kBACF,CACF,CACF,EACA,KAAM,CAAE,2BAA4B,WAAqB,EACzD,KAAM,OACR,ECxVa,GAAQ,CACnB,OAAQ,CACN,CACE,KAAM,IAA6B,GACnC,KAAM,KAAU,OAChB,OAAQ,CACN,IACA,eACA,iBACA,sBACA,oBACA,sBACA,kBACA,oBACA,uBACA,cACA,gBACA,0BACA,gBACA,aACA,cACA,kBACA,yBACA,cACA,gBACA,eACA,UACA,sBACA,kBACA,iBACA,iBACA,gBACA,8BACA,sBACA,kBACA,wBACA,MACA,aACA,UACA,KACA,6BACA,eACA,oBACA,uBACA,mBACA,mBACA,0BACA,iBACA,gBACA,iBACA,yBACA,2BACA,mBACA,gBACA,YACA,YACA,SACA,iBACA,sBACA,uBACA,oBACA,cACA,iBACA,6BACA,uBACA,sBACA,mBACA,oBACA,2BACA,gBACA,kBACA,eACA,cACA,qBACA,SACA,mBACF,CACF,EACA,CACE,KAAM,IAA6B,MACnC,OAAQ,CACN,YAAa,cACf,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,IACA,eACA,iBACA,sBACA,oBACA,sBACA,kBACA,oBACA,uBACA,cACA,gBACA,0BACA,gBACA,aACA,cACA,kBACA,yBACA,cACA,gBACA,eACA,UACA,sBACA,kBACA,iBACA,iBACA,gBACA,8BACA,sBACA,kBACA,wBACA,MACA,aACA,UACA,KACA,6BACA,eACA,oBACA,uBACA,mBACA,mBACA,0BACA,iBACA,gBACA,iBACA,yBACA,2BACA,mBACA,gBACA,YACA,YACA,SACA,iBACA,sBACA,uBACA,oBACA,cACA,iBACA,6BACA,uBACA,sBACA,mBACA,oBACA,2BACA,gBACA,kBACA,eACA,cACA,qBACA,SACA,mBACF,CACF,EACA,CACE,KAAM,IAA6B,SACnC,OAAQ,CACN,KAAM,OACN,YAAa,uBACf,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,kBACA,kBACA,KACA,kBACA,mBACA,kBACA,kBACA,kBACA,mBACA,mBACA,kBACA,KACA,kBACA,kBACA,kBACA,kBACA,gBACA,kBACA,KACA,kBACA,mBACA,KACA,KACA,KACA,kBACA,KACA,KACA,kBACA,kBACA,KACA,mBACA,KACA,KACA,KACA,oBACA,KACA,mBACA,kBACA,iBACA,mBACA,mBACA,mBACA,kBACA,mBACA,mBACA,KACA,mBACA,KACA,kBACA,KACA,mBACA,kBACA,iBACA,KACA,kBACA,KACA,kBACA,mBACA,kBACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,CACF,EACA,CACE,KAAM,IAA6B,cACnC,OAAQ,CACN,KAAM,QACN,YAAa,qBACf,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,EACA,EACA,KACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,IACA,KACA,EACA,EACA,IACA,EACA,EACA,EACA,KACA,EACA,EACA,KACA,KACA,KACA,GACA,KACA,KACA,EACA,EACA,KACA,EACA,KACA,KACA,KACA,EACA,KACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,EACA,KACA,EACA,KACA,EACA,EACA,EACA,KACA,EACA,KACA,EACA,EACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,CACF,EACA,CACE,KAAM,eACN,OAAQ,CACN,YAAa,UACb,MAAO,CACL,WAAY,QACZ,KAAM,OACR,CACF,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,iBAAmB,kBAAoB,kBAAoB,EAAG,kBAAoB,EACpG,kBAAoB,kBAAoB,kBAAoB,kBAAoB,EAAG,EAAG,EAAG,kBAAoB,EAC7G,EAAG,EAAG,EAAG,kBAAoB,EAAG,EAAG,iBAAmB,kBAAoB,EAAG,iBAAmB,EAAG,EAAG,EAAG,EAAG,EAC5G,iBAAmB,EAAG,EAAG,kBAAoB,kBAAoB,kBAAoB,iBACrF,kBAAoB,kBAAoB,EAAG,kBAAoB,EAAG,kBAAoB,EAAG,kBAAoB,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,mBAAqB,kBAAoB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CACxF,CACF,EACA,CACE,KAAM,cACN,OAAQ,CACN,YAAa,SACb,MAAO,CACL,WAAY,MACZ,KAAM,OACR,CACF,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,qBAAwB,sBAA0B,qBAAsB,EAC1F,qBAAyB,EAAG,oBAAsB,qBAAyB,mBAC3E,qBAAuB,EAAG,EAAG,EAAG,mBAAqB,EAAG,EAAG,EAAG,EAAG,mBAAqB,EAAG,EACzF,qBAAuB,qBAAuB,EAAG,mBAAqB,EAAG,EAAG,EAAG,EAAG,EAAG,oBAAsB,EAAG,EAC9G,oBAAsB,qBAAwB,mBAAqB,oBAAsB,mBACzF,sBAAyB,EAAG,mBAAqB,EAAG,oBAAsB,EAAG,mBAAqB,EAAG,EAAG,EAAG,EAAG,EAC9G,EAAG,iBAAmB,mBAAqB,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,CAC3E,CACF,CACF,EACA,KAAM,CAAE,2BAA4B,WAAqB,EACzD,KAAM,OACR,EAEa,GAAQ,CACnB,OAAQ,CACN,CACE,KAAM,IAA6B,GACnC,KAAM,KAAU,OAChB,OAAQ,CACN,8BACA,mCACA,wCACA,sCACA,oCACA,uCACA,8BACA,kCACA,gCACA,0CACA,gCACA,6BACA,8BACA,kCACA,yCACA,4BACA,6BACA,8BACA,+BACA,8BACA,oCACA,2BACA,4BACA,mCACA,mCACA,sCACA,gCACA,kCACA,qCACA,8CACA,mCACA,+BACA,qCACA,oCACA,kCACA,qCACA,uCACA,yCACA,0CACA,2BACA,wBACA,yBACA,6BACA,0BACA,6BACA,mCACA,gCACA,0BACA,iBACA,cACA,SACA,0CACA,yCACA,wCACA,oCACA,2CACA,kCACA,iCACA,kCACA,0CACA,qCACA,2CACA,2CACA,mDACA,8BACA,+BACA,mCACA,wCACA,gCACA,gCACA,6BACA,8BACA,qCACA,uCACA,iCACA,uCACA,sCACA,mCACA,yCACA,yCACA,+BACA,uCACA,sBACA,cACA,mBACA,kCACA,qCACA,sCACA,gCACA,mCACA,iDACA,2CACA,6BACA,wCACA,WACA,gBACA,8BACA,4BACA,6CACA,8CACA,kCACA,gCACA,8BACA,8BACA,oCACA,+BACA,6CACA,wCACA,cACA,0BACA,uBACA,8BACA,sBACA,+BACA,sCACA,kCACA,gCACA,2BACA,yCACF,CACF,EACA,CACE,KAAM,IAA6B,OACnC,KAAM,KAAU,OAChB,OAAQ,CAAC,EACT,OAAQ,CACN,iBACA,sBACA,sBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,gBACA,gBACA,cACA,eACA,sBACA,kBACA,gBACA,gBACA,iBACA,oBACA,oBACA,gBACA,gBACA,gBACA,8BACA,iBACA,gBACA,gBACA,gBACA,gBACA,uBACA,uBACA,uBACA,wBACA,aACA,aACA,aACA,aACA,cACA,cACA,cACA,cACA,cACA,aACA,UACA,KACA,eACA,uBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,mBACA,0BACA,2BACA,gBACA,gBACA,iBACA,iBACA,iBACA,iBACA,kBACA,kBACA,sBACA,sBACA,kBACA,kBACA,kBACA,kBACA,kBACA,yBACA,gBACA,gBACA,YACA,YACA,YACA,iBACA,iBACA,uBACA,cACA,oBACA,sBACA,sBACA,mBACA,oBACA,SACA,SACA,gBACA,gBACA,2BACA,kBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,wBACA,sBACA,MACA,UACA,UACA,kBACA,cACA,eACA,mBACA,kBACA,kBACA,oBACA,qBACF,CACF,EACA,CACE,KAAM,IAA6B,OACnC,KAAM,KAAU,OAChB,OAAQ,CAAC,EACT,OAAQ,CACN,eACA,eACA,oBACA,sBACA,oBACA,uBACA,cACA,kBACA,gBACA,0BACA,gBACA,aACA,cACA,kBACA,yBACA,cACA,eACA,kBACA,kBACA,UACA,oBACA,aACA,cACA,oBACA,iBACA,oBACA,kBACA,oBACA,uBACA,kBACA,oBACA,iBACA,uBACA,sBACA,oBACA,gBACA,kBACA,oBACA,oBACA,gBACA,aACA,cACA,kBACA,cACA,iBACA,uBACA,oBACA,cACA,MACA,MACA,MACA,6BACA,oBACA,uBACA,mBACA,0BACA,iBACA,gBACA,iBACA,yBACA,oBACA,0BACA,mBACA,0BACA,gBACA,iBACA,oBACA,yBACA,iBACA,iBACA,aACA,cACA,iBACA,mBACA,iBACA,uBACA,sBACA,mBACA,yBACA,kBACA,iBACA,yBACA,YACA,IACA,SACA,mBACA,sBACA,iBACA,oBACA,iBACA,6BACA,uBACA,YACA,sBACA,IACA,SACA,gBACA,cACA,oBACA,8BACA,oBACA,kBACA,gBACA,gBACA,sBACA,iBACA,uBACA,oBACA,UACA,kBACA,eACA,cACA,UACA,kBACA,qBACA,kBACA,gBACA,SACA,qBACF,CACF,EACA,CACE,KAAM,IAA6B,SACnC,OAAQ,CACN,KAAM,OACN,YAAa,uBACf,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,kBACA,kBACA,mBACA,kBACA,kBACA,iBACA,iBACA,kBACA,mBACA,KACA,mBACA,kBACA,mBACA,iBACA,kBACA,kBACA,kBACA,mBACA,mBACA,mBACA,iBACA,kBACA,kBACA,mBACA,mBACA,kBACA,KACA,kBACA,kBACA,kBACA,mBACA,kBACA,oBACA,kBACA,mBACA,mBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,mBACA,kBACA,mBACA,kBACA,kBACA,kBACA,mBACA,oBACA,mBACA,kBACA,qBACA,mBACA,kBACA,mBACA,mBACA,kBACA,kBACA,oBACA,kBACA,oBACA,kBACA,mBACA,mBACA,mBACA,mBACA,iBACA,kBACA,mBACA,mBACA,kBACA,mBACA,oBACA,mBACA,mBACA,oBACA,mBACA,mBACA,mBACA,mBACA,mBACA,kBACA,iBACA,iBACA,kBACA,kBACA,kBACA,mBACA,kBACA,kBACA,kBACA,kBACA,kBACA,oBACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,CACF,EACA,CACE,KAAM,IAA6B,cACnC,OAAQ,CACN,KAAM,QACN,YAAa,qBACf,EACA,KAAM,KAAU,OAChB,OAAQ,CACN,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,KACA,EACA,EACA,EACA,EACA,IACA,IACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,IACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,IACF,CACF,CACF,EACA,KAAM,CAAE,2BAA4B,WAAqB,EACzD,KAAM,OACR,EC79BO,SAASC,GAAoBC,EAAQ,GAAIC,EAAe,CAC7D,MAAMJ,EAAQ,CAAC,EACTC,EAAkB,CAAC,EACnBI,KAAO,MAAUD,CAAI,EAErBE,EAAO,CACX,GAAI,OACJ,MAAO,OACP,SAAU,SACV,QAAS,EACT,MAAO,EACP,MAAO,KAAK,OAAO,EACnB,MAAO,KAAK,OAAO,EACnB,MAAAL,CACF,EACAD,EAAM,KAAKM,CAAI,EACf,MAAMC,EAAuB,CAACD,CAAI,EAE5BE,EAAW,EAEjB,QAAS3E,EAAI,EAAGA,EAAIsE,EAAOtE,IAAK,CAC9B,MAAM+D,EAAOa,GAAe5E,CAAC,EAC7BmE,EAAM,KAAKJ,CAAI,EACf,MAAMc,EAAc,KAAK,MAAML,EAAK,EAAI,KAAK,MAAME,EAAqB,OAAS,CAAC,CAAC,EAC7EI,EAASJ,EAAqBG,CAAW,EAC/CC,EAAO,MAAM,KAAKf,EAAK,EAAE,EACrBe,EAAO,MAAM,QAAUH,GACzBD,EAAqB,OAAOG,EAAa,CAAC,EAE5CH,EAAqB,KAAKX,CAAI,EAIhC,MAAMgB,EAAkB,KAAK,MAAMT,EAAQ,CAAC,EAC5C,QAAStE,EAAI,EAAGA,GAAK+E,EAAiB/E,IAAK,CACzC,MAAM6E,EAAc,KAAK,MAAML,EAAK,EAAI,KAAK,MAAML,EAAM,OAAS,CAAC,CAAC,EAC9Da,EAAc,KAAK,MAAMR,EAAK,EAAI,KAAK,MAAML,EAAM,OAAS,CAAC,CAAC,EAChEU,IAAgBG,GAAeb,EAAMU,CAAW,EAAE,KAAO,KAAOV,EAAMa,CAAW,EAAE,KAAO,KAI9Fb,EAAMU,CAAW,EAAE,MAAM,KAAKV,EAAMa,CAAW,EAAE,EAAE,EAGrD,MAAMC,EAAyE,CAC7E,CAAC,IAA6B,EAAE,EAAG,CACjC,OAAQ,CAAC,EACT,KAAM,KAAU,OAChB,OAAQ,CACN,MAAO,CACL,CACE,MAAO,iBACP,IAAK,GACL,SAAU,CACR,MAAO,CAAE,WAAY,OAAQ,MAAO,qBAAsB,YAAa,KAAM,EAC7E,cAAe,gBACf,eAAgB,eAClB,CACF,CACF,CACF,CACF,EACA,CAAC,IAA6B,KAAK,EAAG,CACpC,OAAQ,CAAC,EACT,KAAM,KAAU,MAClB,EACA,CAAC,IAA6B,QAAQ,EAAG,CACvC,OAAQ,CAAC,EACT,KAAM,KAAU,MAClB,EACA,CAAC,IAA6B,QAAQ,EAAG,CACvC,OAAQ,CAAC,EACT,KAAM,KAAU,OAChB,OAAQ,CAAE,YAAa,yBAA0B,CACnD,EACA,CAAC,IAA6B,aAAa,EAAG,CAC5C,OAAQ,CAAC,EACT,KAAM,KAAU,OAChB,OAAQ,CAAE,YAAa,kBAAmB,CAC5C,EACA,CAAC,IAA6B,IAAM,SAAS,EAAG,CAC9C,OAAQ,CAAC,EACT,KAAM,KAAU,OAChB,OAAQ,CAAE,MAAO,CAAE,WAAY,QAAS,KAAM,IAAiB,KAAM,EAAG,YAAa,SAAU,CACjG,EACA,CAAC,IAA6B,IAAM,QAAQ,EAAG,CAC7C,OAAQ,CAAC,EACT,KAAM,KAAU,OAChB,OAAQ,CAAE,MAAO,CAAE,WAAY,MAAO,KAAM,IAAiB,KAAM,EAAG,YAAa,QAAS,CAC9F,EACA,CAAC,IAA6B,IAAI,EAAG,CACnC,OAAQ,CAAC,EACT,KAAM,KAAU,MAClB,EACA,CAAC,IAA6B,UAAU,EAAG,CACzC,OAAQ,CAAC,EACT,KAAM,KAAU,MAClB,EACA,CAAC,IAA6B,WAAW,EAAG,CAC1C,OAAQ,CAAC,EACT,KAAM,KAAU,OAClB,CACF,EAEMC,EAAY,IAAIC,EAAA,EAAiB,CACrC,KAAM,QACN,OAAQ,OAAO,KAAKF,CAAU,EAAE,IAAK5K,IAAS,CAC5C,GAAG4K,EAAW5K,CAAG,EACjB,KAAMA,CACR,EAAE,EACF,KAAM,CAAE,2BAA4B,WAAY,CAClD,CAAC,EAEK+K,EAAwB,CAC5B,KAAM,QACN,OAAQ,CACN,CAAE,KAAM,IAA6B,GAAI,OAAQ,CAAC,EAAG,KAAM,KAAU,OAAQ,OAAQ,CAAC,CAAE,EACxF,CAAE,KAAM,IAA6B,OAAQ,OAAQ,CAAC,EAAG,KAAM,KAAU,OAAQ,OAAQ,CAAC,CAAE,EAC5F,CAAE,KAAM,IAA6B,OAAQ,OAAQ,CAAC,EAAG,KAAM,KAAU,OAAQ,OAAQ,CAAC,CAAE,EAC5F,CAAE,KAAM,IAA6B,SAAU,OAAQ,CAAC,EAAG,KAAM,KAAU,OAAQ,OAAQ,CAAC,CAAE,EAC9F,CAAE,KAAM,IAA6B,YAAa,OAAQ,CAAC,EAAG,KAAM,KAAU,QAAS,OAAQ,CAAC,CAAE,EAClG,CAAE,KAAM,IAA6B,UAAW,OAAQ,CAAC,EAAG,KAAM,KAAU,OAAQ,OAAQ,CAAC,CAAE,CACjG,EACA,KAAM,CAAE,2BAA4B,WAAY,EAChD,OAAQ,CACV,EAEMC,EAAW,IAAI,IACrB,UAAWtB,KAAQI,EAAO,CACxBc,EAAW,GAAG,OAAO,KAAKlB,EAAK,EAAE,EACjCkB,EAAW,MAAM,OAAO,KAAKlB,EAAK,KAAK,EACvCkB,EAAW,IAA6B,QAAQ,EAAE,OAAO,KAAKlB,EAAK,QAAQ,EAC3EkB,EAAW,IAA6B,QAAQ,EAAE,OAAO,KAAKlB,EAAK,KAAK,EACxEkB,EAAW,IAA6B,aAAa,EAAE,OAAO,KAAKlB,EAAK,KAAK,EAC7EkB,EAAW,aAAa,OAAO,KAAKlB,EAAK,OAAO,EAChDkB,EAAW,YAAY,OAAO,KAAKlB,EAAK,KAAK,EAC7C,MAAMuB,EAAM,KAAK,OAAO,EACxBL,EAAW,IAA6B,IAAI,EAAE,OAAO,KAAKK,EAAM,GAAM,WAAaA,EAAM,GAAM,QAAU,EAAE,EAC3GL,EAAW,IAA6B,UAAU,EAAE,OAAO,KAAK,KAAK,IAAIK,EAAM,IAAK,EAAE,CAAC,EACvFL,EAAW,IAA6B,WAAW,EAAE,OAAO,KAAK,KAAK,OAAO,EAAI,EAAG,EAEpF,UAAWM,KAAQxB,EAAK,MAAO,CAC7B,MAAM/L,EAAK,GAAG+L,EAAK,OAAOwB,IAEtBF,EAAS,IAAIrN,CAAE,IAGnBqN,EAAS,IAAIrN,CAAE,EACfoN,EAAW,OAAO,CAAC,EAAE,OAAO,KAAK,GAAGrB,EAAK,OAAOwB,GAAM,EACtDH,EAAW,OAAO,CAAC,EAAE,OAAO,KAAKrB,EAAK,EAAE,EACxCqB,EAAW,OAAO,CAAC,EAAE,OAAO,KAAKG,CAAI,EACrCH,EAAW,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,OAAO,EAAI,GAAG,EACpDA,EAAW,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,OAAO,EAAI,EAAG,EACpDA,EAAW,OAAO,CAAC,EAAE,OAAO,KAAK,KAAK,KAAK,KAAK,OAAO,EAAI,EAAE,CAAC,IAGlE,OAAAA,EAAW,OAASA,EAAW,OAAO,CAAC,EAAE,OAAO,OAEzC,CAACF,EAAWE,CAAU,CAC/B,CAEA,SAASR,GAAe7N,EAAe,CACrC,MAAMyO,EAAU,KAAK,OAAO,EACtBjK,EAAQ,EAAIiK,EAClB,MAAO,CACL,GAAI,WAAWzO,IACf,MAAO,WAAWA,IAClB,SAAU,UACV,QAAAyO,EACA,MAAAjK,EACA,MAAO,KAAK,OAAO,EACnB,MAAO,KAAK,OAAO,EACnB,MAAO,CAAC,EACR,YAAa,KAAK,OAAO,EAAI,EAC/B,CACF,CAEO,SAASkK,GAAmBC,EAAkD,CACnF,MAAM3E,EAAW2E,IAAS,QAAU,EAA0B,EAC9D,MAAO,CAAC,IAAIP,EAAA,EAAiBpE,EAAS,KAAK,EAAG,IAAIoE,EAAA,EAAiBpE,EAAS,KAAK,CAAC,CACpF,CAGO,SAAS4E,GAAoBrB,EAAQ,GAAIC,EAAO,EAAG,CACxD,OAAOF,GAAoBC,EAAOC,CAAI,EAAE,CAAC,CAC3C,CCrMO,MAAMqB,GAA+B,CAC1C,KAAM,WAEN,KAAM,CAAE,2BAA4B,YAAa,EACjD,OAAQ,CACN,CACE,KAAM,QACN,OAAQ,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC9G,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3G,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,E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G,IAAU,IAAU,IAAU,IAAU,IAAU,KAAW,IAAU,IAAU,IAAU,IAAU,IACrG,IAAU,KAAW,IAAU,IAAU,IAAU,IAAU,KAAW,IAAU,IAAU,IAAU,IACtG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,KACpG,KAAW,KAAW,KAAW,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACvG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,KAAW,KAAW,KAAW,IAAU,IAAU,IACvG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,KAAW,IACrG,IAAU,IAAU,IAAU,KAAW,IAAU,IAAU,KAAW,IAAU,IAAU,KAC5F,KAAW,IAAU,KAAW,KAAW,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACvG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,KAAW,KAAW,KAAW,KAAW,KAAW,KAAW,KAAW,KACjG,KAAW,KAAW,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACtG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,KACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,KAAW,KAAW,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACtG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,MAAY,MAC5F,MAAY,MAAY,MAAY,IAAU,IAAU,KAAW,KAAW,IAAU,IAAU,IAClG,IAAU,KAAW,IAAU,IAAU,KAAW,KAAW,IAAU,KAAW,IAAU,IAC9F,IAAU,KAAW,IAAU,KAAW,IAAU,IAAU,IAAU,IAAW,IAAU,IAAU,IACvG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,KAAW,KAAW,IAAU,IACtG,IAAU,IAAU,IAAU,KAAW,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACrG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IAAU,IACpG,IAAU,GACZ,EACA,OAAQ,CACN,KAAM,OACR,CACF,EACA,CACE,KAAM,OACN,OAAQ,CACN,MAAO,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IACxG,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GACzG,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,KACvG,KAAM,KAAM,KAAM,KAAM,KAAM,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KACtG,KAAM,KAAM,KAAM,KAAM,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAC7G,KAAM,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,GAAI,GAAI,IAC1G,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC1G,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAC7G,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IACzG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAC5G,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,KAAM,KAAM,KAAM,KAC1G,KAAM,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAC1G,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,EACd,EACA,OAAQ,CACN,KAAM,OACR,CACF,EACA,CACE,KAAM,QACN,KAAM,KAAU,KAChB,OAAQ,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAC5G,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,GAAI,GAC5G,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAC1G,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAC7G,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IAC3G,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,EAAG,IAAK,IAAK,GAAI,EAAG,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAC7G,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAC3G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,EAAG,IAAK,IAAK,IAAK,IAAK,GAAI,GAC3G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,GAAI,IAAK,GAC1G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,EAC5G,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAC5G,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAC5G,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAC1G,IAAK,IAAK,IAAK,IAAK,IAAK,EAAG,GAAI,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,GAAI,IAAK,GAAI,GAAI,GAAI,IAAK,GAAI,GAAI,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,GAAI,IAAK,IAAK,GAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC5G,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC3G,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACzG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IACxG,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,GAAI,GAC7G,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAAK,IAC1G,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GAAI,GAAI,GAAI,GAAI,GAC1G,GAAI,GAAI,GAAI,GAAI,IAAK,IAAK,IAAK,GACjC,EACA,OAAQ,CACN,KAAM,CACJ,KAAM,CACJ,KAAM,CACJ,QACA,uCACA,kCACA,2CACA,gCACA,qCACA,uCACA,0CACA,gDACA,iDACA,4CACA,6CACA,kBACA,yDACA,YACA,iBACA,qBACA,gCACA,eACA,iDACA,+CACA,4BACA,iDACA,yCACA,0BACA,uBACA,2BACA,oBACA,mBACA,+BACA,wBACA,sBACA,8BACA,yBACA,mBACA,qBACA,0BACA,gCACA,oBACA,2CACA,oBACA,sBACA,yBACA,gDACA,+CACA,6BACA,2BACA,kCACA,0BACA,gCACA,2BACA,yBACA,oBACA,uBACA,oBACA,iDACA,0BACA,+BACA,6BACA,oCACA,4BACA,mCACA,gCACA,qCACA,sCACA,sCACA,sCACA,2BACA,yBACA,qBACA,2BACA,sBACA,qBACA,kDACA,qCACA,wDACA,0CACA,qCACA,+CACA,+CACA,mCACA,iCACA,4BACA,oBACA,qBACA,4CACA,8CACA,gDACA,2DACA,0DACA,2CACA,0CACA,sCACA,4CACA,oBACA,aACA,+BACA,sCACA,6CACA,8CACA,0CACA,yCACA,2BACA,0CACA,2CACA,yBACA,mCACA,iCACA,8BACA,kDACA,+CACA,wEACA,yDACA,gEACA,yDACA,kEACA,6CACA,sDACA,4DACA,8DACA,qCACA,oDACA,2DACA,kEACA,+DACA,yEACA,+DACA,gEACA,+BACA,6BACA,kCACA,8BACA,kCACA,iCACA,yCACA,oDACA,+CACA,kDACA,cACA,2CACA,2BACA,mBACA,0BACA,mBACA,uBACA,uBACA,kBACA,wBACA,uBACA,mBACA,8BACA,mBACA,0BACA,0BACA,yCACA,mBACA,8CACA,4BACA,6BACA,cACA,YACA,qBACA,yBACA,oBACA,yCACA,sBACA,iDACA,6CACA,+EACA,uFACA,8EACA,yDACA,gDACA,+BACA,uBACA,8BACA,iCACA,eACA,sBACA,sBACA,kBACA,eACA,uCACA,mCACA,qCACA,iBACA,yBACA,oBACA,qBACA,mDACA,4CACA,gEACA,mEACA,kEACA,6DACA,kEACA,iBACA,gCACA,+BACA,iCACA,qCACA,kEACA,0DACA,qEACA,wEACA,0EACA,2BACA,0DACA,wBACA,8BACA,0CACA,uBACA,8BACA,mBACA,oBACA,eACA,eACA,kBACA,iCACA,uBACA,mCACA,mCACA,2BACA,kCACA,+BACA,2CACA,wCACA,wCACA,uDACA,2CACA,iEACA,4EACA,8EACA,6BACA,6BACA,wBACA,wBACA,gCACA,sCACA,oBACA,qBACA,4BACA,gBACA,8BACA,uCACA,oCACA,qCACA,0CACA,qCACA,uCACA,yCACA,oCACA,mCACA,qDACA,+CACA,sCACA,4BACA,6BACA,4BACA,yCACA,mBACA,mBACA,wBACA,0BACA,yBACA,iCACA,mBACA,mBACA,gBACA,mBACA,wBACA,uBACA,+CACA,8CACA,2BACA,2BACA,gCACA,sCACA,mBACA,wCACA,yCACA,+CACA,wDACA,sBACA,cACA,qBACA,qBACA,uBACA,wBACA,8BACA,wBACA,oBACA,kCACA,8CACA,cACA,uBACA,gCACA,eACA,oCACA,+BACA,oCACA,mDACA,qCACA,uBACA,2CACA,6CACA,gBACA,sBACA,2CACA,4BACA,2CACA,wBACA,8BACA,gCACA,gBACA,iBACA,qBACA,sBACA,gBACA,2CACA,kCACA,wCACA,wBACA,4BACA,yBACA,wBACA,qBACA,kCACA,2BACA,cACA,eACA,iBACA,mBACA,wCACA,YACA,6CACA,UACA,mBACA,aACA,uBACA,6BACA,uBACA,qBACA,oCACA,kBACA,4BACA,gBACA,kBACA,oCACA,UACA,6EACA,oBACA,kBACA,gCACA,kEACA,uDACA,yDACA,eACA,yCACA,wCACA,8CACA,6BACA,6BACA,gCACA,oDACA,qDACA,gEACA,qBACA,4DACA,qCACA,sCACA,8BACA,kCACA,mBACA,+BACA,sBACA,yBACA,+BACA,kBACA,0BACA,4BACA,wBACA,mBACA,kBACA,0BACA,oCACA,4BACA,qBACA,2BACA,qBACA,0BACA,wBACA,0BACA,4BACA,kBACA,+BACA,qBACA,4BACA,sBACA,4BACA,uBACA,kCACA,mBACA,oCACA,oCACA,+BACA,mCACA,mBACA,eACA,kBACA,wBACA,gBACA,kBACA,uBACA,uBACA,+BACA,uCACA,kFACA,kBACA,mBACA,oCACA,+BACA,kCACA,8BACA,mDACA,gBACA,iBACA,mBACA,uBACA,kBACA,oBACA,gBACA,oBACA,qBACA,+BACA,sBACA,mBACA,sBACA,kBACA,gBACA,oBACA,yBACA,oBACA,eACA,sBACA,kBACA,qBACA,oCACA,4BACA,6BACA,kBACA,oBACA,mBACA,mCACA,sBACA,0BACA,qCACA,iDACA,mDACA,sDACA,2EACA,0DACA,sDACA,sDACA,2DACA,uEACA,+DACA,oEACA,gCACA,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CA,+BACA,0DACA,+DACA,6BACA,kCACA,kCACA,iCACA,8DACA,+DACA,mFACA,qEACA,qEACA,2DACA,6IACA,kGACA,kHACA,qDACA,yDACA,uDACA,wFACA,8FACA,sDACA,yEACA,qEACA,gFACA,+EACA,oEACA,6BACA,oCACA,qBACA,qCACA,gEACA,0EACA,8EACA,uFACA,2JACA,0CACA,gFACA,+CACA,kEACA,8DACA,yEACA,kEACA,uEACA,oFACA,qBACA,yEACA,kGACA,qCACA,2EACA,oCACA,0CACA,kDACA,sDACA,+DACA,kDACA,uEACA,6DACA,qDACA,iEACA,gFACA,+CACA,kEACA,8DACA,yEACA,kEACA,6BACA,0CACA,oCACA,qBACA,+BACA,wBACA,0BACA,oFACA,qBACA,qCACA,uCACA,0EACA,mCACA,kDACA,uEACA,wEACA,kDACA,yFACA,sFACA,4FACA,6JACA,oKACA,+EACA,mFACA,wGACA,yHACA,sCACA,uFACA,iKACA,iKACA,qFACA,4FACA,mHACA,sCACA,4FACA,qFACA,mMACA,6IACA,mMACA,kJACA,iGACA,kMACA,iJACA,8CACA,oDACA,yGACA,0GACA,wFACA,sDACA,+DACA,kDACA,yLACA,wIACA,gDACA,sHACA,6NACA,gDACA,yGACA,2FACA,oHACA,8GACA,mEACA,gDACA,sFACA,kGACA,oFACA,sEACA,6EACA,yGACA,gDACA,6GACA,8FACA,wFACA,sDACA,iCACA,wFACA,4FACA,kFACA,4GACA,iGACA,yCACA,8CACA,6DACA,qDACA,uFACA,oDACA,yDACA,uDACA,mJACA,qCACA,yDACA,uDACA,sIACA,yFACA,+EACA,yGACA,mIACA,8CACA,iDACA,mDACA,kDACA,oDACA,oDACA,+CACA,mEACA,yGACA,gDACA,wKACA,sHACA,mDACA,kDACA,8FACA,sHACA,uEACA,2FACA,4GACA,wEACA,qCACA,mGACA,gFACA,gFACA,0HACA,6FACA,oFACA,6GACA,sEACA,wCACA,4DACA,0GACA,mEACA,qEACA,iDACA,mDACA,kDACA,6BACA,oDACA,2CACA,2CACA,gEACA,iDACA,mDACA,kDACA,6BACA,4CACA,gOACA,gDACA,4GACA,uGACA,2DACA,yGACA,kEACA,iHACA,oEACA,yDACA,kDACA,4BACA,0CACA,6BACA,kCACA,mFACA,qEACA,qEACA,2DACA,6IACA,kGACA,kHACA,qDACA,yDACA,uDACA,wFACA,8FACA,sDACA,yEACA,qEACA,gFACA,+EACA,oEACA,6BACA,oCACA,qBACA,gEACA,0EACA,8EACA,uFACA,2JACA,0CACA,6DACA,qDACA,iEACA,gFACA,+CACA,kEACA,8DACA,yEACA,kEACA,+BACA,yFACA,sFACA,uFACA,iKACA,iKACA,qFACA,4FACA,mHACA,sCACA,4FACA,qFACA,mEACA,sHACA,+CACA,mEACA,yGACA,gDACA,sHACA,kFACA,+CACA,mEACA,yGACA,gDACA,kHACA,sHACA,+CACA,mEACA,yGACA,gDACA,oHACA,+FACA,qFACA,+GACA,yIACA,4FACA,6CACA,wCACA,qFACA,4DACA,mEACF,CACF,EACA,CACE,KAAM,OACN,OAAQ,CACN,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAC9G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,E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AG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC7G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC9G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAC5G,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,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","sources":["webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/ConfigEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/MetaDataInspector.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/StreamingClientEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/RandomWalkEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/CSVContentEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/CSVFileEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/dataquery.gen.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/constants.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/CSVWaveEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/ErrorEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/GrafanaLiveEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/NodeGraphEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/PredictablePulseEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/RawFrameEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationSchemaForm.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationQueryEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/components/USAQueryEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/LogIpsum.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/runStreams.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/TestInfoTab.tsx","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/metricTree.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/testData/serviceMapResponse.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/testData/serviceMapResponseMedium.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/nodeGraphUtils.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/testData/flameGraphResponse.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/variables.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/datasource.ts","webpack://grafana/./public/app/plugins/datasource/grafana-testdata-datasource/module.tsx"],"sourcesContent":["// Libraries\nimport React, { PureComponent } from 'react';\n\nimport { DataSourcePluginOptionsEditorProps } from '@grafana/data';\n\ntype Props = DataSourcePluginOptionsEditorProps;\n\n/**\n * Empty Config Editor -- settings to save\n */\nexport class ConfigEditor extends PureComponent<Props> {\n render() {\n return <div />;\n }\n}\n","import React from 'react';\n\nimport { MetadataInspectorProps } from '@grafana/data';\nimport { Stack } from '@grafana/ui';\n\nimport { TestData } from './dataquery.gen';\nimport { TestDataDataSource } from './datasource';\n\nexport type Props = MetadataInspectorProps<TestDataDataSource, TestData>;\n\nexport function MetaDataInspector({ data }: Props) {\n return (\n <Stack direction=\"column\">\n <div>Meta data inspector for the TestData data source.</div>\n\n {data.map((frame, index) => (\n <>\n <div>Frame: {index}</div>\n <div>\n Custom meta: <br />\n {JSON.stringify(frame.meta?.custom, null, 2)}\n </div>\n </>\n ))}\n </Stack>\n );\n}\n","import React, { ChangeEvent } from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { InlineField, InlineFieldRow, Input, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nconst streamingClientFields = [\n { label: 'Speed (ms)', id: 'speed', placeholder: 'value', min: 10, step: 10 },\n { label: 'Spread', id: 'spread', placeholder: 'value', min: 0.5, step: 0.1 },\n { label: 'Noise', id: 'noise', placeholder: 'value', min: 0, step: 0.1 },\n { label: 'Bands', id: 'bands', placeholder: 'bands', min: 0, step: 1 },\n] as const;\n\nconst types = [\n { value: 'signal', label: 'Signal' },\n { value: 'logs', label: 'Logs' },\n { value: 'fetch', label: 'Fetch' },\n { value: 'traces', label: 'Traces' },\n];\n\nexport const StreamingClientEditor = ({ onChange, query }: EditorProps) => {\n const onSelectChange = ({ value }: SelectableValue) => {\n onChange({ target: { name: 'type', value } });\n };\n\n // Convert values to numbers before saving\n const onInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n onChange({ target: { name, value: Number(value) } });\n };\n\n const streamType = query?.stream?.type || 'signal';\n const fields =\n streamType === 'signal'\n ? streamingClientFields\n : ['logs', 'traces'].includes(streamType)\n ? [streamingClientFields[0]] // speed\n : [];\n\n return (\n <InlineFieldRow>\n <InlineField label=\"Type\" labelWidth={14}>\n <Select\n width={32}\n onChange={onSelectChange}\n defaultValue={types[0]}\n options={types}\n value={query?.stream?.type}\n />\n </InlineField>\n {fields.map(({ label, id, min, step, placeholder }) => {\n return (\n <InlineField label={label} labelWidth={14} key={id}>\n <Input\n width={32}\n type=\"number\"\n id={`stream.${id}-${query.refId}`}\n name={id}\n min={min}\n step={step}\n value={query.stream?.[id]}\n placeholder={placeholder}\n onChange={onInputChange}\n />\n </InlineField>\n );\n })}\n\n {query?.stream?.type === 'fetch' && (\n <InlineField label=\"URL\" labelWidth={14} grow>\n <Input\n type=\"text\"\n name=\"url\"\n id={`stream.url-${query.refId}`}\n value={query?.stream?.url}\n placeholder=\"Fetch URL\"\n onChange={onChange}\n />\n </InlineField>\n )}\n </InlineFieldRow>\n );\n};\n","import React from 'react';\n\nimport { selectors } from '@grafana/e2e-selectors';\nimport { InlineField, InlineFieldRow, Input } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\nimport { TestData } from '../dataquery.gen';\n\nconst randomWalkFields: Array<{\n label: string;\n id: Selector;\n placeholder: string;\n min?: number;\n step?: number;\n max?: number;\n tooltip?: string;\n}> = [\n { label: 'Series count', id: 'seriesCount', placeholder: '1', min: 1, step: 1 },\n { label: 'Start value', id: 'startValue', placeholder: 'auto', step: 1 },\n { label: 'Min', id: 'min', placeholder: 'none', step: 0.1 },\n { label: 'Max', id: 'max', placeholder: 'none', step: 0.1 },\n { label: 'Spread', id: 'spread', placeholder: '1', min: 0.5, step: 0.1 },\n { label: 'Noise', id: 'noise', placeholder: '0', min: 0, step: 0.1 },\n {\n label: 'Drop (%)',\n id: 'drop',\n placeholder: '0',\n min: 0,\n max: 100,\n step: 1,\n tooltip: 'Exclude some percent (chance) points',\n },\n];\n\nconst testSelectors = selectors.components.DataSource.TestData.QueryTab;\ntype Selector = 'max' | 'min' | 'noise' | 'seriesCount' | 'spread' | 'startValue' | 'drop';\n\nexport const RandomWalkEditor = ({ onChange, query }: EditorProps) => {\n return (\n <InlineFieldRow>\n {randomWalkFields.map(({ label, id, min, step, placeholder, tooltip }) => {\n const selector = testSelectors[id];\n return (\n <InlineField label={label} labelWidth={14} key={id} aria-label={selector} tooltip={tooltip}>\n <Input\n width={32}\n name={id}\n type=\"number\"\n id={`randomWalk-${id}-${query.refId}`}\n min={min}\n step={step}\n value={(query as any)[id as keyof TestData] || placeholder}\n placeholder={placeholder}\n onChange={onChange}\n />\n </InlineField>\n );\n })}\n </InlineFieldRow>\n );\n};\n","import React from 'react';\n\nimport { CodeEditor } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nexport const CSVContentEditor = ({ onChange, query }: EditorProps) => {\n const onSaveCSV = (csvContent: string) => {\n onChange({ ...query, csvContent });\n };\n\n return (\n <CodeEditor\n height={300}\n language=\"csv\"\n value={query.csvContent ?? ''}\n onBlur={onSaveCSV}\n onSave={onSaveCSV}\n showMiniMap={false}\n showLineNumbers={true}\n />\n );\n};\n","import React from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { InlineField, InlineFieldRow, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nexport const CSVFileEditor = ({ onChange, query }: EditorProps) => {\n const onChangeFileName = ({ value }: SelectableValue<string>) => {\n onChange({ ...query, csvFileName: value });\n };\n\n const files = [\n 'flight_info_by_state.csv',\n 'population_by_state.csv',\n 'gdp_per_capita.csv',\n 'js_libraries.csv',\n 'ohlc_dogecoin.csv',\n 'weight_height.csv',\n 'browser_marketshare.csv',\n 'automobiles.csv',\n ].map((name) => ({ label: name, value: name }));\n\n return (\n <InlineFieldRow>\n <InlineField label=\"File\" labelWidth={14}>\n <Select\n width={32}\n onChange={onChangeFileName}\n placeholder=\"Select csv file\"\n options={files}\n value={files.find((f) => f.value === query.csvFileName)}\n />\n </InlineField>\n </InlineFieldRow>\n );\n};\n","// Code generated - EDITING IS FUTILE. DO NOT EDIT.\n//\n// Generated by:\n// public/app/plugins/gen.go\n// Using jennies:\n// TSTypesJenny\n// PluginTSTypesJenny\n//\n// Run 'make gen-cue' from repository root to regenerate.\n\nimport * as common from '@grafana/schema';\n\nexport enum TestDataQueryType {\n Annotations = 'annotations',\n Arrow = 'arrow',\n CSVContent = 'csv_content',\n CSVFile = 'csv_file',\n CSVMetricValues = 'csv_metric_values',\n DataPointsOutsideRange = 'datapoints_outside_range',\n ExponentialHeatmapBucketData = 'exponential_heatmap_bucket_data',\n FlameGraph = 'flame_graph',\n GrafanaAPI = 'grafana_api',\n LinearHeatmapBucketData = 'linear_heatmap_bucket_data',\n Live = 'live',\n Logs = 'logs',\n ManualEntry = 'manual_entry',\n NoDataPoints = 'no_data_points',\n NodeGraph = 'node_graph',\n PredictableCSVWave = 'predictable_csv_wave',\n PredictablePulse = 'predictable_pulse',\n RandomWalk = 'random_walk',\n RandomWalkTable = 'random_walk_table',\n RandomWalkWithError = 'random_walk_with_error',\n RawFrame = 'raw_frame',\n ServerError500 = 'server_error_500',\n Simulation = 'simulation',\n SlowQuery = 'slow_query',\n StreamingClient = 'streaming_client',\n TableStatic = 'table_static',\n Trace = 'trace',\n USA = 'usa',\n VariablesQuery = 'variables-query',\n}\n\nexport interface StreamingQuery {\n bands?: number;\n noise: number;\n speed: number;\n spread: number;\n type: ('signal' | 'logs' | 'fetch' | 'traces');\n url?: string;\n}\n\nexport interface PulseWaveQuery {\n offCount?: number;\n offValue?: number;\n onCount?: number;\n onValue?: number;\n timeStep?: number;\n}\n\nexport interface SimulationQuery {\n config?: Record<string, unknown>;\n key: {\n type: string;\n tick: number;\n uid?: string;\n };\n last?: boolean;\n stream?: boolean;\n}\n\nexport interface NodesQuery {\n count?: number;\n seed?: number;\n type?: ('random' | 'response_small' | 'response_medium' | 'random edges');\n}\n\nexport interface USAQuery {\n fields?: Array<string>;\n mode?: string;\n period?: string;\n states?: Array<string>;\n}\n\nexport const defaultUSAQuery: Partial<USAQuery> = {\n fields: [],\n states: [],\n};\n\nexport interface CSVWave {\n labels?: string;\n name?: string;\n timeStep?: number;\n valuesCSV?: string;\n}\n\n/**\n * TODO: Should this live here given it's not used in the dataquery?\n */\nexport interface Scenario {\n description?: string;\n hideAliasField?: boolean;\n id: string;\n name: string;\n stringInput: string;\n}\n\nexport interface TestData extends common.DataQuery {\n alias?: string;\n channel?: string;\n csvContent?: string;\n csvFileName?: string;\n csvWave?: Array<CSVWave>; // TODO can we prevent partial from being generated\n /**\n * Drop percentage (the chance we will lose a point 0-100)\n */\n dropPercent?: number;\n errorType?: ('server_panic' | 'frontend_exception' | 'frontend_observable');\n flamegraphDiff?: boolean;\n labels?: string;\n levelColumn?: boolean;\n lines?: number;\n nodes?: NodesQuery;\n points?: Array<Array<(string | number)>>;\n pulseWave?: PulseWaveQuery;\n rawFrameContent?: string;\n scenarioId?: TestDataQueryType;\n seriesCount?: number;\n sim?: SimulationQuery;\n spanCount?: number;\n stream?: StreamingQuery;\n stringInput?: string;\n usa?: USAQuery;\n}\n\nexport const defaultTestData: Partial<TestData> = {\n csvWave: [],\n points: [],\n scenarioId: TestDataQueryType.RandomWalk,\n};\n","import { CSVWave, PulseWaveQuery, TestData, TestDataQueryType } from './dataquery.gen';\n\nexport const defaultPulseQuery: PulseWaveQuery = {\n timeStep: 60,\n onCount: 3,\n onValue: 2,\n offCount: 3,\n offValue: 1,\n};\n\nexport const defaultCSVWaveQuery: CSVWave[] = [\n {\n timeStep: 60,\n valuesCSV: '0,0,2,2,1,1',\n },\n];\n\nexport const defaultQuery: TestData = {\n scenarioId: TestDataQueryType.RandomWalk,\n refId: '',\n};\n","import React, { PureComponent, useState } from 'react';\n\nimport { Button, InlineField, InlineFieldRow, Input } from '@grafana/ui';\n\nimport { defaultCSVWaveQuery } from '../constants';\nimport type { CSVWave } from '../dataquery.gen';\n\ninterface WavesProps {\n waves?: CSVWave[];\n onChange: (waves: CSVWave[]) => void;\n}\n\ninterface WaveProps {\n wave: CSVWave;\n index: number;\n last: boolean;\n onChange: (index: number, wave?: CSVWave) => void;\n onAdd: () => void;\n}\n\nconst CSVWaveEditor = (props: WaveProps) => {\n const { wave, last, index, onAdd, onChange } = props;\n const [valuesCSV, setValuesCSV] = useState(wave.valuesCSV || '');\n const [labels, setLabels] = useState(wave.labels || '');\n const [name, setName] = useState(wave.name || '');\n const onAction = () => {\n if (last) {\n onAdd();\n } else {\n onChange(index, undefined);\n }\n };\n const onValueChange = <K extends keyof CSVWave, V extends CSVWave[K]>(key: K, value: V) => {\n onChange(index, { ...wave, [key]: value });\n };\n const onKeyDown = (evt: React.KeyboardEvent<HTMLInputElement>) => {\n if (evt.key === 'Enter') {\n onValueChange('valuesCSV', valuesCSV);\n }\n };\n\n return (\n <InlineFieldRow>\n <InlineField\n label={'Values'}\n grow\n tooltip=\"Comma separated values. Each value may be an int, float, or null and must not be empty. Whitespace and trailing commas are removed\"\n >\n <Input\n value={valuesCSV}\n placeholder={'CSV values'}\n onChange={(e) => setValuesCSV(e.currentTarget.value)}\n autoFocus={true}\n onBlur={() => onValueChange('valuesCSV', valuesCSV)}\n onKeyDown={onKeyDown}\n />\n </InlineField>\n <InlineField label={'Step'} tooltip=\"The number of seconds between datapoints.\">\n <Input\n value={wave.timeStep}\n type=\"number\"\n placeholder={'60'}\n width={10}\n onChange={(e) => onValueChange('timeStep', e.currentTarget.valueAsNumber)}\n />\n </InlineField>\n <InlineField label={'Name'}>\n <Input\n value={name}\n placeholder={'name'}\n width={10}\n onChange={(e) => setName(e.currentTarget.value)}\n onBlur={() => onValueChange('name', name)}\n />\n </InlineField>\n <InlineField label={'Labels'}>\n <Input\n value={labels}\n placeholder={'labels'}\n width={12}\n onChange={(e) => setLabels(e.currentTarget.value)}\n onBlur={() => onValueChange('labels', labels)}\n />\n </InlineField>\n <Button icon={last ? 'plus' : 'minus'} variant=\"secondary\" onClick={onAction} />\n </InlineFieldRow>\n );\n};\n\nexport class CSVWavesEditor extends PureComponent<WavesProps> {\n onChange = (index: number, wave?: CSVWave) => {\n let waves = [...(this.props.waves ?? defaultCSVWaveQuery)];\n if (wave) {\n waves[index] = { ...wave };\n } else {\n // remove the element\n waves.splice(index, 1);\n }\n this.props.onChange(waves);\n };\n\n onAdd = () => {\n const waves = [...(this.props.waves ?? defaultCSVWaveQuery)];\n waves.push({ ...defaultCSVWaveQuery[0] });\n this.props.onChange(waves);\n };\n\n render() {\n let waves = this.props.waves ?? defaultCSVWaveQuery;\n if (!waves.length) {\n waves = defaultCSVWaveQuery;\n }\n\n return (\n <>\n {waves.map((wave, index) => (\n <CSVWaveEditor\n key={`${index}/${wave.valuesCSV}`}\n wave={wave}\n index={index}\n onAdd={this.onAdd}\n onChange={this.onChange}\n last={index === waves.length - 1}\n />\n ))}\n </>\n );\n }\n}\n","import React from 'react';\n\nimport { InlineField, InlineFieldRow, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nconst ERROR_OPTIONS = [\n {\n label: 'Server panic',\n value: 'server_panic',\n },\n {\n label: 'Frontend exception',\n value: 'frontend_exception',\n },\n {\n label: 'Frontend observable',\n value: 'frontend_observable',\n },\n];\n\nconst FrontendErrorQueryEditor = ({ query, onChange }: EditorProps) => {\n return (\n <InlineFieldRow>\n <InlineField labelWidth={14} label=\"Error type\">\n <Select\n options={ERROR_OPTIONS}\n value={query.errorType}\n onChange={(v) => {\n onChange({ ...query, errorType: v.value });\n }}\n />\n </InlineField>\n </InlineFieldRow>\n );\n};\n\nexport default FrontendErrorQueryEditor;\n","import React from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { InlineField, InlineFieldRow, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nconst liveTestDataChannels = [\n {\n label: 'random-2s-stream',\n value: 'random-2s-stream',\n description: 'Random stream with points every 2s',\n },\n {\n label: 'random-flakey-stream',\n value: 'random-flakey-stream',\n description: 'Stream that returns data in random intervals',\n },\n {\n label: 'random-labeled-stream',\n value: 'random-labeled-stream',\n description: 'Value with moving labels',\n },\n {\n label: 'random-20Hz-stream',\n value: 'random-20Hz-stream',\n description: 'Random stream with points in 20Hz',\n },\n];\n\nexport const GrafanaLiveEditor = ({ onChange, query }: EditorProps) => {\n const onChannelChange = ({ value }: SelectableValue<string>) => {\n onChange({ ...query, channel: value });\n };\n\n return (\n <InlineFieldRow>\n <InlineField label=\"Channel\" labelWidth={14}>\n <Select\n width={32}\n onChange={onChannelChange}\n placeholder=\"Select channel\"\n options={liveTestDataChannels}\n value={liveTestDataChannels.find((f) => f.value === query.channel)}\n />\n </InlineField>\n </InlineFieldRow>\n );\n};\n","import React from 'react';\n\nimport { Input, InlineFieldRow, InlineField, Select } from '@grafana/ui';\n\nimport { NodesQuery, TestData } from '../dataquery.gen';\n\nexport interface Props {\n onChange: (value: NodesQuery) => void;\n query: TestData;\n}\nexport function NodeGraphEditor({ query, onChange }: Props) {\n const type = query.nodes?.type || 'random';\n return (\n <InlineFieldRow>\n <InlineField label=\"Data type\" labelWidth={14}>\n <Select<NodesQuery['type']>\n options={options.map((o) => ({\n label: o,\n value: o,\n }))}\n value={options.find((item) => item === type)}\n onChange={(value) => onChange({ ...query.nodes, type: value.value! })}\n width={32}\n />\n </InlineField>\n {(type === 'random' || type === 'random edges') && (\n <>\n <InlineField label=\"Count\" labelWidth={14}>\n <Input\n type=\"number\"\n name=\"count\"\n value={query.nodes?.count}\n width={32}\n onChange={(e) =>\n onChange({ ...query.nodes, count: e.currentTarget.value ? parseInt(e.currentTarget.value, 10) : 0 })\n }\n placeholder=\"10\"\n />\n </InlineField>\n <InlineField label=\"Seed\" labelWidth={14}>\n <Input\n type=\"number\"\n name=\"seed\"\n value={query.nodes?.seed}\n width={16}\n onChange={(e) =>\n onChange({ ...query.nodes, seed: e.currentTarget.value ? parseInt(e.currentTarget.value, 10) : 0 })\n }\n />\n </InlineField>\n </>\n )}\n </InlineFieldRow>\n );\n}\n\nconst options: Array<NodesQuery['type']> = ['random', 'response_small', 'response_medium', 'random edges'];\n","import React, { ChangeEvent } from 'react';\n\nimport { InlineField, InlineFieldRow, Input } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\nimport { PulseWaveQuery } from '../dataquery.gen';\n\nconst fields: Array<{\n label: string;\n id: keyof PulseWaveQuery;\n placeholder: string;\n tooltip: string;\n}> = [\n { label: 'Step', id: 'timeStep', placeholder: '60', tooltip: 'The number of seconds between datapoints.' },\n {\n label: 'On Count',\n id: 'onCount',\n placeholder: '3',\n tooltip: 'The number of values within a cycle, at the start of the cycle, that should have the onValue.',\n },\n { label: 'Off Count', id: 'offCount', placeholder: '6', tooltip: 'The number of offValues within the cycle.' },\n {\n label: 'On Value',\n id: 'onValue',\n placeholder: '1',\n tooltip: 'The value for \"on values\", may be an int, float, or null.',\n },\n {\n label: 'Off Value',\n id: 'offValue',\n placeholder: '1',\n tooltip: 'The value for \"off values\", may be a int, float, or null.',\n },\n];\n\nexport const PredictablePulseEditor = ({ onChange, query }: EditorProps) => {\n // Convert values to numbers before saving\n const onInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const { name, value } = e.target;\n\n onChange({ target: { name, value: Number(value) } });\n };\n\n return (\n <InlineFieldRow>\n {fields.map(({ label, id, placeholder, tooltip }) => {\n return (\n <InlineField label={label} labelWidth={14} key={id} tooltip={tooltip}>\n <Input\n width={32}\n type=\"number\"\n name={id}\n id={`pulseWave.${id}-${query.refId}`}\n value={query.pulseWave?.[id]}\n placeholder={placeholder}\n onChange={onInputChange}\n />\n </InlineField>\n );\n })}\n </InlineFieldRow>\n );\n};\n","import { isArray } from 'lodash';\nimport React, { useState } from 'react';\n\nimport { dataFrameToJSON, toDataFrame, toDataFrameDTO } from '@grafana/data';\nimport { toDataQueryResponse } from '@grafana/runtime';\nimport { Alert, CodeEditor } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\n\nexport const RawFrameEditor = ({ onChange, query }: EditorProps) => {\n const [error, setError] = useState<string>();\n const [warning, setWarning] = useState<string>();\n\n const onSaveFrames = (rawFrameContent: string) => {\n try {\n const json = JSON.parse(rawFrameContent);\n if (isArray(json)) {\n setError(undefined);\n setWarning(undefined);\n onChange({ ...query, rawFrameContent });\n return;\n }\n\n let data = undefined;\n\n // Copy paste from panel json\n if (isArray(json.series) && json.state) {\n data = json.series.map((v: unknown) => toDataFrameDTO(toDataFrame(v)));\n } else {\n // Chek if it is a copy of the raw resuls\n const v = toDataQueryResponse({ data: json });\n if (v.data?.length && !v.error) {\n data = v.data.map((f) => dataFrameToJSON(f));\n }\n }\n\n if (data) {\n console.log('Original', json);\n console.log('Save', data);\n setError(undefined);\n setWarning('Converted to direct frame result');\n onChange({ ...query, rawFrameContent: JSON.stringify(data, null, 2) });\n return;\n }\n\n setError('Unable to read dataframes in text');\n } catch (e) {\n console.log('Error parsing json', e);\n setError('Enter JSON array of data frames (or raw query results body)');\n setWarning(undefined);\n }\n };\n\n return (\n <>\n {error && <Alert title={error} severity=\"error\" />}\n {warning && <Alert title={warning} severity=\"warning\" />}\n <CodeEditor\n height={300}\n language=\"json\"\n value={query.rawFrameContent ?? '[]'}\n onBlur={onSaveFrames}\n onSave={onSaveFrames}\n showMiniMap={true}\n showLineNumbers={true}\n />\n </>\n );\n};\n","import { css } from '@emotion/css';\nimport React, { FormEvent, useState, ChangeEvent } from 'react';\n\nimport { DataFrameSchema, FieldSchema, GrafanaTheme2 } from '@grafana/data';\nimport { useStyles2, TextArea, InlineField, Input, FieldSet, InlineSwitch } from '@grafana/ui';\n\ninterface SchemaFormProps {\n config: Record<string, any>;\n schema: DataFrameSchema;\n onChange: (config: Record<string, any>) => void;\n}\n\nconst renderInput = (field: FieldSchema, onChange: SchemaFormProps['onChange'], config: SchemaFormProps['config']) => {\n switch (field.type) {\n case 'number':\n return (\n <Input\n type=\"number\"\n defaultValue={config?.[field.name]}\n onChange={(e: FormEvent<HTMLInputElement>) => {\n const newValue = e.currentTarget.valueAsNumber;\n onChange({ ...config, [field.name]: newValue });\n }}\n />\n );\n case 'boolean':\n return (\n <InlineSwitch\n value={config?.[field.name] ?? true}\n onChange={() => {\n onChange({ ...config, [field.name]: !config[field.name] });\n }}\n />\n );\n default:\n return (\n <Input\n type=\"string\"\n value={config?.[field.name]}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n const newValue = e.target.value;\n onChange({ ...config, [field.name]: newValue });\n }}\n />\n );\n }\n};\n\nconst getStyles = (theme: GrafanaTheme2) => {\n return {\n jsonView: css`\n margin-bottom: ${theme.spacing(1)};\n `,\n };\n};\n\nexport const SimulationSchemaForm = ({ config, schema, onChange }: SchemaFormProps) => {\n const [jsonView, setJsonView] = useState<boolean>(false);\n\n const styles = useStyles2(getStyles);\n\n const onUpdateTextArea = (event: FormEvent<HTMLTextAreaElement>) => {\n const element = event.currentTarget;\n onChange(JSON.parse(element.value));\n };\n\n return (\n <FieldSet label=\"Config\">\n <InlineSwitch\n className={styles.jsonView}\n label=\"JSON View\"\n showLabel\n value={jsonView}\n onChange={() => setJsonView(!jsonView)}\n />\n {jsonView ? (\n <TextArea defaultValue={JSON.stringify(config, null, 2)} rows={7} onChange={onUpdateTextArea} />\n ) : (\n <>\n {schema.fields.map((field) => (\n <InlineField label={field.name} key={field.name} labelWidth={14}>\n {renderInput(field, onChange, config)}\n </InlineField>\n ))}\n </>\n )}\n </FieldSet>\n );\n};\n","import React, { FormEvent, useMemo, useState } from 'react';\nimport { useAsync } from 'react-use';\n\nimport { DataFrameJSON, SelectableValue } from '@grafana/data';\nimport { InlineField, InlineFieldRow, InlineSwitch, Input, Label, Select } from '@grafana/ui';\n\nimport { EditorProps } from '../QueryEditor';\nimport { SimulationQuery } from '../dataquery.gen';\n\nimport { SimulationSchemaForm } from './SimulationSchemaForm';\n\n// Type string `json:\"type\"`\n// Name string `json:\"name\"`\n// Description string `json:\"description\"`\n// OnlyForward bool `json:\"forward\"`\n// ConfigFields *data.Frame `json:\"config\"`\n\ninterface SimInfo {\n type: string;\n name: string;\n description: string;\n forward: boolean;\n config: DataFrameJSON;\n}\n\nexport const SimulationQueryEditor = ({ onChange, query, ds }: EditorProps) => {\n const simQuery = query.sim ?? ({} as SimulationQuery);\n const simKey = simQuery.key ?? {};\n // keep track of updated config state to pass down to form\n const [cfgValue, setCfgValue] = useState<Record<string, any>>({});\n\n // This only changes once\n const info = useAsync(async () => {\n const v = await ds.getResource<SimInfo[]>('sims');\n return {\n sims: v,\n options: v.map((s) => ({ label: s.name, value: s.type, description: s.description })),\n };\n }, [ds]);\n\n const current = useMemo(() => {\n const type = simKey.type;\n if (!type || !info.value) {\n return {};\n }\n return {\n details: info.value.sims.find((v) => v.type === type),\n option: info.value.options.find((v) => v.value === type),\n };\n }, [info.value, simKey?.type]);\n\n let config = useAsync(async () => {\n let path = simKey.type + '/' + simKey.tick + 'hz';\n if (simKey.uid) {\n path += '/' + simKey.uid;\n }\n let config = (await ds.getResource('sim/' + path))?.config;\n setCfgValue(config.value);\n return config;\n }, [simKey.type, simKey.tick, simKey.uid]);\n\n const onUpdateKey = (key: typeof simQuery.key) => {\n onChange({ ...query, sim: { ...simQuery, key } });\n };\n\n const onUIDChanged = (e: FormEvent<HTMLInputElement>) => {\n const { value } = e.currentTarget;\n onUpdateKey({ ...simKey, uid: value ?? undefined });\n };\n\n const onTickChanged = (e: FormEvent<HTMLInputElement>) => {\n const tick = e.currentTarget.valueAsNumber;\n onUpdateKey({ ...simKey, tick });\n };\n\n const onTypeChange = (v: SelectableValue<string>) => {\n onUpdateKey({ ...simKey, type: v.value! });\n };\n\n const onToggleStream = () => {\n onChange({ ...query, sim: { ...simQuery, stream: !simQuery.stream } });\n };\n\n const onToggleLast = () => {\n onChange({ ...query, sim: { ...simQuery, last: !simQuery.last } });\n };\n\n const onSchemaFormChange = (config: Record<string, any>) => {\n let path = simKey.type + '/' + simKey.tick + 'hz';\n if (simKey.uid) {\n path += '/' + simKey.uid;\n }\n ds.postResource<SimInfo>('sim/' + path, config).then((res) => {\n setCfgValue(res.config);\n });\n };\n return (\n <>\n <InlineFieldRow>\n <InlineField labelWidth={14} label=\"Simulation\" tooltip=\"\">\n <Select\n isLoading={info.loading}\n options={info.value?.options ?? []}\n value={current.option}\n onChange={onTypeChange}\n width={32}\n />\n </InlineField>\n </InlineFieldRow>\n <InlineFieldRow>\n <InlineField labelWidth={14} label=\"Stream\" tooltip=\"connect to the live channel\">\n <InlineSwitch value={Boolean(simQuery.stream)} onChange={onToggleStream} />\n </InlineField>\n\n <InlineField label=\"Interval\" tooltip=\"the rate a simulation will spit out events\">\n <Input\n width={10}\n type=\"number\"\n value={simKey.tick}\n onChange={onTickChanged}\n min={1 / 10}\n max={50}\n suffix=\"hz\"\n />\n </InlineField>\n\n <InlineField label=\"Last\" tooltip=\"Only return the last value\">\n <Label>\n <InlineSwitch value={Boolean(simQuery.last)} onChange={onToggleLast} />\n </Label>\n </InlineField>\n <InlineField label=\"UID\" tooltip=\"A UID will allow multiple simulations to run at the same time\">\n <Input type=\"text\" placeholder=\"optional\" value={simQuery.key.uid} onChange={onUIDChanged} />\n </InlineField>\n </InlineFieldRow>\n <SimulationSchemaForm\n onChange={onSchemaFormChange}\n config={cfgValue ?? config.value}\n schema={current.details?.config.schema ?? { fields: [] }}\n />\n </>\n );\n};\n","import React from 'react';\n\nimport { SelectableValue } from '@grafana/data';\nimport { InlineFieldRow, InlineField, Select, MultiSelect, Input } from '@grafana/ui';\n\nimport { USAQuery } from '../dataquery.gen';\n\nexport interface Props {\n onChange: (value: USAQuery) => void;\n query: USAQuery;\n}\n\nexport function USAQueryEditor({ query, onChange }: Props) {\n return (\n <>\n <InlineFieldRow>\n <InlineField labelWidth={14} label=\"Mode\">\n <Select\n options={usaQueryModes}\n onChange={(v) => {\n onChange({ ...query, mode: v.value });\n }}\n width={32}\n value={usaQueryModes.find((ep) => ep.value === query.mode)}\n />\n </InlineField>\n <InlineField label=\"Period\">\n <Input\n value={query.period}\n placeholder={'30m'}\n onChange={(v) => {\n onChange({ ...query, period: v.currentTarget.value });\n }}\n />\n </InlineField>\n </InlineFieldRow>\n <InlineFieldRow>\n <InlineField labelWidth={14} label=\"Fields\">\n <MultiSelect\n options={fieldNames}\n onChange={(vals: SelectableValue[]) => {\n onChange({ ...query, fields: vals.map((v) => v.value) });\n }}\n width={32}\n placeholder=\"all\"\n value={query.fields}\n />\n </InlineField>\n <InlineField label=\"States\" grow>\n <MultiSelect\n options={stateNames}\n onChange={(vals: SelectableValue[]) => {\n onChange({ ...query, states: vals.map((v) => v.value) });\n }}\n placeholder=\"all\"\n value={query.states}\n />\n </InlineField>\n </InlineFieldRow>\n </>\n );\n}\n\nexport const usaQueryModes = [\n 'values-as-rows',\n 'values-as-fields',\n 'values-as-labeled-fields',\n 'timeseries',\n 'timeseries-wide',\n].map((f) => ({ label: f, value: f }));\n\nexport const fieldNames = [\n 'foo',\n 'bar',\n 'baz', // all short\n].map((f) => ({ label: f, value: f }));\n\nexport const stateNames = [\n 'AL',\n 'AK',\n 'AZ',\n 'AR',\n 'CA',\n 'CO',\n 'CT',\n 'DE',\n 'DC',\n 'FL',\n 'GA',\n 'HI',\n 'ID',\n 'IL',\n 'IN',\n 'IA',\n 'KS',\n 'KY',\n 'LA',\n 'ME',\n 'MT',\n 'NE',\n 'NV',\n 'NH',\n 'NJ',\n 'NM',\n 'NY',\n 'NC',\n 'ND',\n 'OH',\n 'OK',\n 'OR',\n 'MD',\n 'MA',\n 'MI',\n 'MN',\n 'MS',\n 'MO',\n 'PA',\n 'RI',\n 'SC',\n 'SD',\n 'TN',\n 'TX',\n 'UT',\n 'VT',\n 'VA',\n 'WA',\n 'WV',\n 'WI',\n 'WY',\n].map((f) => ({ label: f, value: f }));\n","import { LogLevel } from '@grafana/data';\n\nlet index = 0;\n\nexport function getRandomLogLevel(): LogLevel {\n const v = Math.random();\n if (v > 0.9) {\n return LogLevel.critical;\n }\n if (v > 0.8) {\n return LogLevel.error;\n }\n if (v > 0.7) {\n return LogLevel.warning;\n }\n if (v > 0.4) {\n return LogLevel.info;\n }\n if (v > 0.3) {\n return LogLevel.debug;\n }\n if (v > 0.1) {\n return LogLevel.trace;\n }\n return LogLevel.unknown;\n}\n\nexport function getNextWord() {\n index = (index + Math.floor(Math.random() * 5)) % words.length;\n return words[index];\n}\n\nexport function getRandomLine(length = 60) {\n let line = getNextWord();\n while (line.length < length) {\n line += ' ' + getNextWord();\n }\n return line;\n}\n\nconst words = [\n 'At',\n 'vero',\n 'eos',\n 'et',\n 'accusamus',\n 'et',\n 'iusto',\n 'odio',\n 'dignissimos',\n 'ducimus',\n 'qui',\n 'blanditiis',\n 'praesentium',\n 'voluptatum',\n 'deleniti',\n 'atque',\n 'corrupti',\n 'quos',\n 'dolores',\n 'et',\n 'quas',\n 'molestias',\n 'excepturi',\n 'sint',\n 'occaecati',\n 'cupiditate',\n 'non',\n 'provident',\n 'similique',\n 'sunt',\n 'in',\n 'culpa',\n 'qui',\n 'officia',\n 'deserunt',\n 'mollitia',\n 'animi',\n 'id',\n 'est',\n 'laborum',\n 'et',\n 'dolorum',\n 'fuga',\n 'Et',\n 'harum',\n 'quidem',\n 'rerum',\n 'facilis',\n 'est',\n 'et',\n 'expedita',\n 'distinctio',\n 'Nam',\n 'libero',\n 'tempore',\n 'cum',\n 'soluta',\n 'nobis',\n 'est',\n 'eligendi',\n 'optio',\n 'cumque',\n 'nihil',\n 'impedit',\n 'quo',\n 'minus',\n 'id',\n 'quod',\n 'maxime',\n 'placeat',\n 'facere',\n 'possimus',\n 'omnis',\n 'voluptas',\n 'assumenda',\n 'est',\n 'omnis',\n 'dolor',\n 'repellendus',\n 'Temporibus',\n 'autem',\n 'quibusdam',\n 'et',\n 'aut',\n 'officiis',\n 'debitis',\n 'aut',\n 'rerum',\n 'necessitatibus',\n 'saepe',\n 'eveniet',\n 'ut',\n 'et',\n 'voluptates',\n 'repudiandae',\n 'sint',\n 'et',\n 'molestiae',\n 'non',\n 'recusandae',\n 'Itaque',\n 'earum',\n 'rerum',\n 'hic',\n 'tenetur',\n 'a',\n 'sapiente',\n 'delectus',\n 'ut',\n 'aut',\n 'reiciendis',\n 'voluptatibus',\n 'maiores',\n 'alias',\n 'consequatur',\n 'aut',\n 'perferendis',\n 'doloribus',\n 'asperiores',\n 'repellat',\n];\n","import { defaults } from 'lodash';\nimport { Observable } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\n\nimport {\n DataQueryRequest,\n DataQueryResponse,\n FieldType,\n CircularDataFrame,\n CSVReader,\n Field,\n LoadingState,\n DataFrameSchema,\n DataFrameData,\n StreamingDataFrame,\n createDataFrame,\n addRow,\n getDisplayProcessor,\n createTheme,\n} from '@grafana/data';\n\nimport { getRandomLine } from './LogIpsum';\nimport { TestData, StreamingQuery } from './dataquery.gen';\n\nexport const defaultStreamQuery: StreamingQuery = {\n type: 'signal',\n speed: 250, // ms\n spread: 3.5,\n noise: 2.2,\n bands: 1,\n};\n\nexport function runStream(target: TestData, req: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const query = defaults(target.stream, defaultStreamQuery);\n switch (query.type) {\n case 'signal':\n return runSignalStream(target, query, req);\n case 'logs':\n return runLogsStream(target, query, req);\n case 'fetch':\n return runFetchStream(target, query, req);\n case 'traces':\n return runTracesStream(target, query, req);\n }\n throw new Error(`Unknown Stream Type: ${query.type}`);\n}\n\nexport function runSignalStream(\n target: TestData,\n query: StreamingQuery,\n req: DataQueryRequest<TestData>\n): Observable<DataQueryResponse> {\n return new Observable<DataQueryResponse>((subscriber) => {\n const streamId = `signal-${req.panelId || 'explore'}-${target.refId}`;\n const maxDataPoints = req.maxDataPoints || 1000;\n\n const schema: DataFrameSchema = {\n refId: target.refId,\n fields: [\n { name: 'time', type: FieldType.time },\n { name: target.alias ?? 'value', type: FieldType.number },\n ],\n };\n\n const { spread, speed, bands = 0, noise } = query;\n for (let i = 0; i < bands; i++) {\n const suffix = bands > 1 ? ` ${i + 1}` : '';\n schema.fields.push({ name: 'Min' + suffix, type: FieldType.number });\n schema.fields.push({ name: 'Max' + suffix, type: FieldType.number });\n }\n\n const frame = StreamingDataFrame.fromDataFrameJSON({ schema }, { maxLength: maxDataPoints });\n\n let value = Math.random() * 100;\n let timeoutId: ReturnType<typeof setTimeout>;\n let lastSent = -1;\n\n const addNextRow = (time: number) => {\n value += (Math.random() - 0.5) * spread;\n\n const data: DataFrameData = {\n values: [[time], [value]],\n };\n\n let min = value;\n let max = value;\n\n for (let i = 0; i < bands; i++) {\n min = min - Math.random() * noise;\n max = max + Math.random() * noise;\n\n data.values.push([min]);\n data.values.push([max]);\n }\n\n const event = { data };\n return frame.push(event);\n };\n\n // Fill the buffer on init\n if (true) {\n let time = Date.now() - maxDataPoints * speed;\n for (let i = 0; i < maxDataPoints; i++) {\n addNextRow(time);\n time += speed;\n }\n }\n\n const pushNextEvent = () => {\n lastSent = Date.now();\n addNextRow(lastSent);\n subscriber.next({\n data: [frame],\n key: streamId,\n state: LoadingState.Streaming,\n });\n timeoutId = setTimeout(pushNextEvent, speed);\n };\n\n // Send first event in 5ms\n setTimeout(pushNextEvent, 5);\n\n return () => {\n console.log('unsubscribing to stream ' + streamId);\n clearTimeout(timeoutId);\n };\n });\n}\n\nexport function runLogsStream(\n target: TestData,\n query: StreamingQuery,\n req: DataQueryRequest<TestData>\n): Observable<DataQueryResponse> {\n return new Observable<DataQueryResponse>((subscriber) => {\n const streamId = `logs-${req.panelId || 'explore'}-${target.refId}`;\n const maxDataPoints = req.maxDataPoints || 1000;\n\n const data = new CircularDataFrame({\n append: 'tail',\n capacity: maxDataPoints,\n });\n data.refId = target.refId;\n data.name = target.alias || 'Logs ' + target.refId;\n data.addField({ name: 'line', type: FieldType.string });\n data.addField({ name: 'time', type: FieldType.time });\n data.meta = { preferredVisualisationType: 'logs' };\n\n const { speed } = query;\n\n let timeoutId: ReturnType<typeof setTimeout>;\n\n const pushNextEvent = () => {\n data.fields[0].values.push(getRandomLine());\n data.fields[1].values.push(Date.now());\n\n subscriber.next({\n data: [data],\n key: streamId,\n state: LoadingState.Streaming,\n });\n\n timeoutId = setTimeout(pushNextEvent, speed);\n };\n\n // Send first event in 5ms\n setTimeout(pushNextEvent, 5);\n\n return () => {\n console.log('unsubscribing to stream ' + streamId);\n clearTimeout(timeoutId);\n };\n });\n}\n\nexport function runFetchStream(\n target: TestData,\n query: StreamingQuery,\n req: DataQueryRequest<TestData>\n): Observable<DataQueryResponse> {\n return new Observable<DataQueryResponse>((subscriber) => {\n const streamId = `fetch-${req.panelId || 'explore'}-${target.refId}`;\n const maxDataPoints = req.maxDataPoints || 1000;\n\n let data = new CircularDataFrame({\n append: 'tail',\n capacity: maxDataPoints,\n });\n data.refId = target.refId;\n data.name = target.alias || 'Fetch ' + target.refId;\n\n let reader: ReadableStreamDefaultReader<Uint8Array>;\n const csv = new CSVReader({\n callback: {\n onHeader: (fields: Field[]) => {\n // Clear any existing fields\n if (data.fields.length) {\n data = new CircularDataFrame({\n append: 'tail',\n capacity: maxDataPoints,\n });\n data.refId = target.refId;\n data.name = 'Fetch ' + target.refId;\n }\n for (const field of fields) {\n data.addField(field);\n }\n },\n onRow: (row) => {\n data.add(row);\n },\n },\n });\n\n const processChunk = (value: ReadableStreamReadResult<Uint8Array>): any => {\n if (value.value) {\n const text = new TextDecoder().decode(value.value);\n csv.readCSV(text);\n }\n\n subscriber.next({\n data: [data],\n key: streamId,\n state: value.done ? LoadingState.Done : LoadingState.Streaming,\n });\n\n if (value.done) {\n console.log('Finished stream');\n subscriber.complete(); // necessary?\n return;\n }\n\n return reader.read().then(processChunk);\n };\n\n if (!query.url) {\n throw new Error('query.url is not defined');\n }\n\n fetch(new Request(query.url)).then((response) => {\n if (response.body) {\n reader = response.body.getReader();\n reader.read().then(processChunk);\n }\n });\n\n return () => {\n // Cancel fetch?\n console.log('unsubscribing to stream ' + streamId);\n };\n });\n}\n\nexport function runTracesStream(\n target: TestData,\n query: StreamingQuery,\n req: DataQueryRequest<TestData>\n): Observable<DataQueryResponse> {\n return new Observable<DataQueryResponse>((subscriber) => {\n const streamId = `traces-${req.panelId || 'explore'}-${target.refId}`;\n const data = createMainTraceFrame(target, req.maxDataPoints);\n let timeoutId: ReturnType<typeof setTimeout>;\n\n const pushNextEvent = () => {\n const subframe = createTraceSubFrame();\n addRow(subframe, [uuidv4(), Date.now(), 'Grafana', 1500]);\n addRow(data, [uuidv4(), Date.now(), 'Grafana', 'HTTP GET /explore', 1500, [subframe]]);\n\n subscriber.next({\n data: [data],\n key: streamId,\n state: LoadingState.Streaming,\n });\n\n timeoutId = setTimeout(pushNextEvent, query.speed);\n };\n\n // Send first event in 5ms\n setTimeout(pushNextEvent, 5);\n\n return () => {\n console.log('unsubscribing to stream ' + streamId);\n clearTimeout(timeoutId);\n };\n });\n}\n\nfunction createMainTraceFrame(target: TestData, maxDataPoints = 1000) {\n const data = new CircularDataFrame({\n append: 'head',\n capacity: maxDataPoints,\n });\n data.refId = target.refId;\n data.name = target.alias || 'Traces ' + target.refId;\n data.addField({ name: 'TraceID', type: FieldType.string });\n data.addField({ name: 'Start time', type: FieldType.time });\n data.addField({ name: 'Service', type: FieldType.string });\n data.addField({ name: 'Name', type: FieldType.string });\n data.addField({ name: 'Duration', type: FieldType.number, config: { unit: 'ms' } });\n data.addField({ name: 'nested', type: FieldType.nestedFrames });\n data.meta = {\n preferredVisualisationType: 'table',\n uniqueRowIdFields: [0],\n };\n return data;\n}\n\nfunction createTraceSubFrame() {\n const frame = createDataFrame({\n fields: [\n { name: 'SpanID', type: FieldType.string },\n { name: 'Start time', type: FieldType.time },\n { name: 'service.name', type: FieldType.string },\n { name: 'duration', type: FieldType.number },\n ],\n });\n\n // TODO: this should be removed later but right now there is an issue that applyFieldOverrides does not consider\n // nested frames.\n for (const f of frame.fields) {\n f.display = getDisplayProcessor({ field: f, theme });\n }\n return frame;\n}\n\nconst theme = createTheme();\n","import React, { FormEvent, useMemo } from 'react';\nimport { useAsync } from 'react-use';\n\nimport { QueryEditorProps, SelectableValue } from '@grafana/data';\nimport { selectors as editorSelectors } from '@grafana/e2e-selectors';\nimport { InlineField, InlineFieldRow, InlineSwitch, Input, Select, Icon, TextArea } from '@grafana/ui';\n\nimport { RandomWalkEditor, StreamingClientEditor } from './components';\nimport { CSVContentEditor } from './components/CSVContentEditor';\nimport { CSVFileEditor } from './components/CSVFileEditor';\nimport { CSVWavesEditor } from './components/CSVWaveEditor';\nimport ErrorEditor from './components/ErrorEditor';\nimport { GrafanaLiveEditor } from './components/GrafanaLiveEditor';\nimport { NodeGraphEditor } from './components/NodeGraphEditor';\nimport { PredictablePulseEditor } from './components/PredictablePulseEditor';\nimport { RawFrameEditor } from './components/RawFrameEditor';\nimport { SimulationQueryEditor } from './components/SimulationQueryEditor';\nimport { USAQueryEditor, usaQueryModes } from './components/USAQueryEditor';\nimport { defaultCSVWaveQuery, defaultPulseQuery, defaultQuery } from './constants';\nimport { CSVWave, NodesQuery, TestData, TestDataQueryType, USAQuery } from './dataquery.gen';\nimport { TestDataDataSource } from './datasource';\nimport { defaultStreamQuery } from './runStreams';\n\nconst endpoints = [\n { value: 'datasources', label: 'Data Sources' },\n { value: 'search', label: 'Search' },\n { value: 'annotations', label: 'Annotations' },\n];\n\nconst selectors = editorSelectors.components.DataSource.TestData.QueryTab;\n\nexport interface EditorProps {\n onChange: (value: any) => void;\n query: TestData;\n ds: TestDataDataSource;\n}\n\nexport type Props = QueryEditorProps<TestDataDataSource, TestData>;\n\nexport const QueryEditor = ({ query, datasource, onChange, onRunQuery }: Props) => {\n query = { ...defaultQuery, ...query };\n\n const { loading, value: scenarioList } = useAsync(async () => {\n // migrate manual_entry (unusable since 7, removed in 8)\n if (query.scenarioId === TestDataQueryType.ManualEntry && query.points) {\n let csvContent = 'Time,Value\\n';\n for (const point of query.points) {\n csvContent += `${point[1]},${point[0]}\\n`;\n }\n onChange({\n refId: query.refId,\n datasource: query.datasource,\n scenarioId: TestDataQueryType.CSVContent,\n csvContent,\n });\n }\n\n const vals = await datasource.getScenarios();\n const hideAlias = [TestDataQueryType.Simulation, TestDataQueryType.Annotations];\n return vals.map((v) => ({\n ...v,\n hideAliasField: hideAlias.includes(v.id as TestDataQueryType),\n }));\n }, []);\n\n const onUpdate = (query: TestData) => {\n onChange(query);\n onRunQuery();\n };\n\n const currentScenario = useMemo(\n () => scenarioList?.find((scenario) => scenario.id === query.scenarioId),\n [scenarioList, query]\n );\n const scenarioId = currentScenario?.id;\n const description = currentScenario?.description;\n\n const onScenarioChange = (item: SelectableValue<string>) => {\n const scenario = scenarioList?.find((sc) => sc.id === item.value);\n\n if (!scenario) {\n return;\n }\n\n // Clear model from existing props that belong to other scenarios\n const update: TestData = {\n scenarioId: item.value! as TestDataQueryType,\n refId: query.refId,\n alias: query.alias,\n datasource: query.datasource,\n };\n\n if (scenario.stringInput) {\n update.stringInput = scenario.stringInput;\n }\n\n switch (scenario.id) {\n case TestDataQueryType.GrafanaAPI:\n update.stringInput = 'datasources';\n break;\n case TestDataQueryType.StreamingClient:\n update.stream = defaultStreamQuery;\n break;\n case TestDataQueryType.Live:\n update.channel = 'random-2s-stream'; // default stream\n break;\n case TestDataQueryType.Simulation:\n update.sim = { key: { type: 'flight', tick: 10 } }; // default stream\n break;\n case TestDataQueryType.PredictablePulse:\n update.pulseWave = defaultPulseQuery;\n break;\n case TestDataQueryType.PredictableCSVWave:\n update.csvWave = defaultCSVWaveQuery;\n break;\n case TestDataQueryType.Annotations:\n update.lines = 10;\n break;\n case TestDataQueryType.USA:\n update.usa = {\n mode: usaQueryModes[0].value,\n };\n }\n\n onUpdate(update);\n };\n\n const onInputChange = (e: FormEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n const { name, value, type } = e.currentTarget;\n let newValue: string | number | boolean = value;\n\n if (type === 'number') {\n newValue = Number(value);\n }\n\n if (name === 'levelColumn' && e.currentTarget instanceof HTMLInputElement) {\n newValue = e.currentTarget.checked;\n }\n\n onUpdate({ ...query, [name]: newValue });\n };\n\n const onFieldChange = (field: string) => (e: { target: { name: string; value: string; type: string } }) => {\n const { name, value, type } = e.target;\n let newValue: string | number = value;\n\n if (type === 'number') {\n newValue = Number(value);\n }\n\n onUpdate({ ...query, [field]: { ...(query as any)[field], [name]: newValue } });\n };\n\n const onEndPointChange = ({ value }: SelectableValue) => {\n onUpdate({ ...query, stringInput: value });\n };\n\n const onStreamClientChange = onFieldChange('stream');\n const onPulseWaveChange = onFieldChange('pulseWave');\n const onUSAStatsChange = (usa?: USAQuery) => {\n onUpdate({ ...query, usa });\n };\n\n const onCSVWaveChange = (csvWave?: CSVWave[]) => {\n onUpdate({ ...query, csvWave });\n };\n\n const options = useMemo(\n () =>\n (scenarioList || [])\n .map((item) => ({ label: item.name, value: item.id }))\n .sort((a, b) => a.label.localeCompare(b.label)),\n [scenarioList]\n );\n\n // Common options that can be added to various scenarios\n const show = useMemo(() => {\n const scenarioId = query.scenarioId ?? '';\n return {\n labels: ['random_walk', 'predictable_pulse'].includes(scenarioId),\n dropPercent: ['csv_content', 'csv_file'].includes(scenarioId),\n };\n }, [query?.scenarioId]);\n\n if (loading) {\n return null;\n }\n\n return (\n <>\n <InlineFieldRow aria-label={selectors.scenarioSelectContainer}>\n <InlineField labelWidth={14} label=\"Scenario\">\n <Select\n inputId={`test-data-scenario-select-${query.refId}`}\n options={options}\n value={options.find((item) => item.value === query.scenarioId)}\n onChange={onScenarioChange}\n width={32}\n />\n </InlineField>\n {currentScenario?.stringInput && (\n <InlineField label=\"String Input\">\n <Input\n width={32}\n id={`stringInput-${query.refId}`}\n name=\"stringInput\"\n placeholder={query.stringInput}\n value={query.stringInput}\n onChange={onInputChange}\n />\n </InlineField>\n )}\n {Boolean(!currentScenario?.hideAliasField) && (\n <InlineField label=\"Alias\" labelWidth={14}>\n <Input\n width={32}\n id={`alias-${query.refId}`}\n type=\"text\"\n placeholder=\"optional\"\n pattern='[^<>&\\\\\"]+'\n name=\"alias\"\n value={query.alias}\n onChange={onInputChange}\n />\n </InlineField>\n )}\n {show.dropPercent && (\n <InlineField label=\"Drop\" tooltip={'Drop a random set of points'}>\n <Input\n type=\"number\"\n min={0}\n max={100}\n step={5}\n width={8}\n onChange={onInputChange}\n name=\"dropPercent\"\n placeholder=\"0\"\n value={query.dropPercent}\n suffix={<Icon name=\"percentage\" />}\n />\n </InlineField>\n )}\n {show.labels && (\n <InlineField\n label=\"Labels\"\n labelWidth={14}\n tooltip={\n <>\n Set labels using a key=value syntax:\n <br />\n {`{ key = \"value\", key2 = \"value\" }`}\n <br />\n key="value", key2="value"\n <br />\n key=value, key2=value\n <br />\n Value can contain templates:\n <br />\n $seriesIndex - replaced with index of the series\n </>\n }\n >\n <Input\n width={32}\n id={`labels-${query.refId}`}\n name=\"labels\"\n onChange={onInputChange}\n value={query?.labels}\n placeholder=\"key=value, key2=value2\"\n />\n </InlineField>\n )}\n </InlineFieldRow>\n\n {scenarioId === TestDataQueryType.RandomWalk && (\n <RandomWalkEditor onChange={onInputChange} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.StreamingClient && (\n <StreamingClientEditor onChange={onStreamClientChange} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.Live && <GrafanaLiveEditor onChange={onUpdate} query={query} ds={datasource} />}\n {scenarioId === TestDataQueryType.Simulation && (\n <SimulationQueryEditor onChange={onUpdate} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.RawFrame && (\n <RawFrameEditor onChange={onUpdate} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.CSVFile && <CSVFileEditor onChange={onUpdate} query={query} ds={datasource} />}\n {scenarioId === TestDataQueryType.CSVContent && (\n <CSVContentEditor onChange={onUpdate} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.Logs && (\n <InlineFieldRow>\n <InlineField label=\"Lines\" labelWidth={14}>\n <Input\n type=\"number\"\n name=\"lines\"\n value={query.lines}\n width={32}\n onChange={onInputChange}\n placeholder=\"10\"\n />\n </InlineField>\n <InlineField label=\"Level\" labelWidth={14}>\n <InlineSwitch onChange={onInputChange} name=\"levelColumn\" value={!!query.levelColumn} />\n </InlineField>\n </InlineFieldRow>\n )}\n {scenarioId === TestDataQueryType.Annotations && (\n <InlineFieldRow>\n <InlineField label=\"Count\" labelWidth={14}>\n <Input\n type=\"number\"\n name=\"lines\"\n value={query.lines}\n width={32}\n onChange={onInputChange}\n placeholder=\"10\"\n />\n </InlineField>\n </InlineFieldRow>\n )}\n {scenarioId === TestDataQueryType.USA && <USAQueryEditor onChange={onUSAStatsChange} query={query.usa ?? {}} />}\n {scenarioId === TestDataQueryType.GrafanaAPI && (\n <InlineField labelWidth={14} label=\"Endpoint\">\n <Select\n options={endpoints}\n onChange={onEndPointChange}\n width={32}\n value={endpoints.find((ep) => ep.value === query.stringInput)}\n />\n </InlineField>\n )}\n\n {scenarioId === TestDataQueryType.Arrow && (\n <InlineField grow>\n <TextArea\n name=\"stringInput\"\n value={query.stringInput}\n rows={10}\n placeholder=\"Copy base64 text data from query result\"\n onChange={onInputChange}\n />\n </InlineField>\n )}\n\n {scenarioId === TestDataQueryType.FlameGraph && (\n <InlineField label={'Diff profile'} grow>\n <InlineSwitch\n value={Boolean(query.flamegraphDiff)}\n onChange={(e) => {\n onUpdate({ ...query, flamegraphDiff: e.currentTarget.checked });\n }}\n />\n </InlineField>\n )}\n\n {scenarioId === TestDataQueryType.PredictablePulse && (\n <PredictablePulseEditor onChange={onPulseWaveChange} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.PredictableCSVWave && (\n <CSVWavesEditor onChange={onCSVWaveChange} waves={query.csvWave} />\n )}\n {scenarioId === TestDataQueryType.NodeGraph && (\n <NodeGraphEditor onChange={(val: NodesQuery) => onChange({ ...query, nodes: val })} query={query} />\n )}\n {scenarioId === TestDataQueryType.ServerError500 && (\n <ErrorEditor onChange={onUpdate} query={query} ds={datasource} />\n )}\n {scenarioId === TestDataQueryType.Trace && (\n <InlineField labelWidth={14} label=\"Span count\">\n <Input\n type=\"number\"\n name=\"spanCount\"\n value={query.spanCount}\n width={32}\n onChange={onInputChange}\n placeholder=\"10\"\n />\n </InlineField>\n )}\n\n {description && <p>{description}</p>}\n </>\n );\n};\n","// Libraries\nimport React, { PureComponent } from 'react';\n\nimport { PluginConfigPageProps, DataSourcePluginMeta, DataSourceJsonData } from '@grafana/data';\nimport { LinkButton } from '@grafana/ui';\n\n// Types\n\ninterface Props extends PluginConfigPageProps<DataSourcePluginMeta<DataSourceJsonData>> {}\n\nexport class TestInfoTab extends PureComponent<Props> {\n constructor(props: Props) {\n super(props);\n }\n\n render() {\n return (\n <div>\n See github for more information about setting up a reproducible test environment.\n <br />\n <br />\n <LinkButton\n variant=\"secondary\"\n href=\"https://github.com/grafana/grafana/tree/main/devenv\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n GitHub\n </LinkButton>\n <br />\n </div>\n );\n }\n}\n","export interface TreeNode {\n name: string;\n children: TreeNode[];\n}\n\n/*\n * Builds a nested tree like\n * [\n * {\n * name: 'A',\n * children: [\n * { name: 'AA', children: [] },\n * { name: 'AB', children: [] },\n * ]\n * }\n * ]\n */\nfunction buildMetricTree(parent: string, depth: number): TreeNode[] {\n const chars = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'];\n const children: TreeNode[] = [];\n\n if (depth > 5) {\n return [];\n }\n\n for (const letter of chars) {\n const nodeName = `${parent}${letter}`;\n children.push({\n name: nodeName,\n children: buildMetricTree(nodeName, depth + 1),\n });\n }\n\n return children;\n}\n\nfunction queryTree(children: TreeNode[], query: string[], queryIndex: number): TreeNode[] {\n if (queryIndex >= query.length) {\n return children;\n }\n\n if (query[queryIndex] === '*') {\n return children;\n }\n\n const nodeQuery = query[queryIndex];\n let result: TreeNode[] = [];\n let namesToMatch = [nodeQuery];\n\n // handle glob queries\n if (nodeQuery.startsWith('{')) {\n namesToMatch = nodeQuery.replace(/\\{|\\}/g, '').split(',');\n }\n\n for (const node of children) {\n for (const nameToMatch of namesToMatch) {\n if (nameToMatch.indexOf('*') !== -1) {\n const pattern = nameToMatch.replace('*', '');\n const regex = new RegExp(`^${pattern}.*`, 'gi');\n if (regex.test(node.name)) {\n result = result.concat(queryTree([node], query, queryIndex + 1));\n }\n } else if (node.name === nameToMatch) {\n result = result.concat(queryTree(node.children, query, queryIndex + 1));\n }\n }\n }\n\n return result;\n}\n\nexport function queryMetricTree(query: string): TreeNode[] {\n if (query.indexOf('value') === 0) {\n return [{ name: query, children: [] }];\n }\n\n const children = buildMetricTree('', 0);\n return queryTree(children, query.split('.'), 0);\n}\n","import { FieldColorModeId, FieldType, NodeGraphDataFrameFieldNames } from '@grafana/data';\n\nexport const nodes = {\n fields: [\n {\n name: NodeGraphDataFrameFieldNames.id,\n type: FieldType.string,\n config: {\n links: [\n {\n title: 'Traces/All',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'service(id(name: \"${__data.fields.name}\", type: \"${__data.fields.type}\"))',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/OK',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'service(id(name: \"${__data.fields.name}\", type: \"${__data.fields.type}\")) { ok = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/Errors',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'service(id(name: \"${__data.fields.name}\", type: \"${__data.fields.type}\")) { error = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/Faults',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'service(id(name: \"${__data.fields.name}\", type: \"${__data.fields.type}\")) { fault = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n ],\n },\n values: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16],\n },\n {\n name: NodeGraphDataFrameFieldNames.title,\n type: FieldType.string,\n config: { displayName: 'Name' },\n values: [\n 'auth',\n 'products',\n 'customers',\n 'orders',\n 'products',\n 'orders',\n 'api',\n 'shipping',\n 'orders',\n 'execute-api',\n 'shipping',\n 'www',\n 'api',\n 'www',\n 'products',\n 'test-client',\n 'test-api',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.subTitle,\n type: FieldType.string,\n config: { displayName: 'Type' },\n values: [\n 'Compute',\n 'SQL',\n 'SQL',\n 'SQL',\n 'remote',\n 'Function',\n 'Compute',\n 'Function',\n 'Function',\n 'remote',\n 'Function',\n 'Compute',\n 'client',\n 'client',\n 'Compute',\n 'ephemeral',\n 'ephemeral-api',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.mainStat,\n type: FieldType.number,\n config: { unit: 'ms/t', displayName: 'Average response time' },\n values: [\n 3.5394042646735553, 15.906441318223264, 4.913011921591567, 7.4163203042094095, 1092, 22.85961441405067,\n 56.135855729084696, 4.45946191601527, 12.818300278280843, 4.25, 12.565442646791492, 77.63447512700567,\n 40.387096774193544, 77.63447512700567, 27.648950187374872, 77.63447512700567, 27.648950187374872,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.secondaryStat,\n type: FieldType.number,\n config: { unit: 't/min', displayName: 'Transactions per minute' },\n values: [\n 50.56317154501667, 682.4, 512.8416666666667, 125.64444444444445, 0.005585812037424941, 137.59722222222223,\n 300.0527777777778, 30.582348853370394, 125.77222222222223, 0.028706417080318163, 30.582348853370394, 165.675,\n 0.100021510002151, 165.675, 162.33055555555555, 165.675, 162.33055555555555,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.arc + 'success',\n type: FieldType.number,\n config: { color: { mode: FieldColorModeId.Fixed, fixedColor: 'green' }, displayName: 'Sucesss' },\n values: [\n 0.9338865684765882, 1, 1, 1, 0.5, 1, 0.9901128505170387, 0.9069260134520997, 1, 0, 0.9069260134520997,\n 0.9624432037288534, 0, 0.9624432037288534, 0.9824945669843769, 0.9624432037288534, 0.9824945669843769,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.arc + 'faults',\n type: FieldType.number,\n config: { color: { mode: FieldColorModeId.Fixed, fixedColor: 'red' }, displayName: 'Faults' },\n values: [\n 0, 0, 0, 0, 0.5, 0, 0.009479813736472288, 0, 0, 0, 0, 0.017168821152524185, 0, 0.017168821152524185,\n 0.01750543301562313, 0.017168821152524185, 0.01750543301562313,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.arc + 'errors',\n type: FieldType.number,\n config: { color: { mode: FieldColorModeId.Fixed, fixedColor: 'semi-dark-yellow' }, displayName: 'Errors' },\n values: [\n 0.06611343152341174, 0, 0, 0, 0, 0, 0.0004073357464890436, 0.09307398654790038, 0, 1, 0.09307398654790038,\n 0.02038797511862247, 1, 0.02038797511862247, 0, 0.02038797511862247, 0,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.arc + 'throttled',\n type: FieldType.number,\n config: { color: { mode: FieldColorModeId.Fixed, fixedColor: 'purple' }, displayName: 'Throttled' },\n values: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],\n },\n ],\n meta: { preferredVisualisationType: 'nodeGraph' as const },\n name: 'nodes',\n};\n\nexport const edges = {\n fields: [\n {\n name: NodeGraphDataFrameFieldNames.id,\n type: FieldType.string,\n config: {\n links: [\n {\n title: 'Traces/All',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'edge(\"${__data.fields.sourceName}\", \"${__data.fields.targetName}\")',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/OK',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'edge(\"${__data.fields.sourceName}\", \"${__data.fields.targetName}\") { ok = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/Errors',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'edge(\"${__data.fields.sourceName}\", \"${__data.fields.targetName}\") { error = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n {\n title: 'Traces/Faults',\n url: '',\n internal: {\n query: {\n queryType: 'getTraceSummaries',\n query: 'edge(\"${__data.fields.sourceName}\", \"${__data.fields.targetName}\") { fault = true }',\n },\n datasourceUid: 'Ax4erxHGz',\n datasourceName: 'Trace data source',\n },\n },\n ],\n },\n values: [\n '0__2',\n '5__8',\n '6__0',\n '6__5',\n '6__9',\n '6__2',\n '6__14',\n '6__4',\n '8__3',\n '10__7',\n '11__0',\n '11__6',\n '12__6',\n '13__11',\n '14__1',\n '14__2',\n '14__10',\n '15__16',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.source,\n type: FieldType.string,\n config: {},\n values: [0, 5, 6, 6, 6, 6, 6, 6, 8, 10, 11, 11, 12, 13, 14, 14, 14, 15],\n },\n {\n name: 'sourceName',\n type: FieldType.string,\n config: {},\n values: [\n 'auth',\n 'orders',\n 'api',\n 'api',\n 'api',\n 'api',\n 'api',\n 'api',\n 'orders',\n 'shipping',\n 'www',\n 'www',\n 'api',\n 'www',\n 'products',\n 'products',\n 'products',\n 'test-client',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.target,\n type: FieldType.string,\n config: {},\n values: [2, 8, 0, 5, 9, 2, 14, 4, 3, 7, 0, 6, 6, 11, 1, 2, 10, 16],\n },\n {\n name: 'targetName',\n type: FieldType.string,\n config: {},\n values: [\n 'customers',\n 'orders',\n 'auth',\n 'orders',\n 'execute-api',\n 'customers',\n 'products',\n 'products',\n 'orders',\n 'shipping',\n 'auth',\n 'api',\n 'api',\n 'www',\n 'products',\n 'customers',\n 'shipping',\n 'test-api',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.mainStat,\n type: FieldType.string,\n config: { displayName: 'Response percentage' },\n values: [\n 'Success 100.00%',\n 'Success 100.00%',\n 'Success 100.00%',\n 'Success 100.00%',\n 'Errors 100.00%',\n 'Success 100.00%',\n 'Faults 1.75%',\n 'Faults 50.00%',\n 'Success 100.00%',\n 'Errors 9.31%',\n 'Errors 6.62%',\n 'Faults 1.13%',\n 'Errors 100.00%',\n 'Faults 1.72%',\n 'Success 100.00%',\n 'Success 100.00%',\n 'Faults 9.30%',\n 'Faults 9.30%',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.secondaryStat,\n type: FieldType.number,\n config: { unit: 't/min', displayName: 'Transactions per minute' },\n values: [\n 50.56317154501667, 125.77222222222223, 0.03333333333333333, 137.59722222222223, 0.022222222222222223,\n 299.96666666666664, 162.33055555555555, 0.005555555555555556, 125.64444444444445, 30.582348853370394,\n 50.51111111111111, 299.9166666666667, 0.100021510002151, 165.675, 682.4, 162.33055555555555, 30.558333333333334,\n 30.558333333333334,\n ],\n },\n ],\n meta: { preferredVisualisationType: 'nodeGraph' as const },\n name: 'edges',\n};\n","import { FieldType, NodeGraphDataFrameFieldNames } from '@grafana/data';\n\nexport const nodes = {\n fields: [\n {\n name: NodeGraphDataFrameFieldNames.id,\n type: FieldType.string,\n values: [\n '0',\n 'candycon2000',\n 'pantry-summary',\n 'compute-splines-api',\n 'send-notification',\n 'popcorn-distributor',\n 'caramel-gateway',\n 'candy-distributor',\n 'candy-query-frontend',\n 'candy-ruler',\n 'candy-querier',\n 'candy-chocolate-querier',\n 'candy-backend',\n 'candy-read',\n 'candy-write',\n 'popcorn-backend',\n 'popcorn-query-frontend',\n 'proxy-reads',\n 'proxy-gateway',\n 'proxy-writes',\n 'dentist',\n 'fudge-proxy-gateway',\n 'candy-admin-api',\n 'candy-disposer',\n 'candy-ingester',\n 'candy-gateway',\n 'candy-chocolate-write-proxy',\n 'candy-store-gateway',\n 'popcorn-querier',\n 'candy-query-scheduler',\n 'api',\n 'controller',\n 'gateway',\n 'db',\n 'marshmallow-popcorn-plugin',\n 'eggnog-query',\n 'licorice-ingester',\n 'licorice-distributor',\n 'licorice-gateway',\n 'licorice-querier',\n 'licorice-query-frontend',\n 'licorice-ruler',\n 'licorice-read',\n 'licorice-write',\n 'licorice-sugar-gateway',\n 'licorice-query-scheduler',\n 'popcorn-ingester',\n 'popcorn-ruler',\n 'peanutapi',\n 'almondapi',\n 'worker',\n 'toffee-gateway',\n 'marshmallow-gateway',\n 'toffee-proxy-gateway',\n 'mints-distributor',\n 'mints-agent',\n 'mints-ingester',\n 'marshmallow-query-frontend',\n 'marshmallow-ingester',\n 'marshmallow-querier',\n 'eating-scheduler',\n 'calorie-generator',\n 'candy-packaging-exporter',\n 'candy-manager',\n 'overeat-gateway',\n 'wrappers-api',\n 'overeat_api',\n 'licorice-admin-api',\n 'almond',\n 'almondops-gateway',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.title,\n config: {\n displayName: 'Service name',\n },\n type: FieldType.string,\n values: [\n '0',\n 'candycon2000',\n 'pantry-summary',\n 'compute-splines-api',\n 'send-notification',\n 'popcorn-distributor',\n 'caramel-gateway',\n 'candy-distributor',\n 'candy-query-frontend',\n 'candy-ruler',\n 'candy-querier',\n 'candy-chocolate-querier',\n 'candy-backend',\n 'candy-read',\n 'candy-write',\n 'popcorn-backend',\n 'popcorn-query-frontend',\n 'proxy-reads',\n 'proxy-gateway',\n 'proxy-writes',\n 'dentist',\n 'fudge-proxy-gateway',\n 'candy-admin-api',\n 'candy-disposer',\n 'candy-ingester',\n 'candy-gateway',\n 'candy-chocolate-write-proxy',\n 'candy-store-gateway',\n 'popcorn-querier',\n 'candy-query-scheduler',\n 'api',\n 'controller',\n 'gateway',\n 'db',\n 'marshmallow-popcorn-plugin',\n 'eggnog-query',\n 'licorice-ingester',\n 'licorice-distributor',\n 'licorice-gateway',\n 'licorice-querier',\n 'licorice-query-frontend',\n 'licorice-ruler',\n 'licorice-read',\n 'licorice-write',\n 'licorice-sugar-gateway',\n 'licorice-query-scheduler',\n 'popcorn-ingester',\n 'popcorn-ruler',\n 'peanutapi',\n 'almondapi',\n 'worker',\n 'toffee-gateway',\n 'marshmallow-gateway',\n 'toffee-proxy-gateway',\n 'mints-distributor',\n 'mints-agent',\n 'mints-ingester',\n 'marshmallow-query-frontend',\n 'marshmallow-ingester',\n 'marshmallow-querier',\n 'eating-scheduler',\n 'calorie-generator',\n 'candy-packaging-exporter',\n 'candy-manager',\n 'overeat-gateway',\n 'wrappers-api',\n 'overeat_api',\n 'licorice-admin-api',\n 'almond',\n 'almondops-gateway',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.mainStat,\n config: {\n unit: 'ms/r',\n displayName: 'Average response time',\n },\n type: FieldType.number,\n values: [\n 0.3792332384891563,\n 0.8672229016348518,\n null,\n 16.20695699632165,\n 39.928285334583585,\n 9.655124202033475,\n 21.05268555627574,\n 5.867123115073844,\n 2.4860418856893776,\n 355.53214166441546,\n 20.55178572103791,\n null,\n 38.89817349596472,\n 8.180751216025271,\n 0.8054812870678301,\n 40.77678203483556,\n 85.482797395998,\n 16.27026063145621,\n null,\n 19.87661445917064,\n 0.22942839760131845,\n null,\n null,\n null,\n 0.5613453804178244,\n null,\n null,\n 8.992145179555344,\n 304.9330783211414,\n null,\n 10.395531440216706,\n null,\n null,\n null,\n 0.015141602590812384,\n null,\n 2516.1181289425012,\n 1.753552009081408,\n 2.18723509171844,\n 2042.6033859578174,\n 35.584947433232884,\n 12.650689593313736,\n 11469.63275426663,\n 10032.233577903402,\n 2.7579124143530875,\n null,\n 12.313124260662056,\n null,\n 449.2619110960284,\n null,\n 457.68439141665425,\n 4.200223281332062,\n 3.22412985358373,\n null,\n 16.03316977154454,\n null,\n 5.830408312271875,\n 1460.8431543525896,\n 6.379590630002257,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.secondaryStat,\n config: {\n unit: 'r/sec',\n displayName: 'Requests per second',\n },\n type: FieldType.number,\n values: [\n 0,\n 0,\n null,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0.01,\n 0,\n 0.01,\n null,\n 0,\n 0,\n 0.02,\n 0,\n 0,\n 0,\n null,\n 0,\n 0,\n null,\n null,\n null,\n 0.1,\n null,\n null,\n 0,\n 0,\n null,\n 0,\n null,\n null,\n null,\n 0,\n null,\n 0.06,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n null,\n 0,\n null,\n 0,\n null,\n 0,\n 0,\n 0,\n null,\n 0,\n null,\n 0,\n 0,\n 0,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n ],\n },\n {\n name: 'arc__success',\n config: {\n displayName: 'Success',\n color: {\n fixedColor: 'green',\n mode: 'fixed',\n },\n },\n type: FieldType.number,\n values: [\n 1, 1, 1, 1, 0, 1, 0.999931271795046, 0.9999982854540072, 0.9999993106537873, 1, 0.9999988795927239, 1,\n 0.9984939706365067, 0.9999936988458762, 0.9374731810143394, 0.9981691514900277, 1, 1, 1, 0.6918050349578433, 1,\n 1, 1, 1, 0.9649904403274051, 1, 1, 0.996693264215713, 0.9990646675327494, 1, 0.989711501101388, 1, 1, 1, 1, 1,\n 0.974376082211577, 1, 1, 0.9979501689527777, 0.9999554801847671, 0.7997517799066115, 0.998393334495106,\n 0.8077280841753209, 0.9999889402832068, 1, 0.9267936098112096, 1, 0.9678190225122817, 1, 0.9664342727367723, 1,\n 1, 1, 1, 1, 1, 0.49879813934581896, 0.8514429797914538, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n ],\n },\n {\n name: 'arc__failed',\n config: {\n displayName: 'Failed',\n color: {\n fixedColor: 'red',\n mode: 'fixed',\n },\n },\n type: FieldType.number,\n values: [\n 0, 0, 0, 0, 1, 0, 0.00006872820495400671, 0.0000017145459928594954, 6.893462126672767e-7, 0,\n 0.000001120407275990985, 0, 0.001506029363493422, 0.000006301154123861364, 0.06252681898566055,\n 0.0018308485099723893, 0, 0, 0, 0.30819496504215677, 0, 0, 0, 0, 0.03500955967259495, 0, 0,\n 0.0033067357842869243, 0.0009353324672505954, 0, 0.01028849889861211, 0, 0, 0, 0, 0, 0.025623917788423094, 0, 0,\n 0.002049831047222383, 0.00004451981523281711, 0.20024822009338844, 0.001606665504893849, 0.19227191582467903,\n 0.000011059716793143872, 0, 0.07320639018879034, 0, 0.032180977487718344, 0, 0.03356572726322771, 0, 0, 0, 0, 0,\n 0, 0.501201860654181, 0.14855702020854625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ],\n },\n ],\n meta: { preferredVisualisationType: 'nodeGraph' as const },\n name: 'nodes',\n};\n\nexport const edges = {\n fields: [\n {\n name: NodeGraphDataFrameFieldNames.id,\n type: FieldType.string,\n values: [\n 'pantry-summary_candycon2000',\n 'compute-splines-api_candycon2000',\n 'compute-splines-api_send-notification',\n 'caramel-gateway_popcorn-distributor',\n 'caramel-gateway_candy-distributor',\n 'caramel-gateway_candy-query-frontend',\n 'caramel-gateway_candy-ruler',\n 'caramel-gateway_caramel-gateway',\n 'caramel-gateway_candy-querier',\n 'caramel-gateway_candy-chocolate-querier',\n 'caramel-gateway_candy-backend',\n 'caramel-gateway_candy-read',\n 'caramel-gateway_candy-write',\n 'caramel-gateway_popcorn-backend',\n 'caramel-gateway_popcorn-query-frontend',\n 'proxy-gateway_proxy-reads',\n 'proxy-gateway_proxy-writes',\n 'proxy-reads_caramel-gateway',\n 'proxy-writes_caramel-gateway',\n 'fudge-proxy-gateway_dentist',\n 'candy-admin-api_candy-distributor',\n 'candy-backend_candy-read',\n 'candy-backend_candy-write',\n 'candy-disposer_candy-distributor',\n 'candy-distributor_candy-ingester',\n 'candy-distributor_candy-distributor',\n 'candy-gateway_candy-admin-api',\n 'candy-gateway_candy-distributor',\n 'candy-gateway_candy-query-frontend',\n 'candy-chocolate-write-proxy_caramel-gateway',\n 'candy-ingester_candy-distributor',\n 'candy-querier_candy-ingester',\n 'candy-querier_candy-query-frontend',\n 'candy-querier_candy-store-gateway',\n 'candy-querier_candy-distributor',\n 'candy-query-frontend_candy-querier',\n 'candy-query-frontend_popcorn-querier',\n 'candy-query-frontend_candy-distributor',\n 'candy-query-scheduler_candy-distributor',\n 'candy-read_candy-backend',\n 'candy-read_candy-read',\n 'candy-read_candy-write',\n 'candy-read_popcorn-backend',\n 'candy-ruler_candy-ruler',\n 'candy-ruler_candy-ingester',\n 'candy-ruler_candy-query-frontend',\n 'candy-ruler_candy-distributor',\n 'candy-write_candy-write',\n 'controller_api',\n 'gateway_api',\n 'db_api',\n 'eggnog-query_marshmallow-popcorn-plugin',\n 'licorice-distributor_licorice-ingester',\n 'licorice-gateway_licorice-distributor',\n 'licorice-gateway_licorice-querier',\n 'licorice-gateway_licorice-query-frontend',\n 'licorice-gateway_licorice-ruler',\n 'licorice-gateway_licorice-read',\n 'licorice-gateway_licorice-write',\n 'licorice-querier_licorice-sugar-gateway',\n 'licorice-querier_licorice-ingester',\n 'licorice-querier_licorice-query-frontend',\n 'licorice-query-frontend_licorice-querier',\n 'licorice-query-scheduler_licorice-query-frontend',\n 'licorice-read_licorice-read',\n 'licorice-read_licorice-write',\n 'licorice-ruler_licorice-ingester',\n 'licorice-ruler_licorice-sugar-gateway',\n 'licorice-ruler_licorice-ruler',\n 'licorice-write_licorice-write',\n 'popcorn-backend_candy-read',\n 'popcorn-backend_candy-write',\n 'popcorn-distributor_candy-ingester',\n 'popcorn-distributor_popcorn-ingester',\n 'popcorn-querier_candy-ingester',\n 'popcorn-querier_candy-query-frontend',\n 'popcorn-querier_candy-store-gateway',\n 'popcorn-querier_popcorn-ingester',\n 'popcorn-querier_popcorn-query-frontend',\n 'popcorn-query-frontend_popcorn-querier',\n 'popcorn-ruler_candy-ingester',\n 'popcorn-ruler_popcorn-query-frontend',\n 'almondapi_peanutapi',\n 'peanutapi_0',\n 'peanutapi_worker',\n 'toffee-gateway_licorice-gateway',\n 'toffee-gateway_marshmallow-gateway',\n 'toffee-proxy-gateway_toffee-gateway',\n 'mints-agent_mints-distributor',\n 'mints-distributor_mints-ingester',\n 'marshmallow-gateway_marshmallow-query-frontend',\n 'marshmallow-querier_marshmallow-ingester',\n 'eating-scheduler_peanutapi',\n 'calorie-generator_compute-splines-api',\n 'worker_0',\n 'worker_worker',\n 'candy-backend_candy-backend',\n 'candy-gateway_candy-ruler',\n 'candy-packaging-exporter_candy-distributor',\n 'caramel-gateway_candy-chocolate-write-proxy',\n 'candy-manager_candy-distributor',\n 'candy-backend_popcorn-backend',\n 'candy-gateway_candy-manager',\n 'candy-gateway_candy-querier',\n 'candy-gateway_candy-store-gateway',\n 'candy-gateway_candy-disposer',\n 'candy-query-scheduler_candy-query-frontend',\n 'candy-store-gateway_candy-distributor',\n 'api_gateway',\n 'gateway_overeat-gateway',\n 'gateway_wrappers-api',\n 'overeat-gateway_overeat_api',\n 'overeat_api_gateway',\n 'wrappers-api_caramel-gateway',\n 'licorice-gateway_licorice-admin-api',\n 'popcorn-backend_popcorn-backend',\n 'popcorn-backend_candy-backend',\n 'almondops-gateway_almond',\n 'marshmallow-gateway_marshmallow-querier',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.source,\n type: FieldType.string,\n config: {},\n values: [\n 'pantry-summary',\n 'compute-splines-api',\n 'compute-splines-api',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'caramel-gateway',\n 'proxy-gateway',\n 'proxy-gateway',\n 'proxy-reads',\n 'proxy-writes',\n 'fudge-proxy-gateway',\n 'candy-admin-api',\n 'candy-backend',\n 'candy-backend',\n 'candy-disposer',\n 'candy-distributor',\n 'candy-distributor',\n 'candy-gateway',\n 'candy-gateway',\n 'candy-gateway',\n 'candy-chocolate-write-proxy',\n 'candy-ingester',\n 'candy-querier',\n 'candy-querier',\n 'candy-querier',\n 'candy-querier',\n 'candy-query-frontend',\n 'candy-query-frontend',\n 'candy-query-frontend',\n 'candy-query-scheduler',\n 'candy-read',\n 'candy-read',\n 'candy-read',\n 'candy-read',\n 'candy-ruler',\n 'candy-ruler',\n 'candy-ruler',\n 'candy-ruler',\n 'candy-write',\n 'controller',\n 'gateway',\n 'db',\n 'eggnog-query',\n 'licorice-distributor',\n 'licorice-gateway',\n 'licorice-gateway',\n 'licorice-gateway',\n 'licorice-gateway',\n 'licorice-gateway',\n 'licorice-gateway',\n 'licorice-querier',\n 'licorice-querier',\n 'licorice-querier',\n 'licorice-query-frontend',\n 'licorice-query-scheduler',\n 'licorice-read',\n 'licorice-read',\n 'licorice-ruler',\n 'licorice-ruler',\n 'licorice-ruler',\n 'licorice-write',\n 'popcorn-backend',\n 'popcorn-backend',\n 'popcorn-distributor',\n 'popcorn-distributor',\n 'popcorn-querier',\n 'popcorn-querier',\n 'popcorn-querier',\n 'popcorn-querier',\n 'popcorn-querier',\n 'popcorn-query-frontend',\n 'popcorn-ruler',\n 'popcorn-ruler',\n 'almondapi',\n 'peanutapi',\n 'peanutapi',\n 'toffee-gateway',\n 'toffee-gateway',\n 'toffee-proxy-gateway',\n 'mints-agent',\n 'mints-distributor',\n 'marshmallow-gateway',\n 'marshmallow-querier',\n 'eating-scheduler',\n 'calorie-generator',\n 'worker',\n 'worker',\n 'candy-backend',\n 'candy-gateway',\n 'candy-packaging-exporter',\n 'caramel-gateway',\n 'candy-manager',\n 'candy-backend',\n 'candy-gateway',\n 'candy-gateway',\n 'candy-gateway',\n 'candy-gateway',\n 'candy-query-scheduler',\n 'candy-store-gateway',\n 'api',\n 'gateway',\n 'gateway',\n 'overeat-gateway',\n 'overeat_api',\n 'wrappers-api',\n 'licorice-gateway',\n 'popcorn-backend',\n 'popcorn-backend',\n 'almondops-gateway',\n 'marshmallow-gateway',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.target,\n type: FieldType.string,\n config: {},\n values: [\n 'candycon2000',\n 'candycon2000',\n 'send-notification',\n 'popcorn-distributor',\n 'candy-distributor',\n 'candy-query-frontend',\n 'candy-ruler',\n 'caramel-gateway',\n 'candy-querier',\n 'candy-chocolate-querier',\n 'candy-backend',\n 'candy-read',\n 'candy-write',\n 'popcorn-backend',\n 'popcorn-query-frontend',\n 'proxy-reads',\n 'proxy-writes',\n 'caramel-gateway',\n 'caramel-gateway',\n 'dentist',\n 'candy-distributor',\n 'candy-read',\n 'candy-write',\n 'candy-distributor',\n 'candy-ingester',\n 'candy-distributor',\n 'candy-admin-api',\n 'candy-distributor',\n 'candy-query-frontend',\n 'caramel-gateway',\n 'candy-distributor',\n 'candy-ingester',\n 'candy-query-frontend',\n 'candy-store-gateway',\n 'candy-distributor',\n 'candy-querier',\n 'popcorn-querier',\n 'candy-distributor',\n 'candy-distributor',\n 'candy-backend',\n 'candy-read',\n 'candy-write',\n 'popcorn-backend',\n 'candy-ruler',\n 'candy-ingester',\n 'candy-query-frontend',\n 'candy-distributor',\n 'candy-write',\n 'api',\n 'api',\n 'api',\n 'marshmallow-popcorn-plugin',\n 'licorice-ingester',\n 'licorice-distributor',\n 'licorice-querier',\n 'licorice-query-frontend',\n 'licorice-ruler',\n 'licorice-read',\n 'licorice-write',\n 'licorice-sugar-gateway',\n 'licorice-ingester',\n 'licorice-query-frontend',\n 'licorice-querier',\n 'licorice-query-frontend',\n 'licorice-read',\n 'licorice-write',\n 'licorice-ingester',\n 'licorice-sugar-gateway',\n 'licorice-ruler',\n 'licorice-write',\n 'candy-read',\n 'candy-write',\n 'candy-ingester',\n 'popcorn-ingester',\n 'candy-ingester',\n 'candy-query-frontend',\n 'candy-store-gateway',\n 'popcorn-ingester',\n 'popcorn-query-frontend',\n 'popcorn-querier',\n 'candy-ingester',\n 'popcorn-query-frontend',\n 'peanutapi',\n '0',\n 'worker',\n 'licorice-gateway',\n 'marshmallow-gateway',\n 'toffee-gateway',\n 'mints-distributor',\n 'mints-ingester',\n 'marshmallow-query-frontend',\n 'marshmallow-ingester',\n 'peanutapi',\n 'compute-splines-api',\n '0',\n 'worker',\n 'candy-backend',\n 'candy-ruler',\n 'candy-distributor',\n 'candy-chocolate-write-proxy',\n 'candy-distributor',\n 'popcorn-backend',\n 'candy-manager',\n 'candy-querier',\n 'candy-store-gateway',\n 'candy-disposer',\n 'candy-query-frontend',\n 'candy-distributor',\n 'gateway',\n 'overeat-gateway',\n 'wrappers-api',\n 'overeat_api',\n 'gateway',\n 'caramel-gateway',\n 'licorice-admin-api',\n 'popcorn-backend',\n 'candy-backend',\n 'almond',\n 'marshmallow-querier',\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.mainStat,\n config: {\n unit: 'ms/r',\n displayName: 'Average response time',\n },\n type: FieldType.number,\n values: [\n 0.9961658833566494,\n 0.6756011854064742,\n 39.928285334583585,\n 9.655124202033475,\n 9.876837578844937,\n 81.6959176729049,\n 552.378420528502,\n 34.02406743798451,\n 2.7907819532876537,\n null,\n 1210.5999270997852,\n 40.22305442474939,\n 11.008270340421854,\n 1163.33527417596,\n 199.9200764328362,\n 16.27026063145621,\n 19.87661445917064,\n 7.9747137654137195,\n 20.135808118892268,\n 0.22942839760131845,\n 11.6566561294579,\n 75.22426032984903,\n 0.7326871862490554,\n 10.591500091052806,\n 0.43709820361586454,\n 7.681333333333334,\n null,\n 5.743161551306568,\n 22.56587650604559,\n 31.38290115791745,\n 11.375645375977152,\n 0.5974877233841939,\n 0.020271039373167783,\n 8.891949445529226,\n 10.293999999999995,\n 20.582963262267164,\n 405.7442187685195,\n 8.522692621843909,\n 6.924993219513745,\n 34.39516266769771,\n 5.952498150615941,\n 0.7842759237283988,\n 37.01067693570632,\n 6.956706372103876,\n 1.2689668998692378,\n 66.66971283621828,\n 13.622246129080805,\n 0.9078908605310487,\n 0.8179566076701271,\n 1.101057295936026,\n 19.887110234592154,\n 0.015141602590812384,\n 0.16393403903361325,\n 1.753552009081408,\n 1531278.5796188207,\n 46.231810748849455,\n 24.54774899949519,\n 345061.91461907607,\n 3.1331808761849147,\n 2.764448605690192,\n 2759.490189311903,\n 0.019420568056168524,\n 30.83859939288313,\n 0.026999999999999993,\n 2.405242467897073,\n 14607.641090479348,\n 11.449968675469439,\n 0.33363793667426944,\n 0.15786000187388566,\n 0.585213874210476,\n 41.39677023252635,\n 0.12979907013653832,\n 2.5827714948826848,\n 6.868234219946023,\n 21.107071160645475,\n 0.053417204821597085,\n 61.770970442855806,\n 42.998532007278904,\n 0.041043219084661645,\n 217.39742114991702,\n 0.21606213948511854,\n 13.174790215465455,\n 459.42768834463334,\n 0.30539630255527017,\n 447.5818111167013,\n 2.18723509171844,\n 3.22412985358373,\n 4.200223281332062,\n 16.03316977154454,\n 5.830408312271875,\n 1460.8431543525896,\n 6.379590630002257,\n 37.46723333208206,\n 16.20695699632165,\n 0.4593149548828589,\n 2693.186775574188,\n 0.034024049217002236,\n 196.843,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n ],\n },\n {\n name: NodeGraphDataFrameFieldNames.secondaryStat,\n config: {\n unit: 'r/sec',\n displayName: 'Requests per second',\n },\n type: FieldType.number,\n values: [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n null,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0.03,\n 0,\n null,\n 0,\n 0,\n 0,\n 0,\n 0.07,\n 0.01,\n 0,\n 0,\n 0.01,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0.02,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0.05,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n null,\n ],\n },\n ],\n meta: { preferredVisualisationType: 'nodeGraph' as const },\n name: 'edges',\n};\n","import { randomLcg } from 'd3-random';\n\nimport {\n FieldColorModeId,\n FieldDTO,\n FieldType,\n MutableDataFrame,\n NodeGraphDataFrameFieldNames,\n DataFrame,\n} from '@grafana/data';\n\nimport * as serviceMapResponseSmall from './testData/serviceMapResponse';\nimport * as serviceMapResponsMedium from './testData/serviceMapResponseMedium';\n\nexport function generateRandomNodes(count = 10, seed?: number) {\n const nodes = [];\n const edges: string[] = [];\n const rand = randomLcg(seed);\n\n const root = {\n id: 'root',\n title: 'root',\n subTitle: 'client',\n success: 1,\n error: 0,\n stat1: Math.random(),\n stat2: Math.random(),\n edges,\n };\n nodes.push(root);\n const nodesWithoutMaxEdges = [root];\n\n const maxEdges = 3;\n\n for (let i = 1; i < count; i++) {\n const node = makeRandomNode(i);\n nodes.push(node);\n const sourceIndex = Math.floor(rand() * Math.floor(nodesWithoutMaxEdges.length - 1));\n const source = nodesWithoutMaxEdges[sourceIndex];\n source.edges.push(node.id);\n if (source.edges.length >= maxEdges) {\n nodesWithoutMaxEdges.splice(sourceIndex, 1);\n }\n nodesWithoutMaxEdges.push(node);\n }\n\n // Add some random edges to create possible cycle\n const additionalEdges = Math.floor(count / 2);\n for (let i = 0; i <= additionalEdges; i++) {\n const sourceIndex = Math.floor(rand() * Math.floor(nodes.length - 1));\n const targetIndex = Math.floor(rand() * Math.floor(nodes.length - 1));\n if (sourceIndex === targetIndex || nodes[sourceIndex].id === '0' || nodes[targetIndex].id === '0') {\n continue;\n }\n\n nodes[sourceIndex].edges.push(nodes[targetIndex].id);\n }\n\n const nodeFields: Record<string, Omit<FieldDTO, 'name'> & { values: any[] }> = {\n [NodeGraphDataFrameFieldNames.id]: {\n values: [],\n type: FieldType.string,\n config: {\n links: [\n {\n title: 'test data link',\n url: '',\n internal: {\n query: { scenarioId: 'logs', alias: 'from service graph', stringInput: 'tes' },\n datasourceUid: 'gdev-testdata',\n datasourceName: 'gdev-testdata',\n },\n },\n ],\n },\n },\n [NodeGraphDataFrameFieldNames.title]: {\n values: [],\n type: FieldType.string,\n },\n [NodeGraphDataFrameFieldNames.subTitle]: {\n values: [],\n type: FieldType.string,\n },\n [NodeGraphDataFrameFieldNames.mainStat]: {\n values: [],\n type: FieldType.number,\n config: { displayName: 'Transactions per second' },\n },\n [NodeGraphDataFrameFieldNames.secondaryStat]: {\n values: [],\n type: FieldType.number,\n config: { displayName: 'Average duration' },\n },\n [NodeGraphDataFrameFieldNames.arc + 'success']: {\n values: [],\n type: FieldType.number,\n config: { color: { fixedColor: 'green', mode: FieldColorModeId.Fixed }, displayName: 'Success' },\n },\n [NodeGraphDataFrameFieldNames.arc + 'errors']: {\n values: [],\n type: FieldType.number,\n config: { color: { fixedColor: 'red', mode: FieldColorModeId.Fixed }, displayName: 'Errors' },\n },\n [NodeGraphDataFrameFieldNames.icon]: {\n values: [],\n type: FieldType.string,\n },\n [NodeGraphDataFrameFieldNames.nodeRadius]: {\n values: [],\n type: FieldType.number,\n },\n [NodeGraphDataFrameFieldNames.highlighted]: {\n values: [],\n type: FieldType.boolean,\n },\n };\n\n const nodeFrame = new MutableDataFrame({\n name: 'nodes',\n fields: Object.keys(nodeFields).map((key) => ({\n ...nodeFields[key],\n name: key,\n })),\n meta: { preferredVisualisationType: 'nodeGraph' },\n });\n\n const edgesFrame: DataFrame = {\n name: 'edges',\n fields: [\n { name: NodeGraphDataFrameFieldNames.id, values: [], type: FieldType.string, config: {} },\n { name: NodeGraphDataFrameFieldNames.source, values: [], type: FieldType.string, config: {} },\n { name: NodeGraphDataFrameFieldNames.target, values: [], type: FieldType.string, config: {} },\n { name: NodeGraphDataFrameFieldNames.mainStat, values: [], type: FieldType.number, config: {} },\n { name: NodeGraphDataFrameFieldNames.highlighted, values: [], type: FieldType.boolean, config: {} },\n { name: NodeGraphDataFrameFieldNames.thickness, values: [], type: FieldType.number, config: {} },\n ],\n meta: { preferredVisualisationType: 'nodeGraph' },\n length: 0,\n };\n\n const edgesSet = new Set();\n for (const node of nodes) {\n nodeFields.id.values.push(node.id);\n nodeFields.title.values.push(node.title);\n nodeFields[NodeGraphDataFrameFieldNames.subTitle].values.push(node.subTitle);\n nodeFields[NodeGraphDataFrameFieldNames.mainStat].values.push(node.stat1);\n nodeFields[NodeGraphDataFrameFieldNames.secondaryStat].values.push(node.stat2);\n nodeFields.arc__success.values.push(node.success);\n nodeFields.arc__errors.values.push(node.error);\n const rnd = Math.random();\n nodeFields[NodeGraphDataFrameFieldNames.icon].values.push(rnd > 0.9 ? 'database' : rnd < 0.1 ? 'cloud' : '');\n nodeFields[NodeGraphDataFrameFieldNames.nodeRadius].values.push(Math.max(rnd * 100, 30)); // ensure a minimum radius of 30 or icons will not fit well in the node\n nodeFields[NodeGraphDataFrameFieldNames.highlighted].values.push(Math.random() > 0.5);\n\n for (const edge of node.edges) {\n const id = `${node.id}--${edge}`;\n // We can have duplicate edges when we added some more by random\n if (edgesSet.has(id)) {\n continue;\n }\n edgesSet.add(id);\n edgesFrame.fields[0].values.push(`${node.id}--${edge}`);\n edgesFrame.fields[1].values.push(node.id);\n edgesFrame.fields[2].values.push(edge);\n edgesFrame.fields[3].values.push(Math.random() * 100);\n edgesFrame.fields[4].values.push(Math.random() > 0.5);\n edgesFrame.fields[5].values.push(Math.ceil(Math.random() * 15));\n }\n }\n edgesFrame.length = edgesFrame.fields[0].values.length;\n\n return [nodeFrame, edgesFrame];\n}\n\nfunction makeRandomNode(index: number) {\n const success = Math.random();\n const error = 1 - success;\n return {\n id: `service:${index}`,\n title: `service:${index}`,\n subTitle: 'service',\n success,\n error,\n stat1: Math.random(),\n stat2: Math.random(),\n edges: [],\n highlighted: Math.random() > 0.5,\n };\n}\n\nexport function savedNodesResponse(size: 'small' | 'medium'): [DataFrame, DataFrame] {\n const response = size === 'small' ? serviceMapResponseSmall : serviceMapResponsMedium;\n return [new MutableDataFrame(response.nodes), new MutableDataFrame(response.edges)];\n}\n\n// Generates node graph data but only returns the edges\nexport function generateRandomEdges(count = 10, seed = 1) {\n return generateRandomNodes(count, seed)[1];\n}\n","import { DataFrameDTO, FieldType } from '@grafana/data';\n\nexport const flameGraphData: DataFrameDTO = {\n name: 'response',\n // @ts-ignore\n meta: { preferredVisualisationType: 'flamegraph' },\n fields: [\n {\n name: 'level',\n values: [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 11, 12, 13, 14, 15, 16, 10, 11, 12, 13, 9, 10, 9, 9, 7, 7, 6, 5, 6, 7,\n 8, 8, 9, 10, 11, 12, 13, 8, 9, 10, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 4, 5, 6, 7, 8, 9, 9, 10, 11, 12, 11, 12,\n 13, 8, 8, 7, 8, 8, 7, 6, 7, 8, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 9, 8, 8, 7, 8, 6, 7, 8, 8, 7, 6, 7, 8,\n 8, 8, 9, 10, 11, 12, 4, 5, 6, 7, 8, 9, 9, 10, 11, 9, 10, 7, 4, 5, 6, 7, 8, 8, 7, 8, 9, 10, 11, 12, 13, 10, 10,\n 11, 9, 10, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 5, 6, 7, 6, 7, 6, 5, 6, 6, 6, 6, 5, 6, 7, 6, 5, 6, 7, 8, 4, 5,\n 6, 5, 6, 5, 4, 5, 5, 3, 4, 5, 6, 7, 7, 8, 7, 8, 9, 8, 9, 8, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 24, 24, 25, 26, 24, 25, 22, 23, 23, 24, 25, 26, 27, 28, 29, 30, 31,\n 32, 21, 22, 23, 24, 25, 26, 27, 26, 24, 25, 26, 25, 24, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 25, 26,\n 27, 25, 26, 24, 23, 24, 24, 25, 23, 23, 22, 23, 24, 24, 23, 24, 25, 26, 24, 25, 23, 24, 24, 25, 23, 23, 24, 24,\n 23, 23, 23, 23, 23, 24, 25, 22, 23, 24, 25, 22, 23, 24, 25, 26, 27, 28, 25, 26, 27, 28, 29, 24, 22, 23, 24, 25,\n 26, 27, 28, 29, 30, 31, 32, 33, 21, 22, 23, 23, 24, 24, 24, 22, 23, 24, 25, 24, 23, 24, 24, 23, 22, 23, 24, 25,\n 25, 26, 27, 24, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 24, 21, 22, 23, 24, 25, 26, 27, 28, 21, 22, 19, 20,\n 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 24, 25, 26, 27, 28, 23, 24, 25, 26, 27, 28, 19, 20,\n 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,\n 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 31, 30, 28, 29, 30, 31, 32, 33, 34,\n 35, 36, 37, 29, 30, 31, 26, 27, 28, 28, 28, 29, 27, 26, 27, 26, 25, 26, 27, 28, 29, 30, 31, 32, 32, 33, 34, 30,\n 31, 32, 33, 34, 33, 34, 35, 36, 37, 38, 39, 29, 30, 31, 32, 32, 27, 28, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35,\n 36, 37, 38, 39, 40, 27, 28, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 28, 27, 28, 28, 29, 27, 27, 28, 27, 27, 26,\n 27, 28, 28, 29, 29, 29, 26, 27, 27, 28, 29, 30, 29, 30, 30, 29, 30, 31, 28, 29, 30, 28, 28, 28, 28, 29, 30, 29,\n 30, 27, 28, 28, 26, 27, 26, 27, 27, 28, 29, 26, 27, 28, 29, 28, 27, 28, 29, 30, 30, 28, 29, 30, 31, 32, 32, 27,\n 28, 26, 25, 25, 26, 27, 28, 29, 30, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,\n 48, 31, 30, 31, 32, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 29, 26, 27, 28,\n 29, 30, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 31, 30, 29, 29, 29, 25, 26, 27, 28, 26,\n 26, 27, 28, 27, 28, 28, 26, 27, 28, 28, 27, 28, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 25, 25, 26, 27, 28, 25,\n 26, 24, 25, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 33, 34, 34, 32, 33, 34, 34, 32, 28, 29, 30, 31, 27,\n 28, 29, 26, 27, 28, 29, 30, 31, 32, 33, 34, 26, 27, 28, 29, 24, 25, 26, 27, 28, 29, 30, 27, 28, 26, 27, 25, 26,\n 27, 28, 29, 26, 25, 26, 27, 26, 27, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 38, 39, 30, 31, 32, 26, 27,\n 28, 27, 28, 29, 25, 26, 27, 28, 29, 30, 31, 32, 28, 29, 28, 29, 28, 29, 27, 28, 29, 30, 31, 29, 30, 31, 32, 33,\n 34, 35, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 28, 29, 30, 31, 28, 29, 30, 31, 26, 25, 26, 27, 28, 29,\n 27, 28, 29, 30, 25, 26, 15, 14, 15, 16, 17, 13, 14, 15, 16, 15, 16, 17, 18, 19, 20, 12, 13, 14, 15, 16, 17, 10,\n 11, 12, 13, 14, 12, 13, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 4, 5, 6, 7, 8, 9, 2, 3, 1, 2, 3, 4, 5, 6,\n 6, 6, 6, 7, 8, 8, 9, 6, 7, 6, 6, 6, 6, 5, 5, 6, 5, 5, 5, 5, 5, 6, 7, 4, 2, 3, 4, 5, 6, 4, 5, 6, 7, 8, 9, 1, 2,\n 3, 4, 5, 6, 7, 8, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 1, 2, 3, 3, 4, 3, 2, 1, 2, 3, 4, 5, 6, 5, 6, 7, 8, 5,\n 5, 6, 7, 4, 5, 6, 4, 2, 3, 4, 3, 4, 5, 6, 5, 5, 6, 4, 1, 2, 3, 4, 5, 6, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,\n 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n 23, 16, 17, 18, 19, 16, 17, 18, 19, 20, 21, 22, 23, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,\n 23, 8, 9, 10, 11, 12, 13, 14, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 1, 2, 3, 4,\n ],\n },\n {\n name: 'value',\n values: [\n 16460000000, 4100000000, 4100000000, 3670000000, 1130000000, 1060000000, 1020000000, 150000000, 150000000,\n 50000000, 30000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 80000000, 40000000, 10000000, 10000000, 530000000, 80000000, 40000000, 70000000,\n 50000000, 50000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000,\n 390000000, 390000000, 180000000, 70000000, 50000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 20000000, 10000000, 10000000, 10000000, 110000000, 80000000, 60000000,\n 10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 20000000, 10000000, 10000000, 30000000, 20000000, 40000000, 30000000, 20000000, 10000000, 10000000, 40000000,\n 40000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 210000000, 210000000, 210000000,\n 130000000, 130000000, 10000000, 50000000, 40000000, 40000000, 70000000, 10000000, 40000000, 1840000000,\n 240000000, 240000000, 50000000, 10000000, 10000000, 190000000, 130000000, 50000000, 20000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 80000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 60000000, 10000000, 1330000000, 1290000000, 320000000, 10000000,\n 10000000, 10000000, 130000000, 10000000, 10000000, 60000000, 30000000, 100000000, 40000000, 10000000, 10000000,\n 40000000, 30000000, 10000000, 10000000, 70000000, 10000000, 10000000, 50000000, 40000000, 10000000, 30000000,\n 20000000, 10000000, 430000000, 430000000, 430000000, 430000000, 10000000, 40000000, 20000000, 370000000,\n 20000000, 10000000, 180000000, 10000000, 30000000, 10000000, 10000000, 10000000, 5630000000, 5580000000,\n 5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5580000000, 5540000000, 5540000000,\n 5530000000, 5510000000, 5500000000, 5490000000, 5490000000, 1610000000, 1610000000, 1540000000, 1540000000,\n 190000000, 170000000, 170000000, 10000000, 20000000, 120000000, 10000000, 10000000, 20000000, 20000000,\n 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 850000000, 350000000, 300000000, 120000000, 110000000, 80000000, 20000000, 10000000, 80000000,\n 40000000, 20000000, 10000000, 10000000, 50000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000,\n 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 370000000, 40000000, 20000000, 10000000, 100000000,\n 10000000, 10000000, 10000000, 30000000, 30000000, 80000000, 20000000, 10000000, 10000000, 10000000, 40000000,\n 10000000, 10000000, 10000000, 20000000, 10000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 110000000, 110000000, 60000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 480000000, 150000000, 10000000, 130000000, 10000000, 10000000,\n 50000000, 140000000, 80000000, 40000000, 10000000, 10000000, 20000000, 10000000, 10000000, 20000000, 120000000,\n 60000000, 40000000, 10000000, 10000000, 10000000, 10000000, 20000000, 30000000, 30000000, 20000000, 20000000,\n 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 60000000, 60000000, 60000000, 60000000,\n 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 30000000, 30000000, 30000000, 30000000,\n 30000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 3880000000, 3880000000, 3880000000,\n 3880000000, 3870000000, 3230000000, 3230000000, 3210000000, 320000000, 70000000, 70000000, 40000000, 40000000,\n 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000,\n 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000,\n 20000000, 20000000, 70000000, 60000000, 20000000, 30000000, 10000000, 10000000, 10000000, 100000000, 20000000,\n 50000000, 1850000000, 410000000, 110000000, 110000000, 90000000, 60000000, 60000000, 40000000, 20000000,\n 20000000, 20000000, 30000000, 30000000, 30000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000,\n 20000000, 20000000, 10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 30000000, 20000000, 10000000,\n 40000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 40000000, 10000000, 80000000, 30000000, 30000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 20000000, 60000000, 30000000, 30000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 160000000, 120000000, 20000000, 100000000, 50000000, 10000000, 10000000,\n 640000000, 10000000, 550000000, 410000000, 80000000, 60000000, 260000000, 20000000, 170000000, 60000000,\n 30000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 20000000, 50000000, 40000000, 10000000,\n 10000000, 10000000, 70000000, 30000000, 40000000, 290000000, 90000000, 30000000, 10000000, 10000000, 10000000,\n 10000000, 210000000, 20000000, 10000000, 10000000, 10000000, 120000000, 90000000, 90000000, 60000000, 10000000,\n 30000000, 30000000, 30000000, 30000000, 10000000, 20000000, 50000000, 10000000, 10000000, 10000000, 280000000,\n 150000000, 150000000, 150000000, 60000000, 30000000, 80000000, 50000000, 20000000, 20000000, 20000000, 20000000,\n 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 130000000, 130000000, 130000000, 70000000, 30000000, 30000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 40000000, 10000000, 590000000, 20000000,\n 20000000, 10000000, 40000000, 150000000, 30000000, 30000000, 120000000, 10000000, 80000000, 370000000,\n 260000000, 40000000, 150000000, 110000000, 90000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 70000000, 60000000,\n 20000000, 20000000, 640000000, 640000000, 250000000, 250000000, 230000000, 180000000, 170000000, 170000000,\n 170000000, 170000000, 50000000, 10000000, 40000000, 10000000, 10000000, 60000000, 60000000, 10000000, 30000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 50000000, 50000000, 20000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 390000000,\n 60000000, 40000000, 30000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 30000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 90000000, 10000000, 10000000, 60000000, 10000000, 40000000,\n 40000000, 40000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 180000000, 170000000, 50000000, 20000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 30000000, 30000000, 20000000, 20000000, 20000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 90000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 70000000, 70000000,\n 70000000, 70000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000,\n 20000000, 20000000, 20000000, 10000000, 40000000, 40000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000, 10000000, 6190000000, 6170000000,\n 6170000000, 6070000000, 4460000000, 10000000, 50000000, 440000000, 540000000, 20000000, 10000000, 10000000,\n 10000000, 980000000, 10000000, 50000000, 480000000, 540000000, 50000000, 210000000, 30000000, 30000000,\n 60000000, 180000000, 10000000, 210000000, 20000000, 20000000, 20000000, 100000000, 20000000, 20000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 40000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000,\n 20000000, 20000000, 10000000, 10000000, 10000000, 10000000, 10000000, 170000000, 160000000, 70000000, 30000000,\n 10000000, 40000000, 10000000, 170000000, 90000000, 90000000, 70000000, 20000000, 10000000, 30000000, 30000000,\n 30000000, 30000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 80000000,\n 10000000, 10000000, 70000000, 60000000, 10000000, 10000000, 20000000, 20000000, 20000000, 10000000, 80000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 20000000, 20000000, 20000000, 20000000, 20000000, 20000000,\n 20000000, 20000000, 20000000, 20000000, 20000000, 20000000, 50000000, 50000000, 50000000, 50000000, 50000000,\n 50000000, 50000000, 10000000, 10000000, 10000000, 60000000, 60000000, 60000000, 60000000, 60000000, 60000000,\n 60000000, 40000000, 40000000, 30000000, 30000000, 30000000, 30000000, 30000000, 30000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000, 10000000,\n 10000000, 10000000,\n ],\n config: {\n unit: 'short',\n },\n },\n {\n name: 'self',\n values: [\n 16460, 4100, 4100, 3670, 1130, 1060, 1020, 150, 150, 50, 30, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 80,\n 40, 10, 10, 530, 80, 40, 70, 50, 50, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20, 20,\n 10, 390, 390, 180, 70, 50, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 110, 80, 60, 10, 20, 20, 20,\n 10, 10, 10, 10, 10, 10, 10, 20, 10, 10, 30, 20, 40, 30, 20, 10, 10, 40, 40, 10, 10, 10, 10, 10, 10, 10, 210,\n 210, 210, 130, 130, 10, 50, 40, 40, 70, 10, 40, 1840, 240, 240, 50, 10, 10, 190, 130, 50, 20, 10, 10, 10, 10,\n 10, 10, 80, 20, 10, 10, 10, 10, 10, 10, 10, 10, 60, 10, 1330, 1290, 320, 10, 10, 10, 130, 10, 10, 60, 30, 100,\n 40, 10, 10, 40, 30, 10, 10, 70, 10, 10, 50, 40, 10, 30, 20, 10, 430, 430, 430, 430, 10, 40, 20, 370, 20, 10,\n 180, 10, 30, 10, 10, 10, 5630, 5580, 5580, 5580, 5580, 5580, 5580, 5580, 5580, 5540, 5540, 5530, 5510, 5500,\n 5490, 5490, 1610, 1610, 1540, 1540, 190, 170, 170, 10, 20, 120, 10, 10, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 850, 350, 300, 120, 110, 80, 20, 10, 80, 40, 20, 10, 10, 50, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 20, 20, 20, 20, 10, 10, 10, 10, 10, 370, 40, 20, 10, 100, 10, 10, 10, 30, 30, 80, 20, 10,\n 10, 10, 40, 10, 10, 10, 20, 10, 20, 10, 10, 10, 10, 10, 10, 10, 110, 110, 60, 20, 20, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 480, 150, 10, 130, 10, 10, 50, 140, 80, 40, 10, 10, 20,\n 10, 10, 20, 120, 60, 40, 10, 10, 10, 10, 20, 30, 30, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 60, 60, 60, 60, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 30,\n 30, 30, 30, 30, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 3880, 3880, 3880, 3880,\n 3870, 3230, 3230, 3210, 320, 70, 70, 40, 40, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 20, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 70, 60, 20, 30, 10, 10, 10, 100, 20, 50,\n 1850, 410, 110, 110, 90, 60, 60, 40, 20, 20, 20, 30, 30, 30, 10, 10, 20, 20, 20, 20, 20, 20, 10, 20, 20, 20, 10,\n 10, 30, 20, 10, 40, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 80, 30, 30, 10, 10, 10, 10, 10,\n 10, 10, 20, 60, 30, 30, 10, 10, 10, 10, 10, 10, 160, 120, 20, 100, 50, 10, 10, 640, 10, 550, 410, 80, 60, 260,\n 20, 170, 60, 30, 20, 20, 20, 10, 10, 10, 20, 50, 40, 10, 10, 10, 70, 30, 40, 290, 90, 30, 10, 10, 10, 10, 210,\n 20, 10, 10, 10, 120, 90, 90, 60, 10, 30, 30, 30, 30, 10, 20, 50, 10, 10, 10, 280, 150, 150, 150, 60, 30, 80, 50,\n 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 130, 130, 130, 70, 30, 30, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 590, 20, 20, 10, 40, 150, 30, 30, 120, 10, 80, 370, 260, 40,\n 150, 110, 90, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 70, 60, 20, 20, 640, 640, 250, 250,\n 230, 180, 170, 170, 170, 170, 50, 10, 40, 10, 10, 60, 60, 10, 30, 10, 10, 10, 10, 10, 50, 50, 20, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 390, 60, 40, 30, 20, 20, 10, 10, 10, 10, 10, 30, 10, 10, 10, 10, 10, 90,\n 10, 10, 60, 10, 40, 40, 40, 30, 30, 30, 30, 30, 30, 30, 30, 10, 10, 10, 10, 10, 10, 20, 10, 10, 10, 10, 10, 180,\n 170, 50, 20, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 30, 30, 20, 20, 20, 10, 10, 10, 10, 10, 10, 10, 90, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 70, 70, 70, 70, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 20, 20, 10, 10, 10, 10,\n 10, 20, 20, 20, 20, 20, 10, 40, 40, 10, 10, 10, 10, 10, 30, 30, 30, 30, 30, 30, 10, 10, 6190, 6170, 6170, 6070,\n 4460, 10, 50, 440, 540, 20, 10, 10, 10, 980, 10, 50, 480, 540, 50, 210, 30, 30, 60, 180, 10, 210, 20, 20, 20,\n 100, 20, 20, 10, 10, 10, 10, 10, 10, 10, 10, 10, 40, 10, 10, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20,\n 10, 10, 10, 10, 10, 170, 160, 70, 30, 10, 40, 10, 170, 90, 90, 70, 20, 10, 30, 30, 30, 30, 10, 10, 10, 10, 10,\n 10, 10, 10, 80, 10, 10, 70, 60, 10, 10, 20, 20, 20, 10, 80, 10, 10, 10, 10, 10, 20, 20, 20, 20, 20, 20, 20, 20,\n 20, 20, 20, 20, 50, 50, 50, 50, 50, 50, 50, 10, 10, 10, 60, 60, 60, 60, 60, 60, 60, 40, 40, 30, 30, 30, 30, 30,\n 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10,\n 10, 10, 10, 10,\n ],\n config: {\n unit: 'short',\n },\n },\n {\n name: 'label',\n type: FieldType.enum,\n values: [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15, 16, 17, 14, 15, 18, 19, 20, 21, 22, 23, 24, 25,\n 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 28, 30, 31, 32, 33, 34, 35, 41, 42, 43, 44, 40, 28,\n 29, 45, 46, 47, 48, 49, 50, 51, 52, 53, 27, 53, 28, 54, 55, 27, 28, 56, 45, 46, 49, 50, 51, 31, 57, 58, 59, 60,\n 36, 53, 52, 54, 28, 54, 28, 36, 29, 12, 27, 28, 36, 29, 45, 46, 47, 48, 61, 62, 63, 6, 7, 8, 21, 9, 10, 11, 19,\n 20, 23, 64, 14, 15, 18, 65, 66, 15, 15, 15, 15, 15, 16, 65, 18, 16, 66, 18, 65, 66, 67, 68, 69, 31, 70, 71, 72,\n 18, 65, 73, 74, 75, 54, 12, 12, 76, 77, 78, 79, 80, 81, 82, 83, 84, 74, 85, 74, 86, 87, 88, 89, 90, 91, 92, 90,\n 93, 91, 94, 95, 96, 97, 12, 98, 12, 99, 100, 12, 101, 102, 103, 104, 99, 103, 105, 106, 107, 108, 109, 107, 110,\n 107, 111, 107, 112, 107, 113, 114, 115, 116, 117, 118, 119, 120, 95, 121, 122, 123, 124, 125, 126, 12, 127, 125,\n 54, 12, 28, 128, 51, 31, 57, 58, 129, 130, 131, 132, 133, 134, 135, 136, 137, 82, 83, 138, 139, 79, 12, 77, 82,\n 140, 141, 142, 143, 28, 144, 145, 146, 31, 147, 148, 149, 150, 54, 151, 152, 153, 154, 27, 155, 28, 36, 156,\n 157, 135, 158, 159, 160, 140, 150, 54, 53, 152, 153, 161, 160, 162, 159, 163, 164, 78, 79, 165, 166, 154, 138,\n 167, 137, 82, 168, 169, 170, 171, 172, 173, 140, 152, 153, 174, 175, 141, 142, 143, 28, 36, 82, 176, 28, 45, 46,\n 49, 50, 51, 31, 57, 58, 59, 60, 43, 27, 53, 28, 177, 56, 36, 55, 54, 28, 36, 53, 27, 52, 28, 178, 44, 40, 28,\n 29, 45, 46, 49, 155, 54, 28, 144, 145, 146, 31, 147, 148, 179, 180, 181, 29, 182, 183, 184, 185, 186, 187, 180,\n 188, 189, 190, 191, 192, 193, 194, 195, 62, 4, 26, 27, 28, 30, 31, 32, 33, 34, 35, 196, 197, 198, 199, 200, 29,\n 201, 197, 198, 199, 200, 29, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,\n 218, 107, 219, 220, 221, 222, 223, 224, 225, 226, 4, 5, 227, 228, 19, 20, 229, 230, 231, 232, 233, 234, 235,\n 236, 237, 235, 236, 238, 239, 240, 241, 242, 217, 243, 244, 26, 245, 40, 28, 30, 31, 32, 33, 34, 35, 27, 28, 29,\n 246, 247, 158, 248, 249, 12, 250, 251, 12, 252, 253, 254, 226, 4, 26, 27, 28, 29, 36, 37, 38, 245, 40, 28, 255,\n 29, 30, 31, 32, 33, 34, 35, 41, 5, 227, 228, 19, 9, 54, 28, 155, 256, 141, 142, 143, 28, 144, 145, 146, 31, 147,\n 148, 179, 180, 181, 257, 159, 140, 152, 153, 258, 175, 69, 31, 70, 71, 196, 83, 259, 248, 249, 12, 260, 249, 12,\n 261, 248, 262, 27, 53, 28, 36, 29, 56, 263, 260, 186, 187, 264, 265, 180, 188, 181, 266, 267, 268, 269, 267,\n 268, 149, 261, 270, 271, 180, 181, 264, 265, 27, 53, 28, 82, 83, 272, 149, 271, 264, 265, 273, 54, 28, 36, 12,\n 256, 274, 275, 159, 276, 141, 142, 143, 28, 29, 36, 158, 159, 277, 278, 279, 4, 5, 227, 244, 280, 228, 19, 20,\n 229, 230, 231, 232, 233, 234, 235, 236, 237, 235, 236, 238, 239, 240, 241, 242, 217, 281, 9, 10, 11, 282, 20,\n 229, 230, 231, 232, 233, 234, 235, 236, 237, 235, 236, 238, 239, 240, 241, 242, 217, 283, 62, 63, 227, 228, 9,\n 19, 281, 229, 230, 231, 232, 233, 234, 235, 236, 237, 284, 285, 286, 287, 288, 20, 289, 283, 244, 290, 291, 27,\n 28, 36, 149, 271, 264, 265, 180, 188, 181, 187, 180, 188, 181, 264, 265, 292, 293, 294, 54, 28, 30, 31, 32, 33,\n 34, 260, 295, 269, 267, 268, 296, 297, 298, 260, 299, 300, 301, 302, 303, 304, 31, 305, 306, 148, 179, 264, 180,\n 181, 188, 307, 180, 188, 181, 149, 308, 309, 269, 267, 310, 308, 309, 311, 31, 312, 313, 314, 315, 316, 317,\n 318, 31, 319, 306, 148, 320, 321, 284, 285, 286, 287, 288, 322, 12, 323, 53, 256, 141, 142, 143, 53, 159, 253,\n 273, 324, 254, 259, 226, 4, 26, 245, 40, 28, 30, 31, 32, 33, 34, 325, 35, 326, 27, 28, 29, 263, 27, 53, 186,\n 187, 180, 292, 293, 327, 328, 329, 330, 331, 332, 333, 334, 323, 53, 335, 54, 336, 329, 330, 331, 332, 337, 338,\n 339, 31, 340, 341, 342, 294, 54, 28, 45, 46, 49, 50, 51, 31, 57, 58, 343, 344, 345, 346, 217, 347, 215, 216,\n 217, 27, 14, 15, 18, 348, 349, 15, 16, 348, 257, 225, 251, 27, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359,\n 360, 361, 362, 363, 364, 182, 183, 184, 185, 146, 365, 366, 367, 352, 353, 27, 53, 368, 355, 358, 359, 360, 361,\n 369, 236, 237, 370, 371, 372, 373, 238, 239, 240, 241, 242, 217, 374, 375, 376, 31, 377, 378, 35, 379, 380, 41,\n 326, 381, 382, 383, 384, 72, 196, 385, 196, 386, 387, 56, 388, 389, 390, 391, 392, 325, 393, 394, 382, 395, 396,\n 397, 398, 399, 400, 31, 401, 402, 403, 404, 405, 406, 407, 408, 409, 31, 410, 411, 412, 413, 414, 415, 213, 214,\n 215, 216, 217, 416, 417, 27, 28, 29, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432,\n 433, 318, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 439, 444, 427, 445, 446, 435, 428, 435, 446, 447,\n 448, 449, 450, 352, 353, 451, 452, 408, 409, 31, 410, 411, 314, 315, 316, 317, 318, 236, 453, 239, 240, 241,\n 242, 217, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 203, 465, 205, 466, 467, 468, 469, 470, 40, 28,\n 45, 46, 49, 50, 471, 472, 473, 474, 148, 475, 476, 473, 474, 148, 307, 180, 181, 191, 477, 193, 478, 479, 480,\n 481, 482, 483, 67, 68, 69, 31, 70, 71, 72, 484, 485, 486, 487, 27, 28, 36, 488, 489, 490, 40, 28, 30, 31, 32,\n 33, 34, 35, 41, 491, 213, 214, 492,\n ],\n config: {\n type: {\n enum: {\n text: [\n 'total',\n 'test/pkg/agent.(*Target).start.func1',\n 'test/pkg/agent.(*Target).scrape',\n 'test/pkg/distributor.(*Distributor).Push',\n 'compress/gzip.(*Writer).Write',\n 'compress/flate.(*compressor).write',\n 'compress/flate.(*compressor).deflate',\n 'compress/flate.(*compressor).writeBlock',\n 'compress/flate.(*huffmanBitWriter).writeBlock',\n 'compress/flate.(*huffmanBitWriter).indexTokens',\n 'compress/flate.(*huffmanEncoder).generate',\n 'compress/flate.(*huffmanEncoder).bitCounts',\n 'runtime.memmove',\n 'compress/flate.(*huffmanEncoder).assignEncodingAndSize',\n 'sort.Sort',\n 'sort.quickSort',\n 'sort.insertionSort',\n 'compress/flate.(*byFreq).sort',\n 'sort.doPivot',\n 'compress/flate.(*huffmanBitWriter).writeTokens',\n 'compress/flate.(*huffmanBitWriter).writeCode',\n 'compress/flate.offsetCode',\n 'compress/flate.(*huffmanBitWriter).dynamicSize',\n 'compress/flate.(*compressor).findMatch',\n 'compress/flate.matchLen',\n 'compress/flate.hash4',\n 'compress/flate.NewWriter',\n 'runtime.newobject',\n 'runtime.mallocgc',\n 'runtime.memclrNoHeapPointers',\n 'runtime.gcAssistAlloc',\n 'runtime.systemstack',\n 'runtime.gcAssistAlloc.func1',\n 'runtime.gcAssistAlloc1',\n 'runtime.gcDrainN',\n 'runtime.scanobject',\n 'runtime.heapBitsSetType',\n 'runtime.heapBitsSetTypeGCProg',\n 'runtime.runGCProg',\n 'compress/flate.(*compressor).initDeflate',\n 'runtime.makeslice',\n 'runtime.pageIndexOf',\n 'test/pkg/pprof.OpenRaw',\n 'test/pkg/gen/google/v1.(*Profile).UnmarshalVT',\n 'test/pkg/gen/google/v1.(*Sample).UnmarshalVT',\n 'runtime.(*mcache).nextFree',\n 'runtime.(*mcache).refill',\n 'runtime.(*mcentral).uncacheSpan',\n 'runtime.(*spanSet).push',\n 'runtime.(*mcentral).cacheSpan',\n 'runtime.(*mcentral).grow',\n 'runtime.(*mheap).alloc',\n 'runtime.getMCache',\n 'runtime.nextFreeFast',\n 'runtime.growslice',\n 'test/pkg/gen/google/v1.(*Location).UnmarshalVT',\n 'runtime.heapBitsForAddr',\n 'runtime.(*mheap).alloc.func1',\n 'runtime.(*mheap).allocSpan',\n 'runtime.(*mheap).allocMSpanLocked',\n 'runtime.(*fixalloc).alloc',\n 'runtime.(*headTailIndex).incTail',\n 'compress/gzip.(*Writer).Close',\n 'compress/flate.(*compressor).close',\n 'test/pkg/pprof.(*Profile).Normalize',\n 'test/pkg/pprof.(*sortedSample).Less',\n 'test/pkg/pprof.(*sortedSample).Swap',\n 'runtime.gcWriteBarrierR8',\n 'runtime.gcWriteBarrier',\n 'runtime.wbBufFlush',\n 'runtime.wbBufFlush.func1',\n 'runtime.wbBufFlush1',\n 'runtime.findObject',\n 'test/pkg/pprof.(*Profile).clearSampleReferences',\n 'test/pkg/slices.RemoveInPlace[...]',\n 'test/pkg/pprof.(*Profile).clearSampleReferences.func1',\n 'test/pkg/pprof.StacktracesHasher.Hashes',\n 'github.com/cespare/xxhash/v2.round',\n 'github.com/cespare/xxhash/v2.(*Digest).Sum64',\n 'github.com/cespare/xxhash/v2.(*Digest).Write',\n 'github.com/cespare/xxhash/v2.u64',\n 'github.com/samber/lo.Uniq[...]',\n 'runtime.mapaccess2_fast64',\n 'runtime.memhash64',\n 'runtime.bucketMask',\n 'test/pkg/pprof.(*Profile).Normalize.func1',\n 'test/pkg/pprof.(*Profile).Normalize.func1.1',\n 'test/pkg/gen/google/v1.(*Profile).MarshalToVT',\n 'test/pkg/gen/google/v1.(*Profile).MarshalToSizedBufferVT',\n 'test/pkg/gen/google/v1.(*Sample).MarshalToSizedBufferVT',\n 'test/pkg/gen/google/v1.(*Profile).SizeVT',\n 'test/pkg/gen/google/v1.(*Sample).SizeVT',\n 'test/pkg/gen/google/v1.encodeVarint',\n 'test/pkg/gen/google/v1.(*Location).SizeVT',\n 'io/ioutil.ReadAll',\n 'io.ReadAll',\n 'compress/gzip.(*Reader).Read',\n 'compress/flate.(*decompressor).Read',\n 'compress/flate.(*dictDecoder).tryWriteCopy',\n 'compress/flate.(*decompressor).huffmanBlock',\n 'compress/flate.(*dictDecoder).writeCopy',\n 'compress/flate.(*decompressor).huffSym',\n 'bytes.(*Reader).ReadByte',\n 'compress/flate.(*decompressor).moreBits',\n 'compress/flate.(*decompressor).nextBlock',\n 'net/http.(*conn).serve',\n 'net/http.serverHandler.ServeHTTP',\n 'net/http.HandlerFunc.ServeHTTP',\n 'test/pkg/util.glob..func1.1',\n 'golang.org/x/net/http2/h2c.h2cHandler.ServeHTTP',\n 'test/pkg/create.(*create).initServer.func2.1',\n 'github.com/opentracing-contrib/go-stdlib/nethttp.MiddlewareFunc.func5',\n 'github.com/weaveworks/common/middleware.Log.Wrap.func1',\n 'github.com/weaveworks/common/middleware.Instrument.Wrap.func1',\n 'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics',\n 'github.com/weaveworks/common/middleware.Instrument.Wrap.func1.2',\n 'github.com/gorilla/mux.(*Router).ServeHTTP',\n 'github.com/bufbuild/connect-go.(*Handler).ServeHTTP',\n 'github.com/bufbuild/connect-go.NewUnaryHandler[...].func1',\n 'github.com/bufbuild/connect-go.NewUnaryHandler[...].func1.1',\n 'test/pkg/ingester.(*Ingester).Push',\n 'github.com/klauspost/compress/gzip.(*Reader).Read',\n 'github.com/klauspost/compress/flate.(*decompressor).Read',\n 'github.com/klauspost/compress/flate.(*dictDecoder).tryWriteCopy',\n 'github.com/klauspost/compress/flate.(*dictDecoder).writeByte',\n 'github.com/klauspost/compress/flate.(*decompressor).huffmanBytesReader',\n 'github.com/klauspost/compress/flate.(*dictDecoder).writeCopy',\n 'github.com/klauspost/compress/flate.(*decompressor).nextBlock',\n 'runtime.(*mcache).allocLarge',\n 'runtime.(*pageAlloc).alloc',\n 'runtime.(*pageAlloc).allocRange',\n 'runtime.(*pageAlloc).update',\n 'runtime.(*pallocBits).summarize',\n 'test/pkg/create.(*Head).Ingest',\n 'test/pkg/create.(*Head).convertSamples',\n 'test/pkg/create.(*deduplicatingSlice[...]).ingest',\n 'test/pkg/create.(*stacktracesHelper).rewrite',\n 'test/pkg/create.idConversionTable.rewriteUint64',\n 'runtime.add',\n 'test/pkg/create.(*stacktracesHelper).key',\n 'runtime.mapassign_fast64',\n 'runtime.hashGrow',\n 'runtime.makeBucketArray',\n 'runtime.newarray',\n 'runtime.profilealloc',\n 'runtime.mProf_Malloc',\n 'runtime.callers',\n 'runtime.callers.func1',\n 'runtime.gentraceback',\n 'runtime.findfunc',\n 'runtime.(*hmap).newoverflow',\n 'runtime.releasem',\n 'runtime.growWork_fast64',\n 'runtime.evacuate_fast64',\n 'encoding/binary.littleEndian.PutUint64',\n 'runtime.acquirem',\n 'test/pkg/create.(*labelCache).rewriteLabels',\n 'runtime.mapaccess1_fast64',\n 'runtime.mapaccess2_faststr',\n 'aeshashbody',\n 'memeqbody',\n 'runtime.mapaccess2',\n 'runtime.memhash_varlen',\n 'runtime.evacuated',\n 'test/pkg/create.(*locationsHelper).key',\n 'runtime.bucketShift',\n 'test/pkg/create.(*stringsHelper).addToRewriter',\n 'test/pkg/create.(*locationsHelper).rewrite',\n 'github.com/prometheus/client_golang/prometheus.(*CounterVec).WithLabelValues',\n 'github.com/prometheus/client_golang/prometheus.(*MetricVec).GetMetricWithLabelValues',\n 'github.com/prometheus/client_golang/prometheus.(*MetricVec).hashLabelValues',\n 'github.com/prometheus/client_golang/prometheus.hashAdd',\n 'test/pkg/create.(*deltaProfiles).computeDelta',\n 'test/pkg/create.deltaSamples',\n 'runtime.typedmemmove',\n 'runtime.bulkBarrierPreWrite',\n 'test/pkg/create.copySlice[...]',\n 'runtime.add1',\n 'runtime.roundupsize',\n 'runtime.pcdatavalue',\n 'runtime.pcvalue',\n 'runtime.step',\n 'github.com/go-kit/log.(*context).Log',\n 'github.com/go-kit/log.bindValues',\n 'github.com/go-kit/log.Caller.func1',\n 'runtime.Caller',\n 'runtime.(*Frames).Next',\n 'runtime.funcline1',\n 'runtime.readvarint',\n 'test/pkg/gen/google/v1.(*Profile).ReturnToVTPool',\n 'test/pkg/gen/google/v1.(*Profile).ResetVT',\n 'github.com/bufbuild/connect-go.(*errorTranslatingSender).Send',\n 'github.com/bufbuild/connect-go.(*connectUnaryHandlerSender).Send',\n 'github.com/bufbuild/connect-go.(*connectUnaryMarshaler).Marshal',\n 'github.com/bufbuild/connect-go.(*compressionPool).Compress',\n 'github.com/bufbuild/connect-go.(*compressionPool).putCompressor',\n 'runtime.spanOf',\n 'compress/gzip.(*Writer).Reset',\n 'compress/gzip.(*Writer).init',\n 'compress/flate.(*Writer).Reset',\n 'compress/flate.(*compressor).reset',\n 'github.com/bufbuild/connect-go.(*compressionPool).getCompressor',\n 'github.com/bufbuild/connect-go.receiveUnaryRequest[...]',\n 'github.com/bufbuild/connect-go.(*errorTranslatingReceiver).Receive',\n 'github.com/bufbuild/connect-go.(*connectUnaryHandlerReceiver).Receive',\n 'github.com/bufbuild/connect-go.(*connectUnaryUnmarshaler).UnmarshalFunc',\n 'bytes.(*Buffer).ReadFrom',\n 'github.com/weaveworks/common/middleware.(*reqBody).Read',\n 'net/http.(*body).Read',\n 'net/http.(*body).readLocked',\n 'net/http/internal.(*chunkedReader).Read',\n 'bufio.(*Reader).Read',\n 'net/http.(*connReader).Read',\n 'net.(*conn).Read',\n 'net.(*netFD).Read',\n 'syscall.Read',\n 'syscall.read',\n 'syscall.Syscall',\n 'net/http.(*ServeMux).ServeHTTP',\n 'net/http/pprof.Index',\n 'net/http/pprof.handler.ServeHTTP',\n 'runtime/pprof.(*Profile).WriteTo',\n 'runtime/pprof.writeAlloc',\n 'runtime/pprof.writeHeapInternal',\n 'runtime/pprof.writeHeapProto',\n 'runtime/pprof.(*profileBuilder).pbSample',\n 'runtime/pprof.(*profileBuilder).flush',\n 'compress/flate.(*compressor).encSpeed',\n 'compress/flate.(*huffmanBitWriter).writeBlockDynamic',\n 'github.com/felixge/httpsnoop.(*rw).Write',\n 'github.com/felixge/httpsnoop.(*Metrics).CaptureMetrics.func2.1',\n 'github.com/weaveworks/common/middleware.(*badResponseLoggingWriter).Write',\n 'github.com/opentracing-contrib/go-stdlib/nethttp.(*statusCodeTracker).Write',\n 'net/http.(*response).Write',\n 'net/http.(*response).write',\n 'bufio.(*Writer).Write',\n 'bufio.(*Writer).Flush',\n 'net/http.(*chunkWriter).Write',\n 'net/http.checkConnErrorWriter.Write',\n 'net.(*conn).Write',\n 'net.(*netFD).Write',\n 'internal/poll.(*FD).Write',\n 'syscall.write',\n 'compress/flate.token.length',\n 'compress/flate.(*deflateFast).encode',\n 'compress/flate.(*compressor).init',\n 'runtime/pprof.writeHeapProto.func1',\n 'runtime/pprof.(*profileBuilder).pbLabel',\n 'runtime/pprof.(*protobuf).int64Opt',\n 'runtime/pprof.(*protobuf).endMessage',\n 'runtime/pprof.(*protobuf).startMessage',\n 'runtime/pprof.(*protobuf).uint64s',\n 'runtime/pprof.(*protobuf).int64s',\n 'runtime/pprof.(*profileBuilder).appendLocsForStack',\n 'runtime/pprof.(*profileBuilder).emitLocation',\n 'runtime.memclrNoHeapPointersChunked',\n 'runtime.mapassign_faststr',\n 'runtime.mapaccess1_faststr',\n 'runtime.memclrHasPointers',\n 'runtime/pprof.(*profileBuilder).pbLine',\n 'runtime.duffcopy',\n 'runtime.duffzero',\n 'runtime.CallersFrames',\n 'runtime/pprof.allFrames',\n 'runtime.funcInfo.entry',\n 'runtime.(*moduledata).textAddr',\n 'runtime.funcfile',\n 'runtime.findnull',\n 'indexbytebody',\n 'runtime.funcname',\n 'runtime.(*Func).Entry',\n 'runtime.pcdatavalue1',\n 'runtime/pprof.runtime_expandFinalInlineFrame',\n 'runtime/pprof.(*profileBuilder).stringIndex',\n 'runtime.growWork_faststr',\n 'runtime.evacuate_faststr',\n 'runtime.advanceEvacuationMark',\n 'runtime/pprof.(*protobuf).uint64Opt',\n 'runtime.funcdata',\n 'runtime/pprof.(*profileBuilder).build',\n 'compress/flate.(*deflateFast).matchLen',\n 'compress/flate.(*huffmanBitWriter).writeBits',\n 'compress/flate.(*huffmanBitWriter).writeDynamicHeader',\n 'compress/flate.hash',\n 'fmt.Fprintf',\n 'fmt.(*pp).doPrintf',\n 'fmt.(*pp).printArg',\n 'fmt.(*pp).fmtInteger',\n 'fmt.(*fmt).fmtInteger',\n 'compress/flate.token.offset',\n 'compress/flate.load64',\n 'runtime.FuncForPC',\n 'runtime/pprof.newProfileBuilder',\n 'runtime/pprof.(*profileBuilder).readMapping',\n 'os.ReadFile',\n 'runtime.(*Func).Name',\n 'runtime/pprof.scaleHeapSample',\n 'math.archExp',\n 'runtime.(*MemProfileRecord).Stack',\n 'runtime/pprof.writeGoroutine',\n 'runtime/pprof.writeRuntimeProfile',\n 'runtime/pprof.runtime_goroutineProfileWithLabels',\n 'runtime.goroutineProfileWithLabels',\n 'runtime.forEachGRace',\n 'runtime.goroutineProfileWithLabels.func4',\n 'runtime.goroutineProfileWithLabels.func4.1',\n 'runtime.saveg',\n 'runtime.funcspdelta',\n 'runtime.goroutineProfileWithLabels.func1',\n 'runtime.isSystemGoroutine',\n 'runtime.goroutineProfileWithLabels.func2',\n 'runtime.startTheWorld',\n 'runtime.startTheWorld.func1',\n 'runtime.startTheWorldWithSema',\n 'runtime.wakep',\n 'runtime.startm',\n 'runtime.notewakeup',\n 'runtime.futexwakeup',\n 'runtime.futex',\n 'runtime.goroutineProfileWithLabels.func3',\n 'runtime/pprof.printCountProfile',\n 'runtime/pprof.printCountProfile.func1',\n 'bytes.(*Buffer).Write',\n 'runtime.slicebytetostring',\n 'runtime.overLoadFactor',\n 'runtime.heapBits.bits',\n 'runtime.greyobject',\n 'runtime/pprof.parseProcSelfMaps',\n 'runtime/pprof.elfBuildID',\n 'os.OpenFile',\n 'syscall.Open',\n 'syscall.openat',\n 'syscall.Syscall6',\n 'runtime/pprof.parseProcSelfMaps.func1',\n 'bytes.Cut',\n 'runtime/pprof.(*profileBuilder).addMapping',\n 'os.Open',\n 'os.openFileNolog',\n 'os.newFile',\n 'runtime.SetFinalizer',\n 'runtime.SetFinalizer.func2',\n 'runtime.addfinalizer',\n 'runtime.addspecial',\n 'runtime.(*pageAlloc).allocToCache',\n 'os.(*File).Stat',\n 'internal/poll.(*FD).Fstat',\n 'syscall.Fstat',\n 'os.(*File).Read',\n 'runtime/pprof.(*keysByCount).Less',\n 'cmpbody',\n 'github.com/prometheus/client_golang/prometheus.(*GaugeVec).WithLabelValues',\n 'runtime.assertI2I',\n 'runtime.getitab',\n 'runtime.(*itabTableType).find',\n 'github.com/weaveworks/common/middleware.Instrument.getRouteName',\n 'github.com/weaveworks/common/middleware.getRouteName',\n 'github.com/weaveworks/common/middleware.MakeLabelValue',\n 'strings.Trim',\n 'github.com/gorilla/mux.(*Router).Match',\n 'github.com/gorilla/mux.(*Route).Match',\n 'github.com/gorilla/mux.(*routeRegexp).Match',\n 'regexp.(*Regexp).doExecute',\n 'regexp.(*Regexp).backtrack',\n 'regexp.(*Regexp).tryBacktrack',\n 'github.com/weaveworks/common/logging.gokit.Debugf',\n 'github.com/uber/jaeger-client-go.(*Tracer).Extract',\n 'github.com/uber/jaeger-client-go.(*TextMapPropagator).Extract',\n 'runtime.assertE2I2',\n 'github.com/weaveworks/common/middleware.Tracer.Wrap.func1',\n 'net/http.(*response).finishRequest',\n 'net/http.(*chunkWriter).writeHeader',\n 'net/http.Header.writeSubset',\n 'net/http.Header.sortedKeyValues',\n 'sync.(*Pool).Get',\n 'net/http.(*conn).readRequest',\n 'runtime.mapiterinit',\n 'runtime.gcBgMarkWorker',\n 'runtime.gcBgMarkWorker.func2',\n 'runtime.gcDrain',\n 'runtime.(*gcBits).bytep',\n 'runtime.(*mspan).objIndex',\n 'runtime.(*gcWork).put',\n 'runtime.getempty',\n 'runtime.putfull',\n 'runtime.(*lfstack).push',\n 'runtime.(*mspan).markBitsForIndex',\n 'runtime.markBits.isMarked',\n 'runtime.arenaIndex',\n 'runtime.(*gcWork).tryGet',\n 'runtime.trygetfull',\n 'runtime.spanOfUnchecked',\n 'runtime.heapBits.next',\n 'runtime.gcFlushBgCredit',\n 'runtime.(*gcWork).balance',\n 'runtime.handoff',\n 'runtime.(*gcWork).tryGetFast',\n 'runtime.gcMarkDone',\n 'runtime.gcMarkTermination',\n 'runtime.mProf_Flush',\n 'runtime.mProf_FlushLocked',\n 'runtime.(*bucket).mp',\n 'runtime.gcMarkTermination.func4',\n 'runtime.forEachP',\n 'runtime.gcMarkTermination.func4.1',\n 'runtime.(*mcache).prepareForSweep',\n 'runtime.(*mcache).releaseAll',\n 'net/http.(*persistConn).readLoop',\n 'runtime.selectgo',\n 'runtime.send',\n 'runtime.goready',\n 'runtime.goready.func1',\n 'runtime.ready',\n 'runtime.runqput',\n 'bufio.(*Reader).Peek',\n 'bufio.(*Reader).fill',\n 'net/http.(*persistConn).Read',\n 'net/http.(*persistConn).readResponse',\n 'github.com/opentracing-contrib/go-stdlib/nethttp.(*Tracer).gotFirstResponseByte',\n 'runtime.bgsweep',\n 'runtime.sweepone',\n 'runtime.(*sweepLocker).tryAcquire',\n 'runtime.(*sweepLocked).sweep',\n 'runtime.(*gcBitsArena).tryAlloc',\n 'runtime.spanClass.sizeclass',\n 'runtime/internal/atomic.(*Uint32).CompareAndSwap',\n 'runtime.mcall',\n 'runtime.park_m',\n 'runtime.schedule',\n 'runtime.findrunnable',\n 'runtime.netpoll',\n 'runtime.epollwait',\n 'runtime.stopm',\n 'runtime.notesleep',\n 'runtime.futexsleep',\n 'runtime.(*randomOrder).start',\n 'runtime.checkTimers',\n 'runtime.runtimer',\n 'runtime.dodeltimer0',\n 'runtime.gcstopm',\n 'runtime.lock2',\n 'runtime.procyield',\n 'runtime.(*lfstack).pop',\n 'runtime.gosched_m',\n 'runtime.lock',\n 'runtime.goschedImpl',\n 'runtime.execute',\n 'runtime.casgstatus',\n 'net/http.(*persistConn).writeLoop',\n 'net/http.(*Request).write',\n 'net/http.newTransferWriter',\n 'runtime.convI2I',\n 'runtime.chansend1',\n 'runtime.chansend',\n 'net/http.persistConnWriter.Write',\n 'runtime.exitsyscall',\n 'runtime.exitsyscallfast',\n 'runtime.exitsyscallfast_reacquired',\n 'test/pkg/distributor.(*Distributor).Push.func1',\n 'test/pkg/distributor.(*Distributor).sendProfiles',\n 'test/pkg/distributor.(*Distributor).sendProfilesErr',\n 'test/pkg/gen/ingester/v1/ingesterv1connect.(*ingesterServiceClient).Push',\n 'github.com/bufbuild/connect-go.(*Client[...]).CallUnary',\n 'github.com/bufbuild/connect-go.NewClient[...].func2',\n 'github.com/bufbuild/connect-go.NewClient[...].func1',\n 'github.com/bufbuild/connect-go.receiveUnaryResponse[...]',\n 'github.com/bufbuild/connect-go.(*connectUnaryClientReceiver).Receive',\n 'github.com/bufbuild/connect-go.(*compressionPool).Decompress',\n 'github.com/bufbuild/connect-go.(*compressionPool).getDecompressor',\n 'compress/gzip.(*Reader).Reset',\n 'compress/gzip.(*Reader).readHeader',\n 'compress/flate.(*dictDecoder).init',\n 'runtime.heapBits.initSpan',\n 'compress/flate.(*decompressor).Reset',\n 'runtime.newstack',\n 'runtime.copystack',\n 'compress/flate.NewReader',\n 'compress/flate.fixedHuffmanDecoderInit',\n 'github.com/bufbuild/connect-go.(*connectClientSender).Send',\n 'github.com/bufbuild/connect-go.(*connectUnaryMarshaler).write',\n 'github.com/bufbuild/connect-go.(*duplexHTTPCall).Write',\n 'io.(*pipe).write',\n 'runtime.chanrecv1',\n 'runtime.chanrecv',\n 'runtime.recv',\n 'github.com/bufbuild/connect-go.(*errorTranslatingReceiver).Close',\n 'github.com/bufbuild/connect-go.(*connectUnaryClientReceiver).Close',\n 'github.com/bufbuild/connect-go.(*duplexHTTPCall).CloseRead',\n 'github.com/opentracing-contrib/go-stdlib/nethttp.closeTracker.Close',\n 'runtime/pprof.profileWriter',\n 'runtime/pprof.(*profileBuilder).addCPUData',\n 'runtime/pprof.(*profMap).lookup',\n 'net/http.(*connReader).backgroundRead',\n 'internal/poll.(*FD).Read',\n ],\n },\n },\n },\n },\n ],\n};\n\nexport const flameGraphDataDiff: DataFrameDTO = {\n name: 'response',\n meta: { preferredVisualisationType: 'flamegraph' },\n fields: [\n {\n name: 'level',\n values: [\n 0, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 6, 7, 8, 9, 10, 9, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 20, 21,\n 19, 20, 21, 19, 17, 18, 19, 20, 20, 21, 19, 20, 21, 19, 17, 18, 19, 20, 21, 22, 23, 24, 25, 23, 24, 21, 19, 20,\n 21, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 22, 15, 16, 17, 18, 19,\n 20, 17, 18, 19, 20, 21, 22, 23, 23, 24, 24, 25, 21, 17, 18, 19, 19, 17, 18, 19, 20, 16, 17, 15, 16, 17, 18, 19,\n 20, 21, 22, 23, 24, 25, 22, 22, 22, 22, 23, 20, 20, 16, 17, 18, 19, 16, 17, 15, 16, 17, 18, 19, 20, 21, 22, 23,\n 24, 17, 18, 19, 20, 21, 22, 23, 15, 16, 15, 16, 12, 13, 9, 9, 10, 9, 10, 6, 6, 6, 6, 7, 8, 6, 7, 2, 3, 4, 5, 6,\n 7, 3, 4, 5, 6, 7, 8, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 10, 11, 12, 13, 14, 15, 16, 16, 17, 18, 19, 20, 21, 22,\n 14, 15, 16, 14, 11, 12, 13, 14, 9, 10, 11, 12, 10, 9, 10, 11, 12, 13, 14, 15, 16, 17, 15, 16, 17, 16, 15, 16,\n 17, 16, 17, 16, 15, 16, 17, 18, 19, 20, 21, 19, 4, 5, 6, 7, 8, 9, 6, 7, 8, 6, 7, 8, 9, 10, 7, 4, 5, 6, 7, 8, 3,\n 4, 5, 6, 7, 8, 9, 10, 11, 12, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 6,\n 7, 8, 9, 10, 11, 7, 8, 6, 7, 8, 9, 10, 11, 12, 13, 6, 7, 8, 9, 10, 11, 12, 13, 14, 6, 7, 5, 6, 7, 8, 9, 10, 11,\n 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3, 4, 5, 6, 1, 2,\n ],\n },\n {\n name: 'label',\n values: [\n 'total',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!Heartbeat.<>c.<.ctor>b__8_0',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!Heartbeat.TimerLoop',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!Heartbeat.OnHeartbeat',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!DateHeaderValueManager.SetDateValues',\n 'Microsoft.Net.Http.Headers!HeaderUtilities.FormatDate',\n 'System!DateTimeFormat.Format',\n 'System.Threading!PortableThreadPool.WorkerThread.WorkerThreadStart',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection<T>.System.Threading.IThreadPoolWorkItem.Execute',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection<T>.ExecuteAsync',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<ExecuteAsync>d__6>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection.<ExecuteAsync>d__6<T>.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnection..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnection.ProcessRequestsAsync<!T0>',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<ProcessRequestsAsync>d__12>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnection.<ProcessRequestsAsync>d__12<TContext>.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1OutputProducer..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.ProcessRequestsAsync<!T0>',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<ProcessRequestsAsync>d__222>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.<ProcessRequestsAsync>d__222<TContext>.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.ProcessRequests<!T0>',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<ProcessRequests>d__223>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.<ProcessRequests>d__223<TContext>.MoveNext',\n 'Microsoft.AspNetCore.HostFiltering!HostFilteringMiddleware.Invoke',\n 'Microsoft.AspNetCore.Routing!EndpointMiddleware.Invoke',\n 'Example!Program.<>c__DisplayClass0_0.<Main>b__0',\n 'Example!BikeService.Order',\n 'Example!OrderService.FindNearestVehicle',\n 'Pyroscope!LabelSet.BuildUpon',\n 'Pyroscope!LabelsWrapper.Do',\n 'Pyroscope!Profiler.get_Instance',\n 'Pyroscope!LabelSet.Builder.Add',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.TryInsert',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.Initialize',\n 'Pyroscope!LabelSet.Builder.Build',\n 'Example!Program.<>c__DisplayClass0_0.<Main>b__1',\n 'Example!ScooterService.Order',\n 'Example!OrderService.FindNearestVehicle',\n 'Pyroscope!LabelSet.BuildUpon',\n 'Pyroscope!LabelsWrapper.Do',\n 'Pyroscope!Profiler.get_Instance',\n 'Pyroscope!LabelSet.Builder.Add',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.TryInsert',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.Initialize',\n 'Pyroscope!LabelSet.Builder.Build',\n 'Example!Program.<>c__DisplayClass0_0.<Main>b__2',\n 'Example!CarService.Order',\n 'Example!OrderService.FindNearestVehicle',\n 'Pyroscope!LabelsWrapper.Do',\n 'Example!OrderService.<>c__DisplayClass0_1.<FindNearestVehicle>b__0',\n 'Example!OrderService.CheckDriverAvailability',\n 'Pyroscope!LabelSet.BuildUpon',\n 'System.Collections.Generic!Dictionary<TKey, TKey>..ctor',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.Initialize',\n 'Pyroscope!LabelsWrapper.Do',\n 'Pyroscope!Profiler.get_Instance',\n 'Pyroscope!Profiler.get_Instance',\n 'Pyroscope!LabelSet.Builder.Add',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.TryInsert',\n 'System.Collections.Generic!Dictionary<TKey, TKey>.Initialize',\n 'Microsoft.AspNetCore.Http!RequestDelegateFactory.ExecuteWriteStringResponseAsync',\n 'Microsoft.AspNetCore.Http!HttpResponseWritingExtensions.WriteAsync',\n 'Microsoft.AspNetCore.Http!HttpResponseWritingExtensions.WriteAsync',\n 'Microsoft.AspNetCore.Http!DefaultHttpResponse.StartAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.StartAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1OutputProducer.WriteResponseHeaders',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.PipeWriterHelpers!ConcurrentPipeWriter.GetSpan',\n 'System.IO.Pipelines!Pipe.DefaultPipeWriter.GetSpan',\n 'System.IO.Pipelines!Pipe.AllocateWriteHeadSynchronized',\n 'System.IO.Pipelines!Pipe.CreateSegmentUnsynchronized',\n 'Microsoft.Extensions.Logging!LoggerMessage.<>c__DisplayClass10_0<T1>.<Define>g__Log|0',\n 'Microsoft.Extensions.Logging!Logger<T>.Microsoft.Extensions.Logging.ILogger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging!Logger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging!Logger.<Log>g__LoggerLog|12_0<!LogValues>',\n 'Microsoft.Extensions.Logging.Console!ConsoleLogger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging.Console!SimpleConsoleFormatter.Write<!LogValues>',\n 'Microsoft.Extensions.Logging!LoggerMessage.LogValues.<>c<T0>.<.cctor>b__12_0',\n 'Microsoft.Extensions.Logging!LoggerMessage.LogValues<T0>.ToString',\n 'System!String.FormatHelper',\n 'System!Span<System!Char>.ToString',\n 'System!String.Ctor',\n 'System.Text!StringBuilder.ToString',\n 'Microsoft.AspNetCore.Hosting!HostingApplication.CreateContext',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.BeginRequest',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.Log.RequestScope',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.Log.HostingLogScope..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpRequestIdentifierFeature.get_TraceIdentifier',\n 'System!String.Create<System!ValueTuple>',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.LogRequestStarting',\n 'Microsoft.Extensions.Logging!Logger.Log<!T0>',\n 'Microsoft.Extensions.Logging!Logger.<Log>g__LoggerLog|12_0<!T0>',\n 'Microsoft.Extensions.Logging.Console!ConsoleLogger.Log<!T0>',\n 'Microsoft.Extensions.Logging.Console!SimpleConsoleFormatter.Write<!T0>',\n 'Microsoft.AspNetCore.Hosting!HostingRequestStartingLog.ToString',\n 'System.Buffers!TlsOverPerCoreLockedStacksArrayPool<System!Char>.Rent',\n 'System.Runtime.CompilerServices!DefaultInterpolatedStringHandler.ToStringAndClear',\n 'System!String.Ctor',\n 'System.Buffers!TlsOverPerCoreLockedStacksArrayPool<System!Char>.Return',\n 'System.Buffers!TlsOverPerCoreLockedStacksArrayPool<System!Char>.InitializeTlsBucketsAndTrimming',\n 'System.Text!StringBuilder.ToString',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.StartActivity',\n 'System.Diagnostics!Activity.Start',\n 'System!String.Create<System!ValueTuple>',\n 'System.Threading!ExecutionContext.SetLocalValue',\n 'Microsoft.Extensions.Logging!Logger.BeginScope<!T0>',\n 'Microsoft.Extensions.Logging!LoggerFactoryScopeProvider.Push',\n 'System.Threading!ExecutionContext.SetLocalValue',\n 'System.Threading!AsyncLocalValueMap.TwoElementAsyncLocalValueMap.Set',\n 'Microsoft.AspNetCore.Http!DefaultHttpContextFactory.Create',\n 'Microsoft.AspNetCore.Http!DefaultHttpContext..ctor',\n 'Microsoft.AspNetCore.Hosting!HostingApplication.DisposeContext',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.LogRequestFinished',\n 'Microsoft.Extensions.Logging!Logger.Log<!T0>',\n 'Microsoft.Extensions.Logging!Logger.<Log>g__LoggerLog|12_0<!T0>',\n 'Microsoft.Extensions.Logging.Console!ConsoleLogger.Log<!T0>',\n 'Microsoft.Extensions.Logging.Console!SimpleConsoleFormatter.Write<!T0>',\n 'Microsoft.AspNetCore.Hosting!HostingRequestFinishedLog.ToString',\n 'System!Number.FormatDouble',\n 'System.Text!ValueStringBuilder.ToString',\n 'System!Span<System!Char>.ToString',\n 'System!String.Ctor',\n 'System!Number.UInt32ToDecStr',\n 'System!String.Replace',\n 'System!String.Substring',\n 'System.Runtime.CompilerServices!DefaultInterpolatedStringHandler.ToStringAndClear',\n 'System!String.Ctor',\n 'System.Text!StringBuilder.ToString',\n 'System.Text!StringBuilder.set_Length',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.StopActivity',\n 'System.Diagnostics!Activity.Stop',\n 'System.Threading!ExecutionContext.SetLocalValue',\n 'System.Threading!AsyncLocalValueMap.TwoElementAsyncLocalValueMap.Set',\n 'Microsoft.Extensions.Logging!LoggerFactoryScopeProvider.Scope.Dispose',\n 'System.Threading!ExecutionContext.SetLocalValue',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.TryParseRequest',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.ParseRequest',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.TakeMessageHeaders',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.ParseHeaders',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.TryTakeSingleHeader',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.OnHeader',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpRequestHeaders.Append',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!HttpUtilities.GetRequestHeaderString',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!StringUtilities.GetAsciiOrUTF8StringNonNullCharacters',\n 'System!String.Create<System!IntPtr>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.TakeStartLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.ParseRequestLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.ParseRequestLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.OnStartLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.OnOriginFormTarget',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!StringUtilities.GetAsciiStringNonNullCharacters',\n 'System!String.Create<System!IntPtr>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.InitializeBodyControl',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!BodyControl..ctor',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.AwaitUnsafeOnCompleted<System.Runtime.CompilerServices!ValueTaskAwaiter, !<ProcessRequests>d__223>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<ProcessRequests>d__223>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.AwaitUnsafeOnCompleted<System.Runtime.CompilerServices!TaskAwaiter, !<ProcessRequestsAsync>d__222>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<ProcessRequestsAsync>d__222>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection.OnHeartbeat',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.AwaitUnsafeOnCompleted<System.Runtime.CompilerServices!TaskAwaiter, !<ProcessRequestsAsync>d__12>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<ProcessRequestsAsync>d__12>',\n 'System.Threading!CancellationToken.Register',\n 'System.Threading!CancellationTokenSource.Register',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnectionMiddleware<TContext>.OnConnectionAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection.BeginConnectionScope',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!TimeoutControl..ctor',\n 'Microsoft.Extensions.Logging!Logger.BeginScope<!T0>',\n 'Microsoft.Extensions.Logging!LoggerFactoryScopeProvider.Push',\n 'System.Threading!ExecutionContext.SetLocalValue',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.AwaitUnsafeOnCompleted<System.Runtime.CompilerServices!TaskAwaiter, !<ExecuteAsync>d__6>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<ExecuteAsync>d__6>',\n 'System.Threading!ThreadPoolWorkQueue.Dispatch',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!IOQueue.System.Threading.IThreadPoolWorkItem.Execute',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<System.Threading.Tasks!VoidTaskResult, Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoSend>d__28>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoSend>d__28.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.Shutdown',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<>c.<FireConnectionClosed>b__29_0',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.CancelConnectionClosedToken',\n 'System.Threading!CancellationTokenSource.ExecuteCallbackHandlers',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnection.OnConnectionClosed',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.OnInputOrOutputCompleted',\n 'System.Net.Sockets!SocketAsyncEngine.System.Threading.IThreadPoolWorkItem.Execute',\n 'System.Net.Sockets!Socket.AwaitableSocketAsyncEventArgs.OnCompleted',\n 'System.Net.Sockets!Socket.AwaitableSocketAsyncEventArgs.InvokeContinuation',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets!SocketConnectionListener.<AcceptAsync>d__10.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets!SocketConnectionContextFactory.Create',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection..ctor',\n 'System.IO.Pipelines!DuplexPipe.CreateConnectionPair',\n 'System.IO.Pipelines!Pipe..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.Start',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.DoReceive',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<DoReceive>d__27>',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoReceive>d__27.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketReceiver.WaitForDataAsync',\n 'System.Net.Sockets!Socket.ReceiveAsync',\n 'System.Net.Sockets!SocketAsyncContext..ctor',\n 'System.Net.Sockets!SocketAsyncEventArgs.DoOperationReceive',\n 'System.Net.Sockets!SocketAsyncContext.ReceiveAsync',\n 'System.Net.Sockets!SocketAsyncContext.OperationQueue<TOperation>.StartAsyncOperation',\n 'System.Net.Sockets!SocketAsyncContext.TryRegister',\n 'System.Net.Sockets!SocketAsyncEngine.TryRegisterSocket',\n 'System.Net.Sockets!SocketAsyncEngine.TryRegisterCore',\n 'System.Collections.Concurrent!ConcurrentDictionary<System!IntPtr, System.Net.Sockets!SocketAsyncEngine.SocketAsyncContextWrapper>.TryAddInternal',\n 'System.IO.Pipelines!Pipe.GetMemory',\n 'System.IO.Pipelines!Pipe.AllocateWriteHeadSynchronized',\n 'System.IO.Pipelines!Pipe.CreateSegmentUnsynchronized',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<DoReceive>d__27>',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.DoSend',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<DoSend>d__28>',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoSend>d__28.MoveNext',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<DoSend>d__28>',\n 'System.Net.Sockets!Socket.get_LocalEndPoint',\n 'System.Net.Sockets!IPEndPointExtensions.Create',\n 'System.Net.Internals!SocketAddress.GetIPEndPoint',\n 'System.Net.Internals!SocketAddress.GetIPAddress',\n 'System.Net.Sockets!IPEndPointExtensions.Serialize',\n 'System.Threading.Tasks!Task<TResult>.TrySetResult',\n 'System.Threading.Tasks!Task.RunContinuations',\n 'System.Threading.Tasks!AwaitTaskContinuation.RunOrScheduleAction',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!ConnectionDispatcher.<>c__DisplayClass8_0.<<StartAcceptingConnectionsCore>g__AcceptConnectionsAsync|0>d<T>.MoveNext',\n 'Microsoft.AspNetCore.Connections!TransportConnection.Microsoft.AspNetCore.Http.Features.IFeatureCollection.Set<!T0>',\n 'System.Collections.Generic!List<T>.AddWithResize',\n 'System.Collections.Generic!List<T>.set_Capacity',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection<T>..ctor',\n 'Microsoft.AspNetCore.Connections!TransportConnection.Microsoft.AspNetCore.Http.Features.IFeatureCollection.Set<!T0>',\n 'Microsoft.AspNetCore.Connections!TransportConnection.ExtraFeatureSet',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!TransportConnectionManager.AddConnection',\n 'Microsoft.AspNetCore.Connections!TransportConnection.get_ConnectionId',\n 'System!String.Create<System!Int64>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!ConnectionManager.AddConnection',\n 'System.Collections.Concurrent!ConcurrentDictionary<TKey, TKey>.TryAddInternal',\n 'System.Collections.Concurrent!ConcurrentDictionary<TKey, TKey>.TryAddInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!TransportManager.GenericConnectionListener.AcceptAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets!SocketConnectionListener.AcceptAsync',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<AcceptAsync>d__10>',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets!SocketConnectionListener.<AcceptAsync>d__10.MoveNext',\n 'System.Net.Sockets!Socket.AwaitableSocketAsyncEventArgs.AcceptAsync',\n 'System.Net.Sockets!Socket.AcceptAsync',\n 'System.Net.Sockets!SocketAsyncEventArgs.DoOperationAccept',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<TResult>.GetStateMachineBox<!<AcceptAsync>d__10>',\n 'System.Net.Sockets!SocketAsyncEventArgs.AcceptCompletionCallback',\n 'System.Net.Sockets!SocketAsyncEventArgs.FinishOperationSyncSuccess',\n 'System.Net.Sockets!IPEndPointExtensions.Create',\n 'System.Net.Internals!SocketAddress.GetIPEndPoint',\n 'System.Net.Internals!SocketAddress.GetIPAddress',\n 'System.Net!IPAddress..ctor',\n 'System.Net.Sockets!IPEndPointExtensions.Serialize',\n 'System.Net.Internals!SocketAddress..ctor',\n 'System.Net.Internals!SocketAddress..ctor',\n 'System.Net.Sockets!SocketAsyncEventArgs.FinishOperationAccept',\n 'System.Net.Sockets!IPEndPointExtensions.Create',\n 'System.Net.Internals!SocketAddress.GetIPEndPoint',\n 'System.Net.Internals!SocketAddress.GetIPAddress',\n 'System.Net!IPAddress..ctor',\n 'System.Net.Sockets!SocketPal.CreateSocket',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<System.Threading.Tasks!VoidTaskResult, Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoReceive>d__27>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DoReceive>d__27.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.FireConnectionClosed',\n 'System.Threading!ThreadPool.UnsafeQueueUserWorkItem<!T0>',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunFromThreadPoolDispatchLoop',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.<ProcessRequests>d__223<TContext>.MoveNext',\n 'Microsoft.AspNetCore.HostFiltering!HostFilteringMiddleware.Invoke',\n 'Microsoft.AspNetCore.Routing!EndpointMiddleware.Invoke',\n 'Example!Program.<>c__DisplayClass0_0.<Main>b__0',\n 'Example!BikeService.Order',\n 'Example!OrderService.FindNearestVehicle',\n 'Pyroscope!LabelsWrapper.Do',\n 'Pyroscope!Profiler.get_Instance',\n 'Microsoft.AspNetCore.Http!RequestDelegateFactory.ExecuteWriteStringResponseAsync',\n 'Microsoft.AspNetCore.Http!HttpResponseWritingExtensions.WriteAsync',\n 'Microsoft.AspNetCore.Http!HttpResponseWritingExtensions.WriteAsync',\n 'Microsoft.AspNetCore.Http!DefaultHttpResponse.StartAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpResponseBodyFeature.StartAsync',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1OutputProducer.WriteResponseHeaders',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure.PipeWriterHelpers!ConcurrentPipeWriter.GetSpan',\n 'System.IO.Pipelines!Pipe.DefaultPipeWriter.GetSpan',\n 'System.IO.Pipelines!Pipe.AllocateWriteHeadSynchronized',\n 'System.IO.Pipelines!Pipe.CreateSegmentUnsynchronized',\n 'Microsoft.Extensions.Logging!LoggerMessage.<>c__DisplayClass10_0<T1>.<Define>g__Log|0',\n 'Microsoft.Extensions.Logging!Logger<T>.Microsoft.Extensions.Logging.ILogger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging!Logger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging!Logger.<Log>g__LoggerLog|12_0<!LogValues>',\n 'Microsoft.Extensions.Logging.Console!ConsoleLogger.Log<!LogValues>',\n 'Microsoft.Extensions.Logging.Console!SimpleConsoleFormatter.Write<!LogValues>',\n 'Microsoft.Extensions.Logging!LoggerMessage.LogValues.<>c<T0>.<.cctor>b__12_0',\n 'Microsoft.Extensions.Logging!LoggerMessage.LogValues<T0>.ToString',\n 'System!String.FormatHelper',\n 'System!Span<System!Char>.ToString',\n 'System!String.Ctor',\n 'Microsoft.AspNetCore.Hosting!HostingApplication.CreateContext',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.BeginRequest',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.Log.RequestScope',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.Log.HostingLogScope..ctor',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.Microsoft.AspNetCore.Http.Features.IHttpRequestIdentifierFeature.get_TraceIdentifier',\n 'System!String.Create<System!ValueTuple>',\n 'Microsoft.AspNetCore.Http!DefaultHttpContextFactory.Create',\n 'Microsoft.AspNetCore.Http!DefaultHttpContext..ctor',\n 'Microsoft.AspNetCore.Hosting!HostingApplication.DisposeContext',\n 'Microsoft.AspNetCore.Hosting!HostingApplicationDiagnostics.LogRequestFinished',\n 'Microsoft.Extensions.Logging!Logger.Log<!T0>',\n 'Microsoft.Extensions.Logging!Logger.<Log>g__LoggerLog|12_0<!T0>',\n 'Microsoft.Extensions.Logging.Console!ConsoleLogger.Log<!T0>',\n 'Microsoft.Extensions.Logging.Console!SimpleConsoleFormatter.Write<!T0>',\n 'Microsoft.AspNetCore.Hosting!HostingRequestFinishedLog.ToString',\n 'System!Number.UInt32ToDecStr',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.TryParseRequest',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.ParseRequest',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.TakeStartLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.ParseRequestLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpParser<Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1ParsingHandler>.ParseRequestLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.OnStartLine',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!Http1Connection.OnOriginFormTarget',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!StringUtilities.GetAsciiStringNonNullCharacters',\n 'System!String.Create<System!IntPtr>',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.InitializeBodyControl',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!BodyControl..ctor',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.SetResult',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.SetExistingTaskResult',\n 'System.Threading.Tasks!Task.RunContinuations',\n 'System.Threading.Tasks!AwaitTaskContinuation.RunOrScheduleAction',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http!HttpProtocol.<ProcessRequestsAsync>d__222<TContext>.MoveNext',\n 'System.Threading.Tasks!Task<System.Threading.Tasks!VoidTaskResult>.TrySetResult',\n 'System.Threading.Tasks!Task.RunContinuations',\n 'System.Threading.Tasks!AwaitTaskContinuation.RunOrScheduleAction',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal!HttpConnection.<ProcessRequestsAsync>d__12<TContext>.MoveNext',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.SetExistingTaskResult',\n 'System.Threading.Tasks!Task.RunContinuations',\n 'System.Threading.Tasks!AwaitTaskContinuation.RunOrScheduleAction',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder.AsyncStateMachineBox<TResult, TResult>.MoveNext',\n 'System.Threading!ExecutionContext.RunInternal',\n 'Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure!KestrelConnection.<ExecuteAsync>d__6<T>.MoveNext',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.DisposeAsync',\n 'System.Runtime.CompilerServices!AsyncMethodBuilderCore.Start<!<DisposeAsync>d__26>',\n 'Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets.Internal!SocketConnection.<DisposeAsync>d__26.MoveNext',\n 'System.Runtime.CompilerServices!AsyncTaskMethodBuilder<System.Threading.Tasks!VoidTaskResult>.GetStateMachineBox<!<DisposeAsync>d__26>',\n 'System.Threading!UnmanagedThreadPoolWorkItem.System.Threading.IThreadPoolWorkItem.Execute',\n 'System.Threading!TimerQueue.FireNextTimers',\n 'System.Threading!TimerQueueTimer.Fire',\n 'Microsoft.Extensions.FileProviders.Physical!PhysicalFilesWatcher.RaiseChangeEvents',\n 'System.Threading!ThreadPoolWorkQueueThreadLocals.Finalize',\n 'System.Threading!ThreadPoolWorkQueue.WorkStealingQueueList.Remove',\n ],\n },\n {\n name: 'self',\n values: [\n 0, 0, 0, 0, 0, 0, 12, 4, 0, 0, 0, 0, 8, 0, 0, 17, 3, 12, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1,\n 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 2, 0, 0, 1, 0, 0, 0, 0, 3, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 15, 2, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0, 4, 0, 1, 8, 7, 0, 1, 3, 2, 1, 0, 1,\n 3, 5, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 4, 0, 5, 12, 1, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0,\n 0, 0, 0, 0, 0, 0, 0, 10, 0, 1, 0, 3, 2, 0, 0, 0, 7, 7, 1, 1, 0, 0, 6, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,\n 0, 0, 0, 0, 0, 0, 15, 14, 14, 4, 0, 0, 0, 0, 0, 0, 3, 9, 3, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0, 0, 6, 0, 0, 2, 3,\n 1, 0, 0, 0, 0, 0, 3, 0, 0, 3, 0, 0, 2, 5, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 5, 0, 3,\n 2, 0, 1, 3, 2, 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,\n 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 1,\n ],\n },\n {\n name: 'value',\n values: [\n 378, 12, 12, 12, 12, 12, 12, 365, 230, 230, 230, 230, 8, 206, 206, 206, 15, 12, 26, 139, 139, 139, 136, 136,\n 136, 42, 42, 3, 3, 2, 0, 1, 1, 1, 1, 1, 0, 4, 4, 2, 0, 1, 1, 1, 1, 1, 1, 9, 9, 7, 5, 4, 4, 0, 0, 0, 3, 3, 1, 2,\n 2, 2, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 22, 22, 22, 22, 22, 7, 7, 7, 7, 7, 7, 15, 42, 32, 3, 3, 3, 3, 14, 13, 13,\n 13, 5, 5, 0, 5, 4, 1, 1, 8, 11, 4, 1, 3, 4, 2, 1, 1, 8, 5, 29, 26, 25, 25, 25, 12, 12, 2, 2, 2, 2, 0, 1, 4, 5,\n 5, 12, 1, 3, 3, 3, 0, 0, 0, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 0, 0, 0, 0, 0, 0, 0, 10, 10, 1, 1, 3, 3, 2,\n 0, 0, 7, 7, 7, 1, 1, 6, 6, 6, 1, 1, 131, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 117, 97, 97, 97, 97, 97, 73, 32, 18,\n 4, 26, 20, 20, 20, 17, 17, 3, 14, 5, 2, 2, 2, 2, 2, 1, 1, 1, 2, 6, 6, 6, 6, 6, 5, 5, 3, 1, 18, 18, 18, 18, 18,\n 18, 3, 3, 3, 7, 2, 2, 5, 3, 0, 0, 2, 2, 1, 2, 2, 2, 2, 1, 1, 1, 1, 20, 20, 2, 2, 1, 0, 8, 3, 3, 10, 6, 6, 5, 2,\n 2, 0, 0, 0, 0, 0, 10, 10, 7, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,\n 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1,\n ],\n },\n {\n name: 'selfRight',\n values: [\n 0, 0, 0, 0, 0, 0, 16, 5, 0, 0, 0, 0, 1, 0, 0, 19, 2, 8, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1,\n 1, 0, 0, 1, 1, 0, 2, 0, 0, 2, 1, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 11, 1, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 7, 3, 0, 3, 2, 2, 0, 1, 1,\n 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 0, 4, 13, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0,\n 0, 0, 0, 0, 0, 1, 1, 4, 0, 5, 0, 1, 0, 0, 1, 0, 7, 9, 3, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1,\n 0, 0, 0, 0, 0, 0, 4, 12, 12, 5, 0, 0, 0, 0, 0, 0, 2, 9, 0, 0, 0, 0, 0, 1, 0, 0, 4, 3, 0, 0, 0, 6, 0, 0, 1, 2, 0,\n 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 6, 8, 0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 1, 0, 0, 1, 3,\n 0, 2, 1, 0, 2, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,\n 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,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ],\n },\n {\n name: 'valueRight',\n values: [\n 316, 16, 16, 16, 16, 16, 16, 300, 190, 190, 190, 190, 1, 173, 173, 173, 10, 8, 28, 108, 108, 108, 107, 107, 107,\n 34, 34, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 7, 7, 4, 1, 2, 2, 2, 2, 2, 1, 9, 9, 9, 8, 8, 8, 3, 2, 2, 5, 5, 0, 0, 0, 0,\n 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 13, 13, 13, 13, 2, 2, 2, 2, 2, 2, 11, 31, 24, 2, 2, 2, 2, 10, 10, 10, 10, 3,\n 3, 1, 2, 2, 0, 0, 7, 8, 5, 3, 2, 4, 2, 2, 1, 6, 2, 28, 24, 24, 24, 24, 11, 11, 1, 1, 1, 1, 1, 2, 3, 4, 4, 13, 0,\n 1, 1, 1, 1, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 5, 4, 5, 5, 1, 1, 0, 1, 1, 7, 7, 9, 3, 0,\n 4, 4, 2, 0, 0, 105, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 100, 87, 87, 87, 87, 87, 58, 29, 17, 5, 25, 19, 19, 19, 12,\n 12, 2, 10, 1, 1, 1, 1, 1, 1, 4, 4, 4, 3, 6, 6, 6, 6, 3, 3, 3, 2, 0, 26, 26, 26, 26, 26, 26, 1, 1, 1, 14, 6, 6,\n 8, 4, 2, 2, 1, 1, 1, 5, 5, 5, 5, 2, 2, 2, 3, 10, 10, 1, 1, 1, 1, 1, 1, 1, 8, 3, 3, 1, 0, 2, 3, 3, 3, 3, 3, 3, 3,\n 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,\n 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,\n 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,\n ],\n },\n ],\n};\n","import { StandardVariableQuery, StandardVariableSupport } from '@grafana/data';\n\nimport { TestData, TestDataQueryType } from './dataquery.gen';\nimport { TestDataDataSource } from './datasource';\n\nexport class TestDataVariableSupport extends StandardVariableSupport<TestDataDataSource> {\n toDataQuery(query: StandardVariableQuery): TestData {\n return {\n refId: 'TestDataDataSource-QueryVariable',\n stringInput: query.query,\n scenarioId: TestDataQueryType.VariablesQuery,\n csvWave: undefined,\n };\n }\n}\n","import { from, merge, Observable, of, throwError } from 'rxjs';\nimport { delay } from 'rxjs/operators';\n\nimport {\n AnnotationEvent,\n ArrayDataFrame,\n DataFrame,\n DataQueryRequest,\n DataQueryResponse,\n DataSourceInstanceSettings,\n DataTopic,\n LiveChannelScope,\n LoadingState,\n TimeRange,\n ScopedVars,\n toDataFrame,\n MutableDataFrame,\n AnnotationQuery,\n getSearchFilterScopedVar,\n} from '@grafana/data';\nimport { DataSourceWithBackend, getBackendSrv, getGrafanaLiveSrv, getTemplateSrv, TemplateSrv } from '@grafana/runtime';\n\nimport { Scenario, TestData, TestDataQueryType } from './dataquery.gen';\nimport { queryMetricTree } from './metricTree';\nimport { generateRandomEdges, generateRandomNodes, savedNodesResponse } from './nodeGraphUtils';\nimport { runStream } from './runStreams';\nimport { flameGraphData, flameGraphDataDiff } from './testData/flameGraphResponse';\nimport { TestDataVariableSupport } from './variables';\n\nexport class TestDataDataSource extends DataSourceWithBackend<TestData> {\n scenariosCache?: Promise<Scenario[]>;\n\n constructor(\n instanceSettings: DataSourceInstanceSettings,\n private readonly templateSrv: TemplateSrv = getTemplateSrv()\n ) {\n super(instanceSettings);\n this.variables = new TestDataVariableSupport();\n this.annotations = {\n getDefaultQuery: () => ({ scenarioId: TestDataQueryType.Annotations, lines: 10 }),\n\n // Make sure annotations have scenarioId set\n prepareAnnotation: (old: AnnotationQuery<TestData>) => {\n if (old.target?.scenarioId?.length) {\n return old;\n }\n return {\n ...old,\n target: {\n refId: 'Anno',\n scenarioId: TestDataQueryType.Annotations,\n lines: 10,\n },\n };\n },\n };\n }\n\n getDefaultQuery(): Partial<TestData> {\n return {\n scenarioId: TestDataQueryType.RandomWalk,\n seriesCount: 1,\n };\n }\n\n query(options: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const backendQueries: TestData[] = [];\n const streams: Array<Observable<DataQueryResponse>> = [];\n\n // Start streams and prepare queries\n for (const target of options.targets) {\n if (target.hide) {\n continue;\n }\n\n this.resolveTemplateVariables(target, options.scopedVars);\n\n switch (target.scenarioId) {\n case 'live':\n streams.push(runGrafanaLiveQuery(target, options));\n break;\n case 'streaming_client':\n streams.push(runStream(target, options));\n break;\n case 'grafana_api':\n streams.push(runGrafanaAPI(target, options));\n break;\n case TestDataQueryType.Annotations:\n streams.push(this.annotationDataTopicTest(target, options));\n break;\n case 'variables-query':\n streams.push(this.variablesQuery(target, options));\n break;\n case 'node_graph':\n streams.push(this.nodesQuery(target, options));\n break;\n case 'flame_graph':\n streams.push(this.flameGraphQuery(target));\n break;\n case 'trace':\n streams.push(this.trace(options));\n break;\n case 'raw_frame':\n streams.push(this.rawFrameQuery(target, options));\n break;\n case 'server_error_500':\n // this now has an option where it can return/throw an error from the frontend.\n // if it doesn't, send it to the backend where it might panic there :)\n const query = this.serverErrorQuery(target, options);\n query ? streams.push(query) : backendQueries.push(target);\n break;\n // Unusable since 7, removed in 8\n case 'manual_entry': {\n let csvContent = 'Time,Value\\n';\n if (target.points) {\n for (const point of target.points) {\n csvContent += `${point[1]},${point[0]}\\n`;\n }\n }\n target.scenarioId = TestDataQueryType.CSVContent;\n target.csvContent = csvContent;\n }\n\n default:\n backendQueries.push(target);\n }\n }\n\n if (backendQueries.length) {\n const backendOpts = {\n ...options,\n targets: backendQueries,\n };\n streams.push(super.query(backendOpts));\n }\n\n if (streams.length === 0) {\n return of({ data: [] });\n }\n\n return merge(...streams);\n }\n\n resolveTemplateVariables(query: TestData, scopedVars: ScopedVars) {\n if (query.labels) {\n query.labels = this.templateSrv.replace(query.labels, scopedVars);\n }\n if (query.alias) {\n query.alias = this.templateSrv.replace(query.alias, scopedVars);\n }\n if (query.scenarioId) {\n query.scenarioId = this.templateSrv.replace(query.scenarioId, scopedVars) as TestDataQueryType;\n }\n if (query.stringInput) {\n query.stringInput = this.templateSrv.replace(query.stringInput, scopedVars);\n }\n if (query.csvContent) {\n query.csvContent = this.templateSrv.replace(query.csvContent, scopedVars);\n }\n if (query.rawFrameContent) {\n query.rawFrameContent = this.templateSrv.replace(query.rawFrameContent, scopedVars);\n }\n }\n\n applyTemplateVariables(query: TestData, scopedVars: ScopedVars): TestData {\n this.resolveTemplateVariables(query, scopedVars);\n return query;\n }\n\n annotationDataTopicTest(target: TestData, req: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const events = this.buildFakeAnnotationEvents(req.range, target.lines ?? 10);\n const dataFrame = new ArrayDataFrame(events);\n dataFrame.meta = { dataTopic: DataTopic.Annotations };\n return of({ key: target.refId, data: [dataFrame] }).pipe(delay(100));\n }\n\n buildFakeAnnotationEvents(range: TimeRange, count: number): AnnotationEvent[] {\n let timeWalker = range.from.valueOf();\n const to = range.to.valueOf();\n const events = [];\n const step = (to - timeWalker) / count;\n\n for (let i = 0; i < count; i++) {\n events.push({\n time: timeWalker,\n text: 'This is the text, <a href=\"https://grafana.com\">Grafana.com</a>',\n tags: ['text', 'server'],\n });\n timeWalker += step;\n }\n\n return events;\n }\n\n getQueryDisplayText(query: TestData) {\n const scenario = query.scenarioId ?? 'Default scenario';\n\n if (query.alias) {\n return scenario + ' as ' + query.alias;\n }\n\n return scenario;\n }\n\n testDatasource() {\n return Promise.resolve({\n status: 'success',\n message: 'Data source is working',\n });\n }\n\n getScenarios(): Promise<Scenario[]> {\n if (!this.scenariosCache) {\n this.scenariosCache = this.getResource('scenarios');\n }\n\n return this.scenariosCache;\n }\n\n variablesQuery(target: TestData, options: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const query = target.stringInput ?? '';\n const interpolatedQuery = this.templateSrv.replace(query, getSearchFilterScopedVar({ query, wildcardChar: '*' }));\n const children = queryMetricTree(interpolatedQuery);\n const items = children.map((item) => ({ value: item.name, text: item.name }));\n const dataFrame = new ArrayDataFrame(items);\n\n return of({ data: [dataFrame] }).pipe(delay(100));\n }\n\n nodesQuery(target: TestData, options: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const type = target.nodes?.type || 'random';\n let frames: DataFrame[];\n switch (type) {\n case 'random':\n frames = generateRandomNodes(target.nodes?.count, target.nodes?.seed);\n break;\n case 'response_small':\n frames = savedNodesResponse('small');\n break;\n case 'response_medium':\n frames = savedNodesResponse('medium');\n break;\n case 'random edges':\n frames = [generateRandomEdges(target.nodes?.count, target.nodes?.seed)];\n break;\n default:\n throw new Error(`Unknown node_graph sub type ${type}`);\n }\n\n return of({ data: frames }).pipe(delay(100));\n }\n\n flameGraphQuery(target: TestData): Observable<DataQueryResponse> {\n const data = target.flamegraphDiff ? flameGraphDataDiff : flameGraphData;\n return of({ data: [{ ...data, refId: target.refId }] }).pipe(delay(100));\n }\n\n trace(options: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const frame = new MutableDataFrame({\n meta: {\n preferredVisualisationType: 'trace',\n },\n fields: [\n { name: 'traceID' },\n { name: 'spanID' },\n { name: 'parentSpanID' },\n { name: 'operationName' },\n { name: 'serviceName' },\n { name: 'serviceTags' },\n { name: 'startTime' },\n { name: 'duration' },\n { name: 'logs' },\n { name: 'references' },\n { name: 'tags' },\n { name: 'kind' },\n { name: 'statusCode' },\n ],\n });\n const numberOfSpans = options.targets[0].spanCount || 10;\n const spanIdPrefix = '75c665dfb68';\n const start = Date.now() - 1000 * 60 * 30;\n const kinds = ['client', 'server', ''];\n const statusCodes = [0, 1, 2];\n\n for (let i = 0; i < numberOfSpans; i++) {\n frame.add({\n traceID: spanIdPrefix + '10000',\n spanID: spanIdPrefix + (10000 + i),\n parentSpanID: i === 0 ? '' : spanIdPrefix + 10000,\n operationName: `Operation ${i}`,\n serviceName: `Service ${i}`,\n startTime: start + i * 100,\n duration: 300,\n tags: [\n { key: 'http.method', value: 'POST' },\n { key: 'http.status_code', value: 200 },\n { key: 'http.url', value: `Service${i}:80` },\n ],\n serviceTags: [\n { key: 'client-uuid', value: '6238bacefsecba865' },\n { key: 'service.name', value: `Service${i}` },\n { key: 'ip', value: '0.0.0.1' },\n { key: 'latest_version', value: false },\n ],\n logs:\n i % 4 === 0\n ? [\n { timestamp: start + i * 100, fields: [{ key: 'msg', value: 'Service updated' }] },\n { timestamp: start + i * 100 + 200, fields: [{ key: 'host', value: 'app' }] },\n ]\n : [],\n kind: i === 0 ? 'client' : kinds[Math.floor(Math.random() * kinds.length)],\n statusCode: statusCodes[Math.floor(Math.random() * statusCodes.length)],\n });\n }\n\n return of({ data: [frame] }).pipe(delay(100));\n }\n\n rawFrameQuery(target: TestData, options: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n try {\n const data = JSON.parse(target.rawFrameContent ?? '[]').map((v: any) => {\n const f = toDataFrame(v);\n f.refId = target.refId;\n return f;\n });\n return of({ data, state: LoadingState.Done }).pipe(delay(100));\n } catch (ex) {\n return of({\n data: [],\n error: ex instanceof Error ? ex : new Error('Unkown error'),\n }).pipe(delay(100));\n }\n }\n\n serverErrorQuery(target: TestData, options: DataQueryRequest<TestData>): Observable<DataQueryResponse> | null {\n const { errorType } = target;\n\n if (errorType === 'server_panic') {\n return null;\n }\n\n const stringInput = target.stringInput ?? '';\n if (stringInput === '') {\n if (errorType === 'frontend_exception') {\n throw new Error('Scenario threw an exception in the frontend because the input was empty.');\n } else {\n return throwError(() => new Error('Scenario returned an error because the input was empty.'));\n }\n }\n\n return null;\n }\n}\n\nfunction runGrafanaAPI(target: TestData, req: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n const url = `/api/${target.stringInput}`;\n return from(\n getBackendSrv()\n .get(url)\n .then((res) => {\n const frame = new ArrayDataFrame(res);\n return {\n state: LoadingState.Done,\n data: [frame],\n };\n })\n );\n}\n\nlet liveQueryCounter = 1000;\n\nfunction runGrafanaLiveQuery(target: TestData, req: DataQueryRequest<TestData>): Observable<DataQueryResponse> {\n if (!target.channel) {\n throw new Error(`Missing channel config`);\n }\n return getGrafanaLiveSrv().getDataStream({\n addr: {\n scope: LiveChannelScope.Plugin,\n namespace: 'testdata',\n path: target.channel,\n },\n key: `testStream.${liveQueryCounter++}`,\n });\n}\n","import { DataSourcePlugin } from '@grafana/data';\n\nimport { ConfigEditor } from './ConfigEditor';\nimport { MetaDataInspector } from './MetaDataInspector';\nimport { QueryEditor } from './QueryEditor';\nimport { TestInfoTab } from './TestInfoTab';\nimport { TestDataDataSource } from './datasource';\n\nexport const plugin = new DataSourcePlugin(TestDataDataSource)\n .setConfigEditor(ConfigEditor)\n .setQueryEditor(QueryEditor)\n .setMetadataInspector(MetaDataInspector)\n .addConfigPage({\n title: 'Setup',\n icon: 'list-ul',\n body: TestInfoTab,\n id: 'setup',\n });\n"],"names":["ConfigEditor","MetaDataInspector","data","Stack","frame","index","streamingClientFields","types","StreamingClientEditor","onChange","query","onSelectChange","value","onInputChange","e","name","streamType","fields","InlineFieldRow","InlineField","Select","label","id","min","step","placeholder","Input","randomWalkFields","testSelectors","selectors","RandomWalkEditor","tooltip","selector","CSVContentEditor","onSaveCSV","csvContent","CodeEditor","CSVFileEditor","onChangeFileName","files","f","TestDataQueryType","defaultUSAQuery","defaultTestData","defaultPulseQuery","defaultCSVWaveQuery","defaultQuery","CSVWaveEditor","props","wave","last","onAdd","valuesCSV","setValuesCSV","labels","setLabels","setName","onAction","onValueChange","key","onKeyDown","evt","Button","CSVWavesEditor","waves","ERROR_OPTIONS","v","liveTestDataChannels","GrafanaLiveEditor","onChannelChange","NodeGraphEditor","type","options","o","item","PredictablePulseEditor","RawFrameEditor","error","setError","warning","setWarning","onSaveFrames","rawFrameContent","json","Alert","renderInput","field","config","newValue","getStyles","theme","SimulationSchemaForm","schema","jsonView","setJsonView","styles","onUpdateTextArea","event","element","FieldSet","TextArea","SimulationQueryEditor","ds","simQuery","simKey","cfgValue","setCfgValue","info","useAsync","s","current","path","onUpdateKey","onUIDChanged","onTickChanged","tick","onTypeChange","onToggleStream","onToggleLast","onSchemaFormChange","res","Label","USAQueryEditor","usaQueryModes","ep","fieldNames","vals","stateNames","getRandomLogLevel","getNextWord","words","getRandomLine","length","line","defaultStreamQuery","runStream","target","req","runSignalStream","runLogsStream","runFetchStream","runTracesStream","Observable","subscriber","streamId","maxDataPoints","spread","speed","bands","noise","i","suffix","StreamingDataFrame","timeoutId","lastSent","addNextRow","time","max","pushNextEvent","CircularDataFrame","reader","csv","row","processChunk","text","response","createMainTraceFrame","subframe","createTraceSubFrame","createTheme","endpoints","QueryEditor","datasource","onRunQuery","loading","scenarioList","point","hideAlias","onUpdate","currentScenario","scenario","scenarioId","description","onScenarioChange","sc","update","onFieldChange","onEndPointChange","onStreamClientChange","onPulseWaveChange","onUSAStatsChange","usa","onCSVWaveChange","csvWave","a","b","show","Icon","val","ErrorEditor","TestInfoTab","buildMetricTree","parent","depth","chars","children","letter","nodeName","queryTree","queryIndex","nodeQuery","result","namesToMatch","node","nameToMatch","pattern","queryMetricTree","nodes","edges","generateRandomNodes","count","seed","rand","root","nodesWithoutMaxEdges","maxEdges","makeRandomNode","sourceIndex","source","additionalEdges","targetIndex","nodeFields","nodeFrame","MutableDataFrame","edgesFrame","edgesSet","rnd","edge","success","savedNodesResponse","size","generateRandomEdges","flameGraphData","flameGraphDataDiff","TestDataVariableSupport","TestDataDataSource","DataSourceWithBackend","instanceSettings","templateSrv","old","backendQueries","streams","runGrafanaLiveQuery","runGrafanaAPI","backendOpts","of","merge","scopedVars","events","dataFrame","ArrayDataFrame","delay","range","timeWalker","to","interpolatedQuery","items","frames","numberOfSpans","spanIdPrefix","start","kinds","statusCodes","ex","errorType","throwError","url","from","liveQueryCounter"],"sourceRoot":""}
Submit
FILE
FOLDER
INFO
Name
Size
Permission
Action
static
---
0755
0.c88fc16b6533c8976681.js
11857 bytes
0644
0.c88fc16b6533c8976681.js.map
46011 bytes
0644
1118.6d1cbbd2070e00a7483d.js
9459 bytes
0644
1118.6d1cbbd2070e00a7483d.js.map
22012 bytes
0644
1121.6c31bf81768d3312b0d4.js
11557 bytes
0644
1121.6c31bf81768d3312b0d4.js.map
40274 bytes
0644
1122.1b3b5a9bdf4a2fc70a83.js
4310 bytes
0644
1122.1b3b5a9bdf4a2fc70a83.js.map
9301 bytes
0644
1133.cd705902767ed2e9bf55.js
107191 bytes
0644
1133.cd705902767ed2e9bf55.js.map
459177 bytes
0644
1216.ddb58ad09e0c4e3f4079.js
12860 bytes
0644
1216.ddb58ad09e0c4e3f4079.js.map
47906 bytes
0644
1282.2347f27d5b3a18a42a1e.js
2965 bytes
0644
1282.2347f27d5b3a18a42a1e.js.map
6699 bytes
0644
1345.8570fef914aafab94513.js
2223 bytes
0644
1345.8570fef914aafab94513.js.map
5201 bytes
0644
1347.8ad23b870a6e21306189.js
32035 bytes
0644
1347.8ad23b870a6e21306189.js.map
89851 bytes
0644
1420.f2553cafc235b7c32261.js
14576 bytes
0644
1420.f2553cafc235b7c32261.js.map
32839 bytes
0644
1438.897db349b7f48a15b9eb.js
2830 bytes
0644
1438.897db349b7f48a15b9eb.js.map
6911 bytes
0644
1446.babd36e7134aac1046c4.js
1832 bytes
0644
1446.babd36e7134aac1046c4.js.map
3282 bytes
0644
1488.ff35935a06f41b02b6cc.js
316 bytes
0644
1488.ff35935a06f41b02b6cc.js.map
1206 bytes
0644
1560.30962127c91e5eae9982.js
8916 bytes
0644
1560.30962127c91e5eae9982.js.map
20515 bytes
0644
1660.e1f66118fb028d12074f.js
21866 bytes
0644
1660.e1f66118fb028d12074f.js.map
71039 bytes
0644
1698.68ff1ef08e94a87836b3.js
12570 bytes
0644
1698.68ff1ef08e94a87836b3.js.map
46006 bytes
0644
1708.f42a783c0f6c7a317d49.js
2249 bytes
0644
1708.f42a783c0f6c7a317d49.js.map
2954 bytes
0644
1710.d96221051fceaf8c89dd.js
10172 bytes
0644
1710.d96221051fceaf8c89dd.js.map
22097 bytes
0644
1740.e57d920c47a11759ade4.js
6204 bytes
0644
1740.e57d920c47a11759ade4.js.map
13740 bytes
0644
1888.0ede69d3190c536744b9.js
6822 bytes
0644
1888.0ede69d3190c536744b9.js.map
15421 bytes
0644
1914.58113477b565d57e8bfe.js
10710 bytes
0644
1914.58113477b565d57e8bfe.js.map
23555 bytes
0644
198.b84c0e4f5759344ae05a.js
8267 bytes
0644
198.b84c0e4f5759344ae05a.js.map
19446 bytes
0644
205.6c51b5e35c8147226738.js
3542 bytes
0644
205.6c51b5e35c8147226738.js.map
8376 bytes
0644
2058.0e5df44647184aaf02e2.js
1252 bytes
0644
2058.0e5df44647184aaf02e2.js.map
4744 bytes
0644
2077.12b2df3682085a92a810.js
34133 bytes
0644
2077.12b2df3682085a92a810.js.map
122011 bytes
0644
2094.259625d8acf28b9c7361.js
16518 bytes
0644
2094.259625d8acf28b9c7361.js.map
41269 bytes
0644
21.afca69f2d336e287a655.js
6172 bytes
0644
21.afca69f2d336e287a655.js.map
17305 bytes
0644
2136.9c8dcd43d3af327f51f5.js
498667 bytes
0644
2136.9c8dcd43d3af327f51f5.js.map
1908011 bytes
0644
2228.cf629cf4a83c5b6c2671.js
269 bytes
0644
2228.cf629cf4a83c5b6c2671.js.map
457 bytes
0644
2244.9324c28eca7d2ffb7568.js
3396 bytes
0644
2244.9324c28eca7d2ffb7568.js.map
7683 bytes
0644
2261.ac6a26854d5acee00776.js
106373 bytes
0644
2261.ac6a26854d5acee00776.js.map
478562 bytes
0644
2278.bdd73b14b6337c6b14e4.js
5754 bytes
0644
2278.bdd73b14b6337c6b14e4.js.map
13399 bytes
0644
2398.3de0e7aa3057b7dcf9da.js
8016 bytes
0644
2398.3de0e7aa3057b7dcf9da.js.map
18383 bytes
0644
2514.c86950e9813e27962050.js
1983 bytes
0644
2514.c86950e9813e27962050.js.map
4863 bytes
0644
2571.345ecfd2b82551018f2e.js
162139 bytes
0644
2571.345ecfd2b82551018f2e.js.map
2046 bytes
0644
2586.972e9a7d564398afee76.js
6385 bytes
0644
2586.972e9a7d564398afee76.js.map
14676 bytes
0644
2658.f4100815829c4d37d35c.js
5432 bytes
0644
2658.f4100815829c4d37d35c.js.map
13650 bytes
0644
2686.2fbaa7db9c01d59cad8d.js
2815 bytes
0644
2686.2fbaa7db9c01d59cad8d.js.map
6564 bytes
0644
2692.20098ad0182743d98d62.js
2282 bytes
0644
2692.20098ad0182743d98d62.js.map
5680 bytes
0644
2694.a31d749361a36eb167da.js
2726 bytes
0644
2694.a31d749361a36eb167da.js.map
3618 bytes
0644
2745.2e5ec1fdf377d2940fb4.js
33584 bytes
0644
2745.2e5ec1fdf377d2940fb4.js.map
120277 bytes
0644
2962.4c3147d8ee365fe296ef.js
7640 bytes
0644
2962.4c3147d8ee365fe296ef.js.map
17621 bytes
0644
3042.248a4194805a8500fd28.js
19010 bytes
0644
3042.248a4194805a8500fd28.js.map
38148 bytes
0644
3062.4e9a427c2a59d53f902e.js
4663 bytes
0644
3062.4e9a427c2a59d53f902e.js.map
10650 bytes
0644
3082.c09cff56c35d736ee8b6.js
52872 bytes
0644
3082.c09cff56c35d736ee8b6.js.map
56822 bytes
0644
3096.8d41728a4f5010bc56a2.js
4378 bytes
0644
3096.8d41728a4f5010bc56a2.js.map
10739 bytes
0644
3098.f22ad6dab13d06477be0.js
31462 bytes
0644
3098.f22ad6dab13d06477be0.js.map
85588 bytes
0644
3182.1d531f28507c00e391fc.js
13817 bytes
0644
3182.1d531f28507c00e391fc.js.map
26653 bytes
0644
3407.666eb88a718e66b93f72.js
34425 bytes
0644
3407.666eb88a718e66b93f72.js.map
103716 bytes
0644
3418.d31d882b87bd5a2ef66f.js
33061 bytes
0644
3418.d31d882b87bd5a2ef66f.js.map
114234 bytes
0644
3541.8d063e3d43d55745d89b.js
20582 bytes
0644
3541.8d063e3d43d55745d89b.js.map
67154 bytes
0644
3543.eecef49ce94da5ee0418.js
136752 bytes
0644
3543.eecef49ce94da5ee0418.js.map
446118 bytes
0644
3622.976b1aef94b333e450b9.js
1260 bytes
0644
3622.976b1aef94b333e450b9.js.map
2819 bytes
0644
3686.102abfc00452299017bb.js
87 bytes
0644
3718.3993946b7a0eb8f64b4d.js
23620 bytes
0644
3718.3993946b7a0eb8f64b4d.js.map
92024 bytes
0644
3726.3adfe210678d2cd26969.js
31765 bytes
0644
3726.3adfe210678d2cd26969.js.map
118227 bytes
0644
398.4e93ffb675609ea7a9c6.js
2990 bytes
0644
398.4e93ffb675609ea7a9c6.js.map
7145 bytes
0644
4114.953b39a9ce57caa0e87a.js
2536 bytes
0644
4114.953b39a9ce57caa0e87a.js.map
6028 bytes
0644
4120.67bf5d203ed4a2eb5f1b.js
3229 bytes
0644
4120.67bf5d203ed4a2eb5f1b.js.map
7533 bytes
0644
4209.c7060d489834063658f5.js
17352 bytes
0644
4209.c7060d489834063658f5.js.map
30980 bytes
0644
4254.c5f4a5512b252e3a5796.js
71716 bytes
0644
4254.c5f4a5512b252e3a5796.js.map
237783 bytes
0644
4289.d5662b0904798ff437e9.js
16496 bytes
0644
4289.d5662b0904798ff437e9.js.map
32015 bytes
0644
4334.bc078c368a20ed3257b6.js
2598 bytes
0644
4334.bc078c368a20ed3257b6.js.map
6308 bytes
0644
4630.b604ea691184ba563d59.js
5585 bytes
0644
4630.b604ea691184ba563d59.js.map
11866 bytes
0644
4680.358dfdd92851f69ecc97.js
4573 bytes
0644
4680.358dfdd92851f69ecc97.js.map
10841 bytes
0644
4698.696713071ff5d9929a11.js
3682 bytes
0644
4698.696713071ff5d9929a11.js.map
8967 bytes
0644
4787.bd938ea7cb58d64ee246.js
738 bytes
0644
4787.bd938ea7cb58d64ee246.js.map
2168 bytes
0644
4839.17a10e0ceca3eb8954b4.js
39585 bytes
0644
4839.17a10e0ceca3eb8954b4.js.map
145699 bytes
0644
494.8cf705bc1ea509187c88.js
3796 bytes
0644
494.8cf705bc1ea509187c88.js.map
8987 bytes
0644
4958.cd447d877778fc5af081.js
4923 bytes
0644
4958.cd447d877778fc5af081.js.map
11000 bytes
0644
4962.0da526ad79f816a15985.js
2242 bytes
0644
4962.0da526ad79f816a15985.js.map
4978 bytes
0644
50.7b1e44d5b9dbbed566be.js
617497 bytes
0644
50.7b1e44d5b9dbbed566be.js.map
2271464 bytes
0644
5017.003cacead1bba1cba035.js
3567142 bytes
0644
5017.003cacead1bba1cba035.js.map
13214665 bytes
0644
5130.4d31108de97088a3b014.js
2850 bytes
0644
5130.4d31108de97088a3b014.js.map
6536 bytes
0644
5196.064b914693b6a5591a48.js
4035 bytes
0644
5196.064b914693b6a5591a48.js.map
10273 bytes
0644
5240.eceb5f73f807ac22d800.js
704 bytes
0644
5240.eceb5f73f807ac22d800.js.map
2618 bytes
0644
5277.ce6608b6f47246e32767.js
269 bytes
0644
5277.ce6608b6f47246e32767.js.map
457 bytes
0644
5280.4348c762594edebf7d0e.js
16657 bytes
0644
5280.4348c762594edebf7d0e.js.map
89146 bytes
0644
5356.eabc0dc2021a3814a65f.js
10156 bytes
0644
5356.eabc0dc2021a3814a65f.js.map
25249 bytes
0644
5358.7c5e9e1b192582f3082d.js
6173 bytes
0644
5358.7c5e9e1b192582f3082d.js.map
19652 bytes
0644
5364.ac21c32fd45a27bc998a.js
3070 bytes
0644
5364.ac21c32fd45a27bc998a.js.map
7368 bytes
0644
5398.d0c11aa7c1232f4afe44.js
81872 bytes
0644
5398.d0c11aa7c1232f4afe44.js.map
769414 bytes
0644
5428.e85b0800b30feca9d7dc.js
330175 bytes
0644
5428.e85b0800b30feca9d7dc.js.map
530929 bytes
0644
5511.93023985e5c5efe49ae2.js
21275 bytes
0644
5511.93023985e5c5efe49ae2.js.map
93188 bytes
0644
5550.9284e42acc3f2bbdfc9d.js
7039 bytes
0644
5550.9284e42acc3f2bbdfc9d.js.map
16382 bytes
0644
558.701e8b4db7b852c4a10d.js
12211 bytes
0644
558.701e8b4db7b852c4a10d.js.map
24505 bytes
0644
5618.638c32d58d896f3f7261.js
3348 bytes
0644
5618.638c32d58d896f3f7261.js.map
8181 bytes
0644
5648.cb3fd92dbbc06f7d45d2.js
57392 bytes
0644
5648.cb3fd92dbbc06f7d45d2.js.map
60585 bytes
0644
5786.db7abc3b8e4f474a8f7b.js
5325 bytes
0644
5786.db7abc3b8e4f474a8f7b.js.map
11885 bytes
0644
5807.f05d997ece5811bbc849.js
2922915 bytes
0644
5807.f05d997ece5811bbc849.js.map
10524334 bytes
0644
5950.30ec6aaa9dcece6c3b3c.js
4616249 bytes
0644
5950.30ec6aaa9dcece6c3b3c.js.map
19277501 bytes
0644
6018.f4de7ac19ac8f0c774e6.js
5861 bytes
0644
6018.f4de7ac19ac8f0c774e6.js.map
13314 bytes
0644
6029.0549a3fcb50e73c4b256.js
409895 bytes
0644
6029.0549a3fcb50e73c4b256.js.map
998408 bytes
0644
6185.883629fcc773b4968b24.js
2258 bytes
0644
6185.883629fcc773b4968b24.js.map
4788 bytes
0644
6263.e4ef9aaa3073ebacc3a5.js
54594 bytes
0644
6263.e4ef9aaa3073ebacc3a5.js.map
242030 bytes
0644
6302.257b2eb06c25ee74090e.js
8440 bytes
0644
6302.257b2eb06c25ee74090e.js.map
19322 bytes
0644
6359.f824c85233ec703f8cea.js
11411 bytes
0644
6359.f824c85233ec703f8cea.js.map
41881 bytes
0644
6377.45d36c143a694fc45bd3.js
20571 bytes
0644
6377.45d36c143a694fc45bd3.js.map
79590 bytes
0644
6378.27b1e6d863a0a3b85962.js
977993 bytes
0644
6378.27b1e6d863a0a3b85962.js.map
3865587 bytes
0644
6414.192cf271de6ecbbbcb11.js
3984 bytes
0644
6414.192cf271de6ecbbbcb11.js.map
9134 bytes
0644
6446.b4b93ee91aa1bb57ea93.js
7731 bytes
0644
6446.b4b93ee91aa1bb57ea93.js.map
17485 bytes
0644
6464.f379e014f9909e621de6.js
34429 bytes
0644
6464.f379e014f9909e621de6.js.map
113303 bytes
0644
6499.9f52e0855fd4782a8b45.js
78297 bytes
0644
6499.9f52e0855fd4782a8b45.js.map
273155 bytes
0644
6587.bfb1ca0c32c6f325b0df.js
135004 bytes
0644
6587.bfb1ca0c32c6f325b0df.js.map
541974 bytes
0644
660.838743295c2108f3492d.js
43101 bytes
0644
660.838743295c2108f3492d.js.map
100340 bytes
0644
6678.a615dbe07b8a3e591e66.js
14725 bytes
0644
6678.a615dbe07b8a3e591e66.js.map
51145 bytes
0644
680.1a328432fae403eacab3.js
53846 bytes
0644
680.1a328432fae403eacab3.js.map
57615 bytes
0644
6830.0c200fec1efc2be388e2.js
5811 bytes
0644
6830.0c200fec1efc2be388e2.js.map
13972 bytes
0644
6934.fa19d392db34411fb300.js
168944 bytes
0644
6934.fa19d392db34411fb300.js.map
540337 bytes
0644
6940.9c5d3a2dcf9d7d58fa2c.js
3408 bytes
0644
6940.9c5d3a2dcf9d7d58fa2c.js.map
8039 bytes
0644
6969.f8f153735314f9426000.js
1119 bytes
0644
6969.f8f153735314f9426000.js.map
4230 bytes
0644
6990.cc2f5674128929a3f870.js
4418 bytes
0644
6990.cc2f5674128929a3f870.js.map
10503 bytes
0644
7048.117de444b1e1cb5a1360.js
4365 bytes
0644
7048.117de444b1e1cb5a1360.js.map
10316 bytes
0644
7166.480da6892ee84ee8bb53.js
593985 bytes
0644
7166.480da6892ee84ee8bb53.js.map
2430098 bytes
0644
7200.dc60128b9d612fc7b5b0.js
3634 bytes
0644
7200.dc60128b9d612fc7b5b0.js.map
8184 bytes
0644
7246.3adf293a34fa2043387b.js
4306 bytes
0644
7246.3adf293a34fa2043387b.js.map
9084 bytes
0644
7400.024c96bd5b99b8b47a63.js
14112 bytes
0644
7400.024c96bd5b99b8b47a63.js.map
64001 bytes
0644
7409.24316c87d08c1053c46a.js
3287 bytes
0644
7409.24316c87d08c1053c46a.js.map
11649 bytes
0644
7455.845968885abe369e6479.js
19801 bytes
0644
7455.845968885abe369e6479.js.map
77213 bytes
0644
7466.09e6e197d2507f62097d.js
11670 bytes
0644
7466.09e6e197d2507f62097d.js.map
24830 bytes
0644
7515.95323f0dfbd0de010e5c.js
1083 bytes
0644
7515.95323f0dfbd0de010e5c.js.map
1321 bytes
0644
7613.6334cff4df12cc157522.js
808779 bytes
0644
7613.6334cff4df12cc157522.js.map
991378 bytes
0644
7836.6a7e4207e70fc2dc235f.js
7192 bytes
0644
7836.6a7e4207e70fc2dc235f.js.map
17613 bytes
0644
7882.1a3cc418752c83396970.js
3743 bytes
0644
7882.1a3cc418752c83396970.js.map
14950 bytes
0644
7886.485c46f14540aa23cf70.js
8668 bytes
0644
7886.485c46f14540aa23cf70.js.map
20124 bytes
0644
7914.2b1a06c504df18e20fe4.js
2390 bytes
0644
7914.2b1a06c504df18e20fe4.js.map
6418 bytes
0644
7982.6761217193d3060dbf0e.js
188973 bytes
0644
7982.6761217193d3060dbf0e.js.map
1737667 bytes
0644
8054.094788468423bb88ee68.js
38124 bytes
0644
8054.094788468423bb88ee68.js.map
132296 bytes
0644
8107.92bd414247a1d05c014f.js
5144 bytes
0644
8107.92bd414247a1d05c014f.js.map
15320 bytes
0644
8230.2eedae6021a4715c6dea.js
2413 bytes
0644
8230.2eedae6021a4715c6dea.js.map
5812 bytes
0644
8332.f4b05d2f028641445650.js
3177 bytes
0644
8332.f4b05d2f028641445650.js.map
7186 bytes
0644
8334.c95ec0eb6900c0cf7e89.js
7803 bytes
0644
8334.c95ec0eb6900c0cf7e89.js.map
17714 bytes
0644
8390.1fd9505094c8cf8830ab.js
2096 bytes
0644
8390.1fd9505094c8cf8830ab.js.map
5157 bytes
0644
84.a6f8658e6a033d642231.js
30608 bytes
0644
84.a6f8658e6a033d642231.js.map
142543 bytes
0644
8494.4470c87b7093ddf70db7.js
2180 bytes
0644
8494.4470c87b7093ddf70db7.js.map
4863 bytes
0644
8542.1391ab96a455b01963a7.js
1514 bytes
0644
8542.1391ab96a455b01963a7.js.map
3249 bytes
0644
8566.e05562713181c6ca30fe.js
3852 bytes
0644
8566.e05562713181c6ca30fe.js.map
8781 bytes
0644
8730.3dcdd8cbf22c63b45d78.js
2109 bytes
0644
8730.3dcdd8cbf22c63b45d78.js.map
2893 bytes
0644
8786.1b0e43b80c82c73e2096.js
1535 bytes
0644
8786.1b0e43b80c82c73e2096.js.map
4055 bytes
0644
8902.37d0b14aa6ef24687b7b.js
2673 bytes
0644
8902.37d0b14aa6ef24687b7b.js.map
5993 bytes
0644
8990.5a822b8788ebf0bdba81.js
3969 bytes
0644
8990.5a822b8788ebf0bdba81.js.map
9161 bytes
0644
9034.200fc7a09b466256c9a9.js
3486 bytes
0644
9034.200fc7a09b466256c9a9.js.map
8180 bytes
0644
9038.7ae2448b9cc5c423aeca.js
4937 bytes
0644
9038.7ae2448b9cc5c423aeca.js.map
11973 bytes
0644
9118.3121c6b96ec7dc211973.js
48311 bytes
0644
9118.3121c6b96ec7dc211973.js.map
62149 bytes
0644
9150.9eb62d45f9b21cb38850.js
10056 bytes
0644
9150.9eb62d45f9b21cb38850.js.map
21143 bytes
0644
9199.9897e268d6d13e834d4c.js
2307 bytes
0644
9199.9897e268d6d13e834d4c.js.map
8853 bytes
0644
9320.c403e78b78aa6df1d0bd.js
336139 bytes
0644
9320.c403e78b78aa6df1d0bd.js.map
1624993 bytes
0644
9355.421530b20c759bb75633.js
22098 bytes
0644
9355.421530b20c759bb75633.js.map
66961 bytes
0644
9384.a0d5fc49f1b15b3e311e.js
2855 bytes
0644
9384.a0d5fc49f1b15b3e311e.js.map
3717 bytes
0644
9390.fa2af7f3d3d9600c08ee.js
4201 bytes
0644
9390.fa2af7f3d3d9600c08ee.js.map
9682 bytes
0644
946.f2494c0c39a9590349b9.js
9194 bytes
0644
946.f2494c0c39a9590349b9.js.map
22193 bytes
0644
9510.4cfa85a51931dc20573a.js
2949 bytes
0644
9510.4cfa85a51931dc20573a.js.map
6939 bytes
0644
9521.de2a74ca5eb365810ca5.js
46306 bytes
0644
9521.de2a74ca5eb365810ca5.js.map
51040 bytes
0644
9538.996ade7a03ccdb01942d.js
64493 bytes
0644
9538.996ade7a03ccdb01942d.js.map
49212 bytes
0644
9569.a8d60b39654a160cb917.js
27965 bytes
0644
9569.a8d60b39654a160cb917.js.map
99160 bytes
0644
9643.b408884004ca73c102bc.js
627 bytes
0644
9643.b408884004ca73c102bc.js.map
2195 bytes
0644
968.22e079d28acb4131d34c.js
4001 bytes
0644
968.22e079d28acb4131d34c.js.map
9740 bytes
0644
970.a61e37b9b897c8098261.js
5239 bytes
0644
970.a61e37b9b897c8098261.js.map
13858 bytes
0644
9711.d6e977bd60f0e5ba673d.js
13555 bytes
0644
9711.d6e977bd60f0e5ba673d.js.map
43973 bytes
0644
9737.3340c89ea96d33307cc7.js
1001 bytes
0644
9737.3340c89ea96d33307cc7.js.map
3504 bytes
0644
9739.5a801055fcf72bf4d06f.js
1147 bytes
0644
9739.5a801055fcf72bf4d06f.js.map
4390 bytes
0644
9772.49e918c9331237552c0b.js
141 bytes
0644
9772.49e918c9331237552c0b.js.map
416 bytes
0644
9838.b8f01dc360f0c2151291.js
4003 bytes
0644
9838.b8f01dc360f0c2151291.js.map
8118 bytes
0644
AdminAuthentication.b7044adf53b669e61a87.js
22504 bytes
0644
AdminAuthentication.b7044adf53b669e61a87.js.map
67352 bytes
0644
AdminEditOrgPage.96fb6c37346641f44246.js
6369 bytes
0644
AdminEditOrgPage.96fb6c37346641f44246.js.map
20602 bytes
0644
AdminFeatureTogglesPage.22157fe31f358f1c4f09.js
4939 bytes
0644
AdminFeatureTogglesPage.22157fe31f358f1c4f09.js.map
16531 bytes
0644
AdminListOrgsPage.f01c8496fd635e20124b.js
2702 bytes
0644
AdminListOrgsPage.f01c8496fd635e20124b.js.map
7735 bytes
0644
AdminSettings.845c6def917892a0c1f9.js
1903 bytes
0644
AdminSettings.845c6def917892a0c1f9.js.map
5580 bytes
0644
AlertAmRoutes.10a0d9a23a082caf12c8.js
54554 bytes
0644
AlertAmRoutes.10a0d9a23a082caf12c8.js.map
208792 bytes
0644
AlertGroups.efd523dc41621f9f7935.js
10088 bytes
0644
AlertGroups.efd523dc41621f9f7935.js.map
39108 bytes
0644
AlertRuleListIndex.f0b17a6119cc5ea575ed.js
44623 bytes
0644
AlertRuleListIndex.f0b17a6119cc5ea575ed.js.map
156842 bytes
0644
AlertRuleListLegacy.8e675db4469232c87308.js
6270 bytes
0644
AlertRuleListLegacy.8e675db4469232c87308.js.map
18086 bytes
0644
AlertSilences.4ff252ad4c0057124d5d.js
24687 bytes
0644
AlertSilences.4ff252ad4c0057124d5d.js.map
83377 bytes
0644
AlertTabCtrl.d3377d127a336a69beb5.js
9844 bytes
0644
AlertTabCtrl.d3377d127a336a69beb5.js.map
27934 bytes
0644
AlertingAdmin.e62f9c73a69abe6a1ac0.js
10523 bytes
0644
AlertingAdmin.e62f9c73a69abe6a1ac0.js.map
37393 bytes
0644
AlertingFeatureTogglePage.f971bb7b2ad4ceb0acbd.js
672 bytes
0644
AlertingFeatureTogglePage.f971bb7b2ad4ceb0acbd.js.map
1220 bytes
0644
AlertingHome.0d6be993ef4a3df37345.js
33492 bytes
0644
AlertingHome.0d6be993ef4a3df37345.js.map
106868 bytes
0644
AlertingRedirectToRule.37a0040f89e20b99b751.js
3648 bytes
0644
AlertingRedirectToRule.37a0040f89e20b99b751.js.map
10875 bytes
0644
AlertingRuleForm.66bb5b2724b31ae6a5a4.js
79931 bytes
0644
AlertingRuleForm.66bb5b2724b31ae6a5a4.js.map
292923 bytes
0644
AlertingUpgrade.c757b99e306db50cdb16.js
31333 bytes
0644
AlertingUpgrade.c757b99e306db50cdb16.js.map
98330 bytes
0644
AngularApp.7e72879caebef22a5217.js
72809 bytes
0644
AngularApp.7e72879caebef22a5217.js.map
102853 bytes
0644
ApiKeysPage.12b0cd511f7b1e9c50dc.js
8422 bytes
0644
ApiKeysPage.12b0cd511f7b1e9c50dc.js.map
23375 bytes
0644
BenchmarksPage.3a183df3d44714f9a96a.js
2941 bytes
0644
BenchmarksPage.3a183df3d44714f9a96a.js.map
9749 bytes
0644
ChangePasswordPage.5e0562f6a9674bd95cfe.js
470 bytes
0644
ChangePasswordPage.5e0562f6a9674bd95cfe.js.map
1195 bytes
0644
Connections.b53c715b9b9a782d8647.js
32448 bytes
0644
Connections.b53c715b9b9a782d8647.js.map
112998 bytes
0644
CorrelationsFeatureToggle.71addced22f59948b708.js
674 bytes
0644
CorrelationsFeatureToggle.71addced22f59948b708.js.map
1149 bytes
0644
CorrelationsPage.4e02feddf752bdf7cfe6.js
22725 bytes
0644
CorrelationsPage.4e02feddf752bdf7cfe6.js.map
69262 bytes
0644
CreateTeam.dbde5b87278cf087cc5e.js
3046 bytes
0644
CreateTeam.dbde5b87278cf087cc5e.js.map
9594 bytes
0644
DashboardImport.06e6c4c03113061aae6c.js
18153 bytes
0644
DashboardImport.06e6c4c03113061aae6c.js.map
58242 bytes
0644
DashboardListPage.dac1fe75fbaa4f9b1c23.js
30967 bytes
0644
DashboardListPage.dac1fe75fbaa4f9b1c23.js.map
108517 bytes
0644
DashboardPage.5e50193556ad6b828f5d.js
2786 bytes
0644
DashboardPage.5e50193556ad6b828f5d.js.map
8754 bytes
0644
DashboardPageProxy.9a6d60e5cac89c11c71c.js
65136 bytes
0644
DashboardPageProxy.9a6d60e5cac89c11c71c.js.map
226791 bytes
0644
DataTrailsPage.aa19ca6750eb3f91ac5d.js
331 bytes
0644
DataTrailsPage.aa19ca6750eb3f91ac5d.js.map
582 bytes
0644
EditNotificationChannelLegacy.75122e6dbfb215d89d81.js
10507 bytes
0644
EditNotificationChannelLegacy.75122e6dbfb215d89d81.js.map
37444 bytes
0644
EmbeddedDashboard.3856404d3d608c739864.js
1768 bytes
0644
EmbeddedDashboard.3856404d3d608c739864.js.map
5917 bytes
0644
FolderAlerting.a0fe69e3574320c8a74a.js
9633 bytes
0644
FolderAlerting.a0fe69e3574320c8a74a.js.map
29985 bytes
0644
FolderLibraryPanelsPage.95dd7bf6735e202a79d2.js
8599 bytes
0644
FolderLibraryPanelsPage.95dd7bf6735e202a79d2.js.map
25919 bytes
0644
LibraryPanelsPage.4a952d4aa9c21984995a.js
2704 bytes
0644
LibraryPanelsPage.4a952d4aa9c21984995a.js.map
7623 bytes
0644
ListPublicDashboardPage.469a693c4011a5193fcd.js
4713 bytes
0644
ListPublicDashboardPage.469a693c4011a5193fcd.js.map
14309 bytes
0644
MuteTimings.cb66b37f52c9ee3ce1da.js
20855 bytes
0644
MuteTimings.cb66b37f52c9ee3ce1da.js.map
58932 bytes
0644
NewNotificationChannelLegacy.1d57814bc534bb1a3681.js
9785 bytes
0644
NewNotificationChannelLegacy.1d57814bc534bb1a3681.js.map
32951 bytes
0644
NewOrgPage.2bb0e1cab09f0cbd0310.js
1325 bytes
0644
NewOrgPage.2bb0e1cab09f0cbd0310.js.map
3158 bytes
0644
NotificationsListLegacyPage.33212668898a6db361a8.js
2547 bytes
0644
NotificationsListLegacyPage.33212668898a6db361a8.js.map
6671 bytes
0644
NotificationsListPage.1eb9cb05bf88eee08291.js
1620 bytes
0644
NotificationsListPage.1eb9cb05bf88eee08291.js.map
3378 bytes
0644
NotificationsPage.d26b90d7348139106351.js
4646 bytes
0644
NotificationsPage.d26b90d7348139106351.js.map
25381 bytes
0644
OrgDetailsPage.2d5c98f188683c2e1d3b.js
6742 bytes
0644
OrgDetailsPage.2d5c98f188683c2e1d3b.js.map
17850 bytes
0644
PlaylistEditPage.d14b3673a1bb03ca0dbb.js
6892 bytes
0644
PlaylistEditPage.d14b3673a1bb03ca0dbb.js.map
19989 bytes
0644
PlaylistNewPage.13696f39b95b8416ede2.js
6583 bytes
0644
PlaylistNewPage.13696f39b95b8416ede2.js.map
19084 bytes
0644
PlaylistPage.8f45dcc09add615f90e8.js
7895 bytes
0644
PlaylistPage.8f45dcc09add615f90e8.js.map
25502 bytes
0644
PlaylistStartPage.8be462b13a24cddee188.js
275 bytes
0644
PlaylistStartPage.8be462b13a24cddee188.js.map
698 bytes
0644
PluginListPage.815b65d32380d0a800f7.js
12167 bytes
0644
PluginListPage.815b65d32380d0a800f7.js.map
43537 bytes
0644
PluginPage.c790de5e17a0b728dd3a.js
314 bytes
0644
PluginPage.c790de5e17a0b728dd3a.js.map
668 bytes
0644
ProfileFeatureTogglePage.a14257ebc5da1e8c85e0.js
552 bytes
0644
ProfileFeatureTogglePage.a14257ebc5da1e8c85e0.js.map
1012 bytes
0644
PublicDashboardPage.51c7c24941781e091898.js
4295 bytes
0644
PublicDashboardPage.51c7c24941781e091898.js.map
14393 bytes
0644
SelectOrgPage.695c19a5101a3a03ee28.js
1124 bytes
0644
SelectOrgPage.695c19a5101a3a03ee28.js.map
2993 bytes
0644
SendResetMailPage.f16b7172a87070f57227.js
1736 bytes
0644
SendResetMailPage.f16b7172a87070f57227.js.map
4350 bytes
0644
ServerStats.3fbd2493deb8f4598755.js
3863 bytes
0644
ServerStats.3fbd2493deb8f4598755.js.map
11534 bytes
0644
ServiceAccountCreatePage.4f989fb6cd2a41193ff0.js
2440 bytes
0644
ServiceAccountCreatePage.4f989fb6cd2a41193ff0.js.map
7939 bytes
0644
ServiceAccountPage.bc7c35b63b03ccc89628.js
14806 bytes
0644
ServiceAccountPage.bc7c35b63b03ccc89628.js.map
51593 bytes
0644
ServiceAccountsPage.baaa08c045390c05e276.js
14565 bytes
0644
ServiceAccountsPage.baaa08c045390c05e276.js.map
46399 bytes
0644
SignupInvited.81ad56aceb8dd1839e15.js
2360 bytes
0644
SignupInvited.81ad56aceb8dd1839e15.js.map
6096 bytes
0644
SnapshotListPage.519c760ed66124a771ff.js
3061 bytes
0644
SnapshotListPage.519c760ed66124a771ff.js.map
9043 bytes
0644
SoloPanelPage.c729750a88c3fa90d1cc.js
3229 bytes
0644
SoloPanelPage.c729750a88c3fa90d1cc.js.map
12316 bytes
0644
SoloPanelPageOld.6518c21ccaf29701fa97.js
1727 bytes
0644
SoloPanelPageOld.6518c21ccaf29701fa97.js.map
5509 bytes
0644
StoragePage.9b93a99e75f7f2842c11.js
14081 bytes
0644
StoragePage.9b93a99e75f7f2842c11.js.map
48740 bytes
0644
SupportBundles.567d512b3f919b8112e4.js
3058 bytes
0644
SupportBundles.567d512b3f919b8112e4.js.map
8751 bytes
0644
SupportBundlesCreate.fc6b6e4cf6366f751081.js
2779 bytes
0644
SupportBundlesCreate.fc6b6e4cf6366f751081.js.map
8882 bytes
0644
TeamList.2e23d37c91734f608f09.js
9019 bytes
0644
TeamList.2e23d37c91734f608f09.js.map
30348 bytes
0644
TeamPages.4f6177b4c6ec769c72d8.js
22839 bytes
0644
TeamPages.4f6177b4c6ec769c72d8.js.map
66001 bytes
0644
TestStuffPage.8ddabdd17d265b771b17.js
2654 bytes
0644
TestStuffPage.8ddabdd17d265b771b17.js.map
8058 bytes
0644
UserCreatePage.72e86cf2c9a3ce50cff3.js
1470 bytes
0644
UserCreatePage.72e86cf2c9a3ce50cff3.js.map
3788 bytes
0644
UserInvitePage.c8243c9cee4b06e10222.js
2576 bytes
0644
UserInvitePage.c8243c9cee4b06e10222.js.map
6594 bytes
0644
UserListPage.acbb5778a782ca90c7ba.js
25463 bytes
0644
UserListPage.acbb5778a782ca90c7ba.js.map
79671 bytes
0644
UserProfileEditPage.7cc4c218d9e4664250e3.js
14593 bytes
0644
UserProfileEditPage.7cc4c218d9e4664250e3.js.map
42901 bytes
0644
UsersListPage.1b61c82d62ca416b6f2f.js
8800 bytes
0644
UsersListPage.1b61c82d62ca416b6f2f.js.map
30059 bytes
0644
alert-rules-drawer-content.1fd9de3b496d077a5f3a.js
957 bytes
0644
alert-rules-drawer-content.1fd9de3b496d077a5f3a.js.map
3199 bytes
0644
alert-rules-toolbar-button.6f275f0d03748b6c297d.js
1429 bytes
0644
alert-rules-toolbar-button.6f275f0d03748b6c297d.js.map
4041 bytes
0644
alertmanagerPlugin.d13ca72afb3f996bb284.js
3810 bytes
0644
alertmanagerPlugin.d13ca72afb3f996bb284.js.map
10753 bytes
0644
app.b11fde05d43f9632a473.js
920821 bytes
0644
app.b11fde05d43f9632a473.js.map
69088 bytes
0644
assets-manifest.json
280835 bytes
0644
azureMonitorPlugin.0bc37a9d4e3bd8421cc0.js
232 bytes
0644
azureMonitorPlugin.0bc37a9d4e3bd8421cc0.js.map
600 bytes
0644
brace.fcd4b1c7e8b9264ab02c.js
371235 bytes
0644
brace.fcd4b1c7e8b9264ab02c.js.map
1132097 bytes
0644
canvasPanel.a46aa5e57d26b1fcc380.js
485254 bytes
0644
canvasPanel.a46aa5e57d26b1fcc380.js.map
2136916 bytes
0644
cloudMonitoringPlugin.c6ea431eae8e9ad2c7b1.js
198 bytes
0644
cloudMonitoringPlugin.c6ea431eae8e9ad2c7b1.js.map
555 bytes
0644
cloudwatchPlugin.06ef34f60000c4f7ea37.js
192 bytes
0644
cloudwatchPlugin.06ef34f60000c4f7ea37.js.map
544 bytes
0644
dark.7fa24d1908c1c96e6fcc.js
134 bytes
0644
elasticsearchPlugin.3f2edb012f5162b48903.js
214 bytes
0644
elasticsearchPlugin.3f2edb012f5162b48903.js.map
583 bytes
0644
explore-feature-toggle-page.897d9f08c342ad4c0702.js
612 bytes
0644
explore-feature-toggle-page.897d9f08c342ad4c0702.js.map
1280 bytes
0644
explore.476912733278e2a99729.js
165810 bytes
0644
explore.476912733278e2a99729.js.map
579148 bytes
0644
geomapPanel.14b9605971a38c51d262.js
417078 bytes
0644
geomapPanel.14b9605971a38c51d262.js.map
540371 bytes
0644
grafana.dark.8c716fbcf630eae84ced.css
209089 bytes
0644
grafana.light.b8b3904788f25480f4a1.css
209047 bytes
0644
grafanaPlugin.1cb208185a89de28dc3a.js
8654 bytes
0644
grafanaPlugin.1cb208185a89de28dc3a.js.map
28174 bytes
0644
graphPlugin.f47f722cdfc0ceb85136.js
70277 bytes
0644
graphPlugin.f47f722cdfc0ceb85136.js.map
243430 bytes
0644
graphitePlugin.d59175976346917781fe.js
75305 bytes
0644
graphitePlugin.d59175976346917781fe.js.map
272016 bytes
0644
heatmapPanel.f6f29a53ed0f682b4404.js
37545 bytes
0644
heatmapPanel.f6f29a53ed0f682b4404.js.map
158066 bytes
0644
influxdbPlugin.140a7777089f9559c11c.js
68843 bytes
0644
influxdbPlugin.140a7777089f9559c11c.js.map
265085 bytes
0644
jaegerPlugin.d254fd4a19ef0cb5b4f5.js
19727 bytes
0644
jaegerPlugin.d254fd4a19ef0cb5b4f5.js.map
65603 bytes
0644
light.af65e5ce03b9ed0aa2b1.js
134 bytes
0644
loki-query-field.a588d587d9d762b18f22.js
191 bytes
0644
loki-query-field.a588d587d9d762b18f22.js.map
548 bytes
0644
lokiPlugin.77364509de280321b6f8.js
185 bytes
0644
lokiPlugin.77364509de280321b6f8.js.map
536 bytes
0644
mixedPlugin.f36bd557a883d9a67538.js
180 bytes
0644
mssqlPlugin.88775f59ced74c2283c5.js
20457 bytes
0644
mssqlPlugin.88775f59ced74c2283c5.js.map
61420 bytes
0644
mysqlPlugin.72fb44411afd8165d201.js
17323 bytes
0644
mysqlPlugin.72fb44411afd8165d201.js.map
45415 bytes
0644
nodeGraphPanel.9a7cdd8efdae281cbe28.js
2107 bytes
0644
nodeGraphPanel.9a7cdd8efdae281cbe28.js.map
7132 bytes
0644
opentsdbPlugin.418b8c8ea0d97ed99edb.js
22866 bytes
0644
opentsdbPlugin.418b8c8ea0d97ed99edb.js.map
82180 bytes
0644
parcaPlugin.7f2e6dde7161b08ceed2.js
11184 bytes
0644
parcaPlugin.7f2e6dde7161b08ceed2.js.map
42340 bytes
0644
postgresPlugin.f88c598bae2653ae177b.js
18902 bytes
0644
postgresPlugin.f88c598bae2653ae177b.js.map
54304 bytes
0644
prom-query-field.ff217c474ea457bdd65e.js
14104 bytes
0644
prom-query-field.ff217c474ea457bdd65e.js.map
76811 bytes
0644
prometheusPlugin.2ba02c28d3f7293e903e.js
224 bytes
0644
prometheusPlugin.2ba02c28d3f7293e903e.js.map
699 bytes
0644
pyroscopePlugin.eb14b78419d619d90dca.js
22269 bytes
0644
pyroscopePlugin.eb14b78419d619d90dca.js.map
86896 bytes
0644
react-monaco-editor.988b1aa5e90b11f9941a.js
15759 bytes
0644
react-monaco-editor.988b1aa5e90b11f9941a.js.map
51544 bytes
0644
runtime.4b7e1b5735d2ed64b824.js
13640 bytes
0644
runtime.4b7e1b5735d2ed64b824.js.map
35122 bytes
0644
tableOldPlugin.8c72b8399d197aeebe16.js
25242 bytes
0644
tableOldPlugin.8c72b8399d197aeebe16.js.map
80497 bytes
0644
tempoPlugin.efa8c2a55984263b4b61.js
182 bytes
0644
tempoPlugin.efa8c2a55984263b4b61.js.map
529 bytes
0644
testDataDSPlugin.9717509b124d754e4f35.js
120550 bytes
0644
testDataDSPlugin.9717509b124d754e4f35.js.map
303302 bytes
0644
visjs-network.d93b3aa71ac24c8cde84.js
459653 bytes
0644
visjs-network.d93b3aa71ac24c8cde84.js.map
1951742 bytes
0644
zipkinPlugin.70f0f24b6d0b6e673ccb.js
13172 bytes
0644
zipkinPlugin.70f0f24b6d0b6e673ccb.js.map
46861 bytes
0644
N4ST4R_ID | Naxtarrr