{"version":3,"sources":["jsdelivr-header.js","/npm/gson@0.1.5/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,SAAa,QAAQ,cAEzB,QAAQ,OAAQ,SAAU,EAAK,GAE3B,IAAI,EAAO,GAAI,EAAO,GAAI,EAAO,GAEjC,OAAI,SAAS,OAAO,IAGhB,SAAS,GACT,SAAU,EAAK,GAEL,EAAM,EAAK,WAAY,MAAM,QAAQ,GAAQ,GAAK,CAAC,EAC1D,EAAM,KAAK,GACX,EAAM,KAAK,EACd,IAAE,GAGF,EAAM,SAAQ,SAAU,EAAK,GAE1B,IAAI,EAAG,EAAM,EAAK,WAAY,EAAM,EAAM,GAEtC,EACF,EAAK,SAAQ,SAAU,GAEpB,IAAI,EAAK,EAAK,GAEV,GAAK,SAAS,OAAO,GACvB,EAAE,GAAM,CAAE,EAAG,EAAI,WAEjB,EAAE,GAAM,CACb,IAEA,EAAK,SAAQ,SAAU,EAAI,GAEpB,GAAK,SAAS,OAAO,GACvB,EAAE,GAAM,CAAE,EAAG,EAAI,WAEjB,EAAE,GAAM,CACb,GACL,IAEK,GACH,EAAM,SAAQ,SAAU,UAAe,EAAK,SAAW,IAElD,GAGA,CAEf,EAEA,QAAQ,OAAQ,SAAU,EAAQ,GAEhC,GAAI,MAAM,QAAQ,GAClB,CACI,IAAI,EAAI,SAAU,EAAK,GAEd,MAAM,QAAQ,GAChB,EAAK,SAAQ,SAAU,EAAI,GAEpB,GAAK,SAAS,OAAO,KACvB,EAAK,GAAM,EAAQ,EAAI,GAC5B,IAEA,OAAO,KAAK,GAAM,SAAQ,SAAU,GAEjC,IAAI,EAAK,EAAK,GAEV,GAAK,SAAS,OAAO,KACvB,EAAK,GAAM,EAAQ,EAAI,GAC5B,GACP,EAcA,OAZI,IACF,EAAI,SAAW,GAER,OAAO,SAAU,EAAK,GAEjB,EAAS,GACT,EAAG,EAAK,EACb,CACF,CAPD,CAOG,IAET,EAAQ,QAAQ,GAET,EAAQ,EACnB,CAEE,OAAO,CACX,EAEA,QAAQ,UAAW,SAAU,GAE1B,OAAO,KAAK,UAAU,QAAQ,OAAO,GACxC,EAEA,QAAQ,MAAO,SAAU,EAAE,GAExB,OAAO,QAAQ,OAAO,KAAK,MAAM,GAAG,EACvC","file":"/npm/gson@0.1.5/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/gson@0.1.5/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var traverse   = require('circularjs');\n\nexports.encode= function (orig,skipDelete)\n{\n    var known= [], nodes= [], keyss= [];\n\n    if (traverse.isNode(orig))\n    {\n        // structure\n        traverse(orig,\n        function (node,keys)\n        {\n           var x= known[node.__visited]= Array.isArray(node) ? [] : {};\n           nodes.push(node);\n           keyss.push(keys);\n        },true);\n\n        // values\n        nodes.forEach(function (node,idx)\n        {\n           var o= known[node.__visited], keys= keyss[idx];\n\n           if (keys)\n             keys.forEach(function (key)\n             {\n                var val= node[key];\n\n                if (val&&traverse.isNode(val))\n                  o[key]= { _: val.__visited };\n                else\n                  o[key]= val;\n             });\n           else\n             node.forEach(function (val,key)\n             {\n                if (val&&traverse.isNode(val))\n                  o[key]= { _: val.__visited };\n                else\n                  o[key]= val;\n             });\n        });\n\n        if (!skipDelete)\n          nodes.forEach(function (node) { delete node.__visited; });\n\n        return known;\n    }\n    else\n        return orig;\n\n};\n\nexports.decode= function (encoded,eachNode)\n{\n  if (Array.isArray(encoded))\n  {\n      var fn= function (node,idx)\n      {\n           if (Array.isArray(node))\n             node.forEach(function (val,key)\n             {\n                if (val&&traverse.isNode(val))\n                  node[key]= encoded[val._];\n             });\n           else\n             Object.keys(node).forEach(function (key)\n             {\n                var val= node[key];\n\n                if (val&&traverse.isNode(val))\n                  node[key]= encoded[val._];\n             });\n      };\n\n      if (eachNode)\n        fn= (function (fn)\n            {\n               return function (node,idx)\n               {\n                    eachNode(node);\n                    fn(node,idx);\n               };\n            })(fn); \n\n      encoded.forEach(fn);\n\n      return encoded[0];\n  } \n  else\n    return encoded;\n};\n\nexports.stringify= function (orig)\n{\n   return JSON.stringify(exports.encode(orig));\n};\n\nexports.parse= function (s,eachNode)\n{\n   return exports.decode(JSON.parse(s),eachNode);\n};\n"]}