{"version":3,"sources":["jsdelivr-header.js","/npm/hat@0.0.3/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,IAAM,OAAO,QAAU,SAAU,EAAM,GAGvC,GAFK,IAAM,EAAO,SACL,IAAT,IAAoB,EAAO,KAC3B,GAAQ,EAAG,MAAO,IAGtB,IADA,IAAI,EAAS,KAAK,IAAI,KAAK,IAAI,EAAG,IAAS,KAAK,IAAI,GAC3C,EAAI,EAAG,IAAW,IAAU,GAAK,EACtC,EAAS,KAAK,IAAI,KAAK,IAAI,EAAG,EAAO,IAAM,KAAK,IAAI,GAAQ,EAGhE,IAAI,EAAM,EAAS,KAAK,MAAM,GAE1B,EAAM,GAEV,IAAS,EAAI,EAAG,EAAI,KAAK,MAAM,GAAS,IAAK,CAEzC,EADQ,KAAK,MAAM,KAAK,SAAW,GAAM,SAAS,GACxC,CACd,CAEA,GAAI,EAAK,CACL,IAAI,EAAI,KAAK,IAAI,EAAM,GAEvB,EADQ,KAAK,MAAM,KAAK,SAAW,GAAG,SAAS,GACrC,CACd,CAEA,IAAI,EAAS,SAAS,EAAK,GAC3B,OAAI,IAAW,KAAY,GAAU,KAAK,IAAI,EAAG,GACtC,IAAI,EAAM,GAET,CAChB,EAEA,IAAI,KAAO,SAAU,EAAM,EAAM,GAC7B,IAAI,EAAK,SAAU,GACf,IAAI,EAAQ,EACZ,EAAG,CACC,GAAI,IAAW,GAAI,CACf,IAAI,EACC,MAAM,IAAI,MAAM,yCADP,GAAQ,CAE1B,CAEA,IAAI,EAAK,IAAI,EAAM,EACvB,OAAS,OAAO,eAAe,KAAK,EAAM,IAG1C,OADA,EAAK,GAAM,EACJ,CACX,EACI,EAAO,EAAG,KAAO,CAAC,EAatB,OAXA,EAAG,IAAM,SAAU,GACf,OAAO,EAAG,KAAK,EACnB,EAEA,EAAG,IAAM,SAAU,EAAI,GAEnB,OADA,EAAG,KAAK,GAAM,EACP,CACX,EAEA,EAAG,KAAO,GAAQ,IAClB,EAAG,KAAO,GAAQ,GACX,CACX","file":"/npm/hat@0.0.3/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/hat@0.0.3/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 hat = module.exports = function (bits, base) {\n    if (!base) base = 16;\n    if (bits === undefined) bits = 128;\n    if (bits <= 0) return '0';\n    \n    var digits = Math.log(Math.pow(2, bits)) / Math.log(base);\n    for (var i = 2; digits === Infinity; i *= 2) {\n        digits = Math.log(Math.pow(2, bits / i)) / Math.log(base) * i;\n    }\n    \n    var rem = digits - Math.floor(digits);\n    \n    var res = '';\n    \n    for (var i = 0; i < Math.floor(digits); i++) {\n        var x = Math.floor(Math.random() * base).toString(base);\n        res = x + res;\n    }\n    \n    if (rem) {\n        var b = Math.pow(base, rem);\n        var x = Math.floor(Math.random() * b).toString(base);\n        res = x + res;\n    }\n    \n    var parsed = parseInt(res, base);\n    if (parsed !== Infinity && parsed >= Math.pow(2, bits)) {\n        return hat(bits, base)\n    }\n    else return res;\n};\n\nhat.rack = function (bits, base, expandBy) {\n    var fn = function (data) {\n        var iters = 0;\n        do {\n            if (iters ++ > 10) {\n                if (expandBy) bits += expandBy;\n                else throw new Error('too many ID collisions, use more bits')\n            }\n            \n            var id = hat(bits, base);\n        } while (Object.hasOwnProperty.call(hats, id));\n        \n        hats[id] = data;\n        return id;\n    };\n    var hats = fn.hats = {};\n    \n    fn.get = function (id) {\n        return fn.hats[id];\n    };\n    \n    fn.set = function (id, value) {\n        fn.hats[id] = value;\n        return fn;\n    };\n    \n    fn.bits = bits || 128;\n    fn.base = base || 16;\n    return fn;\n};\n"]}