{"version":3,"mappings":"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,KACAA,GAAW,WAAtB,OACEA,GAAW,cAAc,KACzBA,GAAA,CACJ,YAAYI,EAAa,SAAS,EACjC,EAAgC,CAAC,CACtC,OAASrjG,EAAO,CACd47F,EACEyH,EACAtH,EACA/7F,CACF,CACF,MAEA,GAAI,CACFijG,GAAW,YAAYI,EAAa,SAAS,EAC1C,EAAgC,CAAC,CACtC,OAASrjG,EAAO,CACd47F,EACEyH,EACAtH,EACA/7F,CACF,CACF,EACJ,MACF,IAAK,IACMijG,KAAT,OACGC,IACK,EAAeD,GACjBQ,GACQzB,EAAa,WAAnB,EACIA,EAAa,KACFA,EAAa,WAAxB,OACEA,EAAa,cAAc,KAC3BA,EACNqB,EAAa,SACf,EACAK,GAAiB1B,CAAY,GAC7ByB,GAAuBR,GAAYI,EAAa,SAAS,GAC/D,MACF,IAAK,GACH,EAAiBJ,GACjB,EAA4BC,GAC5B,GAAaG,EAAa,UAAU,cACpC,GAAwB,CAAC,EACzBF,GACEnB,EACAjG,EACAsH,CACF,EACA,GAAaC,EACb,GAAwBC,EACxB,MACF,IAAK,GACL,IAAK,IACL,IAAK,IACL,IAAK,IACH1H,GAA4B,EAAGwH,EAActH,CAAsB,EACnEyE,GACE3E,GAA4B,EAAGwH,EAActH,CAAsB,EACrEoH,GACEnB,EACAjG,EACAsH,CACF,EACA,MACF,IAAK,GACH7C,IACG9D,GAAgB2G,EAActH,CAAsB,EACpD,EAAiBsH,EAAa,UAChB,OAAOC,EAAe,sBAArC,YACEnH,GACEkH,EACAtH,EACAuH,CACF,GACJH,GACEnB,EACAjG,EACAsH,CACF,EACA,MACF,IAAK,IACHF,GACEnB,EACAjG,EACAsH,CACF,EACA,MACF,IAAK,IACH,GACG,EAAiB7C,IACT6C,EAAa,gBAAtB,KACFF,GACEnB,EACAjG,EACAsH,CACF,EACA,EAA4BC,EAC5B,MACF,IAAK,IACH5G,GAAgB2G,EAActH,CAAsB,EACpDoH,GACEnB,EACAjG,EACAsH,CACF,EACA,MACF,IAAK,GACH7C,GACE9D,GAAgB2G,EAActH,CAAsB,EACtDoH,GACEnB,EACAjG,EACAsH,CACF,E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qCvD,EAAa,MAAO,CAAC,CAAC,IAC/DwK,GACEhE,EACAxG,EACAgG,EACA0E,CACF,EACA,MACF,QACEF,GACEhE,EACAxG,EACAgG,EACA0E,CACF,CACJ,CACF,CACA,SAASG,GACP,EACA,EACA,EACA,EACA,EACA,CAIA,IAHA,IAEG,GAAO5D,EAAY,aAAe,QAAU,CAAC,EAC3C,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAIT,EAAe0D,EACjBlK,EAAeiH,EACfjB,EAAiB+E,EACjBL,EAAuBM,EACvB7K,EAAQH,EAAa,MACvB,OAAQA,EAAa,IAArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH6K,GACErE,EACAxG,EACAgG,EACA0E,EACAP,CACF,EACApK,GAA0B,EAAGC,CAAY,EACzC,MACF,IAAK,IACH,MACF,IAAK,IACH,IAAI/2C,EAAW+2C,EAAa,UACnBA,EAAa,gBAAtB,MAaM,EAAS,aAAe,EAC1B6K,GACErE,EACAxG,EACAgG,EACA0E,EACAP,CACF,GAnBAlhD,EAAS,YAAc,EACrB4hD,GACErE,EACAxG,EACAgG,EACA0E,EACAP,CACF,EACAW,GACEtE,EACAxG,CACF,EASNmK,GACEhK,EAAQ,MACRkK,GACErK,EAAa,UACbA,CACF,EACF,MACF,IAAK,IACH6K,GACErE,EACAxG,EACAgG,EACA0E,EACAP,CACF,EACAA,GACEhK,EAAQ,MACRoK,GAA8BvK,EAAa,UAAWA,CAAY,EACpE,MACF,QACE6K,GACErE,EACAxG,EACAgG,EACA0E,EACAP,CACF,CACJ,CACA,EAAclD,EAAY,OAC5B,CACF,CACA,SAAS6D,GACP,EACA,EACA,CACA,GAAI7D,EAAY,aAAe,MAC7B,IAAK,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAC5D,IAAIT,EAAe0D,EACjBlK,EAAeiH,EACf9G,EAAQH,EAAa,MACvB,OAAQA,EAAa,IAArB,CACE,IAAK,IACH8K,GAAwCtE,EAAcxG,CAAY,EAClEG,EAAQ,MACNkK,GACErK,EAAa,UACbA,CACF,EACF,MACF,IAAK,IACH8K,GAAwCtE,EAAcxG,CAAY,EAClEG,EAAQ,MACNoK,GAA8BvK,EAAa,UAAWA,CAAY,EACpE,MACF,QACE8K,GAAwCtE,EAAcxG,CAAY,CACtE,CACA,EAAciH,EAAY,OAC5B,CACJ,CACA,IAAIgE,GAAsB,KAC1B,SAASC,GACP,EACA,EACA,EACA,CACA,GAAIjE,EAAY,aAAegE,GAC7B,IAAK,EAAchE,EAAY,MAAgBA,IAAT,MACpCkE,GACElE,EACAjB,EACAoF,CACF,EACG,EAAcnE,EAAY,OACnC,CACA,SAASkE,GACP,EACA,EACA,EACA,CACA,OAAQlnC,EAAM,IAAd,CACE,IAAK,IACHinC,GACEjnC,EACA+hC,EACAoF,CACF,EACAnnC,EAAM,MAAQgnC,KACFhnC,EAAM,gBAAf,MAOK,EAAQA,EAAM,WACf+hC,EAAiB,aAAeA,GAC/BqF,GAAgBD,EAAgBnnC,CAAK,GARvCqnC,GACEF,EACAvC,GACA5kC,EAAM,cACNA,EAAM,aACR,GAIN,MACF,IAAK,GACHinC,GACEjnC,EACA+hC,EACAoF,CACF,EACAnnC,EAAM,MAAQgnC,KACV,EAAQhnC,EAAM,WACf+hC,EAAiB,aAAeA,GAC/BqF,GAAgBD,EAAgBnnC,CAAK,GACzC,MACF,IAAK,GACL,IAAK,GACH,IAAIsnC,EAAwB1C,GAC5B,GAAuBO,GAAiBnlC,EAAM,UAAU,aAAa,EACrEinC,GACEjnC,EACA+hC,EACAoF,CACF,EACA,GAAuBG,EACvB,MACF,IAAK,IACMtnC,EAAM,gBAAf,OACI,EAAwBA,EAAM,UACvBsnC,IAAT,MACSA,EAAsB,gBAA/B,MACM,EAAwBN,GACzB,GAAsB,SACvBC,GACEjnC,EACA+hC,EACAoF,CACF,EACC,GAAsBG,GACvBL,GACEjnC,EACA+hC,EACAoF,CACF,GACN,MACF,IAAK,IACH,IACSnnC,EAAM,MAAQgnC,MAArB,IACE,EAAwBhnC,EAAM,cAAc,KACtCsnC,GAAR,MAA4CA,IAAX,QACjC,CACA,IAAI1oF,EAAQohD,EAAM,UAClB,EAAM,OAAS,KACNu+B,KAAT,OACG,GAA2B,IAAI,KAClCA,GAAyB,IAAI+I,EAAuB1oF,CAAK,CAC3D,CACAqoF,GACEjnC,EACA+hC,EACAoF,CACF,EACA,MACF,QACEF,GACEjnC,EACA+hC,EACAoF,CACF,CACJ,CACF,CACA,SAASI,GAAwB,EAAa,CAC5C,IAAIC,EAAgBxE,EAAY,UAChC,GACWwE,IAAT,OACE,EAAcA,EAAc,MAAiBxE,IAAT,MACtC,CACA,EAAc,MAAQ,KACtB,EACE,GAAiBA,EAAY,QAC1B,EAAY,QAAU,KACtB,EAAcwE,QACHxE,IAAT,KACT,CACF,CACA,SAASyE,GAAyC,EAAa,CAC7D,IAAIvjB,EAAY8e,EAAY,UAC5B,GAAWA,EAAY,MAAQ,GAAK,CAClC,GAAa9e,IAAT,KACF,IAAK,IAAI7iF,EAAI,EAAGA,EAAI6iF,EAAU,OAAQ,IAAK,CACzC,IAAIC,EAAgBD,EAAU7iF,GAC9B,GAAa8iF,EACbujB,GACEvjB,EACA6e,CACF,CACF,CACFuE,GAAwBvE,CAAW,CACrC,CACA,GAAIA,EAAY,aAAe,MAC7B,IAAK,EAAcA,EAAY,MAAgBA,IAAT,MACpC2E,GAA4B3E,CAAW,EACpC,EAAcA,EAAY,OACnC,CACA,SAAS2E,GAA4B,EAAc,CACjD,OAAQ5L,EAAa,IAArB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACH0L,GAAyC1L,CAAY,EACrDA,EAAa,MAAQ,MACnBK,GAA4B,EAAGL,EAAcA,EAAa,MAAM,EAClE,MACF,IAAK,GACH0L,GAAyC1L,CAAY,EACrD,MACF,IAAK,IACH0L,GAAyC1L,CAAY,EACrD,MACF,IAAK,IACH,IAAI/2C,EAAW+2C,EAAa,UACnBA,EAAa,gBAAtB,MACA/2C,EAAS,YAAc,IACb+2C,EAAa,SAAtB,MAAuCA,EAAa,OAAO,MAA3B,KAC3B,EAAS,aAAe,GAC1B6L,GAA4C7L,CAAY,GACxD0L,GAAyC1L,CAAY,EACzD,MACF,QACE0L,GAAyC1L,CAAY,CACzD,CACF,CACA,SAAS6L,GAA4C,EAAa,CAChE,IAAI1jB,EAAY8e,EAAY,UAC5B,GAAWA,EAAY,MAAQ,GAAK,CAClC,GAAa9e,IAAT,KACF,IAAK,IAAI7iF,EAAI,EAAGA,EAAI6iF,EAAU,OAAQ,IAAK,CACzC,IAAIC,EAAgBD,EAAU7iF,GAC9B,GAAa8iF,EACbujB,GACEvjB,EACA6e,CACF,CACF,CACFuE,GAAwBvE,CAAW,CACrC,CACA,IAAK,EAAcA,EAAY,MAAgBA,IAAT,MAAwB,CAE5D,OADA,EAAYA,EACJ9e,EAAU,IAAlB,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACHkY,GAA4B,EAAGlY,EAAWA,EAAU,MAAM,EAC1D0jB,GAA4C1jB,CAAS,EACrD,MACF,IAAK,IACH,EAAIA,EAAU,UACd7iF,EAAE,YAAc,IACZ,EAAE,aAAe,GACnBumG,GAA4C1jB,CAAS,GACvD,MACF,QACE0jB,GAA4C1jB,CAAS,CACzD,CACA,EAAc8e,EAAY,OAC5B,CACF,CACA,SAAS0E,GACP,EACA,EACA,CACA,KAAgBvG,KAAT,MAAuB,CAC5B,IAAInhC,EAAQmhC,GACZ,OAAQnhC,EAAM,IAAd,CACE,IAAK,GACL,IAAK,IACL,IAAK,IACHo8B,GAA4B,EAAGp8B,EAAOs8B,CAAsB,EAC5D,MACF,IAAK,IACL,IAAK,IACH,GACWt8B,EAAM,gBAAf,MACSA,EAAM,cAAc,YAA7B,KACA,CACA,IAAIugB,EAAQvgB,EAAM,cAAc,UAAU,KAClCugB,GAAR,MAAiB,EAAM,UACzB,CACA,MACF,IAAK,IACHD,GAAatgB,EAAM,cAAc,KAAK,CAC1C,CAEA,GADA,EAAQA,EAAM,MACDugB,IAAT,KAAgB,EAAO,OAASvgB,EAAS,GAAaugB,OAExD,EAAG,IAAK,EAAQsnB,EAA6B1G,KAAT,MAAuB,CACzD,EAAQA,GACR,IAAI2G,EAAUvnB,EAAM,QAClBuD,EAAcvD,EAAM,OAEtB,GADAgjB,GAAwBhjB,CAAK,EACzBA,IAAUvgB,EAAO,CACnB,GAAa,KACb,MAAM,CACR,CACA,GAAa8nC,IAAT,KAAkB,CACpB,EAAQ,OAAShkB,EACjB,GAAagkB,EACb,MAAM,CACR,CACA,GAAahkB,CACf,CACJ,CACF,CACA,IAAIikB,GAAyB,CACzB,gBAAiB,SAAU,EAAc,CACvC,IAAIxnB,EAAQV,GAAYO,EAAY,EAClC4nB,EAAeznB,EAAM,KAAK,IAAI0nB,CAAY,EAI5C,OAHWD,IAAX,IAAK,KACD,EAAeC,EAAa,EAC9B1nB,EAAM,KAAK,IAAI0nB,EAAcD,CAAY,GACpCA,CACT,EACA,YAAa,UAAY,CACvB,OAAOnoB,GAAYO,EAAY,CAAC,CAAC,WAAW,MAC9C,CACF,EACA8nB,GAAiC,OAAO,SAAtB,WAAgC,QAAU,IAC5DxhB,EAAmB,EACnBvE,GAAqB,KACrB5b,EAAiB,KACjBshB,EAAgC,EAChCsgB,EAAgC,EAChCC,GAA4B,KAC5BC,GAA6C,CAAC,EAC9CC,GAAmC,CAAC,EACpCC,GAA0C,CAAC,EAC3CngB,GAAuB,EACvBkN,GAA+B,EAC/BkT,GAAiC,EACjCC,GAA4C,EAC5CC,GAAgC,EAChC9Q,GAA6B,EAC7B+Q,GAAoC,EACpClT,GAAqC,KACrCjX,GAAsC,KACtCoqB,GAAoD,CAAC,EACrDC,GAA+B,EAC/BC,GAAiC,EACjCpN,GAAqC,IACrCqN,GAA4B,KAC5B7T,GAAyC,KACzC8T,GAAuB,EACvB9vB,GAAqB,KACrB+vB,GAAsB,KACtBC,GAAsB,EACtBC,GAA+B,EAC/BC,GAA4B,KAC5BC,GAA2B,KAC3BC,GAAwB,KACxBC,GAA8B,KAC9BhwB,GAAyB,KACzBiB,GAAoB,EACpBgvB,GAAwB,KAC1B,SAASzX,IAAoB,CAC3B,OAAcrL,EAAmB,GAAYmB,IAAN,EACnCA,EAAgC,CAACA,EACxBpsB,EAAqB,IAA9B,KAEEqP,GAAsB,EADtBuW,EAAsB,CAE9B,CACA,SAASmQ,IAAsB,CAC7B,GAAUoG,KAAN,EACF,IAAI,EAAO/P,EAAgC,YAAc/Y,EAAa,CACpE,IAAI9F,EAAOnB,GACX,KAA+B,EAC/B,EAAOA,GAA6B,WACjC,GAA6B,QAChC,GAA6BmB,CAC/B,KAAO,IAA6B,UAGtC,MAFA,GAAOuf,GAA2B,QACzBvf,IAAT,OAAkB,EAAK,OAAS,IACzB4uB,EACT,CACA,SAAS+H,GAA4B,EAAO,EAAU,CACpD,GAAYlgG,GAAR,KAAkB,CACpB,IAAImf,EAAQohD,EAAM,UAChBhb,EAAWpmC,EAAM,IACVomC,IAAT,OACG,EAAW,EAAM,IAChB63C,GACE5jB,GAAsBjZ,EAAM,cAAephD,CAAK,CAClD,GACK2qF,KAAT,OAAyC,GAA8B,CAAC,GACxEA,GAA4B,KAAK9pG,EAAS,KAAK,KAAMulD,CAAQ,CAAC,CAChE,CACF,CACA,SAAS+oC,GAAsB,EAAM,EAAO,EAAM,EAE7C3lB,IAAS+Z,KACDgmB,IAAN,GACOA,IAAN,IACK//B,EAAK,sBAAd,QAEAqhC,GAAkBrhC,EAAM,CAAC,EACvBshC,GACEthC,EACAyf,EACA+P,GACA,CAAC,CACH,GACJtuB,GAAkBlB,EAAMY,CAAI,GACxB,EAAO0d,EAAmB,IAAMte,IAAS+Z,MAC3C/Z,IAAS+Z,KACN,EAAOuE,EAAmB,KACxB,IAA6C1d,GAC1CssB,KAAN,GACEoU,GACEthC,EACAyf,EACA+P,GACA,CAAC,CACH,GACF+R,GAAsBvhC,CAAI,EAChC,CACA,SAASwhC,GAAkB,EAAe,EAAO,EAAW,CAC1D,GAAWljB,EAAmB,EAAI,MAAM,MAAMvrB,EAAuB,GAAG,CAAC,EACzE,IAAI0uC,EACC,CAACC,GACA,EAAO7hC,EAAQ,OACRA,EAAQy8B,EAAc,gBAA7B,GACF/7B,GAA0B+7B,EAAez8B,CAAK,EAChD8hC,EAAaF,EACTG,GAAqBtF,EAAez8B,CAAK,EACzCgiC,GAAevF,EAAez8B,EAAO,CAAC,CAAC,EAC3CiiC,EAAsBL,EACxB,EAAG,CACD,GAAUE,IAAN,EAAkB,CACpBzB,IACE,CAACuB,GACDH,GAAkBhF,EAAez8B,EAAO,EAAG,CAAC,CAAC,EAC/C,KACF,CAEE,GADA,EAAYy8B,EAAc,QAAQ,UAEhCwF,GACA,CAACC,GAAqCL,CAAS,EAE/C,EAAaG,GAAevF,EAAez8B,EAAO,CAAC,CAAC,EACpD,EAAsB,CAAC,MAGzB,IAAU8hC,IAAN,EAAkB,CAEpB,GADA,EAAsB9hC,EAClBy8B,EAAc,2BAA6BwF,EAC7C,IAAIplC,EAA2B,MAE/B,GAA4B4/B,EAAc,aAAe,WACtD,EACO5/B,IAAN,EAEIA,EAA2B,UACzB,UACA,EAHFA,EAIV,GAAUA,IAAN,EAAgC,CAClC,EAAQA,EACR,EAAG,CACD,IAAIsD,EAAOs8B,EACX,EAAajP,GACb,IAAI2U,EAAoBhiC,EAAK,QAAQ,cAAc,aAQnD,GAPAgiC,IACG,GAAkBhiC,EAAMtD,CAAwB,CAAC,CAAC,OAAS,KAC9D,EAA2BmlC,GACzB7hC,EACAtD,EACA,CAAC,CACH,EAEQA,IAAN,GACMA,IAAN,EACA,CACA,GACEyjC,IACA,CAAC6B,EACD,CACA,EAAK,4BAA8BF,EACnC,IACEA,EACF,EAAa,EACb,MAAM,CACR,CACA,EAAsB1rB,GACtB,GAAsCurB,EAC7BG,IAAT,OACY1rB,KAAT,KACI,GAAsC0rB,EACvC1rB,GAAoC,KAAK,MACvCA,GACA0rB,CACF,EACR,CACA,EAAaplC,CACf,CAEA,GADA,EAAsB,CAAC,EACbilC,IAAN,EAAkB,QACxB,CACF,CACA,GAAUA,IAAN,EAAkB,CACpBN,GAAkB/E,EAAe,CAAC,EAClCgF,GAAkBhF,EAAez8B,EAAO,EAAG,CAAC,CAAC,EAC7C,KACF,CACA,EAAG,CAGD,OAFA,EAAkBy8B,EAClB,EAAsBqF,EACdG,EAAR,CACE,IAAK,GACL,IAAK,GACH,MAAM,MAAM/uC,EAAuB,GAAG,CAAC,EACzC,IAAK,GACH,IAAK8M,EAAQ,WAAaA,IAAUA,EAAQ,YAAcA,EACxD,MACJ,IAAK,GACHyhC,GACEG,EACA5hC,EACA2vB,GACA,CAACyQ,EACH,EACA,MAAM,EACR,IAAK,GACH,GAAsC,KACtC,MACF,IAAK,GACL,IAAK,GACH,MACF,QACE,MAAM,MAAMltC,EAAuB,GAAG,CAAC,CAC3C,CACA,IACG8M,EAAQ,YAAcA,IACrB,EAAa4gC,GAA+B,IAAM/hF,GAAI,EACxD,GAAKijF,GACL,CAOA,GANAL,GACEG,EACA5hC,EACA2vB,GACA,CAACyQ,EACH,EACUngC,GAAa2hC,EAAiB,EAAG,CAAC,CAAC,IAAzC,EAA4C,MAAM,EACtD,GAAsB5hC,EACtB,EAAgB,cAAgBoiC,GAC9BC,GAAsB,KACpB,KACAT,EACAC,EACAtrB,GACAuqB,GACAH,GACA3gC,EACA2vB,GACA6Q,GACAE,GACAN,GACA6B,EACA,YACA,GACA,CACF,EACAH,CACF,EACA,MAAM,CACR,CACAO,GACET,EACAC,EACAtrB,GACAuqB,GACAH,GACA3gC,EACA2vB,GACA6Q,GACAE,GACAN,GACA6B,EACA,KACA,GACA,CACF,CACF,CAEF,KAtFE,CAuFJ,OAAS,GACTP,GAAsBjF,CAAa,CACrC,CACA,SAAS4F,GACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,EAAK,cAAgB,GACrB,IAAIpP,EAAea,EAAa,aAC9BkG,GAA4Bh6B,EAAQ,aAAeA,EACrD,EAAwB,MAEtBg6B,GACA/G,EAAe,OACDA,EAAe,WAA7B,YAGI,EAAwB,CACxB,YAAa,KACb,MAAO,EACP,SAAU,EACV,SAAU,EACV,gBAAiB,CAAC,EAClB,iBAAkB,CAAC,EACnB,yBAA0B,CAAC,EAC3B,UAAW7qB,EACb,EACC,GAA2B,KAC5B62B,GACEnL,EACA9zB,EACAsiC,CACF,EACAtI,IACI,EAAesI,EAChB,EAA2BniC,EAAK,cAChC,GACO65B,EAAyB,WAA/B,EACIA,EACAA,EAAyB,eAC7B,sBACMA,GAAR,OACG,EAAa,QACb,EAAa,yBAA2B,CAAC,EACzC,EAAeuI,GAAY,KAAKtP,CAAY,EAC7C+G,EAAyB,SAAS,KAAK/G,EAAcA,CAAY,IACpE,GACEjzB,EAAQ,YAAcA,EACnB4gC,GAA+B/hF,GAAI,GAClCmhD,EAAQ,WAAaA,EACpB6gC,GAAiChiF,GAAI,EACrC,EACP,EAAe2jF,GACdF,EACArP,CACF,EACSA,IAAT,OAEA,GAAsBjzB,EACtB,EAAK,oBAAsBizB,EACzBwP,GAAa,KACX,KACAtiC,EACA2zB,EACA9zB,EACA0iC,EACAC,EACAC,EACA7gC,EACAG,EACAD,EACA4gC,EACAf,EACAQ,EACA,KACAQ,EACAC,CACF,CACF,EACAtB,GAAkBthC,EAAMH,EAAO+B,EAAa,CAAC8gC,CAAwB,GAGzEJ,GACEtiC,EACA2zB,EACA9zB,EACA0iC,EACAC,EACAC,EACA7gC,EACAG,EACAD,EACA4gC,EACAf,EACAQ,CACF,CACF,CACA,SAASJ,GAAqC,EAAc,CAC1D,IAAK,IAAIhwD,EAAO4hD,IAAkB,CAChC,IAAIlxD,EAAMsP,EAAK,IACf,IACStP,IAAN,GAAoBA,IAAP,IAAqBA,IAAP,KAC5BsP,EAAK,MAAQ,QACX,EAAMA,EAAK,YACJtP,IAAT,OAAkB,EAAMA,EAAI,OAAkBA,IAAT,OAErC,IAAK,IAAIxpC,EAAI,EAAGA,EAAIwpC,EAAI,OAAQ,IAAK,CACnC,IAAIogE,EAAQpgE,EAAIxpC,GACd6rF,EAAc+d,EAAM,YACtB,EAAQA,EAAM,MACd,GAAI,CACF,GAAI,CAACz0B,GAAS0W,EAAY,EAAG+d,CAAK,EAAG,MAAO,CAAC,CAC/C,MAAgB,CACd,MAAO,CAAC,CACV,CACF,CAEF,GADA,EAAM9wD,EAAK,MACPA,EAAK,aAAe,OAAkBtP,IAAT,KAC/B,EAAK,OAASsP,EAAQ,EAAOtP,MAC1B,CACH,GAAIsP,IAAS4hD,EAAc,MAC3B,KAAgB5hD,EAAK,UAAd,MAAyB,CAC9B,GAAaA,EAAK,SAAd,MAAwBA,EAAK,SAAW4hD,EAAc,MAAO,CAAC,EAClE,EAAO5hD,EAAK,MACd,CACA,EAAK,QAAQ,OAASA,EAAK,OAC3B,EAAOA,EAAK,OACd,CACF,CACA,MAAO,CAAC,CACV,CACA,SAASuvD,GACP,EACA,EACA,EACA,EACA,CACA,EAAiB7gC,GAAkBT,EAAME,CAAc,EACvD,GAAkB,CAACogC,GACnB,GAAkB,CAACD,GACnB,EAAK,gBAAkBngC,EACvB,EAAK,aAAe,CAACA,EACrB4iC,IAAyB,EAAK,WAAa5iC,GAC3C,EAAuBF,EAAK,gBAC5B,IAAK,IAAIH,EAAQK,EAAgB,EAAIL,GAAS,CAC5C,IAAIkjC,EAAU,GAAK1jC,GAAMQ,CAAK,EAC5Be,EAAO,GAAKmiC,EACd,EAAqBA,GAAW,GAChC,GAAS,CAACniC,CACZ,CACMgB,IAAN,GACEC,GAAwB7B,EAAM4B,EAAa1B,CAAc,CAC7D,CACA,SAAS0I,IAAkB,CACzB,OAAc0V,EAAmB,EAE7B,CAAC,GADA0kB,GAA8B,EAAG,CAAC,CAAC,EAAG,CAAC,EAE9C,CACA,SAASC,IAA2B,CAClC,GAAa9kC,IAAT,KAAyB,CAC3B,GAAU4hC,IAAN,EACF,IAAItM,EAAkBt1B,EAAe,WAErC,GAAmBA,EAChB,GAAwB,GAA4B,KACrD+kB,GAAmBuQ,CAAe,EACjC,GAAkB,KAClB,GAAyB,EACzB,EAAkBt1B,EACvB,KAAgBs1B,IAAT,MACLD,GAAsBC,EAAgB,UAAWA,CAAe,EAC7D,EAAkBA,EAAgB,OACvC,EAAiB,IACnB,CACF,CACA,SAAS4N,GAAkB,EAAM,EAAO,CACtC,IAAI6B,EAAgBljC,EAAK,cA4BzB,OA3BOkjC,IAAP,KACI,EAAK,cAAgB,GAAKC,GAAcD,CAAa,GACzD,EAAgBljC,EAAK,oBACZkjC,IAAT,OACI,EAAK,oBAAsB,KAAOA,EAAc,GACpD,GAAsB,EACtBD,GAAyB,EACzB,GAAqBjjC,EACrB,EAAiB,EAAgB4S,GAAqB5S,EAAK,QAAS,IAAI,EACxE,EAAgCH,EAChC,EAAgC,EAChC,GAA4B,KAC5B,GAA6C,CAAC,EAC9C,GAAmCU,GAA0BP,EAAMH,CAAK,EACxE,GAA0C,CAAC,EAC3C,GACE,GACA,GACA,GACA,GACA,GACE,EACJ,GAAsC,GACpC,KACF,GAAoD,CAAC,EACrD,GAAuBY,GAAkBT,EAAMH,CAAK,EACpD8R,GAAgC,EACzBuxB,CACT,CACA,SAASE,GAAY,EAAM,EAAa,CACtC,EAA0B,KAC1B,EAAqB,EAAI9gB,GACzB+gB,IAAgBjpB,IAAqBipB,IAAgB/oB,IAC/C,EAAcY,GAAqB,EACpC,EAAgC,GACjCmoB,IAAgBhpB,IACZ,EAAca,GAAqB,EACpC,EAAgC,GAChC,EACCmoB,IAAgB/V,GACZ,EAEe,OAAO+V,GAApB,UADOA,GAEQ,OAAOA,EAAY,MAAlC,WACA,EACA,EACd,GAA4BA,EACnBllC,IAAT,OACI,GAA+B,EACjCguB,GACEnsB,EACA0T,GAA2B2vB,EAAarjC,EAAK,OAAO,CACtD,EACJ,CACA,SAASiyB,IAA+B,CACtC,IAAIx3F,EAAU0lF,GAA2B,QACzC,OAAgB1lF,IAAT,KACH,CAAC,GACAglF,EAAgC,WAC/BA,EACSW,KAAT,MAGCX,EAAgC,YAC7BA,GACKA,EAAgC,UACvChlF,IAAY2lF,GACZ,CAAC,CACX,CACA,SAASkjB,IAAiB,CACxB,IAAIC,EAAiBlwC,EAAqB,EAE1C,MADA,GAAqB,EAAIivB,GACTihB,IAAT,KAA0BjhB,GAAwBihB,CAC3D,CACA,SAASC,IAAsB,CAC7B,IAAIC,EAAsBpwC,EAAqB,EAE/C,MADA,GAAqB,EAAIssC,GAClB8D,CACT,CACA,SAASxW,IAAkC,CACzC,GAA+B,EAC/BgT,KACIxgB,EAAgC,WAChCA,GACSU,GAA2B,UAApC,OACD,GAAmC,CAAC,GACvC,EAAQigB,GAAiC,YACvC,EAAOC,GAA4C,YAC1CtmB,KAAT,MACAunB,GACEvnB,GACA0F,EACA+P,GACA,CAAC,CACH,CACJ,CACA,SAASqS,GAAe,EAAM,EAAO,EAA4B,CAC/D,IAAI6B,EAAuBplB,EAC3B,GAAoB,EACpB,IAAIilB,EAAiBD,GAAe,EAClCG,EAAsBD,GAAoB,GACxCzpB,KAAuB/Z,GAAQyf,IAAkC5f,KACnE,GAA6B,KAAOwhC,GAAkBrhC,EAAMH,CAAK,GACnE,EAAQ,CAAC,EACT,IAAI8hC,EAAazU,GACjB,EAAG,GACD,GAAI,CACF,GAAU6S,IAAN,GAAgD5hC,IAAT,KAAyB,CAClE,IAAIwlC,EAAaxlC,EACfklC,EAAcrD,GAChB,OAAQD,EAAR,CACE,IAAK,GACHkD,GAAyB,EACzB,EAAa,EACb,MAAM,EACR,IAAK,GACL,IAAK,GACL,IAAK,GACL,IAAK,GACM9iB,GAA2B,UAApC,OAAgD,EAAQ,CAAC,GACzD,IAAIrqE,EAASiqF,EAIb,GAHA,EAAgC,EAChC,GAA4B,KAC5B6D,GAAuB5jC,EAAM2jC,EAAYN,EAAavtF,CAAM,EAE1D+tF,GACA3D,GACA,CACA,EAAa,EACb,MAAM,CACR,CACA,MACF,QACE,EAAUH,EACP,EAAgC,EAChC,GAA4B,KAC7B6D,GAAuB5jC,EAAM2jC,EAAYN,EAAavtF,CAAM,CAClE,CACF,CACAguF,GAAa,EACb,EAAa5W,GACb,KACF,OAAS6W,EAAiB,CACxBX,GAAYpjC,EAAM+jC,CAAe,CACnC,OACK,GAUP,OATAlkC,GAAS,EAAK,sBACd,GAAwB,GAA4B,KACpD,EAAmB6jC,EACnB,EAAqB,EAAIH,EACzB,EAAqB,EAAIE,EAChBtlC,IAAT,OACI,GAAqB,KACtB,EAAgC,EACjCwT,GAAgC,GAC3BgwB,CACT,CACA,SAASmC,IAAe,CACtB,KAAgB3lC,IAAT,MAA2B6lC,GAAkB7lC,CAAc,CACpE,CACA,SAASyjC,GAAqB,EAAM,EAAO,CACzC,IAAI8B,EAAuBplB,EAC3B,GAAoB,EACpB,IAAIilB,EAAiBD,GAAe,EAClCG,EAAsBD,GAAoB,EAC5CzpB,KAAuB/Z,GAAQyf,IAAkC5f,GAC3D,GAA4B,KAC7B,GAAqCnhD,GAAI,EAAI,IAC9C2iF,GAAkBrhC,EAAMH,CAAK,GAC5B,GAAmCU,GAClCP,EACAH,CACF,EACJ,EAAG,GACD,GAAI,CACF,GAAUkgC,IAAN,GAAgD5hC,IAAT,KAAyB,CAClE,EAAQA,EACR,IAAIklC,EAAcrD,GAClB,EAAG,OAAQD,EAAR,CACD,IAAK,GACH,EAAgC,EAChC,GAA4B,KAC5B6D,GAAuB5jC,EAAMH,EAAOwjC,EAAa,CAAC,EAClD,MACF,IAAK,GACL,IAAK,GACH,GAAI7oB,GAAmB6oB,CAAW,EAAG,CACnC,EAAgC,EAChC,GAA4B,KAC5BY,GAA0BpkC,CAAK,EAC/B,KACF,CACA,EAAQ,UAAY,CACXkgC,IAAP,GACQA,IAAN,GACAhmB,KAAuB/Z,IACtB,EAAgC,GACnCuhC,GAAsBvhC,CAAI,CAC5B,EACAqjC,EAAY,KAAKxjC,EAAOA,CAAK,EAC7B,MAAM,EACR,IAAK,GACH,EAAgC,EAChC,MAAM,EACR,IAAK,GACH,EAAgC,EAChC,MAAM,EACR,IAAK,GACH2a,GAAmB6oB,CAAW,GACxB,EAAgC,EACjC,GAA4B,KAC7BY,GAA0BpkC,CAAK,IAC7B,EAAgC,EACjC,GAA4B,KAC7B+jC,GAAuB5jC,EAAMH,EAAOwjC,EAAa,CAAC,GACtD,MACF,IAAK,GACH,IAAI90E,EAAW,KACf,OAAQ4vC,EAAe,IAAvB,CACE,IAAK,IACH,EAAWA,EAAe,cAC5B,IAAK,GACL,IAAK,IACH,IAAI+lC,EAAY/lC,EAChB,GACE5vC,EACI4jE,GAAgB5jE,CAAQ,EACxB21E,EAAU,UAAU,SACxB,CACA,EAAgC,EAChC,GAA4B,KAC5B,IAAIxE,EAAUwE,EAAU,QACxB,GAAaxE,IAAT,KAAkB,EAAiBA,MAClC,CACH,IAAIhkB,EAAcwoB,EAAU,OACnBxoB,IAAT,KAGK,EAAiB,MAFhB,EAAiBA,EACnByoB,GAAmBzoB,CAAW,EAEpC,CACA,MAAM,CACR,CACJ,CACA,EAAgC,EAChC,GAA4B,KAC5BkoB,GAAuB5jC,EAAMH,EAAOwjC,EAAa,CAAC,EAClD,MACF,IAAK,GACH,EAAgC,EAChC,GAA4B,KAC5BO,GAAuB5jC,EAAMH,EAAOwjC,EAAa,CAAC,EAClD,MACF,IAAK,GACHJ,GAAyB,EACzB,GAA+B,EAC/B,MAAM,EACR,QACE,MAAM,MAAMlwC,EAAuB,GAAG,CAAC,CAC3C,CACF,CACAqxC,GAA8B,EAC9B,KACF,OAASC,EAAiB,CACxBjB,GAAYpjC,EAAMqkC,CAAe,CACnC,OACK,GASP,MARA,IAAwB,GAA4B,KACpD,EAAqB,EAAId,EACzB,EAAqB,EAAIE,EACzB,EAAmBC,EACNvlC,IAAT,MACJ,GAAqB,KACrB,EAAgC,EAChCwT,GAAgC,EACzBub,IAJ6B,CAKtC,CACA,SAASkX,IAAgC,CACvC,KAAgBjmC,IAAT,MAA2B,CAACI,GAAY,GAC7CylC,GAAkB7lC,CAAc,CACpC,CACA,SAAS6lC,GAAkB,EAAY,CACrC,IAAIhyF,EAAOu/E,GAAUoS,EAAW,UAAWA,EAAY3jB,EAAoB,EAC3E,EAAW,cAAgB2jB,EAAW,aAC7B3xF,IAAT,KAAgBmyF,GAAmBR,CAAU,EAAK,EAAiB3xF,CACrE,CACA,SAASiyF,GAA0B,EAAY,CAC7C,IAAIjyF,EAAO2xF,EACPr+D,EAAUtzB,EAAK,UACnB,OAAQA,EAAK,IAAb,CACE,IAAK,IACL,IAAK,GACH,EAAO68E,GACLvpD,EACAtzB,EACAA,EAAK,aACLA,EAAK,KACL,IAAK,GACLytE,CACF,EACA,MACF,IAAK,IACH,EAAOoP,GACLvpD,EACAtzB,EACAA,EAAK,aACLA,EAAK,KAAK,OACVA,EAAK,IACLytE,CACF,EACA,MACF,IAAK,GACHyD,GAAmBlxE,CAAI,EACvB,IAAI4lD,EAAQ5lD,EACZ4lD,IAAUkd,KACPpO,GACI+O,GAAoB7d,CAAK,EACpBA,EAAM,MAAZ,GACUA,EAAM,WAAd,OACC,EAAyBA,EAAM,aACjC6d,GAAoB7d,CAAK,EAAI,EAAc,CAAC,IACrD,QACE47B,GAAsBluD,EAAStzB,CAAI,EAChC,EAAO,EACN6gE,GAAoB7gE,EAAMguE,EAAoB,EAC/C,EAAOuR,GAAUjsD,EAAStzB,EAAMguE,EAAoB,CAC3D,CACA,EAAW,cAAgB2jB,EAAW,aAC7B3xF,IAAT,KAAgBmyF,GAAmBR,CAAU,EAAK,EAAiB3xF,CACrE,CACA,SAAS4xF,GACP,EACA,EACA,EACA,EACA,CACA,GAAwB,GAA4B,KACpD1gB,GAAmBygB,CAAU,EAC7B,GAAkB,KAClB,GAAyB,EACzB,IAAIjoB,EAAcioB,EAAW,OAC7B,GAAI,CACF,GACE5W,GACE/sB,EACA0b,EACAioB,EACAN,EACA5jB,CACF,EACA,CACA,GAA+B,EAC/B0M,GACEnsB,EACA0T,GAA2B2vB,EAAarjC,EAAK,OAAO,CACtD,EACA,EAAiB,KACjB,MACF,CACF,OAAS7nE,EAAO,CACd,GAAaujF,IAAT,KAAsB,KAAQ,GAAiBA,EAAcvjF,EACjE,GAA+B,EAC/Bg0F,GACEnsB,EACA0T,GAA2B2vB,EAAarjC,EAAK,OAAO,CACtD,EACA,EAAiB,KACjB,MACF,CACI2jC,EAAW,MAAQ,OACjBj9B,GAAqB49B,IAAN,EAAuB,EAAO,CAAC,EAEhDpE,IACOzgB,EAAgC,UAEvC,EAAO,CAAC,GAEN,GAA6C,EAAO,CAAC,GACjD6kB,IAAN,GACQA,IAAN,GACMA,IAAN,GACMA,IAAN,KAEF,EAAmBnkB,GAA2B,QACnCmkB,IAAT,MACSA,EAAgB,MAAvB,KACC,EAAgB,OAAS,SAChCC,GAAiBZ,EAAY3jC,CAAI,GAC5BmkC,GAAmBR,CAAU,CACtC,CACA,SAASQ,GAAmB,EAAY,CACtC,IAAIvR,EAAgB+Q,EACpB,EAAG,CACD,GAAW/Q,EAAc,MAAQ,MAAQ,CACvC2R,GACE3R,EACAqN,EACF,EACA,MACF,CACA,EAAarN,EAAc,OAC3B,IAAI5gF,EAAOghF,GACTJ,EAAc,UACdA,EACA5S,EACF,EACA,GAAahuE,IAAT,KAAe,CACjB,EAAiBA,EACjB,MACF,CAEA,GADA,EAAgB4gF,EAAc,QACjBA,IAAT,KAAwB,CAC1B,EAAiBA,EACjB,MACF,CACA,EAAiB,EAAgB+Q,CACnC,OAAkB/Q,IAAT,MACH1F,KAAN,IAAuC,GAA+B,EACxE,CACA,SAASqX,GAAiB,EAAY,EAAc,CAClD,EAAG,CACD,IAAIvyF,EAAOuhF,GAAWoQ,EAAW,UAAWA,CAAU,EACtD,GAAa3xF,IAAT,KAAe,CACjB,EAAK,OAAS,MACd,EAAiBA,EACjB,MACF,CAIA,GAHA,EAAO2xF,EAAW,OACT3xF,IAAT,OACI,EAAK,OAAS,MAAS,EAAK,aAAe,EAAK,EAAK,UAAY,MAEnE,CAACwyF,IACC,EAAab,EAAW,QAAmBA,IAAT,MACpC,CACA,EAAiBA,EACjB,MACF,CACA,EAAiB,EAAa3xF,CAChC,OAAkB2xF,IAAT,MACT,GAA+B,EAC/B,EAAiB,IACnB,CACA,SAASrB,GACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,EAAK,oBAAsB,KAC3B,GAAGmC,GAAoB,QACV7D,KAAN,GACP,GAAWtiB,EAAmB,EAAI,MAAM,MAAMvrB,EAAuB,GAAG,CAAC,EACzE,GAAa4gC,IAAT,KAAuB,CACzB,GAAIA,IAAiB3zB,EAAK,QAAS,MAAM,MAAMjN,EAAuB,GAAG,CAAC,EAC1EiN,IAAS+Z,KACL,EAAiB,GAAqB,KACvC,EAAgC,GACnC,GAAsB4Z,EACtB,GAAqB3zB,EACrB,GAAsBH,EACtB,GAA4B2iC,EAC5B,GAA2BD,EAC3BmC,GACE1kC,EACA2zB,EACA9zB,EACA+B,EACAG,EACAD,EACAi9B,CACF,CACF,CACF,CACA,SAAS2F,GACP,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACA,IAAIpjC,EAAiBqyB,EAAa,MAAQA,EAAa,WA2BvD,GA1BA,GAA+BryB,EAC/B,GAAkBoQ,GAClBtQ,GACEpB,EACAH,EACAyB,EACAM,EACAG,EACAD,CACF,EACA,GAA8B,MAC7BjC,EAAQ,aAAeA,GAClB,GAAyB4Y,GAA2BzY,CAAI,EACzD,EAAc,QACb,GAAyB,KAAQ,EAAc,QAC9C2zB,EAAa,aAAe/xB,KAAnC,IACO+xB,EAAa,MAAQ/xB,KAA5B,GACM,EAAK,aAAe,KACrB,EAAK,iBAAmB,EACzB+iC,GAAmB/lC,GAAkB,UAAY,CAE/C,OADAgmC,GAAoB,EACb,IACT,CAAC,IACC,EAAK,aAAe,KAAQ,EAAK,iBAAmB,GAC1D,GAA4B,CAAC,EAC7B,EAAc,GAAOjR,EAAa,MAAQ,OAC/BA,EAAa,aAAe,OAAU/xB,EAAa,CAC5D,EAAcvO,EAAqB,EACnC,EAAqB,EAAI,KACzB,EAAeqI,EAAwB,EACvC,EAAwB,EAAI,EAC5B,EAAsB4iB,EACtB,GAAoB,EACpB,GAAI,CACF8a,GAA4Bp5B,EAAM2zB,EAAc9zB,CAAK,CACvD,QAAU,CACR,EAAoBiC,EACjB,EAAwB,EAAIC,EAC5B,EAAqB,EAAIH,CAC9B,CACF,CACA,GAAuB,EACvBs0B,GACK,GAAwB2O,GACvB9F,EACA/+B,EAAK,cACLmR,GACA2zB,GACAC,GACAC,GACAC,GACAL,GACAM,GACA,KACA,IACF,GACCJ,GAAqB,EAAGC,GAAmB,EAAGE,GAAiB,EACtE,CACA,SAASC,GAA0B,EAAO,CACxC,GAAUtE,KAAN,EAA4B,CAC9B,IAAIuE,EAAqBr0B,GAAmB,mBAC5Cq0B,EAAmBhtG,EAAO,CAAE,eAAgB,IAAK,CAAC,CACpD,CACF,CACA,SAAS6sG,IAA4B,CAC7BpE,KAAN,IACI,GAAuB,EACzBlD,GAAkCmD,GAAqB/vB,EAAkB,EACxE,GAAuB,EAC5B,CACA,SAASg0B,IAAuB,CAC9B,GAAUlE,KAAN,EAA4B,CAC9B,GAAuB,EACvB,IAAI5gC,EAAO8Q,GACT6iB,EAAekN,GACfhhC,EAAQihC,GACRsE,EAAwB,GAAOzR,EAAa,MAAQ,OACtD,GAAWA,EAAa,aAAe,OAAUyR,EAAuB,CACtE,EAAwB/xC,EAAqB,EAC7C,EAAqB,EAAI,KACzB,IAAIyP,EAAmBpH,EAAwB,EAC/C,EAAwB,EAAI,EAC5B,IAAIgoC,EAAuBplB,EAC3B,GAAoB,EACpB,GAAI,CACF,GAAyB,GAA6B,CAAC,EACvDie,GAA6B5I,EAAc3zB,EAAMH,CAAK,EACtD,EAAQwlC,GACR,IAAIC,EAAiBp2B,GAAqBlP,EAAK,aAAa,EAC1DulC,EAAmB1lC,EAAM,YACzB2lC,EAAsB3lC,EAAM,eAC9B,GACEylC,IAAmBC,GACnBA,GACAA,EAAiB,eACjBx2B,GACEw2B,EAAiB,cAAc,gBAC/BA,CACF,EACA,CACA,GACWC,IAAT,MACAp2B,GAAyBm2B,CAAgB,EACzC,CACA,IAAIp1C,EAAQq1C,EAAoB,MAC9BnrF,EAAMmrF,EAAoB,IAE5B,GADWnrF,IAAX,IAAK,KAAc,EAAM81C,GACrB,mBAAoBo1C,EACtB,EAAkB,eAAiBp1C,EAChC,EAAiB,aAAe,KAAK,IACpC91C,EACAkrF,EAAiB,MAAM,MACzB,MACC,CACH,IAAI93E,EAAM83E,EAAiB,eAAiB,SAC1CE,EAAOh4E,GAAOA,EAAI,aAAgB,OACpC,GAAIg4E,EAAI,aAAc,CACpB,IAAInM,EAAYmM,EAAI,aAAa,EAC/B/gE,EAAS6gE,EAAiB,YAAY,OACtCG,EAAiB,KAAK,IAAIF,EAAoB,MAAO9gE,CAAM,EAC3DihE,EACaH,EAAoB,MAA/B,IAAK,GACDE,EACA,KAAK,IAAIF,EAAoB,IAAK9gE,CAAM,EAChD,CAAC40D,EAAU,QACToM,EAAiBC,IACf,EAAiBA,EAClB,EAAeD,EACf,EAAiBJ,GACpB,IAAIM,EAAc/2B,GACd02B,EACAG,CACF,EACAG,EAAYh3B,GACV02B,EACAI,CACF,EACF,GACEC,GACAC,IACOvM,EAAU,aAAhB,GACCA,EAAU,aAAesM,EAAY,MACrCtM,EAAU,eAAiBsM,EAAY,QACvCtM,EAAU,YAAcuM,EAAU,MAClCvM,EAAU,cAAgBuM,EAAU,QACtC,CACA,IAAIx6C,EAAQ59B,EAAI,YAAY,EAC5B49B,EAAM,SAASu6C,EAAY,KAAMA,EAAY,MAAM,EACnDtM,EAAU,gBAAgB,EAC1BoM,EAAiBC,GACZrM,EAAU,SAASjuC,CAAK,EACzBiuC,EAAU,OAAOuM,EAAU,KAAMA,EAAU,MAAM,IAChDx6C,EAAM,OAAOw6C,EAAU,KAAMA,EAAU,MAAM,EAC9CvM,EAAU,SAASjuC,CAAK,EAC9B,CACF,CACF,CACF,CAEA,IADA,EAAM,CAAC,EAEL,EAAYk6C,EACX,EAAYjM,EAAU,YAGjBA,EAAU,WAAhB,GACE7rE,EAAI,KAAK,CACP,QAAS6rE,EACT,KAAMA,EAAU,WAChB,IAAKA,EAAU,SACjB,CAAC,EAGL,IAFe,OAAOiM,EAAiB,OAAvC,YACEA,EAAiB,MAAM,EAEvB,EAAmB,EACnBA,EAAmB93E,EAAI,OACvB,IACA,CACA,IAAIwwC,EAAOxwC,EAAI83E,GACf,EAAK,QAAQ,WAAatnC,EAAK,KAC/B,EAAK,QAAQ,UAAYA,EAAK,GAChC,CACF,CACA,GAAW,CAAC,CAAC6nC,GACb,GAAuB,GAAgB,IACzC,QAAU,CACR,EAAoBpC,EACjB,EAAwB,EAAI5gC,EAC5B,EAAqB,EAAIsiC,CAC9B,CACF,CACA,EAAK,QAAUzR,EACf,GAAuB,CACzB,CACF,CACA,SAASoR,IAAqB,CAC5B,GAAUnE,KAAN,EAA4B,CAC9B,GAAuB,EACvB,IAAI5gC,EAAO8Q,GACT6iB,EAAekN,GACfkF,EAAsB,GAAOpS,EAAa,MAAQ,MACpD,GAAWA,EAAa,aAAe,MAASoS,EAAqB,CACnE,EAAsB1yC,EAAqB,EAC3C,EAAqB,EAAI,KACzB,IAAIyP,EAAmBpH,EAAwB,EAC/C,EAAwB,EAAI,EAC5B,IAAIgoC,EAAuBplB,EAC3B,GAAoB,EACpB,GAAI,CACF2b,GAA0Bj6B,EAAM2zB,EAAa,UAAWA,CAAY,CACtE,QAAU,CACR,EAAoB+P,EACjB,EAAwB,EAAI5gC,EAC5B,EAAqB,EAAIijC,CAC9B,CACF,CACA,GAAuB,CACzB,CACF,CACA,SAASd,IAAmB,CAC1B,GAAUrE,KAAN,GAAoCA,KAAN,EAA4B,CAC5D,GAAuB,EACvB,IAAIoF,EAA0B9E,GAC9B,GAAwB,KACxB1iC,GAAa,EACb,IAAIwB,EAAO8Q,GACT6iB,EAAekN,GACfhhC,EAAQihC,GACRyB,EAAoBtB,GACpBgF,GAAsBpmC,EAAQ,aAAeA,EAAQ,MAAQ,MAW/D,IAVO8zB,EAAa,aAAesS,KAAnC,IACOtS,EAAa,MAAQsS,KAA5B,EACK,GAAuB,GACtB,GAAuB,EACxB,GAAsB,GAAqB,KAC5CC,GAAuBlmC,EAAMA,EAAK,YAAY,GAClD,EAAqBA,EAAK,aACpBimC,IAAN,IAA6B,GAAyC,MACtExjC,GAAqB5C,CAAK,EAC1B,EAAe8zB,EAAa,UACxBz0B,IAA+B,OAAOA,GAAa,mBAAnC,WAClB,GAAI,CACFA,GAAa,kBACXD,GACA00B,EACA,IAAK,IACIA,EAAa,QAAQ,MAAQ,MAAtC,GACF,CACF,MAAc,CAAC,CACjB,GAAa4O,IAAT,KAA4B,CAC9B,EAAelvC,EAAqB,EACpC,EAAqBqI,EAAwB,EAC7C,EAAwB,EAAI,EAC5B,EAAqB,EAAI,KACzB,GAAI,CACF,IACE,IAAIypC,EAAqBnlC,EAAK,mBAAoB/mE,EAAI,EACtDA,EAAIspG,EAAkB,OACtB,IACA,CACA,IAAI4D,EAAmB5D,EAAkBtpG,GACzCksG,EAAmBgB,EAAiB,MAAO,CACzC,eAAgBA,EAAiB,KACnC,CAAC,CACH,CACF,QAAU,CACR,EAAsB,EAAIxS,EACvB,EAAwB,EAAIsS,CACjC,CACF,CAIA,GAHA,EAAoB9E,GACpB,EAAqBhwB,GACrB,GAAyB,KAEdoxB,IAAT,OACE,GAA8B,KACvB4C,IAAT,OAAgC,EAAqB,CAAC,GAC7Ca,IAAT,MAEA,IACE,EAAmB,EACnBG,EAAmB5D,EAAkB,OACrC,IAEA,GAAiB,EAAGA,EAAkB4D,GAAA,CACpChB,CACF,EACaxR,IAAX,IAAK,IACHqS,EAAwB,SAAS,QAAQrS,CAAY,EACtDmN,GAAsB,GAAM2D,GAAoB,EACvDlD,GAAsBvhC,CAAI,EAC1B,EAAqBA,EAAK,aACnBH,EAAQ,QAAkBomC,EAAqB,GAClDjmC,IAASohC,GACP,MACE,GAAoB,EAAK,GAAwBphC,IACnD,GAAoB,EAAK,GAAwB,MACvDgjC,GAA8B,EAAG,CAAC,CAAC,CACrC,CACF,CACA,SAASkD,GAAuB,EAAM,EAAgB,EAC7C,EAAK,kBAAoB5kC,KAAhC,IACI,EAAiBtB,EAAK,YAChBsB,GAAR,OACI,EAAK,YAAc,KAAO4W,GAAa5W,CAAc,GAC7D,CACA,SAASmjC,IAAsB,CAM7B,OALSvD,KAAT,OACGA,GAAsB,eAAe,EAAI,GAAwB,MACpE4D,GAAqB,EACrBC,GAAmB,EACnBE,GAAiB,EACVL,GAAoB,CAC7B,CACA,SAASA,IAAsB,CAC7B,GAAUhE,KAAN,EAA4B,MAAO,CAAC,EACxC,IAAI5gC,EAAO8Q,GACTxP,EAAiBy/B,GACnB,GAA+B,EAC/B,IAAIqF,EAAiB3jC,GAAqBq+B,EAAmB,EAC3Dta,EAAiBnzB,EAAqB,EACtCyP,EAAmBpH,EAAwB,EAC7C,GAAI,CACF,EAAwB,EAAI,GAAK0qC,EAAiB,GAAKA,EACvD,EAAqB,EAAI,KACzB,EAAiBpF,GACjB,GAA4B,KAC5B,IAAI1E,EAAgBxrB,GAClBjR,EAAQihC,GAIV,GAHA,GAAuB,EACvB,GAAsB,GAAqB,KAC3C,GAAsB,EACXxiB,EAAmB,EAAI,MAAM,MAAMvrB,EAAuB,GAAG,CAAC,EACzE,IAAI2wC,EAAuBplB,EAW3B,GAVA,GAAoB,EACpBihB,GAA4BjD,EAAc,OAAO,EACjD8B,GACE9B,EACAA,EAAc,QACdz8B,EACAumC,CACF,EACA,EAAmB1C,EACnBV,GAA8B,EAAG,CAAC,CAAC,EAEjC9jC,IACe,OAAOA,GAAa,uBAAnC,WAEA,GAAI,CACFA,GAAa,sBAAsBD,GAAYq9B,CAAa,CAC9D,MAAc,CAAC,CACjB,MAAO,CAAC,CACV,QAAU,CACR,EAAyB,EAAIx5B,EAC1B,EAAqB,EAAI0jB,EAC1B0f,GAAuBlmC,EAAMsB,CAAc,CAC/C,CACF,CACA,SAAS+kC,GAA8B,EAAW,EAAa,EAAO,CACpE,EAAc3yB,GAA2Bv7E,EAAO+5E,CAAW,EAC3D,EAAcwa,GAAsB4Z,EAAU,UAAWp0B,EAAa,CAAC,EACvE,EAAYkM,GAAckoB,EAAWp0B,EAAa,CAAC,EAC1Co0B,IAAT,OACGplC,GAAkBolC,EAAW,CAAC,EAAG/E,GAAsB+E,CAAS,EACrE,CACA,SAASvS,EAAwB,EAAa,EAAwB,EAAO,CAC3E,GAAU7hB,EAAY,MAAlB,EACFm0B,GAA8Bn0B,EAAaA,EAAa/5E,CAAK,OAE7D,KAAgB+7F,IAAT,MAAmC,CACxC,GAAUA,EAAuB,MAA7B,EAAkC,CACpCmS,GACEnS,EACAhiB,EACA/5E,CACF,EACA,KACF,CAAO,GAAU+7F,EAAuB,MAA7B,EAAkC,CAC3C,IAAIt3C,EAAWs3C,EAAuB,UACtC,GAEI,OAAOA,EAAuB,KAAK,0BADrC,YAEgB,OAAOt3C,EAAS,mBAA/B,aACWkwC,KAAT,MACC,CAACA,GAAuC,IAAIlwC,CAAQ,GACxD,CACA,EAAc82B,GAA2Bv7E,EAAO+5E,CAAW,EAC3D,EAAQya,GAAuB,CAAC,EAChC,EAAWvO,GAAc8V,EAAwB/7F,EAAO,CAAC,EAChDykD,IAAT,OACGgwC,GACCz0F,EACAykD,EACAs3C,EACAhiB,CACF,EACAhR,GAAkBtkB,EAAU,CAAC,EAC7B2kD,GAAsB3kD,CAAQ,GAChC,KACF,CACF,CACA,EAAyBs3C,EAAuB,MAClD,CACJ,CACA,SAAS/G,GAAmB,EAAM,EAAU,EAAO,CACjD,IAAIoZ,EAAYvmC,EAAK,UACrB,GAAaumC,IAAT,KAAoB,CACtB,EAAY,EAAK,UAAY,IAAIzG,GACjC,IAAI0G,EAAY,IAAI,IACpBD,EAAU,IAAIrK,EAAUsK,CAAS,CACnC,KACE,GAAaD,EAAU,IAAIrK,CAAQ,EACtBsK,IAAX,IAAK,KACD,EAAY,IAAI,IAAQD,EAAU,IAAIrK,EAAUsK,CAAS,GACjEA,EAAU,IAAI3mC,CAAK,IACf,GAA0C,CAAC,EAC7C2mC,EAAU,IAAI3mC,CAAK,EAClB,EAAO4mC,GAAkB,KAAK,KAAMzmC,EAAMk8B,EAAUr8B,CAAK,EAC1Dq8B,EAAS,KAAKl8B,EAAMA,CAAI,EAC5B,CACA,SAASymC,GAAkB,EAAM,EAAU,EAAa,CACtD,IAAIF,EAAYvmC,EAAK,UACZumC,IAAT,MAAsBA,EAAU,OAAOrK,CAAQ,EAC/C,EAAK,aAAel8B,EAAK,eAAiBG,EAC1C,EAAK,WAAa,CAACA,EACnB4Z,KAAuB/Z,IACpByf,EAAgCtf,KAAiBA,IAC3C+sB,KAAN,GACMA,KAAN,IACEzN,EAAgC,YAC/BA,GACF,IAAM/gE,GAAI,EAAI+hF,GACLniB,EAAmB,EAEvB,IAAiCne,EADlCkhC,GAAkBrhC,EAAM,CAAC,EAE1B,IAAiCG,EACtCogC,KAAsC9gB,IACnC,GAAoC,IACzC8hB,GAAsBvhC,CAAI,CAC5B,CACA,SAAS0mC,GAAsB,EAAe,EAAW,CACjDC,IAAN,IAAoB,EAAY7lC,GAAmB,GACnD,EAAgBmR,GAA+B20B,EAAeD,CAAS,EAC9DC,IAAT,OACG1lC,GAAkB0lC,EAAeD,CAAS,EAC3CpF,GAAsBqF,CAAa,EACvC,CACA,SAASrM,GAAgC,EAAe,CACtD,IAAIxiC,EAAgB6uC,EAAc,cAChCD,EAAY,EACL5uC,IAAT,OAA2B,EAAYA,EAAc,WACrD2uC,GAAsBE,EAAeD,CAAS,CAChD,CACA,SAASvK,GAAqB,EAAe,EAAU,CACrD,IAAIuK,EAAY,EAChB,OAAQC,EAAc,IAAtB,CACE,IAAK,IACL,IAAK,IACH,IAAI7K,EAAa6K,EAAc,UAC3B7uC,EAAgB6uC,EAAc,cACzB7uC,IAAT,OAA2B,EAAYA,EAAc,WACrD,MACF,IAAK,IACH,EAAa6uC,EAAc,UAC3B,MACF,IAAK,IACH,EAAaA,EAAc,UAAU,YACrC,MACF,QACE,MAAM,MAAM7zC,EAAuB,GAAG,CAAC,CAC3C,CACSgpC,IAAT,MAAuBA,EAAW,OAAOG,CAAQ,EACjDwK,GAAsBE,EAAeD,CAAS,CAChD,CACA,SAAShC,GAAmB,EAAe,EAAU,CACnD,OAAOtmC,GAAmBlH,EAAe9/D,CAAQ,CACnD,CACA,IAAIqiF,GAAqB,KACvBmtB,GAAoB,KACpBC,GAAuB,CAAC,EACxBC,GAA2B,CAAC,EAC5BC,GAAiB,CAAC,EAClBC,GAA6B,EAC/B,SAAS1F,GAAsB,EAAM,CACnCvhC,IAAS6mC,IACE7mC,EAAK,OAAd,OACU6mC,KAAT,KACI,GAAqB,GAAoB7mC,EACzC,GAAoB,GAAkB,KAAOA,GACpD,GAA2B,CAAC,EAC5B8mC,KACI,GAAuB,CAAC,EAAII,GAAkC,EACpE,CACA,SAASlE,GAA8B,EAAqB,EAAY,CACtE,GAAI,CAACgE,IAAkBD,GAA0B,CAC/C,GAAiB,CAAC,EAClB,GAEE,IAAK,IADDI,EAAqB,CAAC,EACjBC,EAAW1tB,GAA6B0tB,IAAT,MAAqB,CAC3D,GAAI,CAACC,EACH,IAAUC,IAAN,EAA2B,CAC7B,IAAIvnC,EAAeqnC,EAAS,aAC5B,GAAUrnC,IAAN,EAAoB,IAAIrD,EAA2B,MAClD,CACH,IAAIwD,EAAiBknC,EAAS,eAC5BjnC,EAAcinC,EAAS,YACzB,GACG,GAAM,GAAK/nC,GAAM,GAAKioC,CAAmB,EAAI,GAAM,EACtD,GACEvnC,EAAe,EAAEG,EAAiB,CAACC,GACrC,EACEzD,EAA2B,UACtBA,EAA2B,UAAa,EACzCA,EACEA,EAA2B,EAC3B,CACV,CACMA,IAAN,IACI,EAAqB,CAAC,EACxB6qC,GAAsBH,EAAU1qC,CAAwB,EAC5D,KACE,GAA4B+iB,EACzB,EAA2B3f,GAC1BsnC,EACAA,IAAartB,GAAqBrd,EAA2B,EACpD0qC,EAAS,sBAAlB,MACSA,EAAS,gBAAhB,EACJ,EACA,EAAO1qC,EAA2B,IAChC6D,GAA0B6mC,EAAU1qC,CAAwB,IAC1D,EAAqB,CAAC,EACxB6qC,GAAsBH,EAAU1qC,CAAwB,GAChE,EAAW0qC,EAAS,IACtB,OACOD,GACT,GAAiB,CAAC,CACpB,CACF,CACA,SAASK,GAAqC,CAC5CC,GAA+B,CACjC,CACA,SAASA,IAAiC,CACxC,GAA2B,GAAuB,CAAC,EACnD,IAAIH,EAAsB,EACpBL,KAAN,GACES,GAA6B,IAC5B,EAAsBT,IACzB,IACE,IAAI/wC,EAAcx3C,GAAI,EAAGymD,EAAO,KAAMnF,EAAO0Z,GACpC1Z,IAAT,MAEA,CACA,IAAIhuD,EAAOguD,EAAK,KACdC,EAAY0nC,GAAmC3nC,EAAM9J,CAAW,EACxD+J,IAAN,GACF,EAAM,KAAO,KACFkF,IAAT,KAAiB,GAAqBnzD,EAAS,EAAK,KAAOA,EAClDA,IAAT,OAAkB,GAAoBmzD,KAEtC,EAAOnF,GAAasnC,IAAN,GAAoCrnC,EAAY,KAEhE,GAA2B,CAAC,IAC9B,EAAOjuD,CACT,CACO4uF,KAAP,GAAqCA,KAAN,GAC7BoC,GAA8BsE,EAAqB,CAAC,CAAC,EACjDL,KAAN,IAAqC,GAA6B,EACpE,CACA,SAASU,GAAmC,EAAM,EAAa,CAC7D,IACE,IAAIznC,EAAiBF,EAAK,eACxBG,EAAcH,EAAK,YACnBwB,EAAkBxB,EAAK,gBACvBH,EAAQG,EAAK,aAAe,UAC9B,EAAIH,GAEJ,CACA,IAAI+nC,EAAU,GAAKvoC,GAAMQ,CAAK,EAC5Be,EAAO,GAAKgnC,EACZC,EAAiBrmC,EAAgBomC,GACxBC,IAAP,KACSjnC,EAAOV,KAAd,IAAwCU,EAAOT,KAAd,KACnC,EAAgBynC,GAAW/mC,GAAsBD,EAAM1K,CAAW,GAC/D2xC,GAAkB3xC,IAAgB,EAAK,cAAgB0K,GAC9D,GAAS,CAACA,CACZ,CASA,GARA,EAAcmZ,GACd,EAAiB0F,EACjB,EAAiB3f,GACfE,EACAA,IAAS9J,EAAcgK,EAAiB,EAC/BF,EAAK,sBAAd,MAA4CA,EAAK,gBAAZ,EACvC,EACA,EAAcA,EAAK,aAEXE,IAAN,GACCF,IAAS9J,IACD6pC,IAAN,GACOA,IAAN,IACK//B,EAAK,sBAAd,KAEA,OACWG,IAAT,MACWA,IAAT,MACA7B,GAAiB6B,CAAW,EAC7B,EAAK,aAAe,KACpB,EAAK,iBAAmB,EAE7B,GACE,EAAOD,EAAiB,IACxBK,GAA0BP,EAAME,CAAc,EAC9C,CAEA,GADA,EAAcA,EAAiB,CAACA,EAC5BhK,IAAgB8J,EAAK,iBAAkB,OAAO9J,EAElD,OADSiK,IAAT,MAAwB7B,GAAiB6B,CAAW,EAC5CsC,GAAqBvC,CAAc,EAA3C,CACE,IAAK,GACL,IAAK,GACH,EAAiBvB,GACjB,MACF,IAAK,IACH,EAAiBC,GACjB,MACF,IAAK,WACH,EAAiBE,GACjB,MACF,QACE,EAAiBF,EACrB,CAKA,MAJA,GAAckpC,GAAkC,KAAK,KAAM9nC,CAAI,EAC/D,EAAiB3B,GAAmB6B,EAAgBC,CAAW,EAC/D,EAAK,iBAAmBjK,EACxB,EAAK,aAAegK,EACbhK,CACT,CAIA,OAHSiK,IAAT,MAAiCA,IAAT,MAAwB7B,GAAiB6B,CAAW,EAC5E,EAAK,iBAAmB,EACxB,EAAK,aAAe,KACb,CACT,CACA,SAAS2nC,GAAkC,EAAM,EAAY,CAC3D,GAAUlH,KAAN,GAAoCA,KAAN,EAChC,MAAQ,GAAK,aAAe,KAAQ,EAAK,iBAAmB,EAAI,KAClE,IAAImH,EAAuB/nC,EAAK,aAChC,GAAIykC,GAAoB,GAAKzkC,EAAK,eAAiB+nC,EACjD,OAAO,KACT,IAAIC,EAAyCvoB,EAS7C,MARA,GAAyC3f,GACvCE,EACAA,IAAS+Z,GAAqBiuB,EAAyC,EAC9DhoC,EAAK,sBAAd,MAA4CA,EAAK,gBAAZ,EACvC,EACUgoC,IAAN,EAAqD,MACzDxG,GAAkBxhC,EAAMgoC,EAAwCC,CAAU,EAC1EN,GAAmC3nC,EAAMthD,GAAI,CAAC,EAC/BshD,EAAK,cAAb,MAA6BA,EAAK,eAAiB+nC,EACtDD,GAAkC,KAAK,KAAM9nC,CAAI,EACjD,KACN,CACA,SAASunC,GAAsB,EAAM,EAAO,CAC1C,GAAI9C,GAAoB,EAAG,OAAO,KAClCjD,GAAkBxhC,EAAMH,EAAO,CAAC,CAAC,CACnC,CACA,SAASqnC,IAAoC,CAC3CgB,GAAkB,UAAY,CACrB5pB,EAAmB,EACtBjgB,GACEK,GACA8oC,CACF,EACAC,GAA+B,CACrC,CAAC,CACH,CACA,SAASxuB,GAAwB,CAC/B,GAAUguB,KAAN,EAAkC,CACpC,IAAIkB,EAAkBtvB,GAChBsvB,IAAN,IACI,EAAkB3oC,GACnB,KAA6B,EAC9B,EAAOA,GAA2B,UAC/B,GAA2B,MAChC,GAA6B2oC,CAC/B,CACA,OAAOlB,EACT,CACA,SAASmB,GAAqB,EAAY,CACxC,OAAeC,GAAR,MACQ,OAAOA,GAApB,UACc,OAAOA,GAArB,UACE,KACe,OAAOA,GAAtB,WACEA,EACArgC,GAAYqgC,CAAU,CAC9B,CACA,SAASC,GACP,EACA,EACA,EACA,EACA,EACA,CACA,GACe/7B,IAAb,UACAg8B,GACAA,EAAgB,YAAcr+B,EAC9B,CACA,IAAInW,EAASq0C,IACRl+B,EAAkBhH,KAAqB,MAAM,MAChD,EACAslC,EAAYrgC,EAAY,UAC1BqgC,IACI,GAAgB,EAAeA,EAAUtlC,KAAqB,MAC5DklC,GAAqB77B,EAAa,UAAU,EAC5Ci8B,EAAU,aAAa,YAAY,EAC9Bj8B,IAAT,OAA2B,EAASA,EAAgB,EAAY,OAClE,IAAIpyE,EAAQ,IAAIkwE,GACd,SACA,SACA,KACAlC,EACA+B,CACF,EACA+C,EAAc,KAAK,CACV,QACP,UAAW,CACT,CACE,SAAU,KACV,SAAU,UAAY,CACpB,GAAI9E,EAAY,iBACV,IAAM8+B,KAAN,EAAkC,CACpC,IAAI1+D,EAAW,IAAI,SAAS2hC,EAAmBs+B,CAAS,EACxD5e,GACE2e,EACA,CACE,QAAS,CAAC,EACV,KAAMhgE,EACN,OAAQ2hC,EAAkB,OAClB,QACV,EACA,KACA3hC,CACF,CACF,OAEe,OAAOwrB,GAAtB,aACG55D,EAAM,eAAe,EACrB,EAAW,IAAI,SAAS+vE,EAAmBs+B,CAAS,EACrD5e,GACE2e,EACA,CACE,QAAS,CAAC,EACV,KAAMhgE,EACN,OAAQ2hC,EAAkB,OAClB,QACV,EACAnW,EACAxrB,CACF,EACN,EACA,cAAe2hC,CACjB,CACF,CACF,CAAC,CACH,CACF,CACA,IACE,IAAIu+B,GAAuB,EAC3BA,GAAuB/3B,GAAwB,OAC/C,KACA,CACA,IAAIg4B,GACAh4B,GAAwB+3B,IAM5B93B,GAJI+3B,GAA6B,YAKD,EAC9B,MAJEA,GAA6B,EAAE,CAAC,YAAY,EAC5CA,GAA6B,MAAM,CAAC,EAIxC,CACF,CACA/3B,GAAoBT,GAAe,gBAAgB,EACnDS,GAAoBR,GAAqB,sBAAsB,EAC/DQ,GAAoBP,GAAiB,kBAAkB,EACvDO,GAAoB,WAAY,eAAe,EAC/CA,GAAoB,UAAW,SAAS,EACxCA,GAAoB,WAAY,QAAQ,EACxCA,GAAoBN,GAAgB,iBAAiB,EACrDM,GAAoBL,GAAkB,mBAAmB,EACzDK,GAAoBJ,GAAmB,oBAAoB,EAC3DI,GAAoBH,GAAgB,iBAAiB,EACrD/L,GAAoB,eAAgB,CAAC,WAAY,WAAW,CAAC,EAC7DA,GAAoB,eAAgB,CAAC,WAAY,WAAW,CAAC,EAC7DA,GAAoB,iBAAkB,CAAC,aAAc,aAAa,CAAC,EACnEA,GAAoB,iBAAkB,CAAC,aAAc,aAAa,CAAC,EACnED,GACE,WACA,oEAAoE,MAAM,GAAG,CAC/E,EACAA,GACE,WACA,uFAAuF,MACrF,GACF,CACF,EACAA,GAAsB,gBAAiB,CACrC,iBACA,WACA,YACA,OACF,CAAC,EACDA,GACE,mBACA,2DAA2D,MAAM,GAAG,CACtE,EACAA,GACE,qBACA,6DAA6D,MAAM,GAAG,CACxE,EACAA,GACE,sBACA,8DAA8D,MAAM,GAAG,CACzE,EACA,IAAI+Q,GACA,6NAA6N,MAC3N,GACF,EACFozB,GAAqB,IAAI,IACvB,iEACG,MAAM,GAAG,CAAC,CACV,OAAOpzB,EAAe,CAC3B,EACF,SAASlI,GAAqB,EAAe,EAAkB,CAC7D,EAAmB,GAAOu7B,EAAmB,GAC7C,IAAK,IAAI3vG,EAAI,EAAGA,EAAIg0E,EAAc,OAAQ,IAAK,CAC7C,IAAI47B,EAAmB57B,EAAch0E,GACnCkB,EAAQ0uG,EAAiB,MAC3B,EAAmBA,EAAiB,UACpC,EAAG,CACD,IAAIC,EAAmB,IAAK,GAC5B,GAAIF,EACF,IACE,IAAIG,EAAaF,EAAiB,OAAS,EAC3C,GAAKE,EACL,IACA,CACA,IAAIC,EAAuBH,EAAiBE,GAC1CnsD,EAAWosD,EAAqB,SAChCC,EAAgBD,EAAqB,cAEvC,GADA,EAAuBA,EAAqB,SACxCpsD,IAAaksD,GAAoB3uG,EAAM,qBAAqB,EAC9D,MAAM,EACR,EAAmB6uG,EACnB,EAAM,cAAgBC,EACtB,GAAI,CACFH,EAAiB3uG,CAAK,CACxB,OAAShC,EAAO,CACdo5E,GAAkBp5E,CAAK,CACzB,CACA,EAAM,cAAgB,KACtB,EAAmBykD,CACrB,MAEA,IACE,EAAa,EACbmsD,EAAaF,EAAiB,OAC9B,IACA,CAKA,GAJA,EAAuBA,EAAiBE,GACxC,EAAWC,EAAqB,SAChC,EAAgBA,EAAqB,cACrC,EAAuBA,EAAqB,SACxCpsD,IAAaksD,GAAoB3uG,EAAM,qBAAqB,EAC9D,MAAM,EACR,EAAmB6uG,EACnB,EAAM,cAAgBC,EACtB,GAAI,CACFH,EAAiB3uG,CAAK,CACxB,OAAShC,EAAO,CACdo5E,GAAkBp5E,CAAK,CACzB,CACA,EAAM,cAAgB,KACtB,EAAmBykD,CACrB,CACJ,CACF,CACF,CACA,SAAS04B,EAA0B,EAAc,EAAe,CAC9D,IAAI5Y,EAA2BlW,EAAc4c,IAClC1G,IAAX,IAAK,KACF,EAA2B,EAAc0G,IACxC,IAAI,KACR,IAAI8lC,EAAiB38B,EAAe,WACpC7P,EAAyB,IAAIwsC,CAAc,IACxCC,GAAwB3iD,EAAe+lB,EAAc,EAAG,CAAC,CAAC,EAC3D7P,EAAyB,IAAIwsC,CAAc,EAC/C,CACA,SAASE,GAAoB,EAAc,EAAwB,EAAQ,CACzE,IAAIR,EAAmB,EACvBS,IAA2B,GAAoB,GAC/CF,GACEz0E,EACA63C,EACAq8B,EACAS,CACF,CACF,CACA,IAAIC,GAAkB,kBAAoB,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,EAC5E,SAASjW,GAA2B,EAAsB,CACxD,GAAI,CAACkW,EAAqBD,IAAkB,CAC1C,EAAqBA,IAAmB,CAAC,EACzChlC,GAAgB,QAAQ,SAAU,EAAc,CACxBiI,IAAtB,oBACGo8B,GAAmB,IAAIp8B,CAAY,GAClC68B,GAAoB78B,EAAc,CAAC,EAAGg9B,CAAoB,EAC5DH,GAAoB78B,EAAc,CAAC,EAAGg9B,CAAoB,EAC9D,CAAC,EACD,IAAIrW,EACIqW,EAAqB,WAA3B,EACIA,EACAA,EAAqB,cAClBrW,IAAT,MACEA,EAAcoW,MACZ,EAAcA,IAAmB,CAAC,EACpCF,GAAoB,kBAAmB,CAAC,EAAGlW,CAAa,EAC5D,CACF,CACA,SAASiW,GACP,EACA,EACA,EACA,EACA,CACA,OAAQvmC,GAAiB2J,CAAY,EAArC,CACE,IAAK,GACH,IAAIi9B,EAAkBC,GACtB,MACF,IAAK,GACH,EAAkBC,GAClB,MACF,QACE,EAAkBC,EACtB,CACA,EAAmBH,EAAgB,KACjC,KACAj9B,EACAq8B,EACAgB,CACF,EACA,EAAkB,IAAK,GACvB,CAAC5gC,IACmBuD,IAAjB,cACiBA,IAAhB,aACYA,IAAZ,UACD,EAAkB,CAAC,GACtB88B,EACeG,IAAX,IAAK,GAKHI,EAAgB,iBAAiBr9B,EAAcq8B,EAAkB,CAAC,CAAC,EAJnEgB,EAAgB,iBAAiBr9B,EAAcq8B,EAAkB,CAC/D,QAAS,CAAC,EACV,QAASY,CACX,CAAC,EAEQA,IAAX,IAAK,GAIHI,EAAgB,iBAAiBr9B,EAAcq8B,EAAkB,CAAC,CAAC,EAHnEgB,EAAgB,iBAAiBr9B,EAAcq8B,EAAkB,CAC/D,QAASY,CACX,CAAC,CAET,CACA,SAASK,GACP,EACA,EACA,EACA,EACA,EACA,CACA,IAAIC,EAAeC,EACnB,GACE,EAAOnB,EAAmB,IAC1B,EAAOA,EAAmB,IACjBmB,IAAT,KAEA,EAAG,OAAS,CACV,GAAaA,IAAT,KAA8B,OAClC,IAAIC,EAAUD,EAAoB,IAClC,GAAUC,IAAN,GAAuBA,IAAN,EAAe,CAClC,IAAIx2C,EAAYu2C,EAAoB,UAAU,cAC9C,GAAIv2C,IAAco2C,EAAiB,MACnC,GAAUI,IAAN,EACF,IAAK,EAAUD,EAAoB,OAAiBC,IAAT,MAAoB,CAC7D,IAAIC,EAAWD,EAAQ,IACvB,IACSC,IAAN,GAAwBA,IAAN,IACnBD,EAAQ,UAAU,gBAAkBJ,EAEpC,OACF,EAAUI,EAAQ,MACpB,CACF,KAAgBx2C,IAAT,MAAsB,CAE3B,GADA,EAAUmQ,GAA2BnQ,CAAS,EACjCw2C,IAAT,KAAkB,OAEtB,GADA,EAAWA,EAAQ,IAEXC,IAAN,GACMA,IAAN,GACOA,IAAP,IACOA,IAAP,GACA,CACA,EAAsB,EAAeD,EACrC,SAAS,CACX,CACA,EAAYx2C,EAAU,UACxB,CACF,CACA,EAAsBu2C,EAAoB,MAC5C,CACFphC,GAAiB,UAAY,CAC3B,IAAI/E,EAAakmC,EACf5/B,EAAoBj1C,GAAekzC,CAAW,EAC9C8E,EAAgB,CAAC,EACnB,EAAG,CACD,IAAIjD,EAAYyG,GAA2B,IAAIlE,CAAY,EAC3D,GAAevC,IAAX,IAAK,GAAiB,CACxB,IAAIkgC,EAAqB7/B,GACvBJ,EAAiBsC,EACnB,OAAQA,EAAR,CACE,IAAK,WACH,GAAU9C,GAAiBtB,CAAW,IAAlC,EAAqC,MAAM,EACjD,IAAK,UACL,IAAK,QACH,EAAqBqD,GACrB,MACF,IAAK,UACH,EAAiB,QACjB,EAAqBT,GACrB,MACF,IAAK,WACH,EAAiB,OACjB,EAAqBA,GACrB,MACF,IAAK,aACL,IAAK,YACH,EAAqBA,GACrB,MACF,IAAK,QACH,GAAU5C,EAAY,SAAlB,EAA0B,MAAM,EACtC,IAAK,WACL,IAAK,WACL,IAAK,YACL,IAAK,YACL,IAAK,UACL,IAAK,WACL,IAAK,YACL,IAAK,cACH,EAAqB0C,GACrB,MACF,IAAK,OACL,IAAK,UACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,WACL,IAAK,YACL,IAAK,OACH,EAAqBC,GACrB,MACF,IAAK,cACL,IAAK,WACL,IAAK,YACL,IAAK,aACH,EAAqBa,GACrB,MACF,KAAKuE,GACL,KAAKC,GACL,KAAKC,GACH,EAAqBpF,GACrB,MACF,KAAKwF,GACH,EAAqB5E,GACrB,MACF,IAAK,SACL,IAAK,YACH,EAAqBrB,GACrB,MACF,IAAK,QACH,EAAqBsB,GACrB,MACF,IAAK,OACL,IAAK,MACL,IAAK,QACH,EAAqBZ,GACrB,MACF,IAAK,oBACL,IAAK,qBACL,IAAK,gBACL,IAAK,cACL,IAAK,cACL,IAAK,aACL,IAAK,cACL,IAAK,YACH,EAAqBQ,GACrB,MACF,IAAK,SACH,EAAqBC,GACrB,MACF,IAAK,SACL,IAAK,eACH,EAAqBI,EACzB,CACA,IAAIq+B,EAAiB,GAAOvB,EAAmB,GAC7CwB,EACE,CAACD,IACa59B,IAAb,UAA6CA,IAAhB,aAChC89B,EAAiBF,EACJngC,IAAT,KAEE,KADAA,EAAY,UAEdA,EACN,EAAiB,CAAC,EAClB,IACE,IAAIptB,EAAWgnB,EAAY0mC,EAClB1tD,IAAT,MAEA,CACA,IAAI2tD,EAAY3tD,EAWhB,GAVA,EAAoB2tD,EAAU,UAC9B,EAAYA,EAAU,IACfA,IAAP,GAA2BA,IAAP,IAA2BA,IAAP,IAC7BD,IAAT,MACSD,IAAT,OACE,EAAYxhC,GAAYjsB,EAAUytD,CAAc,EAC1CE,GAAR,MACEJ,EAAe,KACbK,GAAuB5tD,EAAU2tD,EAAWD,CAAiB,CAC/D,GACAF,EAAsB,MAC1B,EAAWxtD,EAAS,MACtB,CACA,EAAIutD,EAAe,SACf,EAAY,IAAID,EAChBlgC,EACAC,EACA,KACA9B,EACA+B,CACF,EACA+C,EAAc,KAAK,CAAE,MAAOjD,EAAW,UAAWmgC,CAAe,CAAC,EACtE,CACF,CACA,GAAI,EAAOvB,EAAmB,GAAI,CAChC,EAAG,CAKD,GAJA,EACkBr8B,IAAhB,aAAkDA,IAAlB,cAClC,EACiBA,IAAf,YAAgDA,IAAjB,aAE/B29B,GACA/hC,IAAgBD,KACf,EACCC,EAAY,eAAiBA,EAAY,eAC1CxE,GAA2BsG,CAAc,GACxCA,EAAe9G,KAEjB,MAAM,GACJ6G,GAAakgC,KACf,EACEhgC,EAAkB,SAAWA,EACzBA,GACC,EAAqBA,EAAkB,eACtCggC,EAAmB,aACnBA,EAAmB,aACnB,OACJlgC,GAEE,EACA7B,EAAY,eAAiBA,EAAY,UAC1C,EAAYvE,EACZ,EAAqBsmC,EAClBvmC,GAA2BumC,CAAkB,EAC7C,KACKA,IAAT,OACI,EACAvyC,EAAuBuyC,CAAkB,EAC1C,EAAiBA,EAAmB,IACrCA,IAAuBE,GACdD,IAAN,GACQA,IAAP,IACMA,IAAN,KAEN,EAAqB,QAClB,EAAa,KAAQ,EAAqBvmC,GAC7CoG,IAAckgC,IAChB,EAAiBr/B,GACjB,EAAY,eACZ,EAAiB,eACjB,EAAW,SACU0B,IAAjB,cAAmDA,IAAlB,iBACnC,EAAkBd,GACf,EAAY,iBACZ,EAAiB,iBACjB,EAAW,WAChB,EACUzB,GAAR,KACIC,EACAhG,GAAoB+F,CAAS,EACnC,EACUkgC,GAAR,KACIjgC,EACAhG,GAAoBimC,CAAkB,EAC5C,EAAiB,IAAIC,EACnBI,EACA3tD,EAAW,QACXotB,EACA7B,EACA+B,CACF,EACA,EAAe,OAASkgC,EACxB,EAAe,cAAgBE,EAC/B,EAAY,KACZ3mC,GAA2BuG,CAAiB,IAAMtG,IAC9C,EAAiB,IAAIumC,EACrBE,EACAztD,EAAW,QACXstD,EACA/hC,EACA+B,CACF,EACC,EAAe,OAASogC,EACxB,EAAe,cAAgBF,EAC/B,EAAYD,GACf,EAAuBI,EACvB,EACEvgC,GAAakgC,EACTtwC,EACEoQ,EACAkgC,EACAt5C,EACF,EACA,KACGoZ,IAAT,MACEygC,GACEx9B,EACAhD,EACAD,EACAmgC,EACA,CAAC,CACH,EACOD,IAAT,MACWE,IAAT,MACAK,GACEx9B,EACAm9B,EACAF,EACAC,EACA,CAAC,CACH,GAGR,CACA,EAAG,CAID,GAHA,EAAYvmC,EAAaK,GAAoBL,CAAU,EAAI,OAC3D,EACEoG,EAAU,UAAYA,EAAU,SAAS,YAAY,EAExCkgC,IAAb,UACaA,IAAZ,SAA6ClgC,EAAU,OAArB,OAEnC,IAAI0gC,EAAoBn9B,QACrB,GAAIV,GAAmB7C,CAAS,EACnC,IAAIwD,GACF,EAAoBS,OACjB,CACH,EAAoBF,GACpB,IAAI48B,EAAkB78B,EACxB,MAEA,GAAsB9D,EAAU,SAC9B,CAACkgC,GACWA,EAAmB,YAAY,IAA3C,SACgBlgC,EAAU,OAAzB,YAA6CA,EAAU,OAAtB,QAC9BpG,GACAiE,GAAgBjE,EAAW,WAAW,IACrC,EAAoB2J,IACpB,EAAoBS,GAC7B,GACE,CACC08B,GAAoBA,EAAkBn+B,EAAc3I,CAAU,EAC/D,CACAmJ,GACEE,EACAy9B,EACAviC,EACA+B,CACF,EACA,MAAM,CACR,CACAygC,GAAmBA,EAAgBp+B,EAAcvC,EAAWpG,CAAU,CACxE,CAEA,OADA,EAAkBA,EAAaK,GAAoBL,CAAU,EAAI,OACzD2I,EAAR,CACE,IAAK,WAEDM,GAAmB89B,CAAe,GACvBA,EAAgB,kBAA3B,UAEA,GAAiBA,EACd,GAAoB/mC,EACpB,GAAgB,MACrB,MACF,IAAK,WACH,GAAgB,GAAoB,GAAgB,KACpD,MACF,IAAK,YACH,GAAY,CAAC,EACb,MACF,IAAK,cACL,IAAK,UACL,IAAK,UACH,GAAY,CAAC,EACb8L,GAAqBzC,EAAe9E,EAAa+B,CAAiB,EAClE,MACF,IAAK,kBACH,GAAImF,GAA0B,MAChC,IAAK,UACL,IAAK,QACHK,GAAqBzC,EAAe9E,EAAa+B,CAAiB,CACtE,CACA,IAAI0gC,EACJ,GAAI5+B,GACF,EAAG,CACD,OAAQO,EAAR,CACE,IAAK,mBACH,IAAI54D,EAAY,qBAChB,MAAM,EACR,IAAK,iBACH,EAAY,mBACZ,MAAM,EACR,IAAK,oBACH,EAAY,sBACZ,MAAM,CACV,CACA,EAAY,IAAK,EACnB,MAEA84D,GACIH,GAAyBC,EAAcpE,CAAW,IACjD,EAAY,oBACCoE,IAAd,WACQpE,EAAY,UAApB,MACC,EAAY,sBACnBx0D,IACGw4D,IACUhE,EAAY,SAArB,OACCsE,IAAwC94D,IAAzB,qBACWA,IAAvB,oBACA84D,KACC,EAAetD,GAAQ,IACtB,GAAOe,EACR,GAAY,UAAWlK,GAAOA,GAAK,MAAQA,GAAK,YAChD,GAAc,CAAC,IACrB,EAAkBgN,GAA4BpJ,EAAYjwD,CAAS,EACpE,EAAIg3F,EAAgB,SAChB,EAAY,IAAIz/B,GAChBv3D,EACA44D,EACA,KACApE,EACA+B,CACF,EACA+C,EAAc,KAAK,CAAE,MAAOt5D,EAAW,UAAWg3F,CAAgB,CAAC,EACnEC,EACK,EAAU,KAAOA,GAChB,EAAep+B,GAAuBrE,CAAW,EAC1CyiC,IAAT,OAA0B,EAAU,KAAOA,OAEhD,EAAe1+B,GACZQ,GAA0BH,EAAcpE,CAAW,EACnDwE,GAA4BJ,EAAcpE,CAAW,KAEzD,EAAa6E,GAA4BpJ,EAAY,eAAe,EAClE,EAAIjwD,EAAU,SACV,EAAkB,IAAIu3D,GACtB,gBACA,cACA,KACA/C,EACA+B,CACF,EACA+C,EAAc,KAAK,CACjB,MAAO09B,EACP,UAAWh3F,CACb,CAAC,EACA,EAAgB,KAAOi3F,IAC9BtC,GACEr7B,EACAV,EACA3I,EACAuE,EACA+B,CACF,CACF,CACAmD,GAAqBJ,EAAe27B,CAAgB,CACtD,CAAC,CACH,CACA,SAAS4B,GAAuB,EAAU,EAAU,EAAe,CACjE,MAAO,CACK,WACA,WACK,eACjB,CACF,CACA,SAASx9B,GAA4B,EAAa,EAAW,CAC3D,IACE,IAAI69B,EAAc7gC,EAAY,UAAW9+B,EAAY,CAAC,EAC7C4/D,IAAT,MAEA,CACA,IAAIC,EAAaD,EACfhiC,EAAYiiC,EAAW,UAczB,GAbA,EAAaA,EAAW,IACjBA,IAAP,GAA4BA,IAAP,IAA4BA,IAAP,IAC/BjiC,IAAT,OACE,EAAaD,GAAYiiC,EAAaD,CAAW,EAC3CE,GAAR,MACE7/D,EAAU,QACRs/D,GAAuBM,EAAaC,EAAYjiC,CAAS,CAC3D,EACD,EAAaD,GAAYiiC,EAAa9gC,CAAS,EACxC+gC,GAAR,MACE7/D,EAAU,KACRs/D,GAAuBM,EAAaC,EAAYjiC,CAAS,CAC3D,GACMgiC,EAAY,MAAlB,EAAuB,OAAO5/D,EAClC,EAAc4/D,EAAY,MAC5B,CACA,MAAO,CAAC,CACV,CACA,SAASl6C,GAAU,EAAM,CACvB,GAAa+I,IAAT,KAAe,OAAO,KAC1B,EAAG,GAAOA,EAAK,aACRA,GAAcA,EAAK,MAAX,GAAyBA,EAAK,MAAZ,IACjC,OAAOA,GAAc,IACvB,CACA,SAAS8wC,GACP,EACA,EACA,EACA,EACA,EACA,CACA,IACE,IAAI/lC,EAAmBvqE,EAAM,WAAY+wC,EAAY,CAAC,EAC7CxW,IAAT,MAAmBA,IAAWs2E,GAE9B,CACA,IAAIC,EAAav2E,EACf0jC,EAAY6yC,EAAW,UACvBniC,EAAYmiC,EAAW,UAEzB,GADA,EAAaA,EAAW,IACX7yC,IAAT,MAAsBA,IAAc4yC,EAAQ,MACzCC,IAAP,GAA4BA,IAAP,IAA4BA,IAAP,IAC/BniC,IAAT,OACE,EAAYA,EACdqhC,GACM,EAAYthC,GAAYn0C,EAAQgwC,CAAgB,EAC1CoE,GAAR,MACE59B,EAAU,QACRs/D,GAAuB91E,EAAQo0C,EAAW1Q,CAAS,CACrD,GACF+xC,IACE,EAAYthC,GAAYn0C,EAAQgwC,CAAgB,EAC1CoE,GAAR,MACE59B,EAAU,KACRs/D,GAAuB91E,EAAQo0C,EAAW1Q,CAAS,CACrD,IACR,EAAS1jC,EAAO,MAClB,CACMwW,EAAU,SAAhB,GACE+hC,EAAc,KAAK,CAAS,QAAkB,WAAU,CAAC,CAC7D,CACA,IAAIi+B,GAA2B,SAC7BC,GAAuC,iBACzC,SAASC,GAAkC,EAAQ,CACjD,OAAqB,OAAOC,GAApB,SAA6BA,EAAS,GAAKA,EAAA,CAChD,QAAQH,GAA0B;CAAI,CAAC,CACvC,QAAQC,GAAsC,EAAE,CACrD,CACA,SAAS31B,GAAsB,EAAY,EAAY,CAErD,MADA,GAAa41B,GAAkCE,CAAU,EAClDF,GAAkCG,CAAU,IAAMD,CAC3D,CACA,SAASE,EAAQ,EAAY,EAAK,EAAK,EAAO,EAAO,EAAW,CAC9D,OAAQ7rG,EAAR,CACE,IAAK,WACH,GAAiB,OAAOvF,GAApB,SACSqoC,IAAX,QACkBA,IAAf,YAA6BroC,IAAP,IACvB6sE,GAAewuB,EAAYr7F,CAAK,OAC/B,GAAiB,OAAOA,GAApB,UAA0C,OAAOA,GAApB,SACzBqoC,IAAX,QAAkBwkC,GAAewuB,EAAY,GAAKr7F,CAAK,OACpD,OACL,MACF,IAAK,YACHkrE,GAA0BmwB,EAAY,QAASr7F,CAAK,EACpD,MACF,IAAK,WACHkrE,GAA0BmwB,EAAY,WAAYr7F,CAAK,EACvD,MACF,IAAK,MACL,IAAK,OACL,IAAK,UACL,IAAK,QACL,IAAK,SACHkrE,GAA0BmwB,EAAY91F,EAAKvF,CAAK,EAChD,MACF,IAAK,QACHotE,GAAkBiuB,EAAYr7F,EAAOkvF,CAAS,EAC9C,OACF,IAAK,OACH,GAAiB7mD,IAAb,SAAkB,CACpB6iC,GAA0BmwB,EAAY,OAAQr7F,CAAK,EACnD,KACF,CACF,IAAK,MACL,IAAK,OAKH,GAJWA,IAAP,KAAyBqoC,IAAR,KAA0B9iC,IAAX,SAK1BvF,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACc,OAAOA,GAArB,UACA,CACAq7F,EAAW,gBAAgB91F,CAAG,EAC9B,KACF,CACA,EAAQqoE,GAAY5tE,CAAK,EACzBq7F,EAAW,aAAa91F,EAAKvF,CAAK,EAClC,MACF,IAAK,SACL,IAAK,aACH,GAAmB,OAAOA,GAAtB,WAA6B,CAC/Bq7F,EAAW,aACT91F,EACA,sRACF,EACA,KACF,CAgCA,GA/BiB,OAAO2pF,GAAtB,aACoB3pF,IAAjB,cACgB8iC,IAAZ,SACC+oE,EAAQ/V,EAAYhzD,EAAK,OAAQiY,EAAM,KAAMA,EAAO,IAAI,EAC1D8wD,EACE/V,EACAhzD,EACA,cACAiY,EAAM,YACNA,EACA,IACF,EACA8wD,EACE/V,EACAhzD,EACA,aACAiY,EAAM,WACNA,EACA,IACF,EACA8wD,EACE/V,EACAhzD,EACA,aACAiY,EAAM,WACNA,EACA,IACF,IACC8wD,EAAQ/V,EAAYhzD,EAAK,UAAWiY,EAAM,QAASA,EAAO,IAAI,EAC/D8wD,EAAQ/V,EAAYhzD,EAAK,SAAUiY,EAAM,OAAQA,EAAO,IAAI,EAC5D8wD,EAAQ/V,EAAYhzD,EAAK,SAAUiY,EAAM,OAAQA,EAAO,IAAI,IAE1DtgD,GAAR,MACa,OAAOA,GAApB,UACc,OAAOA,GAArB,UACA,CACAq7F,EAAW,gBAAgB91F,CAAG,EAC9B,KACF,CACA,EAAQqoE,GAAY5tE,CAAK,EACzBq7F,EAAW,aAAa91F,EAAKvF,CAAK,EAClC,MACF,IAAK,UACKA,GAAR,OAAkB,EAAW,QAAU6tE,IACvC,OACF,IAAK,WACK7tE,GAAR,MAAiBk7E,EAA0B,SAAUmgB,CAAU,EAC/D,OACF,IAAK,cACKr7F,GAAR,MAAiBk7E,EAA0B,YAAamgB,CAAU,EAClE,OACF,IAAK,0BACH,GAAYr7F,GAAR,KAAe,CACjB,GAAiB,OAAOA,GAApB,UAA6B,EAAE,WAAYA,GAC7C,MAAM,MAAM24D,EAAuB,EAAE,CAAC,EAExC,GADA,EAAM34D,EAAM,OACAuF,GAAR,KAAa,CACf,GAAY+6C,EAAM,UAAd,KAAwB,MAAM,MAAMqY,EAAuB,EAAE,CAAC,EACzDu2B,GAAsB,SAAqB3pF,IACjD,EAAW,UAAYA,EAC5B,CACF,CACA,MACF,IAAK,WACH,EAAW,SACTvF,GAAwB,OAAOA,GAAtB,YAA4C,OAAOA,GAApB,SAC1C,MACF,IAAK,QACH,EAAW,MACTA,GAAwB,OAAOA,GAAtB,YAA4C,OAAOA,GAApB,SAC1C,MACF,IAAK,iCACL,IAAK,2BACL,IAAK,eACL,IAAK,iBACL,IAAK,YACL,IAAK,MACH,MACF,IAAK,YACH,MACF,IAAK,YACH,GACUA,GAAR,MACe,OAAOA,GAAtB,YACc,OAAOA,GAArB,WACa,OAAOA,GAApB,SACA,CACAq7F,EAAW,gBAAgB,YAAY,EACvC,KACF,CACA,EAAMztB,GAAY5tE,CAAK,EACvBq7F,EAAW,eACT,+BACA,aACA91F,CACF,EACA,MACF,IAAK,kBACL,IAAK,aACL,IAAK,YACL,IAAK,QACL,IAAK,cACL,IAAK,4BACL,IAAK,YACL,IAAK,gBACKvF,GAAR,MAAgC,OAAOA,GAAtB,YAA4C,OAAOA,GAApB,SAC5Cq7F,EAAW,aAAa91F,EAAKvF,CAAK,EAClCq7F,EAAW,gBAAgB91F,CAAG,EAClC,MACF,IAAK,QACL,IAAK,kBACL,IAAK,QACL,IAAK,WACL,IAAK,WACL,IAAK,iBACL,IAAK,UACL,IAAK,QACL,IAAK,WACL,IAAK,0BACL,IAAK,wBACL,IAAK,iBACL,IAAK,SACL,IAAK,OACL,IAAK,WACL,IAAK,aACL,IAAK,OACL,IAAK,cACL,IAAK,WACL,IAAK,WACL,IAAK,WACL,IAAK,SACL,IAAK,WACL,IAAK,YACHvF,GAAwB,OAAOA,GAAtB,YAA4C,OAAOA,GAApB,SACpCq7F,EAAW,aAAa91F,EAAK,EAAE,EAC/B81F,EAAW,gBAAgB91F,CAAG,EAClC,MACF,IAAK,UACL,IAAK,WACH,CAAC,IAAMvF,EACHq7F,EAAW,aAAa91F,EAAK,EAAE,EAC/B,CAAC,IAAMvF,GACGA,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,SACAq7F,EAAW,aAAa91F,EAAKvF,CAAK,EAClCq7F,EAAW,gBAAgB91F,CAAG,EACpC,MACF,IAAK,OACL,IAAK,OACL,IAAK,OACL,IAAK,OACKvF,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACA,CAAC,MAAMA,CAAK,GACZ,GAAKA,EACDq7F,EAAW,aAAa91F,EAAKvF,CAAK,EAClCq7F,EAAW,gBAAgB91F,CAAG,EAClC,MACF,IAAK,UACL,IAAK,QACKvF,GAAR,MACe,OAAOA,GAAtB,YACa,OAAOA,GAApB,UACA,MAAMA,CAAK,EACPq7F,EAAW,gBAAgB91F,CAAG,EAC9B81F,EAAW,aAAa91F,EAAKvF,CAAK,EACtC,MACF,IAAK,UACHk7E,EAA0B,eAAgBmgB,CAAU,EACpDngB,EAA0B,SAAUmgB,CAAU,EAC9CrwB,GAAqBqwB,EAAY,UAAWr7F,CAAK,EACjD,MACF,IAAK,eACHmrE,GACEkwB,EACA,+BACA,gBACAr7F,CACF,EACA,MACF,IAAK,eACHmrE,GACEkwB,EACA,+BACA,gBACAr7F,CACF,EACA,MACF,IAAK,YACHmrE,GACEkwB,EACA,+BACA,aACAr7F,CACF,EACA,MACF,IAAK,YACHmrE,GACEkwB,EACA,+BACA,aACAr7F,CACF,EACA,MACF,IAAK,aACHmrE,GACEkwB,EACA,+BACA,cACAr7F,CACF,EACA,MACF,IAAK,YACHmrE,GACEkwB,EACA,+BACA,aACAr7F,CACF,EACA,MACF,IAAK,UACHmrE,GACEkwB,EACA,uCACA,WACAr7F,CACF,EACA,MACF,IAAK,UACHmrE,GACEkwB,EACA,uCACA,WACAr7F,CACF,EACA,MACF,IAAK,WACHmrE,GACEkwB,EACA,uCACA,YACAr7F,CACF,EACA,MACF,IAAK,KACHgrE,GAAqBqwB,EAAY,KAAMr7F,CAAK,EAC5C,MACF,IAAK,YACL,IAAK,cACH,OACF,QACE,GACE,EAAE,EAAIuF,EAAI,SACDA,EAAI,KAAZ,KAA0BA,EAAI,KAAZ,KACVA,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","names":["DEBUG_BUILD","GLOBAL_OBJ","SDK_VERSION","getMainCarrier","getSentryCarrier","__SENTRY__","carrier","getGlobalSingleton","obj","name","creator","CONSOLE_LEVELS","PREFIX","originalConsoleMethods","consoleSandbox","callback","console","wrappedFuncs","wrappedLevels","originalConsoleMethod","level","enable","disable","isEnabled","_getLoggerSettings","log","args","_maybeLog","warn","error","debug","STACKTRACE_FRAME_LIMIT","WEBPACK_ERROR_REGEXP","STRIP_FRAME_REGEXP","createStackParser","parsers","sortedParsers","a","b","p","frames","lines","stack","i","skipFirstLines","line","cleanedLine","parser","frame","framesToPop","stripSentryFramesAndReverse","stackParserFromStackParserOptions","stackParser","localStack","getLastStackFrame","arr","defaultFunctionName","getFunctionName","fn","getFramesFromEvent","exception","event","value","handlers","instrumented","addHandler","type","handler","typeHandlers","index","maybeInstrument","instrumentFn","e","DEBUG_BUILD$2","triggerHandlers","data","_oldOnErrorHandler","addGlobalErrorInstrumentationHandler","instrumentError","_oldOnUnhandledRejectionHandler","addGlobalUnhandledRejectionInstrumentationHandler","instrumentUnhandledRejection","handlerData","objectToString","isError","wat","isInstanceOf","isBuiltin","className","isErrorEvent","isDOMError","isDOMException","isString","isParameterizedString","isPrimitive","isPlainObject","isObjectLike","isEvent","isRegExp","isThenable","base","isRequest","request","fill","source","original","wrapped","replacementFactory","markFunctionWrapped","addNonEnumerableProperty","getOriginalFunction","func","convertToPlainObject","getOwnProperties","detail","extractExceptionKeysForMessage","keys","RESOLVED_RUNNER","withRandomSafeContext","cb","sym","globalWithSymbol","safeMathRandom","safeDateNow","SENTRY_SKIP_NORMALIZATION","SENTRY_OVERRIDE_NORMALIZATION_DEPTH","hasSkipNormalizationHint","getNormalizationDepthOverrideHint","v","stringifier","setNormalizeStringifier","newStringifier","normalize","visit","input","depth","maxProperties","err","normalizeToSize","normalized","object","jsonSize","maxSize","memoBuilder","memoize","unmemoize","memo","stringified","stringifyValue","key","overrideDepth","remainingDepth","valueWithToJSON","numAdded","visitable","visitKey","visitValue","getConstructorName","prototype","utf8Length","inner","truncate","str","max","safeJoin","output","delimiter","isMatchingPattern","pattern","requireExactStringMatch","stringMatchesSomePattern","patterns","testString","getCrypto","gbl","emptyUuid","getRandomByte","uuid4","crypto","c","getFirstException","getEventDescription","eventId","message","firstException","addExceptionTypeValue","values","addExceptionMechanism","defaultMechanism","currentMechanism","newMechanism","mergedData","checkOrSetAlreadyCaught","isAlreadyCaptured","ONE_SECOND_IN_MS","dateTimestampInSeconds","createUnixTimestampInSecondsFunc","performance","timeOrigin","_cachedTimestampInSeconds","timestampInSeconds","makeSession","startingTime","session","sessionToJSON","context","updateSession","duration","closeSession","status","merge","mergeObj","levels","initialObj","generateTraceId","generateSpanId","makeWeakRef","WeakRefImpl","derefWeakRef","ref","SCOPE_SPAN_FIELD","_setSpanForScope","span","scope","_getSpanForScope","DEFAULT_MAX_BREADCRUMBS","Scope","newScope","client","lastEventId","user","conversationId","tags","newAttributes","extras","extra","fingerprint","captureContext","scopeToMerge","attributes","contexts","propagationContext","maxCrumbs","maxBreadcrumbs","mergedBreadcrumb","breadcrumb","attachment","newData","hint","syntheticException","getDefaultCurrentScope","getDefaultIsolationScope","isActualPromise","kChainedCopy","chainAndCopyPromiseLike","chained","onSuccess","onError","copyProps","mutated","AsyncContextStack","assignedScope","assignedIsolationScope","isolationScope","maybePromiseResult","getAsyncContextStack","sentry","withScope","withSetScope","withIsolationScope","getStackAsyncContextStrategy","withScope$1","getAsyncContextStrategy","isAttributeObject","maybeObj","attributeValueToTypedAttributeValue","rawValue","attributeValue","getTypedAttributeValue","checkedUnit","unit","useFallback","stringValue","serializeAttributes","serializedAttributes","typedValue","fallback","primitiveType","getCurrentScope","getIsolationScope","getGlobalScope","rest","acs","getClient","getTraceContextFromScope","traceContext","traceId","propagationSpanId","parentSpanId","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_PROFILE_ID","SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME","GEN_AI_CONVERSATION_ID_ATTRIBUTE","SCOPE_ON_START_SPAN_FIELD","ISOLATION_SCOPE_ON_START_SPAN_FIELD","getCapturedScopesOnSpan","spanWithScopes","baggageHeaderToDynamicSamplingContext","baggageObject","parseBaggageHeader","baggageHeader","dynamicSamplingContext","nonPrefixedKey","acc","currBaggageObject","baggageHeaderToObject","curr","eqIdx","baggageEntry","keyOrValue","ORG_ID_REGEX","DSN_REGEX","isValidProtocol","protocol","dsnToString","dsn","publicKey","withPassword","pass","host","port","path","projectId","dsnFromString","match","lastPath","split","projectMatch","dsnFromComponents","components","validateDsn","component","extractOrgIdFromDsnHost","extractOrgIdFromClient","options","org_id","makeDsn","from","parseSampleRate","sampleRate","rate","hasShownSpanDropWarning","spanToTraceContext","trace_id","parent_span_id","isRemote","spanId","spanToJSON","convertSpanLinksForEnvelope","links","restContext","traceFlags","spanTimeInputToSeconds","ensureTimestampInSeconds","timestamp","spanIsSentrySpan","span_id","spanIsOpenTelemetrySdkTraceBaseSpan","getOtelParentSpanId","startTime","endTime","getStatusMessage","streamedSpanJsonToSerializedSpan","spanJson","link","castSpan","spanIsSampled","ROOT_SPAN_FIELD","getRootSpan","INTERNAL_getSegmentSpan","showSpanDropWarning","hasSpansEnabled","maybeOptions","logIgnoredSpan","droppedSpan","shouldIgnoreSpan","ignoreSpans","isStringOrRegExp","hasAttributes","nameMatches","opMatches","attrsMatch","valuePattern","_matchesAttributeValue","actual","pat","reparentChildSpans","droppedSpanParentId","dropSpan","droppedSpanId","spans","NON_RECORDING_SPAN_FIELD","spanIsNonRecordingSpan","DEFAULT_ENVIRONMENT","FROZEN_DSC_FIELD","getDynamicSamplingContextFromClient","public_key","dsc","getDynamicSamplingContextFromScope","getDynamicSamplingContextFromSpan","rootSpan","rootSpanJson","rootSpanAttributes","traceState","rootSpanSampleRate","applyLocalSampleRateToDsc","dsc2","frozenDsc","isNonRecordingRoot","isIgnoredRoot","capturedScope","traceStateDsc","dscOnTraceState","isStreamedBeforeSendSpanCallback","createEnvelope","headers","items","addItemToEnvelope","envelope","newItem","forEachEnvelopeItem","envelopeItems","envelopeItem","envelopeItemType","envelopeContainsItemType","types","encodeUTF8","serializeEnvelope","envHeaders","parts","append","next","item","itemHeaders","payload","stringifiedPayload","concatBuffers","totalLength","buffers","buf","merged","offset","buffer","createAttachmentEnvelopeItem","DATA_CATEGORY_OVERRIDES","_isOverriddenType","envelopeItemTypeToDataCategory","getSdkMetadataForEnvelopeHeader","metadataOrEvent","createEventEnvelopeHeaders","sdkInfo","tunnel","_enhanceEventWithSdkInfo","newSdkInfo","eventSdkInfo","createSessionEnvelope","metadata","createEventEnvelope","eventType","envelopeHeaders","hasSpanStreamingEnabled","applyScopeDataToEvent","applyDataToEvent","applySpanToEvent","applyFingerprintToEvent","applyBreadcrumbsToEvent","breadcrumbs","applySdkMetadataToEvent","sdkProcessingMetadata","mergeScopeData","mergeData","mergeAndOverwriteScopeData","transactionName","eventProcessors","attachments","prop","mergeVal","getCombinedScopeData","scopeData","currentScope","mergedBreadcrumbs","Qu","safeSetSpanJSONAttributes","originalAttributes","spanJSON","STATE_PENDING","STATE_RESOLVED","STATE_REJECTED","resolvedSyncPromise","SyncPromise","resolve","rejectedSyncPromise","reject","reason","executor","onfulfilled","result","onrejected","val","isRejected","onfinally","cachedHandlers","setResult","state","notifyEventProcessors","_notifyEventProcessors","processors","processor","final","parsedStackResults","lastSentryKeysCount","lastNativeKeysCount","cachedFilenameDebugIds","getFilenameToDebugIdMap","sentryDebugIdMap","nativeDebugIdMap","sentryDebugIdKeys","nativeDebugIdKeys","processDebugIds","debugIdKeys","debugId","debugIdMap","parsedStack","filename","isInternalException","getPossibleEventMessages","possibleMessages","lastException","prepareEvent","prepared","integrations","applyClientOptions","applyIntegrationsMetadata","applyDebugIds","finalScope","getFinalScope","clientEventProcessors","evt","applyDebugMeta","normalizeDepth","normalizeEvent","normalizeMaxBreadth","environment","release","dist","maxValueLength","filenameDebugIdMap","images","debug_id","integrationNames","maxBreadth","parseEventHintOrCaptureContext","hintIsScopeOrFunction","hintIsScopeContext","captureContextKeys","captureException","captureEvent","setContext","startSession","userAgent","currentSession","endSession","_sendSessionUpdate","captureSession","end","safeUnref","timer","getBaseApiEndpoint","_getIngestEndpoint","_encodedAuth","params","getEnvelopeEndpointWithUrlEncodedAuth","installedIntegrations","filterDuplicates","integrationsByName","currentInstance","existingInstance","getIntegrationsToSetup","defaultIntegrations","userIntegrations","resolvedUserIntegrations","setupIntegrations","integrationIndex","integration","setupIntegration","afterSetupIntegrations","hook","defineIntegration","isBrowserBundle","getSDKSource","isNodeEnv","isBrowser","isElectronNodeRenderer","createLogContainerEnvelopeItem","inferSetting","inferUserData","createLogEnvelope","logs","_INTERNAL_flushLogsBuffer","logBuffer","maybeLogBuffer","_INTERNAL_getLogBuffer","clientOptions","_getBufferMap$1","_getBufferMap","createMetricContainerEnvelopeItem","createMetricEnvelope","metrics","_INTERNAL_flushMetricsBuffer","metricBuffer","maybeMetricBuffer","_INTERNAL_getMetricBuffer","spanJsonToSerializedStreamedSpan","extractGenAiSpansFromEvent","genAiSpans","remainingSpans","SENTRY_BUFFER_FULL_ERROR","makePromiseBuffer","isReady","limit","remove","task","add","taskProducer","drain","drainPromise","timeout","promises","DEFAULT_RETRY_AFTER","parseRetryAfterHeader","headerDelay","header","headerDate","now","disabledUntil","limits","dataCategory","isRateLimited","updateRateLimits","updatedRateLimits","rateLimitHeader","retryAfterHeader","retryAfter","categories","namespaces","delay","category","statusCode","createTransport","rateLimits","flush","send","filteredEnvelopeItems","filteredEnvelope","recordEnvelopeLoss","makeRequest","response","createClientReportEnvelope","clientReportItem","convertTransactionEventToSpanJson","convertSpanJsonToTransactionEvent","FILTERED_VALUE","PII_HEADER_SNIPPETS","SENSITIVE_KEY_SNIPPETS","defaultPiiToCollectionOptions","sendDefaultPii","DEFAULTS","isCollectBehavior","resolveHttpHeaders","httpHeaders","resolveDataCollectionOptions","dc","ALREADY_SEEN_ERROR","MISSING_RELEASE_FOR_SESSION_ERROR","INTERNAL_ERROR_SYMBOL","DO_NOT_SEND_EVENT_SYMBOL","DEFAULT_FLUSH_INTERVAL","_makeInternalError","_makeDoNotSendEventError","_isInternalError","_isDoNotSendEventError","setupWeightBasedFlushing","weight","flushTimeout","isTimerActive","flushHook","afterCaptureHook","estimateSizeFn","flushFn","flushInterval","Client","url","estimateLogSizeInBytes","estimateMetricSizeInBytes","hintWithEventId","res","eventMessage","isMessage","promisedEvent","capturedSpanScope","capturedSpanIsolationScope","getDataCategoryByType","transport","clientFinished","transportFlushed","eventProcessor","integrationName","isAlreadyInstalled","genAiSpanItem","env","sendResponse","clientReleaseOption","clientEnvironmentOption","sessionAttrs","count","hookCallbacks","uniqueCallback","callbacks","crashed","errored","exceptions","ex","sessionNonTerminal","ticked","finalEvent","isTransaction","isTransactionEvent","beforeSendLabel","parsedSampleRate","_validateBeforeSendResult","processBeforeSend","processedEvent","spanCount","droppedSpanCount","transactionInfo","outcomes","quantity","invalidValueError","beforeSendResult","beforeSendSpan","beforeSend","processedRootSpanJson","processedSpans","initialSpans","processedSpan","droppedSpans","beforeSendTransaction","spanCountBefore","metric","estimateAttributesSizeInBytes","estimatePrimitiveSizeInBytes","initAndBind","clientClass","setCurrentClient","isSensitiveKey","denySnippets","lower","snippet","shouldFilterDataKey","behavior","lowerKey","additionalDenyTerms","matchesConfiguredTerm","term","filterQueryParams","queryString","separatorIndex","pair","encodedKey","filterUrlQuery","fragmentStart","queryEnd","queryStart","prefix","query","suffix","filtered","urlQueryParamsBehavior","filterCollectedUrl","parseUrl","fragment","stripDataUrlContent","mimeType","isBase64","dataStart","dataPrefix","includeDataPrefix","addAutoIpAddressToSession","\"ip_address\"","applySdkMetadata","sdk","names","name2","DEFAULT_BREADCRUMBS","addBreadcrumb","finalBreadcrumb","beforeBreadcrumb","INTEGRATION_NAME","SETUP_CLIENTS","functionToStringIntegration","originalFunctionToString","originalFunction","unwrappedFunction","DEFAULT_IGNORE_ERRORS","eventFiltersIntegration","mergedOptions","_mergeOptions","_shouldDropEvent","inboundFiltersIntegration","internalOptions","_isIgnoredError","_isUselessError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","_isIgnoredTransaction","ignoreErrors","ignoreTransactions","denyUrls","allowUrls","_getLastValidUrl","applyAggregateErrorsToEvent","originalException","aggregateExceptionsFromError","exceptionFromErrorImplementation","prevExceptions","newExceptions","applyExceptionGroupFieldsForParentException","exceptionId","newException","newExceptionId","applyExceptionGroupFieldsForChildException","isExceptionGroup","childError","parentId","hasSentryFetchUrlHost","_enhanceErrorWithSentryInfo","_filter","addConsoleInstrumentationHandler","removeHandler","instrumentConsole","instrumentedLevels","firstArg","isFiltered","severityLevelFromString","dedupeIntegration","previousEvent","currentEvent","_isSameMessageEvent","_isSameExceptionEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","previousException","_getExceptionFromEvent","currentException","currentFrames","previousFrames","frameA","frameB","currentFingerprint","previousFingerprint","conversationIdIntegration","isolationScopeData","op","getBreadcrumbLogLevelFromHttpStatusCode","WINDOW","supportsHistory","_isFetchSupported","isNativeFunction","supportsNativeFetch","doc","sandbox","addFetchInstrumentationHandler","instrumentFetch","skipNativeFetchCheck","virtualError","parseFetchArgs","getHeadersFromFetchArgs","onFetchResolved","originalFetch","enhanceOption","hostname","hasProp","getUrlFromResource","resource","fetchArgs","arg","requestArgument","optionsArgument","getLocationHref","getComponentName","currentElem","elem","maxTraverseHeight","\"sentryComponent\"","\"sentryElement\"","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","wrap","isFunction","fn2","wrapper","sentryWrapped","wrappedArguments","property","getHttpRequestData","referrer","exceptionFromError","parseStackFrames","extractType","extractMessage","eventFromPlainObject","errorFromProp","getErrorPropertyFromObject","isUnhandledRejection","getNonErrorObjectExceptionValue","eventFromError","stacktrace","skipLines","getSkipFirstStackStringLines","getPopFirstTopFrames","reactMinifiedRegexp","isWebAssemblyException","_INTERNAL_enhanceErrorWithSentryInfo","eventFromException","eventFromUnknownInput","attachStacktrace","eventFromMessage","eventFromString","errorEvent","domException","objectException","__sentry_template_string__","__sentry_template_values__","captureType","getObjectClassName","BrowserClient","opts","applyDefaultOptions","userInfo","WINDOW$1","sendClientReports","optionsArg","addPageListener","listener","removePageListener","runOnce","called","whenIdleOrHidden","rIC","DEFAULT_MAX_STRING_LENGTH","accessors","_safeRead","el","htmlTreeAsString","out","height","len","nextStr","keyAttrs","maxStringLength","_htmlElementAsString","tagName","dataset","keyAttrPairs","keyAttr","keyAttrPair","id","classes","k","attr","DEBOUNCE_DURATION","debounceTimerID","lastCapturedEventType","lastCapturedEventTargetId","addClickKeypressInstrumentationHandler","instrumentDOM","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","proto","globalObject","target","handlerForType","originalAddEventListener","originalRemoveEventListener","isSimilarToLastCapturedEvent","shouldSkipDOMEvent","\"_sentryCaptured\"","getEventTarget","globalListener","lastHref","addHistoryInstrumentationHandler","instrumentHistory","to","historyReplacementFunction","getAbsoluteUrl","originalHistoryFunction","urlOrPath","cachedImplementations","getNativeImplementation","cached","impl","document","contentWindow","DEBUG_BUILD$1","clearCachedImplementation","SENTRY_XHR_DATA_KEY","addXhrInstrumentationHandler","instrumentXHR","xhrproto","startTimestamp","method","xhrOpenArgArray","parseXhrUrlArg","originalOpen","xhrOpenThisArg","onreadystatechangeHandler","xhrInfo","originalOnreadystatechange","onreadystatechangeThisArg","onreadystatechangeArgArray","setRequestHeaderArgArray","setRequestHeaderThisArg","originalSetRequestHeader","sentryXhrData","sendThisArg","sendArgArray","originalSend","isElement","DEFAULT_BROWSER_TRANSPORT_BUFFER_SIZE","makeFetchTransport","pendingBodySize","pendingCount","requestSize","requestOptions","nativeFetch","CHROME_PRIORITY","GECKO_PRIORITY","createFrame","lineno","colno","chromeRegexNoFnName","chromeRegex","chromeEvalRegex","chromeDataUriRegex","chromeStackLineParser","dataUriMatch","noFnParts","line2","col","subMatch","extractSafariExtensionDetails","geckoREgex","geckoEvalRegex","defaultStackParser","isSafariExtension","isSafariWebExtension","MAX_ALLOWED_STRING_LENGTH","breadcrumbsIntegration","_options","_getConsoleBreadcrumbHandler","_getDomBreadcrumbHandler","_getXhrBreadcrumbHandler","_getFetchBreadcrumbHandler","_getHistoryBreadcrumbHandler","_getSentryBreadcrumbHandler","componentName","dom","element","_isEvent","endTimestamp","body","status_code","parsedLoc","parsedFrom","parsedTo","DEFAULT_EVENT_TARGET","browserApiErrorsIntegration","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","_wrapEventTarget","originalCallback","xhr","wrapOptions","isEventListenerObject","integrationOptions","unregisterOriginalCallback","eventName","originalEventHandler","browserSessionIntegration","lifecycle","initialSessionSent","previousUser","maybeNewUser","cultureContextIntegration","culture","getCultureContext","intl","globalHandlersIntegration","_installGlobalOnErrorHandler","globalHandlerLog","_installGlobalOnUnhandledRejectionHandler","getOptions","_enhanceEventWithInitialFrame","msg","column","_getUnhandledRejectionError","_eventFromRejectionWithPrimitive","ev","ev0","ev0s","ev0sf","getFilenameFromUrl","httpContextIntegration","reqData","USER_AGENT_ORIGINAL","\"Referer\"","DEFAULT_KEY","DEFAULT_LIMIT","linkedErrorsIntegration","HTML_ELEMENT_CONSTRUCTOR_NAME_REGEX","normalizeStringifyValue","objName","checkAndWarnIfIsEmbeddedBrowserExtension","_isEmbeddedBrowserExtension","_window","\"chrome\"","\"browser\"","href","getDefaultIntegrations","init","shouldDisableBecauseIsBrowserExtenstion","isSyntheticEvent","import_react","init$1","normalizeStringifyValue$1","globalThis_","debounce","pendingThis","pendingArgs","leading","edges","trailing","invoke","onTimerEnd","cancel","timeoutId","schedule","debounceMs","cancelTimer","debounced","signal","isFirstCall","noop","isTypedArray","x","clone","Constructor","newRegExp","newError","isBuffer","getSymbols","symbol","getTag","regexpTag","stringTag","numberTag","booleanTag","argumentsTag","symbolTag","dateTag","mapTag","setTag","arrayTag","functionTag","arrayBufferTag","objectTag","errorTag","dataViewTag","uint8ArrayTag","uint8ClampedArrayTag","uint16ArrayTag","uint32ArrayTag","bigUint64ArrayTag","int8ArrayTag","int16ArrayTag","int32ArrayTag","bigInt64ArrayTag","float32ArrayTag","float64ArrayTag","cloneDeepWith","cloneDeepWithImpl","cloneValue","cloned","valueToClone","keyToClone","objectToClone","copyProperties","isCloneableObject","descriptor","cloneDeep","isUnsafeProperty","tag","eq","other","isEqualWith","isEqualWithImpl","areValuesEqual","aParent","bParent","areObjectsEqual","aTag","bTag","aStack","bStack","aValues","bValues","aValue","bValue","aKeys","bKeys","propKey","aProp","bProp","isEqual","isLength","htmlEscapes","escape","isArrayLike","isSymbol","toString","baseToString","toKey","toPath","deepKey","length","quoteChar","bracket","bracketHadQuote","bracketNumberRegex","char","segments","regexIsDeepProp","isDeepKey","get","defaultValue","getWithPath","current","isObject","cloneDeepWith$1","customizer","isArguments","IS_UNSIGNED_INTEGER","isIndex","has","resolvedPath","isArrayLikeObject","regexIsPlainProp","isKey","isTypedArray$1","assignValue","objValue","isUnsafeToWriteProperty","updateWith","updateValue","updater","newValue","customizerResult","set","pendingAt","_debounced","debounce$1","maxWait","mergeWith","otherArgs","sources","mergeWithDeep","sourceKeys","sourceValue","targetValue","targetKeys","targetKey","escape$1","string","isFile","hasFiles","HttpResponseError","HttpCancelledError","HttpNetworkError","buildQueryString","searchParams","buildUrl","baseURL","getAjaxHeader","toFormData","appendToFormData","formData","parentKey","prepareBody","serialize","parseHeaders","createFetchClient","xsrfCookieName","xsrfHeaderName","serializer","getXsrfToken","config","ajaxHeader","xsrfToken","controller","httpResponse","fetchHttpClient","httpClient","credentials","requestFingerprintResolver","successResolver","abortControllers","mergeConfig","newHttpClient","resolveConfig","abortMatchingRequests","refreshAbortController","userConfig","validatePrecognitionResponse","isSuccess","resolveStatusHandler","isNotServerGeneratedError","httpError","only","\"Accept\"","resolveContentType","code","expandWildcardPaths","paths","part","expanded","keyMatchesPattern","omitByPattern","createValidator","listeners","validateFiles","validating","setValidating","validated","setValidated","uniqueNames","valid","errors","touched","setTouched","setErrors","toValidationErrors","forgetError","newErrors","resolveName","hasErrors","debounceTimeoutDuration","setDebounceTimeout","validator","oldData","initialData","validatingData","oldTouched","validatingTouched","parseData","globalConfig","instanceConfig","hasWildcards","expandedTouched","validate","forgetFiles","form","inputs","newTouched","toSimpleValidationErrors","carry","defaults","newConfig","keyOrValues","timeoutID","fireEvent","fireBeforeEvent","fireErrorEvent","page2","fireNetworkErrorEvent","fireFinishEvent","fireHttpExceptionEvent","fireBeforeUpdateEvent","fireNavigateEvent","fireClientVisitEvent","fireProgressEvent","progress3","fireStartEvent","fireSuccessEvent","firePrefetchedEvent","firePrefetchingEvent","fireFlashEvent","fireLocationEvent","bigIntMarker","replaceBigInt","replaceBigIntWithDigits","parsePage","text","reviveBigIntegers","reviveBigInteger","stringifyPage","stringify","stringifyJson","retryValue","replacer","containsBigInt","seen","nested","SessionStorage","existing","nestedKey","ivLength","encryptHistory","historySessionStorageKeys","getOrCreateKey","getKeyFromSessionStorage","iv","encrypted","encryptData","entry","decryptHistory","storedKey","decryptData","textEncoder","encoded","decrypted","createKey","saveKey","keyData","newKey","stringKey","HttpError","cause","stripTopLevelUndefined","objectsAreEqual","obj1","obj2","compareValues","value1","value2","setPathPreservingIdentity","copyAlongPath","copy","node","conversionMap","timeToMs","time","conversion","prefetchedRequests","stale","prefetchExpiresIn","cacheFor","cancelled","promise","sendFunc","visitParams","pageResponse","page","cacheTags","oncePropExpiresIn","removalTimer","prefetched","prefetching","visitId","expires","expiresIn","consumedParams","newParams","\"Purpose\"","params1","params2","group","deferredProps","remaining","get2","expiryTimestamps","onceProp","expiresAt","elementInViewport","rect","verticallyVisible","horizontallyVisible","getScrollableParent","allowsVerticalScroll","computedStyle","hasDimensionConstraint","isConstrainedByLayout","allowsHorizontalScroll","computedMaxDimension","inlineStyleDimension","parent2","parentStyle","isColumnLayout","dimension","parent","allowsScroll","getElementsInViewportFromCollection","referenceElement","elements","referenceIndex","upwardElements","downwardElements","requestAnimationFrame","times","requestAnimationFrame$1","getInitialPageFromDOM","scriptEl","isServer","isFirefox","Scroll","history","region","anchorHash","anchorElement","scrollRegions","scrollPosition","isFormData","objectToFormData","composeKey","queryStringArrayFormat","format","hasIndices","parse","rawKey","splitPair","segment","set2","decode","stringify2","pairs","build","arrayFormat","parseKey","nextIsArrayPush","hrefToUrl","transformUrlAndData","forceFormData","_href","_data","mergeDataIntoQueryString","hasDataForQueryString","hasHost","urlHasProtocol","hasAbsolutePath","hasRelativePath","hasRelativePathWithDotPrefix","hasSearch","hasHash","qsArrayFormat","urlWithoutHash","setHashIfSameUrl","originUrl","destinationUrl","isSameUrlWithoutHash","url1","url2","isSameUrlWithoutQueryOrHash","isUrlMethodPair","resolveUrlMethodPairComponent","urlToString","urlObj","absolute","initialPage","swapComponent","resolveComponent","onFlash","eventHandler","componentId","isServer3","location","preserveScroll","pageForHistory","replace","isNewComponent","flash","hash","doSwap","viewTransition","viewTransitionCallback","ignoreSkippedTransition","transitionResult","baselineKeys","props","cloneDeep2","replayedProps","existingOnceProp","force","get3","Queue","isServer2","queue","isChromeIOS","History","doPush","cloneDeep3","pageWithClonedProps","pageData","scrollRegion","pageWithoutFlash","doReplace","router","pendingDeferred","pageProps","missing","get4","navigationType","uid","cryptoObj","randomByte","InitialVisit","locationVisit","rememberedState","Poll","interval","hidden2","throttled","instance","polls","poll","httpHandlers","h","config2","getCookie","isSameOrigin","isFormDataRequestBody","isRawRequestBody","setHeaders","isFormData2","buildUrlWithParams","urlWithParams","XhrHttpClient","processedConfig","xhrHttpClient","precognitionClient","isHttpClientOptions","http","clientOrOptions","interceptors","exposeInterceptors","RequestParams","_RequestParams","wrappedCallbacks","interrupted","toMerge","dialog_default","html","iframe","dialog","dialogStyleElement","nonce","isPathOrSubPath","candidate","partialReloadRequestsProp","except","partialReloadRequestsSomeProps","queue2","Response","_Response","requestParams","originatingPage","optimisticId","scopedErrors","locationUrl","status2","responseVersion","versionChange","originatingUrl","currentPageUrl","responseUrl","currentPageProps","isEqual2","propsToAppend","propsToPrepend","propsToDeepMerge","matchPropsOn","mergeProp","currentProp","get5","incomingProp","newArray","shouldAppend","newObject","deepMerge","matchProp","nestedTopKeys","currentValue","currentOriginalDeferred","currentRescued","incomingRescued","newRescued","currentErrors","responseErrors","existingItems","matchingKey","newItems","uniqueProperty","newItemsMap","updatedExisting","newItemsToAdd","untouchedExisting","Request","_Request","originallyPrefetch","onceProps","get6","RequestStream","maxConcurrent","interruptible","r","shouldCancel","prefetch","optimistic","Router","remove2","async","sync","resolved","onStart","token","onFinish","events","sendRequest","progress","checkIfPageIsDefined","prefetchOptions","currentProps","get7","keyOrData","pageParams","preserveState","currentFlash","sharedProps","resolvedPageProps","cloneDeep4","intermediateProps","intermediatePage","urlMethodPair","defaultVisitOptionsCallback","configuredOptions","optimisticProps","changedKeys","isEqual3","shouldRestore","originalOnSuccess","originalOnFinish","deferred","UseFormUtils","precognitionEndpoint","config3","field","undotKey","parseKey2","setNestedObject","objectHasSequentialNumericKeys","numericKeys","n","convertSequentialObjectsToArrays","result2","formDataToObject","arrayPath","get8","serverHeadProviderId","ensureElementHasInertiaAttribute","resolveServerHead","serverHead","Renderer","template","script","element2","sourceElements","targetElements","title","targetElement","sourceElement","createHeadManager","states","initialServerHead","lastProviderId","connect","disconnect","commit","reconnect","update","updateServerHead","collect","titleCallback","providerHead","title2","onUpdate","MERGE_INTENT_HEADER","useInfiniteScrollData","getScrollPropFromCurrentPage","scrollProp","resetState","cancelInFlightRequest","flushed","getRememberKey","removeEventListener","getScrollPropKeyForSide","side","findPageToLoad","pagePropName","syncStateOnSuccess","paginationProp","getPageName","getRequestCount","fetchPage","reloadOptions","cancelToken","page3","completed","useIntersectionObservers","intersectionObservers","observer","entries","INFINITE_SCROLL_PAGE_KEY","INFINITE_SCROLL_IGNORE_KEY","getPageFromElement","useInfiniteScrollElementManager","itemsObserver","startElementObserver","endElementObserver","itemsMutationObserver","triggersEnabled","setupObservers","mutations","mutation","addedElements","rememberElementsDebounced","observerOptions","enableTriggers","disableTriggers","startElement","endElement","refreshTriggers","flushAll","elementIsUntagged","processManuallyAddedElements","findUntaggedElements","containerElement","hasRestoredElements","processServerLoadedElements","restoreElements","loadedPage","rememberElements","getElementsRememberKey","pageElementRange","childNodes","elementPage","range","queue3","initialUrl","payloadUrl","initialUrlWasAbsolute","useInfiniteScrollQueryString","enabled","queuePageUpdate","pageName","itemsElement","itemElement","pageMap","mostVisiblePage","useInfiniteScrollPreservation","currentScrollTop","referenceElementTop","scrollableContainer","visibleElements","containerRect","containerTop","attempts","restored","restore","adjustment","useInfiniteScroll","queryStringManager","dataManager","scrollPreservation","elementManager","details","addScrollPreservationCallbacks","originalOnBeforeUpdate","captureScrollPosition","restoreScrollPosition","originalFetchNext","originalFetchPrevious","createLayoutPropsStore","shared","named","snapshot","pendingNotify","updateSnapshot","notify","isEqual4","hasComponentKey","hasComponentEntry","isComponent","isNamedLayouts","isPropsObject","isPropsObjectOrCallback","isTuple","extract","normalizeLayouts","layout","isRenderFunction","isContentEditableOrPrevented","shouldIntercept","isLink","shouldNavigate","isButton","baseComponentSelector","usePopover","progress2","settings","hidden","configure","injectCSS","set7","started","isStarted","clamp","render","bar","speed","ease","queue4","barStyles","toBarPercentage","start","work","increaseByRandom","done","amount","ranges","isRendered","perc","fromStart","getParent","min","pending","color","progress_component_default","addEventListeners","handleStartEvent","handleProgressEvent","finish","setupProgress","FormComponentResetSymbol","isFormElement","resetInputElement","oldValue","oldChecked","defaultValues","resetSelectElement","select","oldSelectedOptions","opt","defaultStrings","option","newSelectedOptions","resetFormElement","resetFieldElements","hasChanged","resetFormFields","formElement","resetEntireForm","fieldNames","formElementNames","fieldName","buildSSRBody","React","require_react","formatProdErrorMessage","Internals","REACT_PORTAL_TYPE","REACT_RECOVERABLE_TYPE","REACT_OPTIMISTIC_KEY","createPortal$1","ReactSharedInternals","getCrossOriginStringAs","as","container","children","previousTransition","previousUpdatePriority","crossOrigin","integrity","fetchPriority","action","initialState","permalink","checkDCE","require_react_dom_production","push","heap","parentIndex","compare","peek","pop","first","last","halfLength","leftIndex","left","rightIndex","right","diff","localPerformance","localDate","initialTime","taskQueue","timerQueue","taskIdCounter","currentTask","currentPriorityLevel","isPerformingWork","isHostCallbackScheduled","isHostTimeoutScheduled","needsPaint","localSetTimeout","localClearTimeout","localSetImmediate","advanceTimers","currentTime","handleTimeout","isMessageLoopRunning","schedulePerformWorkUntilDeadline","firstTimer","requestHostTimeout","taskTimeoutID","frameInterval","shouldYieldToHost","performWorkUntilDeadline","exports","hasMoreWork","previousPriorityLevel","continuationCallback","channel","ms","fps","priorityLevel","parentPriorityLevel","require_scheduler_production","Scheduler","require_scheduler","ReactDOM","require_react_dom","isValidContainer","getNearestMountedFiber","fiber","nextNode","getSuspenseInstanceFromFiber","suspenseState","getActivityInstanceFromFiber","activityState","assertIsMounted","findCurrentFiberUsingSlowPath","alternate","parentA","parentB","didFindChild","child$0","findCurrentHostFiberImpl","traverseVisibleInstancesAndTextInstances","child","searchWithinHosts","getFragmentParentInstanceOrContainerFiber","fiberIsPortaledIntoHost","foundPortalParent","getFragmentInstanceOrTextInstanceSiblings","parentHostFiber","findFragmentInstanceOrTextInstanceSiblings","self","getInstanceFromHostFiber","searchTarget","searchBoundary","isFiberPrecedingCheck","boundary","isFiberFollowingCheck","getParentForFragmentAncestors","inst","getLowestCommonAncestor","depthA","tempA","instA","tempB","instB","assign","REACT_LEGACY_ELEMENT_TYPE","REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_ACTIVITY_TYPE","REACT_LEGACY_HIDDEN_TYPE","REACT_MEMO_CACHE_SENTINEL","REACT_VIEW_TRANSITION_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","REACT_CLIENT_REFERENCE","getComponentNameFromType","innerType","isArrayImpl","ReactDOMSharedInternals","sharedNotPendingObject","valueStack","createCursor","cursor","contextStackCursor","contextFiberStackCursor","rootInstanceStackCursor","hostTransitionProviderCursor","pushHostContainer","nextRootInstance","getOwnHostContext","getChildHostContextProd","popHostContainer","pushHostContext","stateHook","JSCompiler_inline_result","popHostContext","describeBuiltInComponentFrame","reentry","describeNativeComponentFrame","previousPrepareStackTrace","RunInRootFrame","construct","Fake","control","x$1","prevProps","x$2","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","describeFiber","childFiber","getStackByFiberInDevAndProd","info","previous","workInProgress","hasOwnProperty","scheduleCallback$3","cancelCallback$1","shouldYield","requestPaint","getCurrentPriorityLevel","ImmediatePriority","UserBlockingPriority","NormalPriority$1","LowPriority","IdlePriority","log$1","unstable_setDisableYieldValue","rendererID","injectedHook","setIsStrictModeForDevtools","newIsStrictMode","clz32","clz32Fallback","LN2","nextTransitionUpdateLane","nextTransitionDeferredLane","nextRetryLane","getHighestPriorityLanes","pendingSyncLanes","lanes","getNextLanes","pendingLanes","root","nextLanes","suspendedLanes","pingedLanes","nonIdlePendingLanes","rootHasPendingCommit","wipLanes","checkIfRootIsPrerendering","renderLanes","getEntangledLanes","allEntangledLanes","index$4","lane","computeExpirationTime","claimNextRetryLane","createLaneMap","laneMap","initial","markRootUpdated$1","updateLane","markRootFinished","previouslyPendingLanes","remainingLanes","entanglements","expirationTimes","hiddenUpdates","index$7","hiddenUpdatesForLane","spawnedLane","markSpawnedDeferredLane","suspendedRetryLanes","updatedLanes","finishedLanes","spawnedLaneIndex","entangledLanes","markRootEntangled","rootEntangledLanes","index$8","getBumpedLaneForHydration","renderLane","getBumpedLaneForHydrationByLane","lanesToEventPriority","resolveUpdatePriority","updatePriority","getEventPriority","runWithPriority","previousPriority","priority","randomKey","internalInstanceKey","internalPropsKey","internalContainerInstanceKey","internalEventHandlersKey","internalEventHandlerListenersKey","internalEventHandlesSetKey","internalRootNodeResourcesKey","internalHoistableMarker","internalLoadPendingKey","detachDeletedInstance","getClosestInstanceFromNode","targetInst","targetNode","parentNode","getParentHydrationBoundary","getInstanceFromNode","getNodeFromInstance","getResourcesFromRoot","resources","markNodeAsHoistable","clearPendingLoadOnNode","allNativeEvents","registrationNameDependencies","registerTwoPhaseEvent","registerDirectEvent","registrationName","dependencies","VALID_ATTRIBUTE_NAME_REGEX","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","attributeName","viewTransitionMutationContext","pushMutationContext","prev","setValueForAttribute","prefix$10","setValueForKnownAttribute","setValueForNamespacedAttribute","namespace","getToStringValue","isCheckable","trackValueOnNode","valueField","track","updateValueIfChanged","tracker","lastValue","escapeSelectorAttributeValueInsideDoubleQuotesRegex","escapeSelectorAttributeValueInsideDoubleQuotes","ch","updateInput","lastDefaultValue","setDefaultValue","checked","defaultChecked","initInput","isHydrating","updateOptions","multiple","propValue","setDefaultSelected","updateTextarea","initTextarea","setTextContent","firstChild","unitlessNumbers","setValueForStyle","isCustomProperty","styleName","style","setValueForStyles","styles","prevStyles","styleName$16","styleName$17","isCustomElement","aliases","isJavaScriptProtocol","sanitizeURL","noop$1","currentReplayingEvent","nativeEvent","restoreTarget","restoreQueue","restoreStateOfTarget","internalInstance","otherNode","otherProps","isInsideEventHandler","batchedUpdates$1","flushSyncWork$1","getListener","stateNode","canUseDOM","passiveBrowserEventsSupported","startText","fallbackText","getData","startValue","startLength","endValue","endLength","minEnd","getEventCharCode","keyCode","functionThatReturnsTrue","functionThatReturnsFalse","createSyntheticEvent","SyntheticBaseEvent","propName","reactName","reactEventType","nativeEventTarget","Interface","EventInterface","SyntheticEvent","UIEventInterface","SyntheticUIEvent","lastMovementX","lastMovementY","lastMouseEvent","MouseEventInterface","getEventModifierState","SyntheticMouseEvent","SyntheticDragEvent","SyntheticFocusEvent","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticCompositionEvent","normalizeKey","translateToKey","modifierKeyToProp","modifierStateGetter","keyArg","SyntheticKeyboardEvent","SyntheticPointerEvent","SyntheticSubmitEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticWheelEvent","SyntheticToggleEvent","END_KEYCODES","canUseCompositionEvent","documentMode","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","hasSpaceKeypress","isFallbackCompositionEnd","domEventName","getDataFromCustomEvent","isComposing","getNativeBeforeInputChars","getFallbackBeforeInputChars","supportedInputTypes","isTextInputElement","nodeName","createAndAccumulateChangeEvent","accumulateTwoPhaseListeners","dispatchQueue","activeElement$1","activeElementInst$1","runEventInBatch","processDispatchQueue","getInstIfValueChanged","getTargetInstForChangeEvent","isInputEventSupported","JSCompiler_inline_result$jscomp$318","isSupported$jscomp$inline_474","element$jscomp$inline_475","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","is","y","objectIs","shallowEqual","objA","objB","keysA","keysB","currentKey","getActiveElement","getLeafNode","getNodeForCharacterOffset","nodeEnd","containsNode","outerNode","innerNode","getActiveElementDeep","containerInfo","hasSelectionCapabilities","skipSelectionChangeEvent","activeElement","activeElementInst","lastSelection","mouseDown","constructSelectEvent","makePrefixMap","prefixes","styleProp","vendorPrefixes","prefixedEventNames","getVendorPrefixedEventName","prefixMap","ANIMATION_END","ANIMATION_ITERATION","ANIMATION_START","TRANSITION_RUN","TRANSITION_START","TRANSITION_CANCEL","TRANSITION_END","topLevelEventsToReactNames","simpleEventPluginEvents","registerSimpleEvent","globalClientIdCounter$1","getViewTransitionName","pendingEffectsRoot","globalClientId","getClassNameByType","classByType","activeTypes","pendingTransitionTypes","getViewTransitionClassName","defaultClass","eventClass","reportGlobalError","concurrentQueues","concurrentQueuesIndex","concurrentlyUpdatedLanes","finishQueueingConcurrentUpdates","endIndex","markUpdateLaneFromFiberToRoot","enqueueUpdate$1","enqueueConcurrentHookUpdate","getRootForUpdatedFiber","enqueueConcurrentRenderForLane","sourceFiber","isHidden","nestedUpdateCount","emptyContextObject","FiberNode","pendingProps","mode","createFiberImplClass","shouldConstruct","Component","createWorkInProgress","resetWorkInProgress","createFiberFromTypeAndProps","fiberTag","owner","isHostHoistableType","createFiberFromFragment","createFiberFromText","content","createFiberFromDehydratedFragment","dehydratedNode","createFiberFromPortal","portal","CapturedStacks","createCapturedValueAtFiber","forkStack","forkStackIndex","treeForkProvider","treeForkCount","idStack","idStackIndex","treeContextProvider","treeContextId","treeContextOverflow","pushTreeFork","totalChildren","pushTreeId","baseIdWithLeadingBit","baseLength","numberOfOverflowBits","pushMaterializedTreeId","popTreeContext","restoreSuspendedTreeContext","suspendedContext","hydrationParentFiber","nextHydratableInstance","hydrationErrors","rootOrSingletonContext","HydrationMismatchException","throwOnHydrationMismatch","queueHydrationError","prepareToHydrateHostInstance","listenToNonDelegatedEvent","mediaEventTypes","checkForUnmatchedText","popToNextHostParent","popHydrationState","JSCompiler_temp","shouldSetTextContent","getNextHydratableInstanceAfterHydrationBoundary","isSingletonScope","previousHydratableOnEnteringScopedSingleton","getNextHydratable","resetHydrationState","upgradeHydrationErrorsToRecoverable","queuedErrors","workInProgressRootRecoverableErrors","valueCursor","currentlyRenderingFiber$1","lastContextDependency","pushProvider","nextValue","popProvider","scheduleContextWorkOnParentPath","propagationRoot","propagateContextChanges","list","nextFiber","dependency","forcePropagateEntireTree","propagateParentContextChanges","isInsidePropagationBailout","currentParent","HostTransitionContext","checkIfContextChanged","currentDependencies","prepareToReadContext","readContext","readContextForConsumer","readContextDuringReconciliation","consumer","AbortControllerLocal","scheduleCallback$2","NormalPriority","CacheContext","createCache","releaseCache","cache","queueTransitionTypes","queued","transitionTypes","transitionType","entangledTransitionTypes","claimQueuedTransitionTypes","claimed","currentEntangledListeners","currentEntangledPendingCount","currentEntangledLane","currentEntangledActionThenable","entangleAsyncAction","entangledListeners","requestTransitionLane","thenable","pingEngtangledActionScope","chainThenableValue","thenableWithOverride","prevOnStartTransitionFinish","returnValue","transition","root$28","firstScheduledRoot","root$29","resumedCache","peekCacheFromPool","cacheResumedFromPreviousRender","workInProgressRoot","pushTransition","prevCachePool","getSuspendedCache","cacheFromPool","SuspenseException","SuspenseyCommitException","SuspenseActionException","noopSuspenseyCommitThenable","isThenableResolved","trackUsedThenable","thenableState","checkIfUseWrappedInAsyncCatch","fulfilledThenable","fulfilledValue","rejectedThenable","resolveLazy","lazyType","suspendedThenable","getSuspendedThenable","rejectedReason","thenableState$1","thenableIndexCounter$1","unwrapThenable","coerceRef","throwOnInvalidObjectTypeImpl","newChild","returnFiber","createChildReconciler","deleteChild","shouldTrackSideEffects","deletions","childToDelete","deleteRemainingChildren","currentFirstChild","mapRemainingChildren","existingChildren","useFiber","placeChild","newIndex","newFiber","lastPlacedIndex","placeSingleChild","updateTextNode","textContent","updateElement","elementType","updateFragment","updatePortal","createChild","updateSlot","oldFiber","updateFromMap","newIdx","reconcileChildrenArray","resultingFirstChild","previousNewFiber","nextOldFiber","newChildren","reconcileChildrenIterator","step","reconcileChildFibersImpl","firstChildFiber","reconcileChildFibers","mountChildFibers","hasForceUpdate","initializeUpdateQueue","cloneUpdateQueue","createUpdate","enqueueUpdate","updateQueue","executionContext","entangleTransitions","queueLanes","enqueueCapturedUpdate","newFirst","newLast","capturedUpdate","didReadFromEntangledAsyncAction","suspendIfUpdateReadFromEntangledAsyncAction","entangledActionThenable","processUpdateQueue","workInProgress$jscomp$0","firstBaseUpdate","lastBaseUpdate","pendingQueue","lastPendingUpdate","firstPendingUpdate","newState","isHiddenUpdate","workInProgressRootRenderLanes","instance$jscomp$0","callCallback","commitCallbacks","currentTreeHiddenStackCursor","prevEntangledRenderLanesCursor","pushHiddenContext","entangledRenderLanes","reuseHiddenContextOnStack","popHiddenContext","suspenseHandlerStackCursor","shellBoundary","pushPrimaryTreeSuspenseHandler","suspenseStackCursor","pushDehydratedActivitySuspenseHandler","pushOffscreenSuspenseHandler","reuseSuspenseHandlerOnStack","popSuspenseHandler","pushSuspenseListContext","newContext","popSuspenseListContext","findFirstSuspended","row","isSuspenseInstancePending","isSuspenseInstanceFallback","currentlyRenderingFiber","currentHook","workInProgressHook","didScheduleRenderPhaseUpdate","didScheduleRenderPhaseUpdateDuringThisPass","shouldDoubleInvokeUserFnsInHooksDEV","localIdCounter","thenableIndexCounter","globalClientIdCounter","throwInvalidHookError","areHookInputsEqual","prevDeps","nextDeps","renderWithHooks","nextRenderLanes","HooksDispatcherOnMount","HooksDispatcherOnUpdate","secondArg","renderWithHooksAgain","finishRenderingHooks","ContextOnlyDispatcher","didRenderTooFewHooks","didReceiveUpdate","numberOfReRenders","HooksDispatcherOnRerender","TransitionAwareHostComponent","dispatcher","maybeThenable","useThenable","checkDidRenderIdHook","didRenderIdHook","bailoutHooks","resetHooksOnUnwind","mountWorkInProgressHook","updateWorkInProgressHook","nextCurrentHook","nextWorkInProgressHook","createFunctionComponentUpdateQueue","use","usable","useMemoCache","memoCache","array","size","basicStateReducer","updateReducer","updateReducerImpl","reducer","baseQueue","baseFirst","newBaseQueueFirst","newBaseQueueLast","didReadFromEntangledAsyncAction$64","revertLane","rerenderReducer","dispatch","lastRenderPhaseUpdate","updateSyncExternalStore","isHydrating$jscomp$0","getServerSnapshot","getSnapshot","snapshotChanged","updateEffect","subscribeToStore","subscribe","pushSimpleEffect","updateStoreInstance","pushStoreConsistencyCheck","renderedSnapshot","nextSnapshot","checkIfSnapshotChanged","forceStoreRerender","latestGetSnapshot","scheduleUpdateOnFiber","mountStateImpl","initialStateInitializer","updateOptimisticImpl","passthrough","dispatchActionState","isRenderPhaseUpdate","actionQueue","actionNode","setPendingState","setState","runActionStateAction","prevState","prevTransition","currentTransition","onStartTransitionFinish","handleActionReturnValue","onActionError","error$70","onActionSuccess","nextState","notifyActionListeners","actionStateReducer","mountActionState","ssrFormState","JSCompiler_inline_result$jscomp$0","inRootOrSingleton","initialStateProp","dispatchSetState","dispatchOptimisticSetState","updateActionState","updateActionStateImpl","currentStateHook","actionStateActionEffect","rerenderActionState","create","deps","updateRef","mountEffectImpl","fiberFlags","hookFlags","updateEffectImpl","mountEffect","useEffectEventImpl","componentUpdateQueue","updateEvent","updateInsertionEffect","updateLayoutEffect","imperativeHandleEffect","refCleanup","updateImperativeHandle","mountDebugValue","updateCallback","updateMemo","nextCreate","mountDeferredValueImpl","initialValue","requestDeferredLane","updateDeferredValueImpl","prevValue","startTransition","pendingState","dispatchSetStateInternal","finishedState","requestUpdateLane","startHostTransition","formFiber","ensureFormComponentIsStateful","requestFormReset$1","existingStateHook","initialResetState","useHostTransitionStatus","updateId","updateRefresh","refreshCache","provider","root$73","dispatchReducerAction","enqueueRenderPhaseUpdate","entangleTransitionUpdate","currentState","eagerState","throwIfDuringRender","initialArg","identifierPrefix","idWithLeadingBit","booleanOrThenable","applyDerivedStateFromProps","getDerivedStateFromProps","nextProps","ctor","classComponentUpdater","checkShouldComponentUpdate","newProps","nextContext","oldProps","oldState","callComponentWillReceiveProps","resolveClassComponentProps","baseProps","propName$77","defaultOnUncaughtError","defaultOnCaughtError","defaultOnRecoverableError","logUncaughtError","onUncaughtError","errorInfo","e$78","logCaughtError","onCaughtError","e$79","createRootErrorUpdate","createClassErrorUpdate","initializeClassErrorUpdate","getDerivedStateFromError","legacyErrorBoundariesThatAlreadyFailed","throwException","rootRenderLanes","renderDidSuspendDelayIfPossible","workInProgressRootExitStatus","attachPingListener","wrapperError","workInProgressRootConcurrentErrors","SelectiveHydrationException","reconcileChildren","nextChildren","updateForwardRef","propsWithoutRef","bailoutOnAlreadyFinishedWork","updateMemoComponent","updateSimpleMemoComponent","checkScheduledUpdateOrContext","updateFunctionComponent","updateOffscreenComponent","deferHiddenOffscreenComponent","bailoutOffscreenComponent","nextBaseLanes","remainingChildLanes","mountActivityChildren","mountWorkInProgressOffscreenFiber","retryActivityComponentWithoutHydrating","updateActivityComponent","didSuspend","canHydrateHydrationBoundary","dehydrated","markRef","replayFunctionComponent","updateClassComponent","contextType","unresolvedOldProps","oldContext","contextType$jscomp$0","mountHostRootWithoutHydrating","SUSPENDED_MARKER","mountSuspenseOffscreenState","getRemainingWorkInPrimaryTree","primaryTreeDidDefer","workInProgressDeferredLane","updateSuspenseComponent","showFallback","mountSuspensePrimaryChildren","dehydrated$96","updateDehydratedSuspenseComponent","primaryChildren","offscreenProps","retrySuspenseComponentWithoutHydrating","suspenseInstance","didPrimaryChildrenDefer","digest","scheduleSuspenseWorkOnFiber","findLastContentRow","lastContentRow","currentRow","initSuspenseListRenderState","renderState","isBackwards","tail","tailMode","reverseChildren","nextRow","updateSuspenseListComponent","revealOrder","suspenseContext","shouldForceFallback","updateContextProvider","attemptEarlyBailoutIfNoScheduledUpdate","state$108","primaryChildLanes","beginWork","$$typeof","getResource","createHoistableInstance","resolveSingletonInstance","canHydrateInstance","canHydrateTextInstance","markUpdate","preloadInstanceAndSuspendIfNeeded","maySuspendCommit","shouldRemainOnPreviousScreen","preloadResourceAndSuspendIfNeeded","preloadResource","scheduleRetryEffect","retryQueue","cutOffTailIfNeeded","tailNode","lastTailNode","hasRenderedATailFallback","bubbleProperties","didBailout","completedWork","newChildLanes","subtreeFlags","child$113","completeWork","nextResource","ownerDocument","getOwnerDocumentFromRootContainer","setInitialProperties","listenToAllSupportedEvents","workInProgressRootRenderTargetTime","unwindWork","unwindInterruptedWork","interruptedWork","commitHookEffectListMount","finishedWork","lastEffect","firstEffect","flags","captureCommitPhaseError","commitHookEffectListUnmount","destroy","nearestMountedAncestor","nearestMountedAncestor$jscomp$0","destroy_","commitClassCallbacks","safelyCallComponentWillUnmount","safelyAttachRef","instanceToUse","createViewTransitionInstance","fragmentInstance","FragmentInstance","addFragmentHandleToFiber","safelyDetachRef","error$148","commitNewChildToFragmentInstances","parentFragmentInstances","commitNewChildToFragmentInstance","commitFragmentInstanceInsertionEffects","isFragmentInstanceParent","commitFragmentInstanceDeletionEffects","deleteChildFromFragmentInstance","isFragmentInstanceHostBoundary","commitHostMount","commitHostUpdate","domElement","updateProperties","isHostParent","getHostSibling","insertOrAppendPlacementNodeIntoContainer","before","insertOrAppendPlacementNode","commitHostSingletonAcquisition","singleton","shouldStartViewTransition","appearingViewTransitions","trackEnterViewTransitions","placement","viewTransitionCancelableChildren","pushViewTransitionCancelableScope","prevChildren","viewTransitionHostInstanceIdx","applyViewTransitionToHostInstances","applyViewTransitionToHostInstancesRecursive","collectMeasurements","stopAtNestedViewTransitions","inViewport","measurement","measureInstance","applyViewTransitionName","restoreViewTransitionOnHostInstances","restoreViewTransitionName","commitAppearingPairViewTransitions","commitEnterViewTransitions","gesture","scheduleViewTransitionEvent","commitDeletedPairViewTransitions","deletion","commitExitViewTransitions","commitNestedViewTransitions","changedParent","restorePairedViewTransitions","restoreEnterOrExitViewTransitions","restoreNestedViewTransitions","measureViewTransitionHostInstancesRecursive","previousMeasurements","previousMeasurement","nextMeasurement","parentViewTransition","newRect","newName","oldName","measureNestedViewTransitions","measureClonedInstance","offscreenSubtreeIsHidden","offscreenSubtreeWasHidden","offscreenDirectParentIsHidden","needsFormReset","PossiblyWeakSet","nextEffect","viewTransitionContextChanged","inUpdateViewTransition","rootViewTransitionAffected","rootViewTransitionNameCanceled","commitBeforeMutationEffects","_enabled","selection","anchorOffset","focusNode","indexWithinAnchor","indexWithinFocus","committedLanes","commitBeforeMutationEffects_complete","isViewTransitionEligible","isViewTransitionEligible$jscomp$0","resolvedPrevProps","clearContainerSparingly","commitLayoutEffectOnFiber","recursivelyTraverseLayoutEffects","finishedRoot","error$146","commitActivityHydrationCallbacks","commitSuspenseHydrationCallbacks","retryDehydratedSuspenseBoundary","registerSuspenseInstanceRetry","newOffscreenSubtreeWasHidden","recursivelyTraverseReappearLayoutEffects","hideOrUnhideAllChildren","parentFiber","hideOrUnhideAllChildrenOnFiber","display","hideOrUnhideNearestPortals","instance$jscomp$1","hideOrUnhideDehydratedBoundary","isHidden$jscomp$0","detachFiberAfterEffects","hostParent","hostParentIsContainer","recursivelyTraverseDeletionEffects","commitDeletionEffectsOnFiber","deletedFiber","prevHostParent","prevHostParentIsContainer","releaseSingletonInstance","clearHydrationBoundary","retryIfBlockedOn","getRetryCache","retryCache","attachSuspenseRetryListeners","wakeables","wakeable","retry","resolveRetryWakeable","recursivelyTraverseMutationEffects","root$jscomp$0","commitMutationEffectsOnFiber","currentHoistableRoot","ii","_eventPayloads$ii2","commitReconciliationEffects","getHydratableHoistableCache","mountHoistable","acquireResource","getHoistableRoot","recursivelyResetForms","prevOffscreenSubtreeIsHidden","prevOffscreenSubtreeWasHidden","prevOffscreenDirectParentIsHidden$166","recursivelyTraverseDisappearLayoutEffects","hostParentFiber","parent$jscomp$0","parent$149","parent$151","recursivelyTraverseAfterMutationEffects","commitAfterMutationEffectsOnFiber","layoutEffectTraversalFlags","layoutEffectTraversalFlags$jscomp$0","finishedRoot$jscomp$0","includeWorkInProgressEffects","hiddenCallbacks","commitOffscreenPassiveMountEffects","previousCache","commitCachePassiveMountEffect","recursivelyTraversePassiveMountEffects","commitPassiveMountOnFiber","committedTransitions","_finishedWork$memoize2","onPostCommit","recursivelyTraverseReconnectPassiveEffects","recursivelyTraverseAtomicPassiveEffects","committedLanes$jscomp$0","committedTransitions$jscomp$0","suspenseyCommitFlag","recursivelyAccumulateSuspenseyCommit","accumulateSuspenseyCommitOnFiber","suspendedState","suspendInstance","suspendResource","previousHoistableRoot","detachAlternateSiblings","previousFiber","recursivelyTraversePassiveUnmountEffects","commitPassiveUnmountEffectsInsideOfDeletedTree_begin","commitPassiveUnmountOnFiber","recursivelyTraverseDisconnectPassiveEffects","deletedSubtreeRoot","sibling","DefaultAsyncDispatcher","cacheForType","resourceType","PossiblyWeakMap","workInProgressSuspendedReason","workInProgressThrownValue","workInProgressRootDidSkipSuspendedSiblings","workInProgressRootIsPrerendering","workInProgressRootDidAttachPingListener","workInProgressRootSkippedLanes","workInProgressRootInterleavedUpdatedLanes","workInProgressRootPingedLanes","workInProgressSuspendedRetryLanes","workInProgressRootDidIncludeRecursiveRenderUpdate","globalMostRecentFallbackTime","globalMostRecentTransitionTime","workInProgressTransitions","pendingEffectsStatus","pendingFinishedWork","pendingEffectsLanes","pendingEffectsRemainingLanes","pendingPassiveTransitions","pendingRecoverableErrors","pendingViewTransition","pendingViewTransitionEvents","rootWithNestedUpdates","prepareFreshStack","markRootSuspended","ensureRootIsScheduled","performWorkOnRoot","shouldTimeSlice","forceSync","exitStatus","renderRootConcurrent","renderRootSync","renderWasConcurrent","isRenderConsistentWithExternalStores","wasRootDehydrated","scheduleTimeout","completeRootWhenReady","suspendedCommitReason","onUnsuspend","waitForCommitToBeReady","completeRoot","recoverableErrors","transitions","didIncludeRenderPhaseUpdate","didSkipSuspendedSiblings","completedRenderStartTime","completedRenderEndTime","check","didAttemptEntireTree","index$6","flushSyncWorkAcrossRoots_impl","resetWorkInProgressStack","timeoutHandle","cancelTimeout","handleThrow","thrownValue","pushDispatcher","prevDispatcher","pushAsyncDispatcher","prevAsyncDispatcher","prevExecutionContext","unitOfWork","throwAndUnwindWorkLoop","shouldYieldForPrerendering","workLoopSync","thrownValue$184","performUnitOfWork","replaySuspendedUnitOfWork","hostFiber","completeUnitOfWork","workLoopConcurrentByScheduler","thrownValue$186","suspendedReason","unwindUnitOfWork","skipSiblings","flushPendingEffects","commitRoot","scheduleCallback$1","flushPassiveEffects","startViewTransition","flushMutationEffects","flushLayoutEffects","flushAfterMutationEffects","flushSpawnedWork","reportViewTransitionError","onRecoverableError","rootMutationHasEffect","selectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","win","start$jscomp$0","end$jscomp$0","startMarker","endMarker","eventsEnabled","rootHasLayoutEffect","committedViewTransition","passiveSubtreeMask","releaseRootPooledCache","recoverableError","renderPriority","captureCommitPhaseErrorOnRoot","rootFiber","pingCache","threadIDs","pingSuspendedRoot","retryTimedOutBoundary","retryLane","boundaryFiber","lastScheduledRoot","didScheduleMicrotask","mightHavePendingSyncWork","isFlushingWork","currentEventTransitionLane","scheduleImmediateRootScheduleTask","didPerformSomeWork","root$190","onlyLegacy","syncTransitionLanes","performSyncWorkOnRoot","processRootScheduleInImmediateTask","processRootScheduleInMicrotask","shouldAttemptEagerTransition","scheduleTaskForRootDuringMicrotask","index$5","expirationTime","performWorkOnRootViaSchedulerTask","originalCallbackNode","workInProgressRootRenderLanes$jscomp$0","didTimeout","scheduleMicrotask","actionScopeLane","coerceFormActionProp","actionProp","extractEvents$1","maybeTargetInst","submitter","i$jscomp$inline_1667","eventName$jscomp$inline_1668","nonDelegatedEvents","eventSystemFlags","_dispatchQueue$i","previousInstance","i$jscomp$0","_dispatchListeners$i","currentTarget","listenerSetKey","addTrappedEventListener","listenToNativeEvent","isCapturePhaseListener","listeningMarker","rootContainerElement","listenerWrapper","dispatchDiscreteEvent","dispatchContinuousEvent","dispatchEvent","targetContainer","dispatchEventForPluginEventSystem","ancestorInst","targetInst$jscomp$0","nodeTag","grandTag","SyntheticEventCtor","inCapturePhase","accumulateTargetOnly","reactEventName","lastHostComponent","_instance","createDispatchListener","accumulateEnterLeaveListenersForEvent","getTargetInstFunc","handleEventFunc","fallbackData","captureName","targetFiber","_instance2","common","_instance3","NORMALIZE_NEWLINES_REGEX","NORMALIZE_NULL_AND_REPLACEMENT_REGEX","normalizeMarkupForTextOrAttribute","markup","clientText","serverText","setProp","setPropOnCustomElement","hasSrc","hasSrcSet","propValue$204","emptyProps","lastProps","lastProp","propKey$221","propKey$237","propKey$242","propKey$247","propKey$252","isLikelyStaticResource","initiatorType","estimateBandwidth","bits","resourceEntries","transferSize","overlapEntry","overlapStartTime","overlapTransferSize","overlapInitiatorType","namespaceURI","parentNamespace","rootContainerInstance","internalInstanceHandle","currentPopstateTransitionEvent","localPromise","localRequestAnimationFrame","handleErrorInNextTick","hydrationInstance","parentInstance","clearSingletonPreambleContribution","node$jscomp$0","nextNode$jscomp$0","viewTransitionName","createMeasurement","measuredRect","forceLayout","waitForImageToLoad","rootContainer","ownerWindow","pendingNavigation","previousFontLoadingStatus","mutationCallback","blockingPromises","suspenseyImages","imgBytes","suspenseyImage","estimateImageBytes","estimatedBytesWithinLimit","layoutCallback","afterMutationCallback","viewTransitionAnimations","animations","animation","effect","pseudoElement","unchangedDimensions","j","keyframe","w","spawnedWorkCallback","errorCallback","passiveCallback","ViewTransitionPseudoElement","pseudo","keyframes","selector","fragmentFiber","cleanup","optionsOrUseCapture","indexOfEventListener","attachedListener","getAttachOptions","addEventListenerToChild","_listeners$index","removeEventListenerFromChild","normalizeListenerOptions","eventListeners","temp","_eventListeners$i","setFocusOnFiberIfFocusable","focusOptions","setFocusIfFocusable","collectChildren","collection","blurActiveElementWithinFragment","observeChild","observers","unobserveChild","pendingIntersectionUnobserves","intersectionUnobserveScheduled","schedulePendingIntersectionUnobserve","requestPostPaintCallback","rects","collectClientRects","getRootNodeOptions","parentHostInstance","parentHostInstanceFromDOM","firstResult","lastResult","otherNodeIsWithinFirstOrLastChild","validateDocumentPositionWithFiberTree","otherFiber","documentPosition","precedingBoundaryFiber","followingBoundaryFiber","scrollTextNodeIntoView","textNode","resolvedAlignToTop","alignToTop","hostSiblings","addFragmentHandleToInstance","_eventListeners$i3","childInstance","writeIdx","_eventListeners$i4","anyProps","nodeType","targetInstance","handleFocus","didFocus","preloadPropsMap","preconnectsSet","rootNode","previousDispatcher","flushSyncWork","requestFormReset","prefetchDNS","preconnect","preload","preloadModule","preinitScript","preinitStyle","preinitModuleScript","previousWasRendering","wasRendering","formInst","globalDocument","preconnectAs","limitedEscapedHref","rel","preloadSelector","getStyleKey","getScriptKey","getStylesheetSelectorFromKey","getScriptSelectorFromKey","precedence","adoptPreloadPropsForStylesheet","insertStylesheet","src","scripts","adoptPreloadPropsForScript","currentResource","styles$268","resource$269","preloadStylesheet","stylesheetPropsFromRawProps","rawProps","preloadProps","hoistableRoot","styleProps","instance$274","linkInstance","nodes","prior","tagCaches","caches","nodeKey","keyAttribute","hostContext","onUnsuspendImg","insertSuspendedStylesheets","stylesheetTimer","unsuspend","timeoutOffset","imgTimer","checkIfFullyUnsuspended","precedencesByRoot","insertStylesheetIntoRoot","precedences","FiberRootNode","formState","createFiberRoot","hydrate","onDefaultTransitionIndicator","isStrictMode","initialChildren","getContextForSubtree","parentComponent","updateContainerImpl","markRetryLaneImpl","markRetryLaneIfNotHydrated","attemptContinuousHydration","attemptHydrationAtCurrentPriority","blockedOn","findInstanceBlockingEvent","return_targetInst","clearIfContinuousEvent","queueIfContinuousEvent","discreteReplayableEvents","findInstanceBlockingTarget","nearestMounted","hasScheduledReplayAttempt","queuedFocus","queuedDrag","queuedMouse","queuedPointers","queuedPointerCaptures","queuedExplicitHydrationTargets","accumulateOrCreateContinuousQueuedReplayableEvent","existingQueuedEvent","pointerId","attemptExplicitHydrationTarget","queuedTarget","attemptReplayContinuousQueuedEvent","queuedEvent","targetContainers","nextBlockedOn","nativeEventClone","attemptReplayContinuousQueuedEventInMap","map","replayUnblockedEvents","scheduleCallbackIfUnblocked","unblocked","lastScheduledReplayQueue","scheduleReplayQueueIfNeeded","formReplayingQueue","submitterOrAction","unblock","formProps","defaultOnDefaultTransitionIndicator","handleNavigate","handleNavigateComplete","pendingResolve","isCancelled","startFakeNavigation","currentEntry","ReactDOMRoot","internalRoot","ReactDOMHydrationRoot","isomorphicReactPackageVersion$jscomp$inline_2043","componentOrElement","internals$jscomp$inline_2586","hook$jscomp$inline_2587","require_react_dom_client_production","headContext","createContext","HeadContext_default","store","resetLayoutProps","pageContext","createContext2","PageContext_default","isLayoutResolver","pendingInitialSwap","routerIsInitialized","emptySnapshot","App","setCurrent","useState","initialComponent","pageRef","useRef","headManager","useMemo","onHeadUpdate","dynamicLayoutProps","useSyncExternalStore","current2","initialRender","import_react_dom","syncServerHead","removeNavigateListener","removeClientVisitListener","createElement","renderChildren","effectiveLayout","callbackProps","layoutValue","isValidElement","defaultLayout","layouts","l","childNode","createInertiaApp","http3","dev","wrapWithStrictMode","strictMode","createElement2","StrictMode","module","head2","reactApp2","setup","withApp","renderToString","head","reactApp","router2","appElement","import_client","usePage","Deferred","reloading","setReloading","useState2","activeReloads","useRef2","useMemo2","rescuedKeys","removeStartListener","router3","removeFinishListener","propsAreDefined","hasRescuedProps","rescue","Deferred_default","useFormState","dataOption","isDataFunction","resolveData","isMounted","useRef3","precognitionEndpointRef","setDefaultsState","useState3","setData","useDataState","useErrorsState","processing","setProcessing","setProgress","wasSuccessful","setWasSuccessful","recentlySuccessful","setRecentlySuccessful","recentlySuccessfulTimeoutId","transformRef","data2","defaultsCalledInOnSuccessRef","validatorRef","touchedFields","setTouchedFields","validFields","setValidFields","withAllErrorsRef","withAllErrorsEnabled","dataRef","commitData","useCallback","setDataFunction","maybeValue","setDefaultsFunction","newDefaults","fieldOrFields","defaults2","reset","fields","clonedData","currentDefaults","setError","errors2","clearErrors","resetAndClearErrors","markAsSuccessful","resetBeforeSubmit","finishProcessing","transformFunction","tap","invalid","transformedData","currentData","validationErrors","precognitiveForm","useRemember","useState4","router4","excludeKeysRef","useForm","UseFormUtils2","initialDefaults","useRef4","pendingOptimisticRef","baseForm","rememberKey","submit","useCallback2","args2","submitMethods","useMemo3","originalWithPrecognition","deferStateUpdate","FormContext","createContext3","Form","forwardRef","getTransformedData","_url","getUrlAndData","transform","resolvedMethod","validationTimeout","withAllErrors","useRef5","useMemo4","resolvedComponent","instant","isDirty","setIsDirty","useState5","defaultData","cancelOnUnmountRef","cancelOnUnmount","getFormData","updateDirtyState","formEvents","maybeReset","resetOption","submitOptions","onSubmitComplete","resetOnSuccess","setDefaultsOnSuccess","resetOnError","exposed","UseFormUtils3","formNode","createElement3","disableWhileProcessing","Head_default","use3","useMemo5","renderNodes","isUnaryTag","renderTagStart","attrs","renderTagChildren","children2","renderTag","ensureNodeHasInertiaProp","renderNode","resolveHTMLElement","renderSlot","slotContent","slotProps","InfiniteScroll","forwardRef2","startElementFromRef","setStartElementFromRef","useState6","startElementRef","useCallback3","endElementFromRef","setEndElementFromRef","endElementRef","itemsElementFromRef","setItemsElementFromRef","itemsElementRef","loadingPrevious","setLoadingPrevious","loadingNext","setLoadingNext","requestCount","setRequestCount","hasPreviousPage","setHasPreviousPage","hasNextPage","setHasNextPage","resolvedStartElement","setResolvedStartElement","resolvedEndElement","setResolvedEndElement","resolvedItemsElement","setResolvedItemsElement","scrollableParent","useMemo6","callbackPropsRef","useRef6","infiniteScroll","setInfiniteScroll","scrollToBottom","syncStateFromDataManager","infiniteScrollInstance","dataManager2","elementManager2","autoLoad","manualMode","manual","manualAfter","onlyNext","onlyPrevious","autoScroll","reverse","headerAutoMode","footerAutoMode","sharedExposed","exposedPrevious","exposedNext","exposedSlot","renderElements","createElement4","loading","InfiniteScroll_default","noop2","Link","forwardRef3","inFlightCount","setInFlightCount","useState7","hoverTimeout","useRef7","_method","useMemo7","isUrlMethodPair2","resolveUrlMethodPairComponent2","_as","mergeDataArray","mergeDataIntoQueryString2","baseParams","preserveUrl","onCancelToken","onBefore","onProgress","onCancel","onHttpException","onNetworkError","prefetchModes","cacheForValue","doPrefetch","onPrefetching","onPrefetched","regularEvents","onClick","prefetchHoverEvents","prefetchClickEvents","elProps","createElement5","Link_default","useHttp","UseFormUtils4","abortController","useRef8","setResponse","useState8","useCallback4","optimisticData","useFormData","requestUrl","requestData","contentType","mergeDataIntoQueryString3","responseData","processedErrors","toSimpleValidationErrors2","submitWithArgs","parsed","useMemo8","usePoll","latest","useRef9","pollRef","polling","setPolling","useState9","router7","useCallback5","coreConfig","__insertCSS","getAsset","SuccessIcon","InfoIcon","WarningIcon","ErrorIcon","bars","Loader","visible","CloseIcon","useIsDocumentHidden","isDocumentHidden","setIsDocumentHidden","toastsCounter","MAX_HISTORY_SIZE","getToastId","ToastState","subscriber","toast","toRemove","pendingDismissal","wasDismissed","dismissible","alreadyPending","shouldDismiss","originalPromise","isHttpResponse","promiseData","description","toastSettings","unwrap","jsx","toastFunction","basicToast","isAction","VISIBLE_TOASTS_AMOUNT","VIEWPORT_OFFSET","MOBILE_VIEWPORT_OFFSET","TOAST_LIFETIME","TOAST_WIDTH","GAP","SWIPE_THRESHOLD","TIME_BEFORE_UNMOUNT","cn","getDefaultSwipeDirections","position","directions","Toast","ToasterInvert","closeButtonFromToaster","durationFromToaster","swipeDirection","setSwipeDirection","swipeOutDirection","setSwipeOutDirection","mounted","setMounted","removed","setRemoved","swiping","setSwiping","swipeOut","setSwipeOut","isSwiped","setIsSwiped","offsetBeforeRemove","setOffsetBeforeRemove","initialHeight","setInitialHeight","remainingTime","dragStartTime","toastRef","isFront","isVisible","visibleToasts","toastType","toastTypeKey","toastClassname","toastDescriptionClassname","heightIndex","heights","closeButton","closeTimerStartTimeRef","lastCloseTimerStartTimeRef","pointerStartRef","toastsHeightBefore","reducerIndex","swipeDirections","invert","disabled","gap","toastNode","setHeights","originalHeight","newHeight","deleteToast","removeToast","interacting","elapsedTime","getLoadingIcon","icons","classNames","icon","defaultRichColors","unstyled","expandByDefault","toasts","swipeAmountX","swipeAmountY","timeTaken","swipeAmount","velocity","_toastRef_current2","_toastRef_current3","_toastRef_current","_toastRef_current1","yDelta","xDelta","getDampening","delta","dampenedDelta","closeButtonAriaLabel","descriptionClassName","cancelButtonStyle","actionButtonStyle","getDocumentDirection","dirAttribute","assignOffset","defaultOffset","mobileOffset","isMobile","assignAll","Toaster","setToasts","filteredToasts","possiblePositions","setExpanded","setInteracting","actualTheme","setActualTheme","theme","listRef","hotkeyLabel","hotkey","lastFocusedElementRef","isFocusWithinRef","toastToRemove","indexOfExistingToast","darkMediaQuery","matches","handleKeyDown","_listRef_current1","customAriaLabel","containerAriaLabel","dir","richColors","toastOptions","t","expand","uncertainOutcomeMessage","submissionError","sequence","notice","getPageNotice","subscribeToPageNotice","setPageNotice","presentFlash","pathname","success","PreloadErrorFallback","import_jsx_runtime","onRetry","pathFromUrl","origin","HomeHistoryRefreshCoordinator","browserUrl","pageUrl","STORAGE_KEY","browserSessionStorage","claimPreloadRecoveryReload","storage","clearPreloadRecoveryReload","browserRuntimeMessage","inertiaNetworkErrorType","inertiaNetworkErrorCode","homeOperationalProps","homeRefreshInFlight","homeHistoryRefresh","isBrowserRuntimeMessage","isInertiaNetworkError","isInertiaNetworkTransportError","refreshHomeOperationalProps","Sentry.init","exceptionValues","appRoot","preloadRecoveryExhausted","preloadFailureCaptured","retryPreload","renderPreloadFallback","createRoot","preloadEvent","pages","__vitePreload","defaultLayoutPromise","loadDefaultLayout","Layout","loadPage","feedbackPageUrl","feedbackPropertyId","updateFeedbackContext","nextUrl","propertyId"],"ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183],"sources":["../../../node_modules/@sentry/core/build/esm/debug-build.js","../../../node_modules/@sentry/core/build/esm/utils/worldwide.js","../../../node_modules/@sentry/core/build/esm/utils/version.js","../../../node_modules/@sentry/core/build/esm/carrier.js","../../../node_modules/@sentry/core/build/esm/utils/debug-logger.js","../../../node_modules/@sentry/core/build/esm/utils/stacktrace.js","../../../node_modules/@sentry/core/build/esm/instrument/handlers.js","../../../node_modules/@sentry/core/build/esm/instrument/globalError.js","../../../node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js","../../../node_modules/@sentry/core/build/esm/utils/is.js","../../../node_modules/@sentry/core/build/esm/utils/object.js","../../../node_modules/@sentry/core/build/esm/utils/randomSafeContext.js","../../../node_modules/@sentry/core/build/esm/utils/normalizationHints.js","../../../node_modules/@sentry/core/build/esm/utils/normalize.js","../../../node_modules/@sentry/core/build/esm/utils/string.js","../../../node_modules/@sentry/core/build/esm/utils/misc.js","../../../node_modules/@sentry/core/build/esm/utils/time.js","../../../node_modules/@sentry/core/build/esm/session.js","../../../node_modules/@sentry/core/build/esm/utils/merge.js","../../../node_modules/@sentry/core/build/esm/utils/propagationContext.js","../../../node_modules/@sentry/core/build/esm/utils/weakRef.js","../../../node_modules/@sentry/core/build/esm/utils/spanOnScope.js","../../../node_modules/@sentry/core/build/esm/scope.js","../../../node_modules/@sentry/core/build/esm/defaultScopes.js","../../../node_modules/@sentry/core/build/esm/utils/chain-and-copy-promiselike.js","../../../node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js","../../../node_modules/@sentry/core/build/esm/asyncContext/index.js","../../../node_modules/@sentry/core/build/esm/attributes.js","../../../node_modules/@sentry/core/build/esm/currentScopes.js","../../../node_modules/@sentry/core/build/esm/semanticAttributes.js","../../../node_modules/@sentry/core/build/esm/tracing/utils.js","../../../node_modules/@sentry/core/build/esm/utils/baggage.js","../../../node_modules/@sentry/core/build/esm/utils/dsn.js","../../../node_modules/@sentry/core/build/esm/utils/parseSampleRate.js","../../../node_modules/@sentry/core/build/esm/utils/spanUtils.js","../../../node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js","../../../node_modules/@sentry/core/build/esm/utils/should-ignore-span.js","../../../node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js","../../../node_modules/@sentry/core/build/esm/constants.js","../../../node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js","../../../node_modules/@sentry/core/build/esm/tracing/spans/beforeSendSpan.js","../../../node_modules/@sentry/core/build/esm/utils/envelope.js","../../../node_modules/@sentry/core/build/esm/envelope.js","../../../node_modules/@sentry/core/build/esm/tracing/spans/hasSpanStreamingEnabled.js","../../../node_modules/@sentry/core/build/esm/utils/scopeData.js","../../../node_modules/@sentry/conventions/dist/attributes.mjs","../../../node_modules/@sentry/core/build/esm/tracing/spans/captureSpan.js","../../../node_modules/@sentry/core/build/esm/utils/syncpromise.js","../../../node_modules/@sentry/core/build/esm/eventProcessors.js","../../../node_modules/@sentry/core/build/esm/utils/debug-ids.js","../../../node_modules/@sentry/core/build/esm/utils/eventUtils.js","../../../node_modules/@sentry/core/build/esm/utils/prepareEvent.js","../../../node_modules/@sentry/core/build/esm/exports.js","../../../node_modules/@sentry/core/build/esm/utils/timer.js","../../../node_modules/@sentry/core/build/esm/api.js","../../../node_modules/@sentry/core/build/esm/integration.js","../../../node_modules/@sentry/core/build/esm/utils/env.js","../../../node_modules/@sentry/core/build/esm/utils/node.js","../../../node_modules/@sentry/core/build/esm/utils/isBrowser.js","../../../node_modules/@sentry/core/build/esm/logs/envelope.js","../../../node_modules/@sentry/core/build/esm/logs/internal.js","../../../node_modules/@sentry/core/build/esm/metrics/envelope.js","../../../node_modules/@sentry/core/build/esm/metrics/internal.js","../../../node_modules/@sentry/core/build/esm/tracing/spans/spanJsonToStreamedSpan.js","../../../node_modules/@sentry/core/build/esm/tracing/spans/extractGenAiSpans.js","../../../node_modules/@sentry/core/build/esm/utils/promisebuffer.js","../../../node_modules/@sentry/core/build/esm/utils/ratelimit.js","../../../node_modules/@sentry/core/build/esm/transports/base.js","../../../node_modules/@sentry/core/build/esm/utils/clientreport.js","../../../node_modules/@sentry/core/build/esm/utils/transactionEvent.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/filtering-snippets.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/defaultPiiToCollectionOptions.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/resolveDataCollectionOptions.js","../../../node_modules/@sentry/core/build/esm/client.js","../../../node_modules/@sentry/core/build/esm/sdk.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/filterKeyValueData.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/filterQueryParams.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/filterUrlQuery.js","../../../node_modules/@sentry/core/build/esm/utils/data-collection/filterCollectedUrl.js","../../../node_modules/@sentry/core/build/esm/utils/url.js","../../../node_modules/@sentry/core/build/esm/utils/ipAddress.js","../../../node_modules/@sentry/core/build/esm/utils/sdkMetadata.js","../../../node_modules/@sentry/core/build/esm/breadcrumbs.js","../../../node_modules/@sentry/core/build/esm/integrations/functiontostring.js","../../../node_modules/@sentry/core/build/esm/integrations/eventFilters.js","../../../node_modules/@sentry/core/build/esm/utils/aggregate-errors.js","../../../node_modules/@sentry/core/build/esm/utils/eventbuilder.js","../../../node_modules/@sentry/core/build/esm/instrument/console.js","../../../node_modules/@sentry/core/build/esm/utils/severity.js","../../../node_modules/@sentry/core/build/esm/integrations/dedupe.js","../../../node_modules/@sentry/core/build/esm/integrations/conversationId.js","../../../node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js","../../../node_modules/@sentry/core/build/esm/utils/supports.js","../../../node_modules/@sentry/core/build/esm/instrument/fetch.js","../../../node_modules/@sentry/core/build/esm/utils/browser.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/helpers.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/eventbuilder.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/client.js","../../../node_modules/@sentry/browser-utils/build/esm/debug-build.js","../../../node_modules/@sentry/browser-utils/build/esm/types.js","../../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/globalListeners.js","../../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js","../../../node_modules/@sentry/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js","../../../node_modules/@sentry/browser-utils/build/esm/htmlTreeAsString.js","../../../node_modules/@sentry/browser-utils/build/esm/instrument/dom.js","../../../node_modules/@sentry/browser-utils/build/esm/instrument/history.js","../../../node_modules/@sentry/browser-utils/build/esm/getNativeImplementation.js","../../../node_modules/@sentry/browser-utils/build/esm/instrument/xhr.js","../../../node_modules/@sentry/browser-utils/build/esm/is.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/transports/fetch.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/debug-build.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/stack-parsers.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/breadcrumbs.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/browserapierrors.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/browsersession.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/culturecontext.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/globalhandlers.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/httpcontext.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/integrations/linkederrors.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/normalizeStringifyValue.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/utils/detectBrowserExtension.js","../../../node_modules/@sentry/browser/build/npm/esm/prod/sdk.js","../../../node_modules/@sentry/react/build/esm/isSyntheticEvent.js","../../../node_modules/@sentry/react/build/esm/sdk.js","../../../node_modules/es-toolkit/dist/_internal/globalThis.mjs","../../../node_modules/es-toolkit/dist/function/debounce.mjs","../../../node_modules/es-toolkit/dist/function/noop.mjs","../../../node_modules/es-toolkit/dist/predicate/isPrimitive.mjs","../../../node_modules/es-toolkit/dist/predicate/isTypedArray.mjs","../../../node_modules/es-toolkit/dist/object/clone.mjs","../../../node_modules/es-toolkit/dist/predicate/isBuffer.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/getSymbols.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/getTag.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/tags.mjs","../../../node_modules/es-toolkit/dist/object/cloneDeepWith.mjs","../../../node_modules/es-toolkit/dist/object/cloneDeep.mjs","../../../node_modules/es-toolkit/dist/predicate/isPlainObject.mjs","../../../node_modules/es-toolkit/dist/_internal/isUnsafeProperty.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isPlainObject.mjs","../../../node_modules/es-toolkit/dist/compat/util/eq.mjs","../../../node_modules/es-toolkit/dist/predicate/isEqualWith.mjs","../../../node_modules/es-toolkit/dist/predicate/isEqual.mjs","../../../node_modules/es-toolkit/dist/predicate/isLength.mjs","../../../node_modules/es-toolkit/dist/string/escape.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isArrayLike.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isSymbol.mjs","../../../node_modules/es-toolkit/dist/compat/util/toString.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/toKey.mjs","../../../node_modules/es-toolkit/dist/compat/util/toPath.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/isDeepKey.mjs","../../../node_modules/es-toolkit/dist/compat/object/get.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isObject.mjs","../../../node_modules/es-toolkit/dist/compat/object/cloneDeepWith.mjs","../../../node_modules/es-toolkit/dist/compat/object/cloneDeep.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isArguments.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/isIndex.mjs","../../../node_modules/es-toolkit/dist/compat/object/has.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isObjectLike.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isArrayLikeObject.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/isKey.mjs","../../../node_modules/es-toolkit/dist/compat/predicate/isTypedArray.mjs","../../../node_modules/es-toolkit/dist/compat/_internal/assignValue.mjs","../../../node_modules/es-toolkit/dist/_internal/isUnsafeToWriteProperty.mjs","../../../node_modules/es-toolkit/dist/compat/object/updateWith.mjs","../../../node_modules/es-toolkit/dist/compat/object/set.mjs","../../../node_modules/es-toolkit/dist/compat/function/debounce.mjs","../../../node_modules/es-toolkit/dist/compat/object/mergeWith.mjs","../../../node_modules/es-toolkit/dist/compat/object/merge.mjs","../../../node_modules/es-toolkit/dist/compat/string/escape.mjs","../../../node_modules/laravel-precognition/dist/form.js","../../../node_modules/laravel-precognition/dist/http/errors.js","../../../node_modules/laravel-precognition/dist/http/url.js","../../../node_modules/laravel-precognition/dist/http/fetchClient.js","../../../node_modules/laravel-precognition/dist/client.js","../../../node_modules/laravel-precognition/dist/validator.js","../../../node_modules/@inertiajs/core/dist/index.js","../../../node_modules/react-dom/cjs/react-dom.production.js","../../../node_modules/react-dom/index.js","../../../node_modules/scheduler/cjs/scheduler.production.js","../../../node_modules/scheduler/index.js","../../../node_modules/react-dom/cjs/react-dom-client.production.js","../../../node_modules/react-dom/client.js","../../../node_modules/@inertiajs/react/dist/index.js","../../../node_modules/sonner/dist/index.mjs","../../../app/frontend/lib/feedback.ts","../../../app/frontend/components/PreloadErrorFallback.tsx","../../../app/frontend/lib/homeHistoryRefresh.ts","../../../app/frontend/lib/preloadRecovery.ts","../../../app/frontend/entrypoints/inertia.tsx"],"sourcesContent":["const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","const GLOBAL_OBJ = globalThis;\n\nexport { GLOBAL_OBJ };\n//# sourceMappingURL=worldwide.js.map\n","const SDK_VERSION = \"10.76.2\" ;\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { SDK_VERSION } from './utils/version.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\nfunction getMainCarrier() {\n getSentryCarrier(GLOBAL_OBJ);\n return GLOBAL_OBJ;\n}\nfunction getSentryCarrier(carrier) {\n const __SENTRY__ = carrier.__SENTRY__ = carrier.__SENTRY__ || {};\n __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n return __SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {};\n}\nfunction getGlobalSingleton(name, creator, obj = GLOBAL_OBJ) {\n const __SENTRY__ = obj.__SENTRY__ = obj.__SENTRY__ || {};\n const carrier = __SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {};\n return carrier[name] || (carrier[name] = creator());\n}\n\nexport { getGlobalSingleton, getMainCarrier, getSentryCarrier };\n//# sourceMappingURL=carrier.js.map\n","import { getGlobalSingleton } from '../carrier.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst CONSOLE_LEVELS = [\n \"debug\",\n \"info\",\n \"warn\",\n \"error\",\n \"log\",\n \"assert\",\n \"trace\"\n];\nconst PREFIX = \"Sentry Logger \";\nconst originalConsoleMethods = {};\nfunction consoleSandbox(callback) {\n if (!(\"console\" in GLOBAL_OBJ)) {\n return callback();\n }\n const console = GLOBAL_OBJ.console;\n const wrappedFuncs = {};\n const wrappedLevels = Object.keys(originalConsoleMethods);\n wrappedLevels.forEach((level) => {\n const originalConsoleMethod = originalConsoleMethods[level];\n wrappedFuncs[level] = console[level];\n console[level] = originalConsoleMethod;\n });\n try {\n return callback();\n } finally {\n wrappedLevels.forEach((level) => {\n console[level] = wrappedFuncs[level];\n });\n }\n}\nfunction enable() {\n _getLoggerSettings().enabled = true;\n}\nfunction disable() {\n _getLoggerSettings().enabled = false;\n}\nfunction isEnabled() {\n return _getLoggerSettings().enabled;\n}\nfunction log(...args) {\n _maybeLog(\"log\", ...args);\n}\nfunction warn(...args) {\n _maybeLog(\"warn\", ...args);\n}\nfunction error(...args) {\n _maybeLog(\"error\", ...args);\n}\nfunction _maybeLog(level, ...args) {\n if (!DEBUG_BUILD) {\n return;\n }\n if (isEnabled()) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`, ...args);\n });\n }\n}\nfunction _getLoggerSettings() {\n if (!DEBUG_BUILD) {\n return { enabled: false };\n }\n return getGlobalSingleton(\"loggerSettings\", () => ({ enabled: false }));\n}\nconst debug = {\n /** Enable logging. */\n enable,\n /** Disable logging. */\n disable,\n /** Check if logging is enabled. */\n isEnabled,\n /** Log a message. */\n log,\n /** Log a warning. */\n warn,\n /** Log an error. */\n error\n};\n\nexport { CONSOLE_LEVELS, consoleSandbox, debug, originalConsoleMethods };\n//# sourceMappingURL=debug-logger.js.map\n","const STACKTRACE_FRAME_LIMIT = 50;\nconst UNKNOWN_FUNCTION = \"?\";\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\nfunction createStackParser(...parsers) {\n const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map((p) => p[1]);\n return (stack, skipFirstLines = 0, framesToPop = 0) => {\n const frames = [];\n const lines = stack.split(\"\\n\");\n for (let i = skipFirstLines; i < lines.length; i++) {\n let line = lines[i];\n if (line.length > 1024) {\n line = line.slice(0, 1024);\n }\n const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, \"$1\") : line;\n if (cleanedLine.includes(\"Error: \")) {\n continue;\n }\n for (const parser of sortedParsers) {\n const frame = parser(cleanedLine);\n if (frame) {\n frames.push(frame);\n break;\n }\n }\n if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n break;\n }\n }\n return stripSentryFramesAndReverse(frames.slice(framesToPop));\n };\n}\nfunction stackParserFromStackParserOptions(stackParser) {\n if (Array.isArray(stackParser)) {\n return createStackParser(...stackParser);\n }\n return stackParser;\n}\nfunction stripSentryFramesAndReverse(stack) {\n if (!stack.length) {\n return [];\n }\n const localStack = Array.from(stack);\n if (/sentryWrapped/.test(getLastStackFrame(localStack).function || \"\")) {\n localStack.pop();\n }\n localStack.reverse();\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || \"\")) {\n localStack.pop();\n if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || \"\")) {\n localStack.pop();\n }\n }\n return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map((frame) => ({\n ...frame,\n filename: frame.filename || getLastStackFrame(localStack).filename,\n function: frame.function || UNKNOWN_FUNCTION\n }));\n}\nfunction getLastStackFrame(arr) {\n return arr[arr.length - 1] || {};\n}\nconst defaultFunctionName = \"\";\nfunction getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== \"function\") {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n } catch {\n return defaultFunctionName;\n }\n}\nfunction getFramesFromEvent(event) {\n const exception = event.exception;\n if (exception) {\n const frames = [];\n try {\n exception.values.forEach((value) => {\n if (value.stacktrace.frames) {\n frames.push(...value.stacktrace.frames);\n }\n });\n return frames;\n } catch {\n return void 0;\n }\n }\n return void 0;\n}\nfunction normalizeStackTracePath(path) {\n let filename = path?.startsWith(\"file://\") ? path.slice(7) : path;\n if (filename?.match(/\\/[A-Z]:/)) {\n filename = filename.slice(1);\n }\n return filename;\n}\n\nexport { UNKNOWN_FUNCTION, createStackParser, getFramesFromEvent, getFunctionName, normalizeStackTracePath, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFunctionName } from '../utils/stacktrace.js';\n\nconst handlers = {};\nconst instrumented = {};\nfunction addHandler(type, handler) {\n handlers[type] = handlers[type] || [];\n handlers[type].push(handler);\n return () => {\n const typeHandlers = handlers[type];\n if (typeHandlers) {\n const index = typeHandlers.indexOf(handler);\n if (index !== -1) {\n typeHandlers.splice(index, 1);\n }\n }\n };\n}\nfunction resetInstrumentationHandlers() {\n Object.keys(handlers).forEach((key) => {\n handlers[key] = void 0;\n });\n}\nfunction maybeInstrument(type, instrumentFn) {\n if (!instrumented[type]) {\n instrumented[type] = true;\n try {\n instrumentFn();\n } catch (e) {\n DEBUG_BUILD && debug.error(`Error while instrumenting ${type}`, e);\n }\n }\n}\nfunction triggerHandlers(type, data) {\n const typeHandlers = type && handlers[type];\n if (!typeHandlers) {\n return;\n }\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n DEBUG_BUILD && debug.error(\n `Error while triggering instrumentation handler.\nType: ${type}\nName: ${getFunctionName(handler)}\nError:`,\n e\n );\n }\n }\n}\n\nexport { addHandler, maybeInstrument, resetInstrumentationHandlers, triggerHandlers };\n//# sourceMappingURL=handlers.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnErrorHandler = null;\nfunction addGlobalErrorInstrumentationHandler(handler) {\n const type = \"error\";\n addHandler(type, handler);\n maybeInstrument(type, instrumentError);\n}\nfunction instrumentError() {\n _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n GLOBAL_OBJ.onerror = function(msg, url, line, column, error) {\n const handlerData = {\n column,\n error,\n line,\n msg,\n url\n };\n triggerHandlers(\"error\", handlerData);\n if (_oldOnErrorHandler) {\n return _oldOnErrorHandler.apply(this, arguments);\n }\n return false;\n };\n GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalErrorInstrumentationHandler };\n//# sourceMappingURL=globalError.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnUnhandledRejectionHandler = null;\nfunction addGlobalUnhandledRejectionInstrumentationHandler(handler) {\n const type = \"unhandledrejection\";\n addHandler(type, handler);\n maybeInstrument(type, instrumentUnhandledRejection);\n}\nfunction instrumentUnhandledRejection() {\n _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n GLOBAL_OBJ.onunhandledrejection = function(e) {\n const handlerData = e;\n triggerHandlers(\"unhandledrejection\", handlerData);\n if (_oldOnUnhandledRejectionHandler) {\n return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n }\n return true;\n };\n GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalUnhandledRejectionInstrumentationHandler };\n//# sourceMappingURL=globalUnhandledRejection.js.map\n","const objectToString = Object.prototype.toString;\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case \"[object Error]\":\n case \"[object Exception]\":\n case \"[object DOMException]\":\n case \"[object WebAssembly.Exception]\":\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === `[object ${className}]`;\n}\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, \"ErrorEvent\");\n}\nfunction isDOMError(wat) {\n return isBuiltin(wat, \"DOMError\");\n}\nfunction isDOMException(wat) {\n return isBuiltin(wat, \"DOMException\");\n}\nfunction isString(wat) {\n return isBuiltin(wat, \"String\");\n}\nfunction isParameterizedString(wat) {\n return typeof wat === \"object\" && wat !== null && \"__sentry_template_string__\" in wat && \"__sentry_template_values__\" in wat;\n}\nfunction isPrimitive(wat) {\n return wat === null || isParameterizedString(wat) || typeof wat !== \"object\" && typeof wat !== \"function\";\n}\nfunction isPlainObject(wat) {\n return isBuiltin(wat, \"Object\");\n}\nfunction isObjectLike(wat) {\n return typeof wat === \"object\" && wat !== null;\n}\nfunction isEvent(wat) {\n return typeof Event !== \"undefined\" && isInstanceOf(wat, Event);\n}\nfunction isElement(wat) {\n return typeof Element !== \"undefined\" && isInstanceOf(wat, Element);\n}\nfunction isRegExp(wat) {\n return isBuiltin(wat, \"RegExp\");\n}\nfunction isThenable(wat) {\n return Boolean(wat?.then && typeof wat.then === \"function\");\n}\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && \"nativeEvent\" in wat && \"preventDefault\" in wat && \"stopPropagation\" in wat;\n}\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch {\n return false;\n }\n}\nfunction isVueViewModel(wat) {\n return !!(typeof wat === \"object\" && wat !== null && (wat.__isVue || wat._isVue || wat.__v_isVNode));\n}\nfunction isRequest(request) {\n return typeof Request !== \"undefined\" && isInstanceOf(request, Request);\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isObjectLike, isParameterizedString, isPlainObject, isPrimitive, isRegExp, isRequest, isString, isSyntheticEvent, isThenable, isVueViewModel };\n//# sourceMappingURL=is.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isError, isEvent, isPrimitive, isObjectLike } from './is.js';\n\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n const original = source[name];\n if (typeof original !== \"function\") {\n return;\n }\n const wrapped = replacementFactory(original);\n if (typeof wrapped === \"function\") {\n markFunctionWrapped(wrapped, original);\n }\n try {\n source[name] = wrapped;\n } catch {\n DEBUG_BUILD && debug.log(`Failed to replace method \"${name}\" in object`, source);\n }\n}\nfunction addNonEnumerableProperty(obj, name, value) {\n try {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value,\n writable: true,\n configurable: true\n });\n } catch {\n DEBUG_BUILD && debug.log(`Failed to add non-enumerable property \"${String(name)}\" to object`, obj);\n }\n}\nfunction markFunctionWrapped(wrapped, original) {\n try {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, \"__sentry_original__\", original);\n } catch {\n }\n}\nfunction wrapMethod(obj, field, wrapped, enumerable = true) {\n const original = obj[field];\n if (typeof original !== \"function\") {\n throw new Error(`Cannot wrap method: ${field} is not a function`);\n }\n if (getOriginalFunction(original)) {\n throw new Error(`Attempting to wrap method ${field} multiple times`);\n }\n markFunctionWrapped(wrapped, original);\n Object.defineProperty(obj, field, {\n writable: true,\n configurable: true,\n enumerable,\n value: wrapped\n });\n}\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\nfunction convertToPlainObject(value) {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value)\n };\n }\n if (isEvent(value)) {\n const { type, target, currentTarget, detail } = value;\n return {\n type,\n target,\n currentTarget,\n ...detail ? { detail } : {},\n ...getOwnProperties(value)\n };\n }\n return value;\n}\nfunction getOwnProperties(obj) {\n if (isObjectLike(obj)) {\n return Object.fromEntries(Object.entries(obj));\n }\n return {};\n}\nfunction extractExceptionKeysForMessage(exception) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n return !keys[0] ? \"[object has no keys]\" : keys.join(\", \");\n}\nfunction dropUndefinedKeys(inputValue) {\n const memoizationMap = /* @__PURE__ */ new Map();\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (inputValue === null || typeof inputValue !== \"object\") {\n return inputValue;\n }\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== void 0) {\n return memoVal;\n }\n if (Array.isArray(inputValue)) {\n const returnValue = [];\n memoizationMap.set(inputValue, returnValue);\n inputValue.forEach((value) => {\n returnValue.push(_dropUndefinedKeys(value, memoizationMap));\n });\n return returnValue;\n }\n if (isPojo(inputValue)) {\n const returnValue = {};\n memoizationMap.set(inputValue, returnValue);\n const keys = Object.keys(inputValue);\n keys.forEach((key) => {\n const val = inputValue[key];\n if (val !== void 0) {\n returnValue[key] = _dropUndefinedKeys(val, memoizationMap);\n }\n });\n return returnValue;\n }\n return inputValue;\n}\nfunction isPojo(input) {\n const constructor = input.constructor;\n return constructor === Object || constructor === void 0;\n}\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n // this will catch both undefined and null\n case wat == void 0:\n objectified = new String(wat);\n break;\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case (typeof wat === \"symbol\" || typeof wat === \"bigint\"):\n objectified = Object(wat);\n break;\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n objectified = new wat.constructor(wat);\n break;\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, wrapMethod };\n//# sourceMappingURL=object.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nlet RESOLVED_RUNNER;\nfunction withRandomSafeContext(cb) {\n if (RESOLVED_RUNNER !== void 0) {\n return RESOLVED_RUNNER ? RESOLVED_RUNNER(cb) : cb();\n }\n const sym = /* @__PURE__ */ Symbol.for(\"__SENTRY_SAFE_RANDOM_ID_WRAPPER__\");\n const globalWithSymbol = GLOBAL_OBJ;\n if (sym in globalWithSymbol && typeof globalWithSymbol[sym] === \"function\") {\n RESOLVED_RUNNER = globalWithSymbol[sym];\n return RESOLVED_RUNNER(cb);\n }\n RESOLVED_RUNNER = null;\n return cb();\n}\nfunction safeMathRandom() {\n return withRandomSafeContext(() => Math.random());\n}\nfunction safeDateNow() {\n return withRandomSafeContext(() => Date.now());\n}\n\nexport { safeDateNow, safeMathRandom, withRandomSafeContext };\n//# sourceMappingURL=randomSafeContext.js.map\n","import { addNonEnumerableProperty } from './object.js';\n\nconst SENTRY_SKIP_NORMALIZATION = /* @__PURE__ */ Symbol.for(\"sentry.skipNormalization\");\nconst SENTRY_OVERRIDE_NORMALIZATION_DEPTH = /* @__PURE__ */ Symbol.for(\"sentry.overrideNormalizationDepth\");\nfunction setSkipNormalizationHint(obj) {\n addNonEnumerableProperty(obj, SENTRY_SKIP_NORMALIZATION, true);\n}\nfunction setNormalizationDepthOverrideHint(obj, depth) {\n addNonEnumerableProperty(obj, SENTRY_OVERRIDE_NORMALIZATION_DEPTH, depth);\n}\nfunction hasSkipNormalizationHint(value) {\n return Boolean(value[SENTRY_SKIP_NORMALIZATION]);\n}\nfunction getNormalizationDepthOverrideHint(value) {\n const v = value[SENTRY_OVERRIDE_NORMALIZATION_DEPTH];\n return typeof v === \"number\" ? v : void 0;\n}\n\nexport { getNormalizationDepthOverrideHint, hasSkipNormalizationHint, setNormalizationDepthOverrideHint, setSkipNormalizationHint };\n//# sourceMappingURL=normalizationHints.js.map\n","import { hasSkipNormalizationHint, getNormalizationDepthOverrideHint } from './normalizationHints.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\nlet stringifier;\nfunction setNormalizeStringifier(newStringifier) {\n stringifier = newStringifier;\n}\nfunction normalize(input, depth = 100, maxProperties = Infinity) {\n try {\n return visit(\"\", input, depth, maxProperties);\n } catch (err) {\n return { ERROR: `**non-serializable** (${err})` };\n }\n}\nfunction normalizeToSize(object, depth = 3, maxSize = 100 * 1024) {\n const normalized = normalize(object, depth);\n if (jsonSize(normalized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return normalized;\n}\nfunction visit(key, value, depth = Infinity, maxProperties = Infinity, memo = memoBuilder()) {\n const [memoize, unmemoize] = memo;\n if (value == null || // this matches null and undefined -> eqeq not eqeqeq\n [\"boolean\", \"string\"].includes(typeof value) || typeof value === \"number\" && Number.isFinite(value)) {\n return value;\n }\n const stringified = stringifyValue(key, value);\n if (!stringified.startsWith(\"[object \")) {\n return stringified;\n }\n if (hasSkipNormalizationHint(value)) {\n return value;\n }\n const overrideDepth = getNormalizationDepthOverrideHint(value);\n const remainingDepth = overrideDepth !== void 0 ? overrideDepth : depth;\n if (remainingDepth === 0) {\n return stringified.replace(\"object \", \"\");\n }\n if (memoize(value)) {\n return \"[Circular ~]\";\n }\n const valueWithToJSON = value;\n if (valueWithToJSON && typeof valueWithToJSON.toJSON === \"function\") {\n try {\n const jsonValue = valueWithToJSON.toJSON();\n return visit(\"\", jsonValue, remainingDepth - 1, maxProperties, memo);\n } catch {\n }\n }\n const normalized = Array.isArray(value) ? [] : {};\n let numAdded = 0;\n const visitable = convertToPlainObject(value);\n for (const visitKey in visitable) {\n if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n continue;\n }\n if (numAdded >= maxProperties) {\n normalized[visitKey] = \"[MaxProperties ~]\";\n break;\n }\n const visitValue = visitable[visitKey];\n normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n numAdded++;\n }\n unmemoize(value);\n return normalized;\n}\nfunction stringifyValue(key, value) {\n try {\n if (stringifier) {\n const stringified = stringifier(value);\n if (stringified) {\n return stringified;\n }\n }\n if (typeof global !== \"undefined\" && value === global) {\n return \"[Global]\";\n }\n if (typeof value === \"number\" && !Number.isFinite(value)) {\n return `[${value}]`;\n }\n if (typeof value === \"function\") {\n return `[Function: ${getFunctionName(value)}]`;\n }\n if (typeof value === \"symbol\") {\n return `[${String(value)}]`;\n }\n if (typeof value === \"bigint\") {\n return `[BigInt: ${String(value)}]`;\n }\n const objName = getConstructorName(value);\n return `[object ${objName}]`;\n } catch (err) {\n return `**non-serializable** (${err})`;\n }\n}\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n return prototype?.constructor ? prototype.constructor.name : \"null prototype\";\n}\nfunction utf8Length(value) {\n return ~-encodeURI(value).split(/%..|./).length;\n}\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\nfunction normalizeUrlToBase(url, basePath) {\n const escapedBase = basePath.replace(/\\\\/g, \"/\").replace(/[|\\\\{}()[\\]^$+*?.]/g, \"\\\\$&\");\n let newUrl = url;\n try {\n newUrl = decodeURI(url);\n } catch {\n }\n return newUrl.replace(/\\\\/g, \"/\").replace(/webpack:\\/?/g, \"\").replace(new RegExp(`(file://)?/*${escapedBase}/*`, \"ig\"), \"app:///\");\n}\nfunction memoBuilder() {\n const inner = /* @__PURE__ */ new WeakSet();\n function memoize(obj) {\n if (inner.has(obj)) {\n return true;\n }\n inner.add(obj);\n return false;\n }\n function unmemoize(obj) {\n inner.delete(obj);\n }\n return [memoize, unmemoize];\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase, setNormalizeStringifier, stringifyValue };\n//# sourceMappingURL=normalize.js.map\n","import { isString, isRegExp, isPrimitive } from './is.js';\nimport { stringifyValue } from './normalize.js';\n\nfunction stringify(value, fallback = \"[unserializable]\") {\n if (typeof value === \"string\") {\n return value;\n }\n try {\n return JSON.stringify(value);\n } catch {\n return typeof fallback === \"function\" ? fallback(value) : fallback;\n }\n}\nfunction truncate(str, max = 0) {\n if (typeof str !== \"string\" || max === 0) {\n return str;\n }\n return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\nfunction snipLine(line, colno) {\n let newLine = line;\n const lineLength = newLine.length;\n if (lineLength <= 150) {\n return newLine;\n }\n if (colno > lineLength) {\n colno = lineLength;\n }\n let start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n let end = Math.min(start + 140, lineLength);\n if (end > lineLength - 5) {\n end = lineLength;\n }\n if (end === lineLength) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = `'{snip} ${newLine}`;\n }\n if (end < lineLength) {\n newLine += \" {snip}\";\n }\n return newLine;\n}\nfunction safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return \"\";\n }\n const output = [];\n for (let i = 0; i < input.length; i++) {\n const value = input[i];\n if (isPrimitive(value)) {\n output.push(String(value));\n } else if (value instanceof Error) {\n output.push(value.message ? `${value.name}: ${value.message}` : value.name);\n } else {\n output.push(stringifyValue(void 0, value));\n }\n }\n return output.join(delimiter);\n}\nfunction isMatchingPattern(value, pattern, requireExactStringMatch = false) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (isString(pattern)) {\n return requireExactStringMatch ? value === pattern : value.includes(pattern);\n }\n if (typeof pattern === \"function\") {\n return pattern(value);\n }\n return false;\n}\nfunction stringMatchesSomePattern(testString, patterns = [], requireExactStringMatch = false) {\n for (const pattern of patterns) {\n if (isMatchingPattern(testString, pattern, requireExactStringMatch)) {\n return true;\n }\n }\n return false;\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, stringify, truncate };\n//# sourceMappingURL=string.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { withRandomSafeContext, safeMathRandom } from './randomSafeContext.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction getCrypto() {\n const gbl = GLOBAL_OBJ;\n return gbl.crypto || gbl.msCrypto;\n}\nlet emptyUuid;\nfunction getRandomByte() {\n return safeMathRandom() * 16;\n}\nfunction uuid4(crypto = getCrypto()) {\n try {\n if (crypto?.randomUUID) {\n return withRandomSafeContext(() => crypto.randomUUID()).replace(/-/g, \"\");\n }\n } catch {\n }\n if (!emptyUuid) {\n emptyUuid = \"10000000100040008000\" + 1e11;\n }\n return emptyUuid.replace(\n /[018]/g,\n (c) => (\n // eslint-disable-next-line no-bitwise\n (c ^ (getRandomByte() & 15) >> c / 4).toString(16)\n )\n );\n}\nfunction getFirstException(event) {\n return event.exception?.values?.[0];\n}\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || \"\";\n }\n return eventId || \"\";\n}\nfunction addExceptionTypeValue(event, value, type) {\n const exception = event.exception = event.exception || {};\n const values = exception.values = exception.values || [];\n const firstException = values[0] = values[0] || {};\n if (!firstException.value) {\n firstException.value = value || \"\";\n }\n if (!firstException.type) {\n firstException.type = type || \"Error\";\n }\n}\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n const defaultMechanism = { type: \"generic\", handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n if (newMechanism && \"data\" in newMechanism) {\n const mergedData = { ...currentMechanism?.data, ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\nconst SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nfunction _parseInt(input) {\n return parseInt(input || \"\", 10);\n}\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = _parseInt(match[1]);\n const minor = _parseInt(match[2]);\n const patch = _parseInt(match[3]);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? void 0 : major,\n minor: isNaN(minor) ? void 0 : minor,\n patch: isNaN(patch) ? void 0 : patch,\n prerelease: match[4]\n };\n}\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n if (frame.lineno === void 0) {\n return;\n }\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n frame.pre_context = lines.slice(Math.max(0, sourceLine - linesOfContext), sourceLine).map((line) => snipLine(line, 0));\n const lineIndex = Math.min(maxLines - 1, sourceLine);\n frame.context_line = snipLine(lines[lineIndex], frame.colno || 0);\n frame.post_context = lines.slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext).map((line) => snipLine(line, 0));\n}\nfunction checkOrSetAlreadyCaught(exception) {\n if (isAlreadyCaptured(exception)) {\n return true;\n }\n try {\n addNonEnumerableProperty(exception, \"__sentry_captured__\", true);\n } catch {\n }\n return false;\n}\nfunction isAlreadyCaptured(exception) {\n try {\n return exception.__sentry_captured__;\n } catch {\n }\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, isAlreadyCaptured, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { safeDateNow, withRandomSafeContext } from './randomSafeContext.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst ONE_SECOND_IN_MS = 1e3;\nfunction dateTimestampInSeconds() {\n return safeDateNow() / ONE_SECOND_IN_MS;\n}\nfunction createUnixTimestampInSecondsFunc() {\n const { performance } = GLOBAL_OBJ;\n if (!performance?.now || !performance.timeOrigin) {\n return dateTimestampInSeconds;\n }\n const timeOrigin = performance.timeOrigin;\n return () => {\n return (timeOrigin + withRandomSafeContext(() => performance.now())) / ONE_SECOND_IN_MS;\n };\n}\nlet _cachedTimestampInSeconds;\nfunction timestampInSeconds() {\n const func = _cachedTimestampInSeconds ?? (_cachedTimestampInSeconds = createUnixTimestampInSecondsFunc());\n return func();\n}\nlet cachedTimeOrigin = null;\nfunction getBrowserTimeOrigin() {\n const { performance } = GLOBAL_OBJ;\n if (!performance?.now) {\n return void 0;\n }\n const threshold = 3e5;\n const performanceNow = withRandomSafeContext(() => performance.now());\n const dateNow = safeDateNow();\n const timeOrigin = performance.timeOrigin;\n if (typeof timeOrigin === \"number\") {\n const timeOriginDelta = Math.abs(timeOrigin + performanceNow - dateNow);\n if (timeOriginDelta < threshold) {\n return timeOrigin;\n }\n }\n const navigationStart = performance.timing?.navigationStart;\n if (typeof navigationStart === \"number\") {\n const navigationStartDelta = Math.abs(navigationStart + performanceNow - dateNow);\n if (navigationStartDelta < threshold) {\n return navigationStart;\n }\n }\n return dateNow - performanceNow;\n}\nfunction browserPerformanceTimeOrigin() {\n if (cachedTimeOrigin === null) {\n cachedTimeOrigin = getBrowserTimeOrigin();\n }\n return cachedTimeOrigin;\n}\n\nexport { browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds };\n//# sourceMappingURL=time.js.map\n","import { uuid4 } from './utils/misc.js';\nimport { timestampInSeconds } from './utils/time.js';\n\nfunction makeSession(context) {\n const startingTime = timestampInSeconds();\n const session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: \"ok\",\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session)\n };\n if (context) {\n updateSession(session, context);\n }\n return session;\n}\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n session.timestamp = context.timestamp || timestampInSeconds();\n if (context.abnormal_mechanism) {\n session.abnormal_mechanism = context.abnormal_mechanism;\n }\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== void 0) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === \"number\") {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = void 0;\n } else if (typeof context.duration === \"number\") {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === \"number\") {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === \"ok\") {\n context = { status: \"exited\" };\n }\n updateSession(session, context);\n}\nfunction sessionToJSON(session) {\n return {\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1e3).toISOString(),\n timestamp: new Date(session.timestamp * 1e3).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === \"number\" || typeof session.did === \"string\" ? `${session.did}` : void 0,\n duration: session.duration,\n abnormal_mechanism: session.abnormal_mechanism,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent\n }\n };\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","function merge(initialObj, mergeObj, levels = 2) {\n if (!mergeObj || typeof mergeObj !== \"object\" || levels <= 0) {\n return mergeObj;\n }\n if (initialObj && Object.keys(mergeObj).length === 0) {\n return initialObj;\n }\n const output = { ...initialObj };\n for (const key in mergeObj) {\n if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n output[key] = merge(output[key], mergeObj[key], levels - 1);\n }\n }\n return output;\n}\n\nexport { merge };\n//# sourceMappingURL=merge.js.map\n","import { uuid4 } from './misc.js';\n\nfunction generateTraceId() {\n return uuid4();\n}\nfunction generateSpanId() {\n return uuid4().substring(16);\n}\n\nexport { generateSpanId, generateTraceId };\n//# sourceMappingURL=propagationContext.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nfunction makeWeakRef(value) {\n try {\n const WeakRefImpl = GLOBAL_OBJ.WeakRef;\n if (typeof WeakRefImpl === \"function\") {\n return new WeakRefImpl(value);\n }\n } catch {\n }\n return value;\n}\nfunction derefWeakRef(ref) {\n if (!ref) {\n return void 0;\n }\n if (typeof ref === \"object\" && \"deref\" in ref && typeof ref.deref === \"function\") {\n try {\n return ref.deref();\n } catch {\n return void 0;\n }\n }\n return ref;\n}\n\nexport { derefWeakRef, makeWeakRef };\n//# sourceMappingURL=weakRef.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { makeWeakRef, derefWeakRef } from './weakRef.js';\n\nconst SCOPE_SPAN_FIELD = \"_sentrySpan\";\nfunction _setSpanForScope(scope, span) {\n if (span) {\n addNonEnumerableProperty(scope, SCOPE_SPAN_FIELD, makeWeakRef(span));\n } else {\n delete scope[SCOPE_SPAN_FIELD];\n }\n}\nfunction _getSpanForScope(scope) {\n return derefWeakRef(scope[SCOPE_SPAN_FIELD]);\n}\n\nexport { _getSpanForScope, _setSpanForScope };\n//# sourceMappingURL=spanOnScope.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { updateSession } from './session.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4 } from './utils/misc.js';\nimport { generateTraceId } from './utils/propagationContext.js';\nimport { safeMathRandom } from './utils/randomSafeContext.js';\nimport { _setSpanForScope, _getSpanForScope } from './utils/spanOnScope.js';\nimport { truncate } from './utils/string.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\nconst DEFAULT_MAX_BREADCRUMBS = 100;\nclass Scope {\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._attributes = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n this._propagationContext = {\n traceId: generateTraceId(),\n sampleRand: safeMathRandom()\n };\n }\n /**\n * Clone all data from this scope into a new scope.\n */\n clone() {\n const newScope = new Scope();\n newScope._breadcrumbs = [...this._breadcrumbs];\n newScope._tags = { ...this._tags };\n newScope._attributes = { ...this._attributes };\n newScope._extra = { ...this._extra };\n newScope._contexts = { ...this._contexts };\n if (this._contexts.flags) {\n newScope._contexts.flags = {\n values: [...this._contexts.flags.values]\n };\n }\n newScope._user = this._user;\n newScope._level = this._level;\n newScope._session = this._session;\n newScope._transactionName = this._transactionName;\n newScope._fingerprint = this._fingerprint;\n newScope._eventProcessors = [...this._eventProcessors];\n newScope._attachments = [...this._attachments];\n newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n newScope._propagationContext = { ...this._propagationContext };\n newScope._client = this._client;\n newScope._lastEventId = this._lastEventId;\n newScope._conversationId = this._conversationId;\n _setSpanForScope(newScope, _getSpanForScope(this));\n return newScope;\n }\n /**\n * Update the client assigned to this scope.\n * Note that not every scope will have a client assigned - isolation scopes & the global scope will generally not have a client,\n * as well as manually created scopes.\n */\n setClient(client) {\n this._client = client;\n }\n /**\n * Set the ID of the last captured error event.\n * This is generally only captured on the isolation scope.\n */\n setLastEventId(lastEventId) {\n this._lastEventId = lastEventId;\n }\n /**\n * Get the client assigned to this scope.\n */\n getClient() {\n return this._client;\n }\n /**\n * Get the ID of the last captured error event.\n * This is generally only available on the isolation scope.\n */\n lastEventId() {\n return this._lastEventId;\n }\n /**\n * @inheritDoc\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n /**\n * Add an event processor that will be called before an event is sent.\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n /**\n * Set the user for this scope.\n * Set to `null` to unset the user.\n */\n setUser(user) {\n this._user = user || {\n email: void 0,\n id: void 0,\n ip_address: void 0,\n username: void 0\n };\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Get the user from this scope.\n */\n getUser() {\n return this._user;\n }\n /**\n * Set the conversation ID for this scope.\n * Set to `null` to unset the conversation ID.\n */\n setConversationId(conversationId) {\n this._conversationId = conversationId || void 0;\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Set an object that will be merged into existing tags on the scope,\n * and will be sent as tags data with the event.\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags\n };\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Set a single tag that will be sent as tags data with the event.\n */\n setTag(key, value) {\n return this.setTags({ [key]: value });\n }\n /**\n * Sets attributes onto the scope.\n *\n * These attributes are applied to logs, metrics and streamed spans.\n *\n * Supported attribute value types are `string`, `number`, `boolean`, `string[]`, `number[]` and `boolean[]`.\n *\n * @param newAttributes - The attributes to set on the scope, as key-value pairs.\n *\n * @example\n * ```typescript\n * scope.setAttributes({\n * is_admin: true,\n * payment_selection: 'credit_card',\n * render_duration: 150,\n * });\n * ```\n */\n setAttributes(newAttributes) {\n this._attributes = {\n ...this._attributes,\n ...newAttributes\n };\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Sets an attribute onto the scope.\n *\n * These attributes are applied to logs, metrics and streamed spans.\n *\n * Supported attribute value types are `string`, `number`, `boolean`, `string[]`, `number[]` and `boolean[]`.\n *\n * @param key - The attribute key.\n * @param value - The attribute value.\n *\n * @example\n * ```typescript\n * scope.setAttribute('is_admin', true);\n * scope.setAttribute('render_duration', 150);\n * ```\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setAttribute(key, value) {\n return this.setAttributes({ [key]: value });\n }\n /**\n * Removes the attribute with the given key from the scope.\n *\n * @param key - The attribute key.\n *\n * @example\n * ```typescript\n * scope.removeAttribute('is_admin');\n * ```\n */\n removeAttribute(key) {\n if (key in this._attributes) {\n delete this._attributes[key];\n this._notifyScopeListeners();\n }\n return this;\n }\n /**\n * Set an object that will be merged into existing extra on the scope,\n * and will be sent as extra data with the event.\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras\n };\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Set a single key:value extra entry that will be sent as extra data with the event.\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Sets the fingerprint on the scope to send with the events.\n * @param {string[]} fingerprint Fingerprint to group events in Sentry.\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Sets the level on the scope for future events.\n */\n setLevel(level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Sets the transaction name on the scope so that the name of e.g. taken server route or\n * the page location is attached to future events.\n *\n * IMPORTANT: Calling this function does NOT change the name of the currently active\n * root span. If you want to change the name of the active root span, use\n * `Sentry.updateSpanName(rootSpan, 'new name')` instead.\n *\n * By default, the SDK updates the scope's transaction name automatically on sensible\n * occasions, such as a page navigation or when handling a new request on the server.\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Sets context data with the given name.\n * Data passed as context will be normalized. You can also pass `null` to unset the context.\n * Note that context data will not be merged - calling `setContext` will overwrite an existing context with the same key.\n */\n setContext(key, context) {\n if (context === null) {\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Set the session for the scope.\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Get the session from the scope.\n */\n getSession() {\n return this._session;\n }\n /**\n * Updates the scope with provided data. Can work in three variations:\n * - plain object containing updatable attributes\n * - Scope instance that'll extract the attributes from\n * - callback function that'll receive the current scope as an argument and allow for modifications\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n const scopeToMerge = typeof captureContext === \"function\" ? captureContext(this) : captureContext;\n const scopeInstance = scopeToMerge instanceof Scope ? scopeToMerge.getScopeData() : isPlainObject(scopeToMerge) ? captureContext : void 0;\n const {\n tags,\n attributes,\n extra,\n user,\n contexts,\n level,\n fingerprint = [],\n propagationContext,\n conversationId\n } = scopeInstance || {};\n this._tags = { ...this._tags, ...tags };\n this._attributes = { ...this._attributes, ...attributes };\n this._extra = { ...this._extra, ...extra };\n this._contexts = { ...this._contexts, ...contexts };\n if (user && Object.keys(user).length) {\n this._user = user;\n }\n if (level) {\n this._level = level;\n }\n if (fingerprint.length) {\n this._fingerprint = fingerprint;\n }\n if (propagationContext) {\n this._propagationContext = propagationContext;\n }\n if (conversationId) {\n this._conversationId = conversationId;\n }\n return this;\n }\n /**\n * Clears the current scope and resets its properties.\n * Note: The client will not be cleared.\n *\n * @deprecated This method will be removed in v11. To reset scope state, re-initialize the SDK or run\n * your code in a fresh scope via `withScope` instead.\n */\n clear() {\n this._breadcrumbs = [];\n this._tags = {};\n this._attributes = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = void 0;\n this._transactionName = void 0;\n this._fingerprint = void 0;\n this._session = void 0;\n this._conversationId = void 0;\n _setSpanForScope(this, void 0);\n this._attachments = [];\n this.setPropagationContext({\n traceId: generateTraceId(),\n sampleRand: safeMathRandom()\n });\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Adds a breadcrumb to the scope.\n * By default, the last 100 breadcrumbs are kept.\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n const maxCrumbs = typeof maxBreadcrumbs === \"number\" ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n if (maxCrumbs <= 0) {\n return this;\n }\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n // Breadcrumb messages can theoretically be infinitely large and they're held in memory so we truncate them not to leak (too much) memory\n message: breadcrumb.message ? truncate(breadcrumb.message, 2048) : breadcrumb.message\n };\n this._breadcrumbs.push(mergedBreadcrumb);\n if (this._breadcrumbs.length > maxCrumbs) {\n this._breadcrumbs = this._breadcrumbs.slice(-maxCrumbs);\n this._client?.recordDroppedEvent(\"buffer_overflow\", \"log_item\");\n }\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Get the last breadcrumb of the scope.\n */\n getLastBreadcrumb() {\n return this._breadcrumbs[this._breadcrumbs.length - 1];\n }\n /**\n * Clear all breadcrumbs from the scope.\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n /**\n * Add an attachment to the scope.\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n /**\n * Clear all attachments from the scope.\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n /**\n * Get the data of this scope, which should be applied to an event during processing.\n */\n getScopeData() {\n return {\n breadcrumbs: this._breadcrumbs,\n attachments: this._attachments,\n contexts: this._contexts,\n tags: this._tags,\n attributes: this._attributes,\n extra: this._extra,\n user: this._user,\n level: this._level,\n fingerprint: this._fingerprint || [],\n eventProcessors: this._eventProcessors,\n propagationContext: this._propagationContext,\n sdkProcessingMetadata: this._sdkProcessingMetadata,\n transactionName: this._transactionName,\n span: _getSpanForScope(this),\n conversationId: this._conversationId\n };\n }\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry.\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n return this;\n }\n /**\n * Add propagation context to the scope, used for distributed tracing\n */\n setPropagationContext(context) {\n this._propagationContext = context;\n return this;\n }\n /**\n * Get propagation context from the scope, used for distributed tracing\n */\n getPropagationContext() {\n return this._propagationContext;\n }\n /**\n * Capture an exception for this scope.\n *\n * @returns {string} The id of the captured Sentry event.\n */\n captureException(exception, hint) {\n const eventId = hint?.event_id || uuid4();\n if (!this._client) {\n DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture exception!\");\n return eventId;\n }\n const syntheticException = new Error(\"Sentry syntheticException\");\n this._client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n event_id: eventId\n },\n this\n );\n return eventId;\n }\n /**\n * Capture a message for this scope.\n *\n * @returns {string} The id of the captured message.\n */\n captureMessage(message, level, hint) {\n const eventId = hint?.event_id || uuid4();\n if (!this._client) {\n DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture message!\");\n return eventId;\n }\n const syntheticException = hint?.syntheticException ?? new Error(message);\n this._client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n event_id: eventId\n },\n this\n );\n return eventId;\n }\n /**\n * Capture a Sentry event for this scope.\n *\n * @returns {string} The id of the captured event.\n */\n captureEvent(event, hint) {\n const eventId = event.event_id || hint?.event_id || uuid4();\n if (!this._client) {\n DEBUG_BUILD && debug.warn(\"No client configured on scope - will not capture event!\");\n return eventId;\n }\n this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n return eventId;\n }\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach((callback) => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n}\n\nexport { Scope };\n//# sourceMappingURL=scope.js.map\n","import { getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\n\nfunction getDefaultCurrentScope() {\n return getGlobalSingleton(\"defaultCurrentScope\", () => new Scope());\n}\nfunction getDefaultIsolationScope() {\n return getGlobalSingleton(\"defaultIsolationScope\", () => new Scope());\n}\n\nexport { getDefaultCurrentScope, getDefaultIsolationScope };\n//# sourceMappingURL=defaultScopes.js.map\n","const isActualPromise = (p) => p instanceof Promise && !p[kChainedCopy];\nconst kChainedCopy = /* @__PURE__ */ Symbol(\"chained PromiseLike\");\nconst chainAndCopyPromiseLike = (original, onSuccess, onError) => {\n const chained = original.then(\n (value) => {\n onSuccess(value);\n return value;\n },\n (err) => {\n onError(err);\n throw err;\n }\n );\n return isActualPromise(chained) && isActualPromise(original) ? chained : copyProps(original, chained);\n};\nconst copyProps = (original, chained) => {\n if (!chained) return original;\n let mutated = false;\n for (const key in original) {\n if (key in chained) continue;\n mutated = true;\n const value = original[key];\n if (typeof value === \"function\") {\n Object.defineProperty(chained, key, {\n value: (...args) => value.apply(original, args),\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n chained[key] = value;\n }\n }\n if (mutated) Object.assign(chained, { [kChainedCopy]: true });\n return chained;\n};\n\nexport { chainAndCopyPromiseLike };\n//# sourceMappingURL=chain-and-copy-promiselike.js.map\n","import { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';\nimport { Scope } from '../scope.js';\nimport { chainAndCopyPromiseLike } from '../utils/chain-and-copy-promiselike.js';\nimport { isThenable } from '../utils/is.js';\nimport { getMainCarrier, getSentryCarrier } from '../carrier.js';\n\nclass AsyncContextStack {\n constructor(scope, isolationScope) {\n let assignedScope;\n if (!scope) {\n assignedScope = new Scope();\n } else {\n assignedScope = scope;\n }\n let assignedIsolationScope;\n if (!isolationScope) {\n assignedIsolationScope = new Scope();\n } else {\n assignedIsolationScope = isolationScope;\n }\n this._stack = [{ scope: assignedScope }];\n this._isolationScope = assignedIsolationScope;\n }\n /**\n * Fork a scope for the stack.\n */\n withScope(callback) {\n const scope = this._pushScope();\n let maybePromiseResult;\n try {\n maybePromiseResult = callback(scope);\n } catch (e) {\n this._popScope();\n throw e;\n }\n if (isThenable(maybePromiseResult)) {\n return chainAndCopyPromiseLike(\n maybePromiseResult,\n () => this._popScope(),\n () => this._popScope()\n );\n }\n this._popScope();\n return maybePromiseResult;\n }\n /**\n * Get the client of the stack.\n */\n getClient() {\n return this.getStackTop().client;\n }\n /**\n * Returns the scope of the top stack.\n */\n getScope() {\n return this.getStackTop().scope;\n }\n /**\n * Get the isolation scope for the stack.\n */\n getIsolationScope() {\n return this._isolationScope;\n }\n /**\n * Returns the topmost scope layer in the order domain > local > process.\n */\n getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n /**\n * Push a scope to the stack.\n */\n _pushScope() {\n const scope = this.getScope().clone();\n this._stack.push({\n client: this.getClient(),\n scope\n });\n return scope;\n }\n /**\n * Pop a scope from the stack.\n */\n _popScope() {\n if (this._stack.length <= 1) return false;\n return !!this._stack.pop();\n }\n}\nfunction getAsyncContextStack() {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n return sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope());\n}\nfunction withScope(callback) {\n return getAsyncContextStack().withScope(callback);\n}\nfunction withSetScope(scope, callback) {\n const stack = getAsyncContextStack();\n return stack.withScope(() => {\n stack.getStackTop().scope = scope;\n return callback(scope);\n });\n}\nfunction withIsolationScope(callback) {\n return getAsyncContextStack().withScope(() => {\n return callback(getAsyncContextStack().getIsolationScope());\n });\n}\nfunction getStackAsyncContextStrategy() {\n return {\n withIsolationScope,\n withScope,\n withSetScope,\n withSetIsolationScope: (_isolationScope, callback) => {\n return withIsolationScope(callback);\n },\n getCurrentScope: () => getAsyncContextStack().getScope(),\n getIsolationScope: () => getAsyncContextStack().getIsolationScope()\n };\n}\n\nexport { AsyncContextStack, getStackAsyncContextStrategy };\n//# sourceMappingURL=stackStrategy.js.map\n","import { getSentryCarrier, getMainCarrier } from '../carrier.js';\nimport { getStackAsyncContextStrategy } from './stackStrategy.js';\n\nfunction setAsyncContextStrategy(strategy) {\n const registry = getMainCarrier();\n const sentry = getSentryCarrier(registry);\n sentry.acs = strategy;\n}\nfunction getAsyncContextStrategy(carrier) {\n const sentry = getSentryCarrier(carrier);\n if (sentry.acs) {\n return sentry.acs;\n }\n return getStackAsyncContextStrategy();\n}\n\nexport { getAsyncContextStrategy, setAsyncContextStrategy };\n//# sourceMappingURL=index.js.map\n","import { isPrimitive } from './utils/is.js';\n\nfunction isAttributeObject(maybeObj) {\n return typeof maybeObj === \"object\" && maybeObj != null && !Array.isArray(maybeObj) && Object.keys(maybeObj).includes(\"value\");\n}\nfunction attributeValueToTypedAttributeValue(rawValue, useFallback) {\n const { value, unit } = isAttributeObject(rawValue) ? rawValue : { value: rawValue, unit: void 0 };\n const attributeValue = getTypedAttributeValue(value);\n const checkedUnit = unit && typeof unit === \"string\" ? { unit } : {};\n if (attributeValue) {\n return { ...attributeValue, ...checkedUnit };\n }\n if (!useFallback || useFallback === \"skip-undefined\" && value === void 0) {\n return;\n }\n let stringValue = \"\";\n try {\n stringValue = JSON.stringify(value) ?? \"\";\n } catch {\n }\n return {\n value: stringValue,\n type: \"string\",\n ...checkedUnit\n };\n}\nfunction serializeAttributes(attributes, fallback = false) {\n const serializedAttributes = {};\n for (const [key, value] of Object.entries(attributes ?? {})) {\n const typedValue = attributeValueToTypedAttributeValue(value, fallback);\n if (typedValue) {\n serializedAttributes[key] = typedValue;\n }\n }\n return serializedAttributes;\n}\nfunction estimateTypedAttributesSizeInBytes(attributes) {\n if (!attributes) {\n return 0;\n }\n let weight = 0;\n for (const [key, attr] of Object.entries(attributes)) {\n weight += key.length * 2;\n weight += attr.type.length * 2;\n weight += (attr.unit?.length ?? 0) * 2;\n const val = attr.value;\n if (Array.isArray(val)) {\n weight += estimatePrimitiveSizeInBytes(val[0]) * val.length;\n } else if (isPrimitive(val)) {\n weight += estimatePrimitiveSizeInBytes(val);\n } else {\n weight += 100;\n }\n }\n return weight;\n}\nfunction estimatePrimitiveSizeInBytes(value) {\n if (typeof value === \"string\") {\n return value.length * 2;\n } else if (typeof value === \"boolean\") {\n return 4;\n } else if (typeof value === \"number\") {\n return 8;\n }\n return 0;\n}\nfunction getTypedAttributeValue(value) {\n if (Array.isArray(value)) {\n return { value, type: \"array\" };\n }\n const primitiveType = typeof value === \"string\" ? \"string\" : typeof value === \"boolean\" ? \"boolean\" : typeof value === \"number\" && !Number.isNaN(value) ? Number.isInteger(value) ? \"integer\" : \"double\" : null;\n if (primitiveType) {\n return { value, type: primitiveType };\n }\n}\n\nexport { attributeValueToTypedAttributeValue, estimateTypedAttributesSizeInBytes, isAttributeObject, serializeAttributes };\n//# sourceMappingURL=attributes.js.map\n","import { getAsyncContextStrategy } from './asyncContext/index.js';\nimport { getMainCarrier, getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\nimport { generateSpanId } from './utils/propagationContext.js';\n\nlet _externalPropagationContextProvider;\nfunction registerExternalPropagationContext(fn) {\n _externalPropagationContextProvider = fn;\n}\nfunction getExternalPropagationContext() {\n return _externalPropagationContextProvider?.();\n}\nfunction hasExternalPropagationContext() {\n return _externalPropagationContextProvider !== void 0;\n}\nfunction getCurrentScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getCurrentScope();\n}\nfunction getIsolationScope() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n return acs.getIsolationScope();\n}\nfunction getGlobalScope() {\n return getGlobalSingleton(\"globalScope\", () => new Scope());\n}\nfunction withScope(...rest) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (rest.length === 2) {\n const [scope, callback] = rest;\n if (!scope) {\n return acs.withScope(callback);\n }\n return acs.withSetScope(scope, callback);\n }\n return acs.withScope(rest[0]);\n}\nfunction withIsolationScope(...rest) {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (rest.length === 2) {\n const [isolationScope, callback] = rest;\n if (!isolationScope) {\n return acs.withIsolationScope(callback);\n }\n return acs.withSetIsolationScope(isolationScope, callback);\n }\n return acs.withIsolationScope(rest[0]);\n}\nfunction getClient() {\n return getCurrentScope().getClient();\n}\nfunction getTraceContextFromScope(scope) {\n const externalContext = getExternalPropagationContext();\n if (externalContext) {\n return { trace_id: externalContext.traceId, span_id: externalContext.spanId };\n }\n const propagationContext = scope.getPropagationContext();\n const { traceId, parentSpanId, propagationSpanId } = propagationContext;\n const traceContext = {\n trace_id: traceId,\n span_id: propagationSpanId || generateSpanId()\n };\n if (parentSpanId) {\n traceContext.parent_span_id = parentSpanId;\n }\n return traceContext;\n}\n\nexport { getClient, getCurrentScope, getExternalPropagationContext, getGlobalScope, getIsolationScope, getTraceContextFromScope, hasExternalPropagationContext, registerExternalPropagationContext, withIsolationScope, withScope };\n//# sourceMappingURL=currentScopes.js.map\n","const SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = \"sentry.source\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = \"sentry.sample_rate\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE = \"sentry.previous_trace_sample_rate\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_OP = \"sentry.op\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = \"sentry.origin\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE = \"sentry.status.message\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = \"sentry.idle_span_finish_reason\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = \"sentry.measurement_unit\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = \"sentry.measurement_value\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_RELEASE = \"sentry.release\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT = \"sentry.environment\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME = \"sentry.segment.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID = \"sentry.segment.id\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME = \"sentry.sdk.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION = \"sentry.sdk.version\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS = \"sentry.sdk.integrations\";\nconst SEMANTIC_ATTRIBUTE_USER_ID = \"user.id\";\nconst SEMANTIC_ATTRIBUTE_USER_EMAIL = \"user.email\";\nconst SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS = \"user.ip_address\";\nconst SEMANTIC_ATTRIBUTE_USER_USERNAME = \"user.name\";\nconst SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = \"sentry.custom_span_name\";\nconst SEMANTIC_ATTRIBUTE_PROFILE_ID = \"sentry.profile_id\";\nconst SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = \"sentry.exclusive_time\";\nconst SEMANTIC_ATTRIBUTE_CACHE_HIT = \"cache.hit\";\nconst SEMANTIC_ATTRIBUTE_CACHE_KEY = \"cache.key\";\nconst SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = \"cache.item_size\";\nconst SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = \"http.request.method\";\nconst SEMANTIC_ATTRIBUTE_URL_FULL = \"url.full\";\nconst SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE = \"sentry.link.type\";\nconst GEN_AI_CONVERSATION_ID_ATTRIBUTE = \"gen_ai.conversation.id\";\n\nexport { GEN_AI_CONVERSATION_ID_ATTRIBUTE, SEMANTIC_ATTRIBUTE_CACHE_HIT, SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE, SEMANTIC_ATTRIBUTE_CACHE_KEY, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS, SEMANTIC_ATTRIBUTE_SENTRY_SDK_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SDK_VERSION, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_ID, SEMANTIC_ATTRIBUTE_SENTRY_SEGMENT_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE, SEMANTIC_ATTRIBUTE_URL_FULL, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE };\n//# sourceMappingURL=semanticAttributes.js.map\n","import { addNonEnumerableProperty } from '../utils/object.js';\nimport { derefWeakRef, makeWeakRef } from '../utils/weakRef.js';\n\nconst SCOPE_ON_START_SPAN_FIELD = \"_sentryScope\";\nconst ISOLATION_SCOPE_ON_START_SPAN_FIELD = \"_sentryIsolationScope\";\nconst OTEL_SOURCE_INFERENCE_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.otelSourceInference\");\nconst OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.otelSourceExplicitlySet\");\nconst TRACER_PROVIDER_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.tracerProviderSpan\");\nfunction setCapturedScopesOnSpan(span, scope, isolationScope) {\n if (span) {\n addNonEnumerableProperty(span, ISOLATION_SCOPE_ON_START_SPAN_FIELD, makeWeakRef(isolationScope));\n addNonEnumerableProperty(span, SCOPE_ON_START_SPAN_FIELD, scope);\n }\n}\nfunction getCapturedScopesOnSpan(span) {\n const spanWithScopes = span;\n return {\n scope: spanWithScopes[SCOPE_ON_START_SPAN_FIELD],\n isolationScope: derefWeakRef(spanWithScopes[ISOLATION_SCOPE_ON_START_SPAN_FIELD])\n };\n}\nfunction markSpanForOtelSourceInference(span) {\n addNonEnumerableProperty(span, OTEL_SOURCE_INFERENCE_SPAN_FIELD, true);\n}\nfunction spanShouldInferOtelSource(span) {\n return span[OTEL_SOURCE_INFERENCE_SPAN_FIELD] === true;\n}\nfunction markSpanSourceAsExplicit(span) {\n addNonEnumerableProperty(span, OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD, true);\n}\nfunction spanSourceWasExplicitlySet(span) {\n return span[OTEL_SOURCE_EXPLICITLY_SET_SPAN_FIELD] === true;\n}\nfunction markSpanAsTracerProviderSpan(span) {\n addNonEnumerableProperty(span, TRACER_PROVIDER_SPAN_FIELD, true);\n}\nfunction spanIsTracerProviderSpan(span) {\n return span[TRACER_PROVIDER_SPAN_FIELD] === true;\n}\n\nexport { getCapturedScopesOnSpan, markSpanAsTracerProviderSpan, markSpanForOtelSourceInference, markSpanSourceAsExplicit, setCapturedScopesOnSpan, spanIsTracerProviderSpan, spanShouldInferOtelSource, spanSourceWasExplicitlySet };\n//# sourceMappingURL=utils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isString } from './is.js';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX = \"sentry-\";\nconst SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\nconst MAX_BAGGAGE_STRING_LENGTH = 8192;\nfunction baggageHeaderToDynamicSamplingContext(baggageHeader) {\n const baggageObject = parseBaggageHeader(baggageHeader);\n if (!baggageObject) {\n return void 0;\n }\n const dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n if (key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n acc[nonPrefixedKey] = value;\n }\n return acc;\n }, {});\n if (Object.keys(dynamicSamplingContext).length > 0) {\n return dynamicSamplingContext;\n } else {\n return void 0;\n }\n}\nfunction dynamicSamplingContextToSentryBaggageHeader(dynamicSamplingContext) {\n if (!dynamicSamplingContext) {\n return void 0;\n }\n const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n (acc, [dscKey, dscValue]) => {\n if (dscValue) {\n acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n }\n return acc;\n },\n {}\n );\n return objectToBaggageHeader(sentryPrefixedDSC);\n}\nfunction parseBaggageHeader(baggageHeader) {\n if (!baggageHeader || !isString(baggageHeader) && !Array.isArray(baggageHeader)) {\n return void 0;\n }\n if (Array.isArray(baggageHeader)) {\n return baggageHeader.reduce((acc, curr) => {\n const currBaggageObject = baggageHeaderToObject(curr);\n Object.entries(currBaggageObject).forEach(([key, value]) => {\n acc[key] = value;\n });\n return acc;\n }, {});\n }\n return baggageHeaderToObject(baggageHeader);\n}\nfunction baggageHeaderToObject(baggageHeader) {\n return baggageHeader.split(\",\").map((baggageEntry) => {\n const eqIdx = baggageEntry.indexOf(\"=\");\n if (eqIdx === -1) {\n return [];\n }\n const key = baggageEntry.slice(0, eqIdx);\n const value = baggageEntry.slice(eqIdx + 1);\n return [key, value].map((keyOrValue) => {\n try {\n return decodeURIComponent(keyOrValue.trim());\n } catch {\n return;\n }\n });\n }).reduce((acc, [key, value]) => {\n if (key && value) {\n acc[key] = value;\n }\n return acc;\n }, {});\n}\nfunction objectToBaggageHeader(object) {\n if (Object.keys(object).length === 0) {\n return void 0;\n }\n return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n DEBUG_BUILD && debug.warn(\n `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`\n );\n return baggageHeader;\n } else {\n return newBaggageHeader;\n }\n }, \"\");\n}\nfunction mergeBaggageHeaders(existing, incoming) {\n if (!existing) {\n return incoming;\n }\n const existingEntries = parseBaggageHeader(existing);\n const incomingEntries = parseBaggageHeader(incoming);\n if (!incomingEntries) {\n return existing;\n }\n const merged = {};\n let hasNewSentryEntries = false;\n const newSentryEntries = {};\n const newNonSentryEntries = {};\n for (const [key, value] of Object.entries(incomingEntries)) {\n if (key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n newSentryEntries[key] = value;\n hasNewSentryEntries = true;\n } else {\n newNonSentryEntries[key] = value;\n }\n }\n if (existingEntries) {\n for (const [key, value] of Object.entries(existingEntries)) {\n if (!hasNewSentryEntries || !key.startsWith(SENTRY_BAGGAGE_KEY_PREFIX)) {\n merged[key] = value;\n }\n }\n }\n if (hasNewSentryEntries) {\n Object.assign(merged, newSentryEntries);\n }\n for (const [key, value] of Object.entries(newNonSentryEntries)) {\n merged[key] ?? (merged[key] = value);\n }\n return objectToBaggageHeader(merged);\n}\n\nexport { MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, mergeBaggageHeaders, objectToBaggageHeader, parseBaggageHeader };\n//# sourceMappingURL=baggage.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { consoleSandbox, debug } from './debug-logger.js';\n\nconst ORG_ID_REGEX = /^o(\\d+)\\./;\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)((?:\\[[:.%\\w]+\\]|[\\w.-]+))(?::(\\d+))?\\/(.+)/;\nfunction isValidProtocol(protocol) {\n return protocol === \"http\" || protocol === \"https\";\n}\nfunction dsnToString(dsn, withPassword = false) {\n const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n return `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : \"\"}@${host}${port ? `:${port}` : \"\"}/${path ? `${path}/` : path}${projectId}`;\n}\nfunction dsnFromString(str) {\n const match = DSN_REGEX.exec(str);\n if (!match) {\n consoleSandbox(() => {\n console.error(`Invalid Sentry Dsn: ${str}`);\n });\n return void 0;\n }\n const [protocol, publicKey, pass = \"\", host = \"\", port = \"\", lastPath = \"\"] = match.slice(1);\n let path = \"\";\n let projectId = lastPath;\n const split = projectId.split(\"/\");\n if (split.length > 1) {\n path = split.slice(0, -1).join(\"/\");\n projectId = split.pop();\n }\n if (projectId) {\n const projectMatch = projectId.match(/^\\d+/);\n if (projectMatch) {\n projectId = projectMatch[0];\n }\n }\n return dsnFromComponents({ host, pass, path, projectId, port, protocol, publicKey });\n}\nfunction dsnFromComponents(components) {\n return {\n protocol: components.protocol,\n publicKey: components.publicKey || \"\",\n pass: components.pass || \"\",\n host: components.host,\n port: components.port || \"\",\n path: components.path || \"\",\n projectId: components.projectId\n };\n}\nfunction validateDsn(dsn) {\n if (!DEBUG_BUILD) {\n return true;\n }\n const { port, projectId, protocol } = dsn;\n const requiredComponents = [\"protocol\", \"publicKey\", \"host\", \"projectId\"];\n const hasMissingRequiredComponent = requiredComponents.find((component) => {\n if (!dsn[component]) {\n debug.error(`Invalid Sentry Dsn: ${component} missing`);\n return true;\n }\n return false;\n });\n if (hasMissingRequiredComponent) {\n return false;\n }\n if (!projectId.match(/^\\d+$/)) {\n debug.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n return false;\n }\n if (!isValidProtocol(protocol)) {\n debug.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n return false;\n }\n if (port && isNaN(parseInt(port, 10))) {\n debug.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n return false;\n }\n return true;\n}\nfunction extractOrgIdFromDsnHost(host) {\n const match = host.match(ORG_ID_REGEX);\n return match?.[1];\n}\nfunction extractOrgIdFromClient(client) {\n const options = client.getOptions();\n const { host } = client.getDsn() || {};\n let org_id;\n if (options.orgId) {\n org_id = String(options.orgId);\n } else if (host) {\n org_id = extractOrgIdFromDsnHost(host);\n }\n return org_id;\n}\nfunction makeDsn(from) {\n const components = typeof from === \"string\" ? dsnFromString(from) : dsnFromComponents(from);\n if (!components || !validateDsn(components)) {\n return void 0;\n }\n return components;\n}\n\nexport { dsnFromString, dsnToString, extractOrgIdFromClient, extractOrgIdFromDsnHost, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","function parseSampleRate(sampleRate) {\n if (typeof sampleRate === \"boolean\") {\n return Number(sampleRate);\n }\n const rate = typeof sampleRate === \"string\" ? parseFloat(sampleRate) : sampleRate;\n if (typeof rate !== \"number\" || isNaN(rate) || rate < 0 || rate > 1) {\n return void 0;\n }\n return rate;\n}\n\nexport { parseSampleRate };\n//# sourceMappingURL=parseSampleRate.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { serializeAttributes } from '../attributes.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getCurrentScope } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE } from '../semanticAttributes.js';\nimport { SPAN_STATUS_UNSET, SPAN_STATUS_OK } from '../tracing/spanstatus.js';\nimport { getCapturedScopesOnSpan } from '../tracing/utils.js';\nimport { addNonEnumerableProperty } from './object.js';\nimport { generateSpanId } from './propagationContext.js';\nimport { timestampInSeconds } from './time.js';\nimport { generateSentryTraceHeader, generateTraceparentHeader } from './tracing.js';\nimport { consoleSandbox } from './debug-logger.js';\nimport { _getSpanForScope } from './spanOnScope.js';\n\nconst TRACE_FLAG_NONE = 0;\nconst TRACE_FLAG_SAMPLED = 1;\nlet hasShownSpanDropWarning = false;\nfunction spanToTransactionTraceContext(span) {\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n const { data, op, parent_span_id, status, origin, links } = spanToJSON(span);\n return {\n parent_span_id,\n span_id,\n trace_id,\n data,\n op,\n status,\n origin,\n links\n };\n}\nfunction spanToTraceContext(span) {\n const { spanId, traceId: trace_id, isRemote } = span.spanContext();\n const parent_span_id = isRemote ? spanId : spanToJSON(span).parent_span_id;\n const scope = getCapturedScopesOnSpan(span).scope;\n const span_id = isRemote ? scope?.getPropagationContext().propagationSpanId || generateSpanId() : spanId;\n return {\n parent_span_id,\n span_id,\n trace_id\n };\n}\nfunction spanToTraceHeader(span) {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateSentryTraceHeader(traceId, spanId, sampled);\n}\nfunction spanToTraceparentHeader(span) {\n const { traceId, spanId } = span.spanContext();\n const sampled = spanIsSampled(span);\n return generateTraceparentHeader(traceId, spanId, sampled);\n}\nfunction convertSpanLinksForEnvelope(links) {\n if (links && links.length > 0) {\n return links.map(({ context: { spanId, traceId, traceFlags, ...restContext }, attributes }) => ({\n span_id: spanId,\n trace_id: traceId,\n sampled: traceFlags === TRACE_FLAG_SAMPLED,\n attributes,\n ...restContext\n }));\n } else {\n return void 0;\n }\n}\nfunction getStreamedSpanLinks(links) {\n if (links?.length) {\n return links.map(({ context: { spanId, traceId, traceFlags }, attributes }) => ({\n span_id: spanId,\n trace_id: traceId,\n sampled: traceFlags === TRACE_FLAG_SAMPLED,\n attributes\n }));\n } else {\n return void 0;\n }\n}\nfunction spanTimeInputToSeconds(input) {\n if (typeof input === \"number\") {\n return ensureTimestampInSeconds(input);\n }\n if (Array.isArray(input)) {\n return input[0] + input[1] / 1e9;\n }\n if (input instanceof Date) {\n return ensureTimestampInSeconds(input.getTime());\n }\n return timestampInSeconds();\n}\nfunction ensureTimestampInSeconds(timestamp) {\n const isMs = timestamp > 9999999999;\n return isMs ? timestamp / 1e3 : timestamp;\n}\nfunction spanToJSON(span) {\n if (spanIsSentrySpan(span)) {\n return span.getSpanJSON();\n }\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, status, links } = span;\n return {\n span_id,\n trace_id,\n data: attributes,\n description: name,\n parent_span_id: getOtelParentSpanId(span),\n start_timestamp: spanTimeInputToSeconds(startTime),\n // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n timestamp: spanTimeInputToSeconds(endTime) || void 0,\n status: getStatusMessage(status),\n op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN],\n links: convertSpanLinksForEnvelope(links)\n };\n }\n return {\n span_id,\n trace_id,\n start_timestamp: 0,\n data: {}\n };\n}\nfunction spanToStreamedSpanJSON(span) {\n if (spanIsSentrySpan(span)) {\n return span.getStreamedSpanJSON();\n }\n const { spanId: span_id, traceId: trace_id } = span.spanContext();\n if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n const { attributes, startTime, name, endTime, status, links } = span;\n return {\n name,\n span_id,\n trace_id,\n parent_span_id: getOtelParentSpanId(span),\n start_timestamp: spanTimeInputToSeconds(startTime),\n end_timestamp: spanTimeInputToSeconds(endTime),\n is_segment: span === INTERNAL_getSegmentSpan(span),\n status: getSimpleStatus(status),\n attributes: addStatusMessageAttribute(attributes, status),\n links: getStreamedSpanLinks(links)\n };\n }\n return {\n span_id,\n trace_id,\n start_timestamp: 0,\n name: \"\",\n end_timestamp: 0,\n status: \"ok\",\n is_segment: span === INTERNAL_getSegmentSpan(span)\n };\n}\nfunction getOtelParentSpanId(span) {\n return \"parentSpanId\" in span ? span.parentSpanId : \"parentSpanContext\" in span ? span.parentSpanContext?.spanId : void 0;\n}\nfunction streamedSpanJsonToSerializedSpan(spanJson) {\n return {\n ...spanJson,\n attributes: serializeAttributes(spanJson.attributes),\n links: spanJson.links?.map((link) => ({\n ...link,\n attributes: serializeAttributes(link.attributes)\n }))\n };\n}\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span) {\n const castSpan = span;\n return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\nfunction spanIsSentrySpan(span) {\n return typeof span.getSpanJSON === \"function\";\n}\nfunction spanIsSampled(span) {\n const { traceFlags } = span.spanContext();\n return traceFlags === TRACE_FLAG_SAMPLED;\n}\nfunction getStatusMessage(status) {\n if (!status || status.code === SPAN_STATUS_UNSET) {\n return void 0;\n }\n if (status.code === SPAN_STATUS_OK) {\n return \"ok\";\n }\n return status.message || \"internal_error\";\n}\nfunction getSimpleStatus(status) {\n return !status || status.code === SPAN_STATUS_OK || status.code === SPAN_STATUS_UNSET || status.message === \"cancelled\" ? \"ok\" : \"error\";\n}\nfunction addStatusMessageAttribute(attributes, status) {\n const statusMessage = getSimpleStatus(status) === \"error\" ? status?.message : void 0;\n return {\n ...statusMessage && { [SEMANTIC_ATTRIBUTE_SENTRY_STATUS_MESSAGE]: statusMessage },\n ...attributes\n };\n}\nconst CHILD_SPANS_FIELD = \"_sentryChildSpans\";\nconst ROOT_SPAN_FIELD = \"_sentryRootSpan\";\nfunction addChildSpanToSpan(span, childSpan) {\n const rootSpan = span[ROOT_SPAN_FIELD] || span;\n addNonEnumerableProperty(childSpan, ROOT_SPAN_FIELD, rootSpan);\n if (!spanIsSampled(span)) {\n return;\n }\n if (!span.isRecording() && !rootSpan.isRecording()) {\n return;\n }\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].add(childSpan);\n } else {\n addNonEnumerableProperty(span, CHILD_SPANS_FIELD, /* @__PURE__ */ new Set([childSpan]));\n }\n}\nfunction removeChildSpanFromSpan(span, childSpan) {\n if (span[CHILD_SPANS_FIELD]) {\n span[CHILD_SPANS_FIELD].delete(childSpan);\n }\n}\nfunction getSpanDescendants(span) {\n const resultSet = /* @__PURE__ */ new Set();\n function addSpanChildren(span2) {\n if (resultSet.has(span2)) {\n return;\n } else if (spanIsSampled(span2)) {\n resultSet.add(span2);\n const childSpans = span2[CHILD_SPANS_FIELD] ? Array.from(span2[CHILD_SPANS_FIELD]) : [];\n for (const childSpan of childSpans) {\n addSpanChildren(childSpan);\n }\n }\n }\n addSpanChildren(span);\n return Array.from(resultSet);\n}\nconst getRootSpan = INTERNAL_getSegmentSpan;\nfunction INTERNAL_getSegmentSpan(span) {\n return span[ROOT_SPAN_FIELD] || span;\n}\nfunction getActiveSpan() {\n const carrier = getMainCarrier();\n const acs = getAsyncContextStrategy(carrier);\n if (acs.getActiveSpan) {\n return acs.getActiveSpan();\n }\n return _getSpanForScope(getCurrentScope());\n}\nfunction showSpanDropWarning() {\n if (!hasShownSpanDropWarning) {\n consoleSandbox(() => {\n console.warn(\n \"[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.\"\n );\n });\n hasShownSpanDropWarning = true;\n }\n}\nfunction updateSpanName(span, name) {\n span.updateName(name);\n span.setAttributes({\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"custom\",\n [SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME]: name\n });\n}\n\nexport { INTERNAL_getSegmentSpan, TRACE_FLAG_NONE, TRACE_FLAG_SAMPLED, addChildSpanToSpan, addStatusMessageAttribute, convertSpanLinksForEnvelope, getActiveSpan, getRootSpan, getSimpleStatus, getSpanDescendants, getStatusMessage, getStreamedSpanLinks, removeChildSpanFromSpan, showSpanDropWarning, spanIsSampled, spanIsSentrySpan, spanTimeInputToSeconds, spanToJSON, spanToStreamedSpanJSON, spanToTraceContext, spanToTraceHeader, spanToTraceparentHeader, spanToTransactionTraceContext, streamedSpanJsonToSerializedSpan, updateSpanName };\n//# sourceMappingURL=spanUtils.js.map\n","import { getClient } from '../currentScopes.js';\n\nfunction hasSpansEnabled(maybeOptions) {\n if (typeof __SENTRY_TRACING__ === \"boolean\" && !__SENTRY_TRACING__) {\n return false;\n }\n const options = maybeOptions || getClient()?.getOptions();\n return !!options && // Note: This check is `!= null`, meaning \"nullish\". `0` is not \"nullish\", `undefined` and `null` are. (This comment was brought to you by 15 minutes of questioning life)\n (options.tracesSampleRate != null || !!options.tracesSampler);\n}\n\nexport { hasSpansEnabled };\n//# sourceMappingURL=hasSpansEnabled.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isMatchingPattern } from './string.js';\n\nfunction logIgnoredSpan(droppedSpan) {\n debug.log(`Ignoring span ${droppedSpan.op} - ${droppedSpan.description} because it matches \\`ignoreSpans\\`.`);\n}\nfunction shouldIgnoreSpan(span, ignoreSpans) {\n if (!ignoreSpans?.length) {\n return false;\n }\n for (const pattern of ignoreSpans) {\n if (isStringOrRegExp(pattern)) {\n if (span.description && isMatchingPattern(span.description, pattern)) {\n DEBUG_BUILD && logIgnoredSpan(span);\n return true;\n }\n continue;\n }\n const hasAttributes = !!pattern.attributes && Object.keys(pattern.attributes).length > 0;\n if (!pattern.name && !pattern.op && !hasAttributes) {\n continue;\n }\n const nameMatches = pattern.name ? span.description && isMatchingPattern(span.description, pattern.name) : true;\n const opMatches = pattern.op ? span.op && isMatchingPattern(span.op, pattern.op) : true;\n const attrsMatch = pattern.attributes ? Object.entries(pattern.attributes).every(\n ([key, valuePattern]) => _matchesAttributeValue(span.attributes?.[key], valuePattern)\n ) : true;\n if (nameMatches && opMatches && attrsMatch) {\n DEBUG_BUILD && logIgnoredSpan(span);\n return true;\n }\n }\n return false;\n}\nfunction _matchesAttributeValue(actual, pat) {\n if (typeof actual === \"string\" && (typeof pat === \"string\" || pat instanceof RegExp)) {\n return isMatchingPattern(actual, pat);\n }\n if (Array.isArray(actual) && Array.isArray(pat)) {\n return actual.length === pat.length && actual.every((v, i) => v === pat[i]);\n }\n return actual === pat;\n}\nfunction reparentChildSpans(spans, dropSpan) {\n const droppedSpanParentId = dropSpan.parent_span_id;\n const droppedSpanId = dropSpan.span_id;\n if (!droppedSpanParentId) {\n return;\n }\n for (const span of spans) {\n if (span.parent_span_id === droppedSpanId) {\n span.parent_span_id = droppedSpanParentId;\n }\n }\n}\nfunction isStringOrRegExp(value) {\n return typeof value === \"string\" || value instanceof RegExp;\n}\n\nexport { reparentChildSpans, shouldIgnoreSpan };\n//# sourceMappingURL=should-ignore-span.js.map\n","import { addNonEnumerableProperty } from '../utils/object.js';\nimport { generateTraceId, generateSpanId } from '../utils/propagationContext.js';\nimport { TRACE_FLAG_NONE } from '../utils/spanUtils.js';\n\nconst NON_RECORDING_SPAN_FIELD = /* @__PURE__ */ Symbol.for(\"sentry.nonRecordingSpan\");\nclass SentryNonRecordingSpan {\n constructor(spanContext = {}) {\n this._traceId = spanContext.traceId || generateTraceId();\n this._spanId = spanContext.spanId || generateSpanId();\n this.dropReason = spanContext.dropReason;\n addNonEnumerableProperty(this, NON_RECORDING_SPAN_FIELD, true);\n }\n /** @inheritdoc */\n spanContext() {\n return {\n spanId: this._spanId,\n traceId: this._traceId,\n traceFlags: TRACE_FLAG_NONE\n };\n }\n /** @inheritdoc */\n end(_timestamp) {\n }\n /** @inheritdoc */\n setAttribute(_key, _value) {\n return this;\n }\n /** @inheritdoc */\n setAttributes(_values) {\n return this;\n }\n /** @inheritdoc */\n setStatus(_status) {\n return this;\n }\n /** @inheritdoc */\n updateName(_name) {\n return this;\n }\n /** @inheritdoc */\n isRecording() {\n return false;\n }\n /** @inheritdoc */\n addEvent(_name, _attributesOrStartTime, _startTime) {\n return this;\n }\n /** @inheritDoc */\n addLink(_link) {\n return this;\n }\n /** @inheritDoc */\n addLinks(_links) {\n return this;\n }\n /**\n * This should generally not be used,\n * but we need it for being compliant with the OTEL Span interface.\n *\n * @hidden\n * @internal\n */\n recordException(_exception, _time) {\n }\n}\nfunction spanIsNonRecordingSpan(span) {\n return !!span && span[NON_RECORDING_SPAN_FIELD] === true;\n}\n\nexport { SentryNonRecordingSpan, spanIsNonRecordingSpan };\n//# sourceMappingURL=sentryNonRecordingSpan.js.map\n","const DEFAULT_ENVIRONMENT = \"production\";\nconst DEV_ENVIRONMENT = \"development\";\n\nexport { DEFAULT_ENVIRONMENT, DEV_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getClient } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader } from '../utils/baggage.js';\nimport { extractOrgIdFromClient } from '../utils/dsn.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { addNonEnumerableProperty } from '../utils/object.js';\nimport { getRootSpan, spanToJSON, spanIsSampled } from '../utils/spanUtils.js';\nimport { spanIsNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\nconst FROZEN_DSC_FIELD = \"_frozenDsc\";\nfunction freezeDscOnSpan(span, dsc) {\n const spanWithMaybeDsc = span;\n addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\nfunction getDynamicSamplingContextFromClient(trace_id, client) {\n const options = client.getOptions();\n const { publicKey: public_key } = client.getDsn() || {};\n const dsc = {\n environment: options.environment || DEFAULT_ENVIRONMENT,\n release: options.release,\n public_key,\n trace_id,\n org_id: extractOrgIdFromClient(client)\n };\n client.emit(\"createDsc\", dsc);\n return dsc;\n}\nfunction getDynamicSamplingContextFromScope(client, scope) {\n const propagationContext = scope.getPropagationContext();\n return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\nfunction getDynamicSamplingContextFromSpan(span) {\n const client = getClient();\n if (!client) {\n return {};\n }\n const rootSpan = getRootSpan(span);\n const rootSpanJson = spanToJSON(rootSpan);\n const rootSpanAttributes = rootSpanJson.data;\n const traceState = rootSpan.spanContext().traceState;\n const rootSpanSampleRate = traceState?.get(\"sentry.sample_rate\") ?? rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE] ?? rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE];\n function applyLocalSampleRateToDsc(dsc2) {\n if (typeof rootSpanSampleRate === \"number\" || typeof rootSpanSampleRate === \"string\") {\n dsc2.sample_rate = `${rootSpanSampleRate}`;\n }\n return dsc2;\n }\n const frozenDsc = rootSpan[FROZEN_DSC_FIELD];\n if (frozenDsc) {\n return applyLocalSampleRateToDsc(frozenDsc);\n }\n const isNonRecordingRoot = spanIsNonRecordingSpan(rootSpan);\n const isIgnoredRoot = isNonRecordingRoot && rootSpan.dropReason === \"ignored\";\n if (isNonRecordingRoot && (!hasSpansEnabled(client.getOptions()) || isIgnoredRoot)) {\n const capturedScope = getCapturedScopesOnSpan(rootSpan).scope;\n if (capturedScope) {\n const dsc2 = { ...getDynamicSamplingContextFromScope(client, capturedScope) };\n if (isIgnoredRoot) {\n dsc2.sampled = \"false\";\n }\n return applyLocalSampleRateToDsc(dsc2);\n }\n }\n const traceStateDsc = traceState?.get(\"sentry.dsc\");\n const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n if (dscOnTraceState) {\n return applyLocalSampleRateToDsc(dscOnTraceState);\n }\n const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n const source = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] ?? rootSpanAttributes[\"sentry.segment.name.source\"];\n const name = rootSpanJson.description;\n if (source !== \"url\" && name) {\n dsc.transaction = name;\n }\n if (hasSpansEnabled()) {\n dsc.sampled = String(spanIsSampled(rootSpan));\n dsc.sample_rand = // In OTEL we store the sample rand on the trace state because we cannot access scopes for NonRecordingSpans\n // The Sentry OTEL SpanSampler takes care of writing the sample rand on the root span\n traceState?.get(\"sentry.sample_rand\") ?? // On all other platforms we can actually get the scopes from a root span (we use this as a fallback)\n getCapturedScopesOnSpan(rootSpan).scope?.getPropagationContext().sampleRand.toString();\n }\n applyLocalSampleRateToDsc(dsc);\n client.emit(\"createDsc\", dsc, rootSpan);\n return dsc;\n}\nfunction spanToBaggageHeader(span) {\n const dsc = getDynamicSamplingContextFromSpan(span);\n return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n\nexport { freezeDscOnSpan, getDynamicSamplingContextFromClient, getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan, spanToBaggageHeader };\n//# sourceMappingURL=dynamicSamplingContext.js.map\n","import { addNonEnumerableProperty } from '../../utils/object.js';\n\nfunction withStreamedSpan(callback) {\n addNonEnumerableProperty(callback, \"_streamed\", true);\n return callback;\n}\nfunction isStreamedBeforeSendSpanCallback(callback) {\n return !!callback && typeof callback === \"function\" && \"_streamed\" in callback && !!callback._streamed;\n}\n\nexport { isStreamedBeforeSendSpanCallback, withStreamedSpan };\n//# sourceMappingURL=beforeSendSpan.js.map\n","import { getSentryCarrier } from '../carrier.js';\nimport { dsnToString } from './dsn.js';\nimport { normalize } from './normalize.js';\nimport { safeDateNow } from './randomSafeContext.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction createEnvelope(headers, items = []) {\n return [headers, items];\n}\nfunction addItemToEnvelope(envelope, newItem) {\n const [headers, items] = envelope;\n return [headers, [...items, newItem]];\n}\nfunction forEachEnvelopeItem(envelope, callback) {\n const envelopeItems = envelope[1];\n for (const envelopeItem of envelopeItems) {\n const envelopeItemType = envelopeItem[0].type;\n const result = callback(envelopeItem, envelopeItemType);\n if (result) {\n return true;\n }\n }\n return false;\n}\nfunction envelopeContainsItemType(envelope, types) {\n return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\nfunction encodeUTF8(input) {\n const carrier = getSentryCarrier(GLOBAL_OBJ);\n return carrier.encodePolyfill ? carrier.encodePolyfill(input) : new TextEncoder().encode(input);\n}\nfunction decodeUTF8(input) {\n const carrier = getSentryCarrier(GLOBAL_OBJ);\n return carrier.decodePolyfill ? carrier.decodePolyfill(input) : new TextDecoder().decode(input);\n}\nfunction serializeEnvelope(envelope) {\n const [envHeaders, items] = envelope;\n let parts = JSON.stringify(envHeaders);\n function append(next) {\n if (typeof parts === \"string\") {\n parts = typeof next === \"string\" ? parts + next : [encodeUTF8(parts), next];\n } else {\n parts.push(typeof next === \"string\" ? encodeUTF8(next) : next);\n }\n }\n for (const item of items) {\n const [itemHeaders, payload] = item;\n append(`\n${JSON.stringify(itemHeaders)}\n`);\n if (typeof payload === \"string\" || payload instanceof Uint8Array) {\n append(payload);\n } else {\n let stringifiedPayload;\n try {\n stringifiedPayload = JSON.stringify(payload);\n } catch {\n stringifiedPayload = JSON.stringify(normalize(payload));\n }\n append(stringifiedPayload);\n }\n }\n return typeof parts === \"string\" ? parts : concatBuffers(parts);\n}\nfunction concatBuffers(buffers) {\n const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n const merged = new Uint8Array(totalLength);\n let offset = 0;\n for (const buffer of buffers) {\n merged.set(buffer, offset);\n offset += buffer.length;\n }\n return merged;\n}\nfunction parseEnvelope(env) {\n let buffer = typeof env === \"string\" ? encodeUTF8(env) : env;\n function readBinary(length) {\n const bin = buffer.subarray(0, length);\n buffer = buffer.subarray(length + 1);\n return bin;\n }\n function readJson() {\n let i = buffer.indexOf(10);\n if (i < 0) {\n i = buffer.length;\n }\n return JSON.parse(decodeUTF8(readBinary(i)));\n }\n const envelopeHeader = readJson();\n const items = [];\n while (buffer.length) {\n const itemHeader = readJson();\n const binaryLength = typeof itemHeader.length === \"number\" ? itemHeader.length : void 0;\n items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n }\n return [envelopeHeader, items];\n}\nfunction createSpanEnvelopeItem(spanJson) {\n const spanHeaders = {\n type: \"span\"\n };\n return [spanHeaders, spanJson];\n}\nfunction createAttachmentEnvelopeItem(attachment) {\n const buffer = typeof attachment.data === \"string\" ? encodeUTF8(attachment.data) : attachment.data;\n return [\n {\n type: \"attachment\",\n length: buffer.length,\n filename: attachment.filename,\n content_type: attachment.contentType,\n attachment_type: attachment.attachmentType\n },\n buffer\n ];\n}\nconst DATA_CATEGORY_OVERRIDES = {\n sessions: \"session\",\n event: \"error\",\n client_report: \"internal\",\n user_report: \"default\",\n profile_chunk: \"profile\",\n replay_event: \"replay\",\n replay_recording: \"replay\",\n check_in: \"monitor\",\n raw_security: \"security\",\n log: \"log_item\",\n trace_metric: \"metric\"\n};\nfunction _isOverriddenType(type) {\n return type in DATA_CATEGORY_OVERRIDES;\n}\nfunction envelopeItemTypeToDataCategory(type) {\n return _isOverriddenType(type) ? DATA_CATEGORY_OVERRIDES[type] : type;\n}\nfunction getSdkMetadataForEnvelopeHeader(metadataOrEvent) {\n if (!metadataOrEvent?.sdk) {\n return;\n }\n const { name, version } = metadataOrEvent.sdk;\n return { name, version };\n}\nfunction createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn) {\n const dynamicSamplingContext = event.sdkProcessingMetadata?.dynamicSamplingContext;\n return {\n event_id: event.event_id,\n sent_at: new Date(safeDateNow()).toISOString(),\n ...sdkInfo && { sdk: sdkInfo },\n ...!!tunnel && dsn && { dsn: dsnToString(dsn) },\n ...dynamicSamplingContext && {\n trace: dynamicSamplingContext\n }\n };\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, createEventEnvelopeHeaders, createSpanEnvelopeItem, envelopeContainsItemType, envelopeItemTypeToDataCategory, forEachEnvelopeItem, getSdkMetadataForEnvelopeHeader, parseEnvelope, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { isStreamedBeforeSendSpanCallback } from './tracing/spans/beforeSendSpan.js';\nimport { dsnToString } from './utils/dsn.js';\nimport { getSdkMetadataForEnvelopeHeader, createEventEnvelopeHeaders, createEnvelope, createSpanEnvelopeItem } from './utils/envelope.js';\nimport { safeDateNow } from './utils/randomSafeContext.js';\nimport { shouldIgnoreSpan } from './utils/should-ignore-span.js';\nimport { spanToJSON, showSpanDropWarning } from './utils/spanUtils.js';\n\nfunction _enhanceEventWithSdkInfo(event, newSdkInfo) {\n if (!newSdkInfo) {\n return event;\n }\n const eventSdkInfo = event.sdk || {};\n event.sdk = {\n ...eventSdkInfo,\n name: eventSdkInfo.name || newSdkInfo.name,\n version: eventSdkInfo.version || newSdkInfo.version,\n integrations: [...event.sdk?.integrations || [], ...newSdkInfo.integrations || []],\n packages: [...event.sdk?.packages || [], ...newSdkInfo.packages || []],\n settings: event.sdk?.settings || newSdkInfo.settings ? {\n ...event.sdk?.settings,\n ...newSdkInfo.settings\n } : void 0\n };\n return event;\n}\nfunction createSessionEnvelope(session, dsn, metadata, tunnel) {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n const envelopeHeaders = {\n sent_at: new Date(safeDateNow()).toISOString(),\n ...sdkInfo && { sdk: sdkInfo },\n ...!!tunnel && dsn && { dsn: dsnToString(dsn) }\n };\n const envelopeItem = \"aggregates\" in session ? [{ type: \"sessions\" }, session] : [{ type: \"session\" }, session.toJSON()];\n return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\nfunction createEventEnvelope(event, dsn, metadata, tunnel) {\n const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n const eventType = event.type && event.type !== \"replay_event\" ? event.type : \"event\";\n _enhanceEventWithSdkInfo(event, metadata?.sdk);\n const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n delete event.sdkProcessingMetadata;\n const eventItem = [{ type: eventType }, event];\n return createEnvelope(envelopeHeaders, [eventItem]);\n}\nfunction createSpanEnvelope(spans, client) {\n function dscHasRequiredProps(dsc2) {\n return !!dsc2.trace_id && !!dsc2.public_key;\n }\n const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n const dsn = client?.getDsn();\n const tunnel = client?.getOptions().tunnel;\n const headers = {\n sent_at: new Date(safeDateNow()).toISOString(),\n ...dscHasRequiredProps(dsc) && { trace: dsc },\n ...!!tunnel && dsn && { dsn: dsnToString(dsn) }\n };\n const { beforeSendSpan, ignoreSpans } = client?.getOptions() || {};\n const filteredSpans = ignoreSpans?.length ? spans.filter((span) => {\n const json = spanToJSON(span);\n return !shouldIgnoreSpan({ description: json.description, op: json.op, attributes: json.data }, ignoreSpans);\n }) : spans;\n const droppedSpans = spans.length - filteredSpans.length;\n if (droppedSpans) {\n client?.recordDroppedEvent(\"before_send\", \"span\", droppedSpans);\n }\n const convertToSpanJSON = beforeSendSpan ? (span) => {\n const spanJson = spanToJSON(span);\n const processedSpan = !isStreamedBeforeSendSpanCallback(beforeSendSpan) ? beforeSendSpan(spanJson) : spanJson;\n if (!processedSpan) {\n showSpanDropWarning();\n return spanJson;\n }\n return processedSpan;\n } : spanToJSON;\n const items = [];\n for (const span of filteredSpans) {\n const spanJson = convertToSpanJSON(span);\n if (spanJson) {\n items.push(createSpanEnvelopeItem(spanJson));\n }\n }\n return createEnvelope(headers, items);\n}\n\nexport { _enhanceEventWithSdkInfo, createEventEnvelope, createSessionEnvelope, createSpanEnvelope };\n//# sourceMappingURL=envelope.js.map\n","function hasSpanStreamingEnabled(client) {\n return client.getOptions().traceLifecycle === \"stream\";\n}\n\nexport { hasSpanStreamingEnabled };\n//# sourceMappingURL=hasSpanStreamingEnabled.js.map\n","import { getGlobalScope } from '../currentScopes.js';\nimport { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext.js';\nimport { merge } from './merge.js';\nimport { spanToTraceContext, getRootSpan, spanToJSON } from './spanUtils.js';\n\nfunction applyScopeDataToEvent(event, data) {\n const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n applyDataToEvent(event, data);\n if (span) {\n applySpanToEvent(event, span);\n }\n applyFingerprintToEvent(event, fingerprint);\n applyBreadcrumbsToEvent(event, breadcrumbs);\n applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\nfunction mergeScopeData(data, mergeData) {\n const {\n extra,\n tags,\n attributes,\n user,\n contexts,\n level,\n sdkProcessingMetadata,\n breadcrumbs,\n fingerprint,\n eventProcessors,\n attachments,\n propagationContext,\n transactionName,\n span\n } = mergeData;\n mergeAndOverwriteScopeData(data, \"extra\", extra);\n mergeAndOverwriteScopeData(data, \"tags\", tags);\n mergeAndOverwriteScopeData(data, \"attributes\", attributes);\n mergeAndOverwriteScopeData(data, \"user\", user);\n mergeAndOverwriteScopeData(data, \"contexts\", contexts);\n data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n if (level) {\n data.level = level;\n }\n if (transactionName) {\n data.transactionName = transactionName;\n }\n if (span) {\n data.span = span;\n }\n if (breadcrumbs.length) {\n data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n }\n if (fingerprint.length) {\n data.fingerprint = [...data.fingerprint, ...fingerprint];\n }\n if (eventProcessors.length) {\n data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n }\n if (attachments.length) {\n data.attachments = [...data.attachments, ...attachments];\n }\n data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\nfunction mergeAndOverwriteScopeData(data, prop, mergeVal) {\n data[prop] = merge(data[prop], mergeVal, 1);\n}\nfunction getCombinedScopeData(isolationScope, currentScope) {\n const scopeData = getGlobalScope().getScopeData();\n isolationScope && mergeScopeData(scopeData, isolationScope.getScopeData());\n currentScope && mergeScopeData(scopeData, currentScope.getScopeData());\n return scopeData;\n}\nfunction applyDataToEvent(event, data) {\n const { extra, tags, user, contexts, level, transactionName } = data;\n if (Object.keys(extra).length) {\n event.extra = { ...extra, ...event.extra };\n }\n if (Object.keys(tags).length) {\n event.tags = { ...tags, ...event.tags };\n }\n if (Object.keys(user).length) {\n event.user = { ...user, ...event.user };\n }\n if (Object.keys(contexts).length) {\n event.contexts = { ...contexts, ...event.contexts };\n }\n if (level) {\n event.level = level;\n }\n if (transactionName && event.type !== \"transaction\") {\n event.transaction = transactionName;\n }\n}\nfunction applyBreadcrumbsToEvent(event, breadcrumbs) {\n const mergedBreadcrumbs = [...event.breadcrumbs || [], ...breadcrumbs];\n event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : void 0;\n}\nfunction applySdkMetadataToEvent(event, sdkProcessingMetadata) {\n event.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n ...sdkProcessingMetadata\n };\n}\nfunction applySpanToEvent(event, span) {\n event.contexts = {\n trace: spanToTraceContext(span),\n ...event.contexts\n };\n event.sdkProcessingMetadata = {\n dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n ...event.sdkProcessingMetadata\n };\n const rootSpan = getRootSpan(span);\n const transactionName = spanToJSON(rootSpan).description;\n if (transactionName && !event.transaction && event.type === \"transaction\") {\n event.transaction = transactionName;\n }\n}\nfunction applyFingerprintToEvent(event, fingerprint) {\n event.fingerprint = event.fingerprint ? Array.isArray(event.fingerprint) ? event.fingerprint : [event.fingerprint] : [];\n if (fingerprint) {\n event.fingerprint = event.fingerprint.concat(fingerprint);\n }\n if (!event.fingerprint.length) {\n delete event.fingerprint;\n }\n}\n\nexport { applyScopeDataToEvent, getCombinedScopeData, mergeAndOverwriteScopeData, mergeScopeData };\n//# sourceMappingURL=scopeData.js.map\n","const e=\"ai.citations\",i=\"ai.completion_tokens.used\",t=\"ai.documents\",n=\"ai.finish_reason\",r=\"ai.frequency_penalty\",a=\"ai.function_call\",s=\"ai.generation_id\",o=\"ai.input_messages\",l=\"ai.is_search_required\",p=\"ai.metadata\",c=\"ai.model_id\",u=\"ai.model.provider\",b=\"ai.pipeline.name\",g=\"ai.preamble\",d=\"ai.presence_penalty\",m=\"ai.prompt_tokens.used\",y=\"ai.raw_prompting\",_=\"ai.responses\",h=\"ai.response_format\",v=\"ai.search_queries\",f=\"ai.search_results\",S=\"ai.seed\",E=\"ai.streaming\",T=\"ai.tags\",I=\"ai.temperature\",O=\"ai.texts\",k=\"ai.tools\",A=\"ai.tool_calls\",x=\"ai.top_k\",w=\"ai.top_p\",R=\"ai.total_cost\",N=\"ai.total_tokens.used\",C=\"ai.warnings\",P=\"angular.version\",D=\"app.app_build\",L=\"app.app_identifier\",U=\"app.app_name\",M=\"app.app_start_time\",q=\"app.app_version\",G=\"app.build\",Y=\"app.identifier\",V=\"app.in_foreground\",W=\"app.name\",F=\"app_start_cold\",B=\"app.start_time\",H=\"app_start_type\",z=\"app_start_warm\",K=\"app.version\",j=\"app.vitals.frames.delay.value\",Q=\"app.vitals.frames.frozen.count\",X=\"app.vitals.frames.slow.count\",J=\"app.vitals.frames.total.count\",Z=\"app.vitals.start.cold.value\",$=\"app.vitals.start.prewarmed\",ee=\"app.vitals.start.reason\",ie=\"app.vitals.start.screen\",te=\"app.vitals.start.type\",ne=\"app.vitals.start.warm.value\",re=\"app.vitals.ttfd.value\",ae=\"app.vitals.ttid.value\",se=\"art.gc.blocking_count\",oe=\"art.gc.blocking_time\",le=\"art.gc.pre_oome_count\",pe=\"art.gc.total_count\",ce=\"art.gc.total_time\",ue=\"art.gc.waiting_time\",be=\"art.memory.free\",ge=\"art.memory.free_until_gc\",de=\"art.memory.free_until_oome\",me=\"art.memory.max\",ye=\"art.memory.total\",_e=\"aws.cloudwatch.logs.log_group\",he=\"aws.cloudwatch.logs.log_stream\",ve=\"aws.cloudwatch.logs.url\",fe=\"aws.dynamodb.attribute_definitions\",Se=\"aws.dynamodb.consistent_read\",Ee=\"aws.dynamodb.consumed_capacity\",Te=\"aws.dynamodb.count\",Ie=\"aws.dynamodb.exclusive_start_table\",Oe=\"aws.dynamodb.global_secondary_indexes\",ke=\"aws.dynamodb.global_secondary_index_updates\",Ae=\"aws.dynamodb.index_name\",xe=\"aws.dynamodb.item_collection_metrics\",we=\"aws.dynamodb.limit\",Re=\"aws.dynamodb.local_secondary_indexes\",Ne=\"aws.dynamodb.projection\",Ce=\"aws.dynamodb.provisioned_read_capacity\",Pe=\"aws.dynamodb.provisioned_write_capacity\",De=\"aws.dynamodb.scanned_count\",Le=\"aws.dynamodb.scan_forward\",Ue=\"aws.dynamodb.segment\",Me=\"aws.dynamodb.select\",qe=\"aws.dynamodb.table_count\",Ge=\"aws.dynamodb.table_names\",Ye=\"aws.dynamodb.total_segments\",Ve=\"aws.extended_request_id\",We=\"aws.kinesis.stream_name\",Fe=\"aws.kinesis.stream.name\",Be=\"aws.lambda.aws_request_id\",He=\"aws.lambda.execution_duration_in_millis\",ze=\"aws.lambda.function_name\",Ke=\"aws.lambda.function_version\",je=\"aws.lambda.invoked_arn\",Qe=\"aws.lambda.invoked_function_arn\",Xe=\"aws.lambda.remaining_time_in_millis\",Je=\"aws.log.group.names\",Ze=\"aws.log.stream.names\",$e=\"aws.request.extended_id\",ei=\"aws.request_id\",ii=\"aws.request.id\",ti=\"aws.s3.bucket\",ni=\"aws.secretsmanager.secret.arn\",ri=\"aws.sns.topic.arn\",ai=\"aws.step_functions.activity.arn\",si=\"aws.step_functions.state_machine.arn\",oi=\"blocked_main_thread\",li=\"browser.name\",pi=\"browser.performance.navigation.activation_start\",ci=\"browser.performance.time_origin\",ui=\"browser.report.type\",bi=\"browser.script.invoker\",gi=\"browser.script.invoker_type\",di=\"browser.script.source_char_position\",mi=\"browser.version\",yi=\"browser.web_vital.cls.report_event\",_i=\"browser.web_vital.cls.source.\",hi=\"browser.web_vital.cls.source\",vi=\"browser.web_vital.cls.value\",fi=\"browser.web_vital.fcp.value\",Si=\"browser.web_vital.fp.value\",Ei=\"browser.web_vital.inp.value\",Ti=\"browser.web_vital.lcp.element\",Ii=\"browser.web_vital.lcp.id\",Oi=\"browser.web_vital.lcp.load_time\",ki=\"browser.web_vital.lcp.render_time\",Ai=\"browser.web_vital.lcp.report_event\",xi=\"browser.web_vital.lcp.size\",wi=\"browser.web_vital.lcp.url\",Ri=\"browser.web_vital.lcp.value\",Ni=\"browser.web_vital.ttfb.request_time\",Ci=\"browser.web_vital.ttfb.value\",Pi=\"cache.hit\",Di=\"cache.item_size\",Li=\"cache.key\",Ui=\"cache.operation\",Mi=\"cache.ttl\",qi=\"cache.write\",Gi=\"channel\",Yi=\"client.address\",Vi=\"client.port\",Wi=\"cloudflare.d1.duration\",Fi=\"cloudflare.d1.query_type\",Bi=\"cloudflare.d1.rows_read\",Hi=\"cloudflare.d1.rows_written\",zi=\"cloudflare.durable_object.query.bindings\",Ki=\"cloudflare.durable_object.response.rows_read\",ji=\"cloudflare.durable_object.response.rows_written\",Qi=\"cloudflare.r2.bucket\",Xi=\"cloudflare.r2.operation\",Ji=\"cloudflare.r2.request.delimiter\",Zi=\"cloudflare.r2.request.key\",$i=\"cloudflare.r2.request.part_number\",et=\"cloudflare.r2.request.prefix\",it=\"cloudflare.workflow.attempt\",tt=\"cloudflare.workflow.retries.backoff\",nt=\"cloudflare.workflow.retries.delay\",rt=\"cloudflare.workflow.retries.limit\",at=\"cloudflare.workflow.timeout\",st=\"cloud.account.id\",ot=\"cloud.availability_zone\",lt=\"cloud.platform\",pt=\"cloud.provider\",ct=\"cloud.region\",ut=\"cloud.resource_id\",bt=\"cls\",gt=\"cls.source.\",dt=\"cls.source\",mt=\"code.filepath\",yt=\"code.file.path\",_t=\"code.function\",ht=\"code.function.name\",vt=\"code.lineno\",ft=\"code.line.number\",St=\"code.namespace\",Et=\"connectionType\",Tt=\"connection.rtt\",It=\"culture.calendar\",Ot=\"culture.display_name\",kt=\"culture.is_24_hour_format\",At=\"culture.locale\",xt=\"culture.timezone\",wt=\"db.collection.name\",Rt=\"db.driver.name\",Nt=\"db.name\",Ct=\"db.namespace\",Pt=\"db.operation\",Dt=\"db.operation.batch.size\",Lt=\"db.operation.name\",Ut=\"db.query.parameter.\",Mt=\"db.query.parameter\",qt=\"db.query.summary\",Gt=\"db.query.text\",Yt=\"db.redis.connection\",Vt=\"db.redis.key\",Wt=\"db.redis.parameters\",Ft=\"db.response.status_code\",Bt=\"db.sql.bindings\",Ht=\"db.statement\",zt=\"db.stored_procedure.name\",Kt=\"db.system\",jt=\"db.system.name\",Qt=\"db.user\",Xt=\"deviceMemory\",Jt=\"device.archs\",Zt=\"device.battery_level\",$t=\"device.battery_temperature\",en=\"device.boot_time\",tn=\"device.brand\",nn=\"device.charging\",rn=\"device.chipset\",an=\"device.class\",sn=\"device.connection_type\",on=\"device.cpu_description\",ln=\"device.external_free_storage\",pn=\"device.external_storage_size\",cn=\"device.family\",un=\"device.free_memory\",bn=\"device.free_storage\",gn=\"device.id\",dn=\"device.locale\",mn=\"device.low_memory\",yn=\"device.low_power_mode\",_n=\"device.manufacturer\",hn=\"device.memory.estimated_capacity\",vn=\"device.memory_size\",fn=\"device.model\",Sn=\"device.model_id\",En=\"device.name\",Tn=\"device.online\",In=\"device.orientation\",On=\"device.processor_count\",kn=\"device.processor_frequency\",An=\"device.screen_density\",xn=\"device.screen_dpi\",wn=\"device.screen_height_pixels\",Rn=\"device.screen_width_pixels\",Nn=\"device.simulator\",Cn=\"device.storage_size\",Pn=\"device.thermal_state\",Dn=\"device.timezone\",Ln=\"device.usable_memory\",Un=\"dist\",Mn=\"effectiveConnectionType\",qn=\"environment\",Gn=\"error.type\",Yn=\"event.id\",Vn=\"event.name\",Wn=\"exception.escaped\",Fn=\"exception.message\",Bn=\"exception.stacktrace\",Hn=\"exception.type\",zn=\"faas.coldstart\",Kn=\"faas.cron\",jn=\"faas.duration_in_ms\",Qn=\"faas.entry_point\",Xn=\"faas.execution\",Jn=\"faas.id\",Zn=\"faas.identity\",$n=\"faas.invocation_id\",er=\"faas.invoked_name\",ir=\"faas.invoked_provider\",tr=\"faas.invoked_region\",nr=\"faas.name\",rr=\"faas.time\",ar=\"faas.trigger\",sr=\"faas.version\",or=\"fcp\",lr=\"flag.evaluation.\",pr=\"flag.evaluation\",cr=\"fp\",ur=\"frames.delay\",br=\"frames.frozen\",gr=\"frames_frozen_rate\",dr=\"frames.slow\",mr=\"frames_slow_rate\",yr=\"frames.total\",_r=\"fs_error\",hr=\"gcp.function.context.event_id\",vr=\"gcp.function.context.event_type\",fr=\"gcp.function.context.id\",Sr=\"gcp.function.context.resource\",Er=\"gcp.function.context.source\",Tr=\"gcp.function.context.specversion\",Ir=\"gcp.function.context.time\",Or=\"gcp.function.context.timestamp\",kr=\"gcp.function.context.type\",Ar=\"gcp.project.id\",xr=\"gen_ai.agent.name\",wr=\"gen_ai.context.utilization\",Rr=\"gen_ai.context.window_size\",Nr=\"gen_ai.conversation.id\",Cr=\"gen_ai.cost.cache_creation.input_tokens\",Pr=\"gen_ai.cost.cache_read.input_tokens\",Dr=\"gen_ai.cost.input_tokens\",Lr=\"gen_ai.cost.output_tokens\",Ur=\"gen_ai.cost.reasoning.output_tokens\",Mr=\"gen_ai.cost.total_tokens\",qr=\"gen_ai.embeddings.input\",Gr=\"gen_ai.function_id\",Yr=\"gen_ai.input.messages\",Vr=\"gen_ai.operation.name\",Wr=\"gen_ai.operation.type\",Fr=\"gen_ai.output.messages\",Br=\"gen_ai.pipeline.name\",Hr=\"gen_ai.prompt\",zr=\"gen_ai.prompt.name\",Kr=\"gen_ai.provider.name\",jr=\"gen_ai.request.available_tools\",Qr=\"gen_ai.request.frequency_penalty\",Xr=\"gen_ai.request.max_tokens\",Jr=\"gen_ai.request.messages\",Zr=\"gen_ai.request.model\",$r=\"gen_ai.request.presence_penalty\",ea=\"gen_ai.request.reasoning_effort\",ia=\"gen_ai.request.seed\",ta=\"gen_ai.request.stop_sequences\",na=\"gen_ai.request.temperature\",ra=\"gen_ai.request.top_k\",aa=\"gen_ai.request.top_p\",sa=\"gen_ai.response.finish_reasons\",oa=\"gen_ai.response.id\",la=\"gen_ai.response.model\",pa=\"gen_ai.response.streaming\",ca=\"gen_ai.response.text\",ua=\"gen_ai.response.time_to_first_chunk\",ba=\"gen_ai.response.time_to_first_token\",ga=\"gen_ai.response.tokens_per_second\",da=\"gen_ai.response.tool_calls\",ma=\"gen_ai.system\",ya=\"gen_ai.system_instructions\",_a=\"gen_ai.system.message\",ha=\"gen_ai.tool.call.arguments\",va=\"gen_ai.tool.call.result\",fa=\"gen_ai.tool.definitions\",Sa=\"gen_ai.tool.description\",Ea=\"gen_ai.tool.input\",Ta=\"gen_ai.tool.message\",Ia=\"gen_ai.tool.name\",Oa=\"gen_ai.tool.output\",ka=\"gen_ai.tool.type\",Aa=\"gen_ai.usage.cache_creation.input_tokens\",xa=\"gen_ai.usage.cache_read.input_tokens\",wa=\"gen_ai.usage.completion_tokens\",Ra=\"gen_ai.usage.input_tokens\",Na=\"gen_ai.usage.input_tokens.cached\",Ca=\"gen_ai.usage.input_tokens.cache_write\",Pa=\"gen_ai.usage.output_tokens\",Da=\"gen_ai.usage.output_tokens.reasoning\",La=\"gen_ai.usage.prompt_tokens\",Ua=\"gen_ai.usage.reasoning.output_tokens\",Ma=\"gen_ai.usage.total_tokens\",qa=\"graphql.document\",Ga=\"graphql.operation.name\",Ya=\"graphql.operation.type\",Va=\"hardwareConcurrency\",Wa=\"http.client_ip\",Fa=\"http.decoded_response_content_length\",Ba=\"http.flavor\",Ha=\"http.fragment\",za=\"http.host\",Ka=\"http.method\",ja=\"http.query\",Qa=\"http.request.body.data\",Xa=\"http.request.connection_end\",Ja=\"http.request.connect_start\",Za=\"http.request.domain_lookup_end\",$a=\"http.request.domain_lookup_start\",es=\"http.request.fetch_start\",is=\"http.request.header.\",ts=\"http.request.header\",ns=\"http.request.method\",rs=\"http.request_method\",as=\"http.request.redirect_end\",ss=\"http.request.redirect_start\",os=\"http.request.request_start\",ls=\"http.request.resend_count\",ps=\"http.request.response_end\",cs=\"http.request.response_start\",us=\"http.request.same_origin\",bs=\"http.request.secure_connection_start\",gs=\"http.request.time_to_first_byte\",ds=\"http.request.worker_start\",ms=\"http.response.body.size\",ys=\"http.response_content_length\",_s=\"http.response.header.content-length\",hs=\"http.response.header.\",vs=\"http.response.header\",fs=\"http.response.size\",Ss=\"http.response.status_code\",Es=\"http.response_transfer_size\",Ts=\"http.route\",Is=\"http.scheme\",Os=\"http.server_name\",ks=\"http.server.request.time_in_queue\",As=\"http.status_code\",xs=\"http.target\",ws=\"http.url\",Rs=\"http.user_agent\",Ns=\"id\",Cs=\"inp\",Ps=\"jsonrpc.protocol.version\",Ds=\"jsonrpc.request.id\",Ls=\"jvm.gc.action\",Us=\"jvm.gc.name\",Ms=\"jvm.memory.pool.name\",qs=\"jvm.memory.type\",Gs=\"jvm.thread.daemon\",Ys=\"jvm.thread.state\",Vs=\"koa.name\",Ws=\"koa.type\",Fs=\"lcp\",Bs=\"lcp.element\",Hs=\"lcp.id\",zs=\"lcp.loadTime\",Ks=\"lcp.renderTime\",js=\"lcp.size\",Qs=\"lcp.url\",Xs=\"logger.name\",Js=\"mcp.cancelled.reason\",Zs=\"mcp.cancelled.request_id\",$s=\"mcp.client.name\",eo=\"mcp.client.title\",io=\"mcp.client.version\",to=\"mcp.lifecycle.phase\",no=\"mcp.logging.data_type\",ro=\"mcp.logging.level\",ao=\"mcp.logging.logger\",so=\"mcp.logging.message\",oo=\"mcp.method.name\",lo=\"mcp.progress.current\",po=\"mcp.progress.message\",co=\"mcp.progress.percentage\",uo=\"mcp.progress.token\",bo=\"mcp.progress.total\",go=\"mcp.prompt.name\",mo=\"mcp.prompt.result.description\",yo=\"mcp.prompt.result.message_content\",_o=\"mcp.prompt.result.message_count\",ho=\"mcp.prompt.result.message_role\",vo=\"mcp.protocol.ready\",fo=\"mcp.protocol.version\",So=\"mcp.request.argument.\",Eo=\"mcp.request.argument\",To=\"mcp.request.argument.name\",Io=\"mcp.request.argument.uri\",Oo=\"mcp.request.id\",ko=\"mcp.resource.protocol\",Ao=\"mcp.resource.uri\",xo=\"mcp.server.name\",wo=\"mcp.server.title\",Ro=\"mcp.server.version\",No=\"mcp.session.id\",Co=\"mcp.tool.name\",Po=\"mcp.tool.result.content\",Do=\"mcp.tool.result.content_count\",Lo=\"mcp.tool.result.is_error\",Uo=\"mcp.transport\",Mo=\"mdc.\",qo=\"mdc\",Go=\"messaging.batch.message_count\",Yo=\"messaging.destination\",Vo=\"messaging.destination.connection\",Wo=\"messaging.destination.name\",Fo=\"messaging.message.body.size\",Bo=\"messaging.message.conversation_id\",Ho=\"messaging.message.envelope.size\",zo=\"messaging.message.id\",Ko=\"messaging.message.receive.latency\",jo=\"messaging.message.retry.count\",Qo=\"messaging.operation.name\",Xo=\"messaging.operation.type\",Jo=\"messaging.rabbitmq.destination.routing_key\",Zo=\"messaging.system\",$o=\"method\",el=\"middleware.name\",il=\"navigation.origin\",tl=\"navigation.route.id\",nl=\"navigation.type\",rl=\"nel.elapsed_time\",al=\"nel.phase\",sl=\"nel.referrer\",ol=\"nel.sampling_function\",ll=\"nel.type\",pl=\"network.connection.effective_type\",cl=\"network.connection.rtt\",ul=\"network.connection.type\",bl=\"network.local.address\",gl=\"network.local.port\",dl=\"network.peer.address\",ml=\"network.peer.port\",yl=\"network.protocol.name\",_l=\"network.protocol.version\",hl=\"network.transport\",vl=\"network.type\",fl=\"net.host.ip\",Sl=\"net.host.name\",El=\"net.host.port\",Tl=\"net.peer.ip\",Il=\"net.peer.name\",Ol=\"net.peer.port\",kl=\"net.protocol.name\",Al=\"net.protocol.version\",xl=\"net.sock.family\",wl=\"net.sock.host.addr\",Rl=\"net.sock.host.port\",Nl=\"net.sock.peer.addr\",Cl=\"net.sock.peer.name\",Pl=\"net.sock.peer.port\",Dl=\"net.transport\",Ll=\"os.build\",Ul=\"os.build_id\",Ml=\"os.description\",ql=\"os.kernel_version\",Gl=\"os.name\",Yl=\"os.raw_description\",Vl=\"os.rooted\",Wl=\"os.theme\",Fl=\"os.type\",Bl=\"os.version\",Hl=\"otel.kind\",zl=\"otel.scope.name\",Kl=\"otel.scope.version\",jl=\"otel.status_code\",Ql=\"otel.status_description\",Xl=\"params.\",Jl=\"params\",Zl=\"performance.activationStart\",$l=\"performance.timeOrigin\",ep=\"previous_route\",ip=\"process.command_args\",tp=\"process.executable.name\",np=\"process.pid\",rp=\"process.runtime.description\",ap=\"process.runtime.engine.name\",sp=\"process.runtime.engine.version\",op=\"process.runtime.name\",lp=\"process.runtime.version\",pp=\"query.\",cp=\"query\",up=\"react.version\",bp=\"release\",gp=\"remix.action_form_data.\",dp=\"remix.action_form_data\",mp=\"replay_id\",yp=\"resource.deployment.environment\",_p=\"resource.deployment.environment.name\",hp=\"resource.render_blocking_status\",vp=\"route\",fp=\"rpc.grpc.status_code\",Sp=\"rpc.method\",Ep=\"rpc.response.status_code\",Tp=\"rpc.service\",Ip=\"rpc.system\",Op=\"rpc.system.name\",kp=\"runtime.build\",Ap=\"runtime.name\",xp=\"runtime.raw_description\",wp=\"runtime.version\",Rp=\"score.\",Np=\"score\",Cp=\"score.ratio.\",Pp=\"score.ratio\",Dp=\"score.total\",Lp=\"score.weight.\",Up=\"score.weight\",Mp=\"sentry.action\",qp=\"sentry.browser.name\",Gp=\"sentry.browser.version\",Yp=\"sentry.cancellation_reason\",Vp=\"sentry.category\",Wp=\"sentry.client_sample_rate\",Fp=\"sentry.description\",Bp=\"sentry.dist\",Hp=\"sentry.domain\",zp=\"sentry.dsc.environment\",Kp=\"sentry.dsc.project_id\",jp=\"sentry.dsc.public_key\",Qp=\"sentry.dsc.release\",Xp=\"sentry.dsc.sampled\",Jp=\"sentry.dsc.sample_rate\",Zp=\"sentry.dsc.trace_id\",$p=\"sentry.dsc.transaction\",ec=\"sentry.environment\",ic=\"sentry.exclusive_time\",tc=\"sentry.graphql.operation\",nc=\"sentry.group\",rc=\"sentry.http.prefetch\",ac=\"sentry.idle_span_finish_reason\",sc=\"sentry.is_remote\",oc=\"sentry.kind\",lc=\"sentry.main_thread\",pc=\"sentry.message.parameter.\",cc=\"sentry.message.template\",uc=\"sentry.metric.source\",bc=\"sentry.mobile\",gc=\"sentry.module.\",dc=\"sentry.module\",mc=\"sentry.nextjs.ssr.function.route\",yc=\"sentry.nextjs.ssr.function.type\",_c=\"sentry.normalized_db_query\",hc=\"sentry.normalized_db_query.hash\",vc=\"sentry.normalized_description\",fc=\"sentry.observed_timestamp_nanos\",Sc=\"sentry.op\",Ec=\"sentry.origin\",Tc=\"sentry.platform\",Ic=\"sentry.profiler_id\",Oc=\"sentry.profile_id\",kc=\"sentry.release\",Ac=\"sentry.replay_id\",xc=\"sentry.replay_is_buffering\",wc=\"sentry.report_event\",Rc=\"sentry.sdk.integrations\",Nc=\"sentry.sdk.name\",Cc=\"sentry.sdk.version\",Pc=\"sentry.segment.id\",Dc=\"sentry.segment_id\",Lc=\"sentry.segment.name\",Uc=\"sentry.server_sample_rate\",Mc=\"sentry.source\",qc=\"sentry.span.source\",Gc=\"sentry.status\",Yc=\"sentry.status_code\",Vc=\"sentry.status.message\",Wc=\"sentry.sveltekit.navigation.from\",Fc=\"sentry.sveltekit.navigation.to\",Bc=\"sentry.sveltekit.navigation.type\",Hc=\"sentry.thread.id\",zc=\"sentry.timestamp.sequence\",Kc=\"sentry.trace_lifecycle\",jc=\"sentry.trace.parent_span_id\",Qc=\"sentry.trace.status\",Xc=\"sentry.transaction\",Jc=\"sentry.user.email\",Zc=\"sentry.user.geo.city\",$c=\"sentry.user.geo.country_code\",eu=\"sentry.user.geo.region\",iu=\"sentry.user.geo.subdivision\",tu=\"sentry.user.id\",nu=\"sentry.user.ip\",ru=\"sentry.user.username\",au=\"server.address\",su=\"server_name\",ou=\"server.port\",lu=\"service.name\",pu=\"service.version\",cu=\"session.id\",uu=\"stall_percentage\",bu=\"stall_total_time\",gu=\"state.type\",du=\"thread.id\",mu=\"thread.name\",yu=\"timber.tag\",_u=\"time_to_full_display\",hu=\"time_to_initial_display\",vu=\"transaction\",fu=\"trpc.procedure_path\",Su=\"trpc.procedure_type\",Eu=\"ttfb\",Tu=\"ttfb.requestTime\",Iu=\"type\",Ou=\"ui.component_name\",ku=\"ui.contributes_to_ttfd\",Au=\"ui.contributes_to_ttid\",xu=\"ui.element.height\",wu=\"ui.element.id\",Ru=\"ui.element.identifier\",Nu=\"ui.element.load_time\",Cu=\"ui.element.paint_type\",Pu=\"ui.element.render_time\",Du=\"ui.element.type\",Lu=\"ui.element.url\",Uu=\"ui.element.width\",Mu=\"url\",qu=\"url.domain\",Gu=\"url.fragment\",Yu=\"url.full\",Vu=\"url.path\",Wu=\"url.path.parameter.\",Fu=\"url.path.parameter\",Bu=\"url.port\",Hu=\"url.query\",zu=\"url.same_origin\",Ku=\"url.scheme\",ju=\"url.template\",Qu=\"user_agent.original\",Xu=\"user.email\",Ju=\"user.full_name\",Zu=\"user.geo.city\",$u=\"user.geo.country_code\",eb=\"user.geo.region\",ib=\"user.geo.subdivision\",tb=\"user.hash\",nb=\"user.id\",rb=\"user.ip_address\",ab=\"user.name\",sb=\"user.roles\",ob=\"vercel.branch\",lb=\"vercel.build_id\",pb=\"vercel.deployment_id\",cb=\"vercel.destination\",ub=\"vercel.edge_type\",bb=\"vercel.entrypoint\",gb=\"vercel.execution_region\",db=\"vercel.id\",mb=\"vercel.ja3_digest\",yb=\"vercel.ja4_digest\",_b=\"vercel.log_type\",hb=\"vercel.path\",vb=\"vercel.project_id\",fb=\"vercel.project_name\",Sb=\"vercel.proxy.cache_id\",Eb=\"vercel.proxy.client_ip\",Tb=\"vercel.proxy.host\",Ib=\"vercel.proxy.lambda_region\",Ob=\"vercel.proxy.method\",kb=\"vercel.proxy.path\",Ab=\"vercel.proxy.path_type\",xb=\"vercel.proxy.path_type_variant\",wb=\"vercel.proxy.referer\",Rb=\"vercel.proxy.region\",Nb=\"vercel.proxy.response_byte_size\",Cb=\"vercel.proxy.scheme\",Pb=\"vercel.proxy.status_code\",Db=\"vercel.proxy.timestamp\",Lb=\"vercel.proxy.user_agent\",Ub=\"vercel.proxy.vercel_cache\",Mb=\"vercel.proxy.vercel_id\",qb=\"vercel.proxy.waf_action\",Gb=\"vercel.proxy.waf_rule_id\",Yb=\"vercel.request_id\",Vb=\"vercel.source\",Wb=\"vercel.status_code\",Fb={\"ai.citations\":\"string[]\",\"ai.completion_tokens.used\":\"integer\",\"ai.documents\":\"string[]\",\"ai.finish_reason\":\"string\",\"ai.frequency_penalty\":\"double\",\"ai.function_call\":\"string\",\"ai.generation_id\":\"string\",\"ai.input_messages\":\"string\",\"ai.is_search_required\":\"boolean\",\"ai.metadata\":\"string\",\"ai.model_id\":\"string\",\"ai.model.provider\":\"string\",\"ai.pipeline.name\":\"string\",\"ai.preamble\":\"string\",\"ai.presence_penalty\":\"double\",\"ai.prompt_tokens.used\":\"integer\",\"ai.raw_prompting\":\"boolean\",\"ai.responses\":\"string[]\",\"ai.response_format\":\"string\",\"ai.search_queries\":\"string[]\",\"ai.search_results\":\"string[]\",\"ai.seed\":\"string\",\"ai.streaming\":\"boolean\",\"ai.tags\":\"string\",\"ai.temperature\":\"double\",\"ai.texts\":\"string[]\",\"ai.tools\":\"string[]\",\"ai.tool_calls\":\"string[]\",\"ai.top_k\":\"integer\",\"ai.top_p\":\"double\",\"ai.total_cost\":\"double\",\"ai.total_tokens.used\":\"integer\",\"ai.warnings\":\"string[]\",\"angular.version\":\"string\",\"app.app_build\":\"string\",\"app.app_identifier\":\"string\",\"app.app_name\":\"string\",\"app.app_start_time\":\"string\",\"app.app_version\":\"string\",\"app.build\":\"string\",\"app.identifier\":\"string\",\"app.in_foreground\":\"boolean\",\"app.name\":\"string\",app_start_cold:\"double\",\"app.start_time\":\"string\",app_start_type:\"string\",app_start_warm:\"double\",\"app.version\":\"string\",\"app.vitals.frames.delay.value\":\"integer\",\"app.vitals.frames.frozen.count\":\"integer\",\"app.vitals.frames.slow.count\":\"integer\",\"app.vitals.frames.total.count\":\"integer\",\"app.vitals.start.cold.value\":\"double\",\"app.vitals.start.prewarmed\":\"boolean\",\"app.vitals.start.reason\":\"string\",\"app.vitals.start.screen\":\"string\",\"app.vitals.start.type\":\"string\",\"app.vitals.start.warm.value\":\"double\",\"app.vitals.ttfd.value\":\"double\",\"app.vitals.ttid.value\":\"double\",\"art.gc.blocking_count\":\"integer\",\"art.gc.blocking_time\":\"double\",\"art.gc.pre_oome_count\":\"integer\",\"art.gc.total_count\":\"integer\",\"art.gc.total_time\":\"double\",\"art.gc.waiting_time\":\"double\",\"art.memory.free\":\"integer\",\"art.memory.free_until_gc\":\"integer\",\"art.memory.free_until_oome\":\"integer\",\"art.memory.max\":\"integer\",\"art.memory.total\":\"integer\",\"aws.cloudwatch.logs.log_group\":\"string\",\"aws.cloudwatch.logs.log_stream\":\"string\",\"aws.cloudwatch.logs.url\":\"string\",\"aws.dynamodb.attribute_definitions\":\"string[]\",\"aws.dynamodb.consistent_read\":\"boolean\",\"aws.dynamodb.consumed_capacity\":\"string[]\",\"aws.dynamodb.count\":\"integer\",\"aws.dynamodb.exclusive_start_table\":\"string\",\"aws.dynamodb.global_secondary_indexes\":\"string[]\",\"aws.dynamodb.global_secondary_index_updates\":\"string[]\",\"aws.dynamodb.index_name\":\"string\",\"aws.dynamodb.item_collection_metrics\":\"string\",\"aws.dynamodb.limit\":\"integer\",\"aws.dynamodb.local_secondary_indexes\":\"string[]\",\"aws.dynamodb.projection\":\"string\",\"aws.dynamodb.provisioned_read_capacity\":\"double\",\"aws.dynamodb.provisioned_write_capacity\":\"double\",\"aws.dynamodb.scanned_count\":\"integer\",\"aws.dynamodb.scan_forward\":\"boolean\",\"aws.dynamodb.segment\":\"integer\",\"aws.dynamodb.select\":\"string\",\"aws.dynamodb.table_count\":\"integer\",\"aws.dynamodb.table_names\":\"string[]\",\"aws.dynamodb.total_segments\":\"integer\",\"aws.extended_request_id\":\"string\",\"aws.kinesis.stream_name\":\"string\",\"aws.kinesis.stream.name\":\"string\",\"aws.lambda.aws_request_id\":\"string\",\"aws.lambda.execution_duration_in_millis\":\"double\",\"aws.lambda.function_name\":\"string\",\"aws.lambda.function_version\":\"string\",\"aws.lambda.invoked_arn\":\"string\",\"aws.lambda.invoked_function_arn\":\"string\",\"aws.lambda.remaining_time_in_millis\":\"double\",\"aws.log.group.names\":\"string[]\",\"aws.log.stream.names\":\"string[]\",\"aws.request.extended_id\":\"string\",\"aws.request_id\":\"string\",\"aws.request.id\":\"string\",\"aws.s3.bucket\":\"string\",\"aws.secretsmanager.secret.arn\":\"string\",\"aws.sns.topic.arn\":\"string\",\"aws.step_functions.activity.arn\":\"string\",\"aws.step_functions.state_machine.arn\":\"string\",blocked_main_thread:\"boolean\",\"browser.name\":\"string\",\"browser.performance.navigation.activation_start\":\"double\",\"browser.performance.time_origin\":\"double\",\"browser.report.type\":\"string\",\"browser.script.invoker\":\"string\",\"browser.script.invoker_type\":\"string\",\"browser.script.source_char_position\":\"integer\",\"browser.version\":\"string\",\"browser.web_vital.cls.report_event\":\"string\",\"browser.web_vital.cls.source.\":\"string\",\"browser.web_vital.cls.value\":\"double\",\"browser.web_vital.fcp.value\":\"double\",\"browser.web_vital.fp.value\":\"double\",\"browser.web_vital.inp.value\":\"double\",\"browser.web_vital.lcp.element\":\"string\",\"browser.web_vital.lcp.id\":\"string\",\"browser.web_vital.lcp.load_time\":\"integer\",\"browser.web_vital.lcp.render_time\":\"integer\",\"browser.web_vital.lcp.report_event\":\"string\",\"browser.web_vital.lcp.size\":\"integer\",\"browser.web_vital.lcp.url\":\"string\",\"browser.web_vital.lcp.value\":\"double\",\"browser.web_vital.ttfb.request_time\":\"double\",\"browser.web_vital.ttfb.value\":\"double\",\"cache.hit\":\"boolean\",\"cache.item_size\":\"integer\",\"cache.key\":\"string[]\",\"cache.operation\":\"string\",\"cache.ttl\":\"integer\",\"cache.write\":\"boolean\",channel:\"string\",\"client.address\":\"string\",\"client.port\":\"integer\",\"cloudflare.d1.duration\":\"integer\",\"cloudflare.d1.query_type\":\"string\",\"cloudflare.d1.rows_read\":\"integer\",\"cloudflare.d1.rows_written\":\"integer\",\"cloudflare.durable_object.query.bindings\":\"integer\",\"cloudflare.durable_object.response.rows_read\":\"integer\",\"cloudflare.durable_object.response.rows_written\":\"integer\",\"cloudflare.r2.bucket\":\"string\",\"cloudflare.r2.operation\":\"string\",\"cloudflare.r2.request.delimiter\":\"string\",\"cloudflare.r2.request.key\":\"string\",\"cloudflare.r2.request.part_number\":\"integer\",\"cloudflare.r2.request.prefix\":\"string\",\"cloudflare.workflow.attempt\":\"integer\",\"cloudflare.workflow.retries.backoff\":\"string\",\"cloudflare.workflow.retries.delay\":\"string\",\"cloudflare.workflow.retries.limit\":\"integer\",\"cloudflare.workflow.timeout\":\"string\",\"cloud.account.id\":\"string\",\"cloud.availability_zone\":\"string\",\"cloud.platform\":\"string\",\"cloud.provider\":\"string\",\"cloud.region\":\"string\",\"cloud.resource_id\":\"string\",cls:\"double\",\"cls.source.\":\"string\",\"code.filepath\":\"string\",\"code.file.path\":\"string\",\"code.function\":\"string\",\"code.function.name\":\"string\",\"code.lineno\":\"integer\",\"code.line.number\":\"integer\",\"code.namespace\":\"string\",connectionType:\"string\",\"connection.rtt\":\"integer\",\"culture.calendar\":\"string\",\"culture.display_name\":\"string\",\"culture.is_24_hour_format\":\"boolean\",\"culture.locale\":\"string\",\"culture.timezone\":\"string\",\"db.collection.name\":\"string\",\"db.driver.name\":\"string\",\"db.name\":\"string\",\"db.namespace\":\"string\",\"db.operation\":\"string\",\"db.operation.batch.size\":\"integer\",\"db.operation.name\":\"string\",\"db.query.parameter.\":\"string\",\"db.query.summary\":\"string\",\"db.query.text\":\"string\",\"db.redis.connection\":\"string\",\"db.redis.key\":\"string\",\"db.redis.parameters\":\"string[]\",\"db.response.status_code\":\"string\",\"db.sql.bindings\":\"string[]\",\"db.statement\":\"string\",\"db.stored_procedure.name\":\"string\",\"db.system\":\"string\",\"db.system.name\":\"string\",\"db.user\":\"string\",deviceMemory:\"string\",\"device.archs\":\"string[]\",\"device.battery_level\":\"double\",\"device.battery_temperature\":\"double\",\"device.boot_time\":\"string\",\"device.brand\":\"string\",\"device.charging\":\"boolean\",\"device.chipset\":\"string\",\"device.class\":\"string\",\"device.connection_type\":\"string\",\"device.cpu_description\":\"string\",\"device.external_free_storage\":\"integer\",\"device.external_storage_size\":\"integer\",\"device.family\":\"string\",\"device.free_memory\":\"integer\",\"device.free_storage\":\"integer\",\"device.id\":\"string\",\"device.locale\":\"string\",\"device.low_memory\":\"boolean\",\"device.low_power_mode\":\"boolean\",\"device.manufacturer\":\"string\",\"device.memory.estimated_capacity\":\"integer\",\"device.memory_size\":\"integer\",\"device.model\":\"string\",\"device.model_id\":\"string\",\"device.name\":\"string\",\"device.online\":\"boolean\",\"device.orientation\":\"string\",\"device.processor_count\":\"integer\",\"device.processor_frequency\":\"double\",\"device.screen_density\":\"double\",\"device.screen_dpi\":\"integer\",\"device.screen_height_pixels\":\"integer\",\"device.screen_width_pixels\":\"integer\",\"device.simulator\":\"boolean\",\"device.storage_size\":\"integer\",\"device.thermal_state\":\"string\",\"device.timezone\":\"string\",\"device.usable_memory\":\"integer\",dist:\"string\",effectiveConnectionType:\"string\",environment:\"string\",\"error.type\":\"string\",\"event.id\":\"integer\",\"event.name\":\"string\",\"exception.escaped\":\"boolean\",\"exception.message\":\"string\",\"exception.stacktrace\":\"string\",\"exception.type\":\"string\",\"faas.coldstart\":\"boolean\",\"faas.cron\":\"string\",\"faas.duration_in_ms\":\"integer\",\"faas.entry_point\":\"string\",\"faas.execution\":\"string\",\"faas.id\":\"string\",\"faas.identity\":\"string\",\"faas.invocation_id\":\"string\",\"faas.invoked_name\":\"string\",\"faas.invoked_provider\":\"string\",\"faas.invoked_region\":\"string\",\"faas.name\":\"string\",\"faas.time\":\"string\",\"faas.trigger\":\"string\",\"faas.version\":\"string\",fcp:\"double\",\"flag.evaluation.\":\"boolean\",fp:\"double\",\"frames.delay\":\"integer\",\"frames.frozen\":\"integer\",frames_frozen_rate:\"double\",\"frames.slow\":\"integer\",frames_slow_rate:\"double\",\"frames.total\":\"integer\",fs_error:\"string\",\"gcp.function.context.event_id\":\"string\",\"gcp.function.context.event_type\":\"string\",\"gcp.function.context.id\":\"string\",\"gcp.function.context.resource\":\"string\",\"gcp.function.context.source\":\"string\",\"gcp.function.context.specversion\":\"string\",\"gcp.function.context.time\":\"string\",\"gcp.function.context.timestamp\":\"string\",\"gcp.function.context.type\":\"string\",\"gcp.project.id\":\"string\",\"gen_ai.agent.name\":\"string\",\"gen_ai.context.utilization\":\"double\",\"gen_ai.context.window_size\":\"integer\",\"gen_ai.conversation.id\":\"string\",\"gen_ai.cost.cache_creation.input_tokens\":\"double\",\"gen_ai.cost.cache_read.input_tokens\":\"double\",\"gen_ai.cost.input_tokens\":\"double\",\"gen_ai.cost.output_tokens\":\"double\",\"gen_ai.cost.reasoning.output_tokens\":\"double\",\"gen_ai.cost.total_tokens\":\"double\",\"gen_ai.embeddings.input\":\"string\",\"gen_ai.function_id\":\"string\",\"gen_ai.input.messages\":\"string\",\"gen_ai.operation.name\":\"string\",\"gen_ai.operation.type\":\"string\",\"gen_ai.output.messages\":\"string\",\"gen_ai.pipeline.name\":\"string\",\"gen_ai.prompt\":\"string\",\"gen_ai.prompt.name\":\"string\",\"gen_ai.provider.name\":\"string\",\"gen_ai.request.available_tools\":\"string\",\"gen_ai.request.frequency_penalty\":\"double\",\"gen_ai.request.max_tokens\":\"integer\",\"gen_ai.request.messages\":\"string\",\"gen_ai.request.model\":\"string\",\"gen_ai.request.presence_penalty\":\"double\",\"gen_ai.request.reasoning_effort\":\"string\",\"gen_ai.request.seed\":\"string\",\"gen_ai.request.stop_sequences\":\"string[]\",\"gen_ai.request.temperature\":\"double\",\"gen_ai.request.top_k\":\"integer\",\"gen_ai.request.top_p\":\"double\",\"gen_ai.response.finish_reasons\":\"string\",\"gen_ai.response.id\":\"string\",\"gen_ai.response.model\":\"string\",\"gen_ai.response.streaming\":\"boolean\",\"gen_ai.response.text\":\"string\",\"gen_ai.response.time_to_first_chunk\":\"double\",\"gen_ai.response.time_to_first_token\":\"double\",\"gen_ai.response.tokens_per_second\":\"double\",\"gen_ai.response.tool_calls\":\"string\",\"gen_ai.system\":\"string\",\"gen_ai.system_instructions\":\"string\",\"gen_ai.system.message\":\"string\",\"gen_ai.tool.call.arguments\":\"string\",\"gen_ai.tool.call.result\":\"string\",\"gen_ai.tool.definitions\":\"string\",\"gen_ai.tool.description\":\"string\",\"gen_ai.tool.input\":\"string\",\"gen_ai.tool.message\":\"string\",\"gen_ai.tool.name\":\"string\",\"gen_ai.tool.output\":\"string\",\"gen_ai.tool.type\":\"string\",\"gen_ai.usage.cache_creation.input_tokens\":\"integer\",\"gen_ai.usage.cache_read.input_tokens\":\"integer\",\"gen_ai.usage.completion_tokens\":\"integer\",\"gen_ai.usage.input_tokens\":\"integer\",\"gen_ai.usage.input_tokens.cached\":\"integer\",\"gen_ai.usage.input_tokens.cache_write\":\"integer\",\"gen_ai.usage.output_tokens\":\"integer\",\"gen_ai.usage.output_tokens.reasoning\":\"integer\",\"gen_ai.usage.prompt_tokens\":\"integer\",\"gen_ai.usage.reasoning.output_tokens\":\"integer\",\"gen_ai.usage.total_tokens\":\"integer\",\"graphql.document\":\"string\",\"graphql.operation.name\":\"string\",\"graphql.operation.type\":\"string\",hardwareConcurrency:\"string\",\"http.client_ip\":\"string\",\"http.decoded_response_content_length\":\"integer\",\"http.flavor\":\"string\",\"http.fragment\":\"string\",\"http.host\":\"string\",\"http.method\":\"string\",\"http.query\":\"string\",\"http.request.body.data\":\"string\",\"http.request.connection_end\":\"double\",\"http.request.connect_start\":\"double\",\"http.request.domain_lookup_end\":\"double\",\"http.request.domain_lookup_start\":\"double\",\"http.request.fetch_start\":\"double\",\"http.request.header.\":\"string[]\",\"http.request.method\":\"string\",\"http.request_method\":\"string\",\"http.request.redirect_end\":\"double\",\"http.request.redirect_start\":\"double\",\"http.request.request_start\":\"double\",\"http.request.resend_count\":\"integer\",\"http.request.response_end\":\"double\",\"http.request.response_start\":\"double\",\"http.request.same_origin\":\"boolean\",\"http.request.secure_connection_start\":\"double\",\"http.request.time_to_first_byte\":\"double\",\"http.request.worker_start\":\"double\",\"http.response.body.size\":\"integer\",\"http.response_content_length\":\"integer\",\"http.response.header.content-length\":\"string\",\"http.response.header.\":\"string[]\",\"http.response.size\":\"integer\",\"http.response.status_code\":\"integer\",\"http.response_transfer_size\":\"integer\",\"http.route\":\"string\",\"http.scheme\":\"string\",\"http.server_name\":\"string\",\"http.server.request.time_in_queue\":\"double\",\"http.status_code\":\"integer\",\"http.target\":\"string\",\"http.url\":\"string\",\"http.user_agent\":\"string\",id:\"string\",inp:\"double\",\"jsonrpc.protocol.version\":\"string\",\"jsonrpc.request.id\":\"string\",\"jvm.gc.action\":\"string\",\"jvm.gc.name\":\"string\",\"jvm.memory.pool.name\":\"string\",\"jvm.memory.type\":\"string\",\"jvm.thread.daemon\":\"boolean\",\"jvm.thread.state\":\"string\",\"koa.name\":\"string\",\"koa.type\":\"string\",lcp:\"double\",\"lcp.element\":\"string\",\"lcp.id\":\"string\",\"lcp.loadTime\":\"integer\",\"lcp.renderTime\":\"integer\",\"lcp.size\":\"integer\",\"lcp.url\":\"string\",\"logger.name\":\"string\",\"mcp.cancelled.reason\":\"string\",\"mcp.cancelled.request_id\":\"string\",\"mcp.client.name\":\"string\",\"mcp.client.title\":\"string\",\"mcp.client.version\":\"string\",\"mcp.lifecycle.phase\":\"string\",\"mcp.logging.data_type\":\"string\",\"mcp.logging.level\":\"string\",\"mcp.logging.logger\":\"string\",\"mcp.logging.message\":\"string\",\"mcp.method.name\":\"string\",\"mcp.progress.current\":\"integer\",\"mcp.progress.message\":\"string\",\"mcp.progress.percentage\":\"double\",\"mcp.progress.token\":\"string\",\"mcp.progress.total\":\"integer\",\"mcp.prompt.name\":\"string\",\"mcp.prompt.result.description\":\"string\",\"mcp.prompt.result.message_content\":\"string\",\"mcp.prompt.result.message_count\":\"integer\",\"mcp.prompt.result.message_role\":\"string\",\"mcp.protocol.ready\":\"integer\",\"mcp.protocol.version\":\"string\",\"mcp.request.argument.\":\"string\",\"mcp.request.argument.name\":\"string\",\"mcp.request.argument.uri\":\"string\",\"mcp.request.id\":\"string\",\"mcp.resource.protocol\":\"string\",\"mcp.resource.uri\":\"string\",\"mcp.server.name\":\"string\",\"mcp.server.title\":\"string\",\"mcp.server.version\":\"string\",\"mcp.session.id\":\"string\",\"mcp.tool.name\":\"string\",\"mcp.tool.result.content\":\"string\",\"mcp.tool.result.content_count\":\"integer\",\"mcp.tool.result.is_error\":\"boolean\",\"mcp.transport\":\"string\",\"mdc.\":\"string\",\"messaging.batch.message_count\":\"integer\",\"messaging.destination\":\"string\",\"messaging.destination.connection\":\"string\",\"messaging.destination.name\":\"string\",\"messaging.message.body.size\":\"integer\",\"messaging.message.conversation_id\":\"string\",\"messaging.message.envelope.size\":\"integer\",\"messaging.message.id\":\"string\",\"messaging.message.receive.latency\":\"integer\",\"messaging.message.retry.count\":\"integer\",\"messaging.operation.name\":\"string\",\"messaging.operation.type\":\"string\",\"messaging.rabbitmq.destination.routing_key\":\"string\",\"messaging.system\":\"string\",method:\"string\",\"middleware.name\":\"string\",\"navigation.origin\":\"string\",\"navigation.route.id\":\"string\",\"navigation.type\":\"string\",\"nel.elapsed_time\":\"integer\",\"nel.phase\":\"string\",\"nel.referrer\":\"string\",\"nel.sampling_function\":\"double\",\"nel.type\":\"string\",\"network.connection.effective_type\":\"string\",\"network.connection.rtt\":\"integer\",\"network.connection.type\":\"string\",\"network.local.address\":\"string\",\"network.local.port\":\"integer\",\"network.peer.address\":\"string\",\"network.peer.port\":\"integer\",\"network.protocol.name\":\"string\",\"network.protocol.version\":\"string\",\"network.transport\":\"string\",\"network.type\":\"string\",\"net.host.ip\":\"string\",\"net.host.name\":\"string\",\"net.host.port\":\"integer\",\"net.peer.ip\":\"string\",\"net.peer.name\":\"string\",\"net.peer.port\":\"integer\",\"net.protocol.name\":\"string\",\"net.protocol.version\":\"string\",\"net.sock.family\":\"string\",\"net.sock.host.addr\":\"string\",\"net.sock.host.port\":\"integer\",\"net.sock.peer.addr\":\"string\",\"net.sock.peer.name\":\"string\",\"net.sock.peer.port\":\"integer\",\"net.transport\":\"string\",\"os.build\":\"string\",\"os.build_id\":\"string\",\"os.description\":\"string\",\"os.kernel_version\":\"string\",\"os.name\":\"string\",\"os.raw_description\":\"string\",\"os.rooted\":\"boolean\",\"os.theme\":\"string\",\"os.type\":\"string\",\"os.version\":\"string\",\"otel.kind\":\"string\",\"otel.scope.name\":\"string\",\"otel.scope.version\":\"string\",\"otel.status_code\":\"string\",\"otel.status_description\":\"string\",\"params.\":\"string\",\"performance.activationStart\":\"double\",\"performance.timeOrigin\":\"double\",previous_route:\"string\",\"process.command_args\":\"string[]\",\"process.executable.name\":\"string\",\"process.pid\":\"integer\",\"process.runtime.description\":\"string\",\"process.runtime.engine.name\":\"string\",\"process.runtime.engine.version\":\"string\",\"process.runtime.name\":\"string\",\"process.runtime.version\":\"string\",\"query.\":\"string\",\"react.version\":\"string\",release:\"string\",\"remix.action_form_data.\":\"string\",replay_id:\"string\",\"resource.deployment.environment\":\"string\",\"resource.deployment.environment.name\":\"string\",\"resource.render_blocking_status\":\"string\",route:\"string\",\"rpc.grpc.status_code\":\"integer\",\"rpc.method\":\"string\",\"rpc.response.status_code\":\"string\",\"rpc.service\":\"string\",\"rpc.system\":\"string\",\"rpc.system.name\":\"string\",\"runtime.build\":\"string\",\"runtime.name\":\"string\",\"runtime.raw_description\":\"string\",\"runtime.version\":\"string\",\"score.\":\"double\",\"score.ratio.\":\"double\",\"score.total\":\"double\",\"score.weight.\":\"double\",\"sentry.action\":\"string\",\"sentry.browser.name\":\"string\",\"sentry.browser.version\":\"string\",\"sentry.cancellation_reason\":\"string\",\"sentry.category\":\"string\",\"sentry.client_sample_rate\":\"double\",\"sentry.description\":\"string\",\"sentry.dist\":\"string\",\"sentry.domain\":\"string\",\"sentry.dsc.environment\":\"string\",\"sentry.dsc.project_id\":\"string\",\"sentry.dsc.public_key\":\"string\",\"sentry.dsc.release\":\"string\",\"sentry.dsc.sampled\":\"boolean\",\"sentry.dsc.sample_rate\":\"string\",\"sentry.dsc.trace_id\":\"string\",\"sentry.dsc.transaction\":\"string\",\"sentry.environment\":\"string\",\"sentry.exclusive_time\":\"double\",\"sentry.graphql.operation\":\"string\",\"sentry.group\":\"string\",\"sentry.http.prefetch\":\"boolean\",\"sentry.idle_span_finish_reason\":\"string\",\"sentry.is_remote\":\"boolean\",\"sentry.kind\":\"string\",\"sentry.main_thread\":\"boolean\",\"sentry.message.parameter.\":\"string\",\"sentry.message.template\":\"string\",\"sentry.metric.source\":\"string\",\"sentry.mobile\":\"boolean\",\"sentry.module.\":\"string\",\"sentry.nextjs.ssr.function.route\":\"string\",\"sentry.nextjs.ssr.function.type\":\"string\",\"sentry.normalized_db_query\":\"string\",\"sentry.normalized_db_query.hash\":\"string\",\"sentry.normalized_description\":\"string\",\"sentry.observed_timestamp_nanos\":\"string\",\"sentry.op\":\"string\",\"sentry.origin\":\"string\",\"sentry.platform\":\"string\",\"sentry.profiler_id\":\"string\",\"sentry.profile_id\":\"string\",\"sentry.release\":\"string\",\"sentry.replay_id\":\"string\",\"sentry.replay_is_buffering\":\"boolean\",\"sentry.report_event\":\"string\",\"sentry.sdk.integrations\":\"string[]\",\"sentry.sdk.name\":\"string\",\"sentry.sdk.version\":\"string\",\"sentry.segment.id\":\"string\",\"sentry.segment_id\":\"string\",\"sentry.segment.name\":\"string\",\"sentry.server_sample_rate\":\"double\",\"sentry.source\":\"string\",\"sentry.span.source\":\"string\",\"sentry.status\":\"string\",\"sentry.status_code\":\"integer\",\"sentry.status.message\":\"string\",\"sentry.sveltekit.navigation.from\":\"string\",\"sentry.sveltekit.navigation.to\":\"string\",\"sentry.sveltekit.navigation.type\":\"string\",\"sentry.thread.id\":\"integer\",\"sentry.timestamp.sequence\":\"integer\",\"sentry.trace_lifecycle\":\"string\",\"sentry.trace.parent_span_id\":\"string\",\"sentry.trace.status\":\"string\",\"sentry.transaction\":\"string\",\"sentry.user.email\":\"string\",\"sentry.user.geo.city\":\"string\",\"sentry.user.geo.country_code\":\"string\",\"sentry.user.geo.region\":\"string\",\"sentry.user.geo.subdivision\":\"string\",\"sentry.user.id\":\"string\",\"sentry.user.ip\":\"string\",\"sentry.user.username\":\"string\",\"server.address\":\"string\",server_name:\"string\",\"server.port\":\"integer\",\"service.name\":\"string\",\"service.version\":\"string\",\"session.id\":\"string\",stall_percentage:\"double\",stall_total_time:\"double\",\"state.type\":\"string\",\"thread.id\":\"integer\",\"thread.name\":\"string\",\"timber.tag\":\"string\",time_to_full_display:\"double\",time_to_initial_display:\"double\",transaction:\"string\",\"trpc.procedure_path\":\"string\",\"trpc.procedure_type\":\"string\",ttfb:\"double\",\"ttfb.requestTime\":\"double\",type:\"string\",\"ui.component_name\":\"string\",\"ui.contributes_to_ttfd\":\"boolean\",\"ui.contributes_to_ttid\":\"boolean\",\"ui.element.height\":\"integer\",\"ui.element.id\":\"string\",\"ui.element.identifier\":\"string\",\"ui.element.load_time\":\"double\",\"ui.element.paint_type\":\"string\",\"ui.element.render_time\":\"double\",\"ui.element.type\":\"string\",\"ui.element.url\":\"string\",\"ui.element.width\":\"integer\",url:\"string\",\"url.domain\":\"string\",\"url.fragment\":\"string\",\"url.full\":\"string\",\"url.path\":\"string\",\"url.path.parameter.\":\"string\",\"url.port\":\"integer\",\"url.query\":\"string\",\"url.same_origin\":\"boolean\",\"url.scheme\":\"string\",\"url.template\":\"string\",\"user_agent.original\":\"string\",\"user.email\":\"string\",\"user.full_name\":\"string\",\"user.geo.city\":\"string\",\"user.geo.country_code\":\"string\",\"user.geo.region\":\"string\",\"user.geo.subdivision\":\"string\",\"user.hash\":\"string\",\"user.id\":\"string\",\"user.ip_address\":\"string\",\"user.name\":\"string\",\"user.roles\":\"string[]\",\"vercel.branch\":\"string\",\"vercel.build_id\":\"string\",\"vercel.deployment_id\":\"string\",\"vercel.destination\":\"string\",\"vercel.edge_type\":\"string\",\"vercel.entrypoint\":\"string\",\"vercel.execution_region\":\"string\",\"vercel.id\":\"string\",\"vercel.ja3_digest\":\"string\",\"vercel.ja4_digest\":\"string\",\"vercel.log_type\":\"string\",\"vercel.path\":\"string\",\"vercel.project_id\":\"string\",\"vercel.project_name\":\"string\",\"vercel.proxy.cache_id\":\"string\",\"vercel.proxy.client_ip\":\"string\",\"vercel.proxy.host\":\"string\",\"vercel.proxy.lambda_region\":\"string\",\"vercel.proxy.method\":\"string\",\"vercel.proxy.path\":\"string\",\"vercel.proxy.path_type\":\"string\",\"vercel.proxy.path_type_variant\":\"string\",\"vercel.proxy.referer\":\"string\",\"vercel.proxy.region\":\"string\",\"vercel.proxy.response_byte_size\":\"integer\",\"vercel.proxy.scheme\":\"string\",\"vercel.proxy.status_code\":\"integer\",\"vercel.proxy.timestamp\":\"integer\",\"vercel.proxy.user_agent\":\"string[]\",\"vercel.proxy.vercel_cache\":\"string\",\"vercel.proxy.vercel_id\":\"string\",\"vercel.proxy.waf_action\":\"string\",\"vercel.proxy.waf_rule_id\":\"string\",\"vercel.request_id\":\"string\",\"vercel.source\":\"string\",\"vercel.status_code\":\"integer\"},Bb={\"ai.citations\":{brief:\"References or sources cited by the AI model in its response.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Citation 1\",\"Citation 2\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.completion_tokens.used\":{brief:\"The number of tokens used to respond to the message.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:10,deprecation:{replacement:\"gen_ai.usage.output_tokens\"},aliases:[\"gen_ai.usage.output_tokens\",\"gen_ai.usage.completion_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61]},{version:\"0.0.0\"}]},\"ai.documents\":{brief:\"Documents or content chunks used as context for the AI model.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"document1.txt\",\"document2.pdf\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.finish_reason\":{brief:\"The reason why the model stopped generating.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"COMPLETE\",deprecation:{replacement:\"gen_ai.response.finish_reasons\"},aliases:[\"gen_ai.response.finish_reasons\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.frequency_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,deprecation:{replacement:\"gen_ai.request.frequency_penalty\"},aliases:[\"gen_ai.request.frequency_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.function_call\":{brief:\"For an AI model call, the function that was called. This is deprecated for OpenAI, and replaced by tool_calls\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"function_name\",deprecation:{replacement:\"gen_ai.tool.name\"},aliases:[\"gen_ai.tool.name\",\"mcp.tool.name\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.generation_id\":{brief:\"Unique identifier for the completion.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gen_123abc\",deprecation:{replacement:\"gen_ai.response.id\"},aliases:[\"gen_ai.response.id\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.input_messages\":{brief:\"The input messages sent to the model\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"gen_ai.request.messages\"],changelog:[{version:\"0.1.0\",prs:[65,119]},{version:\"0.0.0\"}]},\"ai.is_search_required\":{brief:\"Boolean indicating if the model needs to perform a search.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.metadata\":{brief:\"Extra metadata passed to an AI pipeline step.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"user_id\": 123, \"session_id\": \"abc123\"}',deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.model_id\":{brief:\"The vendor-specific ID of the model used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gpt-4\",deprecation:{replacement:\"gen_ai.response.model\"},aliases:[\"gen_ai.response.model\"],changelog:[{version:\"0.1.0\",prs:[57,61,127]},{version:\"0.0.0\"}]},\"ai.model.provider\":{brief:\"The provider of the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"openai\",deprecation:{replacement:\"gen_ai.provider.name\"},aliases:[\"gen_ai.provider.name\",\"gen_ai.system\"],changelog:[{version:\"0.4.0\",prs:[253]},{version:\"0.1.0\",prs:[57,61,108,127]}]},\"ai.pipeline.name\":{brief:\"The name of the AI pipeline.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Autofix Pipeline\",deprecation:{replacement:\"gen_ai.pipeline.name\"},aliases:[\"gen_ai.pipeline.name\"],changelog:[{version:\"0.1.0\",prs:[53,76,108,127]}]},\"ai.preamble\":{brief:\"For an AI model call, the preamble parameter. Preambles are a part of the prompt used to adjust the model's overall behavior and conversation style.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"You are now a clown.\",deprecation:{replacement:\"gen_ai.system_instructions\"},aliases:[\"gen_ai.system_instructions\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.presence_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,deprecation:{replacement:\"gen_ai.request.presence_penalty\"},aliases:[\"gen_ai.request.presence_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.prompt_tokens.used\":{brief:\"The number of tokens used to process just the prompt.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:20,deprecation:{replacement:\"gen_ai.usage.input_tokens\"},aliases:[\"gen_ai.usage.prompt_tokens\",\"gen_ai.usage.input_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61]},{version:\"0.0.0\"}]},\"ai.raw_prompting\":{brief:\"When enabled, the user\\u2019s prompt will be sent to the model without any pre-processing.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.responses\":{brief:\"The response messages sent back by the AI model.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"hello\",\"world\"],deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.1.0\",prs:[65,127]},{version:\"0.0.0\"}]},\"ai.response_format\":{brief:\"For an AI model call, the format of the response\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"json_object\",deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.search_queries\":{brief:\"Queries used to search for relevant context or documents.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"climate change effects\",\"renewable energy\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.search_results\":{brief:\"Results returned from search queries for context.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"search_result_1, search_result_2\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.seed\":{brief:\"The seed, ideally models given the same seed and same other parameters will produce the exact same output.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",deprecation:{replacement:\"gen_ai.request.seed\"},aliases:[\"gen_ai.request.seed\"],changelog:[{version:\"0.1.0\",prs:[55,57,61,108,127]}]},\"ai.streaming\":{brief:\"Whether the request was streamed back.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{replacement:\"gen_ai.response.streaming\"},aliases:[\"gen_ai.response.streaming\"],changelog:[{version:\"0.1.0\",prs:[76,108]},{version:\"0.0.0\"}]},\"ai.tags\":{brief:\"Tags that describe an AI pipeline step.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"executed_function\": \"add_integers\"}',deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55,127]}]},\"ai.temperature\":{brief:\"For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.1,deprecation:{replacement:\"gen_ai.request.temperature\"},aliases:[\"gen_ai.request.temperature\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.texts\":{brief:\"Raw text inputs provided to the model.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Hello, how are you?\",\"What is the capital of France?\"],deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"gen_ai.input.messages\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"ai.tools\":{brief:\"For an AI model call, the functions that are available\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"function_1\",\"function_2\"],deprecation:{replacement:\"gen_ai.tool.definitions\"},changelog:[{version:\"0.1.0\",prs:[55,65,127]}]},\"ai.tool_calls\":{brief:\"For an AI model call, the tool calls that were made.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"tool_call_1\",\"tool_call_2\"],deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.1.0\",prs:[55,65]}]},\"ai.top_k\":{brief:\"Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:35,deprecation:{replacement:\"gen_ai.request.top_k\"},aliases:[\"gen_ai.request.top_k\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.top_p\":{brief:\"Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.7,deprecation:{replacement:\"gen_ai.request.top_p\"},aliases:[\"gen_ai.request.top_p\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[55,57,61,108]}]},\"ai.total_cost\":{brief:\"The total cost for the tokens used.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,deprecation:{replacement:\"gen_ai.cost.total_tokens\"},aliases:[\"gen_ai.cost.total_tokens\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[53]}]},\"ai.total_tokens.used\":{brief:\"The total number of tokens used to process the prompt.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:30,deprecation:{replacement:\"gen_ai.usage.total_tokens\"},aliases:[\"gen_ai.usage.total_tokens\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57,61,108]},{version:\"0.0.0\"}]},\"ai.warnings\":{brief:\"Warning messages generated during model execution.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"Token limit exceeded\"],deprecation:{},changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.1.0\",prs:[55]}]},\"angular.version\":{brief:\"The version of the Angular framework\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"17.1.0\",changelog:[{version:\"0.7.0\",prs:[367],description:\"Added angular.version attribute\"}]},\"app.app_build\":{brief:\"Internal build identifier, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",deprecation:{replacement:\"app.build\",reason:\"Deprecated in favor of app.build\"},aliases:[\"app.build\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_build in favor of app.build\"}]},\"app.app_identifier\":{brief:\"Version-independent application identifier, often a dotted bundle ID.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"com.example.myapp\",deprecation:{replacement:\"app.identifier\",reason:\"Deprecated in favor of app.identifier\"},aliases:[\"app.identifier\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_identifier in favor of app.identifier\"}]},\"app.app_name\":{brief:\"Human readable application name, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"My App\",deprecation:{replacement:\"app.name\",reason:\"Deprecated in favor of app.name\"},aliases:[\"app.name\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_name in favor of app.name\"}]},\"app.app_start_time\":{brief:\"Formatted UTC timestamp when the user started the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2025-01-01T00:00:00.000Z\",deprecation:{replacement:\"app.start_time\",reason:\"Deprecated in favor of app.start_time\"},aliases:[\"app.start_time\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_start_time in favor of app.start_time\"}]},\"app.app_version\":{brief:\"Human readable application version, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",deprecation:{replacement:\"app.version\",reason:\"Deprecated in favor of app.version\"},aliases:[\"app.version\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added and deprecated app.app_version in favor of app.version\"}]},\"app.build\":{brief:\"Internal build identifier, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",aliases:[\"app.app_build\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.build attribute\"}]},\"app.identifier\":{brief:\"Version-independent application identifier, often a dotted bundle ID.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"com.example.myapp\",aliases:[\"app.app_identifier\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.identifier attribute\"}]},\"app.in_foreground\":{brief:\"Whether the application is currently in the foreground.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.in_foreground attribute\"}]},\"app.name\":{brief:\"Human readable application name, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"My App\",aliases:[\"app.app_name\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.name attribute\"}]},app_start_cold:{brief:\"The duration of a cold app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.start.cold.value\",reason:\"Replaced by app.vitals.start.cold.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.cold.value\"],changelog:[{version:\"0.5.0\",prs:[323],description:\"Added and deprecated in favor of app.vitals.start.cold.value\"}]},\"app.start_time\":{brief:\"Formatted UTC timestamp when the user started the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2025-01-01T00:00:00.000Z\",aliases:[\"app.app_start_time\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.start_time attribute\"}]},app_start_type:{brief:\"Mobile app start variant. Either cold or warm.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cold\",deprecation:{replacement:\"app.vitals.start.type\",reason:\"Replaced by app.vitals.start.type to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.type\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.start.type\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},app_start_warm:{brief:\"The duration of a warm app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.start.warm.value\",reason:\"Replaced by app.vitals.start.warm.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.start.warm.value\"],changelog:[{version:\"0.5.0\",prs:[323],description:\"Added and deprecated in favor of app.vitals.start.warm.value\"}]},\"app.version\":{brief:\"Human readable application version, as it appears on the platform.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",aliases:[\"app.app_version\"],changelog:[{version:\"0.5.0\",prs:[296],description:\"Added app.version attribute\"}]},\"app.vitals.frames.delay.value\":{brief:\"The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5,aliases:[\"frames.delay\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.delay.value to replace frames.delay\"}]},\"app.vitals.frames.frozen.count\":{brief:\"The number of frozen frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,aliases:[\"frames.frozen\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.frozen.count to replace frames.frozen\"}]},\"app.vitals.frames.slow.count\":{brief:\"The number of slow frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,aliases:[\"frames.slow\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.slow.count to replace frames.slow\"}]},\"app.vitals.frames.total.count\":{brief:\"The number of total frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:60,aliases:[\"frames.total\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.frames.total.count to replace frames.total\"}]},\"app.vitals.start.cold.value\":{brief:\"The duration of a cold app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"app_start_cold\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.cold.value attribute\"}]},\"app.vitals.start.prewarmed\":{brief:\"Whether the app start was prewarmed.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.11.0\",prs:[379],description:\"Added app.vitals.start.prewarmed attribute\"}]},\"app.vitals.start.reason\":{brief:\"The reason that triggered the app start.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"push\",changelog:[{version:\"0.7.0\",prs:[353],description:\"Added app.vitals.start.reason attribute\"}]},\"app.vitals.start.screen\":{brief:\"The screen that is rendered when the app start is complete. This is the screen the user first sees and can interact with after launch. The absence of this attribute on the app start span indicates a background app start where no UI was rendered.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MainActivity\",changelog:[{version:\"0.7.0\",prs:[353],description:\"Added app.vitals.start.screen attribute\"}]},\"app.vitals.start.type\":{brief:\"The type of app start, for example `cold` or `warm`\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cold\",aliases:[\"app_start_type\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.type attribute\"}]},\"app.vitals.start.warm.value\":{brief:\"The duration of a warm app start in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"app_start_warm\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.start.warm.value attribute\"}]},\"app.vitals.ttfd.value\":{brief:\"The duration of time to full display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"time_to_full_display\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.ttfd.value attribute\"}]},\"app.vitals.ttid.value\":{brief:\"The duration of time to initial display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,aliases:[\"time_to_initial_display\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added app.vitals.ttid.value attribute\"}]},\"art.gc.blocking_count\":{brief:\"Total number of blocking (stop-the-world) garbage collections performed by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.blocking_count attribute\"}]},\"art.gc.blocking_time\":{brief:\"Total time spent in blocking (stop-the-world) garbage collections by the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:11.873,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.blocking_time attribute\"}]},\"art.gc.pre_oome_count\":{brief:\"Total number of garbage collections triggered as a last resort before an OutOfMemoryError by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:0,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.pre_oome_count attribute\"}]},\"art.gc.total_count\":{brief:\"Total number of garbage collections performed by the Android Runtime\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.total_count attribute\"}]},\"art.gc.total_time\":{brief:\"Total time spent in garbage collection by the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:11.807,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.total_time attribute\"}]},\"art.gc.waiting_time\":{brief:\"Total time threads spent waiting for garbage collection to complete in the Android Runtime, in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8.054,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.gc.waiting_time attribute\"}]},\"art.memory.free\":{brief:\"Free memory available to the process as reported by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3181568,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free attribute\"}]},\"art.memory.free_until_gc\":{brief:\"Free memory available before a garbage collection would be triggered by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3181568,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free_until_gc attribute\"}]},\"art.memory.free_until_oome\":{brief:\"Free memory available before an OutOfMemoryError would be thrown by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:196083712,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.free_until_oome attribute\"}]},\"art.memory.max\":{brief:\"Maximum memory the process is allowed to use as reported by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:201326592,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.max attribute\"}]},\"art.memory.total\":{brief:\"Total memory currently allocated to the process by the Android Runtime, in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:7774208,changelog:[{version:\"0.11.0\",prs:[382],description:\"Added art.memory.total attribute\"}]},\"aws.cloudwatch.logs.log_group\":{brief:\"The name of the CloudWatch Logs log group\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/aws/lambda/my-function\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.log_group attribute\"}]},\"aws.cloudwatch.logs.log_stream\":{brief:\"The name of the CloudWatch Logs log stream\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024/01/01/[$LATEST]abcdef1234567890\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.log_stream attribute\"}]},\"aws.cloudwatch.logs.url\":{brief:\"The URL to the CloudWatch Logs log group\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https://console.aws.amazon.com/cloudwatch/home?region=us-east-1#logsV2:log-groups/log-group/my-log-group\",changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.cloudwatch.logs.url attribute\"}]},\"aws.dynamodb.attribute_definitions\":{brief:\"The JSON-serialized value of each item in the `AttributeDefinitions` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"AttributeName\": \"string\", \"AttributeType\": \"string\" }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.attribute_definitions attribute\"}]},\"aws.dynamodb.consistent_read\":{brief:\"The value of the `ConsistentRead` request parameter.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.consistent_read attribute\"}]},\"aws.dynamodb.consumed_capacity\":{brief:\"The JSON-serialized value of each item in the `ConsumedCapacity` response field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"CapacityUnits\": number, \"GlobalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"LocalSecondaryIndexes\": { \"string\" : { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }, \"ReadCapacityUnits\": number, \"Table\": { \"CapacityUnits\": number, \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number }, \"TableName\": \"string\", \"WriteCapacityUnits\": number }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.consumed_capacity attribute\"}]},\"aws.dynamodb.count\":{brief:\"The value of the `Count` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.count attribute\"}]},\"aws.dynamodb.exclusive_start_table\":{brief:\"The value of the `ExclusiveStartTableName` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Users\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.exclusive_start_table attribute\"}]},\"aws.dynamodb.global_secondary_indexes\":{brief:\"The JSON-serialized value of each item of the `GlobalSecondaryIndexes` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.global_secondary_indexes attribute\"}]},\"aws.dynamodb.global_secondary_index_updates\":{brief:\"The JSON-serialized value of each item in the `GlobalSecondaryIndexUpdates` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"Create\": { \"IndexName\": \"string\", \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" }, \"ProvisionedThroughput\": { \"ReadCapacityUnits\": number, \"WriteCapacityUnits\": number } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.global_secondary_index_updates attribute\"}]},\"aws.dynamodb.index_name\":{brief:\"The value of the `IndexName` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"name_to_group\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.index_name attribute\"}]},\"aws.dynamodb.item_collection_metrics\":{brief:\"The JSON-serialized value of the `ItemCollectionMetrics` response field.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'{ \"string\" : [ { \"ItemCollectionKey\": { \"string\" : { \"B\": blob, \"BOOL\": boolean, \"BS\": [ blob ], \"L\": [ \"AttributeValue\" ], \"M\": { \"string\" : \"AttributeValue\" }, \"N\": \"string\", \"NS\": [ \"string\" ], \"NULL\": boolean, \"S\": \"string\", \"SS\": [ \"string\" ] } }, \"SizeEstimateRangeGB\": [ number ] } ] }',changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.item_collection_metrics attribute\"}]},\"aws.dynamodb.limit\":{brief:\"The value of the `Limit` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.limit attribute\"}]},\"aws.dynamodb.local_secondary_indexes\":{brief:\"The JSON-serialized value of each item of the `LocalSecondaryIndexes` request field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:['{ \"IndexArn\": \"string\", \"IndexName\": \"string\", \"IndexSizeBytes\": number, \"ItemCount\": number, \"KeySchema\": [ { \"AttributeName\": \"string\", \"KeyType\": \"string\" } ], \"Projection\": { \"NonKeyAttributes\": [ \"string\" ], \"ProjectionType\": \"string\" } }'],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.local_secondary_indexes attribute\"}]},\"aws.dynamodb.projection\":{brief:\"The value of the `ProjectionExpression` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Title, Price, Color\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.projection attribute\"}]},\"aws.dynamodb.provisioned_read_capacity\":{brief:\"The value of the `ProvisionedThroughput.ReadCapacityUnits` request parameter.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.provisioned_read_capacity attribute\"}]},\"aws.dynamodb.provisioned_write_capacity\":{brief:\"The value of the `ProvisionedThroughput.WriteCapacityUnits` request parameter.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.provisioned_write_capacity attribute\"}]},\"aws.dynamodb.scanned_count\":{brief:\"The value of the `ScannedCount` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:50,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.scanned_count attribute\"}]},\"aws.dynamodb.scan_forward\":{brief:\"The value of the `ScanIndexForward` request parameter.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.scan_forward attribute\"}]},\"aws.dynamodb.segment\":{brief:\"The value of the `Segment` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.segment attribute\"}]},\"aws.dynamodb.select\":{brief:\"The value of the `Select` request parameter.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ALL_ATTRIBUTES\",changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.select attribute\"}]},\"aws.dynamodb.table_count\":{brief:\"The number of items in the `TableNames` response parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:20,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.table_count attribute\"}]},\"aws.dynamodb.table_names\":{brief:\"The keys in the `RequestItems` object field.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"Users\",\"Cats\"],changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.table_names attribute\"}]},\"aws.dynamodb.total_segments\":{brief:\"The value of the `TotalSegments` request parameter.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:100,changelog:[{version:\"0.16.0\",prs:[479],description:\"Added aws.dynamodb.total_segments attribute\"}]},\"aws.extended_request_id\":{brief:\"The AWS extended request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=\",aliases:[\"aws.request.extended_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.extended_request_id attribute\"}]},\"aws.kinesis.stream_name\":{brief:\"The name of the AWS Kinesis stream the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"some-stream-name\",aliases:[\"aws.kinesis.stream.name\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.kinesis.stream_name attribute\"}]},\"aws.kinesis.stream.name\":{brief:\"The name of the AWS Kinesis stream the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"some-stream-name\",deprecation:{replacement:\"aws.kinesis.stream_name\",reason:\"This attribute is being deprecated in favor of aws.kinesis.stream_name, which is the OTel-aligned replacement.\"},aliases:[\"aws.kinesis.stream_name\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.kinesis.stream.name attribute, deprecated in favor of aws.kinesis.stream_name\"}]},\"aws.lambda.aws_request_id\":{brief:\"The AWS request ID as received by the Lambda function runtime\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"8476a536-e9f4-11e8-9739-2dfe598c3fcd\",deprecation:{replacement:\"faas.invocation_id\",reason:\"This attribute is being deprecated in favor of faas.invocation_id\"},aliases:[\"faas.invocation_id\",\"faas.execution\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution as an alias\"},{version:\"0.11.1\",prs:[414,424],description:\"Deprecated aws.lambda.aws_request_id in favor of faas.invocation_id\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.aws_request_id attribute\"}]},\"aws.lambda.execution_duration_in_millis\":{brief:\"The execution duration of the Lambda function invocation in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.execution_duration_in_millis attribute\"}]},\"aws.lambda.function_name\":{brief:\"The name of the Lambda function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-function\",deprecation:{replacement:\"faas.name\",reason:\"Use the OTel-aligned faas.name attribute instead\"},aliases:[\"faas.name\"],changelog:[{version:\"0.11.1\",prs:[414],description:\"Deprecated aws.lambda.function_name in favor of faas.name\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.function_name attribute\"}]},\"aws.lambda.function_version\":{brief:\"The version of the Lambda function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"$LATEST\",deprecation:{replacement:\"faas.version\",reason:\"Use the OTel-aligned faas.version attribute instead\"},aliases:[\"faas.version\"],changelog:[{version:\"0.11.1\",prs:[414,424],description:\"Deprecated aws.lambda.function_version in favor of faas.version\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.function_version attribute\"}]},\"aws.lambda.invoked_arn\":{brief:\"The full ARN of the Lambda function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:lambda:us-east-1:123456789012:function:my-function\",aliases:[\"aws.lambda.invoked_function_arn\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.lambda.invoked_function_arn\":{brief:\"The full ARN of the Lambda function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"arn:aws:lambda:us-east-1:123456789012:function:my-function\",deprecation:{replacement:\"aws.lambda.invoked_arn\",reason:\"This attribute is being deprecated in favor of aws.lambda.invoked_arn\"},aliases:[\"aws.lambda.invoked_arn\"],changelog:[{version:\"0.11.1\",prs:[414],description:\"Deprecated aws.lambda.invoked_function_arn in favor of aws.lambda.invoked_arn\"},{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.invoked_function_arn attribute\"}]},\"aws.lambda.remaining_time_in_millis\":{brief:\"The remaining time in milliseconds before the Lambda function times out\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5e3,changelog:[{version:\"0.7.0\",prs:[369],description:\"Added aws.lambda.remaining_time_in_millis attribute\"}]},\"aws.log.group.names\":{brief:\"The name(s) of the AWS log group(s) an application is writing to.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"/aws/lambda/my-function\",\"opentelemetry-service\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.log.stream.names\":{brief:\"The name(s) of the AWS log stream(s) an application is writing to.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"logs/main/10838bed-421f-43ef-870a-f43feacbbb5b\"],changelog:[{version:\"0.11.1\",prs:[414]}]},\"aws.request.extended_id\":{brief:\"The AWS extended request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wzHcyEWfmOGDIE5QOhTAqFDoDWP3y8IUvpNINCwL9N4TEHbUw0/gZJ+VZTmCNCWR7fezEN3eCiQ=\",deprecation:{replacement:\"aws.extended_request_id\",reason:\"This attribute is being deprecated in favor of aws.extended_request_id, which is the OTel-aligned replacement.\"},aliases:[\"aws.extended_request_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request.extended_id attribute, deprecated in favor of aws.extended_request_id\"}]},\"aws.request_id\":{brief:\"The AWS request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"79b9da39-b7ae-508a-a6bc-864b2829c622\",aliases:[\"aws.request.id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request_id attribute\"}]},\"aws.request.id\":{brief:\"The AWS request ID as returned in the response headers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"79b9da39-b7ae-508a-a6bc-864b2829c622\",deprecation:{replacement:\"aws.request_id\",reason:\"This attribute is being deprecated in favor of aws.request_id, which is the OTel-aligned replacement.\"},aliases:[\"aws.request_id\"],changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.request.id attribute, deprecated in favor of aws.request_id\"}]},\"aws.s3.bucket\":{brief:\"The S3 bucket name the request refers to.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ot-demo-test\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.s3.bucket attribute\"}]},\"aws.secretsmanager.secret.arn\":{brief:\"The ARN of the Secret stored in Secrets Manager.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:secretsmanager:us-east-1:123456789012:secret:SecretName-6RandomCharacters\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.secretsmanager.secret.arn attribute\"}]},\"aws.sns.topic.arn\":{brief:\"The ARN of the AWS SNS Topic. An Amazon SNS topic is a logical access point that acts as a communication channel.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:sns:us-east-1:123456789012:mystack-mytopic-NZJ5JSMVGFIE\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.sns.topic.arn attribute\"}]},\"aws.step_functions.activity.arn\":{brief:\"The ARN of the AWS Step Functions Activity.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:states:us-east-1:123456789012:activity:get-greeting\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.step_functions.activity.arn attribute\"}]},\"aws.step_functions.state_machine.arn\":{brief:\"The ARN of the AWS Step Functions State Machine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:states:us-east-1:123456789012:stateMachine:myStateMachine:1\",changelog:[{version:\"0.16.0\",prs:[480],description:\"Added aws.step_functions.state_machine.arn attribute\"}]},blocked_main_thread:{brief:\"Whether the main thread was blocked by the span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"browser.name\":{brief:\"The name of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Chrome\",aliases:[\"sentry.browser.name\"],changelog:[{version:\"0.1.0\",prs:[127,139]},{version:\"0.0.0\"}]},\"browser.performance.navigation.activation_start\":{brief:\"The time between initiating a navigation to a page and the browser activating the page\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.983,aliases:[\"performance.activationStart\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added browser.performance.navigation.activation_start attribute\"}]},\"browser.performance.time_origin\":{brief:\"The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1776185678886e-3,aliases:[\"performance.timeOrigin\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added browser.performance.time_origin attribute attribute\"}]},\"browser.report.type\":{brief:\"A browser report sent via reporting API..\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"network-error\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"browser.script.invoker\":{brief:\"How a script was called in the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Window.requestAnimationFrame\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"browser.script.invoker_type\":{brief:\"Browser script entry point type.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"event-listener\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"browser.script.source_char_position\":{brief:\"A number representing the script character position of the script.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:678,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"browser.version\":{brief:\"The version of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"120.0.6099.130\",aliases:[\"sentry.browser.version\"],changelog:[{version:\"0.1.0\",prs:[59,127,139]}]},\"browser.web_vital.cls.report_event\":{brief:\"The event that caused the SDK to report CLS (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"navigation\",changelog:[{version:\"0.5.0\",prs:[319],description:\"Added browser.web_vital.cls.report_event attribute\"}]},\"browser.web_vital.cls.source.\":{brief:\"The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"body > div#app\",aliases:[\"cls.source.\"],changelog:[{version:\"0.5.0\",prs:[234]}]},\"browser.web_vital.cls.value\":{brief:\"The value of the recorded Cumulative Layout Shift (CLS) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.2361,aliases:[\"cls\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.cls.value attribute\"}]},\"browser.web_vital.fcp.value\":{brief:\"The time it takes for the browser to render the first piece of meaningful content on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:547.6951,aliases:[\"fcp\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.fp.value\":{brief:\"The time in milliseconds it takes for the browser to render the first pixel on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:477.1926,aliases:[\"fp\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.inp.value\":{brief:\"The value of the recorded Interaction to Next Paint (INP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,aliases:[\"inp\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.inp.value attribute\"}]},\"browser.web_vital.lcp.element\":{brief:\"The HTML element selector or component name for which LCP was reported\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"body > div#app > div#container > div\",aliases:[\"lcp.element\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.id\":{brief:\"The id of the dom element responsible for the largest contentful paint\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"#gero\",aliases:[\"lcp.id\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.load_time\":{brief:\"The time it took for the LCP element to be loaded\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1402,aliases:[\"lcp.loadTime\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.render_time\":{brief:\"The time it took for the LCP element to be rendered\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1685,aliases:[\"lcp.renderTime\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.report_event\":{brief:\"The event that caused the SDK to report LCP (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pagehide\",changelog:[{version:\"0.5.0\",prs:[319],description:\"Added browser.web_vital.lcp.report_event attribute\"}]},\"browser.web_vital.lcp.size\":{brief:\"The size of the largest contentful paint element\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1024,aliases:[\"lcp.size\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.url\":{brief:\"The url of the dom element responsible for the largest contentful paint\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/static/img.png\",aliases:[\"lcp.url\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"browser.web_vital.lcp.value\":{brief:\"The value of the recorded Largest Contentful Paint (LCP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2500,aliases:[\"lcp\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added browser.web_vital.lcp.value attribute\"}]},\"browser.web_vital.ttfb.request_time\":{brief:\"The time it takes for the server to process the initial request and send the first byte of a response to the user's browser\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1554.5814,aliases:[\"ttfb.requestTime\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"browser.web_vital.ttfb.value\":{brief:\"The value of the recorded Time To First Byte (TTFB) web vital in Milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:194.3322,aliases:[\"ttfb\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"cache.hit\":{brief:\"If the cache was hit during this span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"cache.item_size\":{brief:\"The size of the requested item in the cache. In bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:58,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cache.key\":{brief:\"The key of the cache accessed.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"my-cache-key\",\"my-other-cache-key\"],changelog:[{version:\"0.0.0\"}]},\"cache.operation\":{brief:\"The operation being performed on the cache.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"get\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"cache.ttl\":{brief:\"The ttl of the cache in seconds\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:120,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cache.write\":{brief:\"If the cache operation resulted in a write to the cache.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},channel:{brief:\"The channel name that is being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"mail\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"client.address\":{brief:\"Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",aliases:[\"http.client_ip\"],changelog:[{version:\"0.1.0\",prs:[106,127]},{version:\"0.0.0\"}]},\"client.port\":{brief:\"Client port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:5432,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.duration\":{brief:\"The duration of a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:543,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.query_type\":{brief:\"The type of query executed in a Cloudflare D1 operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"run\",deprecation:{replacement:\"db.operation.name\"},aliases:[\"db.operation.name\",\"db.operation\"],changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.d1.query_type attribute\"}]},\"cloudflare.d1.rows_read\":{brief:\"The number of rows read in a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.d1.rows_written\":{brief:\"The number of rows written in a Cloudflare D1 operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"cloudflare.durable_object.query.bindings\":{brief:\"The number of bound parameters passed to the SQL exec call.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.query.bindings attribute\"}]},\"cloudflare.durable_object.response.rows_read\":{brief:\"The number of rows read by a Cloudflare Durable Object SQL operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.response.rows_read attribute\"}]},\"cloudflare.durable_object.response.rows_written\":{brief:\"The number of rows written by a Cloudflare Durable Object SQL operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.13.0\",prs:[435],description:\"Added cloudflare.durable_object.response.rows_written attribute\"}]},\"cloudflare.r2.bucket\":{brief:\"The name of the Cloudflare R2 bucket binding\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MY_BUCKET\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.bucket attribute\"}]},\"cloudflare.r2.operation\":{brief:\"The R2 API operation being performed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GetObject\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.operation attribute\"}]},\"cloudflare.r2.request.delimiter\":{brief:\"The delimiter used to group objects in an R2 list operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.delimiter attribute\"}]},\"cloudflare.r2.request.key\":{brief:\"The object key used in the R2 operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-file.txt\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.key attribute\"}]},\"cloudflare.r2.request.part_number\":{brief:\"The part number in a multipart upload operation\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.part_number attribute\"}]},\"cloudflare.r2.request.prefix\":{brief:\"The prefix used to filter objects in an R2 list operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"images/\",changelog:[{version:\"0.11.1\",prs:[413],description:\"Added cloudflare.r2.request.prefix attribute\"}]},\"cloudflare.workflow.attempt\":{brief:\"The current attempt number for a Cloudflare Workflow step\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.attempt attribute\"}]},\"cloudflare.workflow.retries.backoff\":{brief:\"The backoff strategy for Cloudflare Workflow step retries\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"exponential\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.backoff attribute\"}]},\"cloudflare.workflow.retries.delay\":{brief:\"The delay between Cloudflare Workflow step retries\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"5 seconds\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.delay attribute\"}]},\"cloudflare.workflow.retries.limit\":{brief:\"The maximum number of retries for a Cloudflare Workflow step\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.retries.limit attribute\"}]},\"cloudflare.workflow.timeout\":{brief:\"The timeout duration for a Cloudflare Workflow step\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1 minute\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added cloudflare.workflow.timeout attribute\"}]},\"cloud.account.id\":{brief:\"The cloud account ID the resource is assigned to\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"123456789012\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.account.id attribute\"}]},\"cloud.availability_zone\":{brief:\"Cloud regions often have multiple, isolated locations known as zones to increase availability\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"us-east-1c\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.availability_zone attribute\"}]},\"cloud.platform\":{brief:\"The cloud platform in use\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws_lambda\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.platform attribute\"}]},\"cloud.provider\":{brief:\"Name of the cloud provider\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.provider attribute\"}]},\"cloud.region\":{brief:\"The geographical region the resource is running\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"us-east-1\",changelog:[{version:\"0.7.0\",prs:[364],description:\"Added cloud.region attribute\"}]},\"cloud.resource_id\":{brief:\"Cloud provider-specific native identifier of the monitored cloud resource\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function\",aliases:[\"faas.id\"],changelog:[{version:\"0.16.0\",prs:[475],description:\"Added faas.id as an alias\"},{version:\"0.11.1\",prs:[414]}],additionalContext:[\"This can be an identifier for a resource in AWS, GCP, or Azure. There may be some overlap in values found here with other attributes. For instance, an AWS lambda ARN may be found here as well as in `aws.lambda.invoked_arn`. OTEL recommends setting them alongside each other.\"]},cls:{brief:\"The value of the recorded Cumulative Layout Shift (CLS) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.2361,deprecation:{replacement:\"browser.web_vital.cls.value\",reason:\"The CLS web vital is now recorded as a browser.web_vital.cls.value attribute.\"},aliases:[\"browser.web_vital.cls.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"cls.source.\":{brief:\"The HTML elements or components responsible for the layout shift. is a numeric index from 1 to N\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"body > div#app\",deprecation:{replacement:\"browser.web_vital.cls.source.\",reason:\"The CLS source is now recorded as a browser.web_vital.cls.source. attribute.\"},aliases:[\"browser.web_vital.cls.source.\"],changelog:[{version:\"0.5.0\",prs:[234]}]},\"code.filepath\":{brief:\"The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/app/myapplication/http/handler/server.py\",deprecation:{replacement:\"code.file.path\"},aliases:[\"code.file.path\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"code.file.path\":{brief:\"The source code file name that identifies the code unit as uniquely as possible (preferably an absolute file path).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/app/myapplication/http/handler/server.py\",aliases:[\"code.filepath\"],changelog:[{version:\"0.0.0\"}]},\"code.function\":{brief:\"The method or function name, or equivalent (usually rightmost part of the code unit's name).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"server_request\",aliases:[\"code.function.name\"],changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},\"code.function.name\":{brief:\"The method or function fully-qualified name without arguments.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"server_request\",aliases:[\"code.function\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"code.lineno\":{brief:\"The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:42,deprecation:{replacement:\"code.line.number\"},aliases:[\"code.line.number\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61,108]},{version:\"0.0.0\"}]},\"code.line.number\":{brief:\"The line number in code.filepath best representing the operation. It SHOULD point within the code unit named in code.function\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:42,aliases:[\"code.lineno\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"code.namespace\":{brief:\"The 'namespace' within which code.function is defined. Usually the qualified class or module name, such that code.namespace + some separator + code.function form a unique identifier for the code unit.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http.handler\",changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},connectionType:{brief:\"Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wifi\",deprecation:{replacement:\"network.connection.type\",reason:\"Old namespace-less attribute, to be replaced with network.connection.type for span-first future\"},aliases:[\"network.connection.type\",\"device.connection_type\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"connection.rtt\":{brief:\"Specifies the estimated effective round-trip time of the current connection, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,deprecation:{replacement:\"network.connection.rtt\",reason:\"Old attribute name (no official namespace), to be replaced with network.connection.rtt for span-first future\"},aliases:[\"network.connection.rtt\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"culture.calendar\":{brief:\"The calendar system used by the culture.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GregorianCalendar\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.display_name\":{brief:\"Human readable name of the culture.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"English (United States)\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.is_24_hour_format\":{brief:\"Whether the culture uses 24-hour time format.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.locale\":{brief:\"The locale identifier following RFC 4646.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"en-US\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"culture.timezone\":{brief:\"The timezone of the culture, as a geographic timezone identifier.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Europe/Vienna\",changelog:[{version:\"0.4.0\",prs:[243]}]},\"db.collection.name\":{brief:\"The name of a collection (table, container) within the database.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"users\",changelog:[{version:\"0.1.0\",prs:[106,127]},{version:\"0.0.0\"}]},\"db.driver.name\":{brief:\"The name of the driver used for the database connection.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"psycopg2\",changelog:[{version:\"0.5.0\",prs:[297],description:\"Added db.driver.name attribute\"}]},\"db.name\":{brief:\"The name of the database being accessed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"customers\",deprecation:{replacement:\"db.namespace\"},aliases:[\"db.namespace\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.namespace\":{brief:\"The name of the database being accessed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"customers\",aliases:[\"db.name\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.operation\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT\",deprecation:{replacement:\"db.operation.name\"},aliases:[\"db.operation.name\",\"cloudflare.d1.query_type\"],changelog:[{version:\"0.4.0\",prs:[199]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.operation.batch.size\":{brief:\"The number of queries included in a batch operation. Operations are only considered batches when they contain two or more operations, and so db.operation.batch.size SHOULD never be 1.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:3,changelog:[{version:\"0.11.0\",prs:[407],description:\"Added db.operation.batch.size attribute\"}]},\"db.operation.name\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT\",aliases:[\"db.operation\",\"cloudflare.d1.query_type\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.query.parameter.\":{brief:\"A query parameter used in db.query.text, with being the parameter name, and the attribute value being a string representation of the parameter value.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"db.query.parameter.foo='123'\",changelog:[{version:\"0.1.0\",prs:[103,127]}]},\"db.query.summary\":{brief:\"A shortened representation of operation(s) in the full query. This attribute must be low-cardinality and should only contain the operation table names.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT users\",changelog:[{version:\"0.4.0\",prs:[208]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.query.text\":{brief:\"The database parameterized query being executed. Any parameter values (filters, insertion values, etc) should be replaced with parameter placeholders. If applicable, use `db.query.parameter.` to add the parameter value.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"SELECT * FROM users WHERE id = $1\",aliases:[\"db.statement\"],changelog:[{version:\"0.4.0\",prs:[208]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.redis.connection\":{brief:\"The redis connection name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-redis-instance\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.redis.key\":{brief:\"The key the Redis command is operating on.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user:2047:city\",changelog:[{version:\"0.6.0\",prs:[326],description:\"Added db.redis.key attribute\"}]},\"db.redis.parameters\":{brief:\"The array of command parameters given to a redis command.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"test\",\"*\"],changelog:[{version:\"0.0.0\"}]},\"db.response.status_code\":{brief:\"Database response status code. The status code returned by the database. Usually it represents an error code, but may also represent partial success, warning, or differentiate between various types of successful outcomes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ORA-17002\",changelog:[{version:\"0.16.0\",prs:[462],description:\"Added db.response.status_code attribute\"}]},\"db.sql.bindings\":{brief:\"The array of query bindings.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:[\"1\",\"foo\"],deprecation:{replacement:\"db.query.parameter.\",reason:\"Instead of adding every binding in the db.sql.bindings attribute, add them as individual entires with db.query.parameter..\"},changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"db.statement\":{brief:\"The database statement being executed.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"SELECT * FROM users\",deprecation:{replacement:\"db.query.text\"},aliases:[\"db.query.text\"],changelog:[{version:\"0.4.0\",prs:[199]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.stored_procedure.name\":{brief:\"The name of a stored procedure being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GetUserById\",changelog:[{version:\"0.11.0\",prs:[398]}]},\"db.system\":{brief:\"An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"postgresql\",deprecation:{replacement:\"db.system.name\"},aliases:[\"db.system.name\"],changelog:[{version:\"0.4.0\",prs:[199,224]},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"db.system.name\":{brief:\"An identifier for the database management system (DBMS) product being used. See [OpenTelemetry docs](https://github.com/open-telemetry/semantic-conventions/blob/main/docs/database/database-spans.md#notes-and-well-known-identifiers-for-dbsystem) for a list of well-known identifiers.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"postgresql\",aliases:[\"db.system\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"db.user\":{brief:\"The database user.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"fancy_user\",changelog:[{version:\"0.0.0\"}]},deviceMemory:{brief:\"The estimated total memory capacity of the device, only a rough estimation in gigabytes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"8 GB\",deprecation:{replacement:\"device.memory.estimated_capacity\",reason:\"Old namespace-less attribute, to be replaced with device.memory.estimated_capacity for span-first future\"},aliases:[\"device.memory.estimated_capacity\"],changelog:[{version:\"0.5.0\",prs:[281],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"device.archs\":{brief:\"The CPU architectures of the device.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"arm64-v8a\",\"armeabi-v7a\",\"armeabi\"],changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.archs attribute\"}]},\"device.battery_level\":{brief:\"The battery level of the device as a percentage (0-100).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.battery_level attribute\"}]},\"device.battery_temperature\":{brief:\"The battery temperature of the device in Celsius.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:25,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.battery_temperature attribute\"}]},\"device.boot_time\":{brief:\"A formatted UTC timestamp when the system was booted.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2018-02-08T12:52:12Z\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.boot_time attribute\"}]},\"device.brand\":{brief:\"The brand of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Apple\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.charging\":{brief:\"Whether the device was charging or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.charging attribute\"}]},\"device.chipset\":{brief:\"The chipset of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Qualcomm SM8550\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.chipset attribute\"}]},\"device.class\":{brief:\"The classification of the device. For example, `low`, `medium`, or `high`. Typically inferred by Relay - SDKs generally do not need to set this directly.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"medium\",changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.class attribute\"}]},\"device.connection_type\":{brief:\"The internet connection type currently being used by the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"wifi\",deprecation:{replacement:\"network.connection.type\",reason:\"This attribute is being deprecated in favor of network.connection.type\"},aliases:[\"network.connection.type\",\"connectionType\"],changelog:[{version:\"0.5.0\",prs:[303],description:\"Added and deprecated device.connection_type in favor of network.connection.type\"}]},\"device.cpu_description\":{brief:\"A description of the CPU of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.cpu_description attribute\"}]},\"device.external_free_storage\":{brief:\"External storage free size in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:67108864e3,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.external_free_storage attribute\"}]},\"device.external_storage_size\":{brief:\"External storage total size in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:134217728e3,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.external_storage_size attribute\"}]},\"device.family\":{brief:\"The family of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"iPhone\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.free_memory\":{brief:\"Free system memory in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2147483648,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.free_memory attribute\"}]},\"device.free_storage\":{brief:\"Free device storage in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:107374182400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.free_storage attribute\"}]},\"device.id\":{brief:\"Unique device identifier.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"a1b2c3d4-e5f6-7890-abcd-ef1234567890\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.id attribute\"}]},\"device.locale\":{brief:\"The locale of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"en-US\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.locale attribute\"}]},\"device.low_memory\":{brief:\"Whether the device was low on memory.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.low_memory attribute\"}]},\"device.low_power_mode\":{brief:\"Whether the device is in Low Power Mode.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.6.0\",prs:[314],description:\"Added device.low_power_mode attribute\"}]},\"device.manufacturer\":{brief:\"The manufacturer of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Google\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.manufacturer attribute\"}]},\"device.memory.estimated_capacity\":{brief:\"The estimated total memory capacity of the device, only a rough estimation in gigabytes. Browsers report estimations in buckets of powers of 2, mostly capped at 8 GB\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8,aliases:[\"deviceMemory\"],changelog:[{version:\"0.5.0\",prs:[281],description:\"Added attribute device.memory.estimated_capacity to be used instead of deviceMemory\"}]},\"device.memory_size\":{brief:\"Total system memory available in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:17179869184,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.memory_size attribute\"}]},\"device.model\":{brief:\"The model of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"iPhone 15 Pro Max\",changelog:[{version:\"0.1.0\",prs:[116,127]}]},\"device.model_id\":{brief:\"An internal hardware revision to identify the device exactly.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"N861AP\",changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.model_id attribute\"}]},\"device.name\":{brief:\"The name of the device. On mobile, this is the user-assigned device name. On servers and desktops, this is typically the hostname.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"localhost\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.name attribute\"}]},\"device.online\":{brief:\"Whether the device was online or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.online attribute\"}]},\"device.orientation\":{brief:'The orientation of the device, either \"portrait\" or \"landscape\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"portrait\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.orientation attribute\"}]},\"device.processor_count\":{brief:'Number of \"logical processors\".',type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:8,aliases:[\"hardwareConcurrency\"],changelog:[{version:\"0.5.0\",prs:[300],description:\"Added and deprecated attribute device.processor_count in favor of device.cpu.logical_core_count\"}]},\"device.processor_frequency\":{brief:\"Processor frequency in MHz.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.processor_frequency attribute\"}]},\"device.screen_density\":{brief:\"The screen density of the device.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2.625,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_density attribute\"}]},\"device.screen_dpi\":{brief:\"The screen density in dots-per-inch (DPI) of the device.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:420,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_dpi attribute\"}]},\"device.screen_height_pixels\":{brief:\"The height of the device screen in pixels.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2400,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_height_pixels attribute\"}]},\"device.screen_width_pixels\":{brief:\"The width of the device screen in pixels.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1080,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.screen_width_pixels attribute\"}]},\"device.simulator\":{brief:\"Whether the device is a simulator or an actual device.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,changelog:[{version:\"0.5.0\",prs:[300],description:\"Added device.simulator attribute\"}]},\"device.storage_size\":{brief:\"Total device storage in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:274877906944,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.storage_size attribute\"}]},\"device.thermal_state\":{brief:\"The thermal state of the device. Based on Apple's `ProcessInfo.ThermalState` enum: `nominal`, `fair`, `serious`, or `critical`.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"nominal\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.thermal_state attribute\"}]},\"device.timezone\":{brief:\"The timezone of the device.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Europe/Vienna\",changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.timezone attribute\"}]},\"device.usable_memory\":{brief:\"Memory usable for the app in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2147483648,changelog:[{version:\"0.5.0\",prs:[303],description:\"Added device.usable_memory attribute\"}]},dist:{brief:\"The sentry dist.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",deprecation:{replacement:\"sentry.dist\",reason:\"This attribute is being deprecated in favor of sentry.dist.\"},aliases:[\"sentry.dist\"],changelog:[{version:\"0.16.0\",prs:[489],description:\"Added dist attribute\"}]},effectiveConnectionType:{brief:\"Specifies the estimated effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"4g\",deprecation:{replacement:\"network.connection.effective_type\",reason:\"Old namespace-less attribute, to be replaced with network.connection.effective_type for span-first future\"},aliases:[\"network.connection.effective_type\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},environment:{brief:\"The sentry environment.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},aliases:[\"sentry.environment\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"error.type\":{brief:\"Describes a class of error the operation ended with.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"timeout\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"event.id\":{brief:\"The unique identifier for this event (log record)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234567890,changelog:[{version:\"0.1.0\",prs:[101]}]},\"event.name\":{brief:\"The name that uniquely identifies this event (log record)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Process Payload\",changelog:[{version:\"0.1.0\",prs:[101,127]}]},\"exception.escaped\":{brief:\"SHOULD be set to true if the exception event is recorded at a point where it is known that the exception is escaping the scope of the span.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"exception.message\":{brief:\"The error message.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"ENOENT: no such file or directory\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"exception.stacktrace\":{brief:\"A stacktrace as a string in the natural representation for the language runtime. The representation is to be determined and documented by each language SIG.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:`Exception in thread \"main\" java.lang.RuntimeException: Test exception\n at com.example.GenerateTrace.methodB(GenerateTrace.java:13)\n at com.example.GenerateTrace.methodA(GenerateTrace.java:9)\n at com.example.GenerateTrace.main(GenerateTrace.java:5)`,changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"exception.type\":{brief:\"The type of the exception (its fully-qualified class name, if applicable). The dynamic type of the exception should be preferred over the static type in languages that support it.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"OSError\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.coldstart\":{brief:\"A boolean that is true if the serverless function is executed for the first time (aka cold-start).\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"faas.cron\":{brief:\"A string containing the schedule period as Cron Expression.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"0/5 * * * ? *\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.duration_in_ms\":{brief:\"The duration a function took to run, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:120,changelog:[{version:\"0.11.0\",prs:[403]}]},\"faas.entry_point\":{brief:\"The code that's run when the cloud provider invokes your function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my_main_function\",changelog:[{version:\"0.11.0\",prs:[403,415]}]},\"faas.execution\":{brief:\"The execution ID of the current function execution.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"af9d5aa4-a685-4c5f-a22b-444f80b3cc28\",deprecation:{replacement:\"faas.invocation_id\",reason:\"This attribute is being deprecated in favor of faas.invocation_id, which is the OTel-aligned replacement.\"},aliases:[\"faas.invocation_id\",\"aws.lambda.aws_request_id\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution attribute, deprecated in favor of faas.invocation_id\"}]},\"faas.id\":{brief:\"The unique ID of the single function that this runtime instance executes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"arn:aws:lambda:REGION:ACCOUNT_ID:function:my-function\",deprecation:{replacement:\"cloud.resource_id\",reason:\"This attribute is being deprecated in favor of cloud.resource_id, which is the OTel-aligned replacement (renamed in OTel semantic conventions v1.19.0).\"},aliases:[\"cloud.resource_id\"],changelog:[{version:\"0.16.0\",prs:[475],description:\"Added faas.id attribute, deprecated in favor of cloud.resource_id\"}]},\"faas.identity\":{brief:\"The Service Account (GCP), IAM Execution Role (AWS), or Managed Identity (Azure) used by the serverless function when interacting with other cloud services\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"name@project.iam.gserviceaccount.com (GCP), arn:aws:iam::123456789012:role/role-name (AWS), 00000000-0000-0000-0000-000000000000 (Azure)\",changelog:[{version:\"0.11.0\",prs:[403]}]},\"faas.invocation_id\":{brief:\"The invocation ID of the current function invocation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"af9d5aa4-a685-4c5f-a22b-444f80b3cc28\",aliases:[\"aws.lambda.aws_request_id\",\"faas.execution\"],changelog:[{version:\"0.16.0\",prs:[473],description:\"Added faas.execution as an alias\"},{version:\"0.11.1\",prs:[414,424]}]},\"faas.invoked_name\":{brief:\"The name of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"my-function\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_name attribute\"}]},\"faas.invoked_provider\":{brief:\"The cloud provider of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_provider attribute\"}]},\"faas.invoked_region\":{brief:\"The cloud region of the invoked function.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"eu-central-1\",changelog:[{version:\"0.16.0\",prs:[481],description:\"Added faas.invoked_region attribute\"}]},\"faas.name\":{brief:\"The name of the serverless function\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"my_function\",aliases:[\"aws.lambda.function_name\"],changelog:[{version:\"0.11.0\",prs:[403,415]}]},\"faas.time\":{brief:\"A string containing the function invocation time in the ISO 8601 format expressed in UTC.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2020-01-23T13:47:06Z\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.trigger\":{brief:\"Type of the trigger which caused this function invocation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"timer\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"faas.version\":{brief:\"The version of the function that was invoked\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"$LATEST\",aliases:[\"aws.lambda.function_version\"],changelog:[{version:\"0.11.1\",prs:[414,424]}]},fcp:{brief:\"The time it takes for the browser to render the first piece of meaningful content on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:547.6951,deprecation:{replacement:\"browser.web_vital.fcp.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.fcp.value\"},aliases:[\"browser.web_vital.fcp.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"flag.evaluation.\":{brief:\"An instance of a feature flag evaluation. The value of this attribute is the boolean representing the evaluation result. The suffix is the name of the feature flag.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"flag.evaluation.is_new_ui=true\",changelog:[{version:\"0.1.0\",prs:[103]}]},fp:{brief:\"The time it takes for the browser to render the first pixel on the screen\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:477.1926,deprecation:{replacement:\"browser.web_vital.fp.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.fp.value\"},aliases:[\"browser.web_vital.fp.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"frames.delay\":{brief:\"The sum of all delayed frame durations in seconds during the lifetime of the span. For more information see [frames delay](https://develop.sentry.dev/sdk/performance/frames-delay/).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:5,deprecation:{replacement:\"app.vitals.frames.delay.value\",reason:\"Replaced by app.vitals.frames.delay.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.delay.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.delay.value\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"frames.frozen\":{brief:\"The number of frozen frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,deprecation:{replacement:\"app.vitals.frames.frozen.count\",reason:\"Replaced by app.vitals.frames.frozen.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.frozen.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.frozen.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},frames_frozen_rate:{brief:\"The rate of frozen frames, or `app_vitals.frames.frozen.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added frames_frozen_rate attribute\"}]},\"frames.slow\":{brief:\"The number of slow frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,deprecation:{replacement:\"app.vitals.frames.slow.count\",reason:\"Replaced by app.vitals.frames.slow.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.slow.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.slow.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},frames_slow_rate:{brief:\"The rate of slow frames, or `app_vitals.frames.slow.count` divided by `app_vitals.frames.total.count`. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added frames_slow_rate attribute\"}]},\"frames.total\":{brief:\"The number of total frames rendered during the lifetime of the span.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:60,deprecation:{replacement:\"app.vitals.frames.total.count\",reason:\"Replaced by app.vitals.frames.total.count to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.frames.total.count\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Deprecated in favor of app.vitals.frames.total.count\"},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},fs_error:{brief:\"The error message of a file system error.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"ENOENT: no such file or directory\",deprecation:{replacement:\"error.type\",reason:\"This attribute is not part of the OpenTelemetry specification and error.type fits much better.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"gcp.function.context.event_id\":{brief:\"The event ID from the legacy GCP Cloud Function context (1st gen)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.event_id attribute\"}]},\"gcp.function.context.event_type\":{brief:\"The type of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"google.pubsub.topic.publish\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.event_type attribute\"}]},\"gcp.function.context.id\":{brief:\"The unique event ID from the GCP CloudEvents context (2nd gen Cloud Functions)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.id attribute\"}]},\"gcp.function.context.resource\":{brief:\"The resource that triggered the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"projects/my-project/topics/my-topic\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.resource attribute\"}]},\"gcp.function.context.source\":{brief:\"The source of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"//pubsub.googleapis.com/projects/my-project/topics/my-topic\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.source attribute\"}]},\"gcp.function.context.specversion\":{brief:\"The CloudEvents specification version of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.specversion attribute\"}]},\"gcp.function.context.time\":{brief:\"The timestamp of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024-01-01T00:00:00.000Z\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.time attribute\"}]},\"gcp.function.context.timestamp\":{brief:\"The legacy timestamp of the GCP Cloud Function event\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"2024-01-01T00:00:00.000Z\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.timestamp attribute\"}]},\"gcp.function.context.type\":{brief:\"The type of the GCP Cloud Function event context\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"cloud_functions.context\",changelog:[{version:\"0.7.0\",prs:[371],description:\"Added gcp.function.context.type attribute\"}]},\"gcp.project.id\":{brief:\"The ID of the project in GCP that this resource is associated with\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-project-123\",changelog:[{version:\"0.11.0\",prs:[403]}]},\"gen_ai.agent.name\":{brief:\"The name of the agent being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ResearchAssistant\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.context.utilization\":{brief:\"The fraction of the model context window utilized by this generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.75,changelog:[{version:\"0.5.0\",prs:[315],description:\"Added gen_ai.context.utilization attribute\"}]},\"gen_ai.context.window_size\":{brief:\"The maximum context window size supported by the model for this generation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:128e3,changelog:[{version:\"0.5.0\",prs:[315],description:\"Added gen_ai.context.window_size attribute\"}]},\"gen_ai.conversation.id\":{brief:\"The unique identifier for a conversation (session, thread), used to store and correlate messages within this conversation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"conv_5j66UpCpwteGg4YSxUnt7lPY\",changelog:[{version:\"0.4.0\",prs:[250]}]},\"gen_ai.cost.cache_creation.input_tokens\":{brief:\"The cost of input tokens written to cache in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.cache_creation.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.cache_creation.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_creation.input_tokens.\",\"This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.cache_read.input_tokens\":{brief:\"The cost of cached input tokens in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.cache_read.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.cache_read.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.cache_read.input_tokens.\",\"This is a subset of gen_ai.cost.input_tokens, not an independent cost. Do not sum this with gen_ai.cost.input_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.input_tokens\":{brief:\"The total cost of all input tokens in USD (includes cached and cache creation tokens).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:123.45,changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.input_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.input_tokens.\",\"This is the total cost of all input tokens, including cached and cache creation tokens at their respective rates. For the cached portion, see gen_ai.cost.cache_read.input_tokens. For the cache creation portion, see gen_ai.cost.cache_creation.input_tokens.\"]},\"gen_ai.cost.output_tokens\":{brief:\"The total cost of all output tokens in USD (includes reasoning tokens).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:123.45,changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.output_tokens.\",\"This is the total cost of all output tokens, including reasoning tokens at their respective rate. For the reasoning portion, see gen_ai.cost.reasoning.output_tokens.\"]},\"gen_ai.cost.reasoning.output_tokens\":{brief:\"The cost of reasoning output tokens in USD.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,changelog:[{version:\"0.16.0\",description:\"Added gen_ai.cost.reasoning.output_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.reasoning.output_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.reasoning.output_tokens.\",\"This is a subset of gen_ai.cost.output_tokens, not an independent cost. Do not sum this with gen_ai.cost.output_tokens \\u2014 it is already included.\"]},\"gen_ai.cost.total_tokens\":{brief:\"The total cost for the tokens used.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12.34,aliases:[\"ai.total_cost\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[126]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to calculate total cost, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"Despite the name 'cost.total_tokens', this value is cost in USD, not a token count. For token counts, use gen_ai.usage.total_tokens.\"]},\"gen_ai.embeddings.input\":{brief:\"The input to the embeddings model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"What's the weather in Paris?\",changelog:[{version:\"0.3.1\",prs:[195]}]},\"gen_ai.function_id\":{brief:\"Framework-specific tracing label for the execution of a function or other unit of execution in a generative AI system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-awesome-function\",changelog:[{version:\"0.5.0\",prs:[308],description:\"Added gen_ai.function_id attribute\"}]},\"gen_ai.input.messages\":{brief:'The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"user\", \"parts\": [{\"type\": \"text\", \"content\": \"Weather in Paris?\"}]}, {\"role\": \"assistant\", \"parts\": [{\"type\": \"tool_call\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]}, {\"role\": \"tool\", \"parts\": [{\"type\": \"tool_call_response\", \"id\": \"call_VSPygqKTWdrhaFErNvMV18Yl\", \"result\": \"rainy, 57\\xB0F\"}]}]',aliases:[\"ai.texts\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.operation.name\":{brief:\"The name of the operation being performed. It has the following list of well-known values: 'chat', 'create_agent', 'embeddings', 'execute_tool', 'generate_content', 'invoke_agent', 'text_completion'. If one of them applies, then that value MUST be used. Otherwise a custom value MAY be used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"chat\",changelog:[{version:\"0.4.0\",prs:[225]},{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.operation.type\":{brief:\"The type of AI operation. Must be one of 'agent' (invoke_agent and create_agent spans), 'ai_client' (any LLM call), 'tool' (execute_tool spans), 'handoff' (handoff spans), 'other' (input and output processors, skill loading, guardrails etc.) . Added during ingestion based on span.op and gen_ai.operation.type. Used to filter and aggregate data in the UI\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"tool\",changelog:[{version:\"0.4.0\",prs:[257]},{version:\"0.1.0\",prs:[113,127]}]},\"gen_ai.output.messages\":{brief:\"The model's response messages. It has to be a stringified version of an array of message objects, which can include text responses and tool calls.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"assistant\", \"parts\": [{\"type\": \"text\", \"content\": \"The weather in Paris is currently rainy with a temperature of 57\\xB0F.\"}], \"finish_reason\": \"stop\"}]',changelog:[{version:\"0.4.0\",prs:[221]}]},\"gen_ai.pipeline.name\":{brief:\"Name of the AI pipeline or chain being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Autofix Pipeline\",aliases:[\"ai.pipeline.name\"],changelog:[{version:\"0.1.0\",prs:[76,127]}]},\"gen_ai.prompt\":{brief:\"The input messages sent to the model\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',deprecation:{reason:\"Deprecated from OTEL, use gen_ai.input.messages with the new format instead.\"},changelog:[{version:\"0.1.0\",prs:[74,108,119]},{version:\"0.0.0\"}]},\"gen_ai.prompt.name\":{brief:\"The name of the prompt that uniquely identifies it.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Prompt names may reveal user behavior patterns or sensitive operations\"},isInOtel:!0,visibility:\"public\",example:\"summarize_text\",aliases:[\"mcp.prompt.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Added gen_ai.prompt.name attribute\"}]},\"gen_ai.provider.name\":{brief:\"The Generative AI provider as identified by the client or server instrumentation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"openai\",aliases:[\"ai.model.provider\",\"gen_ai.system\"],changelog:[{version:\"0.4.0\",prs:[253]}]},\"gen_ai.request.available_tools\":{brief:\"The available tools for the model. It has to be a stringified version of an array of objects.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"name\": \"get_weather\", \"description\": \"Get the weather for a given location\"}, {\"name\": \"get_news\", \"description\": \"Get the news for a given topic\"}]',deprecation:{replacement:\"gen_ai.tool.definitions\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,127]}]},\"gen_ai.request.frequency_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. The higher the value, the stronger a penalty is applied to previously present tokens, proportional to how many times they have already appeared in the prompt or prior generation.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.5,aliases:[\"ai.frequency_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.max_tokens\":{brief:\"The maximum number of tokens to generate in the response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2048,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.request.messages\":{brief:'The messages passed to the model. It has to be a stringified version of an array of objects. The `role` attribute of each object must be `\"user\"`, `\"assistant\"`, `\"tool\"`, or `\"system\"`. For messages of the role `\"tool\"`, the `content` can be a string or an arbitrary object with information about the tool call. For other messages the `content` can be either a string or a list of objects in the format `{type: \"text\", text:\"...\"}`.',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"system\", \"content\": \"Generate a random number.\"}, {\"role\": \"user\", \"content\": [{\"text\": \"Generate a random number between 0 and 10.\", \"type\": \"text\"}]}, {\"role\": \"tool\", \"content\": {\"toolCallId\": \"1\", \"toolName\": \"Weather\", \"output\": \"rainy\"}}]',deprecation:{replacement:\"gen_ai.input.messages\"},aliases:[\"ai.input_messages\"],changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74,108,119,122]}]},\"gen_ai.request.model\":{brief:\"The model identifier being used for the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gpt-4-turbo-preview\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.request.presence_penalty\":{brief:\"Used to reduce repetitiveness of generated tokens. Similar to frequency_penalty, except that this penalty is applied equally to all tokens that have already appeared, regardless of their exact frequencies.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.5,aliases:[\"ai.presence_penalty\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.reasoning_effort\":{brief:\"Constrains the effort on reasoning for reasoning models. Supported values vary by provider.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"high\",changelog:[{version:\"0.13.0\",prs:[334],description:\"Added gen_ai.request.reasoning_effort attribute\"}]},\"gen_ai.request.seed\":{brief:\"The seed, ideally models given the same seed and same other parameters will produce the exact same output.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1234567890\",aliases:[\"ai.seed\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.request.stop_sequences\":{brief:\"List of sequences that the model will use to stop generating further tokens.\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:[\"forest\",\"lived\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added gen_ai.request.stop_sequences attribute\"}]},\"gen_ai.request.temperature\":{brief:\"For an AI model call, the temperature parameter. Temperature essentially means how random the output will be.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.1,aliases:[\"ai.temperature\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.top_k\":{brief:\"Limits the model to only consider the K most likely next tokens, where K is an integer (e.g., top_k=20 means only the 20 highest probability tokens are considered).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:35,aliases:[\"ai.top_k\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.request.top_p\":{brief:\"Limits the model to only consider tokens whose cumulative probability mass adds up to p, where p is a float between 0 and 1 (e.g., top_p=0.7 means only tokens that sum up to 70% of the probability mass are considered).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.7,aliases:[\"ai.top_p\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}]},\"gen_ai.response.finish_reasons\":{brief:\"The reason why the model stopped generating.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"COMPLETE\",aliases:[\"ai.finish_reason\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.response.id\":{brief:\"Unique identifier for the completion.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gen_123abc\",aliases:[\"ai.generation_id\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.response.model\":{brief:\"The vendor-specific ID of the model used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"gpt-4\",aliases:[\"ai.model_id\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"gen_ai.response.streaming\":{brief:\"Whether or not the AI model call's response was streamed back asynchronously\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,aliases:[\"ai.streaming\"],changelog:[{version:\"0.1.0\",prs:[76]}]},\"gen_ai.response.text\":{brief:\"The model's response text messages. It has to be a stringified version of an array of response text messages.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[\"The weather in Paris is rainy and overcast, with temperatures around 57\\xB0F\", \"The weather in London is sunny and warm, with temperatures around 65\\xB0F\"]',deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.response.time_to_first_chunk\":{brief:\"Time in seconds when the first response content chunk arrived in streaming responses.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:.6853435,aliases:[\"gen_ai.response.time_to_first_token\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.response.time_to_first_chunk attribute\"}]},\"gen_ai.response.time_to_first_token\":{brief:\"Time in seconds when the first response content chunk arrived in streaming responses.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.6853435,deprecation:{replacement:\"gen_ai.response.time_to_first_chunk\"},aliases:[\"gen_ai.response.time_to_first_chunk\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.response.time_to_first_chunk\"},{version:\"0.4.0\",prs:[227]}]},\"gen_ai.response.tokens_per_second\":{brief:\"The total output tokens per seconds throughput\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:12345.67,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[66]}]},\"gen_ai.response.tool_calls\":{brief:\"The tool calls in the model's response. It has to be a stringified version of an array of objects.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'[{\"name\": \"get_weather\", \"arguments\": {\"location\": \"Paris\"}}]',deprecation:{replacement:\"gen_ai.output.messages\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.system\":{brief:\"The provider of the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"openai\",deprecation:{replacement:\"gen_ai.provider.name\"},aliases:[\"ai.model.provider\",\"gen_ai.provider.name\"],changelog:[{version:\"0.4.0\",prs:[253]},{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.system_instructions\":{brief:\"The system instructions passed to the model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"You are a helpful assistant\",aliases:[\"ai.preamble\"],changelog:[{version:\"0.5.0\",prs:[264]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.system.message\":{brief:\"The system instructions passed to the model.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"You are a helpful assistant\",deprecation:{replacement:\"gen_ai.system_instructions\"},changelog:[{version:\"0.4.0\",prs:[221]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.tool.call.arguments\":{brief:\"The arguments of the tool call. It has to be a stringified version of the arguments to the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'{\"location\": \"Paris\"}',aliases:[\"gen_ai.tool.input\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.call.result\":{brief:\"The result of the tool call. It has to be a stringified version of the result of the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"rainy, 57\\xB0F\",aliases:[\"gen_ai.tool.output\",\"gen_ai.tool.message\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.definitions\":{brief:\"The list of source system tool definitions available to the GenAI agent or model.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:'[{\"type\": \"function\", \"name\": \"get_current_weather\", \"description\": \"Get the current weather in a given location\", \"parameters\": {\"type\": \"object\", \"properties\": {\"location\": {\"type\": \"string\", \"description\": \"The city and state, e.g. San Francisco, CA\"}, \"unit\": {\"type\": \"string\", \"enum\": [\"celsius\", \"fahrenheit\"]}}, \"required\": [\"location\", \"unit\"]}}]',changelog:[{version:\"0.4.0\",prs:[221]}]},\"gen_ai.tool.description\":{brief:\"The description of the tool being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Searches the web for current information about a topic\",changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.tool.input\":{brief:\"The input of the tool being used. It has to be a stringified version of the input to the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:'{\"location\": \"Paris\"}',deprecation:{replacement:\"gen_ai.tool.call.arguments\"},aliases:[\"gen_ai.tool.call.arguments\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.tool.message\":{brief:\"The response from a tool or function call passed to the model.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"rainy, 57\\xB0F\",deprecation:{replacement:\"gen_ai.tool.call.result\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.output\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[62]}]},\"gen_ai.tool.name\":{brief:\"Name of the tool utilized by the agent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Flights\",aliases:[\"ai.function_call\",\"mcp.tool.name\"],changelog:[{version:\"0.1.0\",prs:[57,127]}]},\"gen_ai.tool.output\":{brief:\"The output of the tool being used. It has to be a stringified version of the output of the tool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"rainy, 57\\xB0F\",deprecation:{replacement:\"gen_ai.tool.call.result\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.message\",\"mcp.tool.result.content\"],changelog:[{version:\"0.5.0\",prs:[265]},{version:\"0.1.0\",prs:[63,74]}]},\"gen_ai.tool.type\":{brief:\"The type of tool being used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"function\",deprecation:{reason:\"The gen_ai.tool.type attribute is deprecated and should no longer be set.\"},changelog:[{version:\"0.1.0\",prs:[62,127]}]},\"gen_ai.usage.cache_creation.input_tokens\":{brief:\"The number of tokens written to the cache when processing the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:100,aliases:[\"gen_ai.usage.input_tokens.cache_write\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.cache_creation.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.cache_read.input_tokens\":{brief:\"The number of cached tokens used to process the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:50,aliases:[\"gen_ai.usage.input_tokens.cached\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.cache_read.input_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.completion_tokens\":{brief:\"The number of tokens used in the GenAI response (completion).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,deprecation:{replacement:\"gen_ai.usage.output_tokens\"},aliases:[\"ai.completion_tokens.used\",\"gen_ai.usage.output_tokens\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.input_tokens\":{brief:\"The number of tokens used to process the AI input (prompt) including cached input tokens.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,aliases:[\"ai.prompt_tokens.used\",\"gen_ai.usage.prompt_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Update additional_context to reference gen_ai.usage.cache_read.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[261]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This count includes cached input tokens. gen_ai.usage.cache_read.input_tokens is a subset of this value, not an independent count \\u2014 do not sum them together.\"]},\"gen_ai.usage.input_tokens.cached\":{brief:\"The number of cached tokens used to process the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,deprecation:{replacement:\"gen_ai.usage.cache_read.input_tokens\"},aliases:[\"gen_ai.usage.cache_read.input_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.cache_read.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62,112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.input_tokens, not an independent count. Do not sum this with gen_ai.usage.input_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.input_tokens.cache_write\":{brief:\"The number of tokens written to the cache when processing the AI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,deprecation:{replacement:\"gen_ai.usage.cache_creation.input_tokens\"},aliases:[\"gen_ai.usage.cache_creation.input_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.cache_creation.input_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[217,228]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.output_tokens\":{brief:\"The number of tokens used for creating the AI output (including reasoning tokens).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,aliases:[\"ai.completion_tokens.used\",\"gen_ai.usage.completion_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Update additional_context to reference gen_ai.usage.reasoning.output_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.5.0\",prs:[261]},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[112]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This count includes reasoning tokens. gen_ai.usage.reasoning.output_tokens is a subset of this value, not an independent count \\u2014 do not sum them together.\"]},\"gen_ai.usage.output_tokens.reasoning\":{brief:\"The number of tokens used for reasoning to create the AI output.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:75,deprecation:{replacement:\"gen_ai.usage.reasoning.output_tokens\"},aliases:[\"gen_ai.usage.reasoning.output_tokens\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Deprecate in favor of gen_ai.usage.reasoning.output_tokens\"},{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[62,112]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.prompt_tokens\":{brief:\"The number of tokens used in the GenAI input (prompt).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:20,deprecation:{replacement:\"gen_ai.usage.input_tokens\"},aliases:[\"ai.prompt_tokens.used\",\"gen_ai.usage.input_tokens\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\"]},\"gen_ai.usage.reasoning.output_tokens\":{brief:\"The number of tokens used for reasoning to create the AI output.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:75,aliases:[\"gen_ai.usage.output_tokens.reasoning\"],changelog:[{version:\"0.11.0\",prs:[418],description:\"Added gen_ai.usage.reasoning.output_tokens attribute\"}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is a subset of gen_ai.usage.output_tokens, not an independent count. Do not sum this with gen_ai.usage.output_tokens \\u2014 it is already included.\"]},\"gen_ai.usage.total_tokens\":{brief:\"The total number of tokens used to process the prompt. (input tokens plus output todkens)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:20,aliases:[\"ai.total_tokens.used\"],changelog:[{version:\"0.9.0\",prs:[397],description:\"Add additional_context\"},{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[57]}],additionalContext:[\"This attribute appears on both agent parent spans (aggregated totals) and LLM child spans (per-call values). When using sum() to count tokens, filter to gen_ai.operation.type:ai_client to avoid double-counting hierarchical spans.\",\"This is the sum of gen_ai.usage.input_tokens and gen_ai.usage.output_tokens. Do not sum this with either of them \\u2014 they are already included.\"]},\"graphql.document\":{brief:\"The GraphQL document being executed.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"The document may contain sensitive information in arguments or variables. Instrumentation should redact sensitive information when possible.\"},isInOtel:!0,visibility:\"public\",example:\"query findBookById { bookById(id: ?) { name } }\",changelog:[{version:\"0.7.0\",description:\"Adds the `graphql.document` attribute to track the GraphQL document being executed.\"}]},\"graphql.operation.name\":{brief:\"The name of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"findBookById\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"graphql.operation.type\":{brief:\"The type of the operation being executed.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"query\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},hardwareConcurrency:{brief:\"The number of logical CPU cores available.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"14\",deprecation:{replacement:\"device.processor_count\",reason:\"Old namespace-less attribute, to be replaced with device.processor_count for span-first future\"},aliases:[\"device.processor_count\"],changelog:[{version:\"0.5.0\",prs:[281,300],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"http.client_ip\":{brief:\"Client address - domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"client.address\"},aliases:[\"client.address\"],changelog:[{version:\"0.1.0\",prs:[61,106,127]},{version:\"0.0.0\"}]},\"http.decoded_response_content_length\":{brief:\"The decoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:456,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.flavor\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",deprecation:{replacement:\"network.protocol.version\"},aliases:[\"network.protocol.version\",\"net.protocol.version\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.fragment\":{brief:\"The fragments present in the URI. Note that this contains the leading # character, while the `url.fragment` attribute does not.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"#details\",changelog:[{version:\"0.0.0\"}]},\"http.host\":{brief:\"The domain name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"Deprecated, use one of `server.address` or `client.address`, depending on the usage\"},aliases:[\"server.address\",\"client.address\",\"http.server_name\",\"net.host.name\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"http.request.method\",\"http.request_method\",\"method\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"http.query\":{brief:\"The query string present in the URL. Note that this contains the leading ? character, while the `url.query` attribute does not.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\"},isInOtel:!1,visibility:\"public\",example:\"?foo=bar&bar=baz\",changelog:[{version:\"0.0.0\"}]},\"http.request.body.data\":{brief:\"HTTP request body data. Can be given as string or structural data of any format.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:'[{\"role\": \"user\", \"message\": \"hello\"}]',changelog:[{version:\"0.6.0\",prs:[336],description:\"Added http.request.body.data attribute\"}]},\"http.request.connection_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser finishes establishing the connection to the server to retrieve the resource. The timestamp value includes the time interval to establish the transport connection, as well as other time intervals such as TLS handshake and SOCKS authentication.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955515e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.connect_start\":{brief:\"The UNIX timestamp representing the time immediately before the user agent starts establishing the connection to the server to retrieve the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555111e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.domain_lookup_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser finishes the domain-name lookup for the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555201e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.domain_lookup_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts the domain name lookup for the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555322e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.fetch_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts to fetch the resource.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555389e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.header.\":{brief:\"HTTP request headers, being the normalized HTTP Header name (lowercase), the value being the header values.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.request.header.custom-header=['foo', 'bar']\",changelog:[{version:\"0.4.0\",prs:[201,204]},{version:\"0.1.0\",prs:[103]}]},\"http.request.method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"GET\",aliases:[\"method\",\"http.method\",\"http.request_method\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.request_method\":{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"method\",\"http.method\",\"http.request.method\"],changelog:[{version:\"0.6.0\",prs:[343],description:\"Added http.request_method attribute\"}]},\"http.request.redirect_end\":{brief:\"The UNIX timestamp representing the timestamp immediately after receiving the last byte of the response of the last redirect\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829558502e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[130,134]}]},\"http.request.redirect_start\":{brief:\"The UNIX timestamp representing the start time of the fetch which that initiates the redirect.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732829555495e-3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.request_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955551e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.resend_count\":{brief:\"The ordinal number of request resending attempt (for any reason, including redirects).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.request.response_end\":{brief:\"The UNIX timestamp representing the time immediately after the browser receives the last byte of the resource or immediately before the transport connection is closed, whichever comes first.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955589e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.response_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts requesting the resource from the server, cache, or local resource. If the transport connection fails and the browser retires the request, the value returned will be the start of the retry request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:17328295557e-1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.same_origin\":{brief:\"Indicates that a URL has the same origin as the current page's origin in the browser.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,aliases:[\"url.same_origin\"],changelog:[{version:\"0.16.0\",prs:[456],description:\"Added http.request.same_origin attribute\"}]},\"http.request.secure_connection_start\":{brief:\"The UNIX timestamp representing the time immediately before the browser starts the handshake process to secure the current connection. If a secure connection is not used, the property returns zero.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955573e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[134]},{version:\"0.0.0\"}]},\"http.request.time_to_first_byte\":{brief:\"The time in seconds from the browser's timeorigin to when the first byte of the request's response was received. See https://web.dev/articles/ttfb#measure-resource-requests\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.032,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[131]}]},\"http.request.worker_start\":{brief:\"The UNIX timestamp representing the timestamp immediately before dispatching the FetchEvent if a Service Worker thread is already running, or immediately before starting the Service Worker thread if it is not already running.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:173282955368e-2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[130,134]}]},\"http.response.body.size\":{brief:\"The encoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:123,aliases:[\"http.response_content_length\",\"http.response.header.content-length\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[106]},{version:\"0.0.0\"}]},\"http.response_content_length\":{brief:\"The encoded body size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:123,deprecation:{replacement:\"http.response.body.size\"},aliases:[\"http.response.body.size\",\"http.response.header.content-length\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61,106]},{version:\"0.0.0\"}]},\"http.response.header.content-length\":{brief:\"The size of the message body sent to the recipient (in bytes)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http.response.header.custom-header=['foo', 'bar']\",aliases:[\"http.response_content_length\",\"http.response.body.size\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.response.header.\":{brief:\"HTTP response headers, being the normalized HTTP Header name (lowercase), the value being the header values.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.response.header.custom-header=['foo', 'bar']\",changelog:[{version:\"0.4.0\",prs:[201,204]},{version:\"0.1.0\",prs:[103]}]},\"http.response.size\":{brief:\"The transfer size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:456,aliases:[\"http.response_transfer_size\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.response.status_code\":{brief:\"The status code of the HTTP response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:404,aliases:[\"http.status_code\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"http.response_transfer_size\":{brief:\"The transfer size of the response (in bytes).\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:456,deprecation:{replacement:\"http.response.size\"},aliases:[\"http.response.size\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.route\":{brief:\"The matched route, that is, the path template in the format used by the respective server framework.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/users/:id\",aliases:[\"url.template\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"http.scheme\":{brief:\"The URI scheme component identifying the used protocol.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"https\",deprecation:{replacement:\"url.scheme\"},aliases:[\"url.scheme\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"http.server_name\":{brief:\"The server domain name\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\"},aliases:[\"server.address\",\"net.host.name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"http.server.request.time_in_queue\":{brief:\"The time in milliseconds the request spent in the server queue before processing began. Measured from the X-Request-Start header set by reverse proxies (e.g., Nginx, HAProxy, Heroku) to when the application started handling the request.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.5.0\",prs:[267]}]},\"http.status_code\":{brief:\"The status code of the HTTP response.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:404,deprecation:{replacement:\"http.response.status_code\"},aliases:[\"http.response.status_code\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.target\":{brief:\"The pathname and query string of the URL.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/test?foo=bar#buzz\",deprecation:{replacement:\"url.path\",reason:\"This attribute is being deprecated in favor of url.path and url.query\"},changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"http.url\":{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",deprecation:{replacement:\"url.full\"},aliases:[\"url.full\",\"url\"],changelog:[{version:\"0.1.0\",prs:[61,108]},{version:\"0.0.0\"}]},\"http.user_agent\":{brief:\"Value of the HTTP User-Agent header sent by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\",deprecation:{replacement:\"user_agent.original\"},aliases:[\"user_agent.original\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},id:{brief:\"A unique identifier for the span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"f47ac10b58cc4372a5670e02b2c3d479\",changelog:[{version:\"0.0.0\"}]},inp:{brief:\"The value of the recorded Interaction to Next Paint (INP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,deprecation:{replacement:\"browser.web_vital.inp.value\",reason:\"The INP web vital is now recorded as a browser.web_vital.inp.value attribute.\"},aliases:[\"browser.web_vital.inp.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"jsonrpc.protocol.version\":{brief:\"The version of the JSON-RPC protocol used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2.0\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Added jsonrpc.protocol.version attribute\"}]},\"jsonrpc.request.id\":{brief:\"The JSON-RPC request identifier. Unique within the session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1\",aliases:[\"mcp.request.id\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Added jsonrpc.request.id attribute\"}]},\"jvm.gc.action\":{brief:\"Name of the garbage collector action.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"end of minor GC\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.gc.name\":{brief:\"Name of the garbage collector.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Young Generation\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.memory.pool.name\":{brief:\"Name of the memory pool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Old Gen\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.memory.type\":{brief:\"Name of the memory pool.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"G1 Old Gen\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"jvm.thread.daemon\":{brief:\"Whether the thread is daemon or not.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"jvm.thread.state\":{brief:\"State of the thread.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"blocked\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"koa.name\":{brief:\"The name of the Koa middleware or matched route that handled the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",deprecation:{reason:\"No single replacement. SDKs should use http.route for router layers and code.function.name for middleware layers instead.\"},changelog:[{version:\"0.16.0\",prs:[490],description:\"Added koa.name attribute as deprecated\"}]},\"koa.type\":{brief:\"The type of the Koa layer that handled the request.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"router\",changelog:[{version:\"0.16.0\",prs:[471],description:\"Added koa.type attribute\"}]},lcp:{brief:\"The value of the recorded Largest Contentful Paint (LCP) web vital\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2500,deprecation:{replacement:\"browser.web_vital.lcp.value\",reason:\"The LCP web vital is now recorded as a browser.web_vital.lcp.value attribute.\"},aliases:[\"browser.web_vital.lcp.value\"],changelog:[{version:\"0.5.0\",prs:[229],description:\"Added and deprecated attribute to document JS SDK's current behaviour\"}]},\"lcp.element\":{brief:\"The dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"img\",deprecation:{replacement:\"browser.web_vital.lcp.element\",reason:\"The LCP element is now recorded as a browser.web_vital.lcp.element attribute.\"},aliases:[\"browser.web_vital.lcp.element\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"lcp.id\":{brief:\"The id of the dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"#hero\",deprecation:{replacement:\"browser.web_vital.lcp.id\",reason:\"The LCP id is now recorded as a browser.web_vital.lcp.id attribute.\"},aliases:[\"browser.web_vital.lcp.id\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"lcp.loadTime\":{brief:\"The time it took for the LCP element to be loaded\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1402,deprecation:{replacement:\"browser.web_vital.lcp.load_time\",reason:\"The LCP load time is now recorded as a browser.web_vital.lcp.load_time attribute.\"},aliases:[\"browser.web_vital.lcp.load_time\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"lcp.renderTime\":{brief:\"The time it took for the LCP element to be rendered\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1685,deprecation:{replacement:\"browser.web_vital.lcp.render_time\",reason:\"The LCP render time is now recorded as a browser.web_vital.lcp.render_time attribute.\"},aliases:[\"browser.web_vital.lcp.render_time\"],changelog:[{version:\"0.5.0\",prs:[233]}]},\"lcp.size\":{brief:\"The size of the largest contentful paint element.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234,deprecation:{replacement:\"browser.web_vital.lcp.size\",reason:\"The LCP size is now recorded as a browser.web_vital.lcp.size attribute.\"},aliases:[\"browser.web_vital.lcp.size\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"lcp.url\":{brief:\"The url of the dom element responsible for the largest contentful paint.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com\",deprecation:{replacement:\"browser.web_vital.lcp.url\",reason:\"The LCP url is now recorded as a browser.web_vital.lcp.url attribute.\"},aliases:[\"browser.web_vital.lcp.url\"],changelog:[{version:\"0.5.0\",prs:[233]},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"logger.name\":{brief:\"The name of the logger that generated this event.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"myLogger\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"mcp.cancelled.reason\":{brief:\"Reason for the cancellation of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Cancellation reasons may contain user-specific or sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"User cancelled the request\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.cancelled.request_id\":{brief:\"Request ID of the cancelled MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"123\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.name\":{brief:\"Name of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"claude-desktop\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.title\":{brief:\"Display title of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Client titles may reveal user-specific application configurations or custom setups\"},isInOtel:!1,visibility:\"public\",example:\"Claude Desktop\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.client.version\":{brief:\"Version of the MCP client application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1.0.0\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.lifecycle.phase\":{brief:\"Lifecycle phase indicator for MCP operations.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"initialization_complete\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.data_type\":{brief:\"Data type of the logged message content.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"string\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.level\":{brief:\"Log level for MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"info\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.logger\":{brief:\"Logger name for MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Logger names may be user-defined and could contain sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"mcp_server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.logging.message\":{brief:\"Log message content from MCP logging operations.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Log messages can contain user data\"},isInOtel:!1,visibility:\"public\",example:\"Tool execution completed successfully\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.method.name\":{brief:\"The name of the MCP request or notification method being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tools/call\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.current\":{brief:\"Current progress value of an MCP operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.message\":{brief:\"Progress message describing the current state of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Progress messages may contain user-specific or sensitive information\"},isInOtel:!1,visibility:\"public\",example:\"Processing 50 of 100 items\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.percentage\":{brief:\"Calculated progress percentage of an MCP operation. Computed from current/total * 100.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:50,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.token\":{brief:\"Token for tracking progress of an MCP operation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"progress-token-123\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.progress.total\":{brief:\"Total progress target value of an MCP operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.name\":{brief:\"Name of the MCP prompt template being used.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Prompt names may reveal user behavior patterns or sensitive operations\"},isInOtel:!1,visibility:\"public\",example:\"summarize\",deprecation:{replacement:\"gen_ai.prompt.name\",reason:\"OTel uses gen_ai.prompt.name for MCP prompt names\"},aliases:[\"gen_ai.prompt.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.prompt.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.description\":{brief:\"Description of the prompt result.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"A summary of the requested information\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_content\":{brief:\"Content of the message in the prompt result. Used for single message results only.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"Please provide a summary of the document\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_count\":{brief:\"Number of messages in the prompt result.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:3,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.prompt.result.message_role\":{brief:\"Role of the message in the prompt result. Used for single message results only.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.protocol.ready\":{brief:\"Protocol readiness indicator for MCP session. Non-zero value indicates the protocol is ready.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.protocol.version\":{brief:\"MCP protocol version used in the session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2024-11-05\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.request.argument.\":{brief:\"MCP request argument with dynamic key suffix. The is replaced with the actual argument name. The value is a JSON-stringified representation of the argument value.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Arguments contain user input\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"mcp.request.argument.query='weather in Paris'\",changelog:[{version:\"0.3.0\",prs:[176]}]},\"mcp.request.argument.name\":{brief:\"Name argument from prompts/get MCP request.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Prompt names can contain user input\"},isInOtel:!1,visibility:\"public\",example:\"summarize\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.request.argument.uri\":{brief:\"URI argument from resources/read MCP request.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"URIs can contain user file paths\"},isInOtel:!1,visibility:\"public\",example:\"file:///path/to/resource\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.request.id\":{brief:\"JSON-RPC request identifier for the MCP request. Unique within the MCP session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1\",deprecation:{replacement:\"jsonrpc.request.id\",reason:\"OTel models MCP as JSON-RPC, uses jsonrpc.request.id\"},aliases:[\"jsonrpc.request.id\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of jsonrpc.request.id\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.resource.protocol\":{brief:\"Protocol of the resource URI being accessed, extracted from the URI.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"file\",deprecation:{replacement:\"network.protocol.name\",reason:\"OTel uses the generic network.protocol.name attribute\"},aliases:[\"network.protocol.name\",\"net.protocol.name\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of network.protocol.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.resource.uri\":{brief:\"The resource URI being accessed in an MCP operation.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"URIs can contain sensitive file paths\"},isInOtel:!0,visibility:\"public\",example:\"file:///path/to/file.txt\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.server.name\":{brief:\"Name of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sentry-mcp-server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.server.title\":{brief:\"Display title of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\",reason:\"Server titles may reveal user-specific application configurations or custom setups\"},isInOtel:!1,visibility:\"public\",example:\"Sentry MCP Server\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.server.version\":{brief:\"Version of the MCP server application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"0.1.0\",changelog:[{version:\"0.3.0\",prs:[171]}]},\"mcp.session.id\":{brief:\"Identifier for the MCP session.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"550e8400-e29b-41d4-a716-446655440000\",changelog:[{version:\"0.12.0\",prs:[420],description:\"Set is_in_otel=true, attribute exists in OTel MCP registry\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.name\":{brief:\"Name of the MCP tool being called.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"calculator\",deprecation:{replacement:\"gen_ai.tool.name\",reason:\"OTel uses gen_ai.tool.name for MCP tool names\"},aliases:[\"gen_ai.tool.name\",\"ai.function_call\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.tool.name\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.result.content\":{brief:\"The content of the tool result.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Tool results can contain user data\"},isInOtel:!1,visibility:\"public\",example:'{\"output\": \"rainy\", \"toolCallId\": \"1\"}',deprecation:{replacement:\"gen_ai.tool.call.result\",reason:\"OTel uses gen_ai.tool.call.result for MCP tool results\"},aliases:[\"gen_ai.tool.call.result\",\"gen_ai.tool.message\",\"gen_ai.tool.output\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of gen_ai.tool.call.result\"},{version:\"0.3.0\",prs:[171]},{version:\"0.2.0\",prs:[164]}]},\"mcp.tool.result.content_count\":{brief:\"Number of content items in the tool result.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[171]}]},\"mcp.tool.result.is_error\":{brief:\"Whether a tool execution resulted in an error.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!1,deprecation:{replacement:\"error.type\",reason:\"OTel uses error.type set to 'tool_error' when isError is true. Cannot be automatically backfilled due to type mismatch (boolean vs string).\"},changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of error.type\"},{version:\"0.3.0\",prs:[171]}]},\"mcp.transport\":{brief:\"Transport method used for MCP communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stdio\",deprecation:{replacement:\"network.transport\",reason:\"OTel uses the generic network.transport attribute\"},aliases:[\"network.transport\",\"net.transport\"],changelog:[{version:\"0.12.0\",prs:[420],description:\"Deprecated in favor of network.transport\"},{version:\"0.3.0\",prs:[171]}]},\"mdc.\":{brief:\"Attributes from the Mapped Diagnostic Context (MDC) present at the moment the log record was created. The MDC is supported by all the most popular logging solutions in the Java ecosystem, and it's usually implemented as a thread-local map that stores context for e.g. a specific request.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"mdc.some_key='some_value'\",changelog:[{version:\"0.3.0\",prs:[176]}]},\"messaging.batch.message_count\":{brief:\"The number of messages sent, received, or processed in the scope of the batching operation.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:10,changelog:[{version:\"0.6.0\",prs:[341],description:\"Added messaging.batch.message_count attribute\"}]},\"messaging.destination\":{brief:\"The message destination name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"BestTopic\",deprecation:{replacement:\"messaging.destination.name\",reason:\"This attribute is being deprecated in favor of messaging.destination.name, which is the OTel-aligned replacement.\"},aliases:[\"messaging.destination.name\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added messaging.destination attribute, deprecated in favor of messaging.destination.name\"}]},\"messaging.destination.connection\":{brief:\"The message destination connection.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"BestTopic\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.destination.name\":{brief:\"The message destination name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"BestTopic\",aliases:[\"messaging.destination\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added messaging.destination as an alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.message.body.size\":{brief:\"The size of the message body in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:839,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.conversation_id\":{brief:'The conversation ID identifying the conversation to which the message belongs, represented as a string. Sometimes called \"Correlation ID\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"MyConversationId\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added messaging.message.conversation_id attribute\"}]},\"messaging.message.envelope.size\":{brief:\"The size of the message body and metadata in bytes.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1045,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.id\":{brief:\"A value used by the messaging system as an identifier for the message, represented as a string.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"f47ac10b58cc4372a5670e02b2c3d479\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"messaging.message.receive.latency\":{brief:\"The latency between when the message was published and received.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1732847252,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.message.retry.count\":{brief:\"The amount of attempts to send the message.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"messaging.operation.name\":{brief:\"The name of the messaging operation being performed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"send\",changelog:[{version:\"0.11.0\",prs:[392],description:\"Added messaging.operation.name attribute\"}]},\"messaging.operation.type\":{brief:\"A string identifying the type of the messaging operation\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"create\",changelog:[{version:\"0.1.0\",prs:[51,127]}]},\"messaging.rabbitmq.destination.routing_key\":{brief:\"RabbitMQ message routing key.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"myKey\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added messaging.rabbitmq.destination.routing_key attribute\"}]},\"messaging.system\":{brief:\"The messaging system as identified by the client instrumentation.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"activemq\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},method:{brief:\"The HTTP method used.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",deprecation:{replacement:\"http.request.method\"},aliases:[\"http.request.method\",\"http.request_method\",\"http.method\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"middleware.name\":{brief:\"The name of the middleware.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"AuthenticationMiddleware\",changelog:[{version:\"0.6.0\",prs:[336],description:\"Added middleware.name attribute\"}]},\"navigation.origin\":{brief:\"The origin of the navigation (usually client side router navigations). Should preferrably parameterized template (like url.template) or a URL path otherwise.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",aliases:[\"sentry.sveltekit.navigation.from\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added navigation.origin attribute\"}]},\"navigation.route.id\":{brief:\"The identifier of the matched client-side route, as assigned by the routing framework (e.g., vue-router name, react-router id).\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"AboutView\",changelog:[{version:\"0.16.0\",prs:[468],description:\"Added navigation.route.id attribute\"}]},\"navigation.type\":{brief:\"The type of navigation done by a client-side router.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"router.push\",aliases:[\"sentry.sveltekit.navigation.type\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added new deprecated alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"nel.elapsed_time\":{brief:\"The elapsed number of milliseconds between the start of the resource fetch and when it was completed or aborted by the user agent.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[68]}]},\"nel.phase\":{brief:'If request failed, the phase of its network error. If request succeeded, \"application\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"application\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"nel.referrer\":{brief:\"request's referrer, as determined by the referrer policy associated with its client.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/foo?bar=baz\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"nel.sampling_function\":{brief:\"The sampling function used to determine if the request should be sampled.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[68]}]},\"nel.type\":{brief:'If request failed, the type of its network error. If request succeeded, \"ok\".',type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dns.unreachable\",changelog:[{version:\"0.1.0\",prs:[68,127]}]},\"network.connection.effective_type\":{brief:\"Specifies the effective type of the current connection (e.g. slow-2g, 2g, 3g, 4g).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"4g\",aliases:[\"effectiveConnectionType\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.effective_type to be used instead of effectiveConnectionType\"}]},\"network.connection.rtt\":{brief:\"Specifies the estimated effective round-trip time of the current connection, in milliseconds.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:100,aliases:[\"connection.rtt\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.rtt to be used instead of connection.rtt\"}]},\"network.connection.type\":{brief:\"Specifies the type of the current connection (e.g. wifi, ethernet, cellular , etc).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"wifi\",aliases:[\"device.connection_type\",\"connectionType\"],changelog:[{version:\"0.5.0\",prs:[279],description:\"Added attribute network.connection.type to be used instead of connectionType\"}]},\"network.local.address\":{brief:\"Local address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"10.1.2.80\",aliases:[\"net.host.ip\",\"net.sock.host.addr\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.local.port\":{brief:\"Local port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:65400,aliases:[\"net.sock.host.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"network.peer.address\":{brief:\"Peer address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"10.1.2.80\",aliases:[\"net.peer.ip\",\"net.sock.peer.addr\"],changelog:[{version:\"0.1.0\",prs:[108,127]},{version:\"0.0.0\"}]},\"network.peer.port\":{brief:\"Peer port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:65400,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"network.protocol.name\":{brief:\"OSI application layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http\",aliases:[\"net.protocol.name\",\"mcp.resource.protocol\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.protocol.version\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",aliases:[\"http.flavor\",\"net.protocol.version\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.transport\":{brief:\"OSI transport layer or inter-process communication method.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tcp\",aliases:[\"net.transport\",\"mcp.transport\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"network.type\":{brief:\"OSI network layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"ipv4\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"net.host.ip\":{brief:\"Local address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.local.address\"},aliases:[\"network.local.address\",\"net.sock.host.addr\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.host.name\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\"},aliases:[\"server.address\",\"http.server_name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.host.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,deprecation:{replacement:\"server.port\"},aliases:[\"server.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.peer.ip\":{brief:\"Peer address of the network connection - IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.peer.address\"},aliases:[\"network.peer.address\",\"net.sock.peer.addr\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.peer.name\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"Deprecated, use server.address on client spans and client.address on server spans.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.peer.port\":{brief:\"Peer port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,deprecation:{replacement:\"server.port\",reason:\"Deprecated, use server.port on client spans and client.port on server spans.\"},changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.protocol.name\":{brief:\"OSI application layer or non-OSI equivalent.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"http\",deprecation:{replacement:\"network.protocol.name\"},aliases:[\"network.protocol.name\",\"mcp.resource.protocol\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.protocol.version\":{brief:\"The actual version of the protocol used for network communication.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1.1\",deprecation:{replacement:\"network.protocol.version\"},aliases:[\"network.protocol.version\",\"http.flavor\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.family\":{brief:\"OSI transport and network layer\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"inet\",deprecation:{replacement:\"network.transport\",reason:\"Deprecated, use network.transport and network.type.\"},changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"net.sock.host.addr\":{brief:\"Local address of the network connection mapping to Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/var/my.sock\",deprecation:{replacement:\"network.local.address\"},aliases:[\"network.local.address\",\"net.host.ip\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.host.port\":{brief:\"Local port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:8080,deprecation:{replacement:\"network.local.port\"},aliases:[\"network.local.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.sock.peer.addr\":{brief:\"Peer address of the network connection - IP address\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"192.168.0.1\",deprecation:{replacement:\"network.peer.address\"},aliases:[\"network.peer.address\",\"net.peer.ip\"],changelog:[{version:\"0.1.0\",prs:[61,108,127]},{version:\"0.0.0\"}]},\"net.sock.peer.name\":{brief:\"Peer address of the network connection - Unix domain socket name\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/var/my.sock\",deprecation:{reason:\"Deprecated from OTEL, no replacement at this time\"},changelog:[{version:\"0.1.0\",prs:[61,119,127]},{version:\"0.0.0\"}]},\"net.sock.peer.port\":{brief:\"Peer port number of the network connection.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:8080,deprecation:{replacement:\"network.peer.port\"},changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"net.transport\":{brief:\"OSI transport layer or inter-process communication method.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"tcp\",deprecation:{replacement:\"network.transport\"},aliases:[\"network.transport\",\"mcp.transport\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"os.build\":{brief:\"The build ID of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1234567890\",deprecation:{replacement:\"os.build_id\"},aliases:[\"os.build_id\"],changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.build attribute, deprecated in favor of os.build_id\"}]},\"os.build_id\":{brief:\"The build ID of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"1234567890\",aliases:[\"os.build\"],changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.build as alias\"},{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.description\":{brief:\"Human readable (not intended to be parsed) OS version information, like e.g. reported by ver or lsb_release -a commands.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Ubuntu 18.04.1 LTS\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.kernel_version\":{brief:\"An independent kernel version string. Typically the entire output of the `uname` syscall.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"20.2.0\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.kernel_version attribute\"}]},\"os.name\":{brief:\"Human readable operating system name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Ubuntu\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.raw_description\":{brief:\"An unprocessed description string obtained by the operating system. For some well-known runtimes, Sentry will attempt to parse `name` and `version` from this string, if they are not explicitly given.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Ubuntu 22.04.4 LTS (Jammy Jellyfish)\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.raw_description attribute\"}]},\"os.rooted\":{brief:\"Whether the operating system has been jailbroken or rooted.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.rooted attribute\"}]},\"os.theme\":{brief:\"Whether the OS runs in dark mode or light mode.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dark\",changelog:[{version:\"0.5.0\",prs:[301],description:\"Added os.theme attribute\"}]},\"os.type\":{brief:\"The operating system type.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"linux\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"os.version\":{brief:\"The version of the operating system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"18.04.2\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.kind\":{brief:\"The span kind (https://opentelemetry.io/docs/concepts/signals/traces/#span-kind). Deprecated, use `sentry.kind` instead.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SERVER\",deprecation:{replacement:\"sentry.kind\",reason:\"Deprecated in favor of sentry.kind\"},aliases:[\"sentry.kind\"],changelog:[{version:\"0.13.0\",prs:[440],description:\"Added otel.kind attribute\"}]},\"otel.scope.name\":{brief:\"The name of the instrumentation scope - (InstrumentationScope.Name in OTLP).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"io.opentelemetry.contrib.mongodb\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.scope.version\":{brief:\"The version of the instrumentation scope - (InstrumentationScope.Version in OTLP).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"2.4.5\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.status_code\":{brief:\"Name of the code, either \\u201COK\\u201D or \\u201CERROR\\u201D. MUST NOT be set if the status code is UNSET.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"OK\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"otel.status_description\":{brief:\"Description of the Status if it has a value, otherwise not set.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"resource not found\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"params.\":{brief:\"Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"params.id='123'\",aliases:[\"url.path.parameter.\"],changelog:[{version:\"0.1.0\",prs:[103]}]},\"performance.activationStart\":{brief:\"The time between initiating a navigation to a page and the browser activating the page\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1.983,deprecation:{replacement:\"browser.performance.navigation.activation_start\",reason:\"The activationStart is now recorded as the browser.performance.navigation.activation_start attribute.\"},aliases:[\"browser.performance.navigation.activation_start\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added performance.activationStart attribute\"}]},\"performance.timeOrigin\":{brief:\"The browser's performance.timeOrigin timestamp representing the time when the pageload was initiated\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1776185678886e-3,deprecation:{replacement:\"browser.performance.time_origin\",reason:\"The timeOrigin is now recorded as the browser.performance.time_origin attribute.\"},aliases:[\"browser.performance.time_origin\"],changelog:[{version:\"0.5.0\",prs:[321],description:\"Added performance.timeOrigin attribute\"}]},previous_route:{brief:\"Also used by mobile SDKs to indicate the previous route in the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"HomeScreen\",changelog:[{version:\"0.1.0\",prs:[74]},{version:\"0.0.0\"}]},\"process.command_args\":{brief:\"All the command arguments (including the command/executable itself) as received by the process.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:[\"cmd/otecol\",\"--config=config.yaml\"],changelog:[{version:\"0.6.0\",prs:[327],description:\"Added process.command_args attribute\"}]},\"process.executable.name\":{brief:\"The name of the executable that started the process.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"getsentry\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.pid\":{brief:\"The process ID of the running process.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:12345,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"process.runtime.description\":{brief:\"An additional description about the runtime of the process, for example a specific vendor customization of the runtime environment. Equivalent to `raw_description` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Eclipse OpenJ9 VM openj9-0.21.0\",aliases:[\"runtime.raw_description\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.runtime.engine.name\":{brief:\"The name of the runtime engine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"v8\",changelog:[{version:\"0.0.0\"}]},\"process.runtime.engine.version\":{brief:\"The version of the runtime engine.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"12.9.202.13-rusty\",changelog:[{version:\"0.0.0\"}]},\"process.runtime.name\":{brief:\"The name of the runtime. Equivalent to `name` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"node\",aliases:[\"runtime.name\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"process.runtime.version\":{brief:\"The version of the runtime of this process, as returned by the runtime without modification. Equivalent to `version` in the Sentry runtime context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"18.04.2\",aliases:[\"runtime.version\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"query.\":{brief:\"An item in a query string. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"query.id='123'\",deprecation:{replacement:\"url.query\",reason:\"Instead of sending items individually in query., they should be sent all together with url.query.\"},changelog:[{version:\"0.1.0\",prs:[103]}]},\"react.version\":{brief:\"The version of the React framework\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"18.2.0\",changelog:[{version:\"0.7.0\",prs:[368],description:\"Added react.version attribute\"}]},release:{brief:\"The sentry release.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.release\"},aliases:[\"sentry.release\"],changelog:[{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"remix.action_form_data.\":{brief:\"Remix form data, being the form data key, the value being the form data value.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"http.response.header.text='test'\",changelog:[{version:\"0.1.0\",prs:[103]}]},replay_id:{brief:\"The id of the sentry replay.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",deprecation:{replacement:\"sentry.replay_id\"},aliases:[\"sentry.replay_id\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"resource.deployment.environment\":{brief:\"The software deployment environment name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},changelog:[{version:\"0.5.0\",prs:[266]}]},\"resource.deployment.environment.name\":{brief:\"The software deployment environment name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"production\",deprecation:{replacement:\"sentry.environment\"},changelog:[{version:\"0.3.1\",prs:[196]}]},\"resource.render_blocking_status\":{brief:\"The render blocking status of the resource.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"non-blocking\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},route:{brief:\"The matched route, that is, the path template in the format used by the respective server framework. Also used by mobile SDKs to indicate the current route in the application.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"App\\\\Controller::indexAction\",deprecation:{replacement:\"http.route\"},aliases:[\"http.route\"],changelog:[{version:\"0.1.0\",prs:[61,74]},{version:\"0.0.0\"}]},\"rpc.grpc.status_code\":{brief:\"The numeric status code of the gRPC request.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:2,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"rpc.method\":{brief:\"The fully-qualified logical name of the method from the RPC interface perspective.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"com.example.ExampleService/exampleMethod\",changelog:[{version:\"0.7.0\",prs:[351],description:\"Added rpc.method attribute\"}]},\"rpc.response.status_code\":{brief:\"Status code of the RPC returned by the RPC server or generated by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"DEADLINE_EXCEEDED\",changelog:[{version:\"0.7.0\",prs:[352],description:\"Added rpc.response.status_code attribute\"}]},\"rpc.service\":{brief:\"The full (logical) name of the service being called, including its package name, if applicable.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"myService.BestService\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"rpc.system\":{brief:\"A string identifying the remoting system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws-api\",deprecation:{replacement:\"rpc.system.name\",reason:\"This attribute is being deprecated in favor of rpc.system.name, which is the OTel-aligned replacement.\"},aliases:[\"rpc.system.name\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added rpc.system attribute, deprecated in favor of rpc.system.name\"}]},\"rpc.system.name\":{brief:\"A string identifying the remoting system.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"aws-api\",aliases:[\"rpc.system\"],changelog:[{version:\"0.16.0\",prs:[482],description:\"Added rpc.system.name attribute\"}]},\"runtime.build\":{brief:\"The application build string, when it is separate from the version.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stable\",deprecation:{reason:\"The runtime.* namespace is deprecated in favor of process.runtime.*. No direct OTel equivalent exists for this attribute.\"},changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.build attribute\"}]},\"runtime.name\":{brief:\"The name of the runtime. For example node, CPython, or rustc.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"node\",deprecation:{replacement:\"process.runtime.name\",reason:\"Prefer OTel-aligned process.runtime.name\"},aliases:[\"process.runtime.name\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.name attribute in favor of process.runtime.name\"}]},\"runtime.raw_description\":{brief:\"Unprocessed description string as obtained from the runtime. Used to extract name and version for well-known runtimes.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Eclipse OpenJ9 VM openj9-0.21.0\",deprecation:{replacement:\"process.runtime.description\",reason:\"Prefer OTel-aligned process.runtime.description\"},aliases:[\"process.runtime.description\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.raw_description attribute in favor of process.runtime.description\"}]},\"runtime.version\":{brief:\"The version of the runtime.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"18.04.2\",deprecation:{replacement:\"process.runtime.version\",reason:\"Prefer OTel-aligned process.runtime.version\"},aliases:[\"process.runtime.version\"],changelog:[{version:\"0.11.0\",prs:[383],description:\"Added and deprecated runtime.version attribute in favor of process.runtime.version\"}]},\"score.\":{brief:\"The weighted performance score for a web vital. This is defined as `score.weight.` * `score.ratio.`.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.cls=0.1723\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score. attribute\"}]},\"score.ratio.\":{brief:\"The score for a web vital, normalized to a number between 0 and 1.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.ratio.inp=0.7748\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.ratio. attribute\"}]},\"score.total\":{brief:\"The total performance score of a span. This is the sum of individual weighted web vital scores (see `score.`).\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.total attribute\"}]},\"score.weight.\":{brief:\"The relative weight of a web vital in a span's performance score.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"score.weight.fcp=0.25\",changelog:[{version:\"0.7.0\",prs:[355],description:\"Added score.weight. attribute\"}]},\"sentry.action\":{brief:\"Used as a generic attribute representing the action depending on the type of span. For instance, this is the database query operation for DB spans, and the request method for HTTP spans.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SELECT\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.browser.name\":{brief:\"The name of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Chrome\",deprecation:{replacement:\"browser.name\"},aliases:[\"browser.name\"],changelog:[{version:\"0.1.0\",prs:[139]}]},\"sentry.browser.version\":{brief:\"The version of the browser.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"120.0.6099.130\",deprecation:{replacement:\"browser.version\"},aliases:[\"browser.version\"],changelog:[{version:\"0.1.0\",prs:[139]}]},\"sentry.cancellation_reason\":{brief:\"The reason why a span ended early.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"document.hidden\",changelog:[{version:\"0.0.0\"}]},\"sentry.category\":{brief:\"The high-level category of a span, derived from the span operation or span attributes. This categorizes spans by their general purpose (e.g., database, HTTP, UI). Known values include: 'ai', 'ai.pipeline', 'app', 'browser', 'cache', 'console', 'db', 'event', 'file', 'function.aws', 'function.azure', 'function.gcp', 'function.nextjs', 'function.remix', 'graphql', 'grpc', 'http', 'measure', 'middleware', 'navigation', 'pageload', 'queue', 'resource', 'rpc', 'serialize', 'subprocess', 'template', 'topic', 'ui', 'ui.angular', 'ui.ember', 'ui.react', 'ui.svelte', 'ui.vue', 'view', 'websocket'.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"db\",changelog:[{version:\"0.4.0\",prs:[218]}]},\"sentry.client_sample_rate\":{brief:\"Rate at which a span was sampled in the SDK.\",type:\"double\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.1.0\",prs:[102]}]},\"sentry.description\":{brief:\"The human-readable description of a span.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"index view query\",changelog:[{version:\"0.1.0\",prs:[135]}]},\"sentry.dist\":{brief:\"The sentry dist.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1.0\",aliases:[\"dist\"],changelog:[{version:\"0.16.0\",prs:[489],description:\"Added dist as an alias\"},{version:\"0.0.0\"}]},\"sentry.domain\":{brief:\"Used as a generic attribute representing the domain depending on the type of span. For instance, this is the collection/table name for database spans, and the server address for HTTP spans.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"example.com\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.dsc.environment\":{brief:\"The environment from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"prod\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.project_id\":{brief:\"The ID of the project where the trace originated (i.e. the project of the SDK that started the trace). Propagated through the dynamic sampling context and set by Relay during ingestion.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"12345\",changelog:[{version:\"0.7.0\",prs:[358],description:\"Add sentry.dsc.project_id as an attribute\"}]},\"sentry.dsc.public_key\":{brief:\"The public key from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"internal\",example:\"c51734c603c4430eb57cb0a5728a479d\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.release\":{brief:\"The release identifier from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"frontend@e8211be71b214afab5b85de4b4c54be3714952bb\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.sampled\":{brief:\"Whether the event was sampled according to the dynamic sampling context.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:!0,changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.sample_rate\":{brief:\"The sample rate from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"1.0\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.trace_id\":{brief:\"The trace ID from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"047372980460430cbc78d9779df33a46\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.dsc.transaction\":{brief:\"The transaction name from the dynamic sampling context.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"internal\",example:\"/issues/errors-outages/\",changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.environment\":{brief:\"The sentry environment.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"production\",aliases:[\"environment\"],changelog:[{version:\"0.0.0\"}]},\"sentry.exclusive_time\":{brief:\"The exclusive time duration of the span in milliseconds.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.3.0\",prs:[160]},{version:\"0.0.0\"}]},\"sentry.graphql.operation\":{brief:\"Indicates the type of graphql operation, emitted by the Javascript SDK.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"getUserById\",changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.group\":{brief:\"Stores the hash of `sentry.normalized_description`. This is primarily used for grouping spans in the product end.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.http.prefetch\":{brief:\"If an http request was a prefetch request.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"sentry.idle_span_finish_reason\":{brief:\"The reason why an idle span ended early.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"idleTimeout\",changelog:[{version:\"0.0.0\"}]},\"sentry.is_remote\":{brief:\"Indicates whether a span's parent is remote.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.kind\":{brief:\"Used to clarify the relationship between parents and children, or to distinguish between spans, e.g. a `server` and `client` span with the same name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"server\",aliases:[\"otel.kind\"],changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.main_thread\":{brief:\"Whether the span or event occurred on the main thread. Computed by Relay and should not be set by SDKs.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},\"sentry.message.parameter.\":{brief:\"A parameter used in the message template. can either be the number that represent the parameter's position in the template string (sentry.message.parameter.0, sentry.message.parameter.1, etc) or the parameter's name (sentry.message.parameter.item_id, sentry.message.parameter.user_id, etc)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"sentry.message.parameter.0='123'\",changelog:[{version:\"0.1.0\",prs:[116]}]},\"sentry.message.template\":{brief:\"The parameterized template string.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Hello, {name}!\",changelog:[{version:\"0.1.0\",prs:[116]}]},\"sentry.metric.source\":{brief:\"The provenance of a metric. For example, this can be set to indicate if a metric was generated by Relay from a span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"span\",changelog:[{version:\"0.16.0\",prs:[476],description:\"Added sentry.metric.source attribute\"}]},\"sentry.mobile\":{brief:\"Whether the application is using a mobile SDK. Computed by Relay and should not be set by SDKs.\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.5.0\"}]},\"sentry.module.\":{brief:\"A module that was loaded in the process. The key is the name of the module.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"sentry.module.brianium/paratest='v7.7.0'\",changelog:[{version:\"0.1.0\",prs:[103]}]},\"sentry.nextjs.ssr.function.route\":{brief:\"A parameterized route for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions when the file location of the function is known.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"/posts/[id]/layout\",changelog:[{version:\"0.1.0\",prs:[54,106]}]},\"sentry.nextjs.ssr.function.type\":{brief:\"A descriptor for a for a function in Next.js that contributes to Server-Side Rendering. Should be present on spans that track such functions.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"generateMetadata\",changelog:[{version:\"0.1.0\",prs:[54,106]}]},\"sentry.normalized_db_query\":{brief:\"The normalized version of `db.query.text`.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"SELECT .. FROM sentry_project WHERE (project_id = %s)\",changelog:[{version:\"0.3.1\",prs:[194]}]},\"sentry.normalized_db_query.hash\":{brief:\"The hash of `sentry.normalized_db_query`.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.4.0\",prs:[200]}]},\"sentry.normalized_description\":{brief:\"Used as a generic attribute representing the normalized `sentry.description`. This refers to the legacy use case of `sentry.description` where it holds relevant data depending on the type of span (e.g. database query, resource url, http request description, etc).\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"SELECT .. FROM sentry_project WHERE (project_id = %s)\",changelog:[{version:\"0.4.0\",prs:[212]}]},\"sentry.observed_timestamp_nanos\":{brief:\"The timestamp at which an envelope was received by Relay, in nanoseconds.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"1544712660300000000\",changelog:[{version:\"0.3.0\",prs:[174]},{version:\"0.2.0\",prs:[137]}]},\"sentry.op\":{brief:\"The operation of a span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"http.client\",changelog:[{version:\"0.0.0\"}]},\"sentry.origin\":{brief:\"The origin of the instrumentation (e.g. span, log, etc.)\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"auto.http.otel.fastify\",changelog:[{version:\"0.1.0\",prs:[68]},{version:\"0.0.0\"}]},\"sentry.platform\":{brief:\"The sdk platform that generated the event.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"php\",changelog:[{version:\"0.0.0\"}]},\"sentry.profiler_id\":{brief:\"The id of the currently running profiler (continuous profiling)\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"18779b64dd35d1a538e7ce2dd2d3fad3\",changelog:[{version:\"0.4.0\",prs:[242]}]},\"sentry.profile_id\":{brief:\"The ID of the Sentry profile the span is associated with. This is only meaningful for transaction-based profiling.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",changelog:[{version:\"0.6.0\",prs:[344],description:\"Added sentry.profile_id attribute\"}]},\"sentry.release\":{brief:\"The sentry release.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"7.0.0\",aliases:[\"service.version\",\"release\"],changelog:[{version:\"0.0.0\"}]},\"sentry.replay_id\":{brief:\"The id of the sentry replay.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"123e4567e89b12d3a456426614174000\",aliases:[\"replay_id\"],changelog:[{version:\"0.0.0\"}]},\"sentry.replay_is_buffering\":{brief:\"A sentinel attribute on log events indicating whether the current Session Replay is being buffered (onErrorSampleRate).\",type:\"boolean\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.3.0\",prs:[185]}]},\"sentry.report_event\":{brief:\"(Deprecated) The event that caused the SDK to report CLS or LCP (pagehide or navigation)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pagehide\",deprecation:{reason:\"The report event is now recorded as a browser.web_vital.lcp.report_event or browser.web_vital.cls.report_event attribute. No backfill required.\"},changelog:[{version:\"0.5.0\",prs:[320],description:\"Added sentry.report_event attribute\"}]},\"sentry.sdk.integrations\":{brief:\"A list of names identifying enabled integrations. The list shouldhave all enabled integrations, including default integrations. Defaultintegrations are included because different SDK releases may contain differentdefault integrations.\",type:\"string[]\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:[\"InboundFilters\",\"FunctionToString\",\"BrowserApiErrors\",\"Breadcrumbs\"],changelog:[{version:\"0.0.0\",prs:[42]}]},\"sentry.sdk.name\":{brief:\"The sentry sdk name.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"@sentry/react\",changelog:[{version:\"0.0.0\"}]},\"sentry.sdk.version\":{brief:\"The sentry sdk version.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"7.0.0\",changelog:[{version:\"0.0.0\"}]},\"sentry.segment.id\":{brief:\"The segment ID of a span\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"051581bf3cb55c13\",aliases:[\"sentry.segment_id\"],changelog:[{version:\"0.1.0\",prs:[107,124]}]},\"sentry.segment_id\":{brief:\"The segment ID of a span\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"051581bf3cb55c13\",deprecation:{replacement:\"sentry.segment.id\"},aliases:[\"sentry.segment.id\"],changelog:[{version:\"0.1.0\",prs:[124]}]},\"sentry.segment.name\":{brief:\"The segment name of a span\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET /user\",aliases:[\"sentry.transaction\",\"transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Added sentry.transaction and transaction aliases\"},{version:\"0.1.0\",prs:[104]}]},\"sentry.server_sample_rate\":{brief:\"Rate at which a span was sampled in Relay.\",type:\"double\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:.5,changelog:[{version:\"0.1.0\",prs:[102]}]},\"sentry.source\":{brief:\"The source of a span, also referred to as transaction source. Known values are: `'custom'`, `'url'`, `'route'`, `'component'`, `'view'`, `'task'`. '`source`' describes a parametrized route, while `'url'` describes the full URL, potentially containing identifiers.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"route\",deprecation:{replacement:\"sentry.span.source\",reason:\"This attribute is being deprecated in favor of sentry.span.source\"},changelog:[{version:\"0.5.0\"}]},\"sentry.span.source\":{brief:\"The source of a span, also referred to as transaction source. Known values are: `'custom'`, `'url'`, `'route'`, `'component'`, `'view'`, `'task'`. '`source`' describes a parametrized route, while `'url'` describes the full URL, potentially containing identifiers.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"route\",changelog:[{version:\"0.4.0\",prs:[214]},{version:\"0.0.0\"}]},\"sentry.status\":{brief:`The span's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.`,type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"ok\",changelog:[{version:\"0.14.0\",prs:[453]}]},\"sentry.status_code\":{brief:\"The HTTP status code used in Sentry Insights. Typically set by Sentry during ingestion, rather than by clients.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[223,228]}]},\"sentry.status.message\":{brief:\"The from OTLP extracted status message.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"foobar\",changelog:[{version:\"0.3.1\",prs:[190]}]},\"sentry.sveltekit.navigation.from\":{brief:\"the navigation origin (sveltekit router)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/home\",deprecation:{replacement:\"navigation.origin\",reason:\"Use the more generic attribute instead\"},aliases:[\"navigation.origin\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.from attribute\"}]},\"sentry.sveltekit.navigation.to\":{brief:\"the navigation destination\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/users/:id\",deprecation:{reason:\"the navigation destination is already covered by url.* attributes\"},changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.to attribute\"}]},\"sentry.sveltekit.navigation.type\":{brief:\"The type of navigation event emitted from the sveltekit client router\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"link\",deprecation:{replacement:\"navigation.type\",reason:\"Use the more generic attribute instead\"},aliases:[\"navigation.type\"],changelog:[{version:\"0.16.0\",prs:[467],description:\"Added sentry.sveltekit.navigation.type attribute\"}]},\"sentry.thread.id\":{brief:\"Current \\u201Cmanaged\\u201D thread ID.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:56,deprecation:{replacement:\"thread.id\",reason:\"This attribute is being deprecated in favor of the OTel-standard thread.id\"},changelog:[{version:\"0.13.0\",prs:[451]}]},\"sentry.timestamp.sequence\":{brief:\"A sequencing counter for deterministic ordering of logs or metrics when timestamps share the same integer millisecond. Starts at 0 on SDK initialization, increments by 1 for each captured item, and resets to 0 when the integer millisecond of the current item differs from the previous one.\",type:\"integer\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:0,changelog:[{version:\"0.5.0\",prs:[262]}]},\"sentry.trace_lifecycle\":{brief:\"Indicates the chosen trace lifecycle mode of the SDK (stream or static)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stream\",changelog:[{version:\"0.13.0\",prs:[442],description:\"Added sentry.trace_lifecycle attribute\"}]},\"sentry.trace.parent_span_id\":{brief:\"The span id of the span that was active when the log was collected. This should not be set if there was no active span.\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"b0e6f15b45c36b12\",deprecation:{},changelog:[{version:\"0.5.0\",prs:[287],description:\"Deprecate `sentry.trace.parent_span_id`\"},{version:\"0.1.0\",prs:[116]}]},\"sentry.trace.status\":{brief:`The segment's status (either \"ok\" or \"error\"). Older SDKs may set this to a more specific error, but this behaviour is deprecated.`,type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"ok\",changelog:[{version:\"0.14.0\",prs:[453]}]},\"sentry.transaction\":{brief:\"The sentry transaction (segment name).\",type:\"string\",applyScrubbing:{key:\"never\"},isInOtel:!1,visibility:\"public\",example:\"GET /\",deprecation:{replacement:\"sentry.segment.name\",reason:\"This attribute is being deprecated in favor of sentry.segment.name\"},aliases:[\"sentry.segment.name\",\"transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Deprecated sentry.transaction in favor of sentry.segment.name\"},{version:\"0.0.0\"}]},\"sentry.user.email\":{brief:\"User email address.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.email\"},aliases:[\"user.email\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.city\":{brief:\"Human readable city name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.city\"},aliases:[\"user.geo.city\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.country_code\":{brief:\"Two-letter country code (ISO 3166-1 alpha-2).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.country_code\"},aliases:[\"user.geo.country_code\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.region\":{brief:\"Human readable region name or code.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.region\"},aliases:[\"user.geo.region\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.geo.subdivision\":{brief:\"Human readable subdivision name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.geo.subdivision\"},aliases:[\"user.geo.subdivision\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.id\":{brief:\"Unique identifier of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.id\"},aliases:[\"user.id\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.ip\":{brief:\"The IP address of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.ip_address\"},aliases:[\"user.ip_address\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"sentry.user.username\":{brief:\"Short name or login/username of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",deprecation:{replacement:\"user.name\"},aliases:[\"user.name\"],changelog:[{version:\"0.10.0\",prs:[406]}]},\"server.address\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",aliases:[\"http.server_name\",\"net.host.name\",\"http.host\",\"server_name\"],changelog:[{version:\"0.1.0\",prs:[108,127]},{version:\"0.0.0\"}]},server_name:{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"example.com\",deprecation:{replacement:\"server.address\",reason:\"This attribute is being deprecated in favor of server.address, which is the OTel-aligned replacement.\"},aliases:[\"server.address\",\"http.server_name\",\"net.host.name\",\"http.host\"],changelog:[{version:\"0.16.0\",prs:[477],description:\"Added server_name attribute, deprecated in favor of server.address\"}]},\"server.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,aliases:[\"net.host.port\"],changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"service.name\":{brief:\"Logical name of the service.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"omegastar\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"service.version\":{brief:\"The version string of the service API or implementation. The format is not defined by these conventions.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"5.0.0\",aliases:[\"sentry.release\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"session.id\":{brief:\"A unique id identifying the active session at the time of setting this attribute\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"00112233-4455-6677-8899-aabbccddeeff\",changelog:[{version:\"0.11.0\",prs:[412],description:\"Added session.id attribute\"}]},stall_percentage:{brief:\"The fraction of time the app was stalled. Only applies to React Native. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added stall_percentage attribute\"}]},stall_total_time:{brief:\"The combined duration of all stalls in milliseconds. Only applies to React Native. This is computed by Relay.\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",changelog:[{version:\"0.7.0\",prs:[362],description:\"Added stall_total_time attribute\"}]},\"state.type\":{brief:\"The type of state management library\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"redux\",changelog:[{version:\"0.7.0\",prs:[365],description:\"Added state.type attribute\"}]},\"thread.id\":{brief:\"Current \\u201Cmanaged\\u201D thread ID.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:56,changelog:[{version:\"0.0.0\"}]},\"thread.name\":{brief:\"Current thread name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"main\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"timber.tag\":{brief:\"The log tag provided by the timber logging framework.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"MyTag\",changelog:[{version:\"0.3.0\",prs:[183]}]},time_to_full_display:{brief:\"The duration of time to full display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.ttfd.value\",reason:\"Replaced by app.vitals.ttfd.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.ttfd.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added and deprecated in favor of app.vitals.ttfd.value\"}]},time_to_initial_display:{brief:\"The duration of time to initial display in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1234.56,deprecation:{replacement:\"app.vitals.ttid.value\",reason:\"Replaced by app.vitals.ttid.value to align with the app.vitals.* namespace for mobile performance attributes\"},aliases:[\"app.vitals.ttid.value\"],changelog:[{version:\"0.5.0\",prs:[313],description:\"Added and deprecated in favor of app.vitals.ttid.value\"}]},transaction:{brief:\"The sentry transaction (segment name).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET /\",deprecation:{replacement:\"sentry.segment.name\"},aliases:[\"sentry.segment.name\",\"sentry.transaction\"],changelog:[{version:\"0.6.0\",prs:[345],description:\"Updated transaction deprecation replacement to sentry.segment.name\"},{version:\"0.1.0\",prs:[61,127]},{version:\"0.0.0\"}]},\"trpc.procedure_path\":{brief:\"The path of the tRPC procedure being called\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"user.getById\",changelog:[{version:\"0.7.0\",prs:[370],description:\"Added trpc.procedure_path attribute\"}]},\"trpc.procedure_type\":{brief:\"The type of the tRPC procedure\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"query\",changelog:[{version:\"0.7.0\",prs:[370],description:\"Added trpc.procedure_type attribute\"}]},ttfb:{brief:\"The value of the recorded Time To First Byte (TTFB) web vital in milliseconds\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:194,deprecation:{replacement:\"browser.web_vital.ttfb.value\",reason:\"This attribute is being deprecated in favor of browser.web_vital.ttfb.value\"},aliases:[\"browser.web_vital.ttfb.value\"],changelog:[{version:\"0.5.0\",prs:[235]}]},\"ttfb.requestTime\":{brief:\"The time it takes for the server to process the initial request and send the first byte of a response to the user's browser\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1554.5814,deprecation:{replacement:\"browser.web_vital.ttfb.request_time\",reason:\"This attribute is being deprecated in favor of browser.web_vital.ttfb.request_time\"},aliases:[\"browser.web_vital.ttfb.request_time\"],changelog:[{version:\"0.5.0\",prs:[235]}]},type:{brief:\"More granular type of the operation happening.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"fetch\",changelog:[{version:\"0.0.0\"}]},\"ui.component_name\":{brief:\"The name of the associated component.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"HomeButton\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"ui.contributes_to_ttfd\":{brief:\"Whether the span execution contributed to the TTFD (time to fully drawn) metric.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"ui.contributes_to_ttid\":{brief:\"Whether the span execution contributed to the TTID (time to initial display) metric.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,changelog:[{version:\"0.0.0\"}]},\"ui.element.height\":{brief:\"The height of the UI element (for Html in pixels)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:256,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.height attribute\"}]},\"ui.element.id\":{brief:\"The id of the UI element\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"btn-login\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.id attribute\"}]},\"ui.element.identifier\":{brief:\"The identifier used to measure the UI element timing\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"heroImage\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.identifier attribute\"}]},\"ui.element.load_time\":{brief:\"The loading time of a UI element (from time origin to finished loading)\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:998.2234,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.load_time attribute\"}]},\"ui.element.paint_type\":{brief:\"The type of element paint. Can either be 'image-paint' or 'text-paint'\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"image-paint\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.paint_type attribute\"}]},\"ui.element.render_time\":{brief:\"The rendering time of the UI element (from time origin to finished rendering)\",type:\"double\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1023.1124,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.render_time attribute\"}]},\"ui.element.type\":{brief:\"type of the UI element\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"img\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.type attribute\"}]},\"ui.element.url\":{brief:\"The URL of the UI element (e.g. an img src)\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://assets.myapp.com/hero.png\",changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.url attribute\"}]},\"ui.element.width\":{brief:\"The width of the UI element (for HTML in pixels)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:512,changelog:[{version:\"0.5.0\",prs:[284],description:\"Added ui.element.width attribute\"}]},url:{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",deprecation:{replacement:\"url.full\"},aliases:[\"url.full\",\"http.url\"],changelog:[{version:\"0.1.0\",prs:[61]},{version:\"0.0.0\"}]},\"url.domain\":{brief:\"Server domain name if available without reverse DNS lookup; otherwise, IP address or Unix domain socket name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"example.com\",changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"url.fragment\":{brief:\"The fragments present in the URI. Note that this does not contain the leading # character, while the `http.fragment` attribute does.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"details\",changelog:[{version:\"0.0.0\"}]},\"url.full\":{brief:\"The URL of the resource that was fetched.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"https://example.com/test?foo=bar#buzz\",aliases:[\"http.url\",\"url\"],changelog:[{version:\"0.1.0\",prs:[108]},{version:\"0.0.0\"}]},\"url.path\":{brief:\"The URI path component.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"/foo\",changelog:[{version:\"0.0.0\"}]},\"url.path.parameter.\":{brief:\"Decoded parameters extracted from a URL path. Usually added by client-side routing frameworks like vue-router.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",hasDynamicSuffix:!0,example:\"url.path.parameter.id='123'\",aliases:[\"params.\"],changelog:[{version:\"0.1.0\",prs:[103]}]},\"url.port\":{brief:\"Server port number.\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:1337,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.0.0\"}]},\"url.query\":{brief:\"The query string present in the URL. Note that this does not contain the leading ? character, while the `http.query` attribute does.\",type:\"string\",applyScrubbing:{key:\"auto\",reason:\"Query string values can contain sensitive information. Clients should attempt to scrub parameters that might contain sensitive information.\"},isInOtel:!0,visibility:\"public\",example:\"foo=bar&bar=baz\",changelog:[{version:\"0.0.0\"}]},\"url.same_origin\":{brief:\"Indicates that a URL has the same origin as the current page's origin in the browser.\",type:\"boolean\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:!0,deprecation:{replacement:\"http.request.same_origin\",reason:\"This attribute is being deprecated in favor of http.request.same_origin.\"},aliases:[\"http.request.same_origin\"],changelog:[{version:\"0.16.0\",prs:[456],description:\"Added url.same_origin attribute, deprecated in favor of http.request.same_origin\"}]},\"url.scheme\":{brief:\"The URI scheme component identifying the used protocol.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"https\",aliases:[\"http.scheme\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"url.template\":{brief:\"The low-cardinality template of an absolute path reference.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"/users/:id\",aliases:[\"http.route\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"user_agent.original\":{brief:\"Value of the HTTP User-Agent header sent by the client.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!0,visibility:\"public\",example:\"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.2 Mobile/15E148 Safari/604.1\",aliases:[\"http.user_agent\"],changelog:[{version:\"0.1.0\",prs:[127]},{version:\"0.0.0\"}]},\"user.email\":{brief:\"User email address.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"test@example.com\",aliases:[\"sentry.user.email\"],changelog:[{version:\"0.0.0\"}]},\"user.full_name\":{brief:\"User's full name.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"John Smith\",changelog:[{version:\"0.0.0\"}]},\"user.geo.city\":{brief:\"Human readable city name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Toronto\",aliases:[\"sentry.user.geo.city\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.country_code\":{brief:\"Two-letter country code (ISO 3166-1 alpha-2).\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"CA\",aliases:[\"sentry.user.geo.country_code\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.region\":{brief:\"Human readable region name or code.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Canada\",aliases:[\"sentry.user.geo.region\"],changelog:[{version:\"0.0.0\"}]},\"user.geo.subdivision\":{brief:\"Human readable subdivision name.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"Ontario\",aliases:[\"sentry.user.geo.subdivision\"],changelog:[{version:\"0.0.0\"}]},\"user.hash\":{brief:\"Unique user hash to correlate information for a user in anonymized form.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"8ae4c2993e0f4f3b8b2d1b1f3b5e8f4d\",changelog:[{version:\"0.0.0\"}]},\"user.id\":{brief:\"Unique identifier of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"S-1-5-21-202424912787-2692429404-2351956786-1000\",aliases:[\"sentry.user.id\"],changelog:[{version:\"0.0.0\"}]},\"user.ip_address\":{brief:\"The IP address of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"192.168.1.1\",aliases:[\"sentry.user.ip\"],changelog:[{version:\"0.1.0\",prs:[75]}]},\"user.name\":{brief:\"Short name or login/username of the user.\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:\"j.smith\",aliases:[\"sentry.user.username\"],changelog:[{version:\"0.0.0\"}]},\"user.roles\":{brief:\"Array of user roles at the time of the event.\",type:\"string[]\",applyScrubbing:{key:\"auto\"},isInOtel:!0,visibility:\"public\",example:[\"admin\",\"editor\"],changelog:[{version:\"0.0.0\"}]},\"vercel.branch\":{brief:\"Git branch name for Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"main\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.build_id\":{brief:\"Identifier for the Vercel build (only present on build logs)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"bld_cotnkcr76\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.deployment_id\":{brief:\"Identifier for the Vercel deployment\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"dpl_233NRGRjVZX1caZrXWtz5g1TAksD\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.destination\":{brief:\"Origin of the external content in Vercel (only on external logs)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https://vitals.vercel-insights.com/v1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.edge_type\":{brief:\"Type of edge runtime in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"edge-function\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.entrypoint\":{brief:\"Entrypoint for the request in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"api/index.js\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.execution_region\":{brief:\"Region where the request is executed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.id\":{brief:\"Unique identifier for the log entry in Vercel\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"1573817187330377061717300000\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.ja3_digest\":{brief:\"JA3 fingerprint digest of Vercel request\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"769,47-53-5-10-49161-49162-49171-49172-50-56-19-4,0-10-11,23-24-25,0\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.ja4_digest\":{brief:\"JA4 fingerprint digest\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"t13d1516h2_8daaf6152771_02713d6af862\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.log_type\":{brief:\"Vercel log output type\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"stdout\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.path\":{brief:\"Function or dynamic path of the request in Vercel.\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"/dynamic/[route].json\",changelog:[{version:\"0.6.0\",prs:[349],description:\"Added vercel.path attribute\"}]},\"vercel.project_id\":{brief:\"Identifier for the Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"gdufoJxB6b9b1fEqr1jUtFkyavUU\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.project_name\":{brief:\"Name of the Vercel project\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"my-app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.cache_id\":{brief:\"Original request ID when request is served from cache\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"pdx1::v8g4b-1744143786684-93dafbc0f70d\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.client_ip\":{brief:\"Client IP address\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"120.75.16.101\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.host\":{brief:\"Hostname of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"test.vercel.app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.lambda_region\":{brief:\"Region where lambda function executed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.method\":{brief:\"HTTP method of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"GET\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path\":{brief:\"Request path with query parameters\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"/dynamic/some-value.json?route=some-value\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path_type\":{brief:\"How the request was served based on its path and project configuration\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"func\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.path_type_variant\":{brief:\"Variant of the path type\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"api\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.referer\":{brief:\"Referer of the request\",type:\"string\",applyScrubbing:{key:\"auto\"},isInOtel:!1,visibility:\"public\",example:\"*.vercel.app\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.region\":{brief:\"Region where the request is processed\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.response_byte_size\":{brief:\"Size of the response in bytes\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1024,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.scheme\":{brief:\"Protocol of the request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"https\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.status_code\":{brief:\"HTTP status code of the proxy request\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.timestamp\":{brief:\"Unix timestamp when the proxy request was made\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:1573817250172,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.user_agent\":{brief:\"User agent strings of the request\",type:\"string[]\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:[\"Mozilla/5.0...\"],changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.vercel_cache\":{brief:\"Cache status sent to the browser\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"REVALIDATED\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.vercel_id\":{brief:\"Vercel-specific identifier\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"sfo1::abc123\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.waf_action\":{brief:\"Action taken by firewall rules\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"deny\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.proxy.waf_rule_id\":{brief:\"ID of the firewall rule that matched\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"rule_gAHz8jtSB1Gy\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.request_id\":{brief:\"Identifier of the Vercel request\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"643af4e3-975a-4cc7-9e7a-1eda11539d90\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.source\":{brief:\"Origin of the Vercel log (build, edge, lambda, static, external, or firewall)\",type:\"string\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:\"build\",changelog:[{version:\"0.2.0\",prs:[163]}]},\"vercel.status_code\":{brief:\"HTTP status code of the request (-1 means no response returned and the lambda crashed)\",type:\"integer\",applyScrubbing:{key:\"manual\"},isInOtel:!1,visibility:\"public\",example:200,changelog:[{version:\"0.4.0\",prs:[228]},{version:\"0.2.0\",prs:[163]}]}};export{e as AI_CITATIONS,i as AI_COMPLETION_TOKENS_USED,t as AI_DOCUMENTS,n as AI_FINISH_REASON,r as AI_FREQUENCY_PENALTY,a as AI_FUNCTION_CALL,s as AI_GENERATION_ID,o as AI_INPUT_MESSAGES,l as AI_IS_SEARCH_REQUIRED,p as AI_METADATA,c as AI_MODEL_ID,u as AI_MODEL_PROVIDER,b as AI_PIPELINE_NAME,g as AI_PREAMBLE,d as AI_PRESENCE_PENALTY,m as AI_PROMPT_TOKENS_USED,y as AI_RAW_PROMPTING,_ as AI_RESPONSES,h as AI_RESPONSE_FORMAT,v as AI_SEARCH_QUERIES,f as AI_SEARCH_RESULTS,S as AI_SEED,E as AI_STREAMING,T as AI_TAGS,I as AI_TEMPERATURE,O as AI_TEXTS,k as AI_TOOLS,A as AI_TOOL_CALLS,x as AI_TOP_K,w as AI_TOP_P,R as AI_TOTAL_COST,N as AI_TOTAL_TOKENS_USED,C as AI_WARNINGS,P as ANGULAR_VERSION,D as APP_APP_BUILD,L as APP_APP_IDENTIFIER,U as APP_APP_NAME,M as APP_APP_START_TIME,q as APP_APP_VERSION,G as APP_BUILD,Y as APP_IDENTIFIER,V as APP_IN_FOREGROUND,W as APP_NAME,F as APP_START_COLD,B as APP_START_TIME,H as APP_START_TYPE,z as APP_START_WARM,K as APP_VERSION,j as APP_VITALS_FRAMES_DELAY_VALUE,Q as APP_VITALS_FRAMES_FROZEN_COUNT,X as APP_VITALS_FRAMES_SLOW_COUNT,J as APP_VITALS_FRAMES_TOTAL_COUNT,Z as APP_VITALS_START_COLD_VALUE,$ as APP_VITALS_START_PREWARMED,ee as APP_VITALS_START_REASON,ie as APP_VITALS_START_SCREEN,te as APP_VITALS_START_TYPE,ne as APP_VITALS_START_WARM_VALUE,re as APP_VITALS_TTFD_VALUE,ae as APP_VITALS_TTID_VALUE,se as ART_GC_BLOCKING_COUNT,oe as ART_GC_BLOCKING_TIME,le as ART_GC_PRE_OOME_COUNT,pe as ART_GC_TOTAL_COUNT,ce as ART_GC_TOTAL_TIME,ue as ART_GC_WAITING_TIME,be as ART_MEMORY_FREE,ge as ART_MEMORY_FREE_UNTIL_GC,de as ART_MEMORY_FREE_UNTIL_OOME,me as ART_MEMORY_MAX,ye as ART_MEMORY_TOTAL,Bb as ATTRIBUTE_METADATA,Fb as ATTRIBUTE_TYPE,_e as AWS_CLOUDWATCH_LOGS_LOG_GROUP,he as AWS_CLOUDWATCH_LOGS_LOG_STREAM,ve as AWS_CLOUDWATCH_LOGS_URL,fe as AWS_DYNAMODB_ATTRIBUTE_DEFINITIONS,Se as AWS_DYNAMODB_CONSISTENT_READ,Ee as AWS_DYNAMODB_CONSUMED_CAPACITY,Te as AWS_DYNAMODB_COUNT,Ie as AWS_DYNAMODB_EXCLUSIVE_START_TABLE,Oe as AWS_DYNAMODB_GLOBAL_SECONDARY_INDEXES,ke as AWS_DYNAMODB_GLOBAL_SECONDARY_INDEX_UPDATES,Ae as AWS_DYNAMODB_INDEX_NAME,xe as AWS_DYNAMODB_ITEM_COLLECTION_METRICS,we as AWS_DYNAMODB_LIMIT,Re as AWS_DYNAMODB_LOCAL_SECONDARY_INDEXES,Ne as AWS_DYNAMODB_PROJECTION,Ce as AWS_DYNAMODB_PROVISIONED_READ_CAPACITY,Pe as AWS_DYNAMODB_PROVISIONED_WRITE_CAPACITY,De as AWS_DYNAMODB_SCANNED_COUNT,Le as AWS_DYNAMODB_SCAN_FORWARD,Ue as AWS_DYNAMODB_SEGMENT,Me as AWS_DYNAMODB_SELECT,qe as AWS_DYNAMODB_TABLE_COUNT,Ge as AWS_DYNAMODB_TABLE_NAMES,Ye as AWS_DYNAMODB_TOTAL_SEGMENTS,Ve as AWS_EXTENDED_REQUEST_ID,We as AWS_KINESIS_STREAM_NAME,Be as AWS_LAMBDA_AWS_REQUEST_ID,He as AWS_LAMBDA_EXECUTION_DURATION_IN_MILLIS,ze as AWS_LAMBDA_FUNCTION_NAME,Ke as AWS_LAMBDA_FUNCTION_VERSION,je as AWS_LAMBDA_INVOKED_ARN,Qe as AWS_LAMBDA_INVOKED_FUNCTION_ARN,Xe as AWS_LAMBDA_REMAINING_TIME_IN_MILLIS,Je as AWS_LOG_GROUP_NAMES,Ze as AWS_LOG_STREAM_NAMES,$e as AWS_REQUEST_EXTENDED_ID,ei as AWS_REQUEST_ID,ti as AWS_S3_BUCKET,ni as AWS_SECRETSMANAGER_SECRET_ARN,ri as AWS_SNS_TOPIC_ARN,ai as AWS_STEP_FUNCTIONS_ACTIVITY_ARN,si as AWS_STEP_FUNCTIONS_STATE_MACHINE_ARN,oi as BLOCKED_MAIN_THREAD,li as BROWSER_NAME,pi as BROWSER_PERFORMANCE_NAVIGATION_ACTIVATION_START,ci as BROWSER_PERFORMANCE_TIME_ORIGIN,ui as BROWSER_REPORT_TYPE,bi as BROWSER_SCRIPT_INVOKER,gi as BROWSER_SCRIPT_INVOKER_TYPE,di as BROWSER_SCRIPT_SOURCE_CHAR_POSITION,mi as BROWSER_VERSION,yi as BROWSER_WEB_VITAL_CLS_REPORT_EVENT,_i as BROWSER_WEB_VITAL_CLS_SOURCE_KEY,hi as BROWSER_WEB_VITAL_CLS_SOURCE_KEY_BASE,vi as BROWSER_WEB_VITAL_CLS_VALUE,fi as BROWSER_WEB_VITAL_FCP_VALUE,Si as BROWSER_WEB_VITAL_FP_VALUE,Ei as BROWSER_WEB_VITAL_INP_VALUE,Ti as BROWSER_WEB_VITAL_LCP_ELEMENT,Ii as BROWSER_WEB_VITAL_LCP_ID,Oi as BROWSER_WEB_VITAL_LCP_LOAD_TIME,ki as BROWSER_WEB_VITAL_LCP_RENDER_TIME,Ai as BROWSER_WEB_VITAL_LCP_REPORT_EVENT,xi as BROWSER_WEB_VITAL_LCP_SIZE,wi as BROWSER_WEB_VITAL_LCP_URL,Ri as BROWSER_WEB_VITAL_LCP_VALUE,Ni as BROWSER_WEB_VITAL_TTFB_REQUEST_TIME,Ci as BROWSER_WEB_VITAL_TTFB_VALUE,Pi as CACHE_HIT,Di as CACHE_ITEM_SIZE,Li as CACHE_KEY,Ui as CACHE_OPERATION,Mi as CACHE_TTL,qi as CACHE_WRITE,Gi as CHANNEL,Yi as CLIENT_ADDRESS,Vi as CLIENT_PORT,Wi as CLOUDFLARE_D1_DURATION,Fi as CLOUDFLARE_D1_QUERY_TYPE,Bi as CLOUDFLARE_D1_ROWS_READ,Hi as CLOUDFLARE_D1_ROWS_WRITTEN,zi as CLOUDFLARE_DURABLE_OBJECT_QUERY_BINDINGS,Ki as CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_READ,ji as CLOUDFLARE_DURABLE_OBJECT_RESPONSE_ROWS_WRITTEN,Qi as CLOUDFLARE_R2_BUCKET,Xi as CLOUDFLARE_R2_OPERATION,Ji as CLOUDFLARE_R2_REQUEST_DELIMITER,Zi as CLOUDFLARE_R2_REQUEST_KEY,$i as CLOUDFLARE_R2_REQUEST_PART_NUMBER,et as CLOUDFLARE_R2_REQUEST_PREFIX,it as CLOUDFLARE_WORKFLOW_ATTEMPT,tt as CLOUDFLARE_WORKFLOW_RETRIES_BACKOFF,nt as CLOUDFLARE_WORKFLOW_RETRIES_DELAY,rt as CLOUDFLARE_WORKFLOW_RETRIES_LIMIT,at as CLOUDFLARE_WORKFLOW_TIMEOUT,st as CLOUD_ACCOUNT_ID,ot as CLOUD_AVAILABILITY_ZONE,lt as CLOUD_PLATFORM,pt as CLOUD_PROVIDER,ct as CLOUD_REGION,ut as CLOUD_RESOURCE_ID,bt as CLS,gt as CLS_SOURCE_KEY,dt as CLS_SOURCE_KEY_BASE,mt as CODE_FILEPATH,yt as CODE_FILE_PATH,_t as CODE_FUNCTION,ht as CODE_FUNCTION_NAME,vt as CODE_LINENO,ft as CODE_LINE_NUMBER,St as CODE_NAMESPACE,Et as CONNECTIONTYPE,Tt as CONNECTION_RTT,It as CULTURE_CALENDAR,Ot as CULTURE_DISPLAY_NAME,kt as CULTURE_IS_24_HOUR_FORMAT,At as CULTURE_LOCALE,xt as CULTURE_TIMEZONE,wt as DB_COLLECTION_NAME,Rt as DB_DRIVER_NAME,Nt as DB_NAME,Ct as DB_NAMESPACE,Pt as DB_OPERATION,Dt as DB_OPERATION_BATCH_SIZE,Lt as DB_OPERATION_NAME,Ut as DB_QUERY_PARAMETER_KEY,Mt as DB_QUERY_PARAMETER_KEY_BASE,qt as DB_QUERY_SUMMARY,Gt as DB_QUERY_TEXT,Yt as DB_REDIS_CONNECTION,Vt as DB_REDIS_KEY,Wt as DB_REDIS_PARAMETERS,Ft as DB_RESPONSE_STATUS_CODE,Bt as DB_SQL_BINDINGS,Ht as DB_STATEMENT,zt as DB_STORED_PROCEDURE_NAME,Kt as DB_SYSTEM,jt as DB_SYSTEM_NAME,Qt as DB_USER,Xt as DEVICEMEMORY,Jt as DEVICE_ARCHS,Zt as DEVICE_BATTERY_LEVEL,$t as DEVICE_BATTERY_TEMPERATURE,en as DEVICE_BOOT_TIME,tn as DEVICE_BRAND,nn as DEVICE_CHARGING,rn as DEVICE_CHIPSET,an as DEVICE_CLASS,sn as DEVICE_CONNECTION_TYPE,on as DEVICE_CPU_DESCRIPTION,ln as DEVICE_EXTERNAL_FREE_STORAGE,pn as DEVICE_EXTERNAL_STORAGE_SIZE,cn as DEVICE_FAMILY,un as DEVICE_FREE_MEMORY,bn as DEVICE_FREE_STORAGE,gn as DEVICE_ID,dn as DEVICE_LOCALE,mn as DEVICE_LOW_MEMORY,yn as DEVICE_LOW_POWER_MODE,_n as DEVICE_MANUFACTURER,hn as DEVICE_MEMORY_ESTIMATED_CAPACITY,vn as DEVICE_MEMORY_SIZE,fn as DEVICE_MODEL,Sn as DEVICE_MODEL_ID,En as DEVICE_NAME,Tn as DEVICE_ONLINE,In as DEVICE_ORIENTATION,On as DEVICE_PROCESSOR_COUNT,kn as DEVICE_PROCESSOR_FREQUENCY,An as DEVICE_SCREEN_DENSITY,xn as DEVICE_SCREEN_DPI,wn as DEVICE_SCREEN_HEIGHT_PIXELS,Rn as DEVICE_SCREEN_WIDTH_PIXELS,Nn as DEVICE_SIMULATOR,Cn as DEVICE_STORAGE_SIZE,Pn as DEVICE_THERMAL_STATE,Dn as DEVICE_TIMEZONE,Ln as DEVICE_USABLE_MEMORY,Un as DIST,Mn as EFFECTIVECONNECTIONTYPE,qn as ENVIRONMENT,Gn as ERROR_TYPE,Yn as EVENT_ID,Vn as EVENT_NAME,Wn as EXCEPTION_ESCAPED,Fn as EXCEPTION_MESSAGE,Bn as EXCEPTION_STACKTRACE,Hn as EXCEPTION_TYPE,zn as FAAS_COLDSTART,Kn as FAAS_CRON,jn as FAAS_DURATION_IN_MS,Qn as FAAS_ENTRY_POINT,Xn as FAAS_EXECUTION,Jn as FAAS_ID,Zn as FAAS_IDENTITY,$n as FAAS_INVOCATION_ID,er as FAAS_INVOKED_NAME,ir as FAAS_INVOKED_PROVIDER,tr as FAAS_INVOKED_REGION,nr as FAAS_NAME,rr as FAAS_TIME,ar as FAAS_TRIGGER,sr as FAAS_VERSION,or as FCP,lr as FLAG_EVALUATION_KEY,pr as FLAG_EVALUATION_KEY_BASE,cr as FP,ur as FRAMES_DELAY,br as FRAMES_FROZEN,gr as FRAMES_FROZEN_RATE,dr as FRAMES_SLOW,mr as FRAMES_SLOW_RATE,yr as FRAMES_TOTAL,_r as FS_ERROR,hr as GCP_FUNCTION_CONTEXT_EVENT_ID,vr as GCP_FUNCTION_CONTEXT_EVENT_TYPE,fr as GCP_FUNCTION_CONTEXT_ID,Sr as GCP_FUNCTION_CONTEXT_RESOURCE,Er as GCP_FUNCTION_CONTEXT_SOURCE,Tr as GCP_FUNCTION_CONTEXT_SPECVERSION,Ir as GCP_FUNCTION_CONTEXT_TIME,Or as GCP_FUNCTION_CONTEXT_TIMESTAMP,kr as GCP_FUNCTION_CONTEXT_TYPE,Ar as GCP_PROJECT_ID,xr as GEN_AI_AGENT_NAME,wr as GEN_AI_CONTEXT_UTILIZATION,Rr as GEN_AI_CONTEXT_WINDOW_SIZE,Nr as GEN_AI_CONVERSATION_ID,Cr as GEN_AI_COST_CACHE_CREATION_INPUT_TOKENS,Pr as GEN_AI_COST_CACHE_READ_INPUT_TOKENS,Dr as GEN_AI_COST_INPUT_TOKENS,Lr as GEN_AI_COST_OUTPUT_TOKENS,Ur as GEN_AI_COST_REASONING_OUTPUT_TOKENS,Mr as GEN_AI_COST_TOTAL_TOKENS,qr as GEN_AI_EMBEDDINGS_INPUT,Gr as GEN_AI_FUNCTION_ID,Yr as GEN_AI_INPUT_MESSAGES,Vr as GEN_AI_OPERATION_NAME,Wr as GEN_AI_OPERATION_TYPE,Fr as GEN_AI_OUTPUT_MESSAGES,Br as GEN_AI_PIPELINE_NAME,Hr as GEN_AI_PROMPT,zr as GEN_AI_PROMPT_NAME,Kr as GEN_AI_PROVIDER_NAME,jr as GEN_AI_REQUEST_AVAILABLE_TOOLS,Qr as GEN_AI_REQUEST_FREQUENCY_PENALTY,Xr as GEN_AI_REQUEST_MAX_TOKENS,Jr as GEN_AI_REQUEST_MESSAGES,Zr as GEN_AI_REQUEST_MODEL,$r as GEN_AI_REQUEST_PRESENCE_PENALTY,ea as GEN_AI_REQUEST_REASONING_EFFORT,ia as GEN_AI_REQUEST_SEED,ta as GEN_AI_REQUEST_STOP_SEQUENCES,na as GEN_AI_REQUEST_TEMPERATURE,ra as GEN_AI_REQUEST_TOP_K,aa as GEN_AI_REQUEST_TOP_P,sa as GEN_AI_RESPONSE_FINISH_REASONS,oa as GEN_AI_RESPONSE_ID,la as GEN_AI_RESPONSE_MODEL,pa as GEN_AI_RESPONSE_STREAMING,ca as GEN_AI_RESPONSE_TEXT,ua as GEN_AI_RESPONSE_TIME_TO_FIRST_CHUNK,ba as GEN_AI_RESPONSE_TIME_TO_FIRST_TOKEN,ga as GEN_AI_RESPONSE_TOKENS_PER_SECOND,da as GEN_AI_RESPONSE_TOOL_CALLS,ma as GEN_AI_SYSTEM,ya as GEN_AI_SYSTEM_INSTRUCTIONS,_a as GEN_AI_SYSTEM_MESSAGE,ha as GEN_AI_TOOL_CALL_ARGUMENTS,va as GEN_AI_TOOL_CALL_RESULT,fa as GEN_AI_TOOL_DEFINITIONS,Sa as GEN_AI_TOOL_DESCRIPTION,Ea as GEN_AI_TOOL_INPUT,Ta as GEN_AI_TOOL_MESSAGE,Ia as GEN_AI_TOOL_NAME,Oa as GEN_AI_TOOL_OUTPUT,ka as GEN_AI_TOOL_TYPE,Aa as GEN_AI_USAGE_CACHE_CREATION_INPUT_TOKENS,xa as GEN_AI_USAGE_CACHE_READ_INPUT_TOKENS,wa as GEN_AI_USAGE_COMPLETION_TOKENS,Ra as GEN_AI_USAGE_INPUT_TOKENS,Na as GEN_AI_USAGE_INPUT_TOKENS_CACHED,Ca as GEN_AI_USAGE_INPUT_TOKENS_CACHE_WRITE,Pa as GEN_AI_USAGE_OUTPUT_TOKENS,Da as GEN_AI_USAGE_OUTPUT_TOKENS_REASONING,La as GEN_AI_USAGE_PROMPT_TOKENS,Ua as GEN_AI_USAGE_REASONING_OUTPUT_TOKENS,Ma as GEN_AI_USAGE_TOTAL_TOKENS,qa as GRAPHQL_DOCUMENT,Ga as GRAPHQL_OPERATION_NAME,Ya as GRAPHQL_OPERATION_TYPE,Va as HARDWARECONCURRENCY,Wa as HTTP_CLIENT_IP,Fa as HTTP_DECODED_RESPONSE_CONTENT_LENGTH,Ba as HTTP_FLAVOR,Ha as HTTP_FRAGMENT,za as HTTP_HOST,Ka as HTTP_METHOD,ja as HTTP_QUERY,Qa as HTTP_REQUEST_BODY_DATA,Xa as HTTP_REQUEST_CONNECTION_END,Ja as HTTP_REQUEST_CONNECT_START,Za as HTTP_REQUEST_DOMAIN_LOOKUP_END,$a as HTTP_REQUEST_DOMAIN_LOOKUP_START,es as HTTP_REQUEST_FETCH_START,is as HTTP_REQUEST_HEADER_KEY,ts as HTTP_REQUEST_HEADER_KEY_BASE,ns as HTTP_REQUEST_METHOD,as as HTTP_REQUEST_REDIRECT_END,ss as HTTP_REQUEST_REDIRECT_START,os as HTTP_REQUEST_REQUEST_START,ls as HTTP_REQUEST_RESEND_COUNT,ps as HTTP_REQUEST_RESPONSE_END,cs as HTTP_REQUEST_RESPONSE_START,us as HTTP_REQUEST_SAME_ORIGIN,bs as HTTP_REQUEST_SECURE_CONNECTION_START,gs as HTTP_REQUEST_TIME_TO_FIRST_BYTE,ds as HTTP_REQUEST_WORKER_START,ms as HTTP_RESPONSE_BODY_SIZE,ys as HTTP_RESPONSE_CONTENT_LENGTH,_s as HTTP_RESPONSE_HEADER_CONTENT_LENGTH,hs as HTTP_RESPONSE_HEADER_KEY,vs as HTTP_RESPONSE_HEADER_KEY_BASE,fs as HTTP_RESPONSE_SIZE,Ss as HTTP_RESPONSE_STATUS_CODE,Es as HTTP_RESPONSE_TRANSFER_SIZE,Ts as HTTP_ROUTE,Is as HTTP_SCHEME,Os as HTTP_SERVER_NAME,ks as HTTP_SERVER_REQUEST_TIME_IN_QUEUE,As as HTTP_STATUS_CODE,xs as HTTP_TARGET,ws as HTTP_URL,Rs as HTTP_USER_AGENT,Ns as ID,Cs as INP,Ps as JSONRPC_PROTOCOL_VERSION,Ds as JSONRPC_REQUEST_ID,Ls as JVM_GC_ACTION,Us as JVM_GC_NAME,Ms as JVM_MEMORY_POOL_NAME,qs as JVM_MEMORY_TYPE,Gs as JVM_THREAD_DAEMON,Ys as JVM_THREAD_STATE,Vs as KOA_NAME,Ws as KOA_TYPE,Fs as LCP,Bs as LCP_ELEMENT,Hs as LCP_ID,zs as LCP_LOADTIME,Ks as LCP_RENDERTIME,js as LCP_SIZE,Qs as LCP_URL,Xs as LOGGER_NAME,Js as MCP_CANCELLED_REASON,Zs as MCP_CANCELLED_REQUEST_ID,$s as MCP_CLIENT_NAME,eo as MCP_CLIENT_TITLE,io as MCP_CLIENT_VERSION,to as MCP_LIFECYCLE_PHASE,no as MCP_LOGGING_DATA_TYPE,ro as MCP_LOGGING_LEVEL,ao as MCP_LOGGING_LOGGER,so as MCP_LOGGING_MESSAGE,oo as MCP_METHOD_NAME,lo as MCP_PROGRESS_CURRENT,po as MCP_PROGRESS_MESSAGE,co as MCP_PROGRESS_PERCENTAGE,uo as MCP_PROGRESS_TOKEN,bo as MCP_PROGRESS_TOTAL,go as MCP_PROMPT_NAME,mo as MCP_PROMPT_RESULT_DESCRIPTION,yo as MCP_PROMPT_RESULT_MESSAGE_CONTENT,_o as MCP_PROMPT_RESULT_MESSAGE_COUNT,ho as MCP_PROMPT_RESULT_MESSAGE_ROLE,vo as MCP_PROTOCOL_READY,fo as MCP_PROTOCOL_VERSION,So as MCP_REQUEST_ARGUMENT_KEY,Eo as MCP_REQUEST_ARGUMENT_KEY_BASE,To as MCP_REQUEST_ARGUMENT_NAME,Io as MCP_REQUEST_ARGUMENT_URI,Oo as MCP_REQUEST_ID,ko as MCP_RESOURCE_PROTOCOL,Ao as MCP_RESOURCE_URI,xo as MCP_SERVER_NAME,wo as MCP_SERVER_TITLE,Ro as MCP_SERVER_VERSION,No as MCP_SESSION_ID,Co as MCP_TOOL_NAME,Po as MCP_TOOL_RESULT_CONTENT,Do as MCP_TOOL_RESULT_CONTENT_COUNT,Lo as MCP_TOOL_RESULT_IS_ERROR,Uo as MCP_TRANSPORT,Mo as MDC_KEY,qo as MDC_KEY_BASE,Go as MESSAGING_BATCH_MESSAGE_COUNT,Yo as MESSAGING_DESTINATION,Vo as MESSAGING_DESTINATION_CONNECTION,Wo as MESSAGING_DESTINATION_NAME,Fo as MESSAGING_MESSAGE_BODY_SIZE,Bo as MESSAGING_MESSAGE_CONVERSATION_ID,Ho as MESSAGING_MESSAGE_ENVELOPE_SIZE,zo as MESSAGING_MESSAGE_ID,Ko as MESSAGING_MESSAGE_RECEIVE_LATENCY,jo as MESSAGING_MESSAGE_RETRY_COUNT,Qo as MESSAGING_OPERATION_NAME,Xo as MESSAGING_OPERATION_TYPE,Jo as MESSAGING_RABBITMQ_DESTINATION_ROUTING_KEY,Zo as MESSAGING_SYSTEM,$o as METHOD,el as MIDDLEWARE_NAME,il as NAVIGATION_ORIGIN,tl as NAVIGATION_ROUTE_ID,nl as NAVIGATION_TYPE,rl as NEL_ELAPSED_TIME,al as NEL_PHASE,sl as NEL_REFERRER,ol as NEL_SAMPLING_FUNCTION,ll as NEL_TYPE,pl as NETWORK_CONNECTION_EFFECTIVE_TYPE,cl as NETWORK_CONNECTION_RTT,ul as NETWORK_CONNECTION_TYPE,bl as NETWORK_LOCAL_ADDRESS,gl as NETWORK_LOCAL_PORT,dl as NETWORK_PEER_ADDRESS,ml as NETWORK_PEER_PORT,yl as NETWORK_PROTOCOL_NAME,_l as NETWORK_PROTOCOL_VERSION,hl as NETWORK_TRANSPORT,vl as NETWORK_TYPE,fl as NET_HOST_IP,Sl as NET_HOST_NAME,El as NET_HOST_PORT,Tl as NET_PEER_IP,Il as NET_PEER_NAME,Ol as NET_PEER_PORT,kl as NET_PROTOCOL_NAME,Al as NET_PROTOCOL_VERSION,xl as NET_SOCK_FAMILY,wl as NET_SOCK_HOST_ADDR,Rl as NET_SOCK_HOST_PORT,Nl as NET_SOCK_PEER_ADDR,Cl as NET_SOCK_PEER_NAME,Pl as NET_SOCK_PEER_PORT,Dl as NET_TRANSPORT,Ll as OS_BUILD,Ul as OS_BUILD_ID,Ml as OS_DESCRIPTION,ql as OS_KERNEL_VERSION,Gl as OS_NAME,Yl as OS_RAW_DESCRIPTION,Vl as OS_ROOTED,Wl as OS_THEME,Fl as OS_TYPE,Bl as OS_VERSION,Hl as OTEL_KIND,zl as OTEL_SCOPE_NAME,Kl as OTEL_SCOPE_VERSION,jl as OTEL_STATUS_CODE,Ql as OTEL_STATUS_DESCRIPTION,Xl as PARAMS_KEY,Jl as PARAMS_KEY_BASE,Zl as PERFORMANCE_ACTIVATIONSTART,$l as PERFORMANCE_TIMEORIGIN,ep as PREVIOUS_ROUTE,ip as PROCESS_COMMAND_ARGS,tp as PROCESS_EXECUTABLE_NAME,np as PROCESS_PID,rp as PROCESS_RUNTIME_DESCRIPTION,ap as PROCESS_RUNTIME_ENGINE_NAME,sp as PROCESS_RUNTIME_ENGINE_VERSION,op as PROCESS_RUNTIME_NAME,lp as PROCESS_RUNTIME_VERSION,pp as QUERY_KEY,cp as QUERY_KEY_BASE,up as REACT_VERSION,bp as RELEASE,gp as REMIX_ACTION_FORM_DATA_KEY,dp as REMIX_ACTION_FORM_DATA_KEY_BASE,mp as REPLAY_ID,yp as RESOURCE_DEPLOYMENT_ENVIRONMENT,_p as RESOURCE_DEPLOYMENT_ENVIRONMENT_NAME,hp as RESOURCE_RENDER_BLOCKING_STATUS,vp as ROUTE,fp as RPC_GRPC_STATUS_CODE,Sp as RPC_METHOD,Ep as RPC_RESPONSE_STATUS_CODE,Tp as RPC_SERVICE,Ip as RPC_SYSTEM,Op as RPC_SYSTEM_NAME,kp as RUNTIME_BUILD,Ap as RUNTIME_NAME,xp as RUNTIME_RAW_DESCRIPTION,wp as RUNTIME_VERSION,Rp as SCORE_KEY,Np as SCORE_KEY_BASE,Cp as SCORE_RATIO_KEY,Pp as SCORE_RATIO_KEY_BASE,Dp as SCORE_TOTAL,Lp as SCORE_WEIGHT_KEY,Up as SCORE_WEIGHT_KEY_BASE,Mp as SENTRY_ACTION,qp as SENTRY_BROWSER_NAME,Gp as SENTRY_BROWSER_VERSION,Yp as SENTRY_CANCELLATION_REASON,Vp as SENTRY_CATEGORY,Wp as SENTRY_CLIENT_SAMPLE_RATE,Fp as SENTRY_DESCRIPTION,Bp as SENTRY_DIST,Hp as SENTRY_DOMAIN,zp as SENTRY_DSC_ENVIRONMENT,Kp as SENTRY_DSC_PROJECT_ID,jp as SENTRY_DSC_PUBLIC_KEY,Qp as SENTRY_DSC_RELEASE,Xp as SENTRY_DSC_SAMPLED,Jp as SENTRY_DSC_SAMPLE_RATE,Zp as SENTRY_DSC_TRACE_ID,$p as SENTRY_DSC_TRANSACTION,ec as SENTRY_ENVIRONMENT,ic as SENTRY_EXCLUSIVE_TIME,tc as SENTRY_GRAPHQL_OPERATION,nc as SENTRY_GROUP,rc as SENTRY_HTTP_PREFETCH,ac as SENTRY_IDLE_SPAN_FINISH_REASON,sc as SENTRY_IS_REMOTE,oc as SENTRY_KIND,lc as SENTRY_MAIN_THREAD,pc as SENTRY_MESSAGE_PARAMETER_KEY,cc as SENTRY_MESSAGE_TEMPLATE,uc as SENTRY_METRIC_SOURCE,bc as SENTRY_MOBILE,gc as SENTRY_MODULE_KEY,dc as SENTRY_MODULE_KEY_BASE,mc as SENTRY_NEXTJS_SSR_FUNCTION_ROUTE,yc as SENTRY_NEXTJS_SSR_FUNCTION_TYPE,_c as SENTRY_NORMALIZED_DB_QUERY,hc as SENTRY_NORMALIZED_DB_QUERY_HASH,vc as SENTRY_NORMALIZED_DESCRIPTION,fc as SENTRY_OBSERVED_TIMESTAMP_NANOS,Sc as SENTRY_OP,Ec as SENTRY_ORIGIN,Tc as SENTRY_PLATFORM,Ic as SENTRY_PROFILER_ID,Oc as SENTRY_PROFILE_ID,kc as SENTRY_RELEASE,Ac as SENTRY_REPLAY_ID,xc as SENTRY_REPLAY_IS_BUFFERING,wc as SENTRY_REPORT_EVENT,Rc as SENTRY_SDK_INTEGRATIONS,Nc as SENTRY_SDK_NAME,Cc as SENTRY_SDK_VERSION,Pc as SENTRY_SEGMENT_ID,Lc as SENTRY_SEGMENT_NAME,Uc as SENTRY_SERVER_SAMPLE_RATE,Mc as SENTRY_SOURCE,qc as SENTRY_SPAN_SOURCE,Gc as SENTRY_STATUS,Yc as SENTRY_STATUS_CODE,Vc as SENTRY_STATUS_MESSAGE,Wc as SENTRY_SVELTEKIT_NAVIGATION_FROM,Fc as SENTRY_SVELTEKIT_NAVIGATION_TO,Bc as SENTRY_SVELTEKIT_NAVIGATION_TYPE,Hc as SENTRY_THREAD_ID,zc as SENTRY_TIMESTAMP_SEQUENCE,Kc as SENTRY_TRACE_LIFECYCLE,jc as SENTRY_TRACE_PARENT_SPAN_ID,Qc as SENTRY_TRACE_STATUS,Xc as SENTRY_TRANSACTION,Jc as SENTRY_USER_EMAIL,Zc as SENTRY_USER_GEO_CITY,$c as SENTRY_USER_GEO_COUNTRY_CODE,eu as SENTRY_USER_GEO_REGION,iu as SENTRY_USER_GEO_SUBDIVISION,tu as SENTRY_USER_ID,nu as SENTRY_USER_IP,ru as SENTRY_USER_USERNAME,au as SERVER_ADDRESS,su as SERVER_NAME,ou as SERVER_PORT,lu as SERVICE_NAME,pu as SERVICE_VERSION,cu as SESSION_ID,uu as STALL_PERCENTAGE,bu as STALL_TOTAL_TIME,gu as STATE_TYPE,du as THREAD_ID,mu as THREAD_NAME,yu as TIMBER_TAG,_u as TIME_TO_FULL_DISPLAY,hu as TIME_TO_INITIAL_DISPLAY,vu as TRANSACTION,fu as TRPC_PROCEDURE_PATH,Su as TRPC_PROCEDURE_TYPE,Eu as TTFB,Tu as TTFB_REQUESTTIME,Iu as TYPE,Ou as UI_COMPONENT_NAME,ku as UI_CONTRIBUTES_TO_TTFD,Au as UI_CONTRIBUTES_TO_TTID,xu as UI_ELEMENT_HEIGHT,wu as UI_ELEMENT_ID,Ru as UI_ELEMENT_IDENTIFIER,Nu as UI_ELEMENT_LOAD_TIME,Cu as UI_ELEMENT_PAINT_TYPE,Pu as UI_ELEMENT_RENDER_TIME,Du as UI_ELEMENT_TYPE,Lu as UI_ELEMENT_URL,Uu as UI_ELEMENT_WIDTH,Mu as URL,qu as URL_DOMAIN,Gu as URL_FRAGMENT,Yu as URL_FULL,Vu as URL_PATH,Wu as URL_PATH_PARAMETER_KEY,Fu as URL_PATH_PARAMETER_KEY_BASE,Bu as URL_PORT,Hu as URL_QUERY,zu as URL_SAME_ORIGIN,Ku as URL_SCHEME,ju as URL_TEMPLATE,Qu as USER_AGENT_ORIGINAL,Xu as USER_EMAIL,Ju as USER_FULL_NAME,Zu as USER_GEO_CITY,$u as USER_GEO_COUNTRY_CODE,eb as USER_GEO_REGION,ib as USER_GEO_SUBDIVISION,tb as USER_HASH,nb as USER_ID,rb as USER_IP_ADDRESS,ab as USER_NAME,sb as USER_ROLES,ob as VERCEL_BRANCH,lb as VERCEL_BUILD_ID,pb as VERCEL_DEPLOYMENT_ID,cb as VERCEL_DESTINATION,ub as VERCEL_EDGE_TYPE,bb as VERCEL_ENTRYPOINT,gb as VERCEL_EXECUTION_REGION,db as VERCEL_ID,mb as VERCEL_JA3_DIGEST,yb as VERCEL_JA4_DIGEST,_b as VERCEL_LOG_TYPE,hb as VERCEL_PATH,vb as VERCEL_PROJECT_ID,fb as VERCEL_PROJECT_NAME,Sb as VERCEL_PROXY_CACHE_ID,Eb as VERCEL_PROXY_CLIENT_IP,Tb as VERCEL_PROXY_HOST,Ib as VERCEL_PROXY_LAMBDA_REGION,Ob as VERCEL_PROXY_METHOD,kb as VERCEL_PROXY_PATH,Ab as VERCEL_PROXY_PATH_TYPE,xb as VERCEL_PROXY_PATH_TYPE_VARIANT,wb as VERCEL_PROXY_REFERER,Rb as VERCEL_PROXY_REGION,Nb as VERCEL_PROXY_RESPONSE_BYTE_SIZE,Cb as VERCEL_PROXY_SCHEME,Pb as VERCEL_PROXY_STATUS_CODE,Db as VERCEL_PROXY_TIMESTAMP,Lb as VERCEL_PROXY_USER_AGENT,Ub as VERCEL_PROXY_VERCEL_CACHE,Mb as VERCEL_PROXY_VERCEL_ID,qb as VERCEL_PROXY_WAF_ACTION,Gb as VERCEL_PROXY_WAF_RULE_ID,Yb as VERCEL_REQUEST_ID,Vb as VERCEL_SOURCE,Wb as VERCEL_STATUS_CODE,Fe as _AWS_KINESIS_STREAM_NAME,ii as _AWS_REQUEST_ID,rs as _HTTP_REQUEST_METHOD,Dc as _SENTRY_SEGMENT_ID};\n//# sourceMappingURL=attributes.mjs.map\n","import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_USER_USERNAME, SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS, SEMANTIC_ATTRIBUTE_USER_EMAIL, SEMANTIC_ATTRIBUTE_USER_ID, SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT, SEMANTIC_ATTRIBUTE_SENTRY_RELEASE, SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS } from '../../semanticAttributes.js';\nimport { getCombinedScopeData } from '../../utils/scopeData.js';\nimport { spanToStreamedSpanJSON, INTERNAL_getSegmentSpan, streamedSpanJsonToSerializedSpan, showSpanDropWarning } from '../../utils/spanUtils.js';\nimport { getCapturedScopesOnSpan } from '../utils.js';\nimport { isStreamedBeforeSendSpanCallback } from './beforeSendSpan.js';\nimport { scopeContextsToSpanAttributes } from './scopeContextAttributes.js';\nimport { DEFAULT_ENVIRONMENT } from '../../constants.js';\nimport { SENTRY_SDK_VERSION, SENTRY_SDK_NAME, SENTRY_SEGMENT_ID, SENTRY_SEGMENT_NAME, SENTRY_TRACE_LIFECYCLE } from '@sentry/conventions/attributes';\n\nfunction captureSpan(span, client) {\n const spanJSON = spanToStreamedSpanJSON(span);\n const segmentSpan = INTERNAL_getSegmentSpan(span);\n const serializedSegmentSpan = spanToStreamedSpanJSON(segmentSpan);\n const { isolationScope: spanIsolationScope, scope: spanScope } = getCapturedScopesOnSpan(span);\n const finalScopeData = getCombinedScopeData(spanIsolationScope, spanScope);\n applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, finalScopeData);\n const spanKind = span.kind;\n client.emit(\"preprocessSpan\", spanJSON, { spanKind });\n if (spanJSON.is_segment) {\n applyScopeToSegmentSpan(spanJSON, finalScopeData);\n applySdkMetadataToSegmentSpan(spanJSON, client);\n client.emit(\"processSegmentSpan\", spanJSON);\n }\n client.emit(\"processSpan\", spanJSON);\n const { beforeSendSpan } = client.getOptions();\n const processedSpan = beforeSendSpan && isStreamedBeforeSendSpanCallback(beforeSendSpan) ? applyBeforeSendSpanCallback(spanJSON, beforeSendSpan) : spanJSON;\n const spanNameSource = processedSpan.attributes?.[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n if (spanJSON.is_segment && spanNameSource) {\n safeSetSpanJSONAttributes(processedSpan, {\n [\"sentry.segment.name.source\"]: spanNameSource\n });\n }\n return {\n ...streamedSpanJsonToSerializedSpan(processedSpan),\n _segmentSpan: segmentSpan\n };\n}\nfunction applyScopeToSegmentSpan(segmentSpanJSON, scopeData) {\n const contextAttributes = scopeContextsToSpanAttributes(scopeData.contexts);\n safeSetSpanJSONAttributes(segmentSpanJSON, contextAttributes);\n}\nfunction safeSetSpanJSONAttributes(spanJSON, newAttributes) {\n const originalAttributes = spanJSON.attributes ?? (spanJSON.attributes = {});\n Object.entries(newAttributes).forEach(([key, value]) => {\n if (value != null && !(key in originalAttributes)) {\n originalAttributes[key] = value;\n }\n });\n}\nfunction applySdkMetadataToSegmentSpan(segmentSpanJSON, client) {\n const integrationNames = client.getIntegrationNames();\n if (!integrationNames.length) return;\n safeSetSpanJSONAttributes(segmentSpanJSON, {\n [SEMANTIC_ATTRIBUTE_SENTRY_SDK_INTEGRATIONS]: integrationNames\n });\n}\nfunction applyCommonSpanAttributes(spanJSON, serializedSegmentSpan, client, scopeData) {\n const sdk = client.getSdkMetadata();\n const { release, environment } = client.getOptions();\n safeSetSpanJSONAttributes(spanJSON, {\n [SENTRY_TRACE_LIFECYCLE]: \"stream\",\n [SENTRY_SEGMENT_NAME]: serializedSegmentSpan.name,\n [SENTRY_SEGMENT_ID]: serializedSegmentSpan.span_id,\n [SENTRY_SDK_NAME]: sdk?.sdk?.name,\n [SENTRY_SDK_VERSION]: sdk?.sdk?.version,\n [SEMANTIC_ATTRIBUTE_SENTRY_RELEASE]: release,\n [SEMANTIC_ATTRIBUTE_SENTRY_ENVIRONMENT]: environment || DEFAULT_ENVIRONMENT,\n [SEMANTIC_ATTRIBUTE_USER_ID]: scopeData.user?.id,\n [SEMANTIC_ATTRIBUTE_USER_EMAIL]: scopeData.user?.email,\n [SEMANTIC_ATTRIBUTE_USER_IP_ADDRESS]: scopeData.user?.ip_address,\n [SEMANTIC_ATTRIBUTE_USER_USERNAME]: scopeData.user?.username,\n ...scopeData.attributes\n });\n}\nfunction applyBeforeSendSpanCallback(span, beforeSendSpan) {\n const modifedSpan = beforeSendSpan(span);\n if (!modifedSpan) {\n showSpanDropWarning();\n return span;\n }\n return modifedSpan;\n}\n\nexport { applyBeforeSendSpanCallback, captureSpan, safeSetSpanJSONAttributes };\n//# sourceMappingURL=captureSpan.js.map\n","import { isThenable } from './is.js';\n\nconst STATE_PENDING = 0;\nconst STATE_RESOLVED = 1;\nconst STATE_REJECTED = 2;\nfunction resolvedSyncPromise(value) {\n return new SyncPromise((resolve) => {\n resolve(value);\n });\n}\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\nclass SyncPromise {\n constructor(executor) {\n this._state = STATE_PENDING;\n this._handlers = [];\n this._runExecutor(executor);\n }\n /** @inheritdoc */\n then(onfulfilled, onrejected) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n (result) => {\n if (!onfulfilled) {\n resolve(result);\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n (reason) => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n }\n ]);\n this._executeHandlers();\n });\n }\n /** @inheritdoc */\n catch(onrejected) {\n return this.then((val) => val, onrejected);\n }\n /** @inheritdoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n return this.then(\n (value) => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n (reason) => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n }\n /** Excute the resolve/reject handlers. */\n _executeHandlers() {\n if (this._state === STATE_PENDING) {\n return;\n }\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n cachedHandlers.forEach((handler) => {\n if (handler[0]) {\n return;\n }\n if (this._state === STATE_RESOLVED) {\n handler[1](this._value);\n }\n if (this._state === STATE_REJECTED) {\n handler[2](this._value);\n }\n handler[0] = true;\n });\n }\n /** Run the executor for the SyncPromise. */\n _runExecutor(executor) {\n const setResult = (state, value) => {\n if (this._state !== STATE_PENDING) {\n return;\n }\n if (isThenable(value)) {\n void value.then(resolve, reject);\n return;\n }\n this._state = state;\n this._value = value;\n this._executeHandlers();\n };\n const resolve = (value) => {\n setResult(STATE_RESOLVED, value);\n };\n const reject = (reason) => {\n setResult(STATE_REJECTED, reason);\n };\n try {\n executor(resolve, reject);\n } catch (e) {\n reject(e);\n }\n }\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isThenable } from './utils/is.js';\nimport { resolvedSyncPromise, rejectedSyncPromise } from './utils/syncpromise.js';\n\nfunction notifyEventProcessors(processors, event, hint, index = 0) {\n try {\n const result = _notifyEventProcessors(event, hint, processors, index);\n return isThenable(result) ? result : resolvedSyncPromise(result);\n } catch (error) {\n return rejectedSyncPromise(error);\n }\n}\nfunction _notifyEventProcessors(event, hint, processors, index) {\n const processor = processors[index];\n if (!event || !processor) {\n return event;\n }\n const result = processor({ ...event }, hint);\n DEBUG_BUILD && result === null && debug.log(`Event processor \"${processor.id || \"?\"}\" dropped event`);\n if (isThenable(result)) {\n return result.then((final) => _notifyEventProcessors(final, hint, processors, index + 1));\n }\n return _notifyEventProcessors(result, hint, processors, index + 1);\n}\n\nexport { notifyEventProcessors };\n//# sourceMappingURL=eventProcessors.js.map\n","import { normalizeStackTracePath } from './stacktrace.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nlet parsedStackResults;\nlet lastSentryKeysCount;\nlet lastNativeKeysCount;\nlet cachedFilenameDebugIds;\nfunction getFilenameToDebugIdMap(stackParser) {\n const sentryDebugIdMap = GLOBAL_OBJ._sentryDebugIds;\n const nativeDebugIdMap = GLOBAL_OBJ._debugIds;\n if (!sentryDebugIdMap && !nativeDebugIdMap) {\n return {};\n }\n const sentryDebugIdKeys = sentryDebugIdMap ? Object.keys(sentryDebugIdMap) : [];\n const nativeDebugIdKeys = nativeDebugIdMap ? Object.keys(nativeDebugIdMap) : [];\n if (cachedFilenameDebugIds && sentryDebugIdKeys.length === lastSentryKeysCount && nativeDebugIdKeys.length === lastNativeKeysCount) {\n return cachedFilenameDebugIds;\n }\n lastSentryKeysCount = sentryDebugIdKeys.length;\n lastNativeKeysCount = nativeDebugIdKeys.length;\n cachedFilenameDebugIds = {};\n if (!parsedStackResults) {\n parsedStackResults = {};\n }\n const processDebugIds = (debugIdKeys, debugIdMap) => {\n for (const key of debugIdKeys) {\n const debugId = debugIdMap[key];\n const result = parsedStackResults?.[key];\n if (result && cachedFilenameDebugIds && debugId) {\n cachedFilenameDebugIds[result[0]] = debugId;\n if (parsedStackResults) {\n parsedStackResults[key] = [result[0], debugId];\n }\n } else if (debugId) {\n const parsedStack = stackParser(key);\n for (let i = parsedStack.length - 1; i >= 0; i--) {\n const stackFrame = parsedStack[i];\n const filename = stackFrame?.filename;\n if (filename && cachedFilenameDebugIds && parsedStackResults) {\n cachedFilenameDebugIds[filename] = debugId;\n parsedStackResults[key] = [filename, debugId];\n break;\n }\n }\n }\n }\n };\n if (sentryDebugIdMap) {\n processDebugIds(sentryDebugIdKeys, sentryDebugIdMap);\n }\n if (nativeDebugIdMap) {\n processDebugIds(nativeDebugIdKeys, nativeDebugIdMap);\n }\n return cachedFilenameDebugIds;\n}\nfunction getDebugImagesForResources(stackParser, resource_paths) {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n if (!filenameDebugIdMap) {\n return [];\n }\n const images = [];\n for (const path of resource_paths) {\n const normalizedPath = normalizeStackTracePath(path);\n if (normalizedPath && filenameDebugIdMap[normalizedPath]) {\n images.push({\n type: \"sourcemap\",\n code_file: path,\n debug_id: filenameDebugIdMap[normalizedPath]\n });\n }\n }\n return images;\n}\n\nexport { getDebugImagesForResources, getFilenameToDebugIdMap };\n//# sourceMappingURL=debug-ids.js.map\n","function isInternalException(hint) {\n return hint.data?.__sentry__ === true;\n}\nfunction getPossibleEventMessages(event) {\n const possibleMessages = [];\n if (event.message) {\n possibleMessages.push(event.message);\n }\n try {\n const lastException = event.exception.values[event.exception.values.length - 1];\n if (lastException?.value) {\n possibleMessages.push(lastException.value);\n if (lastException.type) {\n possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n }\n }\n } catch {\n }\n return possibleMessages;\n}\n\nexport { getPossibleEventMessages, isInternalException };\n//# sourceMappingURL=eventUtils.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { notifyEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\nimport { getFilenameToDebugIdMap } from './debug-ids.js';\nimport { isInternalException } from './eventUtils.js';\nimport { uuid4, addExceptionMechanism } from './misc.js';\nimport { normalize } from './normalize.js';\nimport { getCombinedScopeData, applyScopeDataToEvent } from './scopeData.js';\nimport { truncate } from './string.js';\nimport { resolvedSyncPromise } from './syncpromise.js';\nimport { dateTimestampInSeconds } from './time.js';\n\nfunction prepareEvent(options, event, hint, scope, client, isolationScope) {\n const { normalizeDepth = 3, normalizeMaxBreadth = 1e3 } = options;\n const prepared = {\n ...event,\n event_id: event.event_id || hint.event_id || uuid4(),\n timestamp: event.timestamp || dateTimestampInSeconds()\n };\n const integrations = hint.integrations || options.integrations.map((i) => i.name);\n applyClientOptions(prepared, options);\n applyIntegrationsMetadata(prepared, integrations);\n if (client) {\n client.emit(\"applyFrameMetadata\", event);\n }\n if (event.type === void 0) {\n applyDebugIds(prepared, options.stackParser);\n }\n const finalScope = getFinalScope(scope, hint.captureContext);\n if (hint.mechanism) {\n addExceptionMechanism(prepared, hint.mechanism);\n }\n const clientEventProcessors = client ? client.getEventProcessors() : [];\n const data = getCombinedScopeData(isolationScope, finalScope);\n const attachments = [...hint.attachments || [], ...data.attachments];\n if (attachments.length) {\n hint.attachments = attachments;\n }\n applyScopeDataToEvent(prepared, data);\n const eventProcessors = [\n ...clientEventProcessors,\n // Run scope event processors _after_ all other processors\n ...data.eventProcessors\n ];\n const result = isInternalException(hint) ? resolvedSyncPromise(prepared) : notifyEventProcessors(eventProcessors, prepared, hint);\n return result.then((evt) => {\n if (evt) {\n applyDebugMeta(evt);\n }\n if (typeof normalizeDepth === \"number\" && normalizeDepth > 0) {\n return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n }\n return evt;\n });\n}\nfunction applyClientOptions(event, options) {\n const { environment, release, dist, maxValueLength } = options;\n event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n if (!event.release && release) {\n event.release = release;\n }\n if (!event.dist && dist) {\n event.dist = dist;\n }\n const request = event.request;\n if (request?.url && maxValueLength) {\n request.url = truncate(request.url, maxValueLength);\n }\n if (maxValueLength) {\n event.exception?.values?.forEach((exception) => {\n if (exception.value) {\n exception.value = truncate(exception.value, maxValueLength);\n }\n });\n }\n}\nfunction applyDebugIds(event, stackParser) {\n const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n event.exception?.values?.forEach((exception) => {\n exception.stacktrace?.frames?.forEach((frame) => {\n if (frame.filename) {\n frame.debug_id = filenameDebugIdMap[frame.filename];\n }\n });\n });\n}\nfunction applyDebugMeta(event) {\n const filenameDebugIdMap = {};\n event.exception?.values?.forEach((exception) => {\n exception.stacktrace?.frames?.forEach((frame) => {\n if (frame.debug_id) {\n if (frame.abs_path) {\n filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n } else if (frame.filename) {\n filenameDebugIdMap[frame.filename] = frame.debug_id;\n }\n delete frame.debug_id;\n }\n });\n });\n if (Object.keys(filenameDebugIdMap).length === 0) {\n return;\n }\n event.debug_meta = event.debug_meta || {};\n event.debug_meta.images = event.debug_meta.images || [];\n const images = event.debug_meta.images;\n Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n images.push({\n type: \"sourcemap\",\n code_file: filename,\n debug_id\n });\n });\n}\nfunction applyIntegrationsMetadata(event, integrationNames) {\n if (integrationNames.length > 0) {\n event.sdk = event.sdk || {};\n event.sdk.integrations = [...event.sdk.integrations || [], ...integrationNames];\n }\n}\nfunction normalizeEvent(event, depth, maxBreadth) {\n if (!event) {\n return null;\n }\n const normalized = {\n ...event,\n ...event.breadcrumbs && {\n breadcrumbs: event.breadcrumbs.map((b) => ({\n ...b,\n ...b.data && {\n data: normalize(b.data, depth, maxBreadth)\n }\n }))\n },\n ...event.user && {\n user: normalize(event.user, depth, maxBreadth)\n },\n ...event.contexts && {\n contexts: normalize(event.contexts, depth, maxBreadth)\n },\n ...event.extra && {\n extra: normalize(event.extra, depth, maxBreadth)\n }\n };\n if (event.contexts?.trace && normalized.contexts) {\n normalized.contexts.trace = event.contexts.trace;\n if (event.contexts.trace.data) {\n normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n }\n }\n if (event.spans) {\n normalized.spans = event.spans.map((span) => {\n return {\n ...span,\n ...span.data && {\n data: normalize(span.data, depth, maxBreadth)\n }\n };\n });\n }\n if (event.contexts?.flags && normalized.contexts) {\n normalized.contexts.flags = normalize(event.contexts.flags, 3, maxBreadth);\n }\n return normalized;\n}\nfunction getFinalScope(scope, captureContext) {\n if (!captureContext) {\n return scope;\n }\n const finalScope = scope ? scope.clone() : new Scope();\n finalScope.update(captureContext);\n return finalScope;\n}\nfunction parseEventHintOrCaptureContext(hint) {\n if (!hint) {\n return void 0;\n }\n if (hintIsScopeOrFunction(hint)) {\n return { captureContext: hint };\n }\n if (hintIsScopeContext(hint)) {\n return {\n captureContext: hint\n };\n }\n return hint;\n}\nfunction hintIsScopeOrFunction(hint) {\n return hint instanceof Scope || typeof hint === \"function\";\n}\nconst captureContextKeys = [\n \"user\",\n \"level\",\n \"extra\",\n \"contexts\",\n \"tags\",\n \"fingerprint\",\n \"propagationContext\"\n];\nfunction hintIsScopeContext(hint) {\n return Object.keys(hint).some((key) => captureContextKeys.includes(key));\n}\n\nexport { applyClientOptions, applyDebugIds, applyDebugMeta, parseEventHintOrCaptureContext, prepareEvent };\n//# sourceMappingURL=prepareEvent.js.map\n","import { getIsolationScope, getCurrentScope, getClient } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\nimport { debug } from './utils/debug-logger.js';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent.js';\nimport { getCombinedScopeData } from './utils/scopeData.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\nfunction captureException(exception, hint) {\n return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\nfunction captureMessage(message, captureContext) {\n const level = typeof captureContext === \"string\" ? captureContext : void 0;\n const hint = typeof captureContext !== \"string\" ? { captureContext } : void 0;\n return getCurrentScope().captureMessage(message, level, hint);\n}\nfunction captureEvent(event, hint) {\n return getCurrentScope().captureEvent(event, hint);\n}\nfunction setContext(name, context) {\n getIsolationScope().setContext(name, context);\n}\nfunction setExtras(extras) {\n getIsolationScope().setExtras(extras);\n}\nfunction setExtra(key, extra) {\n getIsolationScope().setExtra(key, extra);\n}\nfunction setTags(tags) {\n getIsolationScope().setTags(tags);\n}\nfunction setTag(key, value) {\n getIsolationScope().setTag(key, value);\n}\nfunction setAttributes(attributes) {\n getIsolationScope().setAttributes(attributes);\n}\nfunction setAttribute(key, value) {\n getIsolationScope().setAttribute(key, value);\n}\nfunction setUser(user) {\n getIsolationScope().setUser(user);\n}\nfunction setConversationId(conversationId) {\n getIsolationScope().setConversationId(conversationId);\n}\nfunction lastEventId() {\n return getIsolationScope().lastEventId();\n}\nasync function flush(timeout) {\n const client = getClient();\n if (client) {\n return client.flush(timeout);\n }\n DEBUG_BUILD && debug.warn(\"Cannot flush events. No client defined.\");\n return Promise.resolve(false);\n}\nasync function close(timeout) {\n const client = getClient();\n if (client) {\n return client.close(timeout);\n }\n DEBUG_BUILD && debug.warn(\"Cannot flush events and disable SDK. No client defined.\");\n return Promise.resolve(false);\n}\nfunction isInitialized() {\n return !!getClient();\n}\nfunction isEnabled() {\n const client = getClient();\n return client?.getOptions().enabled !== false && !!client?.getTransport();\n}\nfunction addEventProcessor(callback) {\n getIsolationScope().addEventProcessor(callback);\n}\nfunction startSession(context) {\n const isolationScope = getIsolationScope();\n const { user } = getCombinedScopeData(isolationScope, getCurrentScope());\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n const session = makeSession({\n user,\n ...userAgent && { userAgent },\n ...context\n });\n const currentSession = isolationScope.getSession();\n if (currentSession?.status === \"ok\") {\n updateSession(currentSession, { status: \"exited\" });\n }\n endSession();\n isolationScope.setSession(session);\n return session;\n}\nfunction endSession() {\n const isolationScope = getIsolationScope();\n const currentScope = getCurrentScope();\n const session = currentScope.getSession() || isolationScope.getSession();\n if (session) {\n closeSession(session);\n }\n _sendSessionUpdate();\n isolationScope.setSession();\n}\nfunction _sendSessionUpdate() {\n const isolationScope = getIsolationScope();\n const client = getClient();\n const session = isolationScope.getSession();\n if (session && client) {\n client.captureSession(session);\n }\n}\nfunction captureSession(end = false) {\n if (end) {\n endSession();\n return;\n }\n _sendSessionUpdate();\n}\n\nexport { addEventProcessor, captureEvent, captureException, captureMessage, captureSession, close, endSession, flush, isEnabled, isInitialized, lastEventId, setAttribute, setAttributes, setContext, setConversationId, setExtra, setExtras, setTag, setTags, setUser, startSession };\n//# sourceMappingURL=exports.js.map\n","function safeUnref(timer) {\n if (typeof timer === \"object\" && typeof timer.unref === \"function\") {\n timer.unref();\n }\n return timer;\n}\n\nexport { safeUnref };\n//# sourceMappingURL=timer.js.map\n","import { makeDsn, dsnToString } from './utils/dsn.js';\n\nconst SENTRY_API_VERSION = \"7\";\nfunction getBaseApiEndpoint(dsn) {\n const protocol = dsn.protocol ? `${dsn.protocol}:` : \"\";\n const port = dsn.port ? `:${dsn.port}` : \"\";\n return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : \"\"}/api/`;\n}\nfunction _getIngestEndpoint(dsn) {\n return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\nfunction _encodedAuth(dsn, sdkInfo) {\n const params = {\n sentry_version: SENTRY_API_VERSION\n };\n if (dsn.publicKey) {\n params.sentry_key = dsn.publicKey;\n }\n if (sdkInfo) {\n params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n }\n return new URLSearchParams(params).toString();\n}\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel, sdkInfo) {\n return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\nfunction getReportDialogEndpoint(dsnLike, dialogOptions) {\n const dsn = makeDsn(dsnLike);\n if (!dsn) {\n return \"\";\n }\n const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n let encodedOptions = `dsn=${dsnToString(dsn)}`;\n for (const key in dialogOptions) {\n if (key === \"dsn\") {\n continue;\n }\n if (key === \"onClose\") {\n continue;\n }\n if (key === \"user\") {\n const user = dialogOptions.user;\n if (!user) {\n continue;\n }\n if (user.name) {\n encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n }\n if (user.email) {\n encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n }\n } else {\n encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key])}`;\n }\n }\n return `${endpoint}?${encodedOptions}`;\n}\n\nexport { SENTRY_API_VERSION, getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","import { getClient } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\n\nconst installedIntegrations = [];\nfunction filterDuplicates(integrations) {\n const integrationsByName = {};\n integrations.forEach((currentInstance) => {\n const { name } = currentInstance;\n const existingInstance = integrationsByName[name];\n if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n return;\n }\n integrationsByName[name] = currentInstance;\n });\n return Object.values(integrationsByName);\n}\nfunction getIntegrationsToSetup(options) {\n const defaultIntegrations = options.defaultIntegrations || [];\n const userIntegrations = options.integrations;\n defaultIntegrations.forEach((integration) => {\n integration.isDefaultInstance = true;\n });\n let integrations;\n if (Array.isArray(userIntegrations)) {\n integrations = [...defaultIntegrations, ...userIntegrations];\n } else if (typeof userIntegrations === \"function\") {\n const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n } else {\n integrations = defaultIntegrations;\n }\n return filterDuplicates(integrations);\n}\nfunction setupIntegrations(client, integrations) {\n const integrationIndex = {};\n integrations.forEach((integration) => {\n if (integration?.beforeSetup) {\n integration.beforeSetup(client);\n }\n });\n integrations.forEach((integration) => {\n if (integration) {\n setupIntegration(client, integration, integrationIndex);\n }\n });\n return integrationIndex;\n}\nfunction afterSetupIntegrations(client, integrations) {\n for (const integration of integrations) {\n if (integration?.afterAllSetup) {\n integration.afterAllSetup(client);\n }\n }\n}\nfunction setupIntegration(client, integration, integrationIndex) {\n if (integrationIndex[integration.name]) {\n DEBUG_BUILD && debug.log(`Integration skipped because it was already installed: ${integration.name}`);\n return;\n }\n integrationIndex[integration.name] = integration;\n if (!installedIntegrations.includes(integration.name) && typeof integration.setupOnce === \"function\") {\n integration.setupOnce();\n installedIntegrations.push(integration.name);\n }\n if (integration.setup && typeof integration.setup === \"function\") {\n integration.setup(client);\n }\n if (typeof integration.preprocessEvent === \"function\") {\n const callback = integration.preprocessEvent.bind(integration);\n client.on(\"preprocessEvent\", (event, hint) => callback(event, hint, client));\n }\n if (typeof integration.processEvent === \"function\") {\n const callback = integration.processEvent.bind(integration);\n const processor = Object.assign((event, hint) => callback(event, hint, client), {\n id: integration.name\n });\n client.addEventProcessor(processor);\n }\n [\"processSpan\", \"processSegmentSpan\"].forEach((hook) => {\n const callback = integration[hook];\n if (typeof callback === \"function\") {\n client.on(hook, (span) => callback.call(integration, span, client));\n }\n });\n DEBUG_BUILD && debug.log(`Integration installed: ${integration.name}`);\n}\nfunction addIntegration(integration) {\n const client = getClient();\n if (!client) {\n DEBUG_BUILD && debug.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n return;\n }\n client.addIntegration(integration);\n}\nfunction defineIntegration(fn) {\n return fn;\n}\nfunction extendIntegration(integration, extendedIntegration) {\n const wrappedIntegration = {\n ...integration,\n ...extendedIntegration\n };\n for (const key in extendedIntegration) {\n const baseValue = integration[key];\n const extendedValue = extendedIntegration[key];\n if (typeof baseValue === \"function\" && typeof extendedValue === \"function\") {\n const wrappedFunction = new Proxy(baseValue, {\n apply: (target, thisArg, args) => {\n Reflect.apply(target, thisArg, args);\n return Reflect.apply(extendedValue, thisArg, args);\n }\n });\n wrappedIntegration[key] = wrappedFunction;\n }\n }\n return wrappedIntegration;\n}\n\nexport { addIntegration, afterSetupIntegrations, defineIntegration, extendIntegration, getIntegrationsToSetup, installedIntegrations, setupIntegration, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","function isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== \"undefined\" && !!__SENTRY_BROWSER_BUNDLE__;\n}\nfunction getSDKSource() {\n /*! __SENTRY_SDK_SOURCE__ */\n return \"npm\";\n}\n\nexport { getSDKSource, isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { isBrowserBundle } from './env.js';\n\nfunction isNodeEnv() {\n return !isBrowserBundle() && Object.prototype.toString.call(typeof process !== \"undefined\" ? process : 0) === \"[object process]\";\n}\nfunction dynamicRequire(mod, request) {\n return mod.require(request);\n}\nfunction loadModule(moduleName, existingModule = typeof module !== \"undefined\" ? module : void 0) {\n let mod;\n try {\n mod = dynamicRequire(existingModule, moduleName);\n } catch {\n }\n if (!mod) {\n try {\n const { cwd } = dynamicRequire(existingModule, \"process\");\n mod = dynamicRequire(existingModule, `${cwd()}/node_modules/${moduleName}`);\n } catch {\n }\n }\n return mod;\n}\n\nexport { isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","import { isNodeEnv } from './node.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction isBrowser() {\n return typeof window !== \"undefined\" && (!isNodeEnv() || isElectronNodeRenderer());\n}\nfunction isElectronNodeRenderer() {\n const process = GLOBAL_OBJ.process;\n return process?.type === \"renderer\";\n}\n\nexport { isBrowser };\n//# sourceMappingURL=isBrowser.js.map\n","import { dsnToString } from '../utils/dsn.js';\nimport { createEnvelope } from '../utils/envelope.js';\nimport { isBrowser } from '../utils/isBrowser.js';\n\nfunction createLogContainerEnvelopeItem(items, inferUserData) {\n const inferSetting = inferUserData ? \"auto\" : \"never\";\n return [\n {\n type: \"log\",\n item_count: items.length,\n content_type: \"application/vnd.sentry.items.log+json\"\n },\n {\n version: 2,\n ...isBrowser() && {\n ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n },\n items\n }\n ];\n}\nfunction createLogEnvelope(logs, metadata, tunnel, dsn, inferUserData) {\n const headers = {};\n if (metadata?.sdk) {\n headers.sdk = {\n name: metadata.sdk.name,\n version: metadata.sdk.version\n };\n }\n if (!!tunnel && !!dsn) {\n headers.dsn = dsnToString(dsn);\n }\n return createEnvelope(headers, [createLogContainerEnvelopeItem(logs, inferUserData)]);\n}\n\nexport { createLogContainerEnvelopeItem, createLogEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { serializeAttributes } from '../attributes.js';\nimport { getGlobalSingleton } from '../carrier.js';\nimport { getClient, getIsolationScope, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { debug, consoleSandbox } from '../utils/debug-logger.js';\nimport { isParameterizedString } from '../utils/is.js';\nimport { getCombinedScopeData } from '../utils/scopeData.js';\nimport { _getSpanForScope } from '../utils/spanOnScope.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getSequenceAttribute } from '../utils/timestampSequence.js';\nimport { _getTraceInfoFromScope } from '../utils/trace-info.js';\nimport { SEVERITY_TEXT_TO_SEVERITY_NUMBER } from './constants.js';\nimport { createLogEnvelope } from './envelope.js';\n\nconst MAX_LOG_BUFFER_SIZE = 100;\nfunction setLogAttribute(logAttributes, key, value, setEvenIfPresent = true) {\n if (value && (!logAttributes[key] || setEvenIfPresent)) {\n logAttributes[key] = value;\n }\n}\nfunction _INTERNAL_captureSerializedLog(client, serializedLog) {\n const bufferMap = _getBufferMap();\n const logBuffer = _INTERNAL_getLogBuffer(client);\n if (logBuffer === void 0) {\n bufferMap.set(client, [serializedLog]);\n } else {\n if (logBuffer.length >= MAX_LOG_BUFFER_SIZE) {\n _INTERNAL_flushLogsBuffer(client, logBuffer);\n bufferMap.set(client, [serializedLog]);\n } else {\n bufferMap.set(client, [...logBuffer, serializedLog]);\n }\n }\n}\nfunction _INTERNAL_captureLog(beforeLog, currentScope = getCurrentScope(), captureSerializedLog = _INTERNAL_captureSerializedLog) {\n const client = currentScope?.getClient() ?? getClient();\n if (!client) {\n DEBUG_BUILD && debug.warn(\"No client available to capture log.\");\n return;\n }\n const { release, environment, enableLogs = true, beforeSendLog } = client.getOptions();\n if (!enableLogs) {\n DEBUG_BUILD && debug.warn(\"logging option not enabled, log will not be captured.\");\n return;\n }\n const [, traceContext] = _getTraceInfoFromScope(client, currentScope);\n const processedLogAttributes = {\n ...beforeLog.attributes\n };\n const {\n user: { id, email, username },\n attributes: scopeAttributes = {}\n } = getCombinedScopeData(getIsolationScope(), currentScope);\n setLogAttribute(processedLogAttributes, \"user.id\", id, false);\n setLogAttribute(processedLogAttributes, \"user.email\", email, false);\n setLogAttribute(processedLogAttributes, \"user.name\", username, false);\n setLogAttribute(processedLogAttributes, \"sentry.release\", release);\n setLogAttribute(processedLogAttributes, \"sentry.environment\", environment);\n const { name, version } = client.getSdkMetadata()?.sdk ?? {};\n setLogAttribute(processedLogAttributes, \"sentry.sdk.name\", name);\n setLogAttribute(processedLogAttributes, \"sentry.sdk.version\", version);\n const replay = client.getIntegrationByName(\"Replay\");\n const replayId = replay?.getReplayId(true);\n setLogAttribute(processedLogAttributes, \"sentry.replay_id\", replayId);\n if (replayId && replay?.getRecordingMode() === \"buffer\") {\n setLogAttribute(processedLogAttributes, \"sentry._internal.replay_is_buffering\", true);\n }\n const beforeLogMessage = beforeLog.message;\n if (isParameterizedString(beforeLogMessage)) {\n const { __sentry_template_string__, __sentry_template_values__ = [] } = beforeLogMessage;\n if (__sentry_template_values__?.length) {\n processedLogAttributes[\"sentry.message.template\"] = __sentry_template_string__;\n }\n __sentry_template_values__.forEach((param, index) => {\n processedLogAttributes[`sentry.message.parameter.${index}`] = param;\n });\n }\n const span = _getSpanForScope(currentScope);\n setLogAttribute(processedLogAttributes, \"sentry.trace.parent_span_id\", span?.spanContext().spanId);\n const processedLog = { ...beforeLog, attributes: processedLogAttributes };\n client.emit(\"beforeCaptureLog\", processedLog);\n const log = beforeSendLog ? consoleSandbox(() => beforeSendLog(processedLog)) : processedLog;\n if (!log) {\n client.recordDroppedEvent(\"before_send\", \"log_item\", 1);\n DEBUG_BUILD && debug.warn(\"beforeSendLog returned null, log will not be captured.\");\n return;\n }\n const { level, message, attributes: logAttributes = {}, severityNumber } = log;\n const timestamp = timestampInSeconds();\n const sequenceAttr = getSequenceAttribute(timestamp);\n const serializedLog = {\n timestamp,\n level,\n body: _removeLoneSurrogates(String(message)),\n trace_id: traceContext?.trace_id,\n severity_number: severityNumber ?? SEVERITY_TEXT_TO_SEVERITY_NUMBER[level],\n attributes: sanitizeLogAttributes({\n ...serializeAttributes(scopeAttributes),\n ...serializeAttributes(logAttributes, true),\n [sequenceAttr.key]: sequenceAttr.value\n })\n };\n captureSerializedLog(client, serializedLog);\n client.emit(\"afterCaptureLog\", log);\n}\nfunction _INTERNAL_flushLogsBuffer(client, maybeLogBuffer) {\n const logBuffer = maybeLogBuffer ?? _INTERNAL_getLogBuffer(client) ?? [];\n if (logBuffer.length === 0) {\n return;\n }\n const clientOptions = client.getOptions();\n const envelope = createLogEnvelope(\n logBuffer,\n clientOptions._metadata,\n clientOptions.tunnel,\n client.getDsn(),\n client.getDataCollectionOptions().userInfo\n );\n _getBufferMap().set(client, []);\n client.emit(\"flushLogs\");\n client.sendEnvelope(envelope);\n}\nfunction _INTERNAL_getLogBuffer(client) {\n return _getBufferMap().get(client);\n}\nfunction _getBufferMap() {\n return getGlobalSingleton(\"clientToLogBufferMap\", () => /* @__PURE__ */ new WeakMap());\n}\nfunction sanitizeLogAttributes(attributes) {\n const sanitized = {};\n for (const [key, attr] of Object.entries(attributes)) {\n const sanitizedKey = _removeLoneSurrogates(key);\n if (attr.type === \"string\") {\n sanitized[sanitizedKey] = { ...attr, value: _removeLoneSurrogates(attr.value) };\n } else {\n sanitized[sanitizedKey] = attr;\n }\n }\n return sanitized;\n}\nfunction _removeLoneSurrogates(str) {\n const strObj = Object(str);\n const isWellFormed = strObj[\"isWellFormed\"];\n const toWellFormed = strObj[\"toWellFormed\"];\n if (typeof isWellFormed === \"function\" && typeof toWellFormed === \"function\") {\n return isWellFormed.call(str) ? str : toWellFormed.call(str);\n }\n return str;\n}\n\nexport { _INTERNAL_captureLog, _INTERNAL_captureSerializedLog, _INTERNAL_flushLogsBuffer, _INTERNAL_getLogBuffer, _removeLoneSurrogates };\n//# sourceMappingURL=internal.js.map\n","import { dsnToString } from '../utils/dsn.js';\nimport { createEnvelope } from '../utils/envelope.js';\nimport { isBrowser } from '../utils/isBrowser.js';\n\nfunction createMetricContainerEnvelopeItem(items, inferUserData) {\n const inferSetting = inferUserData ? \"auto\" : \"never\";\n return [\n {\n type: \"trace_metric\",\n item_count: items.length,\n content_type: \"application/vnd.sentry.items.trace-metric+json\"\n },\n {\n version: 2,\n ...isBrowser() && {\n ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n },\n items\n }\n ];\n}\nfunction createMetricEnvelope(metrics, metadata, tunnel, dsn, inferUserData) {\n const headers = {};\n if (metadata?.sdk) {\n headers.sdk = {\n name: metadata.sdk.name,\n version: metadata.sdk.version\n };\n }\n if (!!tunnel && !!dsn) {\n headers.dsn = dsnToString(dsn);\n }\n return createEnvelope(headers, [createMetricContainerEnvelopeItem(metrics, inferUserData)]);\n}\n\nexport { createMetricContainerEnvelopeItem, createMetricEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { serializeAttributes } from '../attributes.js';\nimport { getGlobalSingleton } from '../carrier.js';\nimport { getCurrentScope, getClient, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getCombinedScopeData } from '../utils/scopeData.js';\nimport { _getSpanForScope } from '../utils/spanOnScope.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getSequenceAttribute } from '../utils/timestampSequence.js';\nimport { _getTraceInfoFromScope } from '../utils/trace-info.js';\nimport { createMetricEnvelope } from './envelope.js';\n\nconst MAX_METRIC_BUFFER_SIZE = 1e3;\nfunction setMetricAttribute(metricAttributes, key, value, setEvenIfPresent = true) {\n if (value && (setEvenIfPresent || !(key in metricAttributes))) {\n metricAttributes[key] = value;\n }\n}\nfunction _INTERNAL_captureSerializedMetric(client, serializedMetric) {\n const bufferMap = _getBufferMap();\n const metricBuffer = _INTERNAL_getMetricBuffer(client);\n if (metricBuffer === void 0) {\n bufferMap.set(client, [serializedMetric]);\n } else {\n if (metricBuffer.length >= MAX_METRIC_BUFFER_SIZE) {\n _INTERNAL_flushMetricsBuffer(client, metricBuffer);\n bufferMap.set(client, [serializedMetric]);\n } else {\n bufferMap.set(client, [...metricBuffer, serializedMetric]);\n }\n }\n}\nfunction _enrichMetricAttributes(beforeMetric, client, user) {\n const { release, environment } = client.getOptions();\n const processedMetricAttributes = {\n ...beforeMetric.attributes\n };\n setMetricAttribute(processedMetricAttributes, \"user.id\", user.id, false);\n setMetricAttribute(processedMetricAttributes, \"user.email\", user.email, false);\n setMetricAttribute(processedMetricAttributes, \"user.name\", user.username, false);\n setMetricAttribute(processedMetricAttributes, \"sentry.release\", release);\n setMetricAttribute(processedMetricAttributes, \"sentry.environment\", environment);\n const { name, version } = client.getSdkMetadata()?.sdk ?? {};\n setMetricAttribute(processedMetricAttributes, \"sentry.sdk.name\", name);\n setMetricAttribute(processedMetricAttributes, \"sentry.sdk.version\", version);\n const replay = client.getIntegrationByName(\"Replay\");\n const replayId = replay?.getReplayId(true);\n setMetricAttribute(processedMetricAttributes, \"sentry.replay_id\", replayId);\n if (replayId && replay?.getRecordingMode() === \"buffer\") {\n setMetricAttribute(processedMetricAttributes, \"sentry._internal.replay_is_buffering\", true);\n }\n return {\n ...beforeMetric,\n attributes: processedMetricAttributes\n };\n}\nfunction _buildSerializedMetric(metric, client, currentScope, scopeAttributes) {\n const [, traceContext] = _getTraceInfoFromScope(client, currentScope);\n const span = _getSpanForScope(currentScope);\n const traceId = span ? span.spanContext().traceId : traceContext?.trace_id;\n const spanId = span ? span.spanContext().spanId : void 0;\n const timestamp = timestampInSeconds();\n const sequenceAttr = getSequenceAttribute(timestamp);\n return {\n timestamp,\n trace_id: traceId ?? \"\",\n span_id: spanId,\n name: metric.name,\n type: metric.type,\n unit: metric.unit,\n value: metric.value,\n attributes: {\n ...serializeAttributes(scopeAttributes),\n ...serializeAttributes(metric.attributes, \"skip-undefined\"),\n [sequenceAttr.key]: sequenceAttr.value\n }\n };\n}\nfunction _INTERNAL_captureMetric(beforeMetric, options) {\n const currentScope = options?.scope ?? getCurrentScope();\n const captureSerializedMetric = options?.captureSerializedMetric ?? _INTERNAL_captureSerializedMetric;\n const client = currentScope?.getClient() ?? getClient();\n if (!client) {\n DEBUG_BUILD && debug.warn(\"No client available to capture metric.\");\n return;\n }\n const { _experiments, enableMetrics, beforeSendMetric } = client.getOptions();\n const metricsEnabled = enableMetrics ?? _experiments?.enableMetrics ?? true;\n if (!metricsEnabled) {\n DEBUG_BUILD && debug.warn(\"metrics option not enabled, metric will not be captured.\");\n return;\n }\n const { user, attributes: scopeAttributes } = getCombinedScopeData(getIsolationScope(), currentScope);\n const enrichedMetric = _enrichMetricAttributes(beforeMetric, client, user);\n client.emit(\"processMetric\", enrichedMetric);\n const beforeSendCallback = beforeSendMetric || _experiments?.beforeSendMetric;\n const processedMetric = beforeSendCallback ? beforeSendCallback(enrichedMetric) : enrichedMetric;\n if (!processedMetric) {\n DEBUG_BUILD && debug.log(\"`beforeSendMetric` returned `null`, will not send metric.\");\n return;\n }\n const serializedMetric = _buildSerializedMetric(processedMetric, client, currentScope, scopeAttributes);\n DEBUG_BUILD && debug.log(\"[Metric]\", serializedMetric);\n captureSerializedMetric(client, serializedMetric);\n client.emit(\"afterCaptureMetric\", processedMetric);\n}\nfunction _INTERNAL_flushMetricsBuffer(client, maybeMetricBuffer) {\n const metricBuffer = maybeMetricBuffer ?? _INTERNAL_getMetricBuffer(client) ?? [];\n if (metricBuffer.length === 0) {\n return;\n }\n const clientOptions = client.getOptions();\n const envelope = createMetricEnvelope(\n metricBuffer,\n clientOptions._metadata,\n clientOptions.tunnel,\n client.getDsn(),\n client.getDataCollectionOptions().userInfo\n );\n _getBufferMap().set(client, []);\n client.emit(\"flushMetrics\");\n client.sendEnvelope(envelope);\n}\nfunction _INTERNAL_getMetricBuffer(client) {\n return _getBufferMap().get(client);\n}\nfunction _getBufferMap() {\n return getGlobalSingleton(\"clientToMetricBufferMap\", () => /* @__PURE__ */ new WeakMap());\n}\n\nexport { _INTERNAL_captureMetric, _INTERNAL_captureSerializedMetric, _INTERNAL_flushMetricsBuffer, _INTERNAL_getMetricBuffer };\n//# sourceMappingURL=internal.js.map\n","import { streamedSpanJsonToSerializedSpan } from '../../utils/spanUtils.js';\n\nfunction spanJsonToSerializedStreamedSpan(span) {\n const streamedSpan = {\n trace_id: span.trace_id,\n span_id: span.span_id,\n parent_span_id: span.parent_span_id,\n name: span.description || \"\",\n start_timestamp: span.start_timestamp,\n end_timestamp: span.timestamp || span.start_timestamp,\n status: !span.status || span.status === \"ok\" || span.status === \"cancelled\" ? \"ok\" : \"error\",\n is_segment: false,\n attributes: { ...span.data },\n links: span.links\n };\n return streamedSpanJsonToSerializedSpan(streamedSpan);\n}\n\nexport { spanJsonToSerializedStreamedSpan };\n//# sourceMappingURL=spanJsonToStreamedSpan.js.map\n","import { isBrowser } from '../../utils/isBrowser.js';\nimport { hasSpanStreamingEnabled } from './hasSpanStreamingEnabled.js';\nimport { spanJsonToSerializedStreamedSpan } from './spanJsonToStreamedSpan.js';\n\nfunction extractGenAiSpansFromEvent(event, client) {\n if (event.type !== \"transaction\" || !event.spans?.length || !event.sdkProcessingMetadata?.hasGenAiSpans || client.getOptions().streamGenAiSpans === false || hasSpanStreamingEnabled(client)) {\n return void 0;\n }\n const genAiSpans = [];\n const remainingSpans = [];\n for (const span of event.spans) {\n if (span.op?.startsWith(\"gen_ai.\")) {\n genAiSpans.push(spanJsonToSerializedStreamedSpan(span));\n } else {\n remainingSpans.push(span);\n }\n }\n if (genAiSpans.length === 0) {\n return void 0;\n }\n event.spans = remainingSpans;\n const inferSetting = client.getDataCollectionOptions().userInfo ? \"auto\" : \"never\";\n return [\n { type: \"span\", item_count: genAiSpans.length, content_type: \"application/vnd.sentry.items.span.v2+json\" },\n {\n version: 2,\n ...isBrowser() && {\n ingest_settings: { infer_ip: inferSetting, infer_user_agent: inferSetting }\n },\n items: genAiSpans\n }\n ];\n}\n\nexport { extractGenAiSpansFromEvent };\n//# sourceMappingURL=extractGenAiSpans.js.map\n","import { resolvedSyncPromise, rejectedSyncPromise } from './syncpromise.js';\nimport { safeUnref } from './timer.js';\n\nconst SENTRY_BUFFER_FULL_ERROR = /* @__PURE__ */ Symbol.for(\"SentryBufferFullError\");\nfunction makePromiseBuffer(limit = 100) {\n const buffer = /* @__PURE__ */ new Set();\n function isReady() {\n return buffer.size < limit;\n }\n function remove(task) {\n buffer.delete(task);\n }\n function add(taskProducer) {\n if (!isReady()) {\n return rejectedSyncPromise(SENTRY_BUFFER_FULL_ERROR);\n }\n const task = taskProducer();\n buffer.add(task);\n void task.then(\n () => remove(task),\n () => remove(task)\n );\n return task;\n }\n function drain(timeout) {\n if (!buffer.size) {\n return resolvedSyncPromise(true);\n }\n const drainPromise = Promise.allSettled(Array.from(buffer)).then(() => true);\n if (!timeout) {\n return drainPromise;\n }\n const promises = [\n drainPromise,\n new Promise((resolve) => safeUnref(setTimeout(() => resolve(false), timeout)))\n ];\n return Promise.race(promises);\n }\n return {\n get $() {\n return Array.from(buffer);\n },\n add,\n drain\n };\n}\n\nexport { SENTRY_BUFFER_FULL_ERROR, makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","import { safeDateNow } from './randomSafeContext.js';\n\nconst DEFAULT_RETRY_AFTER = 60 * 1e3;\nfunction parseRetryAfterHeader(header, now = safeDateNow()) {\n const headerDelay = parseInt(`${header}`, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1e3;\n }\n const headerDate = Date.parse(`${header}`);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return DEFAULT_RETRY_AFTER;\n}\nfunction disabledUntil(limits, dataCategory) {\n return limits[dataCategory] || limits.all || 0;\n}\nfunction isRateLimited(limits, dataCategory, now = safeDateNow()) {\n return disabledUntil(limits, dataCategory) > now;\n}\nfunction updateRateLimits(limits, { statusCode, headers }, now = safeDateNow()) {\n const updatedRateLimits = {\n ...limits\n };\n const rateLimitHeader = headers?.[\"x-sentry-rate-limits\"];\n const retryAfterHeader = headers?.[\"retry-after\"];\n if (rateLimitHeader) {\n for (const limit of rateLimitHeader.trim().split(\",\")) {\n const [retryAfter, categories, , , namespaces] = limit.split(\":\", 5);\n const headerDelay = parseInt(retryAfter, 10);\n const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1e3;\n if (!categories) {\n updatedRateLimits.all = now + delay;\n } else {\n for (const category of categories.split(\";\")) {\n if (category === \"metric_bucket\") {\n if (!namespaces || namespaces.split(\";\").includes(\"custom\")) {\n updatedRateLimits[category] = now + delay;\n }\n } else {\n updatedRateLimits[category] = now + delay;\n }\n }\n }\n }\n } else if (retryAfterHeader) {\n updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n } else if (statusCode === 429) {\n updatedRateLimits.all = now + 60 * 1e3;\n }\n return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { forEachEnvelopeItem, envelopeItemTypeToDataCategory, createEnvelope, serializeEnvelope, envelopeContainsItemType } from '../utils/envelope.js';\nimport { makePromiseBuffer, SENTRY_BUFFER_FULL_ERROR } from '../utils/promisebuffer.js';\nimport { isRateLimited, updateRateLimits } from '../utils/ratelimit.js';\n\nconst DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\nfunction createTransport(options, makeRequest, buffer = makePromiseBuffer(\n options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE\n)) {\n let rateLimits = {};\n const flush = (timeout) => buffer.drain(timeout);\n function send(envelope) {\n const filteredEnvelopeItems = [];\n forEachEnvelopeItem(envelope, (item, type) => {\n const dataCategory = envelopeItemTypeToDataCategory(type);\n if (isRateLimited(rateLimits, dataCategory)) {\n options.recordDroppedEvent(\"ratelimit_backoff\", dataCategory);\n } else {\n filteredEnvelopeItems.push(item);\n }\n });\n if (filteredEnvelopeItems.length === 0) {\n return Promise.resolve({});\n }\n const filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems);\n const recordEnvelopeLoss = (reason) => {\n if (envelopeContainsItemType(filteredEnvelope, [\"client_report\"])) {\n DEBUG_BUILD && debug.warn(`Dropping client report. Will not send outcomes (reason: ${reason}).`);\n return;\n }\n forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n });\n };\n const requestTask = () => makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n (response) => {\n if (response.statusCode === 413) {\n DEBUG_BUILD && debug.error(\n \"Sentry responded with status code 413. Envelope was discarded due to exceeding size limits.\"\n );\n recordEnvelopeLoss(\"send_error\");\n return response;\n }\n if (DEBUG_BUILD && response.statusCode !== void 0 && (response.statusCode < 200 || response.statusCode >= 300)) {\n debug.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n }\n rateLimits = updateRateLimits(rateLimits, response);\n return response;\n },\n (error) => {\n recordEnvelopeLoss(\"network_error\");\n DEBUG_BUILD && debug.error(\"Encountered error running transport request:\", error);\n throw error;\n }\n );\n return buffer.add(requestTask).then(\n (result) => result,\n (error) => {\n if (error === SENTRY_BUFFER_FULL_ERROR) {\n DEBUG_BUILD && debug.error(\"Skipped sending event because buffer is full.\");\n recordEnvelopeLoss(\"queue_overflow\");\n return Promise.resolve({});\n } else {\n throw error;\n }\n }\n );\n }\n return {\n send,\n flush\n };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\nfunction createClientReportEnvelope(discarded_events, dsn, timestamp) {\n const clientReportItem = [\n { type: \"client_report\" },\n {\n timestamp: timestamp || dateTimestampInSeconds(),\n discarded_events\n }\n ];\n return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","import { SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID } from '../semanticAttributes.js';\n\nfunction convertTransactionEventToSpanJson(event) {\n const { trace_id, parent_span_id, span_id, status, origin, data, op } = event.contexts?.trace ?? {};\n return {\n data: data ?? {},\n description: event.transaction,\n op,\n parent_span_id,\n span_id: span_id ?? \"\",\n start_timestamp: event.start_timestamp ?? 0,\n status,\n timestamp: event.timestamp,\n trace_id: trace_id ?? \"\",\n origin,\n profile_id: data?.[SEMANTIC_ATTRIBUTE_PROFILE_ID],\n exclusive_time: data?.[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME],\n measurements: event.measurements,\n is_segment: true\n };\n}\nfunction convertSpanJsonToTransactionEvent(span) {\n return {\n type: \"transaction\",\n timestamp: span.timestamp,\n start_timestamp: span.start_timestamp,\n transaction: span.description,\n contexts: {\n trace: {\n trace_id: span.trace_id,\n span_id: span.span_id,\n parent_span_id: span.parent_span_id,\n op: span.op,\n status: span.status,\n origin: span.origin,\n data: {\n ...span.data,\n ...span.profile_id && { [SEMANTIC_ATTRIBUTE_PROFILE_ID]: span.profile_id },\n ...span.exclusive_time && { [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: span.exclusive_time }\n }\n }\n },\n measurements: span.measurements\n };\n}\n\nexport { convertSpanJsonToTransactionEvent, convertTransactionEventToSpanJson };\n//# sourceMappingURL=transactionEvent.js.map\n","const FILTERED_VALUE = \"[Filtered]\";\nconst PII_HEADER_SNIPPETS = [\"forwarded\", \"-ip\", \"remote-\", \"via\", \"-user\"];\nconst SENSITIVE_KEY_SNIPPETS = [\n \"auth\",\n \"token\",\n \"secret\",\n \"session\",\n // for the user_session cookie\n \"password\",\n \"passwd\",\n \"pwd\",\n \"key\",\n \"jwt\",\n \"bearer\",\n \"sso\",\n \"saml\",\n \"csrf\",\n \"xsrf\",\n \"credentials\",\n \"sid\",\n \"identity\",\n // Always treat cookie headers as sensitive in case individual key-value cookie pairs cannot properly be extracted\n \"set-cookie\",\n \"cookie\"\n];\nconst SENSITIVE_COOKIE_NAME_SNIPPETS = [\n // Express / Connect default session cookie\n \".sid\",\n // Opaque session ids (PHPSESSID, ASPSESSIONID*, BIGipServer*, *sessid*, …)\n \"sessid\",\n // Laravel etc. \"remember me\" tokens\n \"remember\",\n // OIDC / OAuth auxiliary (`oauth*` covered by header snippet `auth`)\n \"oidc\",\n \"pkce\",\n \"nonce\",\n // RFC 6265bis high-security cookie name prefixes\n \"__secure-\",\n \"__host-\",\n // Load balancer / CDN sticky-session cookies (opaque routing tokens)\n \"awsalb\",\n \"awselb\",\n \"akamai\",\n // BaaS / IdP session cookies (names often omit \"session\")\n \"__stripe\",\n \"cognito\",\n \"firebase\",\n \"supabase\",\n \"sb-\",\n // Step-up / MFA cookies\n \"mfa\",\n \"2fa\"\n];\n\nexport { FILTERED_VALUE, PII_HEADER_SNIPPETS, SENSITIVE_COOKIE_NAME_SNIPPETS, SENSITIVE_KEY_SNIPPETS };\n//# sourceMappingURL=filtering-snippets.js.map\n","import { PII_HEADER_SNIPPETS } from './filtering-snippets.js';\n\nfunction defaultPiiToCollectionOptions(sendDefaultPii) {\n return sendDefaultPii === true ? {\n userInfo: true,\n cookies: true,\n httpHeaders: { request: true, response: true },\n httpBodies: [\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"],\n urlQueryParams: true,\n graphQL: { document: true, variables: true },\n genAI: { inputs: true, outputs: true },\n databaseQueryData: true,\n stackFrameVariables: true,\n frameContextLines: 7\n // default should be 5, but ContextLines integration uses 7\n } : {\n userInfo: false,\n cookies: { deny: PII_HEADER_SNIPPETS },\n httpHeaders: { request: { deny: PII_HEADER_SNIPPETS }, response: { deny: PII_HEADER_SNIPPETS } },\n httpBodies: [],\n urlQueryParams: { deny: PII_HEADER_SNIPPETS },\n // The GraphQL document has literal values redacted at collection time, so it was historically\n // always attached regardless of `sendDefaultPii`; keep it on to preserve that behavior.\n graphQL: { document: true, variables: true },\n genAI: { inputs: false, outputs: false },\n // Database query values were only sent with `sendDefaultPii: true` (e.g. Supabase gated on it),\n // so map the legacy \"off\" state to `false`.\n databaseQueryData: false,\n stackFrameVariables: true,\n frameContextLines: 7\n // default should be 5, but ContextLines integration uses 7\n };\n}\n\nexport { defaultPiiToCollectionOptions };\n//# sourceMappingURL=defaultPiiToCollectionOptions.js.map\n","import { defaultPiiToCollectionOptions } from './defaultPiiToCollectionOptions.js';\n\nconst DEFAULTS = {\n userInfo: true,\n cookies: true,\n httpHeaders: { request: true, response: true },\n httpBodies: [\"incomingRequest\", \"outgoingRequest\", \"incomingResponse\", \"outgoingResponse\"],\n urlQueryParams: true,\n graphQL: { document: true, variables: true },\n genAI: { inputs: true, outputs: true },\n databaseQueryData: true,\n stackFrameVariables: true,\n frameContextLines: 5\n};\nfunction isCollectBehavior(value) {\n return typeof value === \"boolean\" || \"allow\" in value || \"deny\" in value;\n}\nfunction resolveHttpHeaders(httpHeaders, base) {\n if (httpHeaders === void 0) {\n return { ...base.httpHeaders };\n }\n if (isCollectBehavior(httpHeaders)) {\n return { request: httpHeaders, response: httpHeaders };\n }\n return {\n request: httpHeaders.request ?? base.httpHeaders.request,\n response: httpHeaders.response ?? base.httpHeaders.response\n };\n}\nfunction resolveDataCollectionOptions(options) {\n const base = options.dataCollection != null ? DEFAULTS : defaultPiiToCollectionOptions(options.sendDefaultPii);\n const dc = options.dataCollection ?? {};\n return {\n userInfo: dc.userInfo ?? base.userInfo,\n cookies: dc.cookies ?? base.cookies,\n httpHeaders: resolveHttpHeaders(dc.httpHeaders, base),\n httpBodies: dc.httpBodies ?? base.httpBodies,\n // oxlint-disable-next-line typescript/no-deprecated\n urlQueryParams: dc.urlQueryParams ?? dc.queryParams ?? base.urlQueryParams,\n graphQL: {\n document: dc.graphQL?.document ?? base.graphQL.document,\n variables: dc.graphQL?.variables ?? base.graphQL.variables\n },\n genAI: {\n inputs: dc.genAI?.inputs ?? base.genAI.inputs,\n outputs: dc.genAI?.outputs ?? base.genAI.outputs\n },\n databaseQueryData: dc.databaseQueryData ?? base.databaseQueryData,\n stackFrameVariables: dc.stackFrameVariables ?? base.stackFrameVariables,\n frameContextLines: dc.frameContextLines ?? base.frameContextLines\n };\n}\n\nexport { resolveDataCollectionOptions };\n//# sourceMappingURL=resolveDataCollectionOptions.js.map\n","import { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { getTraceContextFromScope, getCurrentScope, getIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegration, afterSetupIntegrations, setupIntegrations } from './integration.js';\nimport { _INTERNAL_flushLogsBuffer } from './logs/internal.js';\nimport { _INTERNAL_flushMetricsBuffer } from './metrics/internal.js';\nimport { updateSession } from './session.js';\nimport { getDynamicSamplingContextFromScope } from './tracing/dynamicSamplingContext.js';\nimport { isStreamedBeforeSendSpanCallback } from './tracing/spans/beforeSendSpan.js';\nimport { extractGenAiSpansFromEvent } from './tracing/spans/extractGenAiSpans.js';\nimport { DEFAULT_TRANSPORT_BUFFER_SIZE } from './transports/base.js';\nimport { createClientReportEnvelope } from './utils/clientreport.js';\nimport { debug } from './utils/debug-logger.js';\nimport { makeDsn, dsnToString } from './utils/dsn.js';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils/envelope.js';\nimport { isInternalException, getPossibleEventMessages } from './utils/eventUtils.js';\nimport { isParameterizedString, isPrimitive, isObjectLike, isThenable, isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4, checkOrSetAlreadyCaught } from './utils/misc.js';\nimport { parseSampleRate } from './utils/parseSampleRate.js';\nimport { prepareEvent } from './utils/prepareEvent.js';\nimport { makePromiseBuffer, SENTRY_BUFFER_FULL_ERROR } from './utils/promisebuffer.js';\nimport { safeMathRandom } from './utils/randomSafeContext.js';\nimport { shouldIgnoreSpan, reparentChildSpans } from './utils/should-ignore-span.js';\nimport { showSpanDropWarning } from './utils/spanUtils.js';\nimport { safeUnref } from './utils/timer.js';\nimport { convertTransactionEventToSpanJson, convertSpanJsonToTransactionEvent } from './utils/transactionEvent.js';\nimport { resolveDataCollectionOptions } from './utils/data-collection/resolveDataCollectionOptions.js';\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\nconst MISSING_RELEASE_FOR_SESSION_ERROR = \"Discarded session because of missing or non-string release\";\nconst INTERNAL_ERROR_SYMBOL = /* @__PURE__ */ Symbol.for(\"SentryInternalError\");\nconst DO_NOT_SEND_EVENT_SYMBOL = /* @__PURE__ */ Symbol.for(\"SentryDoNotSendEventError\");\nconst DEFAULT_FLUSH_INTERVAL = 5e3;\nfunction _makeInternalError(message) {\n return {\n message,\n [INTERNAL_ERROR_SYMBOL]: true\n };\n}\nfunction _makeDoNotSendEventError(message) {\n return {\n message,\n [DO_NOT_SEND_EVENT_SYMBOL]: true\n };\n}\nfunction _isInternalError(error) {\n return isObjectLike(error) && INTERNAL_ERROR_SYMBOL in error;\n}\nfunction _isDoNotSendEventError(error) {\n return isObjectLike(error) && DO_NOT_SEND_EVENT_SYMBOL in error;\n}\nfunction setupWeightBasedFlushing(client, afterCaptureHook, flushHook, estimateSizeFn, flushFn) {\n let weight = 0;\n let flushTimeout;\n let isTimerActive = false;\n client.on(flushHook, () => {\n weight = 0;\n clearTimeout(flushTimeout);\n isTimerActive = false;\n });\n client.on(afterCaptureHook, (item) => {\n weight += estimateSizeFn(item);\n if (weight >= 8e5) {\n flushFn(client);\n } else if (!isTimerActive) {\n const flushInterval = client.getOptions()._flushInterval ?? DEFAULT_FLUSH_INTERVAL;\n if (flushInterval > 0) {\n isTimerActive = true;\n flushTimeout = safeUnref(\n setTimeout(() => {\n flushFn(client);\n }, flushInterval)\n );\n }\n }\n });\n client.on(\"flush\", () => {\n flushFn(client);\n });\n}\nclass Client {\n /**\n * Initializes this client instance.\n *\n * @param options Options for the client.\n */\n constructor(options) {\n this._options = options;\n this._integrations = {};\n this._numProcessing = 0;\n this._outcomes = {};\n this._hooks = {};\n this._eventProcessors = [];\n this._promiseBuffer = makePromiseBuffer(options.transportOptions?.bufferSize ?? DEFAULT_TRANSPORT_BUFFER_SIZE);\n this._dataCollection = resolveDataCollectionOptions(options);\n if (options.dsn) {\n this._dsn = makeDsn(options.dsn);\n } else {\n DEBUG_BUILD && debug.warn(\"No DSN provided, client will not send events.\");\n }\n if (this._dsn) {\n const url = getEnvelopeEndpointWithUrlEncodedAuth(\n this._dsn,\n options.tunnel,\n options._metadata ? options._metadata.sdk : void 0\n );\n this._transport = options.transport({\n tunnel: this._options.tunnel,\n recordDroppedEvent: this.recordDroppedEvent.bind(this),\n ...options.transportOptions,\n url\n });\n }\n this._options.enableLogs = this._options.enableLogs ?? this._options._experiments?.enableLogs ?? true;\n if (this._options.enableLogs) {\n setupWeightBasedFlushing(this, \"afterCaptureLog\", \"flushLogs\", estimateLogSizeInBytes, _INTERNAL_flushLogsBuffer);\n }\n const enableMetrics = this._options.enableMetrics ?? this._options._experiments?.enableMetrics ?? true;\n if (enableMetrics) {\n setupWeightBasedFlushing(\n this,\n \"afterCaptureMetric\",\n \"flushMetrics\",\n estimateMetricSizeInBytes,\n _INTERNAL_flushMetricsBuffer\n );\n }\n }\n /**\n * Captures an exception event and sends it to Sentry.\n *\n * Unlike `captureException` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureException(exception, hint, scope) {\n const eventId = uuid4();\n if (checkOrSetAlreadyCaught(exception)) {\n DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n const hintWithEventId = {\n event_id: eventId,\n ...hint\n };\n this._process(\n () => this.eventFromException(exception, hintWithEventId).then((event) => this._captureEvent(event, hintWithEventId, scope)).then((res) => res),\n \"error\"\n );\n return hintWithEventId.event_id;\n }\n /**\n * Captures a message event and sends it to Sentry.\n *\n * Unlike `captureMessage` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureMessage(message, level, hint, currentScope) {\n const hintWithEventId = {\n event_id: uuid4(),\n ...hint\n };\n const eventMessage = isParameterizedString(message) ? message : String(message);\n const isMessage = isPrimitive(message);\n const promisedEvent = isMessage ? this.eventFromMessage(eventMessage, level, hintWithEventId) : this.eventFromException(message, hintWithEventId);\n this._process(\n () => promisedEvent.then((event) => this._captureEvent(event, hintWithEventId, currentScope)),\n isMessage ? \"unknown\" : \"error\"\n );\n return hintWithEventId.event_id;\n }\n /**\n * Captures a manually created event and sends it to Sentry.\n *\n * Unlike `captureEvent` exported from every SDK, this method requires that you pass it the current scope.\n */\n captureEvent(event, hint, currentScope) {\n const eventId = uuid4();\n if (hint?.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n return eventId;\n }\n const hintWithEventId = {\n event_id: eventId,\n ...hint\n };\n const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n const capturedSpanScope = sdkProcessingMetadata.capturedSpanScope;\n const capturedSpanIsolationScope = sdkProcessingMetadata.capturedSpanIsolationScope;\n const dataCategory = getDataCategoryByType(event.type);\n this._process(\n () => this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope, capturedSpanIsolationScope),\n dataCategory\n );\n return hintWithEventId.event_id;\n }\n /**\n * Captures a session.\n */\n captureSession(session) {\n this.sendSession(session);\n updateSession(session, { init: false });\n }\n /**\n * Get the current Dsn.\n */\n getDsn() {\n return this._dsn;\n }\n /**\n * Get the current options.\n */\n getOptions() {\n return this._options;\n }\n /**\n * Get the resolved data collection configuration.\n */\n getDataCollectionOptions() {\n return this._dataCollection;\n }\n /**\n * Get the SDK metadata.\n * @see SdkMetadata\n */\n getSdkMetadata() {\n return this._options._metadata;\n }\n /**\n * Returns the transport that is used by the client.\n * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n */\n getTransport() {\n return this._transport;\n }\n /**\n * Wait for all events to be sent or the timeout to expire, whichever comes first.\n *\n * @param timeout Maximum time in ms the client should wait for events to be flushed. Omitting this parameter will\n * cause the client to wait until all events are sent before resolving the promise.\n * @returns A promise that will resolve with `true` if all events are sent before the timeout, or `false` if there are\n * still events in the queue when the timeout is reached.\n */\n // @ts-expect-error - PromiseLike is a subset of Promise\n async flush(timeout) {\n const transport = this._transport;\n this.emit(\"flush\");\n if (!transport) {\n return true;\n }\n const clientFinished = await this._isClientDoneProcessing(timeout);\n const transportFlushed = await transport.flush(timeout);\n return clientFinished && transportFlushed;\n }\n /**\n * Flush the event queue and set the client to `enabled = false`. See {@link Client.flush}.\n *\n * @param {number} timeout Maximum time in ms the client should wait before shutting down. Omitting this parameter will cause\n * the client to wait until all events are sent before disabling itself.\n * @returns {Promise} A promise which resolves to `true` if the flush completes successfully before the timeout, or `false` if\n * it doesn't.\n */\n // @ts-expect-error - PromiseLike is a subset of Promise\n async close(timeout) {\n const result = await this.flush(timeout);\n this.getOptions().enabled = false;\n this.emit(\"close\");\n return result;\n }\n /**\n * Get all installed event processors.\n */\n getEventProcessors() {\n return this._eventProcessors;\n }\n /**\n * Adds an event processor that applies to any event processed by this client.\n */\n addEventProcessor(eventProcessor) {\n this._eventProcessors.push(eventProcessor);\n }\n /**\n * Initialize this client.\n * Call this after the client was set on a scope.\n */\n init() {\n if (this._isEnabled() || // Force integrations to be setup even if no DSN was set when we have\n // Spotlight enabled. This is particularly important for browser as we\n // don't support the `spotlight` option there and rely on the users\n // adding the `spotlightBrowserIntegration()` to their integrations which\n // wouldn't get initialized with the check below when there's no DSN set.\n this._options.integrations.some(({ name }) => name.startsWith(\"Spotlight\"))) {\n this._setupIntegrations();\n }\n }\n /**\n * Gets an installed integration by its name.\n *\n * @returns {Integration|undefined} The installed integration or `undefined` if no integration with that `name` was installed.\n */\n getIntegrationByName(integrationName) {\n return this._integrations[integrationName];\n }\n /**\n * Returns the names of all installed integrations.\n */\n getIntegrationNames() {\n return Object.keys(this._integrations);\n }\n /**\n * Add an integration to the client.\n * This can be used to e.g. lazy load integrations.\n * In most cases, this should not be necessary,\n * and you're better off just passing the integrations via `integrations: []` at initialization time.\n * However, if you find the need to conditionally load & add an integration, you can use `addIntegration` to do so.\n */\n addIntegration(integration) {\n const isAlreadyInstalled = this._integrations[integration.name];\n if (!isAlreadyInstalled && integration.beforeSetup) {\n integration.beforeSetup(this);\n }\n setupIntegration(this, integration, this._integrations);\n if (!isAlreadyInstalled) {\n afterSetupIntegrations(this, [integration]);\n }\n }\n /**\n * Send a fully prepared event to Sentry.\n */\n sendEvent(event, hint = {}) {\n this.emit(\"beforeSendEvent\", event, hint);\n const genAiSpanItem = extractGenAiSpansFromEvent(event, this);\n let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n if (!isInternalException(hint)) {\n for (const attachment of hint.attachments || []) {\n env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n }\n }\n if (genAiSpanItem) {\n env = addItemToEnvelope(env, genAiSpanItem);\n }\n this.sendEnvelope(env).then((sendResponse) => this.emit(\"afterSendEvent\", event, sendResponse));\n }\n /**\n * Send a session or session aggregrates to Sentry.\n */\n sendSession(session) {\n const { release: clientReleaseOption, environment: clientEnvironmentOption = DEFAULT_ENVIRONMENT } = this._options;\n if (\"aggregates\" in session) {\n const sessionAttrs = session.attrs || {};\n if (!sessionAttrs.release && !clientReleaseOption) {\n DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n return;\n }\n sessionAttrs.release = sessionAttrs.release || clientReleaseOption;\n sessionAttrs.environment = sessionAttrs.environment || clientEnvironmentOption;\n session.attrs = sessionAttrs;\n } else {\n if (!session.release && !clientReleaseOption) {\n DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n return;\n }\n session.release = session.release || clientReleaseOption;\n session.environment = session.environment || clientEnvironmentOption;\n }\n this.emit(\"beforeSendSession\", session);\n const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n this.sendEnvelope(env);\n }\n /**\n * Record on the client that an event got dropped (ie, an event that will not be sent to Sentry).\n */\n recordDroppedEvent(reason, category, count = 1) {\n if (this._options.sendClientReports) {\n const key = `${reason}:${category}`;\n DEBUG_BUILD && debug.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : \"\"}`);\n this._outcomes[key] = (this._outcomes[key] || 0) + count;\n }\n }\n /**\n * Register a hook on this client.\n */\n on(hook, callback) {\n const hookCallbacks = this._hooks[hook] = this._hooks[hook] || /* @__PURE__ */ new Set();\n const uniqueCallback = (...args) => callback(...args);\n hookCallbacks.add(uniqueCallback);\n return () => {\n hookCallbacks.delete(uniqueCallback);\n };\n }\n /**\n * Emit a hook that was previously registered via `on()`.\n */\n emit(hook, ...rest) {\n const callbacks = this._hooks[hook];\n if (callbacks) {\n callbacks.forEach((callback) => callback(...rest));\n }\n }\n /**\n * Send an envelope to Sentry.\n */\n // @ts-expect-error - PromiseLike is a subset of Promise\n async sendEnvelope(envelope) {\n this.emit(\"beforeEnvelope\", envelope);\n if (this._isEnabled() && this._transport) {\n try {\n return await this._transport.send(envelope);\n } catch (reason) {\n DEBUG_BUILD && debug.error(\"Error while sending envelope:\", reason);\n return {};\n }\n }\n DEBUG_BUILD && debug.error(\"Transport disabled\");\n return {};\n }\n /**\n * Register a cleanup function to be called when the client is disposed.\n * This is useful for integrations that need to clean up global state.\n *\n * NOTE: This is a no-op in the base `Client` class. Subclasses like `ServerRuntimeClient`\n * override this method to actually register and execute cleanup callbacks.\n */\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n registerCleanup(callback) {\n }\n /**\n * Disposes of the client and releases all resources.\n *\n * Subclasses should override this method to clean up their own resources, including invoking\n * any callbacks registered via {@link Client.registerCleanup}. The base implementation is a\n * no-op and does NOT execute registered cleanup callbacks.\n *\n * After calling dispose(), the client should not be used anymore.\n */\n dispose() {\n }\n /* eslint-enable @typescript-eslint/unified-signatures */\n /** Setup integrations for this client. */\n _setupIntegrations() {\n const { integrations } = this._options;\n this._integrations = setupIntegrations(this, integrations);\n afterSetupIntegrations(this, integrations);\n }\n /** Updates existing session based on the provided event */\n _updateSessionFromEvent(session, event) {\n let crashed = event.level === \"fatal\";\n let errored = false;\n const exceptions = event.exception?.values;\n if (exceptions) {\n errored = true;\n crashed = false;\n for (const ex of exceptions) {\n if (ex.mechanism?.handled === false) {\n crashed = true;\n break;\n }\n }\n }\n const sessionNonTerminal = session.status === \"ok\";\n const shouldUpdateAndSend = sessionNonTerminal && session.errors === 0 || sessionNonTerminal && crashed;\n if (shouldUpdateAndSend) {\n updateSession(session, {\n ...crashed && { status: \"crashed\" },\n errors: session.errors || Number(errored || crashed)\n });\n this.captureSession(session);\n }\n }\n /**\n * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n *\n * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n * `true`.\n * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n * `false` otherwise\n */\n async _isClientDoneProcessing(timeout) {\n let ticked = 0;\n while (!timeout || ticked < timeout) {\n await new Promise((resolve) => setTimeout(resolve, 1));\n if (!this._numProcessing) {\n return true;\n }\n ticked++;\n }\n return false;\n }\n /** Determines whether this SDK is enabled and a transport is present. */\n _isEnabled() {\n return this.getOptions().enabled !== false && this._transport !== void 0;\n }\n /**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A new event with more information.\n */\n _prepareEvent(event, hint, currentScope, isolationScope) {\n const options = this.getOptions();\n const integrations = this.getIntegrationNames();\n if (!hint.integrations && integrations.length) {\n hint.integrations = integrations;\n }\n this.emit(\"preprocessEvent\", event, hint);\n if (!event.type) {\n isolationScope.setLastEventId(event.event_id || hint.event_id);\n }\n return prepareEvent(options, event, hint, currentScope, this, isolationScope).then((evt) => {\n if (evt === null) {\n return evt;\n }\n this.emit(\"postprocessEvent\", evt, hint);\n evt.contexts = {\n trace: { ...evt.contexts?.trace, ...getTraceContextFromScope(currentScope) },\n ...evt.contexts\n };\n const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n evt.sdkProcessingMetadata = {\n dynamicSamplingContext,\n ...evt.sdkProcessingMetadata\n };\n return evt;\n });\n }\n /**\n * Processes the event and logs an error in case of rejection\n * @param event\n * @param hint\n * @param scope\n */\n _captureEvent(event, hint = {}, currentScope = getCurrentScope(), isolationScope = getIsolationScope()) {\n if (DEBUG_BUILD && isErrorEvent(event)) {\n debug.log(`Captured error event \\`${getPossibleEventMessages(event)[0] || \"\"}\\``);\n }\n return this._processEvent(event, hint, currentScope, isolationScope).then(\n (finalEvent) => {\n return finalEvent.event_id;\n },\n (reason) => {\n if (DEBUG_BUILD) {\n if (_isDoNotSendEventError(reason)) {\n debug.log(reason.message);\n } else if (_isInternalError(reason)) {\n debug.warn(reason.message);\n } else {\n debug.warn(reason);\n }\n }\n return void 0;\n }\n );\n }\n /**\n * Processes an event (either error or message) and sends it to Sentry.\n *\n * This also adds breadcrumbs and context information to the event. However,\n * platform specific meta data (such as the User's IP address) must be added\n * by the SDK implementor.\n *\n *\n * @param event The event to send to Sentry.\n * @param hint May contain additional information about the original exception.\n * @param currentScope A scope containing event metadata.\n * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n */\n _processEvent(event, hint, currentScope, isolationScope) {\n const options = this.getOptions();\n const { sampleRate } = options;\n const isTransaction = isTransactionEvent(event);\n const isError = isErrorEvent(event);\n const eventType = event.type || \"error\";\n const beforeSendLabel = `before send for type \\`${eventType}\\``;\n const parsedSampleRate = typeof sampleRate === \"undefined\" ? void 0 : parseSampleRate(sampleRate);\n const dataCategory = getDataCategoryByType(event.type);\n return this._prepareEvent(event, hint, currentScope, isolationScope).then((prepared) => {\n if (prepared === null) {\n this.recordDroppedEvent(\"event_processor\", dataCategory);\n throw _makeDoNotSendEventError(\"An event processor returned `null`, will not send event.\");\n }\n if (isInternalException(hint)) {\n return prepared;\n }\n const result = processBeforeSend(this, options, prepared, hint);\n return _validateBeforeSendResult(result, beforeSendLabel);\n }).then((processedEvent) => {\n if (processedEvent === null) {\n this.recordDroppedEvent(\"before_send\", dataCategory);\n if (isTransaction) {\n const spans = event.spans || [];\n const spanCount = 1 + spans.length;\n this.recordDroppedEvent(\"before_send\", \"span\", spanCount);\n }\n throw _makeDoNotSendEventError(`${beforeSendLabel} returned \\`null\\`, will not send event.`);\n }\n const session = currentScope.getSession() || isolationScope.getSession();\n if (isError && session) {\n this._updateSessionFromEvent(session, processedEvent);\n }\n if (isError && typeof parsedSampleRate === \"number\" && safeMathRandom() > parsedSampleRate) {\n this.recordDroppedEvent(\"sample_rate\", \"error\");\n throw _makeDoNotSendEventError(\n `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`\n );\n }\n if (isTransaction) {\n const spanCountBefore = processedEvent.sdkProcessingMetadata?.spanCountBeforeProcessing || 0;\n const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n const droppedSpanCount = spanCountBefore - spanCountAfter;\n if (droppedSpanCount > 0) {\n this.recordDroppedEvent(\"before_send\", \"span\", droppedSpanCount);\n }\n }\n const transactionInfo = processedEvent.transaction_info;\n if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n const source = \"custom\";\n processedEvent.transaction_info = {\n ...transactionInfo,\n source\n };\n }\n this.sendEvent(processedEvent, hint);\n return processedEvent;\n }).then(null, (reason) => {\n if (_isDoNotSendEventError(reason) || _isInternalError(reason)) {\n throw reason;\n }\n this.captureException(reason, {\n mechanism: {\n handled: false,\n type: \"internal\"\n },\n data: {\n __sentry__: true\n },\n originalException: reason\n });\n throw _makeInternalError(\n `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\nReason: ${reason}`\n );\n });\n }\n /**\n * Occupies the client with processing and event\n */\n _process(taskProducer, dataCategory) {\n this._numProcessing++;\n void this._promiseBuffer.add(taskProducer).then(\n (value) => {\n this._numProcessing--;\n return value;\n },\n (reason) => {\n this._numProcessing--;\n if (reason === SENTRY_BUFFER_FULL_ERROR) {\n this.recordDroppedEvent(\"queue_overflow\", dataCategory);\n }\n return reason;\n }\n );\n }\n /**\n * Clears outcomes on this client and returns them.\n */\n _clearOutcomes() {\n const outcomes = this._outcomes;\n this._outcomes = {};\n return Object.entries(outcomes).map(([key, quantity]) => {\n const [reason, category] = key.split(\":\");\n return {\n reason,\n category,\n quantity\n };\n });\n }\n /**\n * Sends client reports as an envelope.\n */\n _flushOutcomes() {\n DEBUG_BUILD && debug.log(\"Flushing outcomes...\");\n const outcomes = this._clearOutcomes();\n if (outcomes.length === 0) {\n DEBUG_BUILD && debug.log(\"No outcomes to send\");\n return;\n }\n if (!this._dsn) {\n DEBUG_BUILD && debug.log(\"No dsn provided, will not send outcomes\");\n return;\n }\n DEBUG_BUILD && debug.log(\"Sending outcomes:\", outcomes);\n const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n this.sendEnvelope(envelope);\n }\n}\nfunction getDataCategoryByType(type) {\n return type === \"replay_event\" ? \"replay\" : type || \"error\";\n}\nfunction _validateBeforeSendResult(beforeSendResult, beforeSendLabel) {\n const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n if (isThenable(beforeSendResult)) {\n return beforeSendResult.then(\n (event) => {\n if (!isPlainObject(event) && event !== null) {\n throw _makeInternalError(invalidValueError);\n }\n return event;\n },\n (e) => {\n throw _makeInternalError(`${beforeSendLabel} rejected with ${e}`);\n }\n );\n } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n throw _makeInternalError(invalidValueError);\n }\n return beforeSendResult;\n}\nfunction processBeforeSend(client, options, event, hint) {\n const { beforeSend, beforeSendTransaction, ignoreSpans } = options;\n const beforeSendSpan = !isStreamedBeforeSendSpanCallback(options.beforeSendSpan) && options.beforeSendSpan;\n let processedEvent = event;\n if (isErrorEvent(processedEvent) && beforeSend) {\n return beforeSend(processedEvent, hint);\n }\n if (isTransactionEvent(processedEvent)) {\n if (beforeSendSpan || ignoreSpans) {\n const rootSpanJson = convertTransactionEventToSpanJson(processedEvent);\n if (ignoreSpans?.length && shouldIgnoreSpan(\n { description: rootSpanJson.description, op: rootSpanJson.op, attributes: rootSpanJson.data },\n ignoreSpans\n )) {\n return null;\n }\n if (beforeSendSpan) {\n const processedRootSpanJson = beforeSendSpan(rootSpanJson);\n if (!processedRootSpanJson) {\n showSpanDropWarning();\n } else {\n processedEvent = merge(event, convertSpanJsonToTransactionEvent(processedRootSpanJson));\n }\n }\n if (processedEvent.spans) {\n const processedSpans = [];\n const initialSpans = processedEvent.spans;\n for (const span of initialSpans) {\n if (ignoreSpans?.length && shouldIgnoreSpan({ description: span.description, op: span.op, attributes: span.data }, ignoreSpans)) {\n reparentChildSpans(initialSpans, span);\n continue;\n }\n if (beforeSendSpan) {\n const processedSpan = beforeSendSpan(span);\n if (!processedSpan) {\n showSpanDropWarning();\n processedSpans.push(span);\n } else {\n processedSpans.push(processedSpan);\n }\n } else {\n processedSpans.push(span);\n }\n }\n const droppedSpans = processedEvent.spans.length - processedSpans.length;\n if (droppedSpans) {\n client.recordDroppedEvent(\"before_send\", \"span\", droppedSpans);\n }\n processedEvent.spans = processedSpans;\n }\n }\n if (beforeSendTransaction) {\n if (processedEvent.spans) {\n const spanCountBefore = processedEvent.spans.length;\n processedEvent.sdkProcessingMetadata = {\n ...event.sdkProcessingMetadata,\n spanCountBeforeProcessing: spanCountBefore\n };\n }\n return beforeSendTransaction(processedEvent, hint);\n }\n }\n return processedEvent;\n}\nfunction isErrorEvent(event) {\n return event.type === void 0;\n}\nfunction isTransactionEvent(event) {\n return event.type === \"transaction\";\n}\nfunction estimateMetricSizeInBytes(metric) {\n let weight = 0;\n if (metric.name) {\n weight += metric.name.length * 2;\n }\n weight += 8;\n return weight + estimateAttributesSizeInBytes(metric.attributes);\n}\nfunction estimateLogSizeInBytes(log) {\n let weight = 0;\n if (log.message) {\n weight += log.message.length * 2;\n }\n return weight + estimateAttributesSizeInBytes(log.attributes);\n}\nfunction estimateAttributesSizeInBytes(attributes) {\n if (!attributes) {\n return 0;\n }\n let weight = 0;\n Object.values(attributes).forEach((value) => {\n if (Array.isArray(value)) {\n weight += value.length * estimatePrimitiveSizeInBytes(value[0]);\n } else if (isPrimitive(value)) {\n weight += estimatePrimitiveSizeInBytes(value);\n } else {\n weight += 100;\n }\n });\n return weight;\n}\nfunction estimatePrimitiveSizeInBytes(value) {\n if (typeof value === \"string\") {\n return value.length * 2;\n } else if (typeof value === \"number\") {\n return 8;\n } else if (typeof value === \"boolean\") {\n return 4;\n }\n return 0;\n}\n\nexport { Client };\n//# sourceMappingURL=client.js.map\n","import { getCurrentScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug, consoleSandbox } from './utils/debug-logger.js';\n\nfunction initAndBind(clientClass, options) {\n if (options.debug === true) {\n if (DEBUG_BUILD) {\n debug.enable();\n } else {\n consoleSandbox(() => {\n console.warn(\"[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.\");\n });\n }\n }\n const scope = getCurrentScope();\n scope.update(options.initialScope);\n const client = new clientClass(options);\n setCurrentClient(client);\n client.init();\n return client;\n}\nfunction setCurrentClient(client) {\n getCurrentScope().setClient(client);\n}\n\nexport { initAndBind, setCurrentClient };\n//# sourceMappingURL=sdk.js.map\n","import { FILTERED_VALUE, SENSITIVE_KEY_SNIPPETS } from './filtering-snippets.js';\n\nfunction isSensitiveKey(lower, denySnippets) {\n return denySnippets.some((snippet) => lower.includes(snippet));\n}\nfunction shouldFilterDataKey(key, behavior, additionalDenyTerms) {\n if (behavior === false) {\n return true;\n }\n const lowerKey = key.toLowerCase();\n const denySnippets = additionalDenyTerms != null ? [...SENSITIVE_KEY_SNIPPETS, ...additionalDenyTerms] : SENSITIVE_KEY_SNIPPETS;\n if (isSensitiveKey(lowerKey, denySnippets)) {\n return true;\n }\n if (behavior === true) {\n return false;\n }\n const terms = \"deny\" in behavior ? behavior.deny : behavior.allow;\n const matchesConfiguredTerm = terms.some((term) => lowerKey.includes(term.toLowerCase()));\n return \"deny\" in behavior ? matchesConfiguredTerm : !matchesConfiguredTerm;\n}\nfunction filterKeyValueData(data, behavior, additionalDenyTerms) {\n if (behavior === false) {\n return {};\n }\n const result = {};\n for (const key of Object.keys(data)) {\n result[key] = shouldFilterDataKey(key, behavior, additionalDenyTerms) ? FILTERED_VALUE : data[key];\n }\n return result;\n}\n\nexport { filterKeyValueData, shouldFilterDataKey };\n//# sourceMappingURL=filterKeyValueData.js.map\n","import { FILTERED_VALUE } from './filtering-snippets.js';\nimport { shouldFilterDataKey } from './filterKeyValueData.js';\n\nfunction filterQueryParams(queryString, behavior) {\n if (!queryString || behavior === false) {\n return void 0;\n }\n return queryString.split(\"&\").map((pair) => {\n const separatorIndex = pair.indexOf(\"=\");\n const encodedKey = separatorIndex === -1 ? pair : pair.slice(0, separatorIndex);\n const key = new URLSearchParams(`${encodedKey}=`).keys().next().value;\n return key !== void 0 && shouldFilterDataKey(key, behavior) ? `${encodedKey}=${FILTERED_VALUE}` : pair;\n }).join(\"&\");\n}\n\nexport { filterQueryParams };\n//# sourceMappingURL=filterQueryParams.js.map\n","import { filterQueryParams } from './filterQueryParams.js';\n\nfunction filterUrlQuery(url, behavior) {\n const fragmentStart = url.indexOf(\"#\");\n const queryEnd = fragmentStart === -1 ? url.length : fragmentStart;\n const queryStart = url.indexOf(\"?\");\n if (queryStart === -1 || queryStart > queryEnd) {\n return url;\n }\n const prefix = url.slice(0, queryStart);\n const query = url.slice(queryStart + 1, queryEnd);\n const suffix = url.slice(queryEnd);\n const filtered = filterQueryParams(query, behavior);\n return filtered ? `${prefix}?${filtered}${suffix}` : `${prefix}${suffix}`;\n}\n\nexport { filterUrlQuery };\n//# sourceMappingURL=filterUrlQuery.js.map\n","import { getClient } from '../../currentScopes.js';\nimport { filterQueryParams } from './filterQueryParams.js';\nimport { filterUrlQuery } from './filterUrlQuery.js';\n\nfunction urlQueryParamsBehavior(client) {\n return (client ?? getClient())?.getDataCollectionOptions().urlQueryParams ?? true;\n}\nfunction filterCollectedUrl(url, client) {\n return url === void 0 ? void 0 : filterUrlQuery(url, urlQueryParamsBehavior(client));\n}\nfunction filterCollectedUrlQuery(query, client) {\n if (!query) {\n return query;\n }\n const hasPrefix = query.startsWith(\"?\");\n const filtered = filterQueryParams(hasPrefix ? query.slice(1) : query, urlQueryParamsBehavior(client));\n return filtered && hasPrefix ? `?${filtered}` : filtered;\n}\n\nexport { filterCollectedUrl, filterCollectedUrlQuery };\n//# sourceMappingURL=filterCollectedUrl.js.map\n","import { URL_FULL } from '@sentry/conventions/attributes';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes.js';\nimport { filterCollectedUrlQuery, filterCollectedUrl } from './data-collection/filterCollectedUrl.js';\n\nconst DEFAULT_BASE_URL = \"thismessage:/\";\nfunction isURLObjectRelative(url) {\n return \"isRelative\" in url;\n}\nfunction parseStringToURLObject(url, urlBase) {\n const isRelative = url.indexOf(\"://\") <= 0 && url.indexOf(\"//\") !== 0;\n const base = urlBase ?? (isRelative ? DEFAULT_BASE_URL : void 0);\n try {\n if (\"canParse\" in URL && !URL.canParse(url, base)) {\n return void 0;\n }\n const fullUrlObject = new URL(url, base);\n if (isRelative) {\n return {\n isRelative,\n pathname: fullUrlObject.pathname,\n search: fullUrlObject.search,\n hash: fullUrlObject.hash\n };\n }\n return fullUrlObject;\n } catch {\n }\n return void 0;\n}\nfunction getSanitizedUrlStringFromUrlObject(url) {\n if (isURLObjectRelative(url)) {\n return url.pathname;\n }\n const newUrl = new URL(url);\n newUrl.search = \"\";\n newUrl.hash = \"\";\n if ([\"80\", \"443\"].includes(newUrl.port)) {\n newUrl.port = \"\";\n }\n if (newUrl.password) {\n newUrl.password = \"%filtered%\";\n }\n if (newUrl.username) {\n newUrl.username = \"%filtered%\";\n }\n return newUrl.toString();\n}\nfunction getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName) {\n const method = request?.method?.toUpperCase() ?? \"GET\";\n const route = routeName ? routeName : urlObject ? kind === \"client\" ? getSanitizedUrlStringFromUrlObject(urlObject) : urlObject.pathname : \"/\";\n return `${method} ${route}`;\n}\nfunction getHttpSpanDetailsFromUrlObject(urlObject, kind, spanOrigin, request, routeName, client) {\n const attributes = {\n [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: \"url\"\n };\n if (routeName) {\n attributes[kind === \"server\" ? \"http.route\" : \"url.template\"] = routeName;\n attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = \"route\";\n }\n if (request?.method) {\n attributes[SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD] = request.method.toUpperCase();\n }\n if (urlObject) {\n if (urlObject.search) {\n attributes[\"url.query\"] = filterCollectedUrlQuery(urlObject.search, client);\n }\n if (urlObject.hash) {\n attributes[\"url.fragment\"] = urlObject.hash;\n }\n if (urlObject.pathname) {\n attributes[\"url.path\"] = urlObject.pathname;\n if (urlObject.pathname === \"/\") {\n attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = \"route\";\n }\n }\n if (!isURLObjectRelative(urlObject)) {\n attributes[URL_FULL] = filterCollectedUrl(urlObject.href, client);\n if (urlObject.port) {\n attributes[\"url.port\"] = urlObject.port;\n }\n if (urlObject.protocol) {\n attributes[\"url.scheme\"] = urlObject.protocol;\n }\n if (urlObject.hostname) {\n attributes[kind === \"server\" ? \"server.address\" : \"url.domain\"] = urlObject.hostname;\n }\n }\n }\n return [getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName), attributes];\n}\nfunction parseUrl(url) {\n if (!url) {\n return {};\n }\n const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n const query = match[6] || \"\";\n const fragment = match[8] || \"\";\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n search: query,\n hash: fragment,\n relative: match[5] + query + fragment\n // everything minus origin\n };\n}\nfunction stripUrlQueryAndFragment(urlPath) {\n return urlPath.split(/[?#]/, 1)[0];\n}\nfunction getSanitizedUrlString(url) {\n const { protocol, host, path } = url;\n const filteredHost = host?.replace(/^.*@/, \"[filtered]:[filtered]@\").replace(/(:80)$/, \"\").replace(/(:443)$/, \"\") || \"\";\n return `${protocol ? `${protocol}://` : \"\"}${filteredHost}${path}`;\n}\nfunction stripDataUrlContent(url, includeDataPrefix = true) {\n if (url.startsWith(\"data:\")) {\n const match = url.match(/^data:([^;,]+)/);\n const mimeType = match ? match[1] : \"text/plain\";\n const isBase64 = url.includes(\";base64,\");\n const dataStart = url.indexOf(\",\");\n let dataPrefix = \"\";\n if (includeDataPrefix && dataStart !== -1) {\n const data = url.slice(dataStart + 1);\n dataPrefix = data.length > 10 ? `${data.slice(0, 10)}... [truncated]` : data;\n }\n return `data:${mimeType}${isBase64 ? \",base64\" : \"\"}${dataPrefix ? `,${dataPrefix}` : \"\"}`;\n }\n return url;\n}\n\nexport { getHttpSpanDetailsFromUrlObject, getSanitizedUrlString, getSanitizedUrlStringFromUrlObject, isURLObjectRelative, parseStringToURLObject, parseUrl, stripDataUrlContent, stripUrlQueryAndFragment };\n//# sourceMappingURL=url.js.map\n","function addAutoIpAddressToUser(objWithMaybeUser) {\n if (objWithMaybeUser.user?.ip_address === void 0) {\n objWithMaybeUser.user = {\n ...objWithMaybeUser.user,\n ip_address: \"{{auto}}\"\n };\n }\n}\nfunction addAutoIpAddressToSession(session) {\n if (\"aggregates\" in session) {\n if (session.attrs?.[\"ip_address\"] === void 0) {\n session.attrs = {\n ...session.attrs,\n ip_address: \"{{auto}}\"\n };\n }\n } else {\n if (session.ipAddress === void 0) {\n session.ipAddress = \"{{auto}}\";\n }\n }\n}\n\nexport { addAutoIpAddressToSession, addAutoIpAddressToUser };\n//# sourceMappingURL=ipAddress.js.map\n","import { SDK_VERSION } from './version.js';\n\nfunction applySdkMetadata(options, name, names = [name], source = \"npm\") {\n const sdk = (options._metadata = options._metadata || {}).sdk = options._metadata.sdk || {};\n if (!sdk.name) {\n sdk.name = `sentry.javascript.${name}`;\n sdk.packages = names.map((name2) => ({\n name: `${source}:@sentry/${name2}`,\n version: SDK_VERSION\n }));\n sdk.version = SDK_VERSION;\n }\n}\n\nexport { applySdkMetadata };\n//# sourceMappingURL=sdkMetadata.js.map\n","import { getClient, getIsolationScope } from './currentScopes.js';\nimport { consoleSandbox } from './utils/debug-logger.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\nconst DEFAULT_BREADCRUMBS = 100;\nfunction addBreadcrumb(breadcrumb, hint) {\n const client = getClient();\n const isolationScope = getIsolationScope();\n if (!client) return;\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n if (maxBreadcrumbs <= 0) return;\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb ? consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) : mergedBreadcrumb;\n if (finalBreadcrumb === null) return;\n if (client.emit) {\n client.emit(\"beforeAddBreadcrumb\", finalBreadcrumb, hint);\n }\n isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n\nexport { addBreadcrumb };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { getClient } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { getOriginalFunction } from '../utils/object.js';\n\nconst INTEGRATION_NAME = \"FunctionToString\";\nconst SETUP_CLIENTS = /* @__PURE__ */ new WeakMap();\nconst _functionToStringIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n const originalFunctionToString = Function.prototype.toString;\n try {\n Function.prototype.toString = function(...args) {\n const originalFunction = getOriginalFunction(this);\n let unwrappedFunction;\n try {\n if (SETUP_CLIENTS.has(getClient()) && originalFunction !== void 0) {\n unwrappedFunction = originalFunction;\n }\n } catch {\n }\n return originalFunctionToString.apply(unwrappedFunction ?? this, args);\n };\n } catch {\n }\n },\n setup(client) {\n SETUP_CLIENTS.set(client, true);\n }\n };\n});\nconst functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n\nexport { functionToStringIntegration };\n//# sourceMappingURL=functiontostring.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getPossibleEventMessages } from '../utils/eventUtils.js';\nimport { getEventDescription } from '../utils/misc.js';\nimport { stringMatchesSomePattern } from '../utils/string.js';\n\nconst DEFAULT_IGNORE_ERRORS = [\n /^Script error\\.?$/,\n /^Javascript error: Script error\\.? on line 0$/,\n /^ResizeObserver loop completed with undelivered notifications.$/,\n // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n /^Cannot redefine property: googletag$/,\n // This is thrown when google tag manager is used in combination with an ad blocker\n /^Can't find variable: gmo$/,\n // Error from Google Search App https://issuetracker.google.com/issues/396043331\n /^undefined is not an object \\(evaluating 'a\\.[A-Z]'\\)$/,\n // Random error that happens but not actionable or noticeable to end-users.\n /can't redefine non-configurable property \"solana\"/,\n // Probably a browser extension or custom browser (Brave) throwing this error\n /vv\\(\\)\\.getRestrictions is not a function/,\n // Error thrown by GTM, seemingly not affecting end-users\n /Can't find variable: _AutofillCallbackHandler/,\n // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n /Object Not Found Matching Id:\\d+, MethodName:simulateEvent/,\n // unactionable error from CEFSharp, a .NET library that embeds chromium in .NET apps\n /Java exception was raised during method invocation$/,\n // error from Facebook Mobile browser (https://github.com/getsentry/sentry-javascript/issues/15065, https://github.com/getsentry/sentry-javascript/issues/23733)\n /Java object is gone$/\n // error from Facebook Mobile browser (https://github.com/getsentry/sentry-javascript/issues/15065, https://github.com/getsentry/sentry-javascript/issues/23733)\n];\nconst INTEGRATION_NAME = \"EventFilters\";\nconst eventFiltersIntegration = defineIntegration((options = {}) => {\n let mergedOptions;\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n const clientOptions = client.getOptions();\n mergedOptions = _mergeOptions(options, clientOptions);\n },\n processEvent(event, _hint, client) {\n if (!mergedOptions) {\n const clientOptions = client.getOptions();\n mergedOptions = _mergeOptions(options, clientOptions);\n }\n return _shouldDropEvent(event, mergedOptions) ? null : event;\n }\n };\n});\nconst inboundFiltersIntegration = defineIntegration(((options = {}) => {\n return {\n ...eventFiltersIntegration(options),\n name: \"InboundFilters\"\n };\n}));\nfunction _mergeOptions(internalOptions = {}, clientOptions = {}) {\n return {\n allowUrls: [...internalOptions.allowUrls || [], ...clientOptions.allowUrls || []],\n denyUrls: [...internalOptions.denyUrls || [], ...clientOptions.denyUrls || []],\n ignoreErrors: [\n ...internalOptions.ignoreErrors || [],\n ...clientOptions.ignoreErrors || [],\n ...internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS\n ],\n ignoreTransactions: [...internalOptions.ignoreTransactions || [], ...clientOptions.ignoreTransactions || []]\n };\n}\nfunction _shouldDropEvent(event, options) {\n if (!event.type) {\n if (_isIgnoredError(event, options.ignoreErrors)) {\n DEBUG_BUILD && debug.warn(\n `Event dropped due to being matched by \\`ignoreErrors\\` option.\nEvent: ${getEventDescription(event)}`\n );\n return true;\n }\n if (_isUselessError(event)) {\n DEBUG_BUILD && debug.warn(\n `Event dropped due to not having an error message, error type or stacktrace.\nEvent: ${getEventDescription(\n event\n )}`\n );\n return true;\n }\n if (_isDeniedUrl(event, options.denyUrls)) {\n DEBUG_BUILD && debug.warn(\n `Event dropped due to being matched by \\`denyUrls\\` option.\nEvent: ${getEventDescription(\n event\n )}.\nUrl: ${_getEventFilterUrl(event)}`\n );\n return true;\n }\n if (!_isAllowedUrl(event, options.allowUrls)) {\n DEBUG_BUILD && debug.warn(\n `Event dropped due to not being matched by \\`allowUrls\\` option.\nEvent: ${getEventDescription(\n event\n )}.\nUrl: ${_getEventFilterUrl(event)}`\n );\n return true;\n }\n } else if (event.type === \"transaction\") {\n if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n DEBUG_BUILD && debug.warn(\n `Event dropped due to being matched by \\`ignoreTransactions\\` option.\nEvent: ${getEventDescription(event)}`\n );\n return true;\n }\n }\n return false;\n}\nfunction _isIgnoredError(event, ignoreErrors) {\n if (!ignoreErrors?.length) {\n return false;\n }\n return getPossibleEventMessages(event).some((message) => stringMatchesSomePattern(message, ignoreErrors));\n}\nfunction _isIgnoredTransaction(event, ignoreTransactions) {\n if (!ignoreTransactions?.length) {\n return false;\n }\n const name = event.transaction;\n return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\nfunction _isDeniedUrl(event, denyUrls) {\n if (!denyUrls?.length) {\n return false;\n }\n const url = _getEventFilterUrl(event);\n return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\nfunction _isAllowedUrl(event, allowUrls) {\n if (!allowUrls?.length) {\n return true;\n }\n const url = _getEventFilterUrl(event);\n return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\nfunction _getLastValidUrl(frames = []) {\n for (let i = frames.length - 1; i >= 0; i--) {\n const frame = frames[i];\n if (frame && frame.filename !== \"\" && frame.filename !== \"[native code]\") {\n return frame.filename || null;\n }\n }\n return null;\n}\nfunction _getEventFilterUrl(event) {\n try {\n const rootException = [...event.exception?.values ?? []].reverse().find((value) => value.mechanism?.parent_id === void 0 && value.stacktrace?.frames?.length);\n const frames = rootException?.stacktrace?.frames;\n return frames ? _getLastValidUrl(frames) : null;\n } catch {\n DEBUG_BUILD && debug.error(`Cannot extract url for event ${getEventDescription(event)}`);\n return null;\n }\n}\nfunction _isUselessError(event) {\n if (!event.exception?.values?.length) {\n return false;\n }\n return (\n // No top-level message\n !event.message && // There are no exception values that have a stacktrace, a non-generic-Error type or value\n !event.exception.values.some((value) => value.stacktrace || value.type && value.type !== \"Error\" || value.value)\n );\n}\n\nexport { eventFiltersIntegration, inboundFiltersIntegration };\n//# sourceMappingURL=eventFilters.js.map\n","import { isError } from './is.js';\n\nfunction applyAggregateErrorsToEvent(exceptionFromErrorImplementation, parser, key, limit, event, hint) {\n if (!event.exception?.values || !hint || !isError(hint.originalException)) {\n return;\n }\n const originalException = event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : void 0;\n if (originalException) {\n event.exception.values = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n hint.originalException,\n key,\n event.exception.values,\n originalException,\n 0\n );\n }\n}\nfunction aggregateExceptionsFromError(exceptionFromErrorImplementation, parser, limit, error, key, prevExceptions, exception, exceptionId) {\n if (prevExceptions.length >= limit + 1) {\n return prevExceptions;\n }\n let newExceptions = [...prevExceptions];\n if (isError(error[key])) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n const newException = exceptionFromErrorImplementation(parser, error[key]);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n error[key],\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId\n );\n }\n if (isExceptionGroup(error)) {\n error.errors.forEach((childError, i) => {\n if (isError(childError)) {\n applyExceptionGroupFieldsForParentException(exception, exceptionId, error);\n const newException = exceptionFromErrorImplementation(parser, childError);\n const newExceptionId = newExceptions.length;\n applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n newExceptions = aggregateExceptionsFromError(\n exceptionFromErrorImplementation,\n parser,\n limit,\n childError,\n key,\n [newException, ...newExceptions],\n newException,\n newExceptionId\n );\n }\n });\n }\n return newExceptions;\n}\nfunction isExceptionGroup(error) {\n return Array.isArray(error.errors);\n}\nfunction applyExceptionGroupFieldsForParentException(exception, exceptionId, error) {\n exception.mechanism = {\n handled: true,\n type: \"auto.core.linked_errors\",\n ...isExceptionGroup(error) && { is_exception_group: true },\n ...exception.mechanism,\n exception_id: exceptionId\n };\n}\nfunction applyExceptionGroupFieldsForChildException(exception, source, exceptionId, parentId) {\n exception.mechanism = {\n handled: true,\n ...exception.mechanism,\n type: \"chained\",\n source,\n exception_id: exceptionId,\n parent_id: parentId\n };\n}\n\nexport { applyAggregateErrorsToEvent };\n//# sourceMappingURL=aggregate-errors.js.map\n","import { isParameterizedString, isError, isPlainObject, isErrorEvent } from './is.js';\nimport { addExceptionMechanism, addExceptionTypeValue } from './misc.js';\nimport { normalizeToSize } from './normalize.js';\nimport { extractExceptionKeysForMessage } from './object.js';\n\nfunction parseStackFrames(stackParser, error) {\n return stackParser(error.stack || \"\", 1);\n}\nfunction hasSentryFetchUrlHost(error) {\n return isError(error) && \"__sentry_fetch_url_host__\" in error && typeof error.__sentry_fetch_url_host__ === \"string\";\n}\nfunction _enhanceErrorWithSentryInfo(error) {\n if (hasSentryFetchUrlHost(error)) {\n return `${error.message} (${error.__sentry_fetch_url_host__})`;\n }\n return error.message;\n}\nfunction exceptionFromError(stackParser, error) {\n const exception = {\n type: error.name || error.constructor.name,\n value: _enhanceErrorWithSentryInfo(error)\n };\n const frames = parseStackFrames(stackParser, error);\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n return exception;\n}\nfunction getErrorPropertyFromObject(obj) {\n for (const prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n const value = obj[prop];\n if (isError(value)) {\n return value;\n }\n }\n }\n return void 0;\n}\nfunction getMessageForObject(exception) {\n if (\"name\" in exception && typeof exception.name === \"string\") {\n let message = `'${exception.name}' captured as exception`;\n if (\"message\" in exception && typeof exception.message === \"string\") {\n message += ` with message '${exception.message}'`;\n }\n return message;\n } else if (\"message\" in exception && typeof exception.message === \"string\") {\n return exception.message;\n }\n const keys = extractExceptionKeysForMessage(exception);\n if (isErrorEvent(exception)) {\n return `Event \\`ErrorEvent\\` captured as exception with message \\`${exception.message}\\``;\n }\n const className = getObjectClassName(exception);\n return `${className && className !== \"Object\" ? `'${className}'` : \"Object\"} captured as exception with keys: ${keys}`;\n}\nfunction getObjectClassName(obj) {\n try {\n const prototype = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : void 0;\n } catch {\n }\n}\nfunction getException(client, mechanism, exception, hint) {\n if (isError(exception)) {\n return [exception, void 0];\n }\n mechanism.synthetic = true;\n if (isPlainObject(exception)) {\n const normalizeDepth = client?.getOptions().normalizeDepth;\n const extras = { [\"__serialized__\"]: normalizeToSize(exception, normalizeDepth) };\n const errorFromProp = getErrorPropertyFromObject(exception);\n if (errorFromProp) {\n return [errorFromProp, extras];\n }\n const message = getMessageForObject(exception);\n const ex2 = hint?.syntheticException || new Error(message);\n ex2.message = message;\n return [ex2, extras];\n }\n const ex = hint?.syntheticException || new Error(exception);\n ex.message = `${exception}`;\n return [ex, void 0];\n}\nfunction eventFromUnknownInput(client, stackParser, exception, hint) {\n const providedMechanism = hint?.data && hint.data.mechanism;\n const mechanism = providedMechanism || {\n handled: true,\n type: \"generic\"\n };\n const [ex, extras] = getException(client, mechanism, exception, hint);\n const event = {\n exception: {\n values: [exceptionFromError(stackParser, ex)]\n }\n };\n if (extras) {\n event.extra = extras;\n }\n addExceptionTypeValue(event, void 0, void 0);\n addExceptionMechanism(event, mechanism);\n return {\n ...event,\n event_id: hint?.event_id\n };\n}\nfunction eventFromMessage(stackParser, message, level = \"info\", hint, attachStacktrace) {\n const event = {\n event_id: hint?.event_id,\n level\n };\n if (attachStacktrace && hint?.syntheticException) {\n const frames = parseStackFrames(stackParser, hint.syntheticException);\n if (frames.length) {\n event.exception = {\n values: [\n {\n value: message,\n stacktrace: { frames }\n }\n ]\n };\n addExceptionMechanism(event, { synthetic: true });\n }\n }\n if (isParameterizedString(message)) {\n const { __sentry_template_string__, __sentry_template_values__ } = message;\n event.logentry = {\n message: __sentry_template_string__,\n params: __sentry_template_values__\n };\n return event;\n }\n event.message = message;\n return event;\n}\n\nexport { _enhanceErrorWithSentryInfo, eventFromMessage, eventFromUnknownInput, exceptionFromError, parseStackFrames };\n//# sourceMappingURL=eventbuilder.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { CONSOLE_LEVELS, originalConsoleMethods, debug } from '../utils/debug-logger.js';\nimport { fill } from '../utils/object.js';\nimport { stringMatchesSomePattern } from '../utils/string.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nconst _filter = /* @__PURE__ */ new Set([]);\nfunction addConsoleInstrumentationHandler(handler) {\n const type = \"console\";\n const removeHandler = addHandler(type, handler);\n maybeInstrument(type, instrumentConsole);\n return removeHandler;\n}\nfunction addConsoleInstrumentationFilter(filter) {\n for (const f of filter) {\n _filter.add(f);\n }\n return () => {\n for (const f of filter) {\n _filter.delete(f);\n }\n };\n}\nconst instrumentedLevels = /* @__PURE__ */ new Set();\nfunction instrumentConsole() {\n if (!(\"console\" in GLOBAL_OBJ)) {\n return;\n }\n CONSOLE_LEVELS.forEach(function(level) {\n if (instrumentedLevels.has(level) || !(level in GLOBAL_OBJ.console)) {\n return;\n }\n instrumentedLevels.add(level);\n fill(GLOBAL_OBJ.console, level, function(originalConsoleMethod) {\n originalConsoleMethods[level] = originalConsoleMethod;\n return function(...args) {\n const firstArg = args[0];\n const log = originalConsoleMethods[level];\n const isFiltered = _filter.size && typeof firstArg === \"string\" && stringMatchesSomePattern(firstArg, _filter);\n if (!isFiltered) {\n triggerHandlers(\"console\", { args, level });\n }\n if (!isFiltered || DEBUG_BUILD && debug.isEnabled()) {\n log?.apply(GLOBAL_OBJ.console, args);\n }\n };\n });\n });\n}\n\nexport { addConsoleInstrumentationFilter, addConsoleInstrumentationHandler, instrumentConsole };\n//# sourceMappingURL=console.js.map\n","function severityLevelFromString(level) {\n return level === \"warn\" ? \"warning\" : [\"fatal\", \"error\", \"warning\", \"log\", \"info\", \"debug\"].includes(level) ? level : \"log\";\n}\n\nexport { severityLevelFromString };\n//# sourceMappingURL=severity.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFramesFromEvent } from '../utils/stacktrace.js';\n\nconst INTEGRATION_NAME = \"Dedupe\";\nconst _dedupeIntegration = (() => {\n let previousEvent;\n return {\n name: INTEGRATION_NAME,\n processEvent(currentEvent) {\n if (currentEvent.type) {\n return currentEvent;\n }\n try {\n if (_shouldDropEvent(currentEvent, previousEvent)) {\n DEBUG_BUILD && debug.warn(\"Event dropped due to being a duplicate of previously captured event.\");\n return null;\n }\n } catch {\n }\n return previousEvent = currentEvent;\n }\n };\n});\nconst dedupeIntegration = defineIntegration(_dedupeIntegration);\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n if (!previousEvent) {\n return false;\n }\n if (_isSameMessageEvent(currentEvent, previousEvent)) {\n return true;\n }\n if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n return true;\n }\n return false;\n}\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n const currentMessage = currentEvent.message;\n const previousMessage = previousEvent.message;\n if (!currentMessage && !previousMessage) {\n return false;\n }\n if (currentMessage && !previousMessage || !currentMessage && previousMessage) {\n return false;\n }\n if (currentMessage !== previousMessage) {\n return false;\n }\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n return true;\n}\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n const previousException = _getExceptionFromEvent(previousEvent);\n const currentException = _getExceptionFromEvent(currentEvent);\n if (!previousException || !currentException) {\n return false;\n }\n if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n return false;\n }\n if (!_isSameFingerprint(currentEvent, previousEvent)) {\n return false;\n }\n if (!_isSameStacktrace(currentEvent, previousEvent)) {\n return false;\n }\n return true;\n}\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n let currentFrames = getFramesFromEvent(currentEvent);\n let previousFrames = getFramesFromEvent(previousEvent);\n if (!currentFrames && !previousFrames) {\n return true;\n }\n if (currentFrames && !previousFrames || !currentFrames && previousFrames) {\n return false;\n }\n currentFrames = currentFrames;\n previousFrames = previousFrames;\n if (previousFrames.length !== currentFrames.length) {\n return false;\n }\n for (let i = 0; i < previousFrames.length; i++) {\n const frameA = previousFrames[i];\n const frameB = currentFrames[i];\n if (frameA.filename !== frameB.filename || frameA.lineno !== frameB.lineno || frameA.colno !== frameB.colno || frameA.function !== frameB.function) {\n return false;\n }\n }\n return true;\n}\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n let currentFingerprint = currentEvent.fingerprint;\n let previousFingerprint = previousEvent.fingerprint;\n if (!currentFingerprint && !previousFingerprint) {\n return true;\n }\n if (currentFingerprint && !previousFingerprint || !currentFingerprint && previousFingerprint) {\n return false;\n }\n currentFingerprint = currentFingerprint;\n previousFingerprint = previousFingerprint;\n try {\n return !!(currentFingerprint.join(\"\") === previousFingerprint.join(\"\"));\n } catch {\n return false;\n }\n}\nfunction _getExceptionFromEvent(event) {\n return event.exception?.values?.[0];\n}\n\nexport { _shouldDropEvent, dedupeIntegration };\n//# sourceMappingURL=dedupe.js.map\n","import { getCurrentScope, getIsolationScope } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { GEN_AI_CONVERSATION_ID_ATTRIBUTE } from '../semanticAttributes.js';\nimport { spanToJSON } from '../utils/spanUtils.js';\n\nconst INTEGRATION_NAME = \"ConversationId\";\nconst _conversationIdIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n client.on(\"spanStart\", (span) => {\n const scopeData = getCurrentScope().getScopeData();\n const isolationScopeData = getIsolationScope().getScopeData();\n const conversationId = scopeData.conversationId || isolationScopeData.conversationId;\n if (conversationId) {\n const { op, data: attributes, description: name } = spanToJSON(span);\n if (!op?.startsWith(\"gen_ai.\") && !attributes[\"ai.operationId\"] && !name?.startsWith(\"ai.\")) {\n return;\n }\n span.setAttribute(GEN_AI_CONVERSATION_ID_ATTRIBUTE, conversationId);\n }\n });\n }\n };\n});\nconst conversationIdIntegration = defineIntegration(_conversationIdIntegration);\n\nexport { conversationIdIntegration };\n//# sourceMappingURL=conversationId.js.map\n","function getBreadcrumbLogLevelFromHttpStatusCode(statusCode) {\n if (statusCode === void 0) {\n return void 0;\n } else if (statusCode >= 400 && statusCode < 500) {\n return \"warning\";\n } else if (statusCode >= 500) {\n return \"error\";\n } else {\n return void 0;\n }\n}\n\nexport { getBreadcrumbLogLevelFromHttpStatusCode };\n//# sourceMappingURL=breadcrumb-log-level.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ;\nfunction supportsErrorEvent() {\n try {\n new ErrorEvent(\"\");\n return true;\n } catch {\n return false;\n }\n}\nfunction supportsDOMError() {\n try {\n new DOMError(\"\");\n return true;\n } catch {\n return false;\n }\n}\nfunction supportsDOMException() {\n try {\n new DOMException(\"\");\n return true;\n } catch {\n return false;\n }\n}\nfunction supportsHistory() {\n return \"history\" in WINDOW && !!WINDOW.history;\n}\nconst supportsFetch = _isFetchSupported;\nfunction _isFetchSupported() {\n if (!(\"fetch\" in WINDOW)) {\n return false;\n }\n try {\n new Headers();\n new Request(\"data:,\");\n new Response();\n return true;\n } catch {\n return false;\n }\n}\nfunction isNativeFunction(func) {\n return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\nfunction supportsNativeFetch() {\n if (typeof EdgeRuntime === \"string\") {\n return true;\n }\n if (!_isFetchSupported()) {\n return false;\n }\n if (isNativeFunction(WINDOW.fetch)) {\n return true;\n }\n let result = false;\n const doc = WINDOW.document;\n if (doc && typeof doc.createElement === \"function\") {\n try {\n const sandbox = doc.createElement(\"iframe\");\n sandbox.hidden = true;\n doc.head.appendChild(sandbox);\n if (sandbox.contentWindow?.fetch) {\n result = isNativeFunction(sandbox.contentWindow.fetch);\n }\n doc.head.removeChild(sandbox);\n } catch (err) {\n DEBUG_BUILD && debug.warn(\"Could not create sandbox iframe for pure fetch check, bailing to window.fetch: \", err);\n }\n }\n return result;\n}\nfunction supportsReportingObserver() {\n return \"ReportingObserver\" in WINDOW;\n}\nfunction supportsReferrerPolicy() {\n if (!_isFetchSupported()) {\n return false;\n }\n try {\n new Request(\"_\", {\n referrerPolicy: \"origin\"\n });\n return true;\n } catch {\n return false;\n }\n}\n\nexport { isNativeFunction, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { getClient } from '../currentScopes.js';\nimport { isError, isRequest, isObjectLike } from '../utils/is.js';\nimport { fill, addNonEnumerableProperty } from '../utils/object.js';\nimport { supportsNativeFetch } from '../utils/supports.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nfunction addFetchInstrumentationHandler(handler, skipNativeFetchCheck) {\n const type = \"fetch\";\n const removeHandler = addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(void 0, skipNativeFetchCheck));\n return removeHandler;\n}\nfunction addFetchEndInstrumentationHandler(handler) {\n const type = \"fetch-body-resolved\";\n const removeHandler = addHandler(type, handler);\n maybeInstrument(type, () => instrumentFetch(streamHandler));\n return removeHandler;\n}\nfunction instrumentFetch(onFetchResolved, skipNativeFetchCheck = false) {\n if (skipNativeFetchCheck && !supportsNativeFetch()) {\n return;\n }\n fill(GLOBAL_OBJ, \"fetch\", function(originalFetch) {\n return function(...args) {\n const virtualError = new Error();\n const { method, url } = parseFetchArgs(args);\n const handlerData = {\n args,\n fetchData: {\n method,\n url\n },\n startTimestamp: timestampInSeconds() * 1e3,\n // // Adding the error to be able to fingerprint the failed fetch event in HttpClient instrumentation\n virtualError,\n headers: getHeadersFromFetchArgs(args)\n };\n if (!onFetchResolved) {\n triggerHandlers(\"fetch\", {\n ...handlerData\n });\n }\n return originalFetch.apply(GLOBAL_OBJ, args).then(\n async (response) => {\n if (onFetchResolved) {\n onFetchResolved(response);\n } else {\n triggerHandlers(\"fetch\", {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1e3,\n response\n });\n }\n return response;\n },\n (error) => {\n triggerHandlers(\"fetch\", {\n ...handlerData,\n endTimestamp: timestampInSeconds() * 1e3,\n error\n });\n if (isError(error) && error.stack === void 0) {\n error.stack = virtualError.stack;\n addNonEnumerableProperty(error, \"framesToPop\", 1);\n }\n const client = getClient();\n const enhanceOption = client?.getOptions().enhanceFetchErrorMessages ?? \"always\";\n const shouldEnhance = enhanceOption !== false;\n if (shouldEnhance && isError(error) && error.name === \"TypeError\" && (error.message === \"Failed to fetch\" || error.message === \"Load failed\" || error.message === \"NetworkError when attempting to fetch resource.\")) {\n try {\n const url2 = new URL(handlerData.fetchData.url);\n const hostname = url2.host;\n if (enhanceOption === \"always\") {\n error.message = `${error.message} (${hostname})`;\n } else {\n addNonEnumerableProperty(error, \"__sentry_fetch_url_host__\", hostname);\n }\n } catch {\n }\n }\n throw error;\n }\n );\n };\n });\n}\nasync function resolveResponse(res, onFinishedResolving) {\n if (res?.body) {\n const body = res.body;\n const responseReader = body.getReader();\n const maxFetchDurationTimeout = setTimeout(\n () => {\n body.cancel().then(null, () => {\n });\n },\n 90 * 1e3\n // 90s\n );\n let readingActive = true;\n while (readingActive) {\n let chunkTimeout;\n try {\n chunkTimeout = setTimeout(() => {\n body.cancel().then(null, () => {\n });\n }, 5e3);\n const { done } = await responseReader.read();\n clearTimeout(chunkTimeout);\n if (done) {\n onFinishedResolving();\n readingActive = false;\n }\n } catch {\n readingActive = false;\n } finally {\n clearTimeout(chunkTimeout);\n }\n }\n clearTimeout(maxFetchDurationTimeout);\n responseReader.releaseLock();\n body.cancel().then(null, () => {\n });\n }\n}\nfunction streamHandler(response) {\n let clonedResponseForResolving;\n try {\n clonedResponseForResolving = response.clone();\n } catch {\n return;\n }\n resolveResponse(clonedResponseForResolving, () => {\n triggerHandlers(\"fetch-body-resolved\", {\n endTimestamp: timestampInSeconds() * 1e3,\n response\n });\n });\n}\nfunction hasProp(obj, prop) {\n return isObjectLike(obj) && !!obj[prop];\n}\nfunction getUrlFromResource(resource) {\n if (typeof resource === \"string\") {\n return resource;\n }\n if (!resource) {\n return \"\";\n }\n if (hasProp(resource, \"url\")) {\n return resource.url;\n }\n if (resource.toString) {\n return resource.toString();\n }\n return \"\";\n}\nfunction parseFetchArgs(fetchArgs) {\n if (fetchArgs.length === 0) {\n return { method: \"GET\", url: \"\" };\n }\n if (fetchArgs.length === 2) {\n const [resource, options] = fetchArgs;\n return {\n url: getUrlFromResource(resource),\n method: hasProp(options, \"method\") ? String(options.method).toUpperCase() : (\n // Request object as first argument\n isRequest(resource) && hasProp(resource, \"method\") ? String(resource.method).toUpperCase() : \"GET\"\n )\n };\n }\n const arg = fetchArgs[0];\n return {\n url: getUrlFromResource(arg),\n method: hasProp(arg, \"method\") ? String(arg.method).toUpperCase() : \"GET\"\n };\n}\nfunction getHeadersFromFetchArgs(fetchArgs) {\n const [requestArgument, optionsArgument] = fetchArgs;\n try {\n if (typeof optionsArgument === \"object\" && optionsArgument !== null && \"headers\" in optionsArgument && optionsArgument.headers) {\n return new Headers(optionsArgument.headers);\n }\n if (isRequest(requestArgument)) {\n return new Headers(requestArgument.headers);\n }\n } catch {\n }\n return;\n}\n\nexport { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, parseFetchArgs };\n//# sourceMappingURL=fetch.js.map\n","import { isString } from './is.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ;\nconst DEFAULT_MAX_STRING_LENGTH = 80;\nfunction htmlTreeAsString(elem, options = {}) {\n if (!elem) {\n return \"\";\n }\n try {\n let currentElem = elem;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = \" > \";\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n if (nextStr === \"html\" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n } catch {\n return \"\";\n }\n}\nfunction _htmlElementAsString(el, keyAttrs) {\n const elem = el;\n const out = [];\n if (!elem?.tagName) {\n return \"\";\n }\n if (WINDOW.HTMLElement) {\n if (elem instanceof HTMLElement && elem.dataset) {\n if (elem.dataset[\"sentryComponent\"]) {\n return elem.dataset[\"sentryComponent\"];\n }\n if (elem.dataset[\"sentryElement\"]) {\n return elem.dataset[\"sentryElement\"];\n }\n }\n }\n out.push(elem.tagName.toLowerCase());\n const keyAttrPairs = keyAttrs?.length ? keyAttrs.filter((keyAttr) => elem.getAttribute(keyAttr)).map((keyAttr) => [keyAttr, elem.getAttribute(keyAttr)]) : null;\n if (keyAttrPairs?.length) {\n keyAttrPairs.forEach((keyAttrPair) => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n if (elem.id) {\n out.push(`#${elem.id}`);\n }\n const className = elem.className;\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n for (const k of [\"aria-label\", \"type\", \"name\", \"title\", \"alt\"]) {\n const attr = elem.getAttribute(k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n return out.join(\"\");\n}\nfunction getLocationHref() {\n try {\n return WINDOW.document.location.href;\n } catch {\n return \"\";\n }\n}\nfunction getComponentName(elem, maxTraverseHeight = 5) {\n if (!WINDOW.HTMLElement) {\n return null;\n }\n let currentElem = elem;\n for (let i = 0; i < maxTraverseHeight; i++) {\n if (!currentElem) {\n return null;\n }\n if (currentElem instanceof HTMLElement) {\n if (currentElem.dataset[\"sentryComponent\"]) {\n return currentElem.dataset[\"sentryComponent\"];\n }\n if (currentElem.dataset[\"sentryElement\"]) {\n return currentElem.dataset[\"sentryElement\"];\n }\n }\n currentElem = currentElem.parentNode;\n }\n return null;\n}\n\nexport { getComponentName, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { GLOBAL_OBJ, getOriginalFunction, markFunctionWrapped, addNonEnumerableProperty, withScope, addExceptionTypeValue, addExceptionMechanism, captureException, getLocationHref } from '@sentry/core/browser';\n\nconst WINDOW = GLOBAL_OBJ;\nlet ignoreOnError = 0;\nfunction shouldIgnoreOnError() {\n return ignoreOnError > 0;\n}\nfunction ignoreNextOnError() {\n ignoreOnError++;\n setTimeout(() => {\n ignoreOnError--;\n });\n}\nfunction wrap(fn, options = {}) {\n function isFunction(fn2) {\n return typeof fn2 === \"function\";\n }\n if (!isFunction(fn)) {\n return fn;\n }\n try {\n const hasOwnWrapper = Object.prototype.hasOwnProperty.call(fn, \"__sentry_wrapped__\");\n if (hasOwnWrapper) {\n const wrapper = fn.__sentry_wrapped__;\n if (typeof wrapper === \"function\") {\n return wrapper;\n } else {\n return fn;\n }\n }\n if (getOriginalFunction(fn)) {\n return fn;\n }\n } catch {\n return fn;\n }\n const sentryWrapped = function(...args) {\n GLOBAL_OBJ._sentryWrappedDepth = (GLOBAL_OBJ._sentryWrappedDepth || 0) + 1;\n try {\n const wrappedArguments = args.map((arg) => wrap(arg, options));\n return fn.apply(this, wrappedArguments);\n } catch (ex) {\n ignoreNextOnError();\n withScope((scope) => {\n scope.addEventProcessor((event) => {\n if (options.mechanism) {\n addExceptionTypeValue(event, void 0, void 0);\n addExceptionMechanism(event, options.mechanism);\n }\n event.extra = {\n ...event.extra,\n arguments: args\n };\n return event;\n });\n captureException(ex);\n });\n throw ex;\n } finally {\n GLOBAL_OBJ._sentryWrappedDepth = (GLOBAL_OBJ._sentryWrappedDepth || 0) - 1;\n }\n };\n try {\n for (const property in fn) {\n if (Object.prototype.hasOwnProperty.call(fn, property)) {\n sentryWrapped[property] = fn[property];\n }\n }\n } catch {\n }\n markFunctionWrapped(sentryWrapped, fn);\n addNonEnumerableProperty(fn, \"__sentry_wrapped__\", sentryWrapped);\n try {\n const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, \"name\");\n if (descriptor.configurable) {\n Object.defineProperty(sentryWrapped, \"name\", {\n get() {\n return fn.name;\n }\n });\n }\n } catch {\n }\n return sentryWrapped;\n}\nfunction getHttpRequestData() {\n const url = getLocationHref();\n const { referrer } = WINDOW.document || {};\n const { userAgent } = WINDOW.navigator || {};\n const headers = {\n ...referrer && { Referer: referrer },\n ...userAgent && { \"User-Agent\": userAgent }\n };\n const request = {\n url,\n headers\n };\n return request;\n}\n\nexport { WINDOW, getHttpRequestData, ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject, isEvent, addExceptionMechanism, isParameterizedString, getClient, normalizeToSize, extractExceptionKeysForMessage, _INTERNAL_enhanceErrorWithSentryInfo, resolvedSyncPromise } from '@sentry/core/browser';\n\nfunction exceptionFromError(stackParser, ex) {\n const frames = parseStackFrames(stackParser, ex);\n const exception = {\n type: extractType(ex),\n value: extractMessage(ex)\n };\n if (frames.length) {\n exception.stacktrace = { frames };\n }\n if (exception.type === void 0 && exception.value === \"\") {\n exception.value = \"Unrecoverable error caught\";\n }\n return exception;\n}\nfunction eventFromPlainObject(stackParser, exception, syntheticException, isUnhandledRejection) {\n const client = getClient();\n const normalizeDepth = client?.getOptions().normalizeDepth;\n const errorFromProp = getErrorPropertyFromObject(exception);\n const extra = {\n __serialized__: normalizeToSize(exception, normalizeDepth)\n };\n if (errorFromProp) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, errorFromProp)]\n },\n extra\n };\n }\n const event = {\n exception: {\n values: [\n {\n type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? \"UnhandledRejection\" : \"Error\",\n value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection })\n }\n ]\n },\n extra\n };\n if (syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception.values[0].stacktrace = { frames };\n }\n }\n return event;\n}\nfunction eventFromError(stackParser, ex) {\n return {\n exception: {\n values: [exceptionFromError(stackParser, ex)]\n }\n };\n}\nfunction parseStackFrames(stackParser, ex) {\n const stacktrace = ex.stacktrace || ex.stack || \"\";\n const skipLines = getSkipFirstStackStringLines(ex);\n const framesToPop = getPopFirstTopFrames(ex);\n try {\n return stackParser(stacktrace, skipLines, framesToPop);\n } catch {\n }\n return [];\n}\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\nfunction getSkipFirstStackStringLines(ex) {\n if (ex && reactMinifiedRegexp.test(ex.message)) {\n return 1;\n }\n return 0;\n}\nfunction getPopFirstTopFrames(ex) {\n if (typeof ex.framesToPop === \"number\") {\n return ex.framesToPop;\n }\n return 0;\n}\nfunction isWebAssemblyException(exception) {\n if (typeof WebAssembly !== \"undefined\" && typeof WebAssembly.Exception !== \"undefined\") {\n return exception instanceof WebAssembly.Exception;\n } else {\n return false;\n }\n}\nfunction extractType(ex) {\n const name = ex?.name;\n if (!name && isWebAssemblyException(ex)) {\n const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n return hasTypeInMessage ? ex.message[0] : \"WebAssembly.Exception\";\n }\n return name;\n}\nfunction extractMessage(ex) {\n const message = ex?.message;\n if (isWebAssemblyException(ex)) {\n if (Array.isArray(ex.message) && ex.message.length == 2) {\n return ex.message[1];\n }\n return \"wasm exception\";\n }\n if (!message) {\n return \"No error message\";\n }\n if (message.error && typeof message.error.message === \"string\") {\n return _INTERNAL_enhanceErrorWithSentryInfo(message.error);\n }\n return _INTERNAL_enhanceErrorWithSentryInfo(ex);\n}\nfunction eventFromException(stackParser, exception, hint, attachStacktrace) {\n const syntheticException = hint?.syntheticException || void 0;\n const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionMechanism(event);\n event.level = \"error\";\n if (hint?.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\nfunction eventFromMessage(stackParser, message, level = \"info\", hint, attachStacktrace) {\n const syntheticException = hint?.syntheticException || void 0;\n const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n event.level = level;\n if (hint?.event_id) {\n event.event_id = hint.event_id;\n }\n return resolvedSyncPromise(event);\n}\nfunction eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace, isUnhandledRejection) {\n let event;\n if (isErrorEvent(exception) && exception.error) {\n const errorEvent = exception;\n return eventFromError(stackParser, errorEvent.error);\n }\n if (isDOMError(exception) || isDOMException(exception)) {\n const domException = exception;\n if (\"stack\" in exception) {\n event = eventFromError(stackParser, exception);\n const firstException = event.exception?.values?.[0];\n if (attachStacktrace && syntheticException && firstException && !firstException.stacktrace) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n firstException.stacktrace = { frames };\n addExceptionMechanism(event, { synthetic: true });\n }\n }\n } else {\n const name = domException.name || (isDOMError(domException) ? \"DOMError\" : \"DOMException\");\n const message = domException.message ? `${name}: ${domException.message}` : name;\n event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, message);\n }\n if (\"code\" in domException) {\n event.tags = { ...event.tags, \"DOMException.code\": `${domException.code}` };\n }\n return event;\n }\n if (isError(exception)) {\n return eventFromError(stackParser, exception);\n }\n if (isPlainObject(exception) || isEvent(exception)) {\n const objectException = exception;\n event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n }\n event = eventFromString(stackParser, exception, syntheticException, attachStacktrace);\n addExceptionTypeValue(event, `${exception}`, void 0);\n addExceptionMechanism(event, {\n synthetic: true\n });\n return event;\n}\nfunction eventFromString(stackParser, message, syntheticException, attachStacktrace) {\n const event = {};\n if (attachStacktrace && syntheticException) {\n const frames = parseStackFrames(stackParser, syntheticException);\n if (frames.length) {\n event.exception = {\n values: [{ value: message, stacktrace: { frames } }]\n };\n }\n addExceptionMechanism(event, { synthetic: true });\n }\n if (isParameterizedString(message)) {\n const { __sentry_template_string__, __sentry_template_values__ } = message;\n event.logentry = {\n message: __sentry_template_string__,\n params: __sentry_template_values__\n };\n return event;\n }\n event.message = message;\n return event;\n}\nfunction getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }) {\n const keys = extractExceptionKeysForMessage(exception);\n const captureType = isUnhandledRejection ? \"promise rejection\" : \"exception\";\n if (isErrorEvent(exception)) {\n return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n }\n if (isEvent(exception)) {\n const className = getObjectClassName(exception);\n return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n }\n return `Object captured as ${captureType} with keys: ${keys}`;\n}\nfunction getObjectClassName(obj) {\n try {\n const prototype = Object.getPrototypeOf(obj);\n return prototype ? prototype.constructor.name : void 0;\n } catch {\n }\n}\nfunction getErrorPropertyFromObject(obj) {\n return Object.values(obj).find(isError);\n}\n\nexport { eventFromException, eventFromMessage, eventFromUnknownInput, exceptionFromError, extractMessage, extractType };\n//# sourceMappingURL=eventbuilder.js.map\n","import { Client, getSDKSource, applySdkMetadata, addAutoIpAddressToSession } from '@sentry/core/browser';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { WINDOW } from './helpers.js';\n\nclass BrowserClient extends Client {\n /**\n * Creates a new Browser SDK instance.\n *\n * @param options Configuration options for this SDK.\n */\n constructor(options) {\n const opts = applyDefaultOptions(options);\n const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n applySdkMetadata(opts, \"browser\", [\"browser\"], sdkSource);\n super(opts);\n const { userInfo } = this.getDataCollectionOptions();\n if (opts._metadata?.sdk) {\n opts._metadata.sdk.settings = {\n // Only allow IP inferral by Relay if the user opted in via dataCollection\n infer_ip: userInfo ? \"auto\" : \"never\",\n // purposefully allowing already passed settings to override the default\n ...opts._metadata.sdk.settings\n };\n }\n const { sendClientReports } = this._options;\n if (WINDOW.document) {\n WINDOW.document.addEventListener(\"visibilitychange\", () => {\n if (WINDOW.document.visibilityState === \"hidden\") {\n if (sendClientReports) {\n this._flushOutcomes();\n }\n queueMicrotask(() => {\n void this.flush();\n });\n }\n });\n }\n if (userInfo) {\n this.on(\"beforeSendSession\", addAutoIpAddressToSession);\n }\n }\n /**\n * @inheritDoc\n */\n eventFromException(exception, hint) {\n return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n eventFromMessage(message, level = \"info\", hint) {\n return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n }\n /**\n * @inheritDoc\n */\n _prepareEvent(event, hint, currentScope, isolationScope) {\n event.platform = event.platform || \"javascript\";\n return super._prepareEvent(event, hint, currentScope, isolationScope);\n }\n}\nfunction applyDefaultOptions(optionsArg) {\n return {\n release: typeof __SENTRY_RELEASE__ === \"string\" ? __SENTRY_RELEASE__ : WINDOW.SENTRY_RELEASE?.id,\n // This supports the variable that sentry-webpack-plugin injects\n sendClientReports: true,\n // We default this to true, as it is the safer scenario\n parentSpanIsAlwaysRootSpan: true,\n ...optionsArg\n };\n}\n\nexport { BrowserClient, applyDefaultOptions };\n//# sourceMappingURL=client.js.map\n","const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { GLOBAL_OBJ } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ;\n\nexport { WINDOW };\n//# sourceMappingURL=types.js.map\n","import { WINDOW } from '../../../types.js';\n\nfunction addPageListener(type, listener, options) {\n if (WINDOW.document) {\n WINDOW.addEventListener(type, listener, options);\n }\n}\nfunction removePageListener(type, listener, options) {\n if (WINDOW.document) {\n WINDOW.removeEventListener(type, listener, options);\n }\n}\n\nexport { addPageListener, removePageListener };\n//# sourceMappingURL=globalListeners.js.map\n","const runOnce = (cb) => {\n let called = false;\n return () => {\n if (!called) {\n cb();\n called = true;\n }\n };\n};\n\nexport { runOnce };\n//# sourceMappingURL=runOnce.js.map\n","import { WINDOW } from '../../../types.js';\nimport { addPageListener, removePageListener } from './globalListeners.js';\nimport { runOnce } from './runOnce.js';\n\nconst whenIdleOrHidden = (cb) => {\n const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;\n if (WINDOW.document?.visibilityState === \"hidden\") {\n cb();\n } else {\n cb = runOnce(cb);\n addPageListener(\"visibilitychange\", cb, { once: true, capture: true });\n addPageListener(\"pagehide\", cb, { once: true, capture: true });\n rIC(() => {\n cb();\n removePageListener(\"visibilitychange\", cb, { capture: true });\n removePageListener(\"pagehide\", cb, { capture: true });\n });\n }\n};\n\nexport { whenIdleOrHidden };\n//# sourceMappingURL=whenIdleOrHidden.js.map\n","import { isString } from '@sentry/core';\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\nconst accessors = {};\ntry {\n if (typeof Node !== \"undefined\") {\n accessors.parentNode = Object.getOwnPropertyDescriptor(Node.prototype, \"parentNode\").get;\n }\n if (typeof Element !== \"undefined\") {\n accessors.tagName = Object.getOwnPropertyDescriptor(Element.prototype, \"tagName\").get;\n accessors.id = Object.getOwnPropertyDescriptor(Element.prototype, \"id\").get;\n accessors.className = Object.getOwnPropertyDescriptor(Element.prototype, \"className\").get;\n accessors.getAttribute = Element.prototype.getAttribute;\n }\n if (typeof HTMLElement !== \"undefined\") {\n accessors.dataset = Object.getOwnPropertyDescriptor(HTMLElement.prototype, \"dataset\").get;\n }\n} catch {\n}\nfunction _safeRead(el, prop, arg) {\n const fn = accessors[prop];\n if (fn) {\n try {\n return fn.call(el, arg);\n } catch {\n }\n }\n const val = el[prop];\n return typeof val === \"function\" ? val.call(el, arg) : val;\n}\nfunction htmlTreeAsString(elem, options = {}) {\n if (!elem) {\n return \"\";\n }\n try {\n let currentElem = elem;\n const MAX_TRAVERSE_HEIGHT = 5;\n const out = [];\n let height = 0;\n let len = 0;\n const separator = \" > \";\n const sepLength = separator.length;\n let nextStr;\n const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n const maxStringLength = !Array.isArray(options) && options.maxStringLength || DEFAULT_MAX_STRING_LENGTH;\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem, keyAttrs);\n if (nextStr === \"html\" || height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = _safeRead(currentElem, \"parentNode\");\n }\n return out.reverse().join(separator);\n } catch {\n return \"\";\n }\n}\nfunction _htmlElementAsString(el, keyAttrs) {\n const out = [];\n const tagName = _safeRead(el, \"tagName\");\n if (!tagName) {\n return \"\";\n }\n if (typeof HTMLElement !== \"undefined\") {\n if (el instanceof HTMLElement) {\n const dataset = _safeRead(el, \"dataset\");\n if (dataset) {\n if (dataset[\"sentryComponent\"]) {\n return dataset[\"sentryComponent\"];\n }\n if (dataset[\"sentryElement\"]) {\n return dataset[\"sentryElement\"];\n }\n }\n }\n }\n out.push(tagName.toLowerCase());\n const keyAttrPairs = keyAttrs?.length ? keyAttrs.filter((keyAttr) => _safeRead(el, \"getAttribute\", keyAttr)).map((keyAttr) => [keyAttr, _safeRead(el, \"getAttribute\", keyAttr)]) : null;\n if (keyAttrPairs?.length) {\n keyAttrPairs.forEach((keyAttrPair) => {\n out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n });\n } else {\n const id = _safeRead(el, \"id\");\n if (id) {\n out.push(`#${id}`);\n }\n const className = _safeRead(el, \"className\");\n if (className && isString(className)) {\n const classes = className.split(/\\s+/);\n for (const c of classes) {\n out.push(`.${c}`);\n }\n }\n }\n for (const k of [\"aria-label\", \"type\", \"name\", \"title\", \"alt\"]) {\n const attr = _safeRead(el, \"getAttribute\", k);\n if (attr) {\n out.push(`[${k}=\"${attr}\"]`);\n }\n }\n return out.join(\"\");\n}\n\nexport { htmlTreeAsString };\n//# sourceMappingURL=htmlTreeAsString.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, fill, addNonEnumerableProperty, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst DEBOUNCE_DURATION = 1e3;\nlet debounceTimerID;\nlet lastCapturedEventType;\nlet lastCapturedEventTargetId;\nfunction addClickKeypressInstrumentationHandler(handler) {\n const type = \"dom\";\n addHandler(type, handler);\n maybeInstrument(type, instrumentDOM);\n}\nfunction instrumentDOM() {\n if (!WINDOW.document) {\n return;\n }\n const triggerDOMHandler = triggerHandlers.bind(null, \"dom\");\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n WINDOW.document.addEventListener(\"click\", globalDOMEventHandler, false);\n WINDOW.document.addEventListener(\"keypress\", globalDOMEventHandler, false);\n [\"EventTarget\", \"Node\"].forEach((target) => {\n const globalObject = WINDOW;\n const proto = globalObject[target]?.prototype;\n if (!proto?.hasOwnProperty?.(\"addEventListener\")) {\n return;\n }\n fill(proto, \"addEventListener\", function(originalAddEventListener) {\n return function(type, listener, options) {\n if (type === \"click\" || type == \"keypress\") {\n try {\n const handlers = this.__sentry_instrumentation_handlers__ = this.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type] = handlers[type] || { refCount: 0 };\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n handlerForType.refCount++;\n } catch {\n }\n }\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n fill(\n proto,\n \"removeEventListener\",\n function(originalRemoveEventListener) {\n return function(type, listener, options) {\n if (type === \"click\" || type == \"keypress\") {\n try {\n const handlers = this.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n if (handlerForType) {\n handlerForType.refCount--;\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = void 0;\n delete handlers[type];\n }\n if (Object.keys(handlers).length === 0) {\n delete this.__sentry_instrumentation_handlers__;\n }\n }\n } catch {\n }\n }\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n }\n );\n });\n}\nfunction isSimilarToLastCapturedEvent(event) {\n if (event.type !== lastCapturedEventType) {\n return false;\n }\n try {\n if (!event.target || event.target._sentryId !== lastCapturedEventTargetId) {\n return false;\n }\n } catch {\n }\n return true;\n}\nfunction shouldSkipDOMEvent(eventType, target) {\n if (eventType !== \"keypress\") {\n return false;\n }\n if (!target?.tagName) {\n return true;\n }\n if (target.tagName === \"INPUT\" || target.tagName === \"TEXTAREA\" || target.isContentEditable) {\n return false;\n }\n return true;\n}\nfunction makeDOMEventHandler(handler, globalListener = false) {\n return (event) => {\n if (!event || event[\"_sentryCaptured\"]) {\n return;\n }\n const target = getEventTarget(event);\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n }\n addNonEnumerableProperty(event, \"_sentryCaptured\", true);\n if (target && !target._sentryId) {\n addNonEnumerableProperty(target, \"_sentryId\", uuid4());\n }\n const name = event.type === \"keypress\" ? \"input\" : event.type;\n if (!isSimilarToLastCapturedEvent(event)) {\n const handlerData = { event, name, global: globalListener };\n handler(handlerData);\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : void 0;\n }\n clearTimeout(debounceTimerID);\n debounceTimerID = WINDOW.setTimeout(() => {\n lastCapturedEventTargetId = void 0;\n lastCapturedEventType = void 0;\n }, DEBOUNCE_DURATION);\n };\n}\nfunction getEventTarget(event) {\n try {\n return event.target;\n } catch {\n return null;\n }\n}\n\nexport { addClickKeypressInstrumentationHandler, instrumentDOM };\n//# sourceMappingURL=dom.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, supportsHistory, fill } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nlet lastHref;\nfunction addHistoryInstrumentationHandler(handler) {\n const type = \"history\";\n addHandler(type, handler);\n maybeInstrument(type, instrumentHistory);\n}\nfunction instrumentHistory() {\n WINDOW.addEventListener(\"popstate\", () => {\n const to = WINDOW.location.href;\n const from = lastHref;\n lastHref = to;\n if (from === to) {\n return;\n }\n const handlerData = { from, to };\n triggerHandlers(\"history\", handlerData);\n });\n if (!supportsHistory()) {\n return;\n }\n function historyReplacementFunction(originalHistoryFunction) {\n return function(...args) {\n const url = args.length > 2 ? args[2] : void 0;\n if (url) {\n const from = lastHref;\n const to = getAbsoluteUrl(String(url));\n lastHref = to;\n if (from === to) {\n return originalHistoryFunction.apply(this, args);\n }\n const handlerData = { from, to };\n triggerHandlers(\"history\", handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n fill(WINDOW.history, \"pushState\", historyReplacementFunction);\n fill(WINDOW.history, \"replaceState\", historyReplacementFunction);\n}\nfunction getAbsoluteUrl(urlOrPath) {\n try {\n const url = new URL(urlOrPath, WINDOW.location.origin);\n return url.toString();\n } catch {\n return urlOrPath;\n }\n}\n\nexport { addHistoryInstrumentationHandler, instrumentHistory };\n//# sourceMappingURL=history.js.map\n","import { isNativeFunction, debug } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { WINDOW } from './types.js';\n\nconst cachedImplementations = {};\nfunction getNativeImplementation(name) {\n const cached = cachedImplementations[name];\n if (cached) {\n return cached;\n }\n let impl = WINDOW[name];\n if (isNativeFunction(impl)) {\n return cachedImplementations[name] = impl.bind(WINDOW);\n }\n const document = WINDOW.document;\n if (document && typeof document.createElement === \"function\") {\n try {\n const sandbox = document.createElement(\"iframe\");\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow?.[name]) {\n impl = contentWindow[name];\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n DEBUG_BUILD && debug.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n }\n }\n if (!impl) {\n return impl;\n }\n return cachedImplementations[name] = impl.bind(WINDOW);\n}\nfunction clearCachedImplementation(name) {\n cachedImplementations[name] = void 0;\n}\nfunction fetch(...rest) {\n return getNativeImplementation(\"fetch\")(...rest);\n}\nfunction setTimeout(...rest) {\n try {\n return getNativeImplementation(\"setTimeout\")(...rest);\n } catch (e) {\n DEBUG_BUILD && debug.warn(\"Could not use native setTimeout implementation, falling back to window.setTimeout: \", e);\n const fallback = WINDOW.setTimeout.bind(WINDOW);\n cachedImplementations.setTimeout = fallback;\n return fallback(...rest);\n }\n}\n\nexport { clearCachedImplementation, fetch, getNativeImplementation, setTimeout };\n//# sourceMappingURL=getNativeImplementation.js.map\n","import { addHandler, maybeInstrument, timestampInSeconds, isString, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst SENTRY_XHR_DATA_KEY = \"__sentry_xhr_v3__\";\nfunction addXhrInstrumentationHandler(handler) {\n const type = \"xhr\";\n addHandler(type, handler);\n maybeInstrument(type, instrumentXHR);\n}\nfunction instrumentXHR() {\n if (!WINDOW.XMLHttpRequest) {\n return;\n }\n const xhrproto = XMLHttpRequest.prototype;\n xhrproto.open = new Proxy(xhrproto.open, {\n apply(originalOpen, xhrOpenThisArg, xhrOpenArgArray) {\n let virtualError = new Error();\n const startTimestamp = timestampInSeconds() * 1e3;\n const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : void 0;\n const url = parseXhrUrlArg(xhrOpenArgArray[1]);\n if (!method || !url) {\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n method,\n url,\n request_headers: {}\n };\n if (method === \"POST\" && url.match(/sentry_key/)) {\n xhrOpenThisArg.__sentry_own_request__ = true;\n }\n const onreadystatechangeHandler = () => {\n const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n if (!xhrInfo) {\n return;\n }\n if (xhrOpenThisArg.readyState === 4) {\n try {\n xhrInfo.status_code = xhrOpenThisArg.status;\n } catch {\n }\n const handlerData = {\n endTimestamp: timestampInSeconds() * 1e3,\n startTimestamp,\n xhr: xhrOpenThisArg,\n virtualError\n };\n triggerHandlers(\"xhr\", handlerData);\n virtualError = void 0;\n xhrOpenThisArg.removeEventListener(\"readystatechange\", onreadystatechangeHandler);\n }\n };\n if (\"onreadystatechange\" in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === \"function\") {\n xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {\n onreadystatechangeHandler();\n return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n }\n });\n } else {\n xhrOpenThisArg.addEventListener(\"readystatechange\", onreadystatechangeHandler);\n }\n xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n apply(originalSetRequestHeader, setRequestHeaderThisArg, setRequestHeaderArgArray) {\n const [header, value] = setRequestHeaderArgArray;\n const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n if (xhrInfo && isString(header) && isString(value)) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n }\n });\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n });\n xhrproto.send = new Proxy(xhrproto.send, {\n apply(originalSend, sendThisArg, sendArgArray) {\n const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n if (!sentryXhrData) {\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n if (sendArgArray[0] !== void 0) {\n sentryXhrData.body = sendArgArray[0];\n }\n const handlerData = {\n startTimestamp: timestampInSeconds() * 1e3,\n xhr: sendThisArg\n };\n triggerHandlers(\"xhr\", handlerData);\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n });\n}\nfunction parseXhrUrlArg(url) {\n if (isString(url)) {\n return url;\n }\n try {\n return url.toString();\n } catch {\n }\n return void 0;\n}\n\nexport { SENTRY_XHR_DATA_KEY, addXhrInstrumentationHandler, instrumentXHR };\n//# sourceMappingURL=xhr.js.map\n","function isElement(wat) {\n if (typeof Element === \"undefined\") {\n return false;\n }\n try {\n return wat instanceof Element;\n } catch {\n return false;\n }\n}\n\nexport { isElement };\n//# sourceMappingURL=is.js.map\n","import { createTransport, makePromiseBuffer } from '@sentry/core/browser';\nimport { getNativeImplementation, clearCachedImplementation } from '@sentry/browser-utils';\n\nconst DEFAULT_BROWSER_TRANSPORT_BUFFER_SIZE = 40;\nfunction makeFetchTransport(options, nativeFetch = getNativeImplementation(\"fetch\")) {\n let pendingBodySize = 0;\n let pendingCount = 0;\n async function makeRequest(request) {\n const requestSize = request.body.length;\n pendingBodySize += requestSize;\n pendingCount++;\n const requestOptions = {\n body: request.body,\n method: \"POST\",\n referrerPolicy: \"strict-origin\",\n headers: options.headers,\n // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n // Gotchas:\n // - `keepalive` isn't supported by Firefox\n // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n // If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n // We will therefore only activate the flag when we're below that limit.\n // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n keepalive: pendingBodySize <= 6e4 && pendingCount < 15,\n ...options.fetchOptions\n };\n try {\n const response = await nativeFetch(options.url, requestOptions);\n return {\n statusCode: response.status,\n headers: {\n \"x-sentry-rate-limits\": response.headers.get(\"X-Sentry-Rate-Limits\"),\n \"retry-after\": response.headers.get(\"Retry-After\")\n }\n };\n } catch (e) {\n clearCachedImplementation(\"fetch\");\n throw e;\n } finally {\n pendingBodySize -= requestSize;\n pendingCount--;\n }\n }\n return createTransport(\n options,\n makeRequest,\n makePromiseBuffer(options.bufferSize || DEFAULT_BROWSER_TRANSPORT_BUFFER_SIZE)\n );\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","const DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { createStackParser, UNKNOWN_FUNCTION } from '@sentry/core/browser';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\nfunction createFrame(filename, func, lineno, colno) {\n const frame = {\n filename,\n function: func === \"\" ? UNKNOWN_FUNCTION : func,\n in_app: true\n // All browser frames are considered in_app\n };\n if (lineno !== void 0) {\n frame.lineno = lineno;\n }\n if (colno !== void 0) {\n frame.colno = colno;\n }\n return frame;\n}\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\nconst chromeRegex = /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\nconst chromeDataUriRegex = /at (.+?) ?\\(data:(.+?),/;\nconst chromeStackParserFn = (line) => {\n const dataUriMatch = line.match(chromeDataUriRegex);\n if (dataUriMatch) {\n return {\n filename: ``,\n function: dataUriMatch[1]\n };\n }\n const noFnParts = chromeRegexNoFnName.exec(line);\n if (noFnParts) {\n const [, filename, line2, col] = noFnParts;\n return createFrame(filename, UNKNOWN_FUNCTION, +line2, +col);\n }\n const parts = chromeRegex.exec(line);\n if (parts) {\n const isEval = parts[2]?.indexOf(\"eval\") === 0;\n if (isEval) {\n const subMatch = chromeEvalRegex.exec(parts[2]);\n if (subMatch) {\n parts[2] = subMatch[1];\n parts[3] = subMatch[2];\n parts[4] = subMatch[3];\n }\n }\n const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n return createFrame(filename, func, parts[3] ? +parts[3] : void 0, parts[4] ? +parts[4] : void 0);\n }\n return;\n};\nconst chromeStackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\nconst geckoREgex = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nconst gecko = (line) => {\n const parts = geckoREgex.exec(line);\n if (parts) {\n const isEval = parts[3] && parts[3].indexOf(\" > eval\") > -1;\n if (isEval) {\n const subMatch = geckoEvalRegex.exec(parts[3]);\n if (subMatch) {\n parts[1] = parts[1] || \"eval\";\n parts[3] = subMatch[1];\n parts[4] = subMatch[2];\n parts[5] = \"\";\n }\n }\n let filename = parts[3];\n let func = parts[1] || UNKNOWN_FUNCTION;\n [func, filename] = extractSafariExtensionDetails(func, filename);\n return createFrame(filename, func, parts[4] ? +parts[4] : void 0, parts[5] ? +parts[5] : void 0);\n }\n return;\n};\nconst geckoStackLineParser = [GECKO_PRIORITY, gecko];\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nconst winjs = (line) => {\n const parts = winjsRegex.exec(line);\n return parts ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : void 0) : void 0;\n};\nconst winjsStackLineParser = [WINJS_PRIORITY, winjs];\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\nconst opera10 = (line) => {\n const parts = opera10Regex.exec(line);\n return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : void 0;\n};\nconst opera10StackLineParser = [OPERA10_PRIORITY, opera10];\nconst opera11Regex = / line (\\d+), column (\\d+)\\s*(?:in (?:]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\nconst opera11 = (line) => {\n const parts = opera11Regex.exec(line);\n return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : void 0;\n};\nconst opera11StackLineParser = [OPERA11_PRIORITY, opera11];\nconst defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\nconst defaultStackParser = createStackParser(...defaultStackLineParsers);\nconst extractSafariExtensionDetails = (func, filename) => {\n const isSafariExtension = func.indexOf(\"safari-extension\") !== -1;\n const isSafariWebExtension = func.indexOf(\"safari-web-extension\") !== -1;\n return isSafariExtension || isSafariWebExtension ? [\n func.indexOf(\"@\") !== -1 ? func.split(\"@\")[0] : UNKNOWN_FUNCTION,\n isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`\n ] : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","import { defineIntegration, addConsoleInstrumentationHandler, addFetchInstrumentationHandler, getClient, safeJoin, severityLevelFromString, addBreadcrumb, debug, getComponentName, getBreadcrumbLogLevelFromHttpStatusCode, parseUrl, getEventDescription } from '@sentry/core/browser';\nimport { addClickKeypressInstrumentationHandler, addXhrInstrumentationHandler, addHistoryInstrumentationHandler, htmlTreeAsString, SENTRY_XHR_DATA_KEY } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\nconst INTEGRATION_NAME = \"Breadcrumbs\";\nconst _breadcrumbsIntegration = ((options = {}) => {\n const _options = {\n console: true,\n dom: true,\n fetch: true,\n history: true,\n sentry: true,\n xhr: true,\n ...options\n };\n return {\n name: INTEGRATION_NAME,\n setup(client) {\n if (_options.console) {\n addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n }\n if (_options.dom) {\n addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n }\n if (_options.xhr) {\n addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n }\n if (_options.fetch) {\n addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n }\n if (_options.history) {\n addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n }\n if (_options.sentry) {\n client.on(\"beforeSendEvent\", _getSentryBreadcrumbHandler(client));\n }\n }\n };\n});\nconst breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\nfunction _getSentryBreadcrumbHandler(client) {\n return function addSentryBreadcrumb(event) {\n if (getClient() !== client) {\n return;\n }\n addBreadcrumb(\n {\n category: `sentry.${event.type === \"transaction\" ? \"transaction\" : \"event\"}`,\n event_id: event.event_id,\n level: event.level,\n message: getEventDescription(event)\n },\n {\n event\n }\n );\n };\n}\nfunction _getDomBreadcrumbHandler(client, dom) {\n return function _innerDomBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n let target;\n let componentName;\n let keyAttrs = typeof dom === \"object\" ? dom.serializeAttribute : void 0;\n let maxStringLength = typeof dom === \"object\" && typeof dom.maxStringLength === \"number\" ? dom.maxStringLength : void 0;\n if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n DEBUG_BUILD && debug.warn(\n `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`\n );\n maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n }\n if (typeof keyAttrs === \"string\") {\n keyAttrs = [keyAttrs];\n }\n try {\n const event = handlerData.event;\n const element = _isEvent(event) ? event.target : event;\n target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n componentName = getComponentName(element);\n } catch {\n target = \"\";\n }\n if (target.length === 0) {\n return;\n }\n const breadcrumb = {\n category: `ui.${handlerData.name}`,\n message: target\n };\n if (componentName) {\n breadcrumb.data = { \"ui.component_name\": componentName };\n }\n addBreadcrumb(breadcrumb, {\n event: handlerData.event,\n name: handlerData.name,\n global: handlerData.global\n });\n };\n}\nfunction _getConsoleBreadcrumbHandler(client) {\n return function _consoleBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n const breadcrumb = {\n category: \"console\",\n data: {\n arguments: handlerData.args,\n logger: \"console\"\n },\n level: severityLevelFromString(handlerData.level),\n message: safeJoin(handlerData.args, \" \")\n };\n if (handlerData.level === \"assert\") {\n if (handlerData.args[0] === false) {\n breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), \" \") || \"console.assert\"}`;\n breadcrumb.data.arguments = handlerData.args.slice(1);\n } else {\n return;\n }\n }\n addBreadcrumb(breadcrumb, {\n input: handlerData.args,\n level: handlerData.level\n });\n };\n}\nfunction _getXhrBreadcrumbHandler(client) {\n return function _xhrBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n const { startTimestamp, endTimestamp } = handlerData;\n const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n return;\n }\n const { method, url, status_code, body } = sentryXhrData;\n const data = {\n method,\n url,\n status_code\n };\n const hint = {\n xhr: handlerData.xhr,\n input: body,\n startTimestamp,\n endTimestamp\n };\n const breadcrumb = {\n category: \"xhr\",\n data,\n type: \"http\",\n level: getBreadcrumbLogLevelFromHttpStatusCode(status_code)\n };\n client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n addBreadcrumb(breadcrumb, hint);\n };\n}\nfunction _getFetchBreadcrumbHandler(client) {\n return function _fetchBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n const { startTimestamp, endTimestamp } = handlerData;\n if (!endTimestamp) {\n return;\n }\n if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === \"POST\") {\n return;\n }\n if (handlerData.error) {\n const hint = {\n data: handlerData.error,\n input: handlerData.args,\n startTimestamp,\n endTimestamp\n };\n const breadcrumb = {\n category: \"fetch\",\n data: handlerData.fetchData,\n level: \"error\",\n type: \"http\"\n };\n client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n addBreadcrumb(breadcrumb, hint);\n } else {\n const response = handlerData.response;\n const data = {\n ...handlerData.fetchData,\n status_code: response?.status\n };\n const hint = {\n input: handlerData.args,\n response,\n startTimestamp,\n endTimestamp\n };\n const breadcrumb = {\n category: \"fetch\",\n data,\n type: \"http\",\n level: getBreadcrumbLogLevelFromHttpStatusCode(data.status_code)\n };\n client.emit(\"beforeOutgoingRequestBreadcrumb\", breadcrumb, hint);\n addBreadcrumb(breadcrumb, hint);\n }\n };\n}\nfunction _getHistoryBreadcrumbHandler(client) {\n return function _historyBreadcrumb(handlerData) {\n if (getClient() !== client) {\n return;\n }\n let from = handlerData.from;\n let to = handlerData.to;\n const parsedLoc = parseUrl(WINDOW.location.href);\n let parsedFrom = from ? parseUrl(from) : void 0;\n const parsedTo = parseUrl(to);\n if (!parsedFrom?.path) {\n parsedFrom = parsedLoc;\n }\n if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n to = parsedTo.relative;\n }\n if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n from = parsedFrom.relative;\n }\n addBreadcrumb({\n category: \"navigation\",\n data: {\n from,\n to\n }\n });\n };\n}\nfunction _isEvent(event) {\n return !!event && !!event.target;\n}\n\nexport { breadcrumbsIntegration };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { defineIntegration, fill, getFunctionName, getOriginalFunction } from '@sentry/core/browser';\nimport { WINDOW, wrap } from '../helpers.js';\n\nconst DEFAULT_EVENT_TARGET = \"EventTarget,Window,Node,ApplicationCache,AudioTrackList,BroadcastChannel,ChannelMergerNode,CryptoOperation,EventSource,FileReader,HTMLUnknownElement,IDBDatabase,IDBRequest,IDBTransaction,KeyOperation,MediaController,MessagePort,ModalWindow,Notification,SVGElementInstance,Screen,SharedWorker,TextTrack,TextTrackCue,TextTrackList,WebSocket,WebSocketWorker,Worker,XMLHttpRequest,XMLHttpRequestEventTarget,XMLHttpRequestUpload\".split(\n \",\"\n);\nconst INTEGRATION_NAME = \"BrowserApiErrors\";\nconst _browserApiErrorsIntegration = ((options = {}) => {\n const _options = {\n XMLHttpRequest: true,\n eventTarget: true,\n requestAnimationFrame: true,\n setInterval: true,\n setTimeout: true,\n unregisterOriginalCallbacks: false,\n ...options\n };\n return {\n name: INTEGRATION_NAME,\n // TODO: This currently only works for the first client this is setup\n // We may want to adjust this to check for client etc.\n setupOnce() {\n if (_options.setTimeout) {\n fill(WINDOW, \"setTimeout\", _wrapTimeFunction);\n }\n if (_options.setInterval) {\n fill(WINDOW, \"setInterval\", _wrapTimeFunction);\n }\n if (_options.requestAnimationFrame) {\n fill(WINDOW, \"requestAnimationFrame\", _wrapRAF);\n }\n if (_options.XMLHttpRequest && \"XMLHttpRequest\" in WINDOW) {\n fill(XMLHttpRequest.prototype, \"send\", _wrapXHR);\n }\n const eventTargetOption = _options.eventTarget;\n if (eventTargetOption) {\n const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n eventTarget.forEach((target) => _wrapEventTarget(target, _options));\n }\n }\n };\n});\nconst browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\nfunction _wrapTimeFunction(original) {\n return function(...args) {\n const originalCallback = args[0];\n args[0] = wrap(originalCallback, {\n mechanism: {\n handled: false,\n type: `auto.browser.browserapierrors.${getFunctionName(original)}`\n }\n });\n return original.apply(this, args);\n };\n}\nfunction _wrapRAF(original) {\n return function(callback) {\n return original.apply(this, [\n wrap(callback, {\n mechanism: {\n data: {\n handler: getFunctionName(original)\n },\n handled: false,\n type: \"auto.browser.browserapierrors.requestAnimationFrame\"\n }\n })\n ]);\n };\n}\nfunction _wrapXHR(originalSend) {\n return function(...args) {\n const xhr = this;\n const xmlHttpRequestProps = [\"onload\", \"onerror\", \"onprogress\", \"onreadystatechange\"];\n xmlHttpRequestProps.forEach((prop) => {\n if (prop in xhr && typeof xhr[prop] === \"function\") {\n fill(xhr, prop, function(original) {\n const wrapOptions = {\n mechanism: {\n data: {\n handler: getFunctionName(original)\n },\n handled: false,\n type: `auto.browser.browserapierrors.xhr.${prop}`\n }\n };\n const originalFunction = getOriginalFunction(original);\n if (originalFunction) {\n wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n }\n return wrap(original, wrapOptions);\n });\n }\n });\n return originalSend.apply(this, args);\n };\n}\nfunction _wrapEventTarget(target, integrationOptions) {\n const globalObject = WINDOW;\n const proto = globalObject[target]?.prototype;\n if (!proto?.hasOwnProperty?.(\"addEventListener\")) {\n return;\n }\n fill(proto, \"addEventListener\", function(original) {\n return function(eventName, fn, options) {\n try {\n if (isEventListenerObject(fn)) {\n fn.handleEvent = wrap(fn.handleEvent, {\n mechanism: {\n data: {\n handler: getFunctionName(fn),\n target\n },\n handled: false,\n type: \"auto.browser.browserapierrors.handleEvent\"\n }\n });\n }\n } catch {\n }\n if (integrationOptions.unregisterOriginalCallbacks) {\n unregisterOriginalCallback(this, eventName, fn);\n }\n return original.apply(this, [\n eventName,\n wrap(fn, {\n mechanism: {\n data: {\n handler: getFunctionName(fn),\n target\n },\n handled: false,\n type: \"auto.browser.browserapierrors.addEventListener\"\n }\n }),\n options\n ]);\n };\n });\n fill(proto, \"removeEventListener\", function(originalRemoveEventListener) {\n return function(eventName, fn, options) {\n try {\n if (Object.prototype.hasOwnProperty.call(fn, \"__sentry_wrapped__\")) {\n const originalEventHandler = fn.__sentry_wrapped__;\n if (originalEventHandler) {\n originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n }\n }\n } catch {\n }\n return originalRemoveEventListener.call(this, eventName, fn, options);\n };\n });\n}\nfunction isEventListenerObject(obj) {\n return typeof obj.handleEvent === \"function\";\n}\nfunction unregisterOriginalCallback(target, eventName, fn) {\n if (target && typeof target === \"object\" && \"removeEventListener\" in target && typeof target.removeEventListener === \"function\") {\n target.removeEventListener(eventName, fn);\n }\n}\n\nexport { browserApiErrorsIntegration };\n//# sourceMappingURL=browserapierrors.js.map\n","import { defineIntegration, debug, startSession, captureSession, getIsolationScope } from '@sentry/core/browser';\nimport { whenIdleOrHidden, addHistoryInstrumentationHandler } from '@sentry/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nconst browserSessionIntegration = defineIntegration((options = {}) => {\n const lifecycle = options.lifecycle ?? \"route\";\n return {\n name: \"BrowserSession\",\n setupOnce() {\n if (typeof WINDOW.document === \"undefined\") {\n DEBUG_BUILD && debug.warn(\"Using the `browserSessionIntegration` in non-browser environments is not supported.\");\n return;\n }\n startSession({ ignoreDuration: true });\n let initialSessionSent = false;\n whenIdleOrHidden(() => {\n if (!initialSessionSent) {\n captureSession();\n initialSessionSent = true;\n }\n });\n const isolationScope = getIsolationScope();\n let previousUser = isolationScope.getUser();\n isolationScope.addScopeListener((scope) => {\n const maybeNewUser = scope.getUser();\n if (previousUser?.id !== maybeNewUser?.id || previousUser?.ip_address !== maybeNewUser?.ip_address) {\n previousUser = maybeNewUser;\n if (initialSessionSent) {\n captureSession();\n }\n }\n });\n if (lifecycle === \"route\") {\n addHistoryInstrumentationHandler(({ from, to }) => {\n if (from !== to) {\n startSession({ ignoreDuration: true });\n captureSession();\n initialSessionSent = true;\n }\n });\n }\n }\n };\n});\n\nexport { browserSessionIntegration };\n//# sourceMappingURL=browsersession.js.map\n","import { defineIntegration, safeSetSpanJSONAttributes } from '@sentry/core/browser';\nimport { WINDOW } from '../helpers.js';\n\nconst INTEGRATION_NAME = \"CultureContext\";\nconst _cultureContextIntegration = (() => {\n return {\n name: INTEGRATION_NAME,\n preprocessEvent(event) {\n const culture = getCultureContext();\n if (culture) {\n event.contexts = {\n ...event.contexts,\n culture: { ...culture, ...event.contexts?.culture }\n };\n }\n },\n processSegmentSpan(span) {\n const culture = getCultureContext();\n if (culture) {\n safeSetSpanJSONAttributes(span, {\n \"culture.locale\": culture.locale,\n \"culture.timezone\": culture.timezone,\n \"culture.calendar\": culture.calendar\n });\n }\n }\n };\n});\nconst cultureContextIntegration = defineIntegration(_cultureContextIntegration);\nfunction getCultureContext() {\n try {\n const intl = WINDOW.Intl;\n if (!intl) {\n return void 0;\n }\n const options = intl.DateTimeFormat().resolvedOptions();\n return {\n locale: options.locale,\n timezone: options.timeZone,\n calendar: options.calendar\n };\n } catch {\n return void 0;\n }\n}\n\nexport { cultureContextIntegration };\n//# sourceMappingURL=culturecontext.js.map\n","import { defineIntegration, addGlobalErrorInstrumentationHandler, getClient, captureEvent, debug, addGlobalUnhandledRejectionInstrumentationHandler, isPrimitive, UNKNOWN_FUNCTION, getLocationHref, isString, stripDataUrlContent } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\nconst INTEGRATION_NAME = \"GlobalHandlers\";\nconst _globalHandlersIntegration = ((options = {}) => {\n const _options = {\n onerror: true,\n onunhandledrejection: true,\n ...options\n };\n return {\n name: INTEGRATION_NAME,\n setupOnce() {\n Error.stackTraceLimit = 50;\n },\n setup(client) {\n if (_options.onerror) {\n _installGlobalOnErrorHandler(client);\n globalHandlerLog(\"onerror\");\n }\n if (_options.onunhandledrejection) {\n _installGlobalOnUnhandledRejectionHandler(client);\n globalHandlerLog(\"onunhandledrejection\");\n }\n }\n };\n});\nconst globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\nfunction _installGlobalOnErrorHandler(client) {\n addGlobalErrorInstrumentationHandler((data) => {\n const { stackParser, attachStacktrace } = getOptions();\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n const { msg, url, line, column, error } = data;\n const event = _enhanceEventWithInitialFrame(\n eventFromUnknownInput(stackParser, error || msg, void 0, attachStacktrace, false),\n url,\n line,\n column\n );\n event.level = \"error\";\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: \"auto.browser.global_handlers.onerror\"\n }\n });\n });\n}\nfunction _installGlobalOnUnhandledRejectionHandler(client) {\n addGlobalUnhandledRejectionInstrumentationHandler((e) => {\n const { stackParser, attachStacktrace } = getOptions();\n if (getClient() !== client || shouldIgnoreOnError()) {\n return;\n }\n const error = _getUnhandledRejectionError(e);\n const event = isPrimitive(error) ? _eventFromRejectionWithPrimitive(error) : eventFromUnknownInput(stackParser, error, void 0, attachStacktrace, true);\n event.level = \"error\";\n captureEvent(event, {\n originalException: error,\n mechanism: {\n handled: false,\n type: \"auto.browser.global_handlers.onunhandledrejection\"\n }\n });\n });\n}\nfunction _getUnhandledRejectionError(error) {\n if (isPrimitive(error)) {\n return error;\n }\n try {\n if (\"reason\" in error) {\n return error.reason;\n }\n if (\"detail\" in error && \"reason\" in error.detail) {\n return error.detail.reason;\n }\n } catch {\n }\n return error;\n}\nfunction _eventFromRejectionWithPrimitive(reason) {\n return {\n exception: {\n values: [\n {\n type: \"UnhandledRejection\",\n // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n value: `Non-Error promise rejection captured with value: ${String(reason)}`\n }\n ]\n }\n };\n}\nfunction _enhanceEventWithInitialFrame(event, url, lineno, colno) {\n const e = event.exception = event.exception || {};\n const ev = e.values = e.values || [];\n const ev0 = ev[0] = ev[0] || {};\n const ev0s = ev0.stacktrace = ev0.stacktrace || {};\n const ev0sf = ev0s.frames = ev0s.frames || [];\n if (ev0sf.length === 0) {\n ev0sf.push({\n colno,\n lineno,\n filename: getFilenameFromUrl(url) ?? getLocationHref(),\n function: UNKNOWN_FUNCTION,\n in_app: true\n });\n }\n return event;\n}\nfunction globalHandlerLog(type) {\n DEBUG_BUILD && debug.log(`Global Handler attached: ${type}`);\n}\nfunction getOptions() {\n const client = getClient();\n const options = client?.getOptions() || {\n stackParser: () => [],\n attachStacktrace: false\n };\n return options;\n}\nfunction getFilenameFromUrl(url) {\n if (!isString(url) || url.length === 0) {\n return void 0;\n }\n if (url.startsWith(\"data:\")) {\n return `<${stripDataUrlContent(url, false)}>`;\n }\n return url;\n}\n\nexport { _eventFromRejectionWithPrimitive, _getUnhandledRejectionError, globalHandlersIntegration };\n//# sourceMappingURL=globalhandlers.js.map\n","import { defineIntegration, safeSetSpanJSONAttributes, filterCollectedUrl } from '@sentry/core/browser';\nimport { WINDOW, getHttpRequestData } from '../helpers.js';\nimport { HTTP_REQUEST_HEADER_KEY_BASE, URL_FULL, SENTRY_OP, USER_AGENT_ORIGINAL } from '@sentry/conventions/attributes';\n\nconst httpContextIntegration = defineIntegration(() => {\n return {\n name: \"HttpContext\",\n preprocessEvent(event) {\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n }\n const reqData = getHttpRequestData();\n const headers = {\n ...reqData.headers,\n ...event.request?.headers\n };\n event.request = {\n ...reqData,\n ...event.request,\n headers\n };\n },\n processSpan(span) {\n if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n return;\n }\n const reqData = getHttpRequestData();\n safeSetSpanJSONAttributes(span, {\n // This attribute is used by the \"Filter out events from legacy browsers and crawlers\" features on the Sentry backend.\n // Therefore, it's set on every span.\n [USER_AGENT_ORIGINAL]: reqData.headers[\"User-Agent\"],\n // These attributes, we only need on the segment span (analogous to the `request` context for events)\n ...span.is_segment && {\n // Coerce empty string to undefined so the helper's nullish check drops it,\n // rather than writing an empty `url.full` attribute onto the span.\n [URL_FULL]: span.attributes?.[SENTRY_OP] !== \"http.client\" ? filterCollectedUrl(reqData.url) : void 0,\n [`${HTTP_REQUEST_HEADER_KEY_BASE}.referer`]: reqData.headers[\"Referer\"]\n }\n });\n }\n };\n});\n\nexport { httpContextIntegration };\n//# sourceMappingURL=httpcontext.js.map\n","import { defineIntegration, applyAggregateErrorsToEvent } from '@sentry/core/browser';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nconst DEFAULT_KEY = \"cause\";\nconst DEFAULT_LIMIT = 5;\nconst INTEGRATION_NAME = \"LinkedErrors\";\nconst _linkedErrorsIntegration = ((options = {}) => {\n const limit = options.limit || DEFAULT_LIMIT;\n const key = options.key || DEFAULT_KEY;\n return {\n name: INTEGRATION_NAME,\n preprocessEvent(event, hint, client) {\n const options2 = client.getOptions();\n applyAggregateErrorsToEvent(\n // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n exceptionFromError,\n options2.stackParser,\n key,\n limit,\n event,\n hint\n );\n }\n };\n});\nconst linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n\nexport { linkedErrorsIntegration };\n//# sourceMappingURL=linkederrors.js.map\n","import { isElement, htmlTreeAsString } from '@sentry/browser-utils';\n\nconst HTML_ELEMENT_CONSTRUCTOR_NAME_REGEX = /^HTML(\\w*)Element$/;\nfunction normalizeStringifyValue(value) {\n if (typeof window !== \"undefined\" && value === window) {\n return \"[Window]\";\n }\n if (typeof document !== \"undefined\" && value === document) {\n return \"[Document]\";\n }\n if (isElement(value)) {\n const objName = getConstructorName(value);\n if (HTML_ELEMENT_CONSTRUCTOR_NAME_REGEX.test(objName)) {\n return `[HTMLElement: ${htmlTreeAsString(value)}]`;\n }\n }\n return void 0;\n}\nfunction getConstructorName(value) {\n const prototype = Object.getPrototypeOf(value);\n return prototype?.constructor ? prototype.constructor.name : \"null prototype\";\n}\n\nexport { normalizeStringifyValue };\n//# sourceMappingURL=normalizeStringifyValue.js.map\n","import { consoleSandbox, getLocationHref } from '@sentry/core/browser';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nfunction checkAndWarnIfIsEmbeddedBrowserExtension() {\n if (_isEmbeddedBrowserExtension()) {\n if (DEBUG_BUILD) {\n consoleSandbox(() => {\n console.error(\n \"[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/\"\n );\n });\n }\n return true;\n }\n return false;\n}\nfunction _isEmbeddedBrowserExtension() {\n if (typeof WINDOW.window === \"undefined\") {\n return false;\n }\n const _window = WINDOW;\n if (_window.nw) {\n return false;\n }\n const extensionObject = _window[\"chrome\"] || _window[\"browser\"];\n if (!extensionObject?.runtime?.id) {\n return false;\n }\n const href = getLocationHref();\n const isDedicatedExtensionPage = WINDOW === WINDOW.top && /^(?:chrome-extension|moz-extension|ms-browser-extension|safari-web-extension):\\/\\//.test(href);\n return !isDedicatedExtensionPage;\n}\n\nexport { checkAndWarnIfIsEmbeddedBrowserExtension };\n//# sourceMappingURL=detectBrowserExtension.js.map\n","import { inboundFiltersIntegration, functionToStringIntegration, conversationIdIntegration, dedupeIntegration, getIntegrationsToSetup, stackParserFromStackParserOptions, setNormalizeStringifier, initAndBind } from '@sentry/core/browser';\nimport { BrowserClient } from './client.js';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs.js';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors.js';\nimport { browserSessionIntegration } from './integrations/browsersession.js';\nimport { cultureContextIntegration } from './integrations/culturecontext.js';\nimport { globalHandlersIntegration } from './integrations/globalhandlers.js';\nimport { httpContextIntegration } from './integrations/httpcontext.js';\nimport { linkedErrorsIntegration } from './integrations/linkederrors.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { normalizeStringifyValue } from './normalizeStringifyValue.js';\nimport { checkAndWarnIfIsEmbeddedBrowserExtension } from './utils/detectBrowserExtension.js';\n\nfunction getDefaultIntegrations(_options) {\n return [\n // TODO(v11): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration`\n // eslint-disable-next-line typescript/no-deprecated\n inboundFiltersIntegration(),\n functionToStringIntegration(),\n conversationIdIntegration(),\n browserApiErrorsIntegration(),\n breadcrumbsIntegration(),\n globalHandlersIntegration(),\n linkedErrorsIntegration(),\n dedupeIntegration(),\n httpContextIntegration(),\n cultureContextIntegration(),\n browserSessionIntegration()\n ];\n}\nfunction init(options = {}) {\n const shouldDisableBecauseIsBrowserExtenstion = !options.skipBrowserExtensionCheck && checkAndWarnIfIsEmbeddedBrowserExtension();\n let defaultIntegrations = options.defaultIntegrations == null ? getDefaultIntegrations() : options.defaultIntegrations;\n const clientOptions = {\n ...options,\n enabled: shouldDisableBecauseIsBrowserExtenstion ? false : options.enabled,\n stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n integrations: getIntegrationsToSetup({\n integrations: options.integrations,\n defaultIntegrations\n }),\n transport: options.transport || makeFetchTransport\n };\n setNormalizeStringifier(normalizeStringifyValue);\n return initAndBind(BrowserClient, clientOptions);\n}\nfunction forceLoad() {\n}\nfunction onLoad(callback) {\n callback();\n}\n\nexport { forceLoad, getDefaultIntegrations, init, onLoad };\n//# sourceMappingURL=sdk.js.map\n","import { isPlainObject } from '@sentry/core';\n\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && \"nativeEvent\" in wat && \"preventDefault\" in wat && \"stopPropagation\" in wat;\n}\n\nexport { isSyntheticEvent };\n//# sourceMappingURL=isSyntheticEvent.js.map\n","import { setContext, init as init$1, normalizeStringifyValue as normalizeStringifyValue$1 } from '@sentry/browser';\nimport { applySdkMetadata, setNormalizeStringifier } from '@sentry/core/browser';\nimport { version } from 'react';\nimport { isSyntheticEvent } from './isSyntheticEvent.js';\n\nfunction init(options) {\n const opts = {\n ...options\n };\n applySdkMetadata(opts, \"react\");\n setContext(\"react\", { version });\n const client = init$1(opts);\n setNormalizeStringifier(normalizeStringifyValue);\n return client;\n}\nfunction normalizeStringifyValue(value) {\n if (isSyntheticEvent(value)) {\n return \"[SyntheticEvent]\";\n }\n return normalizeStringifyValue$1(value);\n}\n\nexport { init };\n//# sourceMappingURL=sdk.js.map\n","//#region src/_internal/globalThis.ts\nconst globalThis_ = typeof globalThis === \"object\" && globalThis || typeof window === \"object\" && window || typeof self === \"object\" && self || typeof global === \"object\" && global || (function() {\n\treturn this;\n})();\n//#endregion\nexport { globalThis_ };\n","//#region src/function/debounce.ts\n/**\n* Creates a debounced function that delays invoking the provided function until after `debounceMs` milliseconds\n* have elapsed since the last time the debounced function was invoked. The debounced function also has a `cancel`\n* method to cancel any pending execution.\n*\n* @template F - The type of function.\n* @param func - The function to debounce.\n* @param debounceMs - The number of milliseconds to delay.\n* @param options - The options object\n* @param options.signal - An optional AbortSignal to cancel the debounced function.\n* @param options.edges - An optional array specifying whether the function should be invoked on the leading edge, trailing edge, or both.\n* @returns A new debounced function with a `cancel` method.\n*\n* @example\n* const debouncedFunction = debounce(() => {\n* console.log('Function executed');\n* }, 1000);\n*\n* // Will log 'Function executed' after 1 second if not called again in that time\n* debouncedFunction();\n*\n* // Will not log anything as the previous call is canceled\n* debouncedFunction.cancel();\n*\n* // With AbortSignal\n* const controller = new AbortController();\n* const signal = controller.signal;\n* const debouncedWithSignal = debounce(() => {\n* console.log('Function executed');\n* }, 1000, { signal });\n*\n* debouncedWithSignal();\n*\n* // Will cancel the debounced function call\n* controller.abort();\n*/\nfunction debounce(func, debounceMs, { signal, edges } = {}) {\n\tlet pendingThis = void 0;\n\tlet pendingArgs = null;\n\tconst leading = edges != null && edges.includes(\"leading\");\n\tconst trailing = edges == null || edges.includes(\"trailing\");\n\tconst invoke = () => {\n\t\tif (pendingArgs !== null) {\n\t\t\tfunc.apply(pendingThis, pendingArgs);\n\t\t\tpendingThis = void 0;\n\t\t\tpendingArgs = null;\n\t\t}\n\t};\n\tconst onTimerEnd = () => {\n\t\tif (trailing) invoke();\n\t\tcancel();\n\t};\n\tlet timeoutId = null;\n\tconst schedule = () => {\n\t\tif (timeoutId != null) clearTimeout(timeoutId);\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutId = null;\n\t\t\tonTimerEnd();\n\t\t}, debounceMs);\n\t};\n\tconst cancelTimer = () => {\n\t\tif (timeoutId !== null) {\n\t\t\tclearTimeout(timeoutId);\n\t\t\ttimeoutId = null;\n\t\t}\n\t};\n\tconst cancel = () => {\n\t\tcancelTimer();\n\t\tpendingThis = void 0;\n\t\tpendingArgs = null;\n\t};\n\tconst flush = () => {\n\t\tinvoke();\n\t};\n\tconst debounced = function(...args) {\n\t\tif (signal?.aborted) return;\n\t\tpendingThis = this;\n\t\tpendingArgs = args;\n\t\tconst isFirstCall = timeoutId == null;\n\t\tschedule();\n\t\tif (leading && isFirstCall) invoke();\n\t};\n\tdebounced.schedule = schedule;\n\tdebounced.cancel = cancel;\n\tdebounced.flush = flush;\n\tsignal?.addEventListener(\"abort\", cancel, { once: true });\n\treturn debounced;\n}\n//#endregion\nexport { debounce };\n","//#region src/function/noop.ts\n/**\n* A no-operation function that does nothing.\n* This can be used as a placeholder or default function.\n*\n* @example\n* noop(); // Does nothing\n*\n* @returns This function does not return anything.\n*/\nfunction noop() {}\n//#endregion\nexport { noop };\n","//#region src/predicate/isPrimitive.ts\n/**\n* Checks whether a value is a JavaScript primitive.\n* JavaScript primitives include null, undefined, strings, numbers, booleans, symbols, and bigints.\n*\n* @param value The value to check.\n* @returns Returns true if `value` is a primitive, false otherwise.\n*\n* @example\n* isPrimitive(null); // true\n* isPrimitive(undefined); // true\n* isPrimitive('123'); // true\n* isPrimitive(false); // true\n* isPrimitive(true); // true\n* isPrimitive(Symbol('a')); // true\n* isPrimitive(123n); // true\n* isPrimitive({}); // false\n* isPrimitive(new Date()); // false\n* isPrimitive(new Map()); // false\n* isPrimitive(new Set()); // false\n* isPrimitive([1, 2, 3]); // false\n*/\nfunction isPrimitive(value) {\n\treturn value == null || typeof value !== \"object\" && typeof value !== \"function\";\n}\n//#endregion\nexport { isPrimitive };\n","//#region src/predicate/isTypedArray.ts\n/**\n* Checks if a value is a TypedArray.\n* @param x The value to check.\n* @returns Returns true if `x` is a TypedArray, false otherwise.\n*\n* @example\n* const arr = new Uint8Array([1, 2, 3]);\n* isTypedArray(arr); // true\n*\n* const regularArray = [1, 2, 3];\n* isTypedArray(regularArray); // false\n*\n* const buffer = new ArrayBuffer(16);\n* isTypedArray(buffer); // false\n*/\nfunction isTypedArray(x) {\n\treturn ArrayBuffer.isView(x) && !(x instanceof DataView);\n}\n//#endregion\nexport { isTypedArray };\n","import { isPrimitive } from \"../predicate/isPrimitive.mjs\";\nimport { isTypedArray } from \"../predicate/isTypedArray.mjs\";\n//#region src/object/clone.ts\n/**\n* Creates a shallow clone of the given object.\n*\n* @template T - The type of the object.\n* @param obj - The object to clone.\n* @returns A shallow clone of the given object.\n*\n* @example\n* // Clone a primitive value\n* const num = 29;\n* const clonedNum = clone(num);\n* console.log(clonedNum); // 29\n* console.log(clonedNum === num); // true\n*\n* @example\n* // Clone an array\n* const arr = [1, 2, 3];\n* const clonedArr = clone(arr);\n* console.log(clonedArr); // [1, 2, 3]\n* console.log(clonedArr === arr); // false\n*\n* @example\n* // Clone an object\n* const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] };\n* const clonedObj = clone(obj);\n* console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] }\n* console.log(clonedObj === obj); // false\n*/\nfunction clone(obj) {\n\tif (isPrimitive(obj)) return obj;\n\tif (Array.isArray(obj) || isTypedArray(obj) || obj instanceof ArrayBuffer || typeof SharedArrayBuffer !== \"undefined\" && obj instanceof SharedArrayBuffer) return obj.slice(0);\n\tconst prototype = Object.getPrototypeOf(obj);\n\tif (prototype == null) return Object.assign(Object.create(prototype), obj);\n\tconst Constructor = prototype.constructor;\n\tif (obj instanceof Date || obj instanceof Map || obj instanceof Set) return new Constructor(obj);\n\tif (obj instanceof RegExp) {\n\t\tconst newRegExp = new Constructor(obj);\n\t\tnewRegExp.lastIndex = obj.lastIndex;\n\t\treturn newRegExp;\n\t}\n\tif (obj instanceof DataView) return new Constructor(obj.buffer.slice(0));\n\tif (obj instanceof Error) {\n\t\tlet newError;\n\t\tif (obj instanceof AggregateError) newError = new Constructor(obj.errors, obj.message, { cause: obj.cause });\n\t\telse newError = new Constructor(obj.message, { cause: obj.cause });\n\t\tnewError.stack = obj.stack;\n\t\tObject.assign(newError, obj);\n\t\treturn newError;\n\t}\n\tif (typeof File !== \"undefined\" && obj instanceof File) return new Constructor([obj], obj.name, {\n\t\ttype: obj.type,\n\t\tlastModified: obj.lastModified\n\t});\n\tif (typeof obj === \"object\") return Object.assign(Object.create(prototype), obj);\n\treturn obj;\n}\n//#endregion\nexport { clone };\n","import { globalThis_ } from \"../_internal/globalThis.mjs\";\n//#region src/predicate/isBuffer.ts\n/**\n* Checks if the given value is a Buffer instance.\n*\n* This function tests whether the provided value is an instance of Buffer.\n* It returns `true` if the value is a Buffer, and `false` otherwise.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to `Buffer`.\n*\n* @param x - The value to check if it is a Buffer.\n* @returns Returns `true` if `x` is a Buffer, else `false`.\n*\n* @example\n* const buffer = Buffer.from(\"test\");\n* console.log(isBuffer(buffer)); // true\n*\n* const notBuffer = \"not a buffer\";\n* console.log(isBuffer(notBuffer)); // false\n*/\nfunction isBuffer(x) {\n\treturn typeof globalThis_.Buffer !== \"undefined\" && globalThis_.Buffer.isBuffer(x);\n}\n//#endregion\nexport { isBuffer };\n","//#region src/compat/_internal/getSymbols.ts\nfunction getSymbols(object) {\n\treturn Object.getOwnPropertySymbols(object).filter((symbol) => Object.prototype.propertyIsEnumerable.call(object, symbol));\n}\n//#endregion\nexport { getSymbols };\n","//#region src/compat/_internal/getTag.ts\n/**\n* Gets the `toStringTag` of `value`.\n*\n* @private\n* @param {T} value The value to query.\n* @returns {string} Returns the `Object.prototype.toString.call` result.\n*/\nfunction getTag(value) {\n\tif (value == null) return value === void 0 ? \"[object Undefined]\" : \"[object Null]\";\n\treturn Object.prototype.toString.call(value);\n}\n//#endregion\nexport { getTag };\n","//#region src/compat/_internal/tags.ts\nconst regexpTag = \"[object RegExp]\";\nconst stringTag = \"[object String]\";\nconst numberTag = \"[object Number]\";\nconst booleanTag = \"[object Boolean]\";\nconst argumentsTag = \"[object Arguments]\";\nconst symbolTag = \"[object Symbol]\";\nconst dateTag = \"[object Date]\";\nconst mapTag = \"[object Map]\";\nconst setTag = \"[object Set]\";\nconst arrayTag = \"[object Array]\";\nconst functionTag = \"[object Function]\";\nconst arrayBufferTag = \"[object ArrayBuffer]\";\nconst objectTag = \"[object Object]\";\nconst errorTag = \"[object Error]\";\nconst dataViewTag = \"[object DataView]\";\nconst uint8ArrayTag = \"[object Uint8Array]\";\nconst uint8ClampedArrayTag = \"[object Uint8ClampedArray]\";\nconst uint16ArrayTag = \"[object Uint16Array]\";\nconst uint32ArrayTag = \"[object Uint32Array]\";\nconst bigUint64ArrayTag = \"[object BigUint64Array]\";\nconst int8ArrayTag = \"[object Int8Array]\";\nconst int16ArrayTag = \"[object Int16Array]\";\nconst int32ArrayTag = \"[object Int32Array]\";\nconst bigInt64ArrayTag = \"[object BigInt64Array]\";\nconst float32ArrayTag = \"[object Float32Array]\";\nconst float64ArrayTag = \"[object Float64Array]\";\n//#endregion\nexport { argumentsTag, arrayBufferTag, arrayTag, bigInt64ArrayTag, bigUint64ArrayTag, booleanTag, dataViewTag, dateTag, errorTag, float32ArrayTag, float64ArrayTag, functionTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag };\n","import { isPrimitive } from \"../predicate/isPrimitive.mjs\";\nimport { isTypedArray } from \"../predicate/isTypedArray.mjs\";\nimport { getSymbols } from \"../compat/_internal/getSymbols.mjs\";\nimport { getTag } from \"../compat/_internal/getTag.mjs\";\nimport { argumentsTag, arrayBufferTag, arrayTag, booleanTag, dataViewTag, dateTag, float32ArrayTag, float64ArrayTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag } from \"../compat/_internal/tags.mjs\";\nimport { isBuffer } from \"../predicate/isBuffer.mjs\";\n//#region src/object/cloneDeepWith.ts\n/**\n* Deeply clones the given object.\n*\n* You can customize the deep cloning process using the `cloneValue` function.\n* The function takes the current value `value`, the property name `key`, and the entire object `obj` as arguments.\n* If the function returns a value, that value is used;\n* if it returns `undefined`, the default cloning method is used.\n*\n* @template T - The type of the object.\n* @param obj - The object to clone.\n* @param [cloneValue] - A function to customize the cloning process.\n* @returns A deep clone of the given object.\n*\n* @example\n* // Clone a primitive value\n* const num = 29;\n* const clonedNum = cloneDeepWith(num);\n* console.log(clonedNum); // 29\n* console.log(clonedNum === num); // true\n*\n* @example\n* // Clone an object with a customizer\n* const obj = { a: 1, b: 2 };\n* const clonedObj = cloneDeepWith(obj, (value) => {\n* if (typeof value === 'number') {\n* return value * 2; // Double the number\n* }\n* });\n* console.log(clonedObj); // { a: 2, b: 4 }\n* console.log(clonedObj === obj); // false\n*\n* @example\n* // Clone an array with a customizer\n* const arr = [1, 2, 3];\n* const clonedArr = cloneDeepWith(arr, (value) => {\n* if (typeof value === 'number') {\n* return value + 1; // Increment each number\n* }\n* });\n* console.log(clonedArr); // [2, 3, 4]\n* console.log(clonedArr === arr); // false\n*/\nfunction cloneDeepWith(obj, cloneValue) {\n\treturn cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), cloneValue);\n}\nfunction cloneDeepWithImpl(valueToClone, keyToClone, objectToClone, stack = /* @__PURE__ */ new Map(), cloneValue = void 0) {\n\tconst cloned = cloneValue?.(valueToClone, keyToClone, objectToClone, stack);\n\tif (cloned !== void 0) return cloned;\n\tif (isPrimitive(valueToClone)) return valueToClone;\n\tif (stack.has(valueToClone)) return stack.get(valueToClone);\n\tif (Array.isArray(valueToClone)) {\n\t\tconst result = new Array(valueToClone.length);\n\t\tstack.set(valueToClone, result);\n\t\tfor (let i = 0; i < valueToClone.length; i++) result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n\t\tif (Object.hasOwn(valueToClone, \"index\")) result.index = valueToClone.index;\n\t\tif (Object.hasOwn(valueToClone, \"input\")) result.input = valueToClone.input;\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Date) return new Date(valueToClone.getTime());\n\tif (valueToClone instanceof RegExp) {\n\t\tconst result = new RegExp(valueToClone.source, valueToClone.flags);\n\t\tresult.lastIndex = valueToClone.lastIndex;\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Map) {\n\t\tconst result = /* @__PURE__ */ new Map();\n\t\tstack.set(valueToClone, result);\n\t\tfor (const [key, value] of valueToClone) result.set(key, cloneDeepWithImpl(value, key, objectToClone, stack, cloneValue));\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Set) {\n\t\tconst result = /* @__PURE__ */ new Set();\n\t\tstack.set(valueToClone, result);\n\t\tfor (const value of valueToClone) result.add(cloneDeepWithImpl(value, void 0, objectToClone, stack, cloneValue));\n\t\treturn result;\n\t}\n\tif (isBuffer(valueToClone)) return valueToClone.subarray();\n\tif (isTypedArray(valueToClone)) {\n\t\tconst result = new (Object.getPrototypeOf(valueToClone)).constructor(valueToClone.length);\n\t\tstack.set(valueToClone, result);\n\t\tfor (let i = 0; i < valueToClone.length; i++) result[i] = cloneDeepWithImpl(valueToClone[i], i, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof ArrayBuffer || typeof SharedArrayBuffer !== \"undefined\" && valueToClone instanceof SharedArrayBuffer) return valueToClone.slice(0);\n\tif (valueToClone instanceof DataView) {\n\t\tconst result = new DataView(valueToClone.buffer.slice(0), valueToClone.byteOffset, valueToClone.byteLength);\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (typeof File !== \"undefined\" && valueToClone instanceof File) {\n\t\tconst result = new File([valueToClone], valueToClone.name, { type: valueToClone.type });\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (typeof Blob !== \"undefined\" && valueToClone instanceof Blob) {\n\t\tconst result = new Blob([valueToClone], { type: valueToClone.type });\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Error) {\n\t\tconst result = structuredClone(valueToClone);\n\t\tstack.set(valueToClone, result);\n\t\tresult.message = valueToClone.message;\n\t\tresult.name = valueToClone.name;\n\t\tresult.stack = valueToClone.stack;\n\t\tresult.cause = valueToClone.cause;\n\t\tresult.constructor = valueToClone.constructor;\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Boolean) {\n\t\tconst result = new Boolean(valueToClone.valueOf());\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof Number) {\n\t\tconst result = new Number(valueToClone.valueOf());\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (valueToClone instanceof String) {\n\t\tconst result = new String(valueToClone.valueOf());\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\tif (typeof valueToClone === \"object\" && isCloneableObject(valueToClone)) {\n\t\tconst result = Object.create(Object.getPrototypeOf(valueToClone));\n\t\tstack.set(valueToClone, result);\n\t\tcopyProperties(result, valueToClone, objectToClone, stack, cloneValue);\n\t\treturn result;\n\t}\n\treturn valueToClone;\n}\nfunction copyProperties(target, source, objectToClone = target, stack, cloneValue) {\n\tconst keys = [...Object.keys(source), ...getSymbols(source)];\n\tfor (let i = 0; i < keys.length; i++) {\n\t\tconst key = keys[i];\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(target, key);\n\t\tif (descriptor == null || descriptor.writable) target[key] = cloneDeepWithImpl(source[key], key, objectToClone, stack, cloneValue);\n\t}\n}\nfunction isCloneableObject(object) {\n\tswitch (getTag(object)) {\n\t\tcase argumentsTag:\n\t\tcase arrayTag:\n\t\tcase arrayBufferTag:\n\t\tcase dataViewTag:\n\t\tcase booleanTag:\n\t\tcase dateTag:\n\t\tcase float32ArrayTag:\n\t\tcase float64ArrayTag:\n\t\tcase int8ArrayTag:\n\t\tcase int16ArrayTag:\n\t\tcase int32ArrayTag:\n\t\tcase mapTag:\n\t\tcase numberTag:\n\t\tcase objectTag:\n\t\tcase regexpTag:\n\t\tcase setTag:\n\t\tcase stringTag:\n\t\tcase symbolTag:\n\t\tcase uint8ArrayTag:\n\t\tcase uint8ClampedArrayTag:\n\t\tcase uint16ArrayTag:\n\t\tcase uint32ArrayTag: return true;\n\t\tdefault: return false;\n\t}\n}\n//#endregion\nexport { cloneDeepWith, cloneDeepWithImpl, copyProperties };\n","import { cloneDeepWithImpl } from \"./cloneDeepWith.mjs\";\n//#region src/object/cloneDeep.ts\n/**\n* Creates a deep clone of the given object.\n*\n* @template T - The type of the object.\n* @param obj - The object to clone.\n* @returns A deep clone of the given object.\n*\n* @example\n* // Clone a primitive value\n* const num = 29;\n* const clonedNum = cloneDeep(num);\n* console.log(clonedNum); // 29\n* console.log(clonedNum === num); // true\n*\n* @example\n* // Clone an array\n* const arr = [1, 2, 3];\n* const clonedArr = cloneDeep(arr);\n* console.log(clonedArr); // [1, 2, 3]\n* console.log(clonedArr === arr); // false\n*\n* @example\n* // Clone an array with nested objects\n* const arr = [1, { a: 1 }, [1, 2, 3]];\n* const clonedArr = cloneDeep(arr);\n* arr[1].a = 2;\n* console.log(arr); // [1, { a: 2 }, [1, 2, 3]]\n* console.log(clonedArr); // [1, { a: 1 }, [1, 2, 3]]\n* console.log(clonedArr === arr); // false\n*\n* @example\n* // Clone an object\n* const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] };\n* const clonedObj = cloneDeep(obj);\n* console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] }\n* console.log(clonedObj === obj); // false\n*\n* @example\n* // Clone an object with nested objects\n* const obj = { a: 1, b: { c: 1 } };\n* const clonedObj = cloneDeep(obj);\n* obj.b.c = 2;\n* console.log(obj); // { a: 1, b: { c: 2 } }\n* console.log(clonedObj); // { a: 1, b: { c: 1 } }\n* console.log(clonedObj === obj); // false\n*/\nfunction cloneDeep(obj) {\n\treturn cloneDeepWithImpl(obj, void 0, obj, /* @__PURE__ */ new Map(), void 0);\n}\n//#endregion\nexport { cloneDeep };\n","//#region src/predicate/isPlainObject.ts\n/**\n* Checks if a given value is a plain object.\n*\n* @param value - The value to check.\n* @returns True if the value is a plain object, otherwise false.\n*\n* @example\n* ```typescript\n* // ✅👇 True\n*\n* isPlainObject({ }); // ✅\n* isPlainObject({ key: 'value' }); // ✅\n* isPlainObject({ key: new Date() }); // ✅\n* isPlainObject(new Object()); // ✅\n* isPlainObject(Object.create(null)); // ✅\n* isPlainObject({ nested: { key: true} }); // ✅\n* isPlainObject(new Proxy({}, {})); // ✅\n* isPlainObject({ [Symbol('tag')]: 'A' }); // ✅\n*\n* // ✅👇 (cross-realms, node context, workers, ...)\n* const runInNewContext = await import('node:vm').then(\n* (mod) => mod.runInNewContext\n* );\n* isPlainObject(runInNewContext('({})')); // ✅\n*\n* // ❌👇 False\n*\n* class Test { };\n* isPlainObject(new Test()) // ❌\n* isPlainObject(10); // ❌\n* isPlainObject(null); // ❌\n* isPlainObject('hello'); // ❌\n* isPlainObject([]); // ❌\n* isPlainObject(new Date()); // ❌\n* isPlainObject(new Uint8Array([1])); // ❌\n* isPlainObject(Buffer.from('ABC')); // ❌\n* isPlainObject(Promise.resolve({})); // ❌\n* isPlainObject(Object.create({})); // ❌\n* isPlainObject(new (class Cls {})); // ❌\n* isPlainObject(globalThis); // ❌,\n* ```\n*/\nfunction isPlainObject(value) {\n\tif (!value || typeof value !== \"object\") return false;\n\tconst proto = Object.getPrototypeOf(value);\n\tif (!(proto === null || proto === Object.prototype || Object.getPrototypeOf(proto) === null)) return false;\n\treturn Object.prototype.toString.call(value) === \"[object Object]\";\n}\n//#endregion\nexport { isPlainObject };\n","//#region src/_internal/isUnsafeProperty.ts\n/**\n* Checks if a property key is unsafe to access or copy directly.\n*\n* This function is used in functions like `get`, `unset`, and `merge` to prevent\n* prototype pollution attacks by identifying `__proto__`, which modifies the object's\n* prototype chain. `constructor` and `prototype` stay accessible here because lodash\n* keeps reads of them unrestricted; write paths use `isUnsafeToWriteProperty` instead,\n* which also blocks those keys.\n*\n* @param key - The property key to check\n* @returns `true` if the property is unsafe to access directly, `false` otherwise\n* @internal\n*/\nfunction isUnsafeProperty(key) {\n\treturn key === \"__proto__\";\n}\n//#endregion\nexport { isUnsafeProperty };\n","//#region src/compat/predicate/isPlainObject.ts\n/**\n* Checks if a given value is a plain object.\n*\n* A plain object is an object created by the `{}` literal, `new Object()`, or\n* `Object.create(null)`.\n*\n* This function also handles objects with custom\n* `Symbol.toStringTag` properties.\n*\n* `Symbol.toStringTag` is a built-in symbol that a constructor can use to customize the\n* default string description of objects.\n*\n* @param [object] - The value to check.\n* @returns True if the value is a plain object, otherwise false.\n*\n* @example\n* console.log(isPlainObject({})); // true\n* console.log(isPlainObject([])); // false\n* console.log(isPlainObject(null)); // false\n* console.log(isPlainObject(Object.create(null))); // true\n* console.log(isPlainObject(new Map())); // false\n*/\nfunction isPlainObject(object) {\n\tif (typeof object !== \"object\") return false;\n\tif (object == null) return false;\n\tif (Object.getPrototypeOf(object) === null) return true;\n\tif (Object.prototype.toString.call(object) !== \"[object Object]\") {\n\t\tconst tag = object[Symbol.toStringTag];\n\t\tif (tag == null) return false;\n\t\tif (!Object.getOwnPropertyDescriptor(object, Symbol.toStringTag)?.writable) return false;\n\t\treturn object.toString() === `[object ${tag}]`;\n\t}\n\tlet proto = object;\n\twhile (Object.getPrototypeOf(proto) !== null) proto = Object.getPrototypeOf(proto);\n\treturn Object.getPrototypeOf(object) === proto;\n}\n//#endregion\nexport { isPlainObject };\n","//#region src/compat/util/eq.ts\n/**\n* Performs a `SameValueZero` comparison between two values to determine if they are equivalent.\n*\n* @param value The value to compare.\n* @param other The other value to compare.\n* @returns Returns `true` if the values are equivalent, else `false`.\n*\n* @example\n* eq(1, 1); // true\n* eq(0, -0); // true\n* eq(NaN, NaN); // true\n* eq('a', Object('a')); // false\n*/\nfunction eq(value, other) {\n\treturn value === other || Number.isNaN(value) && Number.isNaN(other);\n}\n//#endregion\nexport { eq };\n","import { getSymbols } from \"../compat/_internal/getSymbols.mjs\";\nimport { getTag } from \"../compat/_internal/getTag.mjs\";\nimport { arrayBufferTag, arrayTag, bigInt64ArrayTag, bigUint64ArrayTag, booleanTag, dataViewTag, dateTag, errorTag, float32ArrayTag, float64ArrayTag, functionTag, int16ArrayTag, int32ArrayTag, int8ArrayTag, mapTag, numberTag, objectTag, regexpTag, setTag, stringTag, symbolTag, uint16ArrayTag, uint32ArrayTag, uint8ArrayTag, uint8ClampedArrayTag } from \"../compat/_internal/tags.mjs\";\nimport { isBuffer } from \"./isBuffer.mjs\";\nimport { isPlainObject } from \"./isPlainObject.mjs\";\nimport { eq } from \"../compat/util/eq.mjs\";\n//#region src/predicate/isEqualWith.ts\n/**\n* Compares two values for equality using a custom comparison function.\n*\n* The custom function allows for fine-tuned control over the comparison process. If it returns a boolean, that result determines the equality. If it returns undefined, the function falls back to the default equality comparison.\n*\n* This function also uses the custom equality function to compare values inside objects,\n* arrays, maps, sets, and other complex structures, ensuring a deep comparison.\n*\n* This approach provides flexibility in handling complex comparisons while maintaining efficient default behavior for simpler cases.\n*\n* The custom comparison function can take up to six parameters:\n* - `x`: The value from the first object `a`.\n* - `y`: The value from the second object `b`.\n* - `property`: The property key used to get `x` and `y`.\n* - `xParent`: The parent of the first value `x`.\n* - `yParent`: The parent of the second value `y`.\n* - `stack`: An internal stack (Map) to handle circular references.\n*\n* @param a - The first value to compare.\n* @param b - The second value to compare.\n* @param areValuesEqual - A function to customize the comparison.\n* If it returns a boolean, that result will be used. If it returns undefined,\n* the default equality comparison will be used.\n* @returns `true` if the values are equal according to the customizer, otherwise `false`.\n*\n* @example\n* const customizer = (a, b) => {\n* if (typeof a === 'string' && typeof b === 'string') {\n* return a.toLowerCase() === b.toLowerCase();\n* }\n* };\n* isEqualWith('Hello', 'hello', customizer); // true\n* isEqualWith({ a: 'Hello' }, { a: 'hello' }, customizer); // true\n* isEqualWith([1, 2, 3], [1, 2, 3], customizer); // true\n*/\nfunction isEqualWith(a, b, areValuesEqual) {\n\treturn isEqualWithImpl(a, b, void 0, void 0, void 0, void 0, areValuesEqual);\n}\nfunction isEqualWithImpl(a, b, property, aParent, bParent, stack, areValuesEqual) {\n\tconst result = areValuesEqual(a, b, property, aParent, bParent, stack);\n\tif (result !== void 0) return result;\n\tif (typeof a === typeof b) switch (typeof a) {\n\t\tcase \"bigint\":\n\t\tcase \"string\":\n\t\tcase \"boolean\":\n\t\tcase \"symbol\":\n\t\tcase \"undefined\": return a === b;\n\t\tcase \"number\": return a === b || Object.is(a, b);\n\t\tcase \"function\": return a === b;\n\t\tcase \"object\": return areObjectsEqual(a, b, stack, areValuesEqual);\n\t}\n\treturn areObjectsEqual(a, b, stack, areValuesEqual);\n}\nfunction areObjectsEqual(a, b, stack, areValuesEqual) {\n\tif (Object.is(a, b)) return true;\n\tlet aTag = getTag(a);\n\tlet bTag = getTag(b);\n\tif (aTag === \"[object Arguments]\") aTag = objectTag;\n\tif (bTag === \"[object Arguments]\") bTag = objectTag;\n\tif (aTag !== bTag) return false;\n\tswitch (aTag) {\n\t\tcase stringTag: return a.toString() === b.toString();\n\t\tcase numberTag: return eq(a.valueOf(), b.valueOf());\n\t\tcase booleanTag:\n\t\tcase dateTag:\n\t\tcase symbolTag: return Object.is(a.valueOf(), b.valueOf());\n\t\tcase regexpTag: return a.source === b.source && a.flags === b.flags;\n\t\tcase functionTag: return a === b;\n\t}\n\tstack = stack ?? /* @__PURE__ */ new Map();\n\tconst aStack = stack.get(a);\n\tconst bStack = stack.get(b);\n\tif (aStack != null && bStack != null) return aStack === b;\n\tstack.set(a, b);\n\tstack.set(b, a);\n\ttry {\n\t\tswitch (aTag) {\n\t\t\tcase mapTag:\n\t\t\t\tif (a.size !== b.size) return false;\n\t\t\t\tfor (const [key, value] of a.entries()) if (!b.has(key) || !isEqualWithImpl(value, b.get(key), key, a, b, stack, areValuesEqual)) return false;\n\t\t\t\treturn true;\n\t\t\tcase setTag: {\n\t\t\t\tif (a.size !== b.size) return false;\n\t\t\t\tconst aValues = Array.from(a.values());\n\t\t\t\tconst bValues = Array.from(b.values());\n\t\t\t\tfor (let i = 0; i < aValues.length; i++) {\n\t\t\t\t\tconst aValue = aValues[i];\n\t\t\t\t\tconst index = bValues.findIndex((bValue) => {\n\t\t\t\t\t\treturn isEqualWithImpl(aValue, bValue, void 0, a, b, stack, areValuesEqual);\n\t\t\t\t\t});\n\t\t\t\t\tif (index === -1) return false;\n\t\t\t\t\tbValues.splice(index, 1);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tcase arrayTag:\n\t\t\tcase uint8ArrayTag:\n\t\t\tcase uint8ClampedArrayTag:\n\t\t\tcase uint16ArrayTag:\n\t\t\tcase uint32ArrayTag:\n\t\t\tcase bigUint64ArrayTag:\n\t\t\tcase int8ArrayTag:\n\t\t\tcase int16ArrayTag:\n\t\t\tcase int32ArrayTag:\n\t\t\tcase bigInt64ArrayTag:\n\t\t\tcase float32ArrayTag:\n\t\t\tcase float64ArrayTag:\n\t\t\t\tif (isBuffer(a) !== isBuffer(b)) return false;\n\t\t\t\tif (a.length !== b.length) return false;\n\t\t\t\tfor (let i = 0; i < a.length; i++) if (!isEqualWithImpl(a[i], b[i], i, a, b, stack, areValuesEqual)) return false;\n\t\t\t\treturn true;\n\t\t\tcase arrayBufferTag:\n\t\t\t\tif (a.byteLength !== b.byteLength) return false;\n\t\t\t\treturn areObjectsEqual(new Uint8Array(a), new Uint8Array(b), stack, areValuesEqual);\n\t\t\tcase dataViewTag:\n\t\t\t\tif (a.byteLength !== b.byteLength || a.byteOffset !== b.byteOffset) return false;\n\t\t\t\treturn areObjectsEqual(new Uint8Array(a), new Uint8Array(b), stack, areValuesEqual);\n\t\t\tcase errorTag: return a.name === b.name && a.message === b.message;\n\t\t\tcase objectTag: {\n\t\t\t\tif (!(areObjectsEqual(a.constructor, b.constructor, stack, areValuesEqual) || isPlainObject(a) && isPlainObject(b))) return false;\n\t\t\t\tconst aKeys = [...Object.keys(a), ...getSymbols(a)];\n\t\t\t\tconst bKeys = [...Object.keys(b), ...getSymbols(b)];\n\t\t\t\tif (aKeys.length !== bKeys.length) return false;\n\t\t\t\tfor (let i = 0; i < aKeys.length; i++) {\n\t\t\t\t\tconst propKey = aKeys[i];\n\t\t\t\t\tconst aProp = a[propKey];\n\t\t\t\t\tif (!Object.hasOwn(b, propKey)) return false;\n\t\t\t\t\tconst bProp = b[propKey];\n\t\t\t\t\tif (!isEqualWithImpl(aProp, bProp, propKey, a, b, stack, areValuesEqual)) return false;\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\tdefault: return false;\n\t\t}\n\t} finally {\n\t\tstack.delete(a);\n\t\tstack.delete(b);\n\t}\n}\n//#endregion\nexport { isEqualWith };\n","import { noop } from \"../function/noop.mjs\";\nimport { isEqualWith } from \"./isEqualWith.mjs\";\n//#region src/predicate/isEqual.ts\n/**\n* Checks if two values are equal, including support for `Date`, `RegExp`, and deep object comparison.\n*\n* @param a - The first value to compare.\n* @param b - The second value to compare.\n* @returns `true` if the values are equal, otherwise `false`.\n*\n* @example\n* isEqual(1, 1); // true\n* isEqual({ a: 1 }, { a: 1 }); // true\n* isEqual(/abc/g, /abc/g); // true\n* isEqual(new Date('2020-01-01'), new Date('2020-01-01')); // true\n* isEqual([1, 2, 3], [1, 2, 3]); // true\n*/\nfunction isEqual(a, b) {\n\treturn isEqualWith(a, b, noop);\n}\n//#endregion\nexport { isEqual };\n","//#region src/predicate/isLength.ts\n/**\n* Checks if a given value is a valid length.\n*\n* A valid length is of type `number`, is a non-negative integer, and is less than or equal to\n* JavaScript's maximum safe integer (`Number.MAX_SAFE_INTEGER`).\n* It returns `true` if the value is a valid length, and `false` otherwise.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the\n* argument to a valid length (`number`).\n*\n* @param value The value to check.\n* @returns Returns `true` if `value` is a valid length, else `false`.\n*\n* @example\n* isLength(0); // true\n* isLength(42); // true\n* isLength(-1); // false\n* isLength(1.5); // false\n* isLength(Number.MAX_SAFE_INTEGER); // true\n* isLength(Number.MAX_SAFE_INTEGER + 1); // false\n*/\nfunction isLength(value) {\n\treturn Number.isSafeInteger(value) && value >= 0;\n}\n//#endregion\nexport { isLength };\n","//#region src/string/escape.ts\nconst htmlEscapes = {\n\t\"&\": \"&\",\n\t\"<\": \"<\",\n\t\">\": \">\",\n\t\"\\\"\": \""\",\n\t\"'\": \"'\"\n};\n/**\n* Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `str` to their corresponding HTML entities.\n* For example, \"<\" becomes \"<\".\n*\n* @param str The string to escape.\n* @returns Returns the escaped string.\n*\n* @example\n* escape('This is a
element.'); // returns 'This is a <div> element.'\n* escape('This is a \"quote\"'); // returns 'This is a "quote"'\n* escape(\"This is a 'quote'\"); // returns 'This is a 'quote''\n* escape('This is a & symbol'); // returns 'This is a & symbol'\n*/\nfunction escape(str) {\n\treturn str.replace(/[&<>\"']/g, (match) => htmlEscapes[match]);\n}\n//#endregion\nexport { escape };\n","import { isLength } from \"../../predicate/isLength.mjs\";\n//#region src/compat/predicate/isArrayLike.ts\n/**\n* Checks if `value` is array-like.\n*\n* @param value The value to check.\n* @returns Returns `true` if `value` is array-like, else `false`.\n*\n* @example\n* isArrayLike([1, 2, 3]); // true\n* isArrayLike('abc'); // true\n* isArrayLike({ 0: 'a', length: 1 }); // true\n* isArrayLike({}); // false\n* isArrayLike(null); // false\n* isArrayLike(undefined); // false\n*/\nfunction isArrayLike(value) {\n\treturn value != null && typeof value !== \"function\" && isLength(value.length);\n}\n//#endregion\nexport { isArrayLike };\n","//#region src/compat/predicate/isSymbol.ts\n/**\n* Check whether a value is a symbol.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to `symbol`.\n*\n* @param value The value to check.\n* @returns Returns `true` if `value` is a symbol, else `false`.\n* @example\n* isSymbol(Symbol.iterator);\n* // => true\n*\n* isSymbol('abc');\n* // => false\n*/\nfunction isSymbol(value) {\n\treturn typeof value === \"symbol\" || value instanceof Symbol;\n}\n//#endregion\nexport { isSymbol };\n","import { isSymbol } from \"../predicate/isSymbol.mjs\";\n//#region src/compat/util/toString.ts\n/**\n* Converts `value` to a string.\n*\n* An empty string is returned for `null` and `undefined` values.\n* The sign of `-0` is preserved.\n*\n* @param value - The value to convert.\n* @returns Returns the converted string.\n*\n* @example\n* toString(null) // returns ''\n* toString(undefined) // returns ''\n* toString(-0) // returns '-0'\n* toString([1, 2, -0]) // returns '1,2,-0'\n* toString([Symbol('a'), Symbol('b')]) // returns 'Symbol(a),Symbol(b)'\n*/\nfunction toString(value) {\n\tif (value == null) return \"\";\n\treturn baseToString(value);\n}\nfunction baseToString(value) {\n\tif (typeof value === \"string\") return value;\n\tif (Array.isArray(value)) return value.map(baseToString).join(\",\");\n\tif (isSymbol(value)) return value.toString();\n\tconst result = value + \"\";\n\tif (result === \"0\" && Object.is(Number(value), -0)) return \"-0\";\n\treturn result;\n}\n//#endregion\nexport { toString };\n","//#region src/compat/_internal/toKey.ts\n/**\n* Converts `value` to a string key if it's not a string or symbol.\n*\n* @private\n* @param {unknown} value The value to inspect.\n* @returns {string|symbol} Returns the key.\n*/\nfunction toKey(value) {\n\tif (typeof value === \"string\" || typeof value === \"symbol\") return value;\n\tif (Object.is(value?.valueOf?.(), -0)) return \"-0\";\n\treturn String(value);\n}\n//#endregion\nexport { toKey };\n","import { toKey } from \"../_internal/toKey.mjs\";\nimport { toString } from \"./toString.mjs\";\n//#region src/compat/util/toPath.ts\n/**\n* Converts a deep key string into an array of path segments.\n*\n* This function takes a string representing a deep key (e.g., 'a.b.c' or 'a[b][c]') and breaks it down into an array of strings, each representing a segment of the path.\n*\n* @param deepKey - The deep key string to convert.\n* @returns An array of strings, each representing a segment of the path.\n*\n* Examples:\n*\n* toPath('a.b.c') // Returns ['a', 'b', 'c']\n* toPath('a[b][c]') // Returns ['a', 'b', 'c']\n* toPath('.a.b.c') // Returns ['', 'a', 'b', 'c']\n* toPath('a[\"b.c\"].d') // Returns ['a', 'b.c', 'd']\n* toPath('') // Returns []\n* toPath('.a[b].c.d[e][\"f.g\"].h') // Returns ['', 'a', 'b', 'c', 'd', 'e', 'f.g', 'h']\n*/\nfunction toPath(deepKey) {\n\tif (Array.isArray(deepKey)) return deepKey.map(toKey);\n\tif (typeof deepKey === \"symbol\") return [deepKey];\n\tdeepKey = toString(deepKey);\n\tconst result = [];\n\tconst length = deepKey.length;\n\tif (length === 0) return result;\n\tlet index = 0;\n\tlet key = \"\";\n\tlet quoteChar = \"\";\n\tlet bracket = false;\n\tlet bracketHadQuote = false;\n\tconst bracketNumberRegex = /^-?\\d+(?:\\.\\d+)?$/;\n\tif (deepKey.charCodeAt(0) === 46) result.push(\"\");\n\twhile (index < length) {\n\t\tconst char = deepKey[index];\n\t\tif (quoteChar) if (char === \"\\\\\" && index + 1 < length) {\n\t\t\tindex++;\n\t\t\tkey += deepKey[index];\n\t\t} else if (char === quoteChar) quoteChar = \"\";\n\t\telse key += char;\n\t\telse if (bracket) if (char === \"\\\"\" || char === \"'\") {\n\t\t\tquoteChar = char;\n\t\t\tbracketHadQuote = true;\n\t\t} else if (char === \"]\") {\n\t\t\tbracket = false;\n\t\t\tif (!bracketHadQuote && key.includes(\".\") && !bracketNumberRegex.test(key)) {\n\t\t\t\tconst segments = key.split(\".\");\n\t\t\t\tfor (let i = 0; i < segments.length; i++) if (segments[i] !== \"\") result.push(segments[i]);\n\t\t\t} else result.push(key);\n\t\t\tkey = \"\";\n\t\t} else key += char;\n\t\telse if (char === \"[\") {\n\t\t\tbracket = true;\n\t\t\tbracketHadQuote = false;\n\t\t\tif (key) {\n\t\t\t\tresult.push(key);\n\t\t\t\tkey = \"\";\n\t\t\t}\n\t\t} else if (char === \".\") {\n\t\t\tif (key) {\n\t\t\t\tresult.push(key);\n\t\t\t\tkey = \"\";\n\t\t\t}\n\t\t\tconst next = deepKey[index + 1];\n\t\t\tif (next === void 0 || next === \".\") result.push(\"\");\n\t\t} else key += char;\n\t\tindex++;\n\t}\n\tif (key) result.push(key);\n\treturn result;\n}\n//#endregion\nexport { toPath };\n","//#region src/compat/_internal/isDeepKey.ts\n/** Matches any deep property path. Examples: `a.b`, `a[0]`, `a[\"b\"]` */\nconst regexIsDeepProp = /\\.|(\\[(?:[^[\\]]*|([\"'])(?:(?!\\2)[^\\\\]|\\\\.)*?\\2)\\])/;\n/**\n* Checks if a given key is a deep key.\n*\n* A deep key is a string that contains a dot (.) or square brackets with a property accessor.\n*\n* @param {PropertyKey} key - The key to check.\n* @returns {boolean} - Returns true if the key is a deep key, otherwise false.\n*\n* Examples:\n*\n* isDeepKey('a.b') // true\n* isDeepKey('a[b]') // true\n* isDeepKey('a') // false\n* isDeepKey(123) // false\n* isDeepKey('a.b.c') // true\n* isDeepKey('a[b][c]') // true\n* isDeepKey('a.') // false\n* isDeepKey('.a') // false\n* isDeepKey('a[b') // false\n* isDeepKey('a]b]') // false\n* isDeepKey('a][b') // false\n* isDeepKey('') // false\n* isDeepKey('a[0]') // true\n*\n*/\nfunction isDeepKey(key) {\n\tswitch (typeof key) {\n\t\tcase \"number\":\n\t\tcase \"symbol\": return false;\n\t\tcase \"string\":\n\t\t\tif (key === \"\" || key.startsWith(\".\") || key.endsWith(\".\")) return false;\n\t\t\treturn regexIsDeepProp.test(key);\n\t\tdefault: return false;\n\t}\n}\n//#endregion\nexport { isDeepKey };\n","import { isUnsafeProperty } from \"../../_internal/isUnsafeProperty.mjs\";\nimport { isDeepKey } from \"../_internal/isDeepKey.mjs\";\nimport { toKey } from \"../_internal/toKey.mjs\";\nimport { toPath } from \"../util/toPath.mjs\";\n//#region src/compat/object/get.ts\n/**\n* Retrieves the value at a given path from an object. If the resolved value is undefined, the defaultValue is returned instead.\n*\n* @param object - The object to query.\n* @param path - The path of the property to get.\n* @param [defaultValue] - The value returned if the resolved value is undefined.\n* @returns Returns the resolved value.\n*\n* @example\n* const object = { a: { b: { c: 1 } } };\n* get(object, 'a.b.c');\n* // => 1\n*\n* get(object, ['a', 'b', 'c']);\n* // => 1\n*\n* get(object, 'a.b.d', 'default');\n* // => 'default'\n*/\nfunction get(object, path, defaultValue) {\n\tif (object == null) return defaultValue;\n\tswitch (typeof path) {\n\t\tcase \"string\": {\n\t\t\tif (isUnsafeProperty(path)) return defaultValue;\n\t\t\tconst result = object[path];\n\t\t\tif (result === void 0) if (isDeepKey(path) && !Object.hasOwn(object, path)) return get(object, toPath(path), defaultValue);\n\t\t\telse return defaultValue;\n\t\t\treturn result;\n\t\t}\n\t\tcase \"number\":\n\t\tcase \"symbol\": {\n\t\t\tif (typeof path === \"number\") path = toKey(path);\n\t\t\tconst result = object[path];\n\t\t\tif (result === void 0) return defaultValue;\n\t\t\treturn result;\n\t\t}\n\t\tdefault: {\n\t\t\tif (Array.isArray(path)) return getWithPath(object, path, defaultValue);\n\t\t\tif (Object.is(path?.valueOf(), -0)) path = \"-0\";\n\t\t\telse path = String(path);\n\t\t\tif (isUnsafeProperty(path)) return defaultValue;\n\t\t\tconst result = object[path];\n\t\t\tif (result === void 0) return defaultValue;\n\t\t\treturn result;\n\t\t}\n\t}\n}\nfunction getWithPath(object, path, defaultValue) {\n\tif (path.length === 0) return defaultValue;\n\tlet current = object;\n\tfor (let index = 0; index < path.length; index++) {\n\t\tif (current == null) return defaultValue;\n\t\tif (isUnsafeProperty(path[index])) return defaultValue;\n\t\tcurrent = current[path[index]];\n\t}\n\tif (current === void 0) return defaultValue;\n\treturn current;\n}\n//#endregion\nexport { get };\n","//#region src/compat/predicate/isObject.ts\n/**\n* Checks if the given value is an object. An object is a value that is\n* not a primitive type (string, number, boolean, symbol, null, or undefined).\n*\n* This function tests whether the provided value is an object or not.\n* It returns `true` if the value is an object, and `false` otherwise.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to an object value.\n*\n* @param value - The value to check if it is an object.\n* @returns `true` if the value is an object, `false` otherwise.\n*\n* @example\n* const value1 = {};\n* const value2 = [1, 2, 3];\n* const value3 = () => {};\n* const value4 = null;\n*\n* console.log(isObject(value1)); // true\n* console.log(isObject(value2)); // true\n* console.log(isObject(value3)); // true\n* console.log(isObject(value4)); // false\n*/\nfunction isObject(value) {\n\treturn value !== null && (typeof value === \"object\" || typeof value === \"function\");\n}\n//#endregion\nexport { isObject };\n","import { getTag } from \"../_internal/getTag.mjs\";\nimport { argumentsTag, booleanTag, numberTag, stringTag } from \"../_internal/tags.mjs\";\nimport { cloneDeepWith as cloneDeepWith$1, copyProperties } from \"../../object/cloneDeepWith.mjs\";\n//#region src/compat/object/cloneDeepWith.ts\n/**\n* Creates a deep clone of the given object using a customizer function.\n*\n* @template T - The type of the object.\n* @param obj - The object to clone.\n* @param [cloneValue] - A function to customize the cloning process.\n* @returns A deep clone of the given object.\n*\n* @example\n* // Clone a primitive value\n* const num = 29;\n* const clonedNum = cloneDeepWith(num);\n* console.log(clonedNum); // 29\n* console.log(clonedNum === num); // true\n*\n* @example\n* // Clone an object with a customizer\n* const obj = { a: 1, b: 2 };\n* const clonedObj = cloneDeepWith(obj, (value) => {\n* if (typeof value === 'number') {\n* return value * 2; // Double the number\n* }\n* });\n* console.log(clonedObj); // { a: 2, b: 4 }\n* console.log(clonedObj === obj); // false\n*\n* @example\n* // Clone an array with a customizer\n* const arr = [1, 2, 3];\n* const clonedArr = cloneDeepWith(arr, (value) => {\n* if (typeof value === 'number') {\n* return value + 1; // Increment each number\n* }\n* });\n* console.log(clonedArr); // [2, 3, 4]\n* console.log(clonedArr === arr); // false\n*/\nfunction cloneDeepWith(obj, customizer) {\n\treturn cloneDeepWith$1(obj, (value, key, object, stack) => {\n\t\tconst cloned = customizer?.(value, key, object, stack);\n\t\tif (cloned !== void 0) return cloned;\n\t\tif (typeof obj !== \"object\") return;\n\t\tif (getTag(obj) === \"[object Object]\" && typeof obj.constructor !== \"function\") {\n\t\t\tconst result = {};\n\t\t\tstack.set(obj, result);\n\t\t\tcopyProperties(result, obj, object, stack);\n\t\t\treturn result;\n\t\t}\n\t\tswitch (Object.prototype.toString.call(obj)) {\n\t\t\tcase numberTag:\n\t\t\tcase stringTag:\n\t\t\tcase booleanTag: {\n\t\t\t\tconst result = new obj.constructor(obj?.valueOf());\n\t\t\t\tcopyProperties(result, obj);\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tcase argumentsTag: {\n\t\t\t\tconst result = {};\n\t\t\t\tcopyProperties(result, obj);\n\t\t\t\tresult.length = obj.length;\n\t\t\t\tresult[Symbol.iterator] = obj[Symbol.iterator];\n\t\t\t\treturn result;\n\t\t\t}\n\t\t\tdefault: return;\n\t\t}\n\t});\n}\n//#endregion\nexport { cloneDeepWith };\n","import { cloneDeepWith } from \"./cloneDeepWith.mjs\";\n//#region src/compat/object/cloneDeep.ts\n/**\n* Creates a deep clone of the given object.\n*\n* @template T - The type of the object.\n* @param obj - The object to clone.\n* @returns A deep clone of the given object.\n*\n* @example\n* // Clone a primitive value\n* const num = 29;\n* const clonedNum = clone(num);\n* console.log(clonedNum); // 29\n* console.log(clonedNum === num); // true\n*\n* @example\n* // Clone an array\n* const arr = [1, 2, 3];\n* const clonedArr = cloneDeep(arr);\n* console.log(clonedArr); // [1, 2, 3]\n* console.log(clonedArr === arr); // false\n*\n* @example\n* // Clone an array with nested objects\n* const arr = [1, { a: 1 }, [1, 2, 3]];\n* const clonedArr = cloneDeep(arr);\n* arr[1].a = 2;\n* console.log(arr); // [1, { a: 2 }, [1, 2, 3]]\n* console.log(clonedArr); // [1, { a: 1 }, [1, 2, 3]]\n* console.log(clonedArr === arr); // false\n*\n* @example\n* // Clone an object\n* const obj = { a: 1, b: 'es-toolkit', c: [1, 2, 3] };\n* const clonedObj = cloneDeep(obj);\n* console.log(clonedObj); // { a: 1, b: 'es-toolkit', c: [1, 2, 3] }\n* console.log(clonedObj === obj); // false\n*\n* @example\n* // Clone an object with nested objects\n* const obj = { a: 1, b: { c: 1 } };\n* const clonedObj = cloneDeep(obj);\n* obj.b.c = 2;\n* console.log(obj); // { a: 1, b: { c: 2 } }\n* console.log(clonedObj); // { a: 1, b: { c: 1 } }\n* console.log(clonedObj === obj); // false\n*/\nfunction cloneDeep(obj) {\n\treturn cloneDeepWith(obj);\n}\n//#endregion\nexport { cloneDeep };\n","import { getTag } from \"../_internal/getTag.mjs\";\n//#region src/compat/predicate/isArguments.ts\n/**\n* Checks if the given value is an arguments object.\n*\n* This function tests whether the provided value is an arguments object or not.\n* It returns `true` if the value is an arguments object, and `false` otherwise.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to an arguments object.\n*\n* @param value - The value to test if it is an arguments object.\n* @returns `true` if the value is an arguments, `false` otherwise.\n*\n* @example\n* const args = (function() { return arguments; })();\n* const strictArgs = (function() { 'use strict'; return arguments; })();\n* const value = [1, 2, 3];\n*\n* console.log(isArguments(args)); // true\n* console.log(isArguments(strictArgs)); // true\n* console.log(isArguments(value)); // false\n*/\nfunction isArguments(value) {\n\treturn value !== null && typeof value === \"object\" && getTag(value) === \"[object Arguments]\";\n}\n//#endregion\nexport { isArguments };\n","//#region src/compat/_internal/isIndex.ts\nconst IS_UNSIGNED_INTEGER = /^(?:0|[1-9]\\d*)$/;\nfunction isIndex(value, length = Number.MAX_SAFE_INTEGER) {\n\tswitch (typeof value) {\n\t\tcase \"number\": return Number.isInteger(value) && value >= 0 && value < length;\n\t\tcase \"symbol\": return false;\n\t\tcase \"string\": return IS_UNSIGNED_INTEGER.test(value);\n\t}\n}\n//#endregion\nexport { isIndex };\n","import { isDeepKey } from \"../_internal/isDeepKey.mjs\";\nimport { toKey } from \"../_internal/toKey.mjs\";\nimport { toPath } from \"../util/toPath.mjs\";\nimport { isIndex } from \"../_internal/isIndex.mjs\";\nimport { isArguments } from \"../predicate/isArguments.mjs\";\n//#region src/compat/object/has.ts\n/**\n* Checks if a given path exists within an object.\n*\n* You can provide the path as a single property key, an array of property keys,\n* or a string representing a deep path.\n*\n* If the path is an index and the object is an array or an arguments object, the function will verify\n* if the index is valid and within the bounds of the array or arguments object, even if the array or\n* arguments object is sparse (i.e., not all indexes are defined).\n*\n* @param object - The object to query.\n* @param path - The path to check. This can be a single property key,\n* an array of property keys, or a string representing a deep path.\n* @returns Returns `true` if the path exists in the object, `false` otherwise.\n*\n* @example\n*\n* const obj = { a: { b: { c: 3 } } };\n*\n* has(obj, 'a'); // true\n* has(obj, ['a', 'b']); // true\n* has(obj, ['a', 'b', 'c']); // true\n* has(obj, 'a.b.c'); // true\n* has(obj, 'a.b.d'); // false\n* has(obj, ['a', 'b', 'c', 'd']); // false\n* has([], 0); // false\n* has([1, 2, 3], 2); // true\n* has([1, 2, 3], 5); // false\n*/\nfunction has(object, path) {\n\tlet resolvedPath;\n\tif (Array.isArray(path)) resolvedPath = path;\n\telse if (typeof path === \"string\" && isDeepKey(path) && !(path in Object(object))) resolvedPath = toPath(path);\n\telse resolvedPath = [path];\n\tif (resolvedPath.length === 0) return false;\n\tlet current = object;\n\tfor (let i = 0; i < resolvedPath.length; i++) {\n\t\tconst key = toKey(resolvedPath[i]);\n\t\tif (current == null || !Object.hasOwn(current, key)) {\n\t\t\tif (!((Array.isArray(current) || isArguments(current)) && isIndex(key) && Number(key) < current.length)) return false;\n\t\t}\n\t\tcurrent = current[key];\n\t}\n\treturn true;\n}\n//#endregion\nexport { has };\n","//#region src/compat/predicate/isObjectLike.ts\n/**\n* Checks if the given value is object-like.\n*\n* A value is object-like if its type is object and it is not null.\n*\n* This function can also serve as a type predicate in TypeScript, narrowing the type of the argument to an object-like value.\n*\n* @param value - The value to test if it is an object-like.\n* @returns `true` if the value is an object-like, `false` otherwise.\n*\n* @example\n* const value1 = { a: 1 };\n* const value2 = [1, 2, 3];\n* const value3 = 'abc';\n* const value4 = () => {};\n* const value5 = null;\n*\n* console.log(isObjectLike(value1)); // true\n* console.log(isObjectLike(value2)); // true\n* console.log(isObjectLike(value3)); // false\n* console.log(isObjectLike(value4)); // false\n* console.log(isObjectLike(value5)); // false\n*/\nfunction isObjectLike(value) {\n\treturn typeof value === \"object\" && value !== null;\n}\n//#endregion\nexport { isObjectLike };\n","import { isArrayLike } from \"./isArrayLike.mjs\";\nimport { isObjectLike } from \"./isObjectLike.mjs\";\n//#region src/compat/predicate/isArrayLikeObject.ts\n/**\n* Checks if the given value is a non-primitive, array-like object.\n*\n* @param value The value to check.\n* @returns `true` if the value is a non-primitive, array-like object, `false` otherwise.\n*\n* @example\n* isArrayLikeObject([1, 2, 3]); // true\n* isArrayLikeObject({ 0: 'a', length: 1 }); // true\n* isArrayLikeObject('abc'); // false\n* isArrayLikeObject(()=>{}); // false\n*/\nfunction isArrayLikeObject(value) {\n\treturn isObjectLike(value) && isArrayLike(value);\n}\n//#endregion\nexport { isArrayLikeObject };\n","import { isSymbol } from \"../predicate/isSymbol.mjs\";\n//#region src/compat/_internal/isKey.ts\n/** Matches any deep property path. (e.g. `a.b[0].c`)*/\nconst regexIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/;\n/** Matches any word character (alphanumeric & underscore).*/\nconst regexIsPlainProp = /^\\w*$/;\n/**\n* Checks if `value` is a property name and not a property path. (It's ok that the `value` is not in the keys of the `object`)\n* @param {unknown} value The value to check.\n* @param {unknown} object The object to query.\n* @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n*\n* @example\n* isKey('a', { a: 1 });\n* // => true\n*\n* isKey('a.b', { a: { b: 2 } });\n* // => false\n*/\nfunction isKey(value, object) {\n\tif (Array.isArray(value)) return false;\n\tif (typeof value === \"number\" || typeof value === \"boolean\" || value == null || isSymbol(value)) return true;\n\treturn typeof value === \"string\" && (regexIsPlainProp.test(value) || !regexIsDeepProp.test(value)) || object != null && Object.hasOwn(object, value);\n}\n//#endregion\nexport { isKey };\n","import { isTypedArray as isTypedArray$1 } from \"../../predicate/isTypedArray.mjs\";\n//#region src/compat/predicate/isTypedArray.ts\n/**\n* Checks if a value is a TypedArray.\n* @param x The value to check.\n* @returns Returns true if `x` is a TypedArray, false otherwise.\n*\n* @example\n* const arr = new Uint8Array([1, 2, 3]);\n* isTypedArray(arr); // true\n*\n* const regularArray = [1, 2, 3];\n* isTypedArray(regularArray); // false\n*\n* const buffer = new ArrayBuffer(16);\n* isTypedArray(buffer); // false\n*/\nfunction isTypedArray(x) {\n\treturn isTypedArray$1(x);\n}\n//#endregion\nexport { isTypedArray };\n","import { eq } from \"../util/eq.mjs\";\n//#region src/compat/_internal/assignValue.ts\nconst assignValue = (object, key, value) => {\n\tconst objValue = object[key];\n\tif (!(Object.hasOwn(object, key) && eq(objValue, value)) || value === void 0 && !(key in object)) object[key] = value;\n};\n//#endregion\nexport { assignValue };\n","//#region src/_internal/isUnsafeToWriteProperty.ts\n/**\n* Checks if a property key is unsafe to write to.\n*\n* Writing through `__proto__`, `constructor`, or `prototype` can reach\n* `Object.prototype` and pollute every object, so write paths like `set`,\n* `update`, and `zipObjectDeep` abort when a path segment matches one of\n* these keys, matching lodash's behavior.\n*\n* Read paths like `get` and `unset` use `isUnsafeProperty` instead, which\n* only blocks `__proto__`; lodash keeps reads of `constructor` and\n* `prototype` unrestricted.\n*\n* @param key - The property key to check\n* @returns `true` if the property is unsafe to write to, `false` otherwise\n* @internal\n*/\nfunction isUnsafeToWriteProperty(key) {\n\treturn key === \"__proto__\" || key === \"constructor\" || key === \"prototype\";\n}\n//#endregion\nexport { isUnsafeToWriteProperty };\n","import { toKey } from \"../_internal/toKey.mjs\";\nimport { toPath } from \"../util/toPath.mjs\";\nimport { get } from \"./get.mjs\";\nimport { isObject } from \"../predicate/isObject.mjs\";\nimport { isIndex } from \"../_internal/isIndex.mjs\";\nimport { isKey } from \"../_internal/isKey.mjs\";\nimport { assignValue } from \"../_internal/assignValue.mjs\";\nimport { isUnsafeToWriteProperty } from \"../../_internal/isUnsafeToWriteProperty.mjs\";\n//#region src/compat/object/updateWith.ts\n/**\n* Updates the value at the specified path of the given object using an updater function and a customizer.\n* If any part of the path does not exist, it will be created.\n*\n* @template T - The type of the object.\n* @template R - The type of the return value.\n* @param obj - The object to modify.\n* @param path - The path of the property to update.\n* @param updater - The function to produce the updated value.\n* @param customizer - The function to customize the update process.\n* @returns The modified object.\n*\n* @example\n* const object = { 'a': [{ 'b': { 'c': 3 } }] };\n* updateWith(object, 'a[0].b.c', (n) => n * n);\n* // => { 'a': [{ 'b': { 'c': 9 } }] }\n*/\nfunction updateWith(obj, path, updater, customizer) {\n\tif (obj == null && !isObject(obj)) return obj;\n\tlet resolvedPath;\n\tif (isKey(path, obj)) resolvedPath = [path];\n\telse if (Array.isArray(path)) resolvedPath = path;\n\telse resolvedPath = toPath(path);\n\tconst updateValue = updater(get(obj, resolvedPath));\n\tlet current = obj;\n\tfor (let i = 0; i < resolvedPath.length && current != null; i++) {\n\t\tconst key = toKey(resolvedPath[i]);\n\t\tif (isUnsafeToWriteProperty(key)) return obj;\n\t\tlet newValue;\n\t\tif (i === resolvedPath.length - 1) newValue = updateValue;\n\t\telse {\n\t\t\tconst objValue = current[key];\n\t\t\tconst customizerResult = customizer?.(objValue, key, obj);\n\t\t\tnewValue = customizerResult !== void 0 ? customizerResult : isObject(objValue) ? objValue : isIndex(resolvedPath[i + 1]) ? [] : {};\n\t\t}\n\t\tassignValue(current, key, newValue);\n\t\tcurrent = current[key];\n\t}\n\treturn obj;\n}\n//#endregion\nexport { updateWith };\n","import { updateWith } from \"./updateWith.mjs\";\n//#region src/compat/object/set.ts\n/**\n* Sets the value at the specified path of the given object. If any part of the path does not exist, it will be created.\n*\n* @template T - The type of the object.\n* @param obj - The object to modify.\n* @param path - The path of the property to set.\n* @param value - The value to set.\n* @returns The modified object.\n*\n* @example\n* // Set a value in a nested object\n* const obj = { a: { b: { c: 3 } } };\n* set(obj, 'a.b.c', 4);\n* console.log(obj.a.b.c); // 4\n*\n* @example\n* // Set a value in an array\n* const arr = [1, 2, 3];\n* set(arr, 1, 4);\n* console.log(arr[1]); // 4\n*\n* @example\n* // Create non-existent path and set value\n* const obj = {};\n* set(obj, 'a.b.c', 4);\n* console.log(obj); // { a: { b: { c: 4 } } }\n*/\nfunction set(obj, path, value) {\n\treturn updateWith(obj, path, () => value, () => void 0);\n}\n//#endregion\nexport { set };\n","import { debounce as debounce$1 } from \"../../function/debounce.mjs\";\n//#region src/compat/function/debounce.ts\nfunction debounce(func, debounceMs = 0, options = {}) {\n\tif (typeof options !== \"object\") options = {};\n\tconst { leading = false, trailing = true, maxWait } = options;\n\tconst edges = Array(2);\n\tif (leading) edges[0] = \"leading\";\n\tif (trailing) edges[1] = \"trailing\";\n\tlet result = void 0;\n\tlet pendingAt = null;\n\tconst _debounced = debounce$1(function(...args) {\n\t\tresult = func.apply(this, args);\n\t\tpendingAt = null;\n\t}, debounceMs, { edges });\n\tconst debounced = function(...args) {\n\t\tif (maxWait != null) {\n\t\t\tif (pendingAt === null) pendingAt = Date.now();\n\t\t\tif (Date.now() - pendingAt >= maxWait) {\n\t\t\t\tif (leading || trailing) result = func.apply(this, args);\n\t\t\t\tpendingAt = Date.now();\n\t\t\t\t_debounced.cancel();\n\t\t\t\t_debounced.schedule();\n\t\t\t\treturn result;\n\t\t\t}\n\t\t}\n\t\t_debounced.apply(this, args);\n\t\treturn result;\n\t};\n\tconst flush = () => {\n\t\t_debounced.flush();\n\t\treturn result;\n\t};\n\tdebounced.cancel = _debounced.cancel;\n\tdebounced.flush = flush;\n\treturn debounced;\n}\n//#endregion\nexport { debounce };\n","import { isPrimitive } from \"../../predicate/isPrimitive.mjs\";\nimport { clone } from \"../../object/clone.mjs\";\nimport { getSymbols } from \"../_internal/getSymbols.mjs\";\nimport { isBuffer } from \"../../predicate/isBuffer.mjs\";\nimport { isUnsafeProperty } from \"../../_internal/isUnsafeProperty.mjs\";\nimport { isPlainObject } from \"../predicate/isPlainObject.mjs\";\nimport { cloneDeep } from \"./cloneDeep.mjs\";\nimport { isArguments } from \"../predicate/isArguments.mjs\";\nimport { isObjectLike } from \"../predicate/isObjectLike.mjs\";\nimport { isArrayLikeObject } from \"../predicate/isArrayLikeObject.mjs\";\nimport { isTypedArray } from \"../predicate/isTypedArray.mjs\";\n//#region src/compat/object/mergeWith.ts\n/**\n* Merges the properties of one or more source objects into the target object using a customizer function.\n*\n* This function performs a deep merge, recursively merging nested objects and arrays.\n* If a property in the source object is an array or object and the corresponding property in the target object is also an array or object, they will be merged.\n* If a property in the source object is `undefined`, it will not overwrite a defined property in the target object.\n*\n* You can provide a custom `merge` function to control how properties are merged. The `merge` function is called for each property that is being merged and receives the following arguments:\n*\n* - `targetValue`: The current value of the property in the target object.\n* - `sourceValue`: The value of the property in the source object.\n* - `key`: The key of the property being merged.\n* - `target`: The target object.\n* - `source`: The source object.\n* - `stack`: A `Map` used to keep track of objects that have already been processed to handle circular references.\n*\n* The `merge` function should return the value to be set in the target object. If it returns `undefined`, a default deep merge will be applied for arrays and objects.\n*\n* The function can handle multiple source objects and will merge them all into the target object.\n*\n* @param object - The target object into which the source object properties will be merged. This object is modified in place.\n* @param otherArgs - Additional source objects to merge into the target object, including the custom `merge` function.\n* @returns The updated target object with properties from the source object(s) merged in.\n*\n* @example\n* const target = { a: 1, b: 2 };\n* const source = { b: 3, c: 4 };\n*\n* mergeWith(target, source, (targetValue, sourceValue) => {\n* if (typeof targetValue === 'number' && typeof sourceValue === 'number') {\n* return targetValue + sourceValue;\n* }\n* });\n* // Returns { a: 1, b: 5, c: 4 }\n* @example\n* const target = { a: [1], b: [2] };\n* const source = { a: [3], b: [4] };\n*\n* const result = mergeWith(target, source, (objValue, srcValue) => {\n* if (Array.isArray(objValue)) {\n* return objValue.concat(srcValue);\n* }\n* });\n*\n* expect(result).toEqual({ a: [1, 3], b: [2, 4] });\n*/\nfunction mergeWith(object, ...otherArgs) {\n\tconst sources = otherArgs.slice(0, -1);\n\tconst merge = otherArgs[otherArgs.length - 1];\n\tlet result = object;\n\tfor (let i = 0; i < sources.length; i++) {\n\t\tconst source = sources[i];\n\t\tresult = mergeWithDeep(result, source, merge, /* @__PURE__ */ new Map());\n\t}\n\treturn result;\n}\nfunction mergeWithDeep(target, source, merge, stack) {\n\tif (isPrimitive(target)) target = Object(target);\n\tif (source == null || typeof source !== \"object\") return target;\n\tif (stack.has(source)) return clone(stack.get(source));\n\tstack.set(source, target);\n\tif (Array.isArray(source)) {\n\t\tsource = source.slice();\n\t\tfor (let i = 0; i < source.length; i++) if (!(i in source)) source[i] = void 0;\n\t}\n\tconst sourceKeys = [...Object.keys(source), ...getSymbols(source)];\n\tfor (let i = 0; i < sourceKeys.length; i++) {\n\t\tconst key = sourceKeys[i];\n\t\tif (isUnsafeProperty(key)) continue;\n\t\tlet sourceValue = source[key];\n\t\tlet targetValue = target[key];\n\t\tif (isArguments(sourceValue)) sourceValue = { ...sourceValue };\n\t\tif (isArguments(targetValue)) targetValue = { ...targetValue };\n\t\tif (isBuffer(sourceValue)) sourceValue = cloneDeep(sourceValue);\n\t\tif (Array.isArray(sourceValue)) if (Array.isArray(targetValue)) {\n\t\t\tconst cloned = [];\n\t\t\tconst targetKeys = Reflect.ownKeys(targetValue);\n\t\t\tfor (let i = 0; i < targetKeys.length; i++) {\n\t\t\t\tconst targetKey = targetKeys[i];\n\t\t\t\tcloned[targetKey] = targetValue[targetKey];\n\t\t\t}\n\t\t\ttargetValue = cloned;\n\t\t} else if (isArrayLikeObject(targetValue)) {\n\t\t\tconst cloned = [];\n\t\t\tfor (let i = 0; i < targetValue.length; i++) cloned[i] = targetValue[i];\n\t\t\ttargetValue = cloned;\n\t\t} else targetValue = [];\n\t\tconst merged = merge(targetValue, sourceValue, key, target, source, stack);\n\t\tif (merged !== void 0) target[key] = merged;\n\t\telse if (Array.isArray(sourceValue)) target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n\t\telse if (isObjectLike(targetValue) && isObjectLike(sourceValue) && (isPlainObject(targetValue) || isPlainObject(sourceValue) || isTypedArray(targetValue) || isTypedArray(sourceValue))) target[key] = mergeWithDeep(targetValue, sourceValue, merge, stack);\n\t\telse if (targetValue == null && isPlainObject(sourceValue)) target[key] = mergeWithDeep({}, sourceValue, merge, stack);\n\t\telse if (targetValue == null && isTypedArray(sourceValue)) target[key] = cloneDeep(sourceValue);\n\t\telse if (targetValue === void 0 || sourceValue !== void 0) target[key] = sourceValue;\n\t}\n\treturn target;\n}\n//#endregion\nexport { mergeWith };\n","import { noop } from \"../../function/noop.mjs\";\nimport { mergeWith } from \"./mergeWith.mjs\";\n//#region src/compat/object/merge.ts\n/**\n* Merges the properties of one or more source objects into the target object.\n*\n* This function performs a deep merge, recursively merging nested objects and arrays.\n* If a property in the source object is an array or object and the corresponding property in the target object is also an array or object, they will be merged.\n* If a property in the source object is `undefined`, it will not overwrite a defined property in the target object.\n*\n* The function can handle multiple source objects and will merge them all into the target object.\n*\n* @param object - The target object into which the source object properties will be merged. This object is modified in place.\n* @param sources - The source objects whose properties will be merged into the target object.\n* @returns The updated target object with properties from the source object(s) merged in.\n*\n* @example\n* const target = { a: 1, b: { x: 1, y: 2 } };\n* const source = { b: { y: 3, z: 4 }, c: 5 };\n*\n* const result = merge(target, source);\n* console.log(result);\n* // Output: { a: 1, b: { x: 1, y: 3, z: 4 }, c: 5 }\n*\n* @example\n* const target = { a: [1, 2], b: { x: 1 } };\n* const source = { a: [3], b: { y: 2 } };\n*\n* const result = merge(target, source);\n* console.log(result);\n* // Output: { a: [3], b: { x: 1, y: 2 } }\n*\n* @example\n* const target = { a: null };\n* const source = { a: [1, 2, 3] };\n*\n* const result = merge(target, source);\n* console.log(result);\n* // Output: { a: [1, 2, 3] }\n*/\nfunction merge(object, ...sources) {\n\treturn mergeWith(object, ...sources, noop);\n}\n//#endregion\nexport { merge };\n","import { escape as escape$1 } from \"../../string/escape.mjs\";\nimport { toString } from \"../util/toString.mjs\";\n//#region src/compat/string/escape.ts\n/**\n* Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `str` to their corresponding HTML entities.\n* For example, \"<\" becomes \"<\".\n*\n* @param str The string to escape.\n* @returns Returns the escaped string.\n*\n* @example\n* escape('This is a
element.'); // returns 'This is a <div> element.'\n* escape('This is a \"quote\"'); // returns 'This is a "quote"'\n* escape(\"This is a 'quote'\"); // returns 'This is a 'quote''\n* escape('This is a & symbol'); // returns 'This is a & symbol'\n*/\nfunction escape(string) {\n\treturn escape$1(toString(string));\n}\n//#endregion\nexport { escape };\n","/**\n * Determine if the value is a file.\n */\nexport const isFile = (value) => (typeof File !== 'undefined' && value instanceof File)\n || value instanceof Blob\n || (typeof FileList !== 'undefined' && value instanceof FileList && value.length > 0);\n/**\n * Determine if the payload has any files.\n *\n * @see https://github.com/inertiajs/inertia/blob/master/packages/core/src/files.ts\n */\nexport const hasFiles = (data) => {\n if (data instanceof FormData) {\n return true;\n }\n return isFile(data)\n || (typeof data === 'object' && data !== null && Object.values(data).some((value) => hasFiles(value)));\n};\n","/**\n * Error thrown when the server responds with a 4xx or 5xx status code.\n */\nexport class HttpResponseError extends Error {\n response;\n constructor(response) {\n super(`HTTP error ${response.status}`);\n this.name = 'HttpResponseError';\n this.response = response;\n }\n}\n/**\n * Error thrown when a request is cancelled/aborted.\n */\nexport class HttpCancelledError extends Error {\n constructor(message = 'Request was cancelled') {\n super(message);\n this.name = 'HttpCancelledError';\n }\n}\n/**\n * Error thrown when a network error occurs (e.g., no connection).\n */\nexport class HttpNetworkError extends Error {\n constructor(message = 'Network error') {\n super(message);\n this.name = 'HttpNetworkError';\n }\n}\n","/**\n * Build a query string from params.\n */\nexport function buildQueryString(params) {\n const searchParams = new URLSearchParams();\n Object.entries(params).forEach(([key, value]) => {\n if (value === undefined || value === null) {\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((item) => searchParams.append(`${key}[]`, String(item)));\n }\n else if (typeof value === 'object') {\n searchParams.append(key, JSON.stringify(value));\n }\n else {\n searchParams.append(key, String(value));\n }\n });\n return searchParams.toString();\n}\n/**\n * Build the full URL with base URL and query params.\n */\nexport function buildUrl(url, baseURL, params) {\n if (baseURL && !url.startsWith('http://') && !url.startsWith('https://')) {\n url = baseURL.replace(/\\/$/, '') + '/' + url.replace(/^\\//, '');\n }\n if (params && Object.keys(params).length > 0) {\n const queryString = buildQueryString(params);\n if (queryString) {\n url += (url.includes('?') ? '&' : '?') + queryString;\n }\n }\n return url;\n}\n","import { HttpResponseError, HttpCancelledError, HttpNetworkError } from './errors.js';\nimport { buildUrl } from './url.js';\nimport { hasFiles } from '../form.js';\n/**\n * Get the X-Requested-With header from Laravel's bootstrap config if available.\n */\nfunction getAjaxHeader() {\n if (typeof window === 'undefined') {\n return null;\n }\n return window.axios?.defaults?.headers?.common?.['X-Requested-With'] ?? null;\n}\n/**\n * Convert data to FormData recursively.\n */\nfunction toFormData(data, formData = new FormData(), parentKey = null) {\n for (const key in data) {\n if (Object.prototype.hasOwnProperty.call(data, key)) {\n appendToFormData(formData, parentKey ? `${parentKey}[${key}]` : key, data[key]);\n }\n }\n return formData;\n}\nfunction appendToFormData(formData, key, value) {\n if (Array.isArray(value)) {\n return value.forEach((val, index) => appendToFormData(formData, `${key}[${index}]`, val));\n }\n else if (value instanceof Date) {\n return formData.append(key, value.toISOString());\n }\n else if (typeof File !== 'undefined' && value instanceof File) {\n return formData.append(key, value, value.name);\n }\n else if (value instanceof Blob) {\n return formData.append(key, value);\n }\n else if (typeof value === 'boolean') {\n return formData.append(key, value ? '1' : '0');\n }\n else if (typeof value === 'string') {\n return formData.append(key, value);\n }\n else if (typeof value === 'number') {\n return formData.append(key, `${value}`);\n }\n else if (typeof value === 'bigint') {\n return formData.append(key, value.toString());\n }\n else if (value === null || value === undefined) {\n return formData.append(key, '');\n }\n toFormData(value, formData, key);\n}\n/**\n * Prepare the request body.\n */\nfunction prepareBody(data, headers, serialize) {\n if (data === undefined || data === null) {\n return undefined;\n }\n if (data instanceof FormData) {\n return data;\n }\n if (typeof data === 'object' && hasFiles(data)) {\n return toFormData(data);\n }\n if (typeof data === 'object' || headers['Content-Type']?.includes('application/json')) {\n return serialize(data);\n }\n return String(data);\n}\n/**\n * Parse response headers into a plain object.\n */\nfunction parseHeaders(headers) {\n const result = {};\n headers.forEach((value, key) => {\n result[key.toLowerCase()] = value;\n });\n return result;\n}\n/**\n * Create a fetch-based HTTP client.\n */\nexport function createFetchClient(options = {}) {\n let xsrfCookieName = options.xsrfCookieName ?? 'XSRF-TOKEN';\n let xsrfHeaderName = options.xsrfHeaderName ?? 'X-XSRF-TOKEN';\n let serializer = options.serializer ?? JSON.stringify;\n function getXsrfToken() {\n if (typeof document === 'undefined') {\n return null;\n }\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)' + xsrfCookieName + '=([^;]*)'));\n return match ? decodeURIComponent(match[2]) : null;\n }\n return {\n setXsrfCookieName(name) {\n xsrfCookieName = name;\n },\n setXsrfHeaderName(name) {\n xsrfHeaderName = name;\n },\n setSerializer(callback) {\n serializer = callback;\n },\n async request(config) {\n const url = buildUrl(config.url, config.baseURL, config.params);\n const method = config.method.toUpperCase();\n const headers = {};\n // Inherit X-Requested-With from Laravel's bootstrap config if available\n const ajaxHeader = getAjaxHeader();\n if (ajaxHeader) {\n headers['X-Requested-With'] = ajaxHeader;\n }\n // Set default Content-Type for non-GET/DELETE requests with data\n if (config.data !== undefined && !['GET', 'DELETE'].includes(method)) {\n if (!(config.data instanceof FormData) && !hasFiles(config.data)) {\n headers['Content-Type'] = 'application/json';\n }\n }\n // Copy user headers\n if (config.headers) {\n Object.entries(config.headers).forEach(([key, value]) => {\n if (value !== undefined) {\n headers[key] = String(value);\n }\n });\n }\n // Add XSRF token\n const xsrfToken = getXsrfToken();\n if (xsrfToken && !['GET', 'HEAD', 'OPTIONS'].includes(method)) {\n headers[xsrfHeaderName] = xsrfToken;\n }\n // Handle timeout\n let signal = config.signal;\n let timeoutId;\n const timeout = config.timeout ?? 30000;\n if (timeout > 0 && !signal) {\n const controller = new AbortController();\n signal = controller.signal;\n timeoutId = setTimeout(() => controller.abort(), timeout);\n }\n // Prepare body (only for non-GET/DELETE requests)\n const body = ['GET', 'DELETE'].includes(method)\n ? undefined\n : prepareBody(config.data, headers, serializer);\n if (body instanceof FormData) {\n delete headers['Content-Type'];\n }\n try {\n const response = await fetch(url, {\n method,\n headers,\n body,\n signal,\n credentials: config.credentials ?? 'same-origin',\n });\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n let data;\n const contentType = response.headers.get('content-type');\n if (contentType?.includes('application/json')) {\n data = await response.json();\n }\n else {\n data = await response.text();\n }\n const httpResponse = {\n status: response.status,\n data,\n headers: parseHeaders(response.headers),\n };\n if (!response.ok) {\n throw new HttpResponseError(httpResponse);\n }\n return httpResponse;\n }\n catch (error) {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n if (error instanceof HttpResponseError) {\n throw error;\n }\n if (error instanceof DOMException && error.name === 'AbortError') {\n throw new HttpCancelledError();\n }\n if (error instanceof TypeError) {\n throw new HttpNetworkError(error.message);\n }\n throw error;\n }\n },\n };\n}\n/**\n * Default fetch HTTP client instance.\n */\nexport const fetchHttpClient = createFetchClient();\n","import { merge } from 'es-toolkit/compat';\nimport { hasFiles } from './form.js';\nimport { HttpResponseError } from './http/errors.js';\nimport { fetchHttpClient } from './http/fetchClient.js';\n/**\n * The configured HTTP client.\n */\nlet httpClient = fetchHttpClient;\n/**\n * The configured base URL.\n */\nlet baseURL = undefined;\n/**\n * The configured default timeout.\n */\nlet timeout = undefined;\n/**\n * The configured credentials mode.\n */\nlet credentials = 'same-origin';\n/**\n * The request fingerprint resolver.\n */\nlet requestFingerprintResolver = (config) => `${config.method}:${config.baseURL ?? baseURL ?? ''}${config.url}`;\n/**\n * The precognition success resolver.\n */\nlet successResolver = (response) => response.status === 204 && response.headers['precognition-success'] === 'true';\n/**\n * The abort controller cache.\n */\nconst abortControllers = {};\n/**\n * The precognitive HTTP client instance.\n */\nexport const client = {\n get: (url, data = {}, config = {}) => request(mergeConfig('get', url, data, config)),\n post: (url, data = {}, config = {}) => request(mergeConfig('post', url, data, config)),\n patch: (url, data = {}, config = {}) => request(mergeConfig('patch', url, data, config)),\n put: (url, data = {}, config = {}) => request(mergeConfig('put', url, data, config)),\n delete: (url, data = {}, config = {}) => request(mergeConfig('delete', url, data, config)),\n query: (url, data = {}, config = {}) => request(mergeConfig('query', url, data, config)),\n useHttpClient(newHttpClient) {\n httpClient = newHttpClient;\n return client;\n },\n withBaseURL(url) {\n baseURL = url;\n return client;\n },\n withTimeout(duration) {\n timeout = duration;\n return client;\n },\n withCredentials(value) {\n credentials = typeof value === 'string' ? value : (value ? 'include' : 'omit');\n return client;\n },\n fingerprintRequestsUsing(callback) {\n requestFingerprintResolver = callback === null\n ? () => null\n : callback;\n return client;\n },\n determineSuccessUsing(callback) {\n successResolver = callback;\n return client;\n },\n withXsrfCookieName(name) {\n fetchHttpClient.setXsrfCookieName(name);\n return client;\n },\n withXsrfHeaderName(name) {\n fetchHttpClient.setXsrfHeaderName(name);\n return client;\n },\n withSerializer(callback) {\n fetchHttpClient.setSerializer(callback);\n return client;\n },\n};\n/**\n * Merge the client specified arguments with the provided configuration.\n */\nconst mergeConfig = (method, url, data, config) => ({\n url,\n method,\n ...config,\n ...(['get', 'delete'].includes(method) ? {\n params: merge({}, data, config?.params),\n } : {\n data: merge({}, data, config?.data),\n }),\n});\n/**\n * Send and handle a new request.\n */\nconst request = (userConfig = {}) => {\n const config = [\n resolveConfig,\n abortMatchingRequests,\n refreshAbortController,\n ].reduce((config, callback) => callback(config), userConfig);\n if ((config.onBefore ?? (() => true))() === false) {\n return Promise.resolve(null);\n }\n (config.onStart ?? (() => null))();\n return httpClient.request({\n method: config.method,\n url: config.url,\n baseURL: config.baseURL ?? baseURL,\n data: config.data,\n params: config.params,\n headers: config.headers,\n signal: config.signal,\n timeout: config.timeout,\n credentials,\n }).then(async (response) => {\n if (config.precognitive) {\n validatePrecognitionResponse(response);\n }\n const status = response.status;\n let payload = response;\n if (config.precognitive && config.onPrecognitionSuccess && successResolver(response)) {\n payload = await Promise.resolve(config.onPrecognitionSuccess(response) ?? payload);\n }\n if (config.onSuccess && isSuccess(status)) {\n payload = await Promise.resolve(config.onSuccess(payload) ?? payload);\n }\n const statusHandler = resolveStatusHandler(config, status)\n ?? ((response) => response);\n return statusHandler(payload) ?? payload;\n }, (error) => {\n if (isNotServerGeneratedError(error)) {\n return Promise.reject(error);\n }\n const httpError = error;\n if (config.precognitive) {\n validatePrecognitionResponse(httpError.response);\n }\n const statusHandler = resolveStatusHandler(config, httpError.response.status)\n ?? ((_, error) => Promise.reject(error));\n return statusHandler(httpError.response, httpError);\n }).finally(config.onFinish ?? (() => null));\n};\n/**\n * Resolve the configuration.\n */\nconst resolveConfig = (config) => {\n const only = config.only ?? config.validate;\n return {\n ...config,\n timeout: config.timeout ?? timeout,\n precognitive: config.precognitive !== false,\n fingerprint: typeof config.fingerprint === 'undefined'\n ? requestFingerprintResolver(config, httpClient)\n : config.fingerprint,\n headers: {\n ...config.headers,\n 'Accept': 'application/json',\n 'Content-Type': resolveContentType(config),\n ...config.precognitive !== false ? {\n Precognition: true,\n } : {},\n ...only ? {\n 'Precognition-Validate-Only': Array.from(only).join(),\n } : {},\n },\n };\n};\n/**\n * Determine if the status is successful.\n */\nconst isSuccess = (status) => status >= 200 && status < 300;\n/**\n * Abort an existing request with the same configured fingerprint.\n */\nconst abortMatchingRequests = (config) => {\n if (typeof config.fingerprint !== 'string') {\n return config;\n }\n abortControllers[config.fingerprint]?.abort();\n delete abortControllers[config.fingerprint];\n return config;\n};\n/**\n * Create and configure the abort controller for a new request.\n */\nconst refreshAbortController = (config) => {\n if (typeof config.fingerprint !== 'string'\n || config.signal\n || !config.precognitive) {\n return config;\n }\n abortControllers[config.fingerprint] = new AbortController;\n return {\n ...config,\n signal: abortControllers[config.fingerprint].signal,\n };\n};\n/**\n * Ensure that the response is a Precognition response.\n */\nconst validatePrecognitionResponse = (response) => {\n if (response.headers?.precognition !== 'true') {\n throw Error('Did not receive a Precognition response. Ensure you have the Precognition middleware in place for the route.');\n }\n};\n/**\n * Determine if the error was not triggered by a server response.\n */\nconst isNotServerGeneratedError = (error) => {\n return !(error instanceof HttpResponseError) || typeof error.response?.status !== 'number';\n};\n/**\n * Resolve the handler for the given HTTP response status.\n */\nconst resolveStatusHandler = (config, code) => ({\n 401: config.onUnauthorized,\n 403: config.onForbidden,\n 404: config.onNotFound,\n 409: config.onConflict,\n 422: config.onValidationError,\n 423: config.onLocked,\n}[code]);\n/**\n * Resolve the request's \"Content-Type\" header.\n */\nconst resolveContentType = (config) => (config.headers?.['Content-Type']\n ?? config.headers?.['Content-type']\n ?? config.headers?.['content-type']\n ?? (hasFiles(config.data) ? 'multipart/form-data' : 'application/json'));\n/**\n * Resolve the url from a potential callback.\n */\nexport const resolveUrl = (url) => typeof url === 'string'\n ? url\n : url();\n/**\n * Resolve the method from a potential callback.\n */\nexport const resolveMethod = (method) => typeof method === 'string'\n ? method.toLowerCase()\n : method();\n","import { isEqual } from 'es-toolkit';\nimport { debounce, get, set, merge } from 'es-toolkit/compat';\nimport { HttpResponseError, HttpCancelledError } from './http/errors.js';\nimport { isFile } from './form.js';\nimport { client } from './client.js';\n/**\n * Expand a wildcard path to concrete paths using the given data.\n *\n * Examples:\n * - 'users.*' with {users: [{name: 'A'}, {name: 'B'}]} => ['users.0', 'users.1']\n * - 'users.*.name' with {users: [{name: 'A'}, {name: 'B'}]} => ['users.0.name', 'users.1.name']\n * - 'author.*' with {author: {name: 'John', bio: 'Dev'}} => ['author.name', 'author.bio']\n */\nexport const expandWildcardPaths = (pattern, data) => {\n if (!pattern.includes('*')) {\n return [pattern];\n }\n const parts = pattern.split('.');\n let paths = [''];\n for (const part of parts) {\n if (part === '*') {\n const expanded = [];\n for (const path of paths) {\n const value = path ? get(data, path) : data;\n if (Array.isArray(value)) {\n // Expand array indices...\n for (let index = 0; index < value.length; index++) {\n expanded.push(path ? `${path}.${index}` : String(index));\n }\n }\n else if (value !== null && typeof value === 'object') {\n // Expand object keys...\n for (const key of Object.keys(value)) {\n expanded.push(path ? `${path}.${key}` : key);\n }\n }\n // If value is null, undefined, or primitive, wildcard matches nothing.\n // e.g., 'users.*' with {users: null} => []\n }\n paths = expanded;\n }\n else {\n // Append the literal part to all current paths\n paths = paths.map((path) => path ? `${path}.${part}` : part);\n }\n }\n return paths;\n};\n/**\n * Determine if a key matches the given pattern.\n */\nconst keyMatchesPattern = (key, pattern) => {\n if (!pattern.includes('*')) {\n return key === pattern;\n }\n const regex = new RegExp('^' + pattern.replace(/\\./g, '\\\\.').replace(/\\*/g, '[^.]+') + '$');\n return regex.test(key);\n};\n/**\n * Omit entries from an object whose keys match the given patterns.\n */\nconst omitByPattern = (obj, patterns) => {\n return Object.fromEntries(Object.entries(obj).filter(([key]) => {\n return !patterns.some((pattern) => keyMatchesPattern(key, pattern));\n }));\n};\nexport const createValidator = (callback, initialData = {}) => {\n /**\n * Event listener state.\n */\n const listeners = {\n errorsChanged: [],\n touchedChanged: [],\n validatingChanged: [],\n validatedChanged: [],\n };\n /**\n * Validate files state.\n */\n let validateFiles = false;\n /**\n * Processing validation state.\n */\n let validating = false;\n /**\n * Set the validating inputs.\n *\n * Returns an array of listeners that should be invoked once all state\n * changes have taken place.\n */\n const setValidating = (value) => {\n if (value !== validating) {\n validating = value;\n return listeners.validatingChanged;\n }\n return [];\n };\n /**\n * Inputs that have been validated.\n */\n let validated = [];\n /**\n * Set the validated inputs.\n *\n * Returns an array of listeners that should be invoked once all state\n * changes have taken place.\n */\n const setValidated = (value) => {\n const uniqueNames = [...new Set(value)];\n if (validated.length !== uniqueNames.length || !uniqueNames.every((name) => validated.includes(name))) {\n validated = uniqueNames;\n return listeners.validatedChanged;\n }\n return [];\n };\n /**\n * Valid validation state.\n */\n const valid = () => validated.filter((name) => typeof errors[name] === 'undefined');\n /**\n * Touched input state.\n */\n let touched = [];\n /**\n * Set the touched inputs.\n *\n * Returns an array of listeners that should be invoked once all state\n * changes have taken place.\n */\n const setTouched = (value) => {\n const uniqueNames = [...new Set(value)];\n if (touched.length !== uniqueNames.length || !uniqueNames.every((name) => touched.includes(name))) {\n touched = uniqueNames;\n return listeners.touchedChanged;\n }\n return [];\n };\n /**\n * Validation errors state.\n */\n let errors = {};\n /**\n * Set the input errors.\n *\n * Returns an array of listeners that should be invoked once all state\n * changes have taken place.\n */\n const setErrors = (value) => {\n const prepared = toValidationErrors(value);\n if (!isEqual(errors, prepared)) {\n errors = prepared;\n return listeners.errorsChanged;\n }\n return [];\n };\n /**\n * Forget the given input's errors.\n *\n * Returns an array of listeners that should be invoked once all state\n * changes have taken place.\n */\n const forgetError = (name) => {\n const newErrors = { ...errors };\n delete newErrors[resolveName(name)];\n return setErrors(newErrors);\n };\n /**\n * Has errors state.\n */\n const hasErrors = () => Object.keys(errors).length > 0;\n /**\n * Debouncing timeout state.\n */\n let debounceTimeoutDuration = 1500;\n const setDebounceTimeout = (value) => {\n debounceTimeoutDuration = value;\n validator.cancel();\n validator = createValidator();\n };\n /**\n * The old data.\n */\n let oldData = initialData;\n /**\n * The data currently being validated.\n */\n let validatingData = null;\n /**\n * The old touched.\n */\n let oldTouched = [];\n /**\n * The touched currently being validated.\n */\n let validatingTouched = null;\n /**\n * Create a debounced validation callback.\n */\n const createValidator = () => debounce((instanceConfig) => {\n callback({\n get: (url, data = {}, globalConfig = {}) => client.get(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n post: (url, data = {}, globalConfig = {}) => client.post(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n patch: (url, data = {}, globalConfig = {}) => client.patch(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n put: (url, data = {}, globalConfig = {}) => client.put(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n delete: (url, data = {}, globalConfig = {}) => client.delete(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n query: (url, data = {}, globalConfig = {}) => client.query(url, parseData(data), resolveConfig(globalConfig, instanceConfig, data)),\n }).catch((error) => {\n // Precognition can often cancel in-flight requests. Instead of\n // throwing an exception for this expected behaviour, we silently\n // discard cancelled request errors to not flood the console with\n // expected errors.\n if (error instanceof HttpCancelledError) {\n return null;\n }\n // Unlike other status codes, 422 responses are expected and\n // regularly occur with Precognition requests. We silently ignore\n // these so we do not flood the console with expected errors. If\n // needed, they can be intercepted by the `onValidationError`\n // config option instead.\n if (error instanceof HttpResponseError && error.response?.status === 422) {\n return null;\n }\n return Promise.reject(error);\n });\n }, debounceTimeoutDuration, { leading: true, trailing: true });\n /**\n * Validator state.\n */\n let validator = createValidator();\n /**\n * Resolve the configuration.\n */\n const resolveConfig = (globalConfig, instanceConfig, data = {}) => {\n const config = {\n ...globalConfig,\n ...instanceConfig,\n };\n const only = Array.from(config.only ?? config.validate ?? touched);\n return {\n ...instanceConfig,\n ...merge({}, globalConfig, instanceConfig),\n only,\n timeout: config.timeout ?? 5000,\n onValidationError: (response, error) => {\n [\n ...setValidated([...validated, ...only]),\n ...setErrors(merge(omitByPattern({ ...errors }, only), response.data.errors)),\n ].forEach((listener) => listener());\n return config.onValidationError\n ? config.onValidationError(response, error)\n : Promise.reject(error);\n },\n onSuccess: (response) => {\n setValidated([...validated, ...only]).forEach((listener) => listener());\n return config.onSuccess\n ? config.onSuccess(response)\n : response;\n },\n onPrecognitionSuccess: (response) => {\n [\n ...setValidated([...validated, ...only]),\n ...setErrors(omitByPattern({ ...errors }, only)),\n ].forEach((listener) => listener());\n return config.onPrecognitionSuccess\n ? config.onPrecognitionSuccess(response)\n : response;\n },\n onBefore: () => {\n // Wildcards are expanded to concrete paths using the current\n // form data so that each field is individually tracked.\n const hasWildcards = touched.some((name) => name.includes('*'));\n const expandedTouched = hasWildcards\n ? [...new Set(touched.flatMap((name) => expandWildcardPaths(name, data)))]\n : touched;\n if (config.onBeforeValidation && config.onBeforeValidation({ data, touched: expandedTouched }, { data: oldData, touched: oldTouched }) === false) {\n return false;\n }\n const beforeResult = (config.onBefore || (() => true))();\n if (beforeResult === false) {\n return false;\n }\n if (hasWildcards) {\n setTouched(expandedTouched).forEach((listener) => listener());\n }\n validatingTouched = touched;\n validatingData = data;\n return true;\n },\n onStart: () => {\n setValidating(true).forEach((listener) => listener());\n (config.onStart ?? (() => null))();\n },\n onFinish: () => {\n setValidating(false).forEach((listener) => listener());\n oldTouched = validatingTouched;\n oldData = validatingData;\n validatingTouched = validatingData = null;\n (config.onFinish ?? (() => null))();\n },\n };\n };\n /**\n * Validate the given input.\n */\n const validate = (name, value, config) => {\n if (typeof name === 'undefined') {\n const only = Array.from(config?.only ?? config?.validate ?? []);\n setTouched([...touched, ...only]).forEach((listener) => listener());\n validator(config ?? {});\n return;\n }\n if (isFile(value) && !validateFiles) {\n console.warn('Precognition file validation is not active. Call the \"validateFiles\" function on your form to enable it.');\n return;\n }\n name = resolveName(name);\n if (name.includes('*') || get(oldData, name) !== value) {\n setTouched([name, ...touched]).forEach((listener) => listener());\n validator(config ?? {});\n }\n };\n /**\n * Parse the validated data.\n */\n const parseData = (data) => validateFiles === false\n ? forgetFiles(data)\n : data;\n /**\n * The form validator instance.\n */\n const form = {\n touched: () => touched,\n validate(name, value, config) {\n if (typeof name === 'object' && !('target' in name)) {\n config = name;\n name = value = undefined;\n }\n validate(name, value, config);\n return form;\n },\n touch(input) {\n const inputs = Array.isArray(input)\n ? input\n : [resolveName(input)];\n setTouched([...touched, ...inputs]).forEach((listener) => listener());\n return form;\n },\n validating: () => validating,\n valid,\n errors: () => errors,\n hasErrors,\n setErrors(value) {\n setErrors(value).forEach((listener) => listener());\n return form;\n },\n forgetError(name) {\n forgetError(name).forEach((listener) => listener());\n return form;\n },\n defaults(data) {\n initialData = data;\n oldData = data;\n return form;\n },\n reset(...names) {\n if (names.length === 0) {\n setTouched([]).forEach((listener) => listener());\n }\n else {\n const newTouched = [...touched];\n names.forEach((name) => {\n if (newTouched.includes(name)) {\n newTouched.splice(newTouched.indexOf(name), 1);\n }\n set(oldData, name, get(initialData, name));\n });\n setTouched(newTouched).forEach((listener) => listener());\n }\n return form;\n },\n setTimeout(value) {\n setDebounceTimeout(value);\n return form;\n },\n on(event, callback) {\n listeners[event].push(callback);\n return form;\n },\n validateFiles() {\n validateFiles = true;\n return form;\n },\n withoutFileValidation() {\n validateFiles = false;\n return form;\n },\n };\n return form;\n};\n/**\n * Normalise the validation errors as Inertia formatted errors.\n */\nexport const toSimpleValidationErrors = (errors) => {\n return Object.keys(errors).reduce((carry, key) => ({\n ...carry,\n [key]: Array.isArray(errors[key])\n ? errors[key][0]\n : errors[key],\n }), {});\n};\n/**\n * Normalise the validation errors as Laravel formatted errors.\n */\nexport const toValidationErrors = (errors) => {\n return Object.keys(errors).reduce((carry, key) => ({\n ...carry,\n [key]: typeof errors[key] === 'string' ? [errors[key]] : errors[key],\n }), {});\n};\n/**\n * Resolve the input's \"name\" attribute.\n */\nexport const resolveName = (name) => {\n return typeof name !== 'string'\n ? name.target.name\n : name;\n};\n/**\n * Forget any files from the payload.\n */\nconst forgetFiles = (data) => {\n const newData = { ...data };\n Object.keys(newData).forEach((name) => {\n const value = newData[name];\n if (value === null) {\n return;\n }\n if (isFile(value)) {\n delete newData[name];\n return;\n }\n if (Array.isArray(value)) {\n newData[name] = Object.values(forgetFiles({ ...value }));\n return;\n }\n if (typeof value === 'object') {\n // @ts-expect-error\n newData[name] = forgetFiles(newData[name]);\n return;\n }\n });\n return newData;\n};\n","// src/router.ts\nimport { cloneDeep as cloneDeep4, isEqual as isEqual3 } from \"es-toolkit\";\nimport { get as get7, set as set5 } from \"es-toolkit/compat\";\n\n// src/config.ts\nimport { get, has, set } from \"es-toolkit/compat\";\nvar Config = class {\n config = {};\n defaults;\n constructor(defaults) {\n this.defaults = defaults;\n }\n extend(defaults) {\n if (defaults) {\n this.defaults = { ...this.defaults, ...defaults };\n }\n return this;\n }\n replace(newConfig) {\n this.config = newConfig;\n }\n get(key) {\n return has(this.config, key) ? get(this.config, key) : get(this.defaults, key);\n }\n set(keyOrValues, value) {\n if (typeof keyOrValues === \"string\") {\n set(this.config, keyOrValues, value);\n } else {\n Object.entries(keyOrValues).forEach(([key, val]) => {\n set(this.config, key, val);\n });\n }\n }\n};\nvar config = new Config({\n form: {\n recentlySuccessfulDuration: 2e3,\n forceIndicesArrayFormatInFormData: true,\n withAllErrors: false\n },\n prefetch: {\n cacheFor: 3e4,\n hoverDelay: 75\n }\n});\n\n// src/eventHandler.ts\nimport { get as get4 } from \"es-toolkit/compat\";\n\n// src/debounce.ts\nfunction debounce(fn, delay) {\n let timeoutID;\n const debounced = function(...args) {\n clearTimeout(timeoutID);\n timeoutID = setTimeout(() => fn.apply(this, args), delay);\n };\n debounced.cancel = () => clearTimeout(timeoutID);\n return debounced;\n}\n\n// src/events.ts\nfunction fireEvent(name, options) {\n return document.dispatchEvent(new CustomEvent(`inertia:${name}`, options));\n}\nvar fireBeforeEvent = (visit) => {\n return fireEvent(\"before\", { cancelable: true, detail: { visit } });\n};\nvar fireErrorEvent = (errors, { page: page2, visitId } = {}) => {\n return fireEvent(\"error\", { detail: { errors, page: page2, visitId } });\n};\nvar fireNetworkErrorEvent = (error) => {\n return fireEvent(\"networkError\", { cancelable: true, detail: { error } });\n};\nvar fireFinishEvent = (visit) => {\n return fireEvent(\"finish\", { detail: { visit } });\n};\nvar fireHttpExceptionEvent = (response) => {\n return fireEvent(\"httpException\", { cancelable: true, detail: { response } });\n};\nvar fireBeforeUpdateEvent = (page2) => {\n return fireEvent(\"beforeUpdate\", { detail: { page: page2 } });\n};\nvar fireNavigateEvent = (page2, { type, cached = false, visitId }) => {\n return fireEvent(\"navigate\", { detail: { page: page2, type, cached, visitId } });\n};\nvar fireClientVisitEvent = (page2, { replace, visitId }) => {\n return fireEvent(\"clientVisit\", { detail: { page: page2, replace, visitId } });\n};\nvar fireProgressEvent = (progress3) => {\n return fireEvent(\"progress\", { detail: { progress: progress3 } });\n};\nvar fireStartEvent = (visit) => {\n return fireEvent(\"start\", { detail: { visit } });\n};\nvar fireSuccessEvent = (page2, { visitId } = {}) => {\n return fireEvent(\"success\", { detail: { page: page2, visitId } });\n};\nvar firePrefetchedEvent = (response, visit) => {\n return fireEvent(\"prefetched\", { detail: { fetchedAt: Date.now(), response, visit } });\n};\nvar firePrefetchingEvent = (visit) => {\n return fireEvent(\"prefetching\", { detail: { visit } });\n};\nvar fireFlashEvent = (flash) => {\n return fireEvent(\"flash\", { detail: { flash } });\n};\nvar fireLocationEvent = (url, versionChange) => {\n return fireEvent(\"location\", { cancelable: true, detail: { url, versionChange } });\n};\n\n// src/history.ts\nimport { cloneDeep as cloneDeep3, isEqual } from \"es-toolkit\";\n\n// src/json.ts\nvar bigIntMarker = \"$bigint\";\nvar replaceBigInt = (_key, value) => {\n if (typeof value === \"bigint\") {\n return { [bigIntMarker]: value.toString() };\n }\n return value;\n};\nvar replaceBigIntWithDigits = (_key, value) => {\n if (typeof value === \"bigint\") {\n return value.toString();\n }\n return value;\n};\nfunction parsePage(text) {\n const page2 = JSON.parse(text);\n if (page2?.preserveBigIntegers === true && text.includes(`\"${bigIntMarker}\"`)) {\n reviveBigIntegers(page2);\n }\n return page2;\n}\nfunction reviveBigIntegers(value) {\n if (Array.isArray(value)) {\n for (let index = 0; index < value.length; index++) {\n value[index] = reviveBigInteger(value[index]);\n }\n return;\n }\n for (const key of Object.keys(value)) {\n value[key] = reviveBigInteger(value[key]);\n }\n}\nfunction reviveBigInteger(value) {\n if (value === null || typeof value !== \"object\") {\n return value;\n }\n if (typeof value[bigIntMarker] === \"string\") {\n return BigInt(value[bigIntMarker]);\n }\n reviveBigIntegers(value);\n return value;\n}\nfunction stringifyPage(page2) {\n return stringify(page2, () => ({ ...page2, preserveBigIntegers: true }), replaceBigInt);\n}\nfunction stringifyJson(value) {\n return stringify(value, () => value, replaceBigIntWithDigits);\n}\nfunction stringify(value, retryValue, replacer) {\n try {\n return JSON.stringify(value);\n } catch (error) {\n try {\n return JSON.stringify(retryValue(), replacer);\n } catch {\n throw error;\n }\n }\n}\nfunction containsBigInt(value, seen = /* @__PURE__ */ new WeakSet()) {\n if (typeof value === \"bigint\") {\n return true;\n }\n if (value === null || typeof value !== \"object\") {\n return false;\n }\n if (seen.has(value)) {\n return false;\n }\n seen.add(value);\n const values = Array.isArray(value) ? value : Object.values(value);\n return values.some((nested) => containsBigInt(nested, seen));\n}\n\n// src/sessionStorage.ts\nvar SessionStorage = class {\n static locationVisitKey = \"inertiaLocationVisit\";\n static set(key, value) {\n if (typeof window !== \"undefined\") {\n window.sessionStorage.setItem(key, JSON.stringify(value));\n }\n }\n static get(key) {\n if (typeof window !== \"undefined\") {\n return JSON.parse(window.sessionStorage.getItem(key) || \"null\");\n }\n }\n static merge(key, value) {\n const existing = this.get(key);\n if (existing === null) {\n this.set(key, value);\n } else {\n this.set(key, { ...existing, ...value });\n }\n }\n static remove(key) {\n if (typeof window !== \"undefined\") {\n window.sessionStorage.removeItem(key);\n }\n }\n static removeNested(key, nestedKey) {\n const existing = this.get(key);\n if (existing !== null) {\n delete existing[nestedKey];\n this.set(key, existing);\n }\n }\n static exists(key) {\n try {\n return this.get(key) !== null;\n } catch (error) {\n return false;\n }\n }\n static clear() {\n if (typeof window !== \"undefined\") {\n window.sessionStorage.clear();\n }\n }\n};\n\n// src/encryption.ts\nvar ivLength = 12;\nvar encryptHistory = async (data) => {\n if (typeof window === \"undefined\") {\n throw new Error(\"Unable to encrypt history\");\n }\n if (SessionStorage.exists(historySessionStorageKeys.iv)) {\n SessionStorage.remove(historySessionStorageKeys.key);\n SessionStorage.remove(historySessionStorageKeys.iv);\n }\n const storedKey = await getKeyFromSessionStorage();\n const key = await getOrCreateKey(storedKey);\n if (!key) {\n throw new Error(\"Unable to encrypt history\");\n }\n const iv = window.crypto.getRandomValues(new Uint8Array(ivLength));\n const encrypted = new Uint8Array(await encryptData(iv, key, data));\n const entry = new Uint8Array(iv.length + encrypted.length);\n entry.set(iv);\n entry.set(encrypted, iv.length);\n return entry.buffer;\n};\nvar historySessionStorageKeys = {\n key: \"historyKey\",\n iv: \"historyIv\"\n};\nvar decryptHistory = async (data) => {\n const storedKey = await getKeyFromSessionStorage();\n if (!storedKey) {\n throw new Error(\"Unable to decrypt history\");\n }\n const entry = new Uint8Array(data);\n return await decryptData(entry.subarray(0, ivLength), storedKey, entry.subarray(ivLength));\n};\nvar encryptData = async (iv, key, data) => {\n if (typeof window === \"undefined\") {\n throw new Error(\"Unable to encrypt history\");\n }\n if (typeof window.crypto.subtle === \"undefined\") {\n console.warn(\"Encryption is not supported in this environment. SSL is required.\");\n return Promise.resolve(data);\n }\n const textEncoder = new TextEncoder();\n const str = stringifyPage(data);\n const encoded = new Uint8Array(str.length * 3);\n const result = textEncoder.encodeInto(str, encoded);\n return window.crypto.subtle.encrypt(\n {\n name: \"AES-GCM\",\n iv\n },\n key,\n encoded.subarray(0, result.written)\n );\n};\nvar decryptData = async (iv, key, data) => {\n if (typeof window.crypto.subtle === \"undefined\") {\n console.warn(\"Decryption is not supported in this environment. SSL is required.\");\n return Promise.resolve(data);\n }\n const decrypted = await window.crypto.subtle.decrypt(\n {\n name: \"AES-GCM\",\n iv\n },\n key,\n data\n );\n return parsePage(new TextDecoder().decode(decrypted));\n};\nvar createKey = async () => {\n if (typeof window.crypto.subtle === \"undefined\") {\n console.warn(\"Encryption is not supported in this environment. SSL is required.\");\n return Promise.resolve(null);\n }\n return window.crypto.subtle.generateKey(\n {\n name: \"AES-GCM\",\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n};\nvar saveKey = async (key) => {\n if (typeof window.crypto.subtle === \"undefined\") {\n console.warn(\"Encryption is not supported in this environment. SSL is required.\");\n return Promise.resolve();\n }\n const keyData = await window.crypto.subtle.exportKey(\"raw\", key);\n SessionStorage.set(historySessionStorageKeys.key, Array.from(new Uint8Array(keyData)));\n};\nvar getOrCreateKey = async (key) => {\n if (key) {\n return key;\n }\n const newKey = await createKey();\n if (!newKey) {\n return null;\n }\n await saveKey(newKey);\n return newKey;\n};\nvar getKeyFromSessionStorage = async () => {\n const stringKey = SessionStorage.get(historySessionStorageKeys.key);\n if (!stringKey) {\n return null;\n }\n const key = await window.crypto.subtle.importKey(\n \"raw\",\n new Uint8Array(stringKey),\n {\n name: \"AES-GCM\",\n length: 256\n },\n true,\n [\"encrypt\", \"decrypt\"]\n );\n return key;\n};\n\n// src/page.ts\nimport { cloneDeep as cloneDeep2 } from \"es-toolkit\";\nimport { get as get3, set as set3 } from \"es-toolkit/compat\";\n\n// src/prefetched.ts\nimport { cloneDeep } from \"es-toolkit\";\nimport { get as get2 } from \"es-toolkit/compat\";\n\n// src/httpErrors.ts\nvar HttpError = class extends Error {\n code;\n url;\n constructor(message, code, url) {\n super(url ? `${message} (${url})` : message);\n this.name = \"HttpError\";\n this.code = code;\n this.url = url;\n }\n};\nvar HttpResponseError = class extends HttpError {\n response;\n constructor(message, response, url) {\n super(message, \"ERR_HTTP_RESPONSE\", url);\n this.name = \"HttpResponseError\";\n this.response = response;\n }\n};\nvar HttpCancelledError = class extends HttpError {\n constructor(message = \"Request was cancelled\", url) {\n super(message, \"ERR_CANCELLED\", url);\n this.name = \"HttpCancelledError\";\n }\n};\nvar HttpNetworkError = class extends HttpError {\n cause;\n constructor(message, url, cause) {\n super(message, \"ERR_NETWORK\", url);\n this.name = \"HttpNetworkError\";\n this.cause = cause;\n }\n};\n\n// src/objectUtils.ts\nimport { toPath } from \"es-toolkit/compat\";\nvar stripTopLevelUndefined = (obj) => {\n const result = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] !== void 0) {\n result[key] = obj[key];\n }\n }\n return result;\n};\nvar objectsAreEqual = (obj1, obj2, excludeKeys) => {\n if (obj1 === obj2) {\n return true;\n }\n for (const key in obj1) {\n if (excludeKeys.includes(key)) {\n continue;\n }\n if (obj1[key] === obj2[key]) {\n continue;\n }\n if (!compareValues(obj1[key], obj2[key])) {\n return false;\n }\n }\n for (const key in obj2) {\n if (excludeKeys.includes(key)) {\n continue;\n }\n if (!(key in obj1)) {\n return false;\n }\n }\n return true;\n};\nvar compareValues = (value1, value2) => {\n switch (typeof value1) {\n case \"object\":\n return objectsAreEqual(value1, value2, []);\n case \"function\":\n return value1.toString() === value2.toString();\n default:\n return value1 === value2;\n }\n};\nvar setPathPreservingIdentity = (target, path, value) => {\n const keys = toPath(path);\n if (keys.length === 0) {\n return target;\n }\n const copyAlongPath = (node, depth) => {\n if (depth === keys.length) {\n return value;\n }\n const key = keys[depth];\n const copy = Array.isArray(node) ? [...node] : node && typeof node === \"object\" ? { ...node } : /^(?:0|[1-9]\\d*)$/.test(key) ? [] : {};\n copy[key] = copyAlongPath(node?.[key], depth + 1);\n return copy;\n };\n return copyAlongPath(target, 0);\n};\n\n// src/time.ts\nvar conversionMap = {\n ms: 1,\n s: 1e3,\n m: 1e3 * 60,\n h: 1e3 * 60 * 60,\n d: 1e3 * 60 * 60 * 24\n};\nvar timeToMs = (time) => {\n if (typeof time === \"number\") {\n return time;\n }\n for (const [unit, conversion] of Object.entries(conversionMap)) {\n if (time.endsWith(unit)) {\n return parseFloat(time) * conversion;\n }\n }\n return parseInt(time);\n};\n\n// src/prefetched.ts\nvar PrefetchedRequests = class {\n cached = [];\n inFlightRequests = [];\n removalTimers = [];\n currentUseId = null;\n add(params, sendFunc, { cacheFor, cacheTags }) {\n const inFlight = this.findInFlight(params);\n if (inFlight) {\n return Promise.resolve();\n }\n const existing = this.findCached(params);\n if (!params.fresh && existing && existing.staleTimestamp > Date.now()) {\n return Promise.resolve();\n }\n const [stale, prefetchExpiresIn] = this.extractStaleValues(cacheFor);\n let cancelled = false;\n const promise = new Promise((resolve, reject) => {\n sendFunc({\n ...params,\n onCancel: () => {\n cancelled = true;\n this.remove(params);\n this.removeFromInFlight(params.id);\n params.onCancel();\n reject(new HttpCancelledError());\n },\n onError: (error) => {\n this.remove(params);\n params.onError(error);\n reject(error);\n },\n onPrefetching(visitParams) {\n params.onPrefetching(visitParams);\n },\n onPrefetched(response, visit) {\n params.onPrefetched(response, visit);\n },\n onPrefetchResponse(response) {\n resolve(response);\n },\n onPrefetchError: (error) => {\n this.removeFromInFlight(params.id);\n reject(error);\n }\n });\n }).then((response) => {\n if (!this.isInFlight(params.id)) {\n return response;\n }\n this.remove(params);\n const pageResponse = response.getPageResponse();\n page.mergeOncePropsIntoResponse(pageResponse);\n this.cached.push({\n params: { ...params },\n staleTimestamp: Date.now() + stale,\n expiresAt: Date.now() + prefetchExpiresIn,\n response: promise,\n singleUse: prefetchExpiresIn === 0,\n timestamp: Date.now(),\n inFlight: false,\n tags: Array.isArray(cacheTags) ? cacheTags : [cacheTags]\n });\n const oncePropExpiresIn = this.getShortestOncePropTtl(pageResponse);\n this.scheduleForRemoval(\n params,\n oncePropExpiresIn ? Math.min(prefetchExpiresIn, oncePropExpiresIn) : prefetchExpiresIn\n );\n this.removeFromInFlight(params.id);\n response.handlePrefetch();\n return response;\n });\n if (!cancelled) {\n this.inFlightRequests.push({\n params: { ...params },\n response: promise,\n staleTimestamp: null,\n inFlight: true\n });\n }\n return promise.catch((error) => {\n this.removeFromInFlight(params.id);\n if (!(error instanceof HttpCancelledError)) {\n throw error;\n }\n });\n }\n removeAll() {\n this.cached = [];\n this.inFlightRequests = [];\n this.removalTimers.forEach((removalTimer) => {\n clearTimeout(removalTimer.timer);\n });\n this.removalTimers = [];\n }\n removeByTags(tags) {\n this.cached = this.cached.filter((prefetched) => {\n return !prefetched.tags.some((tag) => tags.includes(tag));\n });\n }\n remove(params) {\n this.cached = this.cached.filter((prefetched) => {\n return !this.paramsAreEqual(prefetched.params, params);\n });\n this.clearTimer(params);\n }\n isInFlight(visitId) {\n return this.inFlightRequests.some((prefetching) => prefetching.params.id === visitId);\n }\n removeFromInFlight(visitId) {\n this.inFlightRequests = this.inFlightRequests.filter((prefetching) => {\n return prefetching.params.id !== visitId;\n });\n }\n extractStaleValues(cacheFor) {\n const [stale, expires] = this.cacheForToStaleAndExpires(cacheFor);\n return [timeToMs(stale), timeToMs(expires)];\n }\n cacheForToStaleAndExpires(cacheFor) {\n if (!Array.isArray(cacheFor)) {\n return [cacheFor, cacheFor];\n }\n switch (cacheFor.length) {\n case 0:\n return [0, 0];\n case 1:\n return [cacheFor[0], cacheFor[0]];\n default:\n return [cacheFor[0], cacheFor[1]];\n }\n }\n clearTimer(params) {\n const timer = this.removalTimers.find((removalTimer) => {\n return this.paramsAreEqual(removalTimer.params, params);\n });\n if (timer) {\n clearTimeout(timer.timer);\n this.removalTimers = this.removalTimers.filter((removalTimer) => removalTimer !== timer);\n }\n }\n scheduleForRemoval(params, expiresIn) {\n if (typeof window === \"undefined\") {\n return;\n }\n this.clearTimer(params);\n if (expiresIn > 0) {\n const timer = window.setTimeout(() => this.remove(params), expiresIn);\n this.removalTimers.push({\n params,\n timer\n });\n }\n }\n get(params) {\n return this.findCached(params) || this.findInFlight(params);\n }\n use(prefetched, params) {\n const id = `${params.url.pathname}-${Date.now()}-${Math.random().toString(36).substring(7)}`;\n this.currentUseId = id;\n const consumedParams = {\n ...params,\n cached: true\n };\n return prefetched.response.then(\n (response) => {\n if (this.currentUseId !== id) {\n return;\n }\n response.mergeParams({ ...consumedParams, onPrefetched: () => {\n } });\n this.removeSingleUseItems(params);\n return response.handle();\n },\n (error) => {\n if (!(error instanceof HttpCancelledError)) {\n throw error;\n }\n consumedParams.onCancel();\n consumedParams.cancelled = true;\n consumedParams.onFinish(consumedParams);\n }\n );\n }\n removeSingleUseItems(params) {\n this.cached = this.cached.filter((prefetched) => {\n if (!this.paramsAreEqual(prefetched.params, params)) {\n return true;\n }\n return !prefetched.singleUse;\n });\n }\n findCached(params) {\n return this.cached.find((prefetched) => {\n return this.paramsAreEqual(prefetched.params, params);\n }) || null;\n }\n findInFlight(params) {\n return this.inFlightRequests.find((prefetched) => {\n return this.paramsAreEqual(prefetched.params, params);\n }) || null;\n }\n withoutPurposePrefetchHeader(params) {\n const newParams = cloneDeep(params);\n if (newParams.headers[\"Purpose\"] === \"prefetch\") {\n delete newParams.headers[\"Purpose\"];\n }\n return newParams;\n }\n paramsAreEqual(params1, params2) {\n return objectsAreEqual(\n this.withoutPurposePrefetchHeader(params1),\n this.withoutPurposePrefetchHeader(params2),\n [\n \"id\",\n \"showProgress\",\n \"replace\",\n \"prefetch\",\n \"preserveScroll\",\n \"preserveState\",\n \"onBefore\",\n \"onBeforeUpdate\",\n \"onStart\",\n \"onProgress\",\n \"onFinish\",\n \"onCancel\",\n \"onSuccess\",\n \"onError\",\n \"onHttpException\",\n \"onNetworkError\",\n \"onFlash\",\n \"onPrefetched\",\n \"onCancelToken\",\n \"onPrefetching\",\n \"async\",\n \"viewTransition\",\n \"optimistic\",\n \"component\",\n \"pageProps\",\n \"cached\"\n ]\n );\n }\n updateCachedOncePropsFromCurrentPage() {\n this.cached.forEach((prefetched) => {\n prefetched.response.then((response) => {\n const pageResponse = response.getPageResponse();\n page.mergeOncePropsIntoResponse(pageResponse, { force: true });\n for (const [group, deferredProps] of Object.entries(pageResponse.deferredProps ?? {})) {\n const remaining = deferredProps.filter((prop) => get2(pageResponse.props, prop) === void 0);\n if (remaining.length > 0) {\n pageResponse.deferredProps[group] = remaining;\n } else {\n delete pageResponse.deferredProps[group];\n }\n }\n const oncePropExpiresIn = this.getShortestOncePropTtl(pageResponse);\n if (oncePropExpiresIn === null) {\n return;\n }\n const prefetchExpiresIn = prefetched.expiresAt - Date.now();\n const expiresIn = Math.min(prefetchExpiresIn, oncePropExpiresIn);\n if (expiresIn > 0) {\n this.scheduleForRemoval(prefetched.params, expiresIn);\n } else {\n this.remove(prefetched.params);\n }\n });\n });\n }\n getShortestOncePropTtl(page2) {\n const expiryTimestamps = Object.values(page2.onceProps ?? {}).map((onceProp) => onceProp.expiresAt).filter((expiresAt) => !!expiresAt);\n if (expiryTimestamps.length === 0) {\n return null;\n }\n return Math.min(...expiryTimestamps) - Date.now();\n }\n};\nvar prefetchedRequests = new PrefetchedRequests();\n\n// src/domUtils.ts\nvar elementInViewport = (el) => {\n if (el.offsetParent === null) {\n return false;\n }\n const rect = el.getBoundingClientRect();\n const verticallyVisible = rect.top < window.innerHeight && rect.bottom >= 0;\n const horizontallyVisible = rect.left < window.innerWidth && rect.right >= 0;\n return verticallyVisible && horizontallyVisible;\n};\nvar getScrollableParent = (element) => {\n const allowsVerticalScroll = (el) => {\n const computedStyle = window.getComputedStyle(el);\n if (computedStyle.overflowY === \"scroll\") {\n return true;\n }\n if (computedStyle.overflowY !== \"auto\") {\n return false;\n }\n if ([\"visible\", \"clip\"].includes(computedStyle.overflowX)) {\n return true;\n }\n return hasDimensionConstraint(computedStyle.maxHeight, el.style.height) || isConstrainedByLayout(el, \"height\");\n };\n const allowsHorizontalScroll = (el) => {\n const computedStyle = window.getComputedStyle(el);\n if (computedStyle.overflowX === \"scroll\") {\n return true;\n }\n if (computedStyle.overflowX !== \"auto\") {\n return false;\n }\n if ([\"visible\", \"clip\"].includes(computedStyle.overflowY)) {\n return true;\n }\n return hasDimensionConstraint(computedStyle.maxWidth, el.style.width) || isConstrainedByLayout(el, \"width\");\n };\n const hasDimensionConstraint = (computedMaxDimension, inlineStyleDimension) => {\n if (computedMaxDimension && computedMaxDimension !== \"none\" && computedMaxDimension !== \"0px\") {\n return true;\n }\n if (inlineStyleDimension && inlineStyleDimension !== \"auto\" && inlineStyleDimension !== \"0\") {\n return true;\n }\n return false;\n };\n const isConstrainedByLayout = (el, dimension) => {\n const parent2 = el.parentElement;\n if (!parent2) {\n return false;\n }\n const parentStyle = window.getComputedStyle(parent2);\n if ([\"flex\", \"inline-flex\"].includes(parentStyle.display)) {\n const isColumnLayout = [\"column\", \"column-reverse\"].includes(parentStyle.flexDirection);\n return dimension === \"height\" ? isColumnLayout : !isColumnLayout;\n }\n return [\"grid\", \"inline-grid\"].includes(parentStyle.display);\n };\n let parent = element?.parentElement;\n while (parent) {\n const allowsScroll = allowsVerticalScroll(parent) || allowsHorizontalScroll(parent);\n if (window.getComputedStyle(parent).display !== \"contents\" && allowsScroll) {\n return parent;\n }\n parent = parent.parentElement;\n }\n return null;\n};\nvar getElementsInViewportFromCollection = (elements, referenceElement) => {\n if (!referenceElement) {\n return elements.filter((element) => elementInViewport(element));\n }\n const referenceIndex = elements.indexOf(referenceElement);\n const upwardElements = [];\n const downwardElements = [];\n for (let i = referenceIndex; i >= 0; i--) {\n const element = elements[i];\n if (elementInViewport(element)) {\n upwardElements.push(element);\n } else {\n break;\n }\n }\n for (let i = referenceIndex + 1; i < elements.length; i++) {\n const element = elements[i];\n if (elementInViewport(element)) {\n downwardElements.push(element);\n } else {\n break;\n }\n }\n return [...upwardElements.reverse(), ...downwardElements];\n};\nvar requestAnimationFrame = (cb, times = 1) => {\n window.requestAnimationFrame(() => {\n if (times > 1) {\n requestAnimationFrame(cb, times - 1);\n } else {\n cb();\n }\n });\n};\nvar getInitialPageFromDOM = (id) => {\n if (typeof window === \"undefined\") {\n return null;\n }\n const scriptEl = document.querySelector(`script[data-page=\"${id}\"][type=\"application/json\"]`);\n if (scriptEl?.textContent) {\n return parsePage(scriptEl.textContent);\n }\n return null;\n};\n\n// src/scroll.ts\nvar isServer = typeof window === \"undefined\";\nvar isFirefox = !isServer && /Firefox/i.test(window.navigator.userAgent);\nvar Scroll = class {\n static save() {\n history.saveScrollPositions(this.getScrollRegions());\n }\n static getScrollRegions() {\n return Array.from(this.regions()).map((region) => ({\n top: region.scrollTop,\n left: region.scrollLeft\n }));\n }\n static regions() {\n return document.querySelectorAll(\"[scroll-region]\");\n }\n static scrollToTop() {\n if (isFirefox && getComputedStyle(document.documentElement).scrollBehavior === \"smooth\") {\n return requestAnimationFrame(() => window.scrollTo(0, 0), 2);\n }\n window.scrollTo(0, 0);\n }\n static reset() {\n const anchorHash = isServer ? null : window.location.hash;\n if (!anchorHash) {\n this.scrollToTop();\n }\n this.regions().forEach((region) => {\n if (typeof region.scrollTo === \"function\") {\n region.scrollTo(0, 0);\n } else {\n region.scrollTop = 0;\n region.scrollLeft = 0;\n }\n });\n this.save();\n this.scrollToAnchor();\n }\n static scrollToAnchor() {\n const anchorHash = isServer ? null : window.location.hash;\n if (anchorHash) {\n setTimeout(() => {\n const anchorElement = document.getElementById(anchorHash.slice(1));\n anchorElement ? anchorElement.scrollIntoView() : this.scrollToTop();\n });\n }\n }\n static restore(scrollRegions) {\n if (isServer) {\n return;\n }\n window.requestAnimationFrame(() => {\n this.restoreDocument();\n this.restoreScrollRegions(scrollRegions);\n });\n }\n static restoreScrollRegions(scrollRegions) {\n if (isServer) {\n return;\n }\n this.regions().forEach((region, index) => {\n const scrollPosition = scrollRegions[index];\n if (!scrollPosition) {\n return;\n }\n if (typeof region.scrollTo === \"function\") {\n region.scrollTo(scrollPosition.left, scrollPosition.top);\n } else {\n region.scrollTop = scrollPosition.top;\n region.scrollLeft = scrollPosition.left;\n }\n });\n }\n static restoreDocument() {\n const scrollPosition = history.getDocumentScrollPosition();\n window.scrollTo(scrollPosition.left, scrollPosition.top);\n }\n static onScroll(event) {\n const target = event.target;\n if (typeof target.hasAttribute === \"function\" && target.hasAttribute(\"scroll-region\")) {\n this.save();\n }\n }\n static onWindowScroll() {\n history.saveDocumentScrollPosition({\n top: window.scrollY,\n left: window.scrollX\n });\n }\n};\n\n// src/files.ts\nvar isFile = (value) => typeof File !== \"undefined\" && value instanceof File || value instanceof Blob || typeof FileList !== \"undefined\" && value instanceof FileList && value.length > 0;\nfunction hasFiles(data) {\n return isFile(data) || data instanceof FormData && Array.from(data.values()).some((value) => hasFiles(value)) || typeof data === \"object\" && data !== null && Object.values(data).some((value) => hasFiles(value));\n}\n\n// src/formData.ts\nvar isFormData = (value) => value instanceof FormData;\nfunction objectToFormData(source, form = new FormData(), parentKey = null, queryStringArrayFormat = \"brackets\") {\n source = source || {};\n for (const key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n append(form, composeKey(parentKey, key, \"indices\"), source[key], queryStringArrayFormat);\n }\n }\n return form;\n}\nfunction composeKey(parent, key, format) {\n if (!parent) {\n return key;\n }\n return format === \"brackets\" ? `${parent}[]` : `${parent}[${key}]`;\n}\nfunction append(form, key, value, format) {\n if (Array.isArray(value)) {\n return Array.from(value.keys()).forEach(\n (index) => append(form, composeKey(key, index.toString(), format), value[index], format)\n );\n } else if (value instanceof Date) {\n return form.append(key, value.toISOString());\n } else if (value instanceof File) {\n return form.append(key, value, value.name);\n } else if (value instanceof Blob) {\n return form.append(key, value);\n } else if (typeof value === \"boolean\") {\n return form.append(key, value ? \"1\" : \"0\");\n } else if (typeof value === \"string\") {\n return form.append(key, value);\n } else if (typeof value === \"number\") {\n return form.append(key, `${value}`);\n } else if (typeof value === \"bigint\") {\n return form.append(key, value.toString());\n } else if (value === null || value === void 0) {\n return form.append(key, \"\");\n }\n objectToFormData(value, form, key, format);\n}\n\n// src/queryString.ts\nfunction hasIndices(url) {\n return /\\[\\d+\\]/.test(decodeURIComponent(url.search));\n}\nfunction parse(query) {\n if (!query || query === \"?\") {\n return {};\n }\n const result = {};\n query.replace(/^\\?/, \"\").split(\"&\").filter(Boolean).forEach((segment) => {\n const [rawKey, rawValue] = splitPair(segment);\n set2(result, decode(rawKey), decode(rawValue));\n });\n return result;\n}\nfunction stringify2(data, arrayFormat) {\n const pairs = [];\n build(data, \"\", pairs, arrayFormat);\n return pairs.length ? \"?\" + pairs.join(\"&\") : \"\";\n}\nfunction splitPair(pair) {\n const index = pair.indexOf(\"=\");\n return index === -1 ? [pair, \"\"] : [pair.substring(0, index), pair.substring(index + 1)];\n}\nfunction decode(value) {\n return decodeURIComponent(value.replace(/\\+/g, \" \"));\n}\nfunction set2(target, key, value) {\n const keys = parseKey(key);\n if (keys.some((k) => k === \"__proto__\")) {\n return;\n }\n let current = target;\n while (keys.length > 1) {\n const segment = keys.shift();\n const nextIsArrayPush = keys[0] === \"\";\n if (typeof current[segment] !== \"object\" || current[segment] === null) {\n current[segment] = nextIsArrayPush ? [] : {};\n }\n current = current[segment];\n }\n const final = keys.shift();\n if (final === \"\" && Array.isArray(current)) {\n current.push(value);\n } else {\n current[final] = value;\n }\n}\nfunction parseKey(key) {\n const segments = [];\n const base = key.split(\"[\")[0];\n if (base) {\n segments.push(base);\n }\n let match;\n const pattern = /\\[([^\\]]*)\\]/g;\n while ((match = pattern.exec(key)) !== null) {\n segments.push(match[1]);\n }\n return segments;\n}\nfunction build(value, prefix, pairs, arrayFormat) {\n if (value === void 0) {\n return;\n }\n if (value === null) {\n pairs.push(`${prefix}=`);\n return;\n }\n if (Array.isArray(value)) {\n value.forEach((item, index) => {\n const key = arrayFormat === \"indices\" ? `${prefix}[${index}]` : `${prefix}[]`;\n build(item, key, pairs, arrayFormat);\n });\n return;\n }\n if (typeof value === \"object\") {\n Object.keys(value).forEach((key) => {\n build(value[key], prefix ? `${prefix}[${key}]` : key, pairs, arrayFormat);\n });\n return;\n }\n pairs.push(`${prefix}=${encodeURIComponent(String(value))}`);\n}\n\n// src/url.ts\nfunction hrefToUrl(href) {\n return new URL(href.toString(), typeof window === \"undefined\" ? void 0 : window.location.toString());\n}\nvar transformUrlAndData = (href, data, method, forceFormData, queryStringArrayFormat) => {\n let url = typeof href === \"string\" ? hrefToUrl(href) : href;\n if ((hasFiles(data) || forceFormData) && !isFormData(data)) {\n if (config.get(\"form.forceIndicesArrayFormatInFormData\")) {\n queryStringArrayFormat = \"indices\";\n }\n data = objectToFormData(data, new FormData(), null, queryStringArrayFormat);\n }\n if (isFormData(data)) {\n return [url, data];\n }\n const [_href, _data] = mergeDataIntoQueryString(method, url, data, queryStringArrayFormat);\n return [hrefToUrl(_href), _data];\n};\nfunction mergeDataIntoQueryString(method, href, data, qsArrayFormat = \"brackets\") {\n const hasDataForQueryString = method === \"get\" && !isFormData(data) && Object.keys(data).length > 0;\n const hasHost = urlHasProtocol(href.toString());\n const hasAbsolutePath = hasHost || href.toString().startsWith(\"/\") || href.toString() === \"\";\n const hasRelativePath = !hasAbsolutePath && !href.toString().startsWith(\"#\") && !href.toString().startsWith(\"?\");\n const hasRelativePathWithDotPrefix = /^[.]{1,2}([/]|$)/.test(href.toString());\n const hasSearch = href.toString().includes(\"?\") || hasDataForQueryString;\n const hasHash = href.toString().includes(\"#\");\n const url = new URL(href.toString(), typeof window === \"undefined\" ? \"http://localhost\" : window.location.toString());\n if (hasDataForQueryString) {\n const arrayFormat = hasIndices(url) ? \"indices\" : qsArrayFormat;\n url.search = stringify2({ ...parse(url.search), ...data }, arrayFormat);\n }\n return [\n [\n hasHost ? `${url.protocol}//${url.host}` : \"\",\n hasAbsolutePath ? url.pathname : \"\",\n hasRelativePath ? url.pathname.substring(hasRelativePathWithDotPrefix ? 0 : 1) : \"\",\n hasSearch ? url.search : \"\",\n hasHash ? url.hash : \"\"\n ].join(\"\"),\n hasDataForQueryString ? {} : data\n ];\n}\nfunction urlWithoutHash(url) {\n url = new URL(url.href);\n url.hash = \"\";\n return url;\n}\nvar setHashIfSameUrl = (originUrl, destinationUrl) => {\n if (originUrl.hash && !destinationUrl.hash && urlWithoutHash(originUrl).href === destinationUrl.href) {\n destinationUrl.hash = originUrl.hash;\n }\n};\nvar isSameUrlWithoutHash = (url1, url2) => {\n return urlWithoutHash(url1).href === urlWithoutHash(url2).href;\n};\nvar isSameUrlWithoutQueryOrHash = (url1, url2) => {\n return url1.origin === url2.origin && url1.pathname === url2.pathname;\n};\nfunction isUrlMethodPair(href) {\n return href !== null && typeof href === \"object\" && href !== void 0 && \"url\" in href && \"method\" in href;\n}\nfunction resolveUrlMethodPairComponent(pair) {\n if (!pair.component) {\n return null;\n }\n if (typeof pair.component !== \"string\") {\n console.error(\n `The \"component\" property on the URL method pair received multiple components (${Object.keys(pair.component).join(\", \")}), but only a single component string is supported for instant visits. Use the withComponent() method to specify which component to use.`\n );\n return null;\n }\n return pair.component;\n}\nfunction urlHasProtocol(url) {\n return /^([a-z][a-z0-9+.-]*:)?\\/\\/[^/]/i.test(url);\n}\nfunction urlToString(url, absolute) {\n const urlObj = typeof url === \"string\" ? hrefToUrl(url) : url;\n return absolute ? `${urlObj.protocol}//${urlObj.host}${urlObj.pathname}${urlObj.search}${urlObj.hash}` : `${urlObj.pathname}${urlObj.search}${urlObj.hash}`;\n}\n\n// src/page.ts\nvar CurrentPage = class {\n page;\n swapComponent;\n resolveComponent;\n onFlashCallback;\n componentId = {};\n listeners = [];\n isFirstPageLoad = true;\n cleared = false;\n pendingDeferredProps = null;\n historyQuotaExceeded = false;\n optimisticBaseline = {};\n pendingOptimistics = [];\n optimisticCounter = 0;\n confirmedOptimisticId = 0;\n init({\n initialPage,\n swapComponent,\n resolveComponent,\n onFlash\n }) {\n this.page = { ...initialPage, flash: initialPage.flash ?? {}, rescuedProps: initialPage.rescuedProps ?? [] };\n this.swapComponent = swapComponent;\n this.resolveComponent = resolveComponent;\n this.onFlashCallback = onFlash;\n eventHandler.on(\"historyQuotaExceeded\", () => {\n this.historyQuotaExceeded = true;\n });\n return this;\n }\n set(page2, {\n replace = false,\n preserveScroll = false,\n preserveState = false,\n viewTransition = false,\n cached = false,\n initialRender = false,\n visitId\n } = {}) {\n if (Object.keys(page2.deferredProps || {}).length) {\n this.pendingDeferredProps = {\n deferredProps: page2.deferredProps,\n component: page2.component,\n url: page2.url\n };\n if (page2.initialDeferredProps === void 0) {\n page2.initialDeferredProps = page2.deferredProps;\n }\n }\n this.componentId = {};\n const componentId = this.componentId;\n if (page2.clearHistory) {\n history.clear();\n prefetchedRequests.removeAll();\n }\n return this.resolve(page2.component, page2).then((component) => {\n if (componentId !== this.componentId) {\n return;\n }\n page2.rememberedState ??= {};\n const isServer3 = typeof window === \"undefined\";\n const location = !isServer3 ? window.location : new URL(page2.url);\n const scrollRegions = !isServer3 && preserveScroll ? Scroll.getScrollRegions() : [];\n replace = replace || isSameUrlWithoutHash(hrefToUrl(page2.url), location);\n const pageForHistory = { ...page2, flash: {} };\n history.clearInitialState(history.rememberedState);\n return new Promise(\n (resolve) => replace ? history.replaceState(pageForHistory, resolve) : history.pushState(pageForHistory, resolve)\n ).then(() => {\n const isNewComponent = !this.isTheSame(page2);\n if (!isNewComponent && Object.keys(page2.props.errors || {}).length > 0) {\n viewTransition = false;\n }\n this.page = page2;\n this.cleared = false;\n if (this.hasOnceProps()) {\n prefetchedRequests.updateCachedOncePropsFromCurrentPage();\n }\n if (isNewComponent) {\n this.fireEventsFor(\"newComponent\");\n }\n if (this.isFirstPageLoad) {\n this.fireEventsFor(\"firstLoad\");\n }\n this.isFirstPageLoad = false;\n if (this.historyQuotaExceeded) {\n this.historyQuotaExceeded = false;\n return;\n }\n return this.swap({\n component,\n page: page2,\n preserveState,\n viewTransition,\n initialRender\n }).then(() => {\n if (preserveScroll) {\n window.requestAnimationFrame(() => Scroll.restoreScrollRegions(scrollRegions));\n } else {\n Scroll.reset();\n }\n if (this.pendingDeferredProps && this.pendingDeferredProps.component === page2.component && this.pendingDeferredProps.url === page2.url) {\n eventHandler.fireInternalEvent(\"loadDeferredProps\", this.pendingDeferredProps.deferredProps);\n }\n this.pendingDeferredProps = null;\n if (!replace) {\n fireNavigateEvent(page2, { type: \"visit\", cached, visitId });\n }\n });\n });\n });\n }\n setQuietly(page2, {\n preserveState = false\n } = {}) {\n this.componentId = {};\n return this.resolve(page2.component, page2).then((component) => {\n this.page = page2;\n this.cleared = false;\n history.setCurrent(page2);\n return this.swap({ component, page: page2, preserveState, viewTransition: false });\n });\n }\n clear() {\n this.cleared = true;\n }\n isCleared() {\n return this.cleared;\n }\n get() {\n return this.page;\n }\n getWithoutFlashData() {\n return { ...this.page, flash: {} };\n }\n hasOnceProps() {\n return Object.keys(this.page.onceProps ?? {}).length > 0;\n }\n merge(data) {\n this.page = { ...this.page, ...data };\n }\n setPropsQuietly(props) {\n this.page = { ...this.page, props };\n return this.resolve(this.page.component, this.page).then((component) => {\n return this.swap({ component, page: this.page, preserveState: true, viewTransition: false });\n });\n }\n setFlash(flash) {\n this.page = { ...this.page, flash };\n this.onFlashCallback?.(flash);\n }\n setUrlHash(hash) {\n if (!this.page.url.includes(hash)) {\n this.page.url += hash;\n }\n }\n remember(data) {\n this.page.rememberedState = data;\n }\n swap({\n component,\n page: page2,\n preserveState,\n viewTransition,\n initialRender = false\n }) {\n const doSwap = () => this.swapComponent({ component, page: page2, preserveState, initialRender });\n if (!viewTransition || !document?.startViewTransition || document.visibilityState === \"hidden\") {\n return doSwap();\n }\n const viewTransitionCallback = typeof viewTransition === \"boolean\" ? () => null : viewTransition;\n const ignoreSkippedTransition = (promise) => {\n promise.catch((error) => {\n if (!(error instanceof DOMException)) {\n throw error;\n }\n });\n };\n return new Promise((resolve) => {\n const transitionResult = document.startViewTransition(() => doSwap().then(resolve));\n ignoreSkippedTransition(transitionResult.ready);\n ignoreSkippedTransition(transitionResult.finished);\n ignoreSkippedTransition(transitionResult.updateCallbackDone);\n viewTransitionCallback(transitionResult);\n });\n }\n resolve(component, page2) {\n return Promise.resolve(this.resolveComponent(component, page2));\n }\n nextOptimisticId() {\n return ++this.optimisticCounter;\n }\n markOptimisticConfirmed(id) {\n this.confirmedOptimisticId = Math.max(this.confirmedOptimisticId, id);\n }\n hasConfirmedOptimisticAfter(id) {\n return this.confirmedOptimisticId > id;\n }\n setBaseline(key, value) {\n if (!(key in this.optimisticBaseline)) {\n this.optimisticBaseline[key] = value;\n }\n }\n updateBaseline(key, value) {\n if (key in this.optimisticBaseline) {\n this.optimisticBaseline[key] = value;\n }\n }\n hasBaseline(key) {\n return key in this.optimisticBaseline;\n }\n registerOptimistic(id, callback) {\n this.pendingOptimistics.push({ id, callback });\n }\n unregisterOptimistic(id) {\n this.pendingOptimistics = this.pendingOptimistics.filter((entry) => entry.id !== id);\n }\n replayOptimistics() {\n const baselineKeys = Object.keys(this.optimisticBaseline);\n if (baselineKeys.length === 0) {\n return {};\n }\n const props = cloneDeep2(this.page.props);\n for (const key of baselineKeys) {\n props[key] = cloneDeep2(this.optimisticBaseline[key]);\n }\n for (const { callback } of this.pendingOptimistics) {\n const result = callback(cloneDeep2(props));\n if (result) {\n Object.assign(props, result);\n }\n }\n const replayedProps = {};\n for (const key of baselineKeys) {\n replayedProps[key] = props[key];\n }\n return replayedProps;\n }\n pendingOptimisticCount() {\n return this.pendingOptimistics.length;\n }\n clearOptimisticState() {\n this.optimisticBaseline = {};\n this.pendingOptimistics = [];\n this.confirmedOptimisticId = 0;\n }\n isTheSame(page2) {\n return this.page.component === page2.component;\n }\n on(event, callback) {\n this.listeners.push({ event, callback });\n return () => {\n this.listeners = this.listeners.filter((listener) => listener.event !== event && listener.callback !== callback);\n };\n }\n fireEventsFor(event) {\n this.listeners.filter((listener) => listener.event === event).forEach((listener) => listener.callback());\n }\n mergeOncePropsIntoResponse(response, { force = false } = {}) {\n Object.entries(response.onceProps ?? {}).forEach(([key, onceProp]) => {\n const existingOnceProp = this.page.onceProps?.[key];\n if (existingOnceProp === void 0) {\n return;\n }\n if (force || get3(response.props, onceProp.prop) === void 0) {\n set3(response.props, onceProp.prop, get3(this.page.props, existingOnceProp.prop));\n response.onceProps[key].expiresAt = existingOnceProp.expiresAt;\n }\n });\n }\n};\nvar page = new CurrentPage();\n\n// src/queue.ts\nvar Queue = class {\n items = [];\n processingPromise = null;\n add(item) {\n this.items.push(item);\n return this.process();\n }\n process() {\n this.processingPromise ??= this.processNext().then(\n () => {\n this.processingPromise = null;\n if (this.items.length > 0) {\n return this.process();\n }\n },\n (error) => {\n this.processingPromise = null;\n throw error;\n }\n );\n return this.processingPromise;\n }\n processNext() {\n const next = this.items.shift();\n if (next) {\n return Promise.resolve(next()).then(() => this.processNext());\n }\n return Promise.resolve();\n }\n};\n\n// src/history.ts\nvar isServer2 = typeof window === \"undefined\";\nvar queue = new Queue();\nvar isChromeIOS = !isServer2 && /CriOS/.test(window.navigator.userAgent);\nvar History = class {\n rememberedState = \"rememberedState\";\n scrollRegions = \"scrollRegions\";\n preserveUrl = false;\n current = {};\n // We need initialState for `restore`\n initialState = null;\n remember(data, key) {\n this.replaceState({\n ...page.getWithoutFlashData(),\n rememberedState: {\n ...page.get()?.rememberedState ?? {},\n [key]: data\n }\n });\n }\n restore(key) {\n if (!isServer2) {\n return this.current[this.rememberedState]?.[key] !== void 0 ? this.current[this.rememberedState]?.[key] : this.initialState?.[this.rememberedState]?.[key];\n }\n }\n pushState(page2, cb = null) {\n if (isServer2) {\n return;\n }\n if (this.preserveUrl) {\n cb && cb();\n return;\n }\n this.current = page2;\n queue.add(() => {\n return this.getPageData(page2).then((data) => {\n const doPush = () => this.doPushState({ page: data }, page2.url).then(() => cb?.());\n if (isChromeIOS) {\n return new Promise((resolve) => {\n setTimeout(() => doPush().then(resolve));\n });\n }\n return doPush();\n });\n });\n }\n clonePageProps(page2) {\n try {\n structuredClone(page2.props);\n return page2;\n } catch {\n return {\n ...page2,\n props: cloneDeep3(page2.props)\n };\n }\n }\n getPageData(page2) {\n const pageWithClonedProps = this.clonePageProps(page2);\n return new Promise((resolve) => {\n return page2.encryptHistory ? encryptHistory(pageWithClonedProps).then(resolve) : resolve(pageWithClonedProps);\n });\n }\n processQueue() {\n return queue.process();\n }\n decrypt(page2 = null) {\n if (isServer2) {\n return Promise.resolve(page2 ?? page.get());\n }\n const pageData = page2 ?? window.history.state?.page;\n return this.decryptPageData(pageData).then((data) => {\n if (!data) {\n throw new Error(\"Unable to decrypt history\");\n }\n if (this.initialState === null) {\n this.initialState = data ?? void 0;\n } else {\n this.current = data ?? {};\n }\n return data;\n });\n }\n decryptPageData(pageData) {\n return pageData instanceof ArrayBuffer ? decryptHistory(pageData) : Promise.resolve(pageData);\n }\n saveScrollPositions(scrollRegions) {\n queue.add(() => {\n return Promise.resolve().then(() => {\n if (!window.history.state?.page) {\n return;\n }\n if (isEqual(this.getScrollRegions(), scrollRegions)) {\n return;\n }\n return this.doReplaceState({\n page: window.history.state.page,\n scrollRegions\n });\n });\n });\n }\n saveDocumentScrollPosition(scrollRegion) {\n queue.add(() => {\n return Promise.resolve().then(() => {\n if (!window.history.state?.page) {\n return;\n }\n if (isEqual(this.getDocumentScrollPosition(), scrollRegion)) {\n return;\n }\n return this.doReplaceState({\n page: window.history.state.page,\n documentScrollPosition: scrollRegion\n });\n });\n });\n }\n getScrollRegions() {\n return window.history.state?.scrollRegions || [];\n }\n getDocumentScrollPosition() {\n return window.history.state?.documentScrollPosition || { top: 0, left: 0 };\n }\n replaceState(page2, cb = null) {\n if (isEqual(this.current, page2)) {\n cb && cb();\n return;\n }\n const { flash, ...pageWithoutFlash } = page2;\n page.merge(pageWithoutFlash);\n if (isServer2) {\n return;\n }\n if (this.preserveUrl) {\n cb && cb();\n return;\n }\n this.current = page2;\n queue.add(() => {\n return this.getPageData(page2).then((data) => {\n const doReplace = () => this.doReplaceState({ page: data }, page2.url).then(() => cb?.());\n if (isChromeIOS) {\n return new Promise((resolve) => {\n setTimeout(() => doReplace().then(resolve));\n });\n }\n return doReplace();\n });\n });\n }\n isHistoryThrottleError(error) {\n return error instanceof Error && error.name === \"SecurityError\" && (error.message.includes(\"history.pushState\") || error.message.includes(\"history.replaceState\"));\n }\n isQuotaExceededError(error) {\n return error instanceof Error && error.name === \"QuotaExceededError\";\n }\n withThrottleProtection(cb) {\n return Promise.resolve().then(() => {\n try {\n return cb();\n } catch (error) {\n if (!this.isHistoryThrottleError(error)) {\n throw error;\n }\n console.error(error.message);\n }\n });\n }\n doReplaceState(data, url) {\n return this.withThrottleProtection(() => {\n try {\n window.history.replaceState(\n {\n ...data,\n scrollRegions: data.scrollRegions ?? window.history.state?.scrollRegions,\n documentScrollPosition: data.documentScrollPosition ?? window.history.state?.documentScrollPosition\n },\n \"\",\n url\n );\n } catch (error) {\n if (!this.isQuotaExceededError(error)) {\n throw error;\n }\n console.error(error.message);\n }\n });\n }\n doPushState(data, url) {\n return this.withThrottleProtection(() => {\n try {\n window.history.pushState(data, \"\", url);\n } catch (error) {\n if (!this.isQuotaExceededError(error)) {\n throw error;\n }\n eventHandler.fireInternalEvent(\"historyQuotaExceeded\", url);\n }\n });\n }\n getState(key, defaultValue) {\n return this.current?.[key] ?? defaultValue;\n }\n deleteState(key) {\n if (this.current[key] !== void 0) {\n delete this.current[key];\n this.replaceState(this.current);\n }\n }\n clearInitialState(key) {\n if (this.initialState && this.initialState[key] !== void 0) {\n this.initialState = { ...this.initialState, [key]: void 0 };\n }\n }\n browserHasHistoryEntry() {\n return !isServer2 && !!window.history.state?.page;\n }\n clear() {\n SessionStorage.remove(historySessionStorageKeys.key);\n SessionStorage.remove(historySessionStorageKeys.iv);\n }\n setCurrent(page2) {\n this.current = page2;\n }\n isValidState(state) {\n return !!state.page;\n }\n getAllState() {\n return this.current;\n }\n};\nif (typeof window !== \"undefined\" && window.history.scrollRestoration) {\n window.history.scrollRestoration = \"manual\";\n}\nvar history = new History();\n\n// src/eventHandler.ts\nvar EventHandler = class {\n internalListeners = [];\n init() {\n if (typeof window !== \"undefined\") {\n window.addEventListener(\"popstate\", this.handlePopstateEvent.bind(this));\n window.addEventListener(\"pageshow\", this.handlePageshowEvent.bind(this));\n window.addEventListener(\"scroll\", debounce(Scroll.onWindowScroll.bind(Scroll), 100), true);\n }\n if (typeof document !== \"undefined\") {\n document.addEventListener(\"scroll\", debounce(Scroll.onScroll.bind(Scroll), 100), true);\n }\n }\n onGlobalEvent(type, callback) {\n const listener = ((event) => {\n const response = callback(event);\n if (event.cancelable && !event.defaultPrevented && response === false) {\n event.preventDefault();\n }\n });\n return this.registerListener(`inertia:${type}`, listener);\n }\n on(event, callback) {\n this.internalListeners.push({ event, listener: callback });\n return () => {\n this.internalListeners = this.internalListeners.filter((listener) => listener.listener !== callback);\n };\n }\n onMissingHistoryItem() {\n page.clear();\n this.fireInternalEvent(\"missingHistoryItem\");\n }\n fireInternalEvent(event, ...args) {\n this.internalListeners.filter((listener) => listener.event === event).forEach((listener) => listener.listener(...args));\n }\n registerListener(type, listener) {\n document.addEventListener(type, listener);\n return () => document.removeEventListener(type, listener);\n }\n // bfcache restores pages without firing `popstate`, so we use `pageshow` to\n // re-validate encrypted history entries after `clearHistory` removed the keys.\n // https://web.dev/articles/bfcache\n handlePageshowEvent(event) {\n if (event.persisted) {\n history.decrypt().catch(() => this.onMissingHistoryItem());\n }\n }\n handlePopstateEvent(event) {\n const state = event.state || null;\n if (state === null) {\n const url = hrefToUrl(page.get().url);\n url.hash = window.location.hash;\n history.replaceState({ ...page.getWithoutFlashData(), url: url.href });\n Scroll.reset();\n return;\n }\n if (!history.isValidState(state)) {\n return this.onMissingHistoryItem();\n }\n history.decrypt(state.page).then((data) => {\n if (page.get().version !== data.version) {\n this.onMissingHistoryItem();\n return;\n }\n router.cancelAll({ prefetch: false });\n page.setQuietly(data, { preserveState: false }).then(() => {\n Scroll.restore(history.getScrollRegions());\n fireNavigateEvent(page.get(), { type: \"history\" });\n const pendingDeferred = {};\n const pageProps = page.get().props;\n for (const [group, props] of Object.entries(data.initialDeferredProps ?? data.deferredProps ?? {})) {\n const missing = props.filter((prop) => get4(pageProps, prop) === void 0);\n if (missing.length > 0) {\n pendingDeferred[group] = missing;\n }\n }\n if (Object.keys(pendingDeferred).length > 0) {\n this.fireInternalEvent(\"loadDeferredProps\", pendingDeferred);\n }\n });\n }).catch(() => {\n this.onMissingHistoryItem();\n });\n }\n};\nvar eventHandler = new EventHandler();\n\n// src/navigationType.ts\nvar NavigationType = class {\n type;\n constructor() {\n this.type = this.resolveType();\n }\n resolveType() {\n if (typeof window === \"undefined\") {\n return \"navigate\";\n }\n const entry = window.performance?.getEntriesByType(\"navigation\")[0];\n return entry?.type ?? \"navigate\";\n }\n get() {\n return this.type;\n }\n isBackForward() {\n return this.type === \"back_forward\";\n }\n isReload() {\n return this.type === \"reload\";\n }\n};\nvar navigationType = new NavigationType();\n\n// src/uid.ts\nfunction uid() {\n const cryptoObj = typeof window !== \"undefined\" ? window.crypto : void 0;\n if (cryptoObj?.randomUUID) {\n return cryptoObj.randomUUID();\n }\n const randomByte = () => cryptoObj?.getRandomValues ? cryptoObj.getRandomValues(new Uint8Array(1))[0] : Math.floor(Math.random() * 256);\n return \"10000000-1000-4000-8000-100000000000\".replace(\n /[018]/g,\n (c) => (+c ^ randomByte() & 15 >> +c / 4).toString(16)\n );\n}\n\n// src/initialVisit.ts\nvar InitialVisit = class {\n static handle() {\n this.clearRememberedStateOnReload();\n const scenarios = [this.handleBackForward, this.handleLocation, this.handleDefault];\n scenarios.find((handler) => handler.bind(this)());\n }\n static clearRememberedStateOnReload() {\n if (navigationType.isReload()) {\n history.deleteState(history.rememberedState);\n history.clearInitialState(history.rememberedState);\n }\n }\n static handleBackForward() {\n if (!navigationType.isBackForward() || !history.browserHasHistoryEntry()) {\n return false;\n }\n const scrollRegions = history.getScrollRegions();\n history.decrypt().then((data) => {\n if (page.get().version !== data.version) {\n this.handleDefault();\n return;\n }\n const visitId = uid();\n page.set(data, { preserveScroll: true, preserveState: true, visitId }).then(() => {\n Scroll.restore(scrollRegions);\n fireNavigateEvent(page.get(), { type: \"history\", visitId });\n });\n }).catch(() => {\n eventHandler.onMissingHistoryItem();\n });\n return true;\n }\n /**\n * @link https://inertiajs.com/redirects#external-redirects\n */\n static handleLocation() {\n if (!SessionStorage.exists(SessionStorage.locationVisitKey)) {\n return false;\n }\n const locationVisit = SessionStorage.get(SessionStorage.locationVisitKey) || {};\n SessionStorage.remove(SessionStorage.locationVisitKey);\n if (typeof window !== \"undefined\") {\n page.setUrlHash(window.location.hash);\n }\n history.decrypt(page.get()).then(() => {\n const visitId = uid();\n const rememberedState = history.getState(history.rememberedState, {});\n const scrollRegions = history.getScrollRegions();\n page.remember(rememberedState);\n page.set(page.get(), {\n preserveScroll: locationVisit.preserveScroll,\n preserveState: true,\n initialRender: true,\n visitId\n }).then(() => {\n if (locationVisit.preserveScroll) {\n Scroll.restore(scrollRegions);\n }\n this.fireInitialEvents(visitId);\n });\n }).catch(() => {\n eventHandler.onMissingHistoryItem();\n });\n return true;\n }\n static handleDefault() {\n if (typeof window !== \"undefined\") {\n page.setUrlHash(window.location.hash);\n }\n const visitId = uid();\n page.set(page.get(), { preserveScroll: true, preserveState: true, initialRender: true, visitId }).then(() => {\n if (navigationType.isReload()) {\n Scroll.restore(history.getScrollRegions());\n } else {\n Scroll.scrollToAnchor();\n }\n this.fireInitialEvents(visitId);\n });\n }\n static fireInitialEvents(visitId) {\n const page2 = page.get();\n fireNavigateEvent(page2, { type: \"initial\", visitId });\n if (Object.keys(page2.flash).length > 0) {\n queueMicrotask(() => fireFlashEvent(page2.flash));\n }\n }\n};\n\n// src/poll.ts\nvar Poll = class {\n intervalId = null;\n timeoutId = null;\n hidden = false;\n background;\n cb;\n interval;\n cbCount = 0;\n mode;\n inFlight = false;\n currentCancel = null;\n stopped = true;\n instanceId = 0;\n lastPolledAt = 0;\n constructor(interval, cb, options) {\n this.background = options.background ?? (options.keepAlive ? \"continue\" : \"throttle\");\n this.hidden = typeof document !== \"undefined\" && document.hidden;\n this.mode = options.mode ?? \"overlap\";\n this.cb = cb;\n this.interval = interval;\n if (options.autoStart ?? true) {\n this.start();\n }\n }\n stop() {\n this.stopped = true;\n this.instanceId++;\n this.inFlight = false;\n this.currentCancel = null;\n this.clearTimers();\n }\n start() {\n if (typeof window === \"undefined\") {\n return;\n }\n this.stop();\n this.stopped = false;\n this.lastPolledAt = Date.now();\n if (this.isPaused()) {\n return;\n }\n if (this.mode === \"rest\") {\n this.scheduleNext();\n return;\n }\n this.startInterval();\n }\n isInBackground(hidden2) {\n if (hidden2 === this.hidden) {\n return;\n }\n this.hidden = hidden2;\n if (this.isThrottled()) {\n this.cbCount = 0;\n }\n if (this.background !== \"pause\") {\n return;\n }\n if (hidden2) {\n this.clearTimers();\n } else {\n this.resume();\n }\n }\n isThrottled() {\n return this.hidden && this.background === \"throttle\";\n }\n isPaused() {\n return this.hidden && this.background === \"pause\";\n }\n resume() {\n if (this.stopped || this.mode === \"rest\" && this.inFlight) {\n return;\n }\n const remaining = this.interval - (Date.now() - this.lastPolledAt);\n if (remaining > 0) {\n this.timeoutId = window.setTimeout(() => {\n this.timeoutId = null;\n this.resume();\n }, remaining);\n return;\n }\n this.fire();\n if (this.mode !== \"rest\") {\n this.startInterval();\n }\n }\n startInterval() {\n this.intervalId = window.setInterval(() => this.tick(), this.interval);\n }\n clearTimers() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n if (this.timeoutId) {\n clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n }\n scheduleNext() {\n if (this.stopped || this.isPaused()) {\n return;\n }\n this.timeoutId = window.setTimeout(() => {\n this.timeoutId = null;\n this.tick();\n }, this.interval);\n }\n tick() {\n const throttled = this.isThrottled();\n if (!throttled || this.cbCount % 10 === 0) {\n this.fire();\n } else if (this.mode === \"rest\") {\n this.scheduleNext();\n }\n if (throttled) {\n this.cbCount++;\n }\n }\n fire() {\n if (this.inFlight && this.mode === \"cancel\") {\n this.currentCancel?.();\n }\n this.lastPolledAt = Date.now();\n const instance = this.instanceId;\n this.cb({\n onStart: (cancel) => {\n if (instance !== this.instanceId) {\n return;\n }\n this.inFlight = true;\n this.currentCancel = cancel;\n },\n onFinish: () => {\n if (instance !== this.instanceId) {\n return;\n }\n this.inFlight = false;\n this.currentCancel = null;\n if (this.mode === \"rest\") {\n this.lastPolledAt = Date.now();\n this.scheduleNext();\n }\n }\n });\n }\n};\n\n// src/polls.ts\nvar Polls = class {\n polls = [];\n constructor() {\n this.setupVisibilityListener();\n }\n get count() {\n return this.polls.length;\n }\n add(interval, cb, options) {\n const poll = new Poll(interval, cb, options);\n this.polls.push(poll);\n return {\n stop: () => poll.stop(),\n start: () => poll.start(),\n destroy: () => {\n poll.stop();\n this.polls = this.polls.filter((p) => p !== poll);\n }\n };\n }\n clear() {\n this.polls.forEach((poll) => poll.stop());\n this.polls = [];\n }\n setupVisibilityListener() {\n if (typeof document === \"undefined\") {\n return;\n }\n document.addEventListener(\n \"visibilitychange\",\n () => {\n this.polls.forEach((poll) => poll.isInBackground(document.hidden));\n },\n false\n );\n }\n};\nvar polls = new Polls();\n\n// src/request.ts\nimport { get as get6 } from \"es-toolkit/compat\";\n\n// src/http.ts\nimport { client as precognitionClient } from \"laravel-precognition\";\n\n// src/httpHandlers.ts\nvar HttpHandlers = class {\n requestHandlers = [];\n responseHandlers = [];\n errorHandlers = [];\n onRequest(handler) {\n this.requestHandlers.push(handler);\n return () => {\n this.requestHandlers = this.requestHandlers.filter((h) => h !== handler);\n };\n }\n onResponse(handler) {\n this.responseHandlers.push(handler);\n return () => {\n this.responseHandlers = this.responseHandlers.filter((h) => h !== handler);\n };\n }\n onError(handler) {\n this.errorHandlers.push(handler);\n return () => {\n this.errorHandlers = this.errorHandlers.filter((h) => h !== handler);\n };\n }\n async processRequest(config2) {\n let result = config2;\n for (const handler of this.requestHandlers) {\n result = await handler(result);\n }\n return result;\n }\n async processResponse(response) {\n let result = response;\n for (const handler of this.responseHandlers) {\n result = await handler(result);\n }\n return result;\n }\n async processError(error) {\n for (const handler of this.errorHandlers) {\n await handler(error);\n }\n }\n};\nvar httpHandlers = new HttpHandlers();\n\n// src/xhrHttpClient.ts\nfunction getCookie(name) {\n const match = document.cookie.match(new RegExp(\"(^|;\\\\s*)(\" + name + \")=([^;]*)\"));\n return match ? decodeURIComponent(match[3]) : null;\n}\nfunction isSameOrigin(url) {\n return new URL(url, window.location.href).origin === window.location.origin;\n}\nfunction parseHeaders(xhr) {\n const headers = {};\n xhr.getAllResponseHeaders().split(\"\\r\\n\").forEach((line) => {\n const index = line.indexOf(\":\");\n if (index > 0) {\n headers[line.slice(0, index).toLowerCase().trim()] = line.slice(index + 1).trim();\n }\n });\n return headers;\n}\nfunction isFormDataRequestBody(value) {\n return typeof FormData !== \"undefined\" && value instanceof FormData;\n}\nfunction isRawRequestBody(value) {\n return typeof value === \"string\" || isFormDataRequestBody(value) || typeof Blob !== \"undefined\" && value instanceof Blob || typeof ArrayBuffer !== \"undefined\" && value instanceof ArrayBuffer || typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView(value) || typeof URLSearchParams !== \"undefined\" && value instanceof URLSearchParams;\n}\nfunction setHeaders(xhr, config2) {\n if (!config2.headers) {\n return;\n }\n const isFormData2 = isFormDataRequestBody(config2.data);\n Object.entries(config2.headers).forEach(([key, value]) => {\n if (key.toLowerCase() !== \"content-type\" || !isFormData2) {\n xhr.setRequestHeader(key, String(value));\n }\n });\n}\nfunction buildUrlWithParams(url, params) {\n if (!params || Object.keys(params).length === 0) {\n return url;\n }\n const [urlWithParams] = mergeDataIntoQueryString(\"get\", url, params);\n return urlWithParams;\n}\nvar XhrHttpClient = class {\n xsrfCookieName;\n xsrfHeaderName;\n constructor(options = {}) {\n this.xsrfCookieName = options.xsrfCookieName ?? \"XSRF-TOKEN\";\n this.xsrfHeaderName = options.xsrfHeaderName ?? \"X-XSRF-TOKEN\";\n }\n async request(config2) {\n const processedConfig = await httpHandlers.processRequest(config2);\n try {\n const response = await this.doRequest(processedConfig);\n return await httpHandlers.processResponse(response);\n } catch (error) {\n if (error instanceof HttpResponseError || error instanceof HttpNetworkError || error instanceof HttpCancelledError) {\n await httpHandlers.processError(error);\n }\n throw error;\n }\n }\n doRequest(config2) {\n return new Promise((resolve, reject) => {\n if (config2.signal?.aborted) {\n reject(new HttpCancelledError(\"Request was cancelled\", config2.url));\n return;\n }\n const xhr = new XMLHttpRequest();\n const url = buildUrlWithParams(config2.url, config2.params);\n xhr.open(config2.method.toUpperCase(), url, true);\n const xsrfToken = isSameOrigin(url) ? getCookie(this.xsrfCookieName) : null;\n if (xsrfToken) {\n xhr.setRequestHeader(this.xsrfHeaderName, xsrfToken);\n }\n const hasRequestedWithHeader = Object.keys(config2.headers ?? {}).some(\n (key) => key.toLowerCase() === \"x-requested-with\"\n );\n if (!hasRequestedWithHeader) {\n xhr.setRequestHeader(\"X-Requested-With\", \"XMLHttpRequest\");\n }\n let body = null;\n if (config2.data !== null && config2.data !== void 0) {\n if (isRawRequestBody(config2.data)) {\n body = config2.data;\n } else if (typeof config2.data === \"object\") {\n body = JSON.stringify(config2.data);\n if (!config2.headers?.[\"Content-Type\"] && !config2.headers?.[\"content-type\"]) {\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n }\n } else {\n body = String(config2.data);\n }\n }\n setHeaders(xhr, config2);\n if (config2.onUploadProgress) {\n xhr.upload.onprogress = (event) => {\n const progress3 = event.lengthComputable ? event.loaded / event.total : void 0;\n config2.onUploadProgress({\n progress: progress3,\n percentage: progress3 ? Math.round(progress3 * 100) : 0,\n loaded: event.loaded,\n total: event.lengthComputable ? event.total : void 0\n });\n };\n }\n if (config2.signal) {\n config2.signal.addEventListener(\"abort\", () => xhr.abort());\n }\n xhr.onabort = () => reject(new HttpCancelledError(\"Request was cancelled\", config2.url));\n xhr.onerror = () => reject(new HttpNetworkError(\"Network error\", config2.url));\n xhr.onload = () => {\n const response = {\n status: xhr.status,\n data: xhr.responseText,\n headers: parseHeaders(xhr)\n };\n if (xhr.status >= 400) {\n reject(new HttpResponseError(`Request failed with status ${xhr.status}`, response, config2.url));\n } else {\n resolve(response);\n }\n };\n xhr.send(body);\n });\n }\n};\nvar xhrHttpClient = new XhrHttpClient();\n\n// src/http.ts\nprecognitionClient.withSerializer(stringifyJson);\nvar httpClient = xhrHttpClient;\nfunction isHttpClientOptions(client) {\n return !(\"request\" in client);\n}\nvar http = {\n /**\n * Get the current HTTP client\n */\n getClient() {\n return httpClient;\n },\n /**\n * Set the HTTP client to use for all Inertia requests\n */\n setClient(clientOrOptions) {\n if (!isHttpClientOptions(clientOrOptions)) {\n httpClient = clientOrOptions;\n return;\n }\n httpClient = new XhrHttpClient(clientOrOptions);\n if (clientOrOptions.xsrfCookieName) {\n precognitionClient.withXsrfCookieName(clientOrOptions.xsrfCookieName);\n }\n if (clientOrOptions.xsrfHeaderName) {\n precognitionClient.withXsrfHeaderName(clientOrOptions.xsrfHeaderName);\n }\n },\n /**\n * Register a request handler that runs before each request\n */\n onRequest: httpHandlers.onRequest.bind(httpHandlers),\n /**\n * Register a response handler that runs after each successful response\n */\n onResponse: httpHandlers.onResponse.bind(httpHandlers),\n /**\n * Register an error handler that runs when a request fails\n */\n onError: httpHandlers.onError.bind(httpHandlers),\n /**\n * Process a request config through all registered request handlers.\n * For use by custom HttpClient implementations.\n */\n processRequest: httpHandlers.processRequest.bind(httpHandlers),\n /**\n * Process a response through all registered response handlers.\n * For use by custom HttpClient implementations.\n */\n processResponse: httpHandlers.processResponse.bind(httpHandlers),\n /**\n * Process an error through all registered error handlers.\n * For use by custom HttpClient implementations.\n */\n processError: httpHandlers.processError.bind(httpHandlers)\n};\n\n// src/interceptors.ts\nvar VisitInterceptors = class {\n requestHandlers = [];\n responseHandlers = [];\n onVisitRequest(handler) {\n this.requestHandlers.push(handler);\n return () => {\n this.requestHandlers = this.requestHandlers.filter((h) => h !== handler);\n };\n }\n onVisitResponse(handler) {\n this.responseHandlers.push(handler);\n return () => {\n this.responseHandlers = this.responseHandlers.filter((h) => h !== handler);\n };\n }\n async processRequest(visit, config2) {\n let result = config2;\n for (const handler of this.requestHandlers) {\n result = await handler(visit, result);\n }\n return result;\n }\n async processResponse(visit, response) {\n let result = response;\n for (const handler of this.responseHandlers) {\n result = await handler(visit, result);\n }\n return result;\n }\n};\nvar interceptors = new VisitInterceptors();\nfunction exposeInterceptors() {\n if (typeof window === \"undefined\") {\n return;\n }\n ;\n window.__inertia_interceptors__ = interceptors;\n}\n\n// src/requestParams.ts\nvar RequestParams = class _RequestParams {\n callbacks = [];\n params;\n constructor(params) {\n if (!params.prefetch) {\n this.params = params;\n } else {\n const wrappedCallbacks = {\n onBefore: this.wrapCallback(params, \"onBefore\"),\n onBeforeUpdate: this.wrapCallback(params, \"onBeforeUpdate\"),\n onStart: this.wrapCallback(params, \"onStart\"),\n onProgress: this.wrapCallback(params, \"onProgress\"),\n onFinish: this.wrapCallback(params, \"onFinish\"),\n onCancel: this.wrapCallback(params, \"onCancel\"),\n onSuccess: this.wrapCallback(params, \"onSuccess\"),\n onError: this.wrapCallback(params, \"onError\"),\n onHttpException: this.wrapCallback(params, \"onHttpException\"),\n onNetworkError: this.wrapCallback(params, \"onNetworkError\"),\n onFlash: this.wrapCallback(params, \"onFlash\"),\n onCancelToken: this.wrapCallback(params, \"onCancelToken\"),\n onPrefetched: this.wrapCallback(params, \"onPrefetched\"),\n onPrefetching: this.wrapCallback(params, \"onPrefetching\")\n };\n this.params = {\n ...params,\n ...wrappedCallbacks,\n onPrefetchResponse: params.onPrefetchResponse || (() => {\n }),\n onPrefetchError: params.onPrefetchError || (() => {\n })\n };\n }\n }\n static create(params) {\n return new _RequestParams(params);\n }\n data() {\n return this.params.method === \"get\" ? null : this.params.data;\n }\n queryParams() {\n return this.params.method === \"get\" ? this.params.data : {};\n }\n isPartial() {\n return this.params.only.length > 0 || this.params.except.length > 0 || this.params.reset.length > 0;\n }\n isPrefetch() {\n return this.params.prefetch === true;\n }\n isDeferredPropsRequest() {\n return this.params.deferredProps === true;\n }\n isPollRequest() {\n return this.params.poll === true;\n }\n onCancelToken(cb) {\n this.params.onCancelToken({\n cancel: cb\n });\n }\n markAsFinished() {\n this.params.completed = true;\n this.params.cancelled = false;\n this.params.interrupted = false;\n }\n markAsCancelled({ cancelled = true, interrupted = false }) {\n this.params.onCancel();\n this.params.completed = false;\n this.params.cancelled = cancelled;\n this.params.interrupted = interrupted;\n }\n wasCancelledAtAll() {\n return this.params.cancelled || this.params.interrupted;\n }\n onFinish() {\n this.params.onFinish(this.params);\n }\n onStart() {\n this.params.onStart(this.params);\n }\n onPrefetching() {\n this.params.onPrefetching(this.params);\n }\n onPrefetchResponse(response) {\n if (this.params.onPrefetchResponse) {\n this.params.onPrefetchResponse(response);\n }\n }\n onPrefetchError(error) {\n if (this.params.onPrefetchError) {\n this.params.onPrefetchError(error);\n }\n }\n all() {\n return this.params;\n }\n headers() {\n const headers = {\n ...this.params.headers\n };\n if (this.isPartial()) {\n headers[\"X-Inertia-Partial-Component\"] = page.get().component;\n }\n const only = this.params.only.concat(this.params.reset);\n if (only.length > 0) {\n headers[\"X-Inertia-Partial-Data\"] = only.join(\",\");\n }\n if (this.params.except.length > 0) {\n headers[\"X-Inertia-Partial-Except\"] = this.params.except.join(\",\");\n }\n if (this.params.reset.length > 0) {\n headers[\"X-Inertia-Reset\"] = this.params.reset.join(\",\");\n }\n if (this.params.errorBag && this.params.errorBag.length > 0) {\n headers[\"X-Inertia-Error-Bag\"] = this.params.errorBag;\n }\n return headers;\n }\n setPreserveOptions(page2) {\n this.params.preserveScroll = _RequestParams.resolvePreserveOption(this.params.preserveScroll, page2);\n this.params.preserveState = _RequestParams.resolvePreserveOption(this.params.preserveState, page2);\n }\n runCallbacks() {\n this.callbacks.forEach(({ name, args }) => {\n this.params[name](...args);\n });\n }\n merge(toMerge) {\n this.params = {\n ...this.params,\n ...toMerge\n };\n }\n wrapCallback(params, name) {\n return (...args) => {\n this.recordCallback(name, args);\n params[name](...args);\n };\n }\n recordCallback(name, args) {\n this.callbacks.push({ name, args });\n }\n static resolvePreserveOption(value, page2) {\n if (typeof value === \"function\") {\n return value(page2);\n }\n if (value === \"errors\") {\n return Object.keys(page2.props.errors || {}).length > 0;\n }\n return value;\n }\n};\n\n// src/response.ts\nimport { isEqual as isEqual2 } from \"es-toolkit\";\nimport { get as get5, set as set4 } from \"es-toolkit/compat\";\n\n// src/dialog.ts\nvar dialog_default = {\n createIframeAndPage(html) {\n if (typeof html === \"object\") {\n html = `All Inertia requests must receive a valid Inertia response, however a plain JSON response was received.
${JSON.stringify(\n html\n )}`;\n }\n const page2 = document.createElement(\"html\");\n page2.innerHTML = html;\n page2.querySelectorAll(\"a\").forEach((a) => a.setAttribute(\"target\", \"_top\"));\n const iframe = document.createElement(\"iframe\");\n iframe.style.backgroundColor = \"white\";\n iframe.style.borderRadius = \"5px\";\n iframe.style.width = \"100%\";\n iframe.style.height = \"100%\";\n iframe.setAttribute(\"sandbox\", \"allow-scripts\");\n return { iframe, page: page2 };\n },\n show(html) {\n const { iframe, page: page2 } = this.createIframeAndPage(html);\n iframe.style.boxSizing = \"border-box\";\n iframe.style.display = \"block\";\n const dialog = document.createElement(\"dialog\");\n dialog.id = \"inertia-error-dialog\";\n Object.assign(dialog.style, {\n width: \"calc(100vw - 100px)\",\n height: \"calc(100vh - 100px)\",\n padding: \"0\",\n margin: \"auto\",\n border: \"none\",\n backgroundColor: \"transparent\"\n });\n const dialogStyleElement = document.createElement(\"style\");\n dialogStyleElement.textContent = `\n dialog#inertia-error-dialog::backdrop {\n background-color: rgba(0, 0, 0, 0.6);\n }\n\n dialog#inertia-error-dialog:focus {\n outline: none;\n }\n `;\n const nonce = config.get(\"nonce\");\n if (nonce) {\n dialogStyleElement.nonce = nonce;\n }\n document.head.appendChild(dialogStyleElement);\n dialog.addEventListener(\"click\", (event) => {\n if (event.target === dialog) {\n dialog.close();\n }\n });\n dialog.addEventListener(\"close\", () => {\n dialogStyleElement.remove();\n dialog.remove();\n });\n dialog.appendChild(iframe);\n document.body.prepend(dialog);\n dialog.showModal();\n dialog.focus();\n iframe.srcdoc = page2.outerHTML;\n }\n};\n\n// src/partialReload.ts\nvar isPathOrSubPath = (path, candidate) => {\n return path === candidate || path.startsWith(`${candidate}.`);\n};\nvar partialReloadRequestsProp = (visit, prop) => {\n const { only, except } = visit;\n if (only.length === 0 && except.length === 0) {\n return false;\n }\n if (only.length > 0 && !only.some((candidate) => isPathOrSubPath(prop, candidate))) {\n return false;\n }\n if (except.length > 0 && except.some((candidate) => isPathOrSubPath(prop, candidate))) {\n return false;\n }\n return true;\n};\nvar partialReloadRequestsSomeProps = (visit, props) => {\n return props.some((prop) => partialReloadRequestsProp(visit, prop));\n};\n\n// src/response.ts\nvar queue2 = new Queue();\nvar Response = class _Response {\n constructor(requestParams, response, originatingPage, optimisticId = null) {\n this.requestParams = requestParams;\n this.response = response;\n this.originatingPage = originatingPage;\n this.optimisticId = optimisticId;\n }\n requestParams;\n response;\n originatingPage;\n optimisticId;\n wasPrefetched = false;\n processed = false;\n static create(params, response, originatingPage, optimisticId = null) {\n return new _Response(params, response, originatingPage, optimisticId);\n }\n isProcessed() {\n return this.processed;\n }\n async handlePrefetch() {\n if (isSameUrlWithoutHash(this.requestParams.all().url, window.location)) {\n this.handle();\n }\n }\n async handle() {\n return queue2.add(() => this.process());\n }\n async process() {\n if (this.requestParams.all().prefetch) {\n this.wasPrefetched = true;\n this.requestParams.all().prefetch = false;\n this.requestParams.all().onPrefetched(this.response, this.requestParams.all());\n firePrefetchedEvent(this.response, this.requestParams.all());\n return Promise.resolve();\n }\n this.requestParams.runCallbacks();\n this.processed = true;\n if (!this.isInertiaResponse()) {\n return this.handleNonInertiaResponse();\n }\n if (this.isHttpException()) {\n const response = {\n ...this.response,\n data: this.getDataFromResponse(this.response.data)\n };\n if (this.requestParams.all().onHttpException(response) === false) {\n return;\n }\n if (!fireHttpExceptionEvent(response)) {\n return;\n }\n }\n await history.processQueue();\n history.preserveUrl = this.requestParams.all().preserveUrl;\n await this.setPage();\n const { flash } = page.get();\n if (Object.keys(flash).length > 0 && !this.requestParams.isDeferredPropsRequest()) {\n fireFlashEvent(flash);\n this.requestParams.all().onFlash(flash);\n }\n const errors = page.get().props.errors || {};\n if (Object.keys(errors).length > 0) {\n const scopedErrors = this.getScopedErrors(errors);\n fireErrorEvent(scopedErrors, { page: page.get(), visitId: this.requestParams.all().id });\n return this.requestParams.all().onError(scopedErrors);\n }\n router.flushByCacheTags(this.requestParams.all().invalidateCacheTags || []);\n if (!this.wasPrefetched) {\n router.flush(page.get().url);\n }\n fireSuccessEvent(page.get(), { visitId: this.requestParams.all().id });\n await this.requestParams.all().onSuccess(page.get());\n history.preserveUrl = false;\n }\n mergeParams(params) {\n this.requestParams.merge(params);\n }\n getPageResponse() {\n const data = this.getDataFromResponse(this.response.data);\n if (typeof data === \"object\") {\n return this.response.data = { ...data, flash: data.flash ?? {}, rescuedProps: data.rescuedProps ?? [] };\n }\n return this.response.data = data;\n }\n async handleNonInertiaResponse() {\n if (this.isInertiaRedirect()) {\n router.visit(this.getHeader(\"x-inertia-redirect\"), {\n ...this.requestParams.all(),\n method: \"get\",\n data: {}\n });\n return;\n }\n if (this.isLocationVisit()) {\n const locationUrl = hrefToUrl(this.getHeader(\"x-inertia-location\"));\n setHashIfSameUrl(this.requestParams.all().url, locationUrl);\n return this.locationVisit(locationUrl);\n }\n const response = {\n ...this.response,\n data: this.getDataFromResponse(this.response.data)\n };\n if (this.requestParams.all().onHttpException(response) === false) {\n return;\n }\n if (fireHttpExceptionEvent(response)) {\n return dialog_default.show(response.data);\n }\n }\n isInertiaResponse() {\n return this.hasHeader(\"x-inertia\");\n }\n isHttpException() {\n return this.response.status >= 400;\n }\n hasStatus(status2) {\n return this.response.status === status2;\n }\n getHeader(header) {\n return this.response.headers[header];\n }\n hasHeader(header) {\n return this.getHeader(header) !== void 0;\n }\n isInertiaRedirect() {\n return this.hasStatus(409) && this.hasHeader(\"x-inertia-redirect\");\n }\n isLocationVisit() {\n return this.hasStatus(409) && this.hasHeader(\"x-inertia-location\");\n }\n /**\n * @link https://inertiajs.com/redirects#external-redirects\n */\n locationVisit(url) {\n try {\n if (typeof window === \"undefined\") {\n return;\n }\n const responseVersion = this.getHeader(\"x-inertia-version\");\n const versionChange = !!responseVersion && responseVersion !== page.get().version;\n if (!fireLocationEvent(url, versionChange)) {\n return;\n }\n if (versionChange && this.requestParams.all().async) {\n return;\n }\n SessionStorage.set(SessionStorage.locationVisitKey, {\n preserveScroll: this.requestParams.all().preserveScroll === true\n });\n if (isSameUrlWithoutHash(window.location, url)) {\n window.location.reload();\n } else {\n window.location.href = url.href;\n }\n } catch (error) {\n return false;\n }\n }\n async setPage() {\n const pageResponse = this.getPageResponse();\n if (!this.shouldSetPage(pageResponse)) {\n return Promise.resolve();\n }\n this.response = await interceptors.processResponse(this.requestParams.all(), this.response);\n this.mergeProps(pageResponse);\n page.mergeOncePropsIntoResponse(pageResponse);\n this.preserveOptimisticProps(pageResponse);\n this.preserveEqualProps(pageResponse);\n await this.setRememberedState(pageResponse);\n this.requestParams.setPreserveOptions(pageResponse);\n pageResponse.url = history.preserveUrl ? page.get().url : this.pageUrl(pageResponse);\n this.requestParams.all().onBeforeUpdate(pageResponse);\n fireBeforeUpdateEvent(pageResponse);\n return page.set(pageResponse, {\n replace: this.requestParams.all().replace,\n preserveScroll: this.requestParams.all().preserveScroll,\n preserveState: this.requestParams.all().preserveState,\n viewTransition: this.requestParams.all().viewTransition,\n cached: this.requestParams.all().cached,\n visitId: this.requestParams.all().id\n });\n }\n getDataFromResponse(response) {\n if (typeof response !== \"string\") {\n return response;\n }\n try {\n return parsePage(response);\n } catch (error) {\n return response;\n }\n }\n shouldSetPage(pageResponse) {\n if (!this.requestParams.all().async) {\n return true;\n }\n if (this.originatingPage.component !== pageResponse.component) {\n return true;\n }\n if (this.originatingPage.component !== page.get().component) {\n return false;\n }\n const originatingUrl = hrefToUrl(this.originatingPage.url);\n const currentPageUrl = hrefToUrl(page.get().url);\n return originatingUrl.origin === currentPageUrl.origin && originatingUrl.pathname === currentPageUrl.pathname;\n }\n pageUrl(pageResponse) {\n const responseUrl = hrefToUrl(pageResponse.url);\n if (pageResponse.preserveFragment) {\n responseUrl.hash = this.requestParams.all().url.hash;\n } else {\n setHashIfSameUrl(this.requestParams.all().url, responseUrl);\n }\n return responseUrl.pathname + responseUrl.search + responseUrl.hash;\n }\n preserveOptimisticProps(pageResponse) {\n if (!router.hasPendingOptimistic() && !this.isStaleOptimisticResponse()) {\n return;\n }\n for (const key of Object.keys(pageResponse.props)) {\n if (page.hasBaseline(key)) {\n page.updateBaseline(key, pageResponse.props[key]);\n pageResponse.props[key] = page.get().props[key];\n }\n }\n }\n isStaleOptimisticResponse() {\n return this.optimisticId !== null && page.hasConfirmedOptimisticAfter(this.optimisticId);\n }\n preserveEqualProps(pageResponse) {\n if (pageResponse.component !== page.get().component) {\n return;\n }\n const currentPageProps = page.get().props;\n Object.entries(pageResponse.props).forEach(([key, value]) => {\n if (isEqual2(value, currentPageProps[key])) {\n pageResponse.props[key] = currentPageProps[key];\n }\n });\n }\n mergeProps(pageResponse) {\n if (!this.requestParams.isPartial() || pageResponse.component !== page.get().component) {\n return;\n }\n const propsToAppend = pageResponse.mergeProps || [];\n const propsToPrepend = pageResponse.prependProps || [];\n const propsToDeepMerge = pageResponse.deepMergeProps || [];\n const matchPropsOn = pageResponse.matchPropsOn || [];\n const mergeProp = (prop, shouldAppend) => {\n const currentProp = get5(page.get().props, prop);\n const incomingProp = get5(pageResponse.props, prop);\n if (Array.isArray(incomingProp)) {\n const newArray = this.mergeOrMatchItems(\n currentProp || [],\n incomingProp,\n prop,\n matchPropsOn,\n shouldAppend\n );\n set4(pageResponse.props, prop, newArray);\n } else if (typeof incomingProp === \"object\" && incomingProp !== null) {\n const newObject = {\n ...currentProp || {},\n ...incomingProp\n };\n set4(pageResponse.props, prop, newObject);\n }\n };\n propsToAppend.forEach((prop) => mergeProp(prop, true));\n propsToPrepend.forEach((prop) => mergeProp(prop, false));\n propsToDeepMerge.forEach((prop) => {\n const currentProp = get5(page.get().props, prop);\n const incomingProp = get5(pageResponse.props, prop);\n const deepMerge = (target, source, matchProp) => {\n if (Array.isArray(source)) {\n return this.mergeOrMatchItems(target, source, matchProp, matchPropsOn);\n }\n if (typeof source === \"object\" && source !== null) {\n return Object.keys(source).reduce(\n (acc, key) => {\n acc[key] = deepMerge(target ? target[key] : void 0, source[key], `${matchProp}.${key}`);\n return acc;\n },\n { ...target }\n );\n }\n return source;\n };\n set4(pageResponse.props, prop, deepMerge(currentProp, incomingProp, prop));\n });\n const nestedTopKeys = new Set(\n [...this.requestParams.all().only, ...this.requestParams.all().except].filter((prop) => prop.includes(\".\")).map((prop) => prop.split(\".\")[0])\n );\n for (const key of nestedTopKeys) {\n const currentValue = page.get().props[key];\n if (this.isObject(currentValue) && this.isObject(pageResponse.props[key])) {\n pageResponse.props[key] = this.deepMergeObjects(currentValue, pageResponse.props[key]);\n }\n }\n pageResponse.props = { ...page.get().props, ...pageResponse.props };\n if (this.shouldPreserveErrors(pageResponse)) {\n pageResponse.props.errors = page.get().props.errors;\n }\n if (page.get().scrollProps) {\n pageResponse.scrollProps = {\n ...page.get().scrollProps || {},\n ...pageResponse.scrollProps || {}\n };\n }\n if (page.hasOnceProps()) {\n pageResponse.onceProps = {\n ...page.get().onceProps || {},\n ...pageResponse.onceProps || {}\n };\n }\n if (this.requestParams.isDeferredPropsRequest()) {\n pageResponse.flash = { ...page.get().flash };\n }\n const currentOriginalDeferred = page.get().initialDeferredProps;\n if (currentOriginalDeferred && Object.keys(currentOriginalDeferred).length > 0) {\n pageResponse.initialDeferredProps = currentOriginalDeferred;\n }\n pageResponse.rescuedProps = this.mergeRescuedProps(pageResponse);\n }\n mergeRescuedProps(pageResponse) {\n const currentRescued = page.get().rescuedProps ?? [];\n const incomingRescued = pageResponse.rescuedProps ?? [];\n const newRescued = new Set(\n currentRescued.filter((prop) => !partialReloadRequestsProp(this.requestParams.all(), prop))\n );\n incomingRescued.forEach((prop) => newRescued.add(prop));\n return Array.from(newRescued);\n }\n /**\n * By default, the Laravel adapter shares validation errors via Inertia::always(),\n * so responses always include errors, even when empty. Components like\n * InfiniteScroll and WhenVisible, as well as loading deferred props,\n * perform async requests that should practically never reset errors.\n */\n shouldPreserveErrors(pageResponse) {\n if (!this.requestParams.all().preserveErrors) {\n return false;\n }\n const currentErrors = page.get().props.errors;\n if (!currentErrors || Object.keys(currentErrors).length === 0) {\n return false;\n }\n const responseErrors = pageResponse.props.errors;\n if (responseErrors && Object.keys(responseErrors).length > 0) {\n return false;\n }\n return true;\n }\n isObject(item) {\n return item && typeof item === \"object\" && !Array.isArray(item);\n }\n deepMergeObjects(target, source) {\n const result = { ...target };\n for (const key of Object.keys(source)) {\n const targetValue = target[key];\n const sourceValue = source[key];\n if (this.isObject(targetValue) && this.isObject(sourceValue)) {\n result[key] = this.deepMergeObjects(targetValue, sourceValue);\n } else {\n result[key] = sourceValue;\n }\n }\n return result;\n }\n mergeOrMatchItems(existingItems, newItems, matchProp, matchPropsOn, shouldAppend = true) {\n const items = Array.isArray(existingItems) ? existingItems : [];\n const matchingKey = matchPropsOn.find((key) => {\n const keyPath = key.split(\".\").slice(0, -1).join(\".\");\n return keyPath === matchProp;\n });\n if (!matchingKey) {\n return shouldAppend ? [...items, ...newItems] : [...newItems, ...items];\n }\n const uniqueProperty = matchingKey.split(\".\").pop() || \"\";\n const newItemsMap = /* @__PURE__ */ new Map();\n newItems.forEach((item) => {\n if (this.hasUniqueProperty(item, uniqueProperty)) {\n newItemsMap.set(item[uniqueProperty], item);\n }\n });\n return shouldAppend ? this.appendWithMatching(items, newItems, newItemsMap, uniqueProperty) : this.prependWithMatching(items, newItems, newItemsMap, uniqueProperty);\n }\n appendWithMatching(existingItems, newItems, newItemsMap, uniqueProperty) {\n const updatedExisting = existingItems.map((item) => {\n if (this.hasUniqueProperty(item, uniqueProperty) && newItemsMap.has(item[uniqueProperty])) {\n return newItemsMap.get(item[uniqueProperty]);\n }\n return item;\n });\n const newItemsToAdd = newItems.filter((item) => {\n if (!this.hasUniqueProperty(item, uniqueProperty)) {\n return true;\n }\n return !existingItems.some(\n (existing) => this.hasUniqueProperty(existing, uniqueProperty) && existing[uniqueProperty] === item[uniqueProperty]\n );\n });\n return [...updatedExisting, ...newItemsToAdd];\n }\n prependWithMatching(existingItems, newItems, newItemsMap, uniqueProperty) {\n const untouchedExisting = existingItems.filter((item) => {\n if (this.hasUniqueProperty(item, uniqueProperty)) {\n return !newItemsMap.has(item[uniqueProperty]);\n }\n return true;\n });\n return [...newItems, ...untouchedExisting];\n }\n hasUniqueProperty(item, property) {\n return item && typeof item === \"object\" && property in item;\n }\n async setRememberedState(pageResponse) {\n const rememberedState = await history.getState(history.rememberedState, {});\n if (this.requestParams.all().preserveState && rememberedState && pageResponse.component === page.get().component) {\n pageResponse.rememberedState = rememberedState;\n }\n }\n getScopedErrors(errors) {\n if (!this.requestParams.all().errorBag) {\n return errors;\n }\n return errors[this.requestParams.all().errorBag || \"\"] || {};\n }\n};\n\n// src/request.ts\nvar Request = class _Request {\n constructor(params, page2, { optimisticId = null } = {}) {\n this.page = page2;\n this.requestParams = RequestParams.create(params);\n this.cancelToken = new AbortController();\n this.optimisticId = optimisticId;\n }\n page;\n response;\n cancelToken;\n requestParams;\n requestHasFinished = false;\n optimisticId;\n static create(params, page2, options) {\n return new _Request(params, page2, options);\n }\n isPrefetch() {\n return this.requestParams.isPrefetch();\n }\n getUrl() {\n return this.requestParams.all().url;\n }\n isOptimistic() {\n return this.optimisticId !== null;\n }\n isPendingOptimistic() {\n return this.isOptimistic() && (!this.response || !this.response.isProcessed());\n }\n async send() {\n this.requestParams.onCancelToken(() => {\n if (this.response) {\n return;\n }\n this.cancel({ cancelled: true });\n });\n fireStartEvent(this.requestParams.all());\n this.requestParams.onStart();\n if (this.requestParams.all().prefetch) {\n this.requestParams.onPrefetching();\n firePrefetchingEvent(this.requestParams.all());\n }\n const originallyPrefetch = this.requestParams.all().prefetch;\n const config2 = {\n method: this.requestParams.all().method,\n url: urlWithoutHash(this.requestParams.all().url).href,\n data: this.requestParams.data(),\n signal: this.cancelToken.signal,\n headers: this.getHeaders(),\n onUploadProgress: this.onProgress.bind(this)\n };\n if (containsBigInt(config2.data)) {\n config2.data = stringifyJson(config2.data);\n config2.headers = { \"Content-Type\": \"application/json\", ...config2.headers };\n }\n const processedConfig = await interceptors.processRequest(this.requestParams.all(), config2);\n return http.getClient().request(processedConfig).then((response) => {\n this.response = Response.create(this.requestParams, response, this.page, this.optimisticId);\n return this.response.handle();\n }).catch((error) => {\n if (error instanceof HttpResponseError) {\n this.response = Response.create(this.requestParams, error.response, this.page, this.optimisticId);\n return this.response.handle();\n }\n return Promise.reject(error);\n }).catch((error) => {\n if (error instanceof HttpCancelledError) {\n return;\n }\n if (this.requestParams.all().onNetworkError(error) === false) {\n return;\n }\n if (fireNetworkErrorEvent(error)) {\n if (originallyPrefetch) {\n this.requestParams.onPrefetchError(error);\n }\n return Promise.reject(error);\n }\n }).finally(() => {\n this.finish();\n if (originallyPrefetch && this.response) {\n this.requestParams.onPrefetchResponse(this.response);\n }\n });\n }\n finish() {\n if (this.requestParams.wasCancelledAtAll()) {\n return;\n }\n this.requestParams.markAsFinished();\n this.fireFinishEvents();\n }\n fireFinishEvents() {\n if (this.requestHasFinished) {\n return;\n }\n this.requestHasFinished = true;\n fireFinishEvent(this.requestParams.all());\n this.requestParams.onFinish();\n }\n cancel({ cancelled = false, interrupted = false }) {\n if (this.requestHasFinished) {\n return;\n }\n this.cancelToken.abort();\n this.requestParams.markAsCancelled({ cancelled, interrupted });\n this.fireFinishEvents();\n }\n onProgress(progress3) {\n if (this.requestParams.data() instanceof FormData) {\n fireProgressEvent(progress3);\n this.requestParams.all().onProgress(progress3);\n }\n }\n getHeaders() {\n const headers = {\n ...this.requestParams.headers(),\n Accept: \"text/html, application/xhtml+xml\",\n \"X-Requested-With\": \"XMLHttpRequest\",\n \"X-Inertia\": true\n };\n const page2 = page.get();\n if (page2.version) {\n headers[\"X-Inertia-Version\"] = page2.version;\n }\n const onceProps = Object.entries(page2.onceProps || {}).filter(([, onceProp]) => {\n if (get6(page2.props, onceProp.prop) === void 0) {\n return false;\n }\n return !onceProp.expiresAt || onceProp.expiresAt > Date.now();\n }).map(([key]) => key);\n if (onceProps.length > 0) {\n headers[\"X-Inertia-Except-Once-Props\"] = onceProps.join(\",\");\n }\n return headers;\n }\n};\n\n// src/requestStream.ts\nvar RequestStream = class {\n requests = [];\n maxConcurrent;\n interruptible;\n constructor({ maxConcurrent, interruptible }) {\n this.maxConcurrent = maxConcurrent;\n this.interruptible = interruptible;\n }\n send(request) {\n this.requests.push(request);\n request.send().finally(() => {\n this.requests = this.requests.filter((r) => r !== request);\n });\n }\n interruptInFlight() {\n this.cancel({ interrupted: true }, false);\n }\n cancelInFlight(options = {}) {\n const shouldCancel = typeof options === \"function\" ? options : (request) => {\n const { prefetch = true, optimistic = true } = options;\n return (prefetch || !request.isPrefetch()) && (optimistic || !request.isOptimistic());\n };\n this.requests.filter(shouldCancel).forEach((request) => request.cancel({ cancelled: true }));\n }\n cancel({ cancelled = false, interrupted = false } = {}, force = false) {\n if (!force && !this.shouldCancel()) {\n return;\n }\n const request = this.requests.shift();\n request?.cancel({ cancelled, interrupted });\n }\n shouldCancel() {\n return this.interruptible && this.requests.length >= this.maxConcurrent;\n }\n hasPendingOptimistic() {\n return this.requests.some((request) => request.isPendingOptimistic());\n }\n};\n\n// src/router.ts\nvar noop = () => {\n};\nvar Router = class {\n syncRequestStream = new RequestStream({\n maxConcurrent: 1,\n interruptible: true\n });\n asyncRequestStream = new RequestStream({\n maxConcurrent: Infinity,\n interruptible: false\n });\n clientVisitQueue = new Queue();\n pendingOptimisticCallback = void 0;\n init({\n initialPage,\n resolveComponent,\n swapComponent,\n onFlash\n }) {\n page.init({\n initialPage,\n resolveComponent,\n swapComponent,\n onFlash\n });\n InitialVisit.handle();\n eventHandler.init();\n eventHandler.on(\"missingHistoryItem\", () => {\n if (typeof window !== \"undefined\") {\n this.visit(window.location.href, { preserveState: true, preserveScroll: true, replace: true });\n }\n });\n eventHandler.on(\"loadDeferredProps\", (deferredProps) => {\n this.loadDeferredProps(deferredProps);\n });\n eventHandler.on(\"historyQuotaExceeded\", (url) => {\n window.location.href = url;\n });\n }\n optimistic(callback) {\n this.pendingOptimisticCallback = callback;\n return this;\n }\n get(url, data = {}, options = {}) {\n return this.visit(url, { ...options, method: \"get\", data });\n }\n post(url, data = {}, options = {}) {\n return this.visit(url, { preserveState: true, ...options, method: \"post\", data });\n }\n put(url, data = {}, options = {}) {\n return this.visit(url, { preserveState: true, ...options, method: \"put\", data });\n }\n patch(url, data = {}, options = {}) {\n return this.visit(url, { preserveState: true, ...options, method: \"patch\", data });\n }\n delete(url, options = {}) {\n return this.visit(url, { preserveState: true, ...options, method: \"delete\" });\n }\n reload(options = {}) {\n return this.doReload(options);\n }\n doReload(options = {}) {\n if (typeof window === \"undefined\") {\n return;\n }\n return this.visit(window.location.href, {\n ...options,\n preserveScroll: true,\n preserveState: true,\n async: true,\n headers: {\n ...options.headers || {},\n \"Cache-Control\": \"no-cache\"\n }\n });\n }\n remember(data, key = \"default\") {\n history.remember(data, key);\n }\n restore(key = \"default\") {\n return history.restore(key);\n }\n on(type, callback) {\n if (typeof window === \"undefined\") {\n return () => {\n };\n }\n return eventHandler.onGlobalEvent(type, callback);\n }\n once(type, callback) {\n if (typeof window === \"undefined\") {\n return () => {\n };\n }\n const remove2 = this.on(type, (event) => {\n remove2();\n return callback(event);\n });\n return remove2;\n }\n hasPendingOptimistic() {\n return this.asyncRequestStream.hasPendingOptimistic();\n }\n get activePolls() {\n return polls.count;\n }\n cancelAll({ async = true, prefetch = true, sync = true } = {}) {\n if (async) {\n this.asyncRequestStream.cancelInFlight({ prefetch });\n }\n if (sync) {\n this.syncRequestStream.cancelInFlight();\n }\n }\n poll(interval, requestOptions = {}, options = {}) {\n return polls.add(\n interval,\n ({ onStart, onFinish }) => {\n const resolved = typeof requestOptions === \"function\" ? requestOptions() : requestOptions;\n this.doReload({\n poll: true,\n preserveErrors: true,\n ...resolved,\n onCancelToken: (token) => {\n onStart(token.cancel);\n resolved.onCancelToken?.(token);\n },\n onFinish: (visit) => {\n onFinish();\n resolved.onFinish?.(visit);\n }\n });\n },\n {\n autoStart: options.autoStart ?? true,\n background: options.background,\n keepAlive: options.keepAlive ?? false,\n mode: options.mode\n }\n );\n }\n visit(href, options = {}) {\n options.optimistic = options.optimistic ?? this.pendingOptimisticCallback;\n this.pendingOptimisticCallback = void 0;\n if (options.optimistic) {\n options.async = options.async ?? true;\n }\n const visit = this.getPendingVisit(href, {\n ...options,\n showProgress: options.showProgress ?? (!options.async || !!options.optimistic)\n });\n const events = this.getVisitEvents(options);\n if (events.onBefore(visit) === false || !fireBeforeEvent(visit)) {\n return;\n }\n const currentPageUrl = hrefToUrl(page.get().url);\n const isPartialReload = visit.only.length > 0 || visit.except.length > 0 || visit.reset.length > 0;\n const isSamePage = isPartialReload ? isSameUrlWithoutQueryOrHash(visit.url, currentPageUrl) : isSameUrlWithoutHash(visit.url, currentPageUrl);\n if (!isSamePage) {\n this.asyncRequestStream.cancelInFlight(\n (request) => !request.isPrefetch() && !request.isOptimistic() && isSameUrlWithoutQueryOrHash(request.getUrl(), currentPageUrl)\n );\n }\n if (!visit.async) {\n this.syncRequestStream.interruptInFlight();\n }\n let optimisticId = null;\n if (options.optimistic) {\n optimisticId = page.nextOptimisticId();\n this.applyOptimisticUpdate(options.optimistic, events, optimisticId);\n }\n if (!page.isCleared() && !visit.preserveUrl) {\n Scroll.save();\n }\n const requestParams = {\n ...visit,\n ...events\n };\n const sendRequest = () => {\n const prefetched = prefetchedRequests.get(requestParams);\n if (prefetched) {\n progress.reveal(prefetched.inFlight);\n prefetchedRequests.use(prefetched, requestParams);\n } else {\n progress.reveal(true);\n const requestStream = visit.async ? this.asyncRequestStream : this.syncRequestStream;\n requestStream.send(Request.create(requestParams, page.get(), { optimisticId }));\n }\n };\n if (Array.isArray(visit.component)) {\n console.error(\n `The \"component\" prop received an array of components (${visit.component.join(\", \")}), but only a single component string is supported for instant visits. Pass an explicit component name instead.`\n );\n visit.component = null;\n }\n if (visit.component) {\n history.processQueue().then(() => {\n this.performInstantSwap(visit).then(() => {\n requestParams.preserveScroll = true;\n requestParams.preserveState = true;\n requestParams.replace = true;\n requestParams.viewTransition = false;\n sendRequest();\n });\n });\n } else {\n sendRequest();\n }\n }\n getCached(href, options = {}) {\n return prefetchedRequests.findCached(this.getPrefetchParams(href, options));\n }\n flush(href, options = {}) {\n prefetchedRequests.remove(this.getPrefetchParams(href, options));\n }\n flushAll() {\n prefetchedRequests.removeAll();\n }\n flushByCacheTags(tags) {\n prefetchedRequests.removeByTags(Array.isArray(tags) ? tags : [tags]);\n }\n getPrefetching(href, options = {}) {\n return prefetchedRequests.findInFlight(this.getPrefetchParams(href, options));\n }\n prefetch(href, options = {}, prefetchOptions = {}) {\n const method = options.method ?? (isUrlMethodPair(href) ? href.method : \"get\");\n if (method !== \"get\") {\n throw new Error(\"Prefetch requests must use the GET method\");\n }\n const visit = this.getPendingVisit(href, {\n ...options,\n async: true,\n showProgress: false,\n prefetch: true,\n viewTransition: false\n });\n const visitUrl = visit.url.origin + visit.url.pathname + visit.url.search;\n const currentUrl = window.location.origin + window.location.pathname + window.location.search;\n if (visitUrl === currentUrl) {\n return;\n }\n const events = this.getVisitEvents(options);\n if (events.onBefore(visit) === false || !fireBeforeEvent(visit)) {\n return;\n }\n progress.hide();\n this.asyncRequestStream.interruptInFlight();\n const requestParams = {\n ...visit,\n ...events\n };\n const ensureCurrentPageIsSet = () => {\n return new Promise((resolve) => {\n const checkIfPageIsDefined = () => {\n if (page.get()) {\n resolve();\n } else {\n setTimeout(checkIfPageIsDefined, 50);\n }\n };\n checkIfPageIsDefined();\n });\n };\n ensureCurrentPageIsSet().then(() => {\n prefetchedRequests.add(\n requestParams,\n (params) => {\n this.asyncRequestStream.send(Request.create(params, page.get()));\n },\n {\n cacheFor: config.get(\"prefetch.cacheFor\"),\n cacheTags: [],\n ...prefetchOptions\n }\n );\n });\n }\n clearHistory() {\n history.clear();\n prefetchedRequests.removeAll();\n }\n decryptHistory() {\n return history.decrypt();\n }\n resolveComponent(component, page2) {\n return page.resolve(component, page2);\n }\n replace(params) {\n this.clientVisit(params, { replace: true });\n }\n replaceProp(name, value, options) {\n this.replace({\n preserveScroll: true,\n preserveState: true,\n props(currentProps) {\n const newValue = typeof value === \"function\" ? value(get7(currentProps, name), currentProps) : value;\n return setPathPreservingIdentity(currentProps, name, newValue);\n },\n ...options || {}\n });\n }\n appendToProp(name, value, options) {\n this.replaceProp(\n name,\n (currentValue, currentProps) => {\n const newValue = typeof value === \"function\" ? value(currentValue, currentProps) : value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue !== void 0 ? [currentValue] : [];\n }\n return [...currentValue, newValue];\n },\n options\n );\n }\n prependToProp(name, value, options) {\n this.replaceProp(\n name,\n (currentValue, currentProps) => {\n const newValue = typeof value === \"function\" ? value(currentValue, currentProps) : value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue !== void 0 ? [currentValue] : [];\n }\n return [newValue, ...currentValue];\n },\n options\n );\n }\n push(params) {\n this.clientVisit(params);\n }\n flash(keyOrData, value) {\n const current = page.get().flash;\n let flash;\n if (typeof keyOrData === \"function\") {\n flash = keyOrData(current);\n } else if (typeof keyOrData === \"string\") {\n flash = { ...current, [keyOrData]: value };\n } else if (keyOrData && Object.keys(keyOrData).length) {\n flash = { ...current, ...keyOrData };\n } else {\n return;\n }\n page.setFlash(flash);\n if (Object.keys(flash).length) {\n fireFlashEvent(flash);\n }\n }\n clientVisit(params, { replace = false } = {}) {\n this.clientVisitQueue.add(() => this.performClientVisit(params, { replace }));\n }\n performClientVisit(params, { replace = false } = {}) {\n const current = page.get();\n const onceProps = typeof params.props === \"function\" ? Object.fromEntries(\n Object.values(current.onceProps ?? {}).map((onceProp) => [\n onceProp.prop,\n get7(current.props, onceProp.prop)\n ])\n ) : {};\n const props = typeof params.props === \"function\" ? params.props(current.props, onceProps) : params.props ?? current.props;\n const flash = typeof params.flash === \"function\" ? params.flash(current.flash) : params.flash;\n const { viewTransition, onError, onFinish, onFlash, onSuccess, ...pageParams } = params;\n const page2 = {\n ...current,\n ...pageParams,\n flash: flash ?? {},\n props\n };\n const preserveScroll = RequestParams.resolvePreserveOption(params.preserveScroll ?? false, page2);\n const preserveState = RequestParams.resolvePreserveOption(params.preserveState ?? false, page2);\n const visitId = this.createVisitId();\n return page.set(page2, {\n replace,\n preserveScroll,\n preserveState,\n viewTransition,\n visitId\n }).then(() => {\n fireClientVisitEvent(page.get(), { replace, visitId });\n const currentFlash = page.get().flash;\n if (Object.keys(currentFlash).length > 0) {\n fireFlashEvent(currentFlash);\n onFlash?.(currentFlash);\n }\n const errors = page.get().props.errors || {};\n if (Object.keys(errors).length === 0) {\n onSuccess?.(page.get());\n return;\n }\n const scopedErrors = params.errorBag ? errors[params.errorBag || \"\"] || {} : errors;\n onError?.(scopedErrors);\n }).finally(() => onFinish?.(params));\n }\n performInstantSwap(visit) {\n const current = page.get();\n const sharedProps = Object.fromEntries(\n (current.sharedProps ?? []).filter((key) => key in current.props).map((key) => [key, current.props[key]])\n );\n const resolvedPageProps = typeof visit.pageProps === \"function\" ? visit.pageProps(cloneDeep4(current.props), cloneDeep4(sharedProps)) : visit.pageProps;\n const intermediateProps = resolvedPageProps !== null ? { ...resolvedPageProps } : { ...sharedProps };\n const onceProps = this.preserveOncePropsOnInstantVisit(current, intermediateProps);\n const intermediatePage = {\n component: visit.component,\n url: visit.url.pathname + visit.url.search + visit.url.hash,\n version: current.version,\n props: {\n ...intermediateProps,\n errors: {}\n },\n flash: {},\n rescuedProps: [],\n clearHistory: false,\n encryptHistory: current.encryptHistory,\n sharedProps: current.sharedProps,\n onceProps,\n rememberedState: {}\n };\n return page.set(intermediatePage, {\n replace: visit.replace,\n preserveScroll: RequestParams.resolvePreserveOption(visit.preserveScroll, intermediatePage),\n preserveState: false,\n viewTransition: visit.viewTransition,\n visitId: visit.id\n });\n }\n /**\n * Once props are remembered client-side, so the placeholder page must preserve their values\n * and registry. Otherwise the swap discards the value, and an in-flight prefetch that already\n * claimed the prop resolves with nothing to restore it from.\n */\n preserveOncePropsOnInstantVisit(current, props) {\n const onceProps = {};\n Object.entries(current.onceProps ?? {}).forEach(([key, onceProp]) => {\n if (get7(props, onceProp.prop) !== void 0) {\n return;\n }\n const currentValue = get7(current.props, onceProp.prop);\n if (currentValue === void 0) {\n return;\n }\n set5(props, onceProp.prop, currentValue);\n onceProps[key] = onceProp;\n });\n return onceProps;\n }\n getPrefetchParams(href, options) {\n return {\n ...this.getPendingVisit(href, {\n ...options,\n async: true,\n showProgress: false,\n prefetch: true,\n viewTransition: false\n }),\n ...this.getVisitEvents(options)\n };\n }\n createVisitId() {\n return uid();\n }\n getPendingVisit(href, options) {\n if (isUrlMethodPair(href)) {\n const urlMethodPair = href;\n href = urlMethodPair.url;\n options.method = options.method ?? urlMethodPair.method;\n }\n const defaultVisitOptionsCallback = config.get(\"visitOptions\");\n const configuredOptions = defaultVisitOptionsCallback ? defaultVisitOptionsCallback(href.toString(), cloneDeep4(options)) || {} : {};\n const mergedOptions = {\n method: \"get\",\n data: {},\n replace: false,\n preserveScroll: false,\n preserveState: false,\n only: [],\n except: [],\n headers: {},\n errorBag: \"\",\n forceFormData: false,\n queryStringArrayFormat: \"brackets\",\n async: false,\n showProgress: true,\n fresh: false,\n reset: [],\n preserveUrl: false,\n preserveErrors: false,\n prefetch: false,\n invalidateCacheTags: [],\n viewTransition: false,\n component: null,\n pageProps: null,\n cached: false,\n ...stripTopLevelUndefined(options),\n ...stripTopLevelUndefined(configuredOptions)\n };\n const [url, _data] = transformUrlAndData(\n href,\n mergedOptions.data,\n mergedOptions.method,\n mergedOptions.forceFormData,\n mergedOptions.queryStringArrayFormat\n );\n const visit = {\n id: this.createVisitId(),\n cancelled: false,\n completed: false,\n interrupted: false,\n ...mergedOptions,\n url,\n data: _data\n };\n if (visit.prefetch) {\n visit.headers[\"Purpose\"] = \"prefetch\";\n }\n return visit;\n }\n getVisitEvents(options) {\n return {\n onCancelToken: options.onCancelToken || noop,\n onBefore: options.onBefore || noop,\n onBeforeUpdate: options.onBeforeUpdate || noop,\n onStart: options.onStart || noop,\n onProgress: options.onProgress || noop,\n onFinish: options.onFinish || noop,\n onCancel: options.onCancel || noop,\n onSuccess: options.onSuccess || noop,\n onError: options.onError || noop,\n onHttpException: options.onHttpException || noop,\n onNetworkError: options.onNetworkError || noop,\n onFlash: options.onFlash || noop,\n onPrefetched: options.onPrefetched || noop,\n onPrefetching: options.onPrefetching || noop\n };\n }\n applyOptimisticUpdate(optimistic, events, id) {\n const currentProps = page.get().props;\n const optimisticProps = optimistic(cloneDeep4(currentProps));\n if (!optimisticProps) {\n return;\n }\n const changedKeys = [];\n for (const key of Object.keys(optimisticProps)) {\n if (!isEqual3(currentProps[key], optimisticProps[key])) {\n changedKeys.push(key);\n }\n }\n if (changedKeys.length === 0) {\n return;\n }\n const component = page.get().component;\n for (const key of changedKeys) {\n page.setBaseline(key, cloneDeep4(currentProps[key]));\n }\n page.registerOptimistic(id, optimistic);\n page.setPropsQuietly({ ...currentProps, ...optimisticProps });\n let shouldRestore = true;\n const originalOnSuccess = events.onSuccess;\n events.onSuccess = (page2) => {\n shouldRestore = false;\n page.markOptimisticConfirmed(id);\n return originalOnSuccess(page2);\n };\n const originalOnFinish = events.onFinish;\n events.onFinish = (visit) => {\n page.unregisterOptimistic(id);\n if (shouldRestore && page.get().component === component) {\n const replayedProps = page.replayOptimistics();\n if (Object.keys(replayedProps).length > 0) {\n page.setPropsQuietly({ ...page.get().props, ...replayedProps });\n }\n }\n if (page.pendingOptimisticCount() === 0) {\n page.clearOptimisticState();\n }\n return originalOnFinish(visit);\n };\n }\n loadDeferredProps(deferred) {\n if (deferred) {\n Object.values(deferred).forEach((props) => {\n this.doReload({ only: props, deferredProps: true, preserveErrors: true });\n });\n }\n }\n};\n\n// src/useFormUtils.ts\nvar UseFormUtils = class {\n /**\n * Creates a callback that returns a UrlMethodPair.\n *\n * createWayfinderCallback(urlMethodPair)\n * createWayfinderCallback(method, url)\n * createWayfinderCallback(() => urlMethodPair)\n * createWayfinderCallback(() => method, () => url)\n */\n static createWayfinderCallback(...args) {\n return () => {\n if (args.length === 1) {\n return isUrlMethodPair(args[0]) ? args[0] : args[0]();\n }\n return {\n method: typeof args[0] === \"function\" ? args[0]() : args[0],\n url: typeof args[1] === \"function\" ? args[1]() : args[1]\n };\n };\n }\n /**\n * Parses all useForm() arguments into { rememberKey, data, precognitionEndpoint }.\n *\n * useForm()\n * useForm(data)\n * useForm(rememberKey, data)\n * useForm(method, url, data)\n * useForm(urlMethodPair, data)\n *\n */\n static parseUseFormArguments(...args) {\n if (args.length === 0) {\n return {\n rememberKey: null,\n data: {},\n precognitionEndpoint: null\n };\n }\n if (args.length === 1) {\n return {\n rememberKey: null,\n data: args[0],\n precognitionEndpoint: null\n };\n }\n if (args.length === 2) {\n if (typeof args[0] === \"string\") {\n return {\n rememberKey: args[0],\n data: args[1],\n precognitionEndpoint: null\n };\n }\n return {\n rememberKey: null,\n data: args[1],\n precognitionEndpoint: this.createWayfinderCallback(args[0])\n };\n }\n return {\n rememberKey: null,\n data: args[2],\n precognitionEndpoint: this.createWayfinderCallback(args[0], args[1])\n };\n }\n /**\n * Parses all submission arguments into { method, url, options }.\n * It uses the Precognition endpoint if no explicit method/url are provided.\n *\n * form.submit(method, url)\n * form.submit(method, url, options)\n * form.submit(urlMethodPair)\n * form.submit(urlMethodPair, options)\n * form.submit()\n * form.submit(options)\n */\n static parseSubmitArguments(args, precognitionEndpoint) {\n if (args.length === 3 || args.length === 2 && typeof args[0] === \"string\") {\n return { method: args[0], url: args[1], options: args[2] ?? {} };\n }\n if (isUrlMethodPair(args[0])) {\n return { ...args[0], options: args[1] ?? {} };\n }\n return { ...precognitionEndpoint(), options: args[0] ?? {} };\n }\n /**\n * Merges headers into the Precognition validate() arguments.\n */\n static mergeHeadersForValidation(field, config2, headers) {\n const merge = (config3) => {\n config3.headers = {\n ...headers ?? {},\n ...config3.headers ?? {}\n };\n return config3;\n };\n if (field && typeof field === \"object\" && !(\"target\" in field)) {\n field = merge(field);\n } else if (config2 && typeof config2 === \"object\") {\n config2 = merge(config2);\n } else if (typeof field === \"string\") {\n config2 = merge(config2 ?? {});\n } else {\n field = merge(field ?? {});\n }\n return [field, config2];\n }\n};\n\n// src/axiosHttpClient.ts\nfunction normalizeHeaders(headers) {\n if (!headers || typeof headers !== \"object\") {\n return {};\n }\n const normalized = {};\n const entries = typeof headers.entries === \"function\" ? Array.from(headers.entries()) : Object.entries(headers);\n for (const [key, value] of entries) {\n if (typeof value === \"string\") {\n normalized[key.toLowerCase()] = value;\n } else if (Array.isArray(value)) {\n normalized[key.toLowerCase()] = value.join(\", \");\n }\n }\n return normalized;\n}\nfunction isBinaryRequestBody(value) {\n return typeof Blob !== \"undefined\" && value instanceof Blob || typeof ArrayBuffer !== \"undefined\" && value instanceof ArrayBuffer || typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView(value);\n}\nfunction hasContentTypeHeader(headers) {\n return Object.keys(headers ?? {}).some((key) => key.toLowerCase() === \"content-type\");\n}\nfunction toHttpProgressEvent(axiosEvent) {\n return {\n progress: axiosEvent.progress,\n percentage: axiosEvent.progress ? Math.round(axiosEvent.progress * 100) : 0,\n loaded: axiosEvent.loaded,\n total: axiosEvent.total\n };\n}\nvar axiosModulePromise;\nfunction loadAxiosModule() {\n if (!axiosModulePromise) {\n axiosModulePromise = import(\"axios\").catch((error) => {\n axiosModulePromise = void 0;\n throw error;\n });\n }\n return axiosModulePromise;\n}\nvar AxiosHttpClient = class {\n axiosInstance;\n constructor(instance) {\n this.axiosInstance = instance ? Promise.resolve(instance) : loadAxiosModule().then((module) => module.default);\n }\n async getAxios() {\n return this.axiosInstance;\n }\n async request(config2) {\n const processedConfig = await httpHandlers.processRequest(config2);\n try {\n const response = await this.doRequest(processedConfig);\n return await httpHandlers.processResponse(response);\n } catch (error) {\n if (error instanceof HttpResponseError || error instanceof HttpNetworkError || error instanceof HttpCancelledError) {\n await httpHandlers.processError(error);\n }\n throw error;\n }\n }\n async doRequest(config2) {\n const axios = await this.getAxios();\n const headers = { ...config2.headers ?? {} };\n if (isBinaryRequestBody(config2.data) && !hasContentTypeHeader(config2.headers)) {\n headers[\"Content-Type\"] = false;\n }\n try {\n const response = await axios({\n method: config2.method,\n url: config2.url,\n data: config2.data,\n params: config2.params,\n headers,\n signal: config2.signal,\n responseType: \"text\",\n onUploadProgress: config2.onUploadProgress ? (event) => config2.onUploadProgress(toHttpProgressEvent(event)) : void 0\n });\n return {\n status: response.status,\n data: response.data,\n headers: normalizeHeaders(response.headers)\n };\n } catch (error) {\n const axiosModule = await loadAxiosModule();\n if (axiosModule.default.isCancel(error)) {\n throw new HttpCancelledError(\"Request was cancelled\", config2.url);\n }\n if (error && typeof error === \"object\" && \"response\" in error) {\n const axiosError = error;\n const httpResponse = {\n status: axiosError.response.status,\n data: axiosError.response.data,\n headers: normalizeHeaders(axiosError.response.headers)\n };\n throw new HttpResponseError(\n `Request failed with status ${axiosError.response.status}`,\n httpResponse,\n config2.url\n );\n }\n throw new HttpNetworkError(\n error instanceof Error ? error.message : \"Network error\",\n config2.url,\n error instanceof Error ? error : void 0\n );\n }\n }\n};\nfunction axiosAdapter(instance) {\n return new AxiosHttpClient(instance);\n}\n\n// src/formObject.ts\nimport { get as get8, set as set6 } from \"es-toolkit/compat\";\nfunction undotKey(key) {\n if (!key.includes(\".\")) {\n return key;\n }\n const transformSegment = (segment) => {\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return segment;\n }\n return segment.split(\".\").reduce((result, part, index) => index === 0 ? part : `${result}[${part}]`);\n };\n return key.replace(/\\\\\\./g, \"__ESCAPED_DOT__\").split(/(\\[[^\\]]*\\])/).filter(Boolean).map(transformSegment).join(\"\").replace(/__ESCAPED_DOT__/g, \".\");\n}\nfunction parseKey2(key) {\n const path = [];\n const pattern = /([^\\[\\]]+)|\\[(\\d*)\\]/g;\n let match;\n while ((match = pattern.exec(key)) !== null) {\n if (match[1] !== void 0) {\n path.push(match[1]);\n } else if (match[2] !== void 0) {\n path.push(match[2] === \"\" ? \"\" : Number(match[2]));\n }\n }\n return path;\n}\nfunction setNestedObject(obj, path, value) {\n let current = obj;\n for (let i = 0; i < path.length - 1; i++) {\n if (!(path[i] in current)) {\n current[path[i]] = {};\n }\n current = current[path[i]];\n }\n current[path[path.length - 1]] = value;\n}\nfunction objectHasSequentialNumericKeys(value) {\n const keys = Object.keys(value);\n const numericKeys = keys.filter((k) => /^\\d+$/.test(k)).map(Number).sort((a, b) => a - b);\n return keys.length === numericKeys.length && numericKeys.length > 0 && numericKeys[0] === 0 && numericKeys.every((n, i) => n === i);\n}\nfunction convertSequentialObjectsToArrays(value) {\n if (Array.isArray(value)) {\n return value.map(convertSequentialObjectsToArrays);\n }\n if (typeof value !== \"object\" || value === null || isFile(value)) {\n return value;\n }\n if (objectHasSequentialNumericKeys(value)) {\n const result2 = [];\n for (let i = 0; i < Object.keys(value).length; i++) {\n result2[i] = convertSequentialObjectsToArrays(value[i]);\n }\n return result2;\n }\n const result = {};\n for (const key in value) {\n result[key] = convertSequentialObjectsToArrays(value[key]);\n }\n return result;\n}\nfunction formDataToObject(source) {\n const form = {};\n for (const [key, value] of source.entries()) {\n if (value instanceof File && value.size === 0 && value.name === \"\") {\n continue;\n }\n const path = parseKey2(undotKey(key));\n if (path[path.length - 1] === \"\") {\n const arrayPath = path.slice(0, -1);\n const existing = get8(form, arrayPath);\n if (Array.isArray(existing)) {\n existing.push(value);\n } else if (existing && typeof existing === \"object\" && !isFile(existing)) {\n const numericKeys = Object.keys(existing).filter((k) => /^\\d+$/.test(k)).map(Number).sort((a, b) => a - b);\n set6(form, arrayPath, numericKeys.length > 0 ? [...numericKeys.map((k) => existing[k]), value] : [value]);\n } else {\n set6(form, arrayPath, [value]);\n }\n continue;\n }\n setNestedObject(form, path.map(String), value);\n }\n return convertSequentialObjectsToArrays(form);\n}\n\n// src/head.ts\nvar serverHeadProviderId = \"server\";\nfunction ensureElementHasInertiaAttribute(element, index) {\n if (element.match(/\\sdata-inertia(=|\\s|>)/)) {\n return element;\n }\n return element.replace(/^<([a-zA-Z][^\\s/>]*)/, `<$1 data-inertia=\"server-head-${index}\"`);\n}\nfunction resolveServerHead(page2, serverHead) {\n if (!serverHead) {\n return [];\n }\n const elements = typeof serverHead === \"function\" ? serverHead(page2) : page2.props[serverHead === true ? \"head\" : serverHead];\n if (!Array.isArray(elements)) {\n return [];\n }\n return elements.map((element) => typeof element === \"string\" ? element.trim() : element).filter((element) => typeof element === \"string\" && element.length > 0).map(ensureElementHasInertiaAttribute);\n}\nvar Renderer = {\n buildDOMElement(tag) {\n const template = document.createElement(\"template\");\n template.innerHTML = tag;\n const node = template.content.firstChild;\n if (!tag.startsWith(\"