[{"data":1,"prerenderedAt":2589},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Fshield-base":64,"navigation":138,"navLinks_footer":802,"\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry_page":815,"\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry_surround":1806,"\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry":1809},{"id":4,"extension":5,"links":6,"meta":61,"stem":62,"__hash__":63},"navigationMenu\u002Fnavigation.json","json",[7,52,57],{"nested":8,"label":9,"icon":10,"to":11,"children":12},true,"Docs","i-lucide-book-open","\u002Fdocs\u002Fgetting-started",[13,19,26,32,39,45],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},"Getting Started","i-lucide-rocket","An introduction to help you understand the core components.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fdocshub","Start Here",{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},"Auth H3 Client","i-lucide-key-round","\u002Fdocs\u002Fauth-h3client","Seamlessly enforce OAuth 2.0 authentication and session management integrated directly as the client of the IAM module.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth-h3client","Core",{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},"IAM","i-lucide-shield-check","\u002Fdocs\u002Fiam","Identity and Access Management featuring granular roles, permissions, and security policies.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fauth",{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},"Bot Detection","i-lucide-cpu","\u002Fdocs\u002Fbot-detection","Advanced behavioral analysis and request fingerprinting to stop malicious automated traffic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fbot-detector","Security",{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},"Shield Base","i-lucide-database-zap","\u002Fdocs\u002Fshield-base","CLI and programmatic toolkit for compiling offline-ready IP intelligence databases from BGP, GeoIP, Tor, FireHOL, and other public threat feeds.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Fshield-base-cli",{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},"Utils","i-lucide-wrench","\u002Fdocs\u002Futils","A standard library of highly optimized helpers for formatting, validation, and core logic.","https:\u002F\u002Fgithub.com\u002FSergo706\u002Futils","Library",{"nested":53,"label":54,"icon":55,"to":56},false,"Blog","i-lucide-pen-line","\u002Fblog",{"nested":53,"label":58,"icon":59,"to":60},"Website","lucide:app-window-mac","https:\u002F\u002Friavzon.com",{},"navigation","gkaQ0xRGxSLrLyM3kttLe0oBwkrR1EBjlepF8LSbwF8",[65],{"title":9,"path":66,"stem":67,"children":68,"page":53},"\u002Fdocs","docs",[69],{"title":40,"path":42,"stem":70,"children":71},"docs\u002Fshield-base\u002Findex",[72,73,76,80,122,126,130,134],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},"\u002Fdocs\u002Fshield-base\u002Fgetting-started","docs\u002Fshield-base\u002F00.getting-started",{"title":77,"path":78,"stem":79},"CLI Reference","\u002Fdocs\u002Fshield-base\u002Fcli","docs\u002Fshield-base\u002F01.cli",{"title":81,"path":82,"stem":83,"children":84},"Data Sources","\u002Fdocs\u002Fshield-base\u002Fdata-sources","docs\u002Fshield-base\u002F02.data-sources\u002Findex",[85,86,90,94,98,102,106,110,114,118],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},"BGP \u002F ASN","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fbgp","docs\u002Fshield-base\u002F02.data-sources\u002Fbgp",{"title":91,"path":92,"stem":93},"City Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity","docs\u002Fshield-base\u002F02.data-sources\u002Fcity",{"title":95,"path":96,"stem":97},"Country Geolocation","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcountry","docs\u002Fshield-base\u002F02.data-sources\u002Fcountry",{"title":99,"path":100,"stem":101},"Verified Crawlers","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcrawlers","docs\u002Fshield-base\u002F02.data-sources\u002Fcrawlers",{"title":103,"path":104,"stem":105},"Disposable Emails","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Femail","docs\u002Fshield-base\u002F02.data-sources\u002Femail",{"title":107,"path":108,"stem":109},"FireHOL Threat Intelligence","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ffirehol","docs\u002Fshield-base\u002F02.data-sources\u002Ffirehol",{"title":111,"path":112,"stem":113},"Proxy Detection","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fproxy","docs\u002Fshield-base\u002F02.data-sources\u002Fproxy",{"title":115,"path":116,"stem":117},"Tor Nodes","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Ftor","docs\u002Fshield-base\u002F02.data-sources\u002Ftor",{"title":119,"path":120,"stem":121},"Suspicious User-Agents","\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fuseragent","docs\u002Fshield-base\u002F02.data-sources\u002Fuseragent",{"title":123,"path":124,"stem":125},"Programmatic Usage","\u002Fdocs\u002Fshield-base\u002Fusage","docs\u002Fshield-base\u002F03.usage",{"title":127,"path":128,"stem":129},"Custom Data Sources","\u002Fdocs\u002Fshield-base\u002Fcustom-data-sources","docs\u002Fshield-base\u002F04.custom-data-sources",{"title":131,"path":132,"stem":133},"TypeScript Types","\u002Fdocs\u002Fshield-base\u002Ftypes","docs\u002Fshield-base\u002F05.types",{"title":135,"path":136,"stem":137},"API Reference","\u002Fdocs\u002Fshield-base\u002Fapi","docs\u002Fshield-base\u002F06.api",[139],{"title":9,"path":66,"stem":67,"children":140,"page":53},[141,288,405,410,588,609],{"title":20,"path":22,"stem":142,"children":143},"docs\u002Fauth-h3client\u002Findex",[144,145,154,191,217,239,242,263,267],{"title":20,"path":22,"stem":142},{"title":14,"path":146,"stem":147,"children":148},"\u002Fdocs\u002Fauth-h3client\u002Fgetting-started","docs\u002Fauth-h3client\u002F00.getting-started\u002Findex",[149,150],{"title":14,"path":146,"stem":147},{"title":151,"path":152,"stem":153},"Nuxt Module","\u002Fdocs\u002Fauth-h3client\u002Fgetting-started\u002Fnuxt","docs\u002Fauth-h3client\u002F00.getting-started\u002F00.nuxt",{"title":155,"path":156,"stem":157,"children":158},"Essentials","\u002Fdocs\u002Fauth-h3client\u002Fessentials","docs\u002Fauth-h3client\u002F01.essentials\u002Findex",[159,160,164,168,172,176,180,183,187],{"title":155,"path":156,"stem":157},{"title":161,"path":162,"stem":163},"Session Management","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fsession","docs\u002Fauth-h3client\u002F01.essentials\u002F00.session",{"title":165,"path":166,"stem":167},"Route Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Froute-protection","docs\u002Fauth-h3client\u002F01.essentials\u002F01.route-protection",{"title":169,"path":170,"stem":171},"CSRF Protection","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcsrf","docs\u002Fauth-h3client\u002F01.essentials\u002F02.csrf",{"title":173,"path":174,"stem":175},"Auth Flows","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fauth-flows","docs\u002Fauth-h3client\u002F01.essentials\u002F03.auth-flows",{"title":177,"path":178,"stem":179},"OAuth and OIDC","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Foauth","docs\u002Fauth-h3client\u002F01.essentials\u002F04.oauth",{"title":33,"path":181,"stem":182},"\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fbot-detection","docs\u002Fauth-h3client\u002F01.essentials\u002F05.bot-detection",{"title":184,"path":185,"stem":186},"Cookies","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Fcookies","docs\u002Fauth-h3client\u002F01.essentials\u002F06.cookies",{"title":188,"path":189,"stem":190},"Logging","\u002Fdocs\u002Fauth-h3client\u002Fessentials\u002Flogging","docs\u002Fauth-h3client\u002F01.essentials\u002F07.logging",{"title":192,"path":193,"stem":194,"children":195},"MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa","docs\u002Fauth-h3client\u002F02.mfa\u002Findex",[196,197,201,205,209,213],{"title":192,"path":193,"stem":194},{"title":198,"path":199,"stem":200},"Built-in MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fbuilt-in-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F01.built-in-flow",{"title":202,"path":203,"stem":204},"Password Reset","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fpassword-reset","docs\u002Fauth-h3client\u002F02.mfa\u002F02.password-reset",{"title":206,"path":207,"stem":208},"Email Change","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Femail-change","docs\u002Fauth-h3client\u002F02.mfa\u002F03.email-change",{"title":210,"path":211,"stem":212},"Custom MFA Flow","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fcustom-flow","docs\u002Fauth-h3client\u002F02.mfa\u002F04.custom-flow",{"title":214,"path":215,"stem":216},"Client-Side MFA","\u002Fdocs\u002Fauth-h3client\u002Fmfa\u002Fclient-side","docs\u002Fauth-h3client\u002F02.mfa\u002F05.client-side",{"title":218,"path":219,"stem":220,"children":221},"Client-side","\u002Fdocs\u002Fauth-h3client\u002Fclient","docs\u002Fauth-h3client\u002F03.client\u002Findex",[222,223,227,231,235],{"title":218,"path":219,"stem":220},{"title":224,"path":225,"stem":226},"useAuthData","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-auth-data","docs\u002Fauth-h3client\u002F03.client\u002F00.use-auth-data",{"title":228,"path":229,"stem":230},"useMagicLink","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fuse-magic-link","docs\u002Fauth-h3client\u002F03.client\u002F01.use-magic-link",{"title":232,"path":233,"stem":234},"executeRequest","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fexecute-request","docs\u002Fauth-h3client\u002F03.client\u002F02.execute-request",{"title":236,"path":237,"stem":238},"getCsrfToken","\u002Fdocs\u002Fauth-h3client\u002Fclient\u002Fget-csrf-token","docs\u002Fauth-h3client\u002F03.client\u002F03.get-csrf-token",{"title":38,"path":240,"stem":241},"\u002Fdocs\u002Fauth-h3client\u002Fsecurity","docs\u002Fauth-h3client\u002F04.security",{"title":243,"path":244,"stem":245,"children":246,"page":53},"Guides","\u002Fdocs\u002Fauth-h3client\u002Fguides","docs\u002Fauth-h3client\u002F05.guides",[247,251,255,259],{"title":248,"path":249,"stem":250},"H3 and Nitro Setup","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fh3-nitro","docs\u002Fauth-h3client\u002F05.guides\u002F00.h3-nitro",{"title":252,"path":253,"stem":254},"HMAC Inter-service Auth","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fhmac","docs\u002Fauth-h3client\u002F05.guides\u002Fhmac",{"title":256,"path":257,"stem":258},"Image Upload","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fimage-upload","docs\u002Fauth-h3client\u002F05.guides\u002Fimage-upload",{"title":260,"path":261,"stem":262},"mTLS Configuration","\u002Fdocs\u002Fauth-h3client\u002Fguides\u002Fmtls","docs\u002Fauth-h3client\u002F05.guides\u002Fmtls",{"title":264,"path":265,"stem":266},"Configuration","\u002Fdocs\u002Fauth-h3client\u002Fconfiguration","docs\u002Fauth-h3client\u002F06.configuration",{"title":135,"path":268,"stem":269,"children":270},"\u002Fdocs\u002Fauth-h3client\u002Fapi","docs\u002Fauth-h3client\u002F07.api\u002Findex",[271,272,276,280,284],{"title":135,"path":268,"stem":269},{"title":273,"path":274,"stem":275},"Routes Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcontrollers","docs\u002Fauth-h3client\u002F07.api\u002F00.controllers",{"title":277,"path":278,"stem":279},"Middleware Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fmiddleware","docs\u002Fauth-h3client\u002F07.api\u002F01.middleware",{"title":281,"path":282,"stem":283},"Client-side Reference","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Fcomposables","docs\u002Fauth-h3client\u002F07.api\u002F02.composables",{"title":285,"path":286,"stem":287},"Utilities","\u002Fdocs\u002Fauth-h3client\u002Fapi\u002Futilities","docs\u002Fauth-h3client\u002F07.api\u002F03.utilities",{"title":289,"path":35,"stem":290,"children":291},"Bot Detector","docs\u002Fbot-detection\u002Findex",[292,293,296,300,303,322,396,399,402],{"title":289,"path":35,"stem":290},{"title":14,"path":294,"stem":295},"\u002Fdocs\u002Fbot-detection\u002Fgetting-started","docs\u002Fbot-detection\u002F00.getting-started",{"title":297,"path":298,"stem":299},"CLI","\u002Fdocs\u002Fbot-detection\u002Fcli","docs\u002Fbot-detection\u002F01.cli",{"title":81,"path":301,"stem":302},"\u002Fdocs\u002Fbot-detection\u002Fdata-sources","docs\u002Fbot-detection\u002F02.data-sources",{"title":243,"path":304,"stem":305,"children":306,"page":53},"\u002Fdocs\u002Fbot-detection\u002Fguides","docs\u002Fbot-detection\u002F03.guides",[307,311,315,318],{"title":308,"path":309,"stem":310},"Custom Checkers","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fcustom","docs\u002Fbot-detection\u002F03.guides\u002FCUSTOM",{"title":312,"path":313,"stem":314},"Scheduling Database Generation","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fgenerate","docs\u002Fbot-detection\u002F03.guides\u002FGENERATE",{"title":188,"path":316,"stem":317},"\u002Fdocs\u002Fbot-detection\u002Fguides\u002Flogging","docs\u002Fbot-detection\u002F03.guides\u002FLOGGING",{"title":319,"path":320,"stem":321},"Score Modes and Reputation Healing","\u002Fdocs\u002Fbot-detection\u002Fguides\u002Fscore","docs\u002Fbot-detection\u002F03.guides\u002FSCORE",{"title":323,"path":324,"stem":325,"children":326},"Checkers","\u002Fdocs\u002Fbot-detection\u002Fcheckers","docs\u002Fbot-detection\u002F04.checkers\u002Findex",[327,328,332,336,340,344,348,352,356,360,364,368,372,376,380,384,388,392],{"title":323,"path":324,"stem":325},{"title":329,"path":330,"stem":331},"IP Validation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fip-validation","docs\u002Fbot-detection\u002F04.checkers\u002F01.ip-validation",{"title":333,"path":334,"stem":335},"Good \u002F Bad Bot Verification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgood-bots","docs\u002Fbot-detection\u002F04.checkers\u002F02.good-bots",{"title":337,"path":338,"stem":339},"Browser & Device Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbrowser-device","docs\u002Fbot-detection\u002F04.checkers\u002F03.browser-device",{"title":341,"path":342,"stem":343},"Locale Map","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Flocale-map","docs\u002Fbot-detection\u002F04.checkers\u002F04.locale-map",{"title":345,"path":346,"stem":347},"Known Threats","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-threats","docs\u002Fbot-detection\u002F04.checkers\u002F05.known-threats",{"title":349,"path":350,"stem":351},"ASN Classification","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fasn-classification","docs\u002Fbot-detection\u002F04.checkers\u002F06.asn-classification",{"title":353,"path":354,"stem":355},"Tor Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftor-analysis","docs\u002Fbot-detection\u002F04.checkers\u002F07.tor-analysis",{"title":357,"path":358,"stem":359},"Timezone Consistency","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Ftimezone-consistency","docs\u002Fbot-detection\u002F04.checkers\u002F08.timezone-consistency",{"title":361,"path":362,"stem":363},"Honeypot","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fhoneypot","docs\u002Fbot-detection\u002F04.checkers\u002F09.honeypot",{"title":365,"path":366,"stem":367},"Known Bad IPs","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ips","docs\u002Fbot-detection\u002F04.checkers\u002F10.known-bad-ips",{"title":369,"path":370,"stem":371},"Behavior Rate","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fbehavior-rate","docs\u002Fbot-detection\u002F04.checkers\u002F11.behavior-rate",{"title":373,"path":374,"stem":375},"Proxy \u002F ISP \u002F Cookie","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fproxy-isp-cookies","docs\u002Fbot-detection\u002F04.checkers\u002F12.proxy-isp-cookies",{"title":377,"path":378,"stem":379},"Session Coherence","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fsession-coherence","docs\u002Fbot-detection\u002F04.checkers\u002F13.session-coherence",{"title":381,"path":382,"stem":383},"Velocity Fingerprint","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fvelocity-fingerprint","docs\u002Fbot-detection\u002F04.checkers\u002F14.velocity-fingerprint",{"title":385,"path":386,"stem":387},"UA & Header Analysis","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fua-header","docs\u002Fbot-detection\u002F04.checkers\u002F15.ua-header",{"title":389,"path":390,"stem":391},"Geolocation","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fgeolocation","docs\u002Fbot-detection\u002F04.checkers\u002F16.geolocation",{"title":393,"path":394,"stem":395},"Known Bad User-Agents","\u002Fdocs\u002Fbot-detection\u002Fcheckers\u002Fknown-bad-ua","docs\u002Fbot-detection\u002F04.checkers\u002F17.known-bad-ua",{"title":38,"path":397,"stem":398},"\u002Fdocs\u002Fbot-detection\u002Fsecurity","docs\u002Fbot-detection\u002F04.security",{"title":135,"path":400,"stem":401},"\u002Fdocs\u002Fbot-detection\u002Fapi","docs\u002Fbot-detection\u002F05.api",{"title":264,"path":403,"stem":404},"\u002Fdocs\u002Fbot-detection\u002Fconfiguration","docs\u002Fbot-detection\u002F06.configuration",{"title":406,"path":11,"stem":407,"children":408},"Introduction","docs\u002Fgetting-started\u002Findex",[409],{"title":406,"path":11,"stem":407},{"title":27,"path":29,"stem":411,"children":412},"docs\u002Fiam\u002Findex",[413,414,417,552,555,571,574],{"title":27,"path":29,"stem":411},{"title":14,"path":415,"stem":416},"\u002Fdocs\u002Fiam\u002Fgetting-started","docs\u002Fiam\u002F00.getting-started",{"title":155,"path":418,"stem":419,"children":420},"\u002Fdocs\u002Fiam\u002Fessentials","docs\u002Fiam\u002F01.essentials\u002Findex",[421,422,426,430,434,438,442,446,450,454,458,462,465,469,473,477,481,484,488,492,495,499,502],{"title":155,"path":418,"stem":419},{"title":423,"path":424,"stem":425},"Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Ftokens","docs\u002Fiam\u002F01.essentials\u002F00.tokens",{"title":427,"path":428,"stem":429},"Access Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Faccess-tokens","docs\u002Fiam\u002F01.essentials\u002F01.access-tokens",{"title":431,"path":432,"stem":433},"Refresh Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Frefresh-tokens","docs\u002Fiam\u002F01.essentials\u002F02.refresh-tokens",{"title":435,"path":436,"stem":437},"Anomaly Detection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fanomalies","docs\u002Fiam\u002F01.essentials\u002F03.anomalies",{"title":439,"path":440,"stem":441},"Signup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fsignup","docs\u002Fiam\u002F01.essentials\u002F04.signup",{"title":443,"path":444,"stem":445},"Login","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogin","docs\u002Fiam\u002F01.essentials\u002F05.login",{"title":447,"path":448,"stem":449},"Logout","\u002Fdocs\u002Fiam\u002Fessentials\u002Flogout","docs\u002Fiam\u002F01.essentials\u002F06.logout",{"title":451,"path":452,"stem":453},"OAuth","\u002Fdocs\u002Fiam\u002Fessentials\u002Foauth","docs\u002Fiam\u002F01.essentials\u002F07.oauth",{"title":455,"path":456,"stem":457},"Magic Links","\u002Fdocs\u002Fiam\u002Fessentials\u002Fmagic-links","docs\u002Fiam\u002F01.essentials\u002F08.magic-links",{"title":459,"path":460,"stem":461},"Emails","\u002Fdocs\u002Fiam\u002Fessentials\u002Femails","docs\u002Fiam\u002F01.essentials\u002F09.emails",{"title":192,"path":463,"stem":464},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fmfa","docs\u002Fiam\u002F01.essentials\u002F10.mfa",{"title":466,"path":467,"stem":468},"Fingerprinting","\u002Fdocs\u002Fiam\u002Fessentials\u002Ffingerprinting","docs\u002Fiam\u002F01.essentials\u002F11.fingerprinting",{"title":470,"path":471,"stem":472},"Backend for Frontend","\u002Fdocs\u002Fiam\u002Fessentials\u002Fbff","docs\u002Fiam\u002F01.essentials\u002F12.bff",{"title":474,"path":475,"stem":476},"HMAC Authentication","\u002Fdocs\u002Fiam\u002Fessentials\u002Fhmac","docs\u002Fiam\u002F01.essentials\u002F13.hmac",{"title":478,"path":479,"stem":480},"XSS Protection","\u002Fdocs\u002Fiam\u002Fessentials\u002Fxss","docs\u002Fiam\u002F01.essentials\u002F14.xss",{"title":188,"path":482,"stem":483},"\u002Fdocs\u002Fiam\u002Fessentials\u002Flogging","docs\u002Fiam\u002F01.essentials\u002F15.logging",{"title":485,"path":486,"stem":487},"Rate Limiting","\u002Fdocs\u002Fiam\u002Fessentials\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F16.rate-limiting",{"title":489,"path":490,"stem":491},"Database","\u002Fdocs\u002Fiam\u002Fessentials\u002Fdatabase","docs\u002Fiam\u002F01.essentials\u002F17.database",{"title":184,"path":493,"stem":494},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fcookies","docs\u002Fiam\u002F01.essentials\u002F18.cookies",{"title":496,"path":497,"stem":498},"Service Startup","\u002Fdocs\u002Fiam\u002Fessentials\u002Fservice","docs\u002Fiam\u002F01.essentials\u002F19.service",{"title":202,"path":500,"stem":501},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fpassword-reset","docs\u002Fiam\u002F01.essentials\u002F20.password-reset",{"title":503,"path":504,"stem":505,"children":506},"API Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi","docs\u002Fiam\u002F01.essentials\u002F21.api\u002Findex",[507,508,512,516,546,549],{"title":503,"path":504,"stem":505},{"title":509,"path":510,"stem":511},"Creating Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fcreation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F00.creation",{"title":513,"path":514,"stem":515},"Verifying Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fverification","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F01.verification",{"title":517,"path":518,"stem":519,"children":520},"Manage Tokens","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002Findex",[521,522,526,530,534,538,542],{"title":517,"path":518,"stem":519},{"title":523,"path":524,"stem":525},"Privileges","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fprivilege","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F00.privilege",{"title":527,"path":528,"stem":529},"Revocation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frevocation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F01.revocation",{"title":531,"path":532,"stem":533},"Rotation","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Frotation","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F02.rotation",{"title":535,"path":536,"stem":537},"IP Restriction","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fip-updates","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F03.ip-updates",{"title":539,"path":540,"stem":541},"Metadata","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Fmetadata","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F04.metadata",{"title":543,"path":544,"stem":545},"Token Listing","\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fmanagement\u002Flist","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F02.management\u002F05.list",{"title":485,"path":547,"stem":548},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Frate-limiting","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F03.rate-limiting",{"title":38,"path":550,"stem":551},"\u002Fdocs\u002Fiam\u002Fessentials\u002Fapi\u002Fsecurity","docs\u002Fiam\u002F01.essentials\u002F21.api\u002F04.security",{"title":38,"path":553,"stem":554},"\u002Fdocs\u002Fiam\u002Fsecurity","docs\u002Fiam\u002F02.security",{"title":243,"path":556,"stem":557,"children":558,"page":53},"\u002Fdocs\u002Fiam\u002Fguides","docs\u002Fiam\u002F03.guides",[559,563,567],{"title":560,"path":561,"stem":562},"Deployment","\u002Fdocs\u002Fiam\u002Fguides\u002Fdeployment","docs\u002Fiam\u002F03.guides\u002Fdeployment",{"title":564,"path":565,"stem":566},"Operation Scripts","\u002Fdocs\u002Fiam\u002Fguides\u002Foperation-scripts","docs\u002Fiam\u002F03.guides\u002Foperation-scripts",{"title":568,"path":569,"stem":570},"Role-Based Access Control","\u002Fdocs\u002Fiam\u002Fguides\u002Frbac","docs\u002Fiam\u002F03.guides\u002Frbac",{"title":264,"path":572,"stem":573},"\u002Fdocs\u002Fiam\u002Fconfiguration","docs\u002Fiam\u002F04.configuration",{"title":575,"path":576,"stem":577,"children":578,"page":53},"Api","\u002Fdocs\u002Fiam\u002Fapi","docs\u002Fiam\u002F05.API",[579,582,585],{"title":135,"path":580,"stem":581},"\u002Fdocs\u002Fiam\u002Fapi\u002Fapi","docs\u002Fiam\u002F05.API\u002F00.api",{"title":277,"path":583,"stem":584},"\u002Fdocs\u002Fiam\u002Fapi\u002Fmiddlewares","docs\u002Fiam\u002F05.API\u002F02.middlewares",{"title":273,"path":586,"stem":587},"\u002Fdocs\u002Fiam\u002Fapi\u002Froutes","docs\u002Fiam\u002F05.API\u002F03.routes",{"title":40,"path":42,"stem":70,"children":589},[590,591,592,593,605,606,607,608],{"title":40,"path":42,"stem":70},{"title":14,"path":74,"stem":75},{"title":77,"path":78,"stem":79},{"title":81,"path":82,"stem":83,"children":594},[595,596,597,598,599,600,601,602,603,604],{"title":81,"path":82,"stem":83},{"title":87,"path":88,"stem":89},{"title":91,"path":92,"stem":93},{"title":95,"path":96,"stem":97},{"title":99,"path":100,"stem":101},{"title":103,"path":104,"stem":105},{"title":107,"path":108,"stem":109},{"title":111,"path":112,"stem":113},{"title":115,"path":116,"stem":117},{"title":119,"path":120,"stem":121},{"title":123,"path":124,"stem":125},{"title":127,"path":128,"stem":129},{"title":131,"path":132,"stem":133},{"title":135,"path":136,"stem":137},{"title":285,"path":48,"stem":610,"children":611},"docs\u002Futils\u002Findex",[612,613,630,663,760],{"title":285,"path":48,"stem":610},{"title":614,"path":615,"stem":616,"children":617,"page":53},"Eslint","\u002Fdocs\u002Futils\u002Feslint","docs\u002Futils\u002Feslint",[618,622,626],{"title":619,"path":620,"stem":621},"React Config","\u002Fdocs\u002Futils\u002Feslint\u002Freact","docs\u002Futils\u002Feslint\u002Freact",{"title":623,"path":624,"stem":625},"TypeScript Config","\u002Fdocs\u002Futils\u002Feslint\u002Ftypescript","docs\u002Futils\u002Feslint\u002Ftypescript",{"title":627,"path":628,"stem":629},"Vue Config","\u002Fdocs\u002Futils\u002Feslint\u002Fvue","docs\u002Futils\u002Feslint\u002Fvue",{"title":631,"path":632,"stem":633,"children":634,"page":53},"Server","\u002Fdocs\u002Futils\u002Fserver","docs\u002Futils\u002Fserver",[635,639,643,647,651,655,659],{"title":636,"path":637,"stem":638},"Encryption","\u002Fdocs\u002Futils\u002Fserver\u002Fencryption","docs\u002Futils\u002Fserver\u002Fencryption",{"title":640,"path":641,"stem":642},"Path Resolver","\u002Fdocs\u002Futils\u002Fserver\u002Fpathresolver","docs\u002Futils\u002Fserver\u002FpathResolver",{"title":644,"path":645,"stem":646},"File Replacements","\u002Fdocs\u002Futils\u002Fserver\u002Freplace","docs\u002Futils\u002Fserver\u002Freplace",{"title":648,"path":649,"stem":650},"run","\u002Fdocs\u002Futils\u002Fserver\u002Frun","docs\u002Futils\u002Fserver\u002Frun",{"title":652,"path":653,"stem":654},"scheduleTask","\u002Fdocs\u002Futils\u002Fserver\u002Fscheduletask","docs\u002Futils\u002Fserver\u002FscheduleTask",{"title":656,"path":657,"stem":658},"spawnRun","\u002Fdocs\u002Futils\u002Fserver\u002Fspawnrun","docs\u002Futils\u002Fserver\u002FspawnRun",{"title":660,"path":661,"stem":662},"uploadCsv","\u002Fdocs\u002Futils\u002Fserver\u002Fuploadcsv","docs\u002Futils\u002Fserver\u002FuploadCsv",{"title":664,"path":665,"stem":666,"children":667,"page":53},"Shared","\u002Fdocs\u002Futils\u002Fshared","docs\u002Futils\u002Fshared",[668,672,676,680,684,688,692,696,700,704,708,712,716,720,724,728,732,736,740,744,748,752,756],{"title":669,"path":670,"stem":671},"BatchQueue","\u002Fdocs\u002Futils\u002Fshared\u002Fbatchqueue","docs\u002Futils\u002Fshared\u002FbatchQueue",{"title":673,"path":674,"stem":675},"capitalize","\u002Fdocs\u002Futils\u002Fshared\u002Fcapitalize","docs\u002Futils\u002Fshared\u002Fcapitalize",{"title":677,"path":678,"stem":679},"chunkProcess","\u002Fdocs\u002Futils\u002Fshared\u002Fchunkprocess","docs\u002Futils\u002Fshared\u002FchunkProcess",{"title":681,"path":682,"stem":683},"cleanObject","\u002Fdocs\u002Futils\u002Fshared\u002Fcleanobject","docs\u002Futils\u002Fshared\u002FcleanObject",{"title":685,"path":686,"stem":687},"createConfigManager","\u002Fdocs\u002Futils\u002Fshared\u002Fconfigurationdefiner","docs\u002Futils\u002Fshared\u002FconfigurationDefiner",{"title":689,"path":690,"stem":691},"debounce","\u002Fdocs\u002Futils\u002Fshared\u002Fdebounce","docs\u002Futils\u002Fshared\u002Fdebounce",{"title":693,"path":694,"stem":695},"ensureArray","\u002Fdocs\u002Futils\u002Fshared\u002Fensurearray","docs\u002Futils\u002Fshared\u002FensureArray",{"title":697,"path":698,"stem":699},"fetchWithRetry","\u002Fdocs\u002Futils\u002Fshared\u002Ffetchwithretry","docs\u002Futils\u002Fshared\u002FfetchWithRetry",{"title":701,"path":702,"stem":703},"filterEmptyValues","\u002Fdocs\u002Futils\u002Fshared\u002Ffilteremptyvalues","docs\u002Futils\u002Fshared\u002FfilterEmptyValues",{"title":705,"path":706,"stem":707},"findStringsInObject","\u002Fdocs\u002Futils\u002Fshared\u002Ffindobjectvalues","docs\u002Futils\u002Fshared\u002FfindObjectValues",{"title":709,"path":710,"stem":711},"fisherYatesShuffle","\u002Fdocs\u002Futils\u002Fshared\u002Ffisheryatesshuffle","docs\u002Futils\u002Fshared\u002FfisherYatesShuffle",{"title":713,"path":714,"stem":715},"getRandomImage","\u002Fdocs\u002Futils\u002Fshared\u002Fgetrandomimage","docs\u002Futils\u002Fshared\u002FgetRandomImage",{"title":717,"path":718,"stem":719},"isObjectHasValues","\u002Fdocs\u002Futils\u002Fshared\u002Fisobjecthasvalues","docs\u002Futils\u002Fshared\u002FisObjectHasValues",{"title":721,"path":722,"stem":723},"isAsyncOrPromise","\u002Fdocs\u002Futils\u002Fshared\u002Fispromise","docs\u002Futils\u002Fshared\u002FisPromise",{"title":725,"path":726,"stem":727},"MiniCache","\u002Fdocs\u002Futils\u002Fshared\u002Fminicache","docs\u002Futils\u002Fshared\u002FminiCache",{"title":729,"path":730,"stem":731},"parseCookies","\u002Fdocs\u002Futils\u002Fshared\u002Fparserawcookies","docs\u002Futils\u002Fshared\u002FparseRawCookies",{"title":733,"path":734,"stem":735},"safeAction","\u002Fdocs\u002Futils\u002Fshared\u002Fpromiselocker","docs\u002Futils\u002Fshared\u002FpromiseLocker",{"title":737,"path":738,"stem":739},"Random","\u002Fdocs\u002Futils\u002Fshared\u002Frandom","docs\u002Futils\u002Fshared\u002Frandom",{"title":741,"path":742,"stem":743},"range","\u002Fdocs\u002Futils\u002Fshared\u002Frange","docs\u002Futils\u002Fshared\u002Frange",{"title":745,"path":746,"stem":747},"rateLimiters","\u002Fdocs\u002Futils\u002Fshared\u002Fratelimiters","docs\u002Futils\u002Fshared\u002FrateLimiters",{"title":749,"path":750,"stem":751},"safeObjectMerge","\u002Fdocs\u002Futils\u002Fshared\u002Fsafemerge","docs\u002Futils\u002Fshared\u002FsafeMerge",{"title":753,"path":754,"stem":755},"textTruncation","\u002Fdocs\u002Futils\u002Fshared\u002Ftexttruncation","docs\u002Futils\u002Fshared\u002FtextTruncation",{"title":757,"path":758,"stem":759},"validateZodSchema","\u002Fdocs\u002Futils\u002Fshared\u002Fvalidatezodschema","docs\u002Futils\u002Fshared\u002FvalidateZodSchema",{"title":761,"path":762,"stem":763,"children":764},"Utility Types","\u002Fdocs\u002Futils\u002Ftypes","docs\u002Futils\u002Ftypes\u002Findex",[765,766,770,774,778,782,786,790,794,798],{"title":761,"path":762,"stem":763},{"title":767,"path":768,"stem":769},"Brand","\u002Fdocs\u002Futils\u002Ftypes\u002Fbrand","docs\u002Futils\u002Ftypes\u002FBrand",{"title":771,"path":772,"stem":773},"DeepPartial","\u002Fdocs\u002Futils\u002Ftypes\u002Fdeeppartial","docs\u002Futils\u002Ftypes\u002FDeepPartial",{"title":775,"path":776,"stem":777},"Merge","\u002Fdocs\u002Futils\u002Ftypes\u002Fmerge","docs\u002Futils\u002Ftypes\u002FMerge",{"title":779,"path":780,"stem":781},"NonNullable","\u002Fdocs\u002Futils\u002Ftypes\u002Fnonnullable","docs\u002Futils\u002Ftypes\u002FNonNullable",{"title":783,"path":784,"stem":785},"Prettify","\u002Fdocs\u002Futils\u002Ftypes\u002Fprettify","docs\u002Futils\u002Ftypes\u002FPrettify",{"title":787,"path":788,"stem":789},"PromiseType","\u002Fdocs\u002Futils\u002Ftypes\u002Fpromisetype","docs\u002Futils\u002Ftypes\u002FPromiseType",{"title":791,"path":792,"stem":793},"RequireKeys","\u002Fdocs\u002Futils\u002Ftypes\u002Frequirekeys","docs\u002Futils\u002Ftypes\u002FRequireKeys",{"title":795,"path":796,"stem":797},"StandardResponse","\u002Fdocs\u002Futils\u002Ftypes\u002Fstandardresponse","docs\u002Futils\u002Ftypes\u002FStandardResponse",{"title":799,"path":800,"stem":801},"ValueOf","\u002Fdocs\u002Futils\u002Ftypes\u002Fvalueof","docs\u002Futils\u002Ftypes\u002FValueOf",{"id":4,"extension":5,"links":803,"meta":814,"stem":62,"__hash__":63},[804,812,813],{"nested":8,"label":9,"icon":10,"to":11,"children":805},[806,807,808,809,810,811],{"label":14,"icon":15,"to":11,"description":16,"github":17,"badge":18},{"label":20,"icon":21,"to":22,"description":23,"github":24,"badge":25},{"label":27,"icon":28,"to":29,"description":30,"github":31,"badge":25},{"label":33,"icon":34,"to":35,"description":36,"github":37,"badge":38},{"label":40,"icon":41,"to":42,"description":43,"github":44,"badge":38},{"label":46,"icon":47,"to":48,"description":49,"github":50,"badge":51},{"nested":53,"label":54,"icon":55,"to":56},{"nested":53,"label":58,"icon":59,"to":60},{},{"id":816,"title":95,"body":817,"description":1798,"extension":1799,"icon":1800,"meta":1801,"module":1802,"navigation":8,"path":96,"rawbody":1803,"seo":1804,"stem":97,"__hash__":1805},"docs\u002Fdocs\u002Fshield-base\u002F02.data-sources\u002Fcountry.md",{"type":818,"value":819,"toc":1792},"minimark",[820,824,835,838,842,862,864,868,1025,1027,1031,1327,1329,1333,1359,1778,1788],[821,822,823],"p",{},"The Country source maps IP prefixes to country-level geographic data. Records include country name, ISO codes, currency, calling code, subregion, and timezone. Data is derived from RIR databases (AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC) and WHOIS records, enriched with country metadata.",[821,825,826,830,831],{},[827,828,829],"strong",{},"Output file:"," ",[832,833,834],"code",{},"country.mmdb",[836,837],"hr",{},[839,840,81],"h2",{"id":841},"data-sources",[843,844,845,856],"ul",{},[846,847,848,849],"li",{},"IPv4-to-country CSV: ",[850,851,855],"a",{"href":852,"rel":853},"https:\u002F\u002Fraw.githubusercontent.com\u002Fsapics\u002Fip-location-db\u002Frefs\u002Fheads\u002Fmain\u002Fgeo-asn-country\u002Fgeo-asn-country-ipv4.csv",[854],"nofollow","github.com\u002Fsapics\u002Fip-location-db",[846,857,858,859],{},"Country metadata: bundled ",[832,860,861],{},"countries+states+cities.json",[836,863],{},[839,865,867],{"id":866},"usage","Usage",[869,870,871,900,916,931,946],"code-group",{},[872,873,879],"pre",{"className":874,"code":875,"filename":876,"language":877,"meta":878,"style":878},"language-bash shiki shiki-themes light-plus light-plus dracula","pnpm dlx @riavzon\u002Fshield-base --geo\n","pnpm","bash","",[832,880,881],{"__ignoreMap":878},[882,883,886,889,893,896],"span",{"class":884,"line":885},"line",1,[882,887,876],{"class":888},"sHOzp",[882,890,892],{"class":891},"sFB1V"," dlx",[882,894,895],{"class":891}," @riavzon\u002Fshield-base",[882,897,899],{"class":898},"sjR7W"," --geo\n",[872,901,904],{"className":874,"code":902,"filename":903,"language":877,"meta":878,"style":878},"yarn dlx @riavzon\u002Fshield-base --geo\n","yarn",[832,905,906],{"__ignoreMap":878},[882,907,908,910,912,914],{"class":884,"line":885},[882,909,903],{"class":888},[882,911,892],{"class":891},[882,913,895],{"class":891},[882,915,899],{"class":898},[872,917,920],{"className":874,"code":918,"filename":919,"language":877,"meta":878,"style":878},"npx @riavzon\u002Fshield-base --geo\n","npm",[832,921,922],{"__ignoreMap":878},[882,923,924,927,929],{"class":884,"line":885},[882,925,926],{"class":888},"npx",[882,928,895],{"class":891},[882,930,899],{"class":898},[872,932,935],{"className":874,"code":933,"filename":934,"language":877,"meta":878,"style":878},"bunx @riavzon\u002Fshield-base --geo\n","bun",[832,936,937],{"__ignoreMap":878},[882,938,939,942,944],{"class":884,"line":885},[882,940,941],{"class":888},"bunx",[882,943,895],{"class":891},[882,945,899],{"class":898},[872,947,952],{"className":948,"code":949,"filename":950,"language":951,"meta":878,"style":878},"language-ts shiki shiki-themes light-plus light-plus dracula","import { getGeoDatas } from '@riavzon\u002Fshield-base';\n\nawait getGeoDatas('.\u002Fout', 'mmdbctl');\n","Programmatic","ts",[832,953,954,987,993],{"__ignoreMap":878},[882,955,956,960,964,968,971,974,978,981,984],{"class":884,"line":885},[882,957,959],{"class":958},"sZ328","import",[882,961,963],{"class":962},"sDd4n"," { ",[882,965,967],{"class":966},"sjsA6","getGeoDatas",[882,969,970],{"class":962}," } ",[882,972,973],{"class":958},"from",[882,975,977],{"class":976},"sFkSl"," '",[882,979,980],{"class":891},"@riavzon\u002Fshield-base",[882,982,983],{"class":976},"'",[882,985,986],{"class":962},";\n",[882,988,990],{"class":884,"line":989},2,[882,991,992],{"emptyLinePlaceholder":8},"\n",[882,994,996,999,1002,1005,1007,1010,1012,1015,1017,1020,1022],{"class":884,"line":995},3,[882,997,998],{"class":958},"await",[882,1000,1001],{"class":888}," getGeoDatas",[882,1003,1004],{"class":962},"(",[882,1006,983],{"class":976},[882,1008,1009],{"class":891},".\u002Fout",[882,1011,983],{"class":976},[882,1013,1014],{"class":962},", ",[882,1016,983],{"class":976},[882,1018,1019],{"class":891},"mmdbctl",[882,1021,983],{"class":976},[882,1023,1024],{"class":962},");\n",[836,1026],{},[839,1028,1030],{"id":1029},"record-structure","Record Structure",[872,1032,1034],{"className":948,"code":1033,"language":951,"meta":878,"style":878},"interface GeoRecord {\n  range: string;\n  country_code: string;    \u002F\u002F ISO 3166-1 alpha-2, e.g. \"US\"\n  region: string;          \u002F\u002F Continental region, e.g. \"Americas\"\n  numericCode: string;     \u002F\u002F ISO 3166-1 numeric, e.g. \"840\"\n  name: string;\n  native: string;\n  phone: string;           \u002F\u002F International calling code\n  capital: string;\n  currency: string;\n  currency_name: string;\n  currency_symbol: string;\n  iso639: string;          \u002F\u002F Primary language code\n  languages: string;\n  emoji: string;           \u002F\u002F Country flag emoji\n  tld: string;\n  nationality: string;\n  subregion: string;       \u002F\u002F e.g. \"Northern America\"\n  timezone: string;        \u002F\u002F IANA timezone identifier\n  timeZoneName: string;\n  utc_offset: string;\n}\n",[832,1035,1036,1049,1063,1079,1095,1111,1123,1135,1151,1163,1175,1187,1199,1214,1226,1241,1253,1265,1281,1297,1309,1321],{"__ignoreMap":878},[882,1037,1038,1042,1046],{"class":884,"line":885},[882,1039,1041],{"class":1040},"sl46w","interface",[882,1043,1045],{"class":1044},"sFs1U"," GeoRecord",[882,1047,1048],{"class":962}," {\n",[882,1050,1051,1054,1058,1061],{"class":884,"line":989},[882,1052,1053],{"class":966},"  range",[882,1055,1057],{"class":1056},"saOXh",":",[882,1059,1060],{"class":1044}," string",[882,1062,986],{"class":962},[882,1064,1065,1068,1070,1072,1075],{"class":884,"line":995},[882,1066,1067],{"class":966},"  country_code",[882,1069,1057],{"class":1056},[882,1071,1060],{"class":1044},[882,1073,1074],{"class":962},";    ",[882,1076,1078],{"class":1077},"sghk6","\u002F\u002F ISO 3166-1 alpha-2, e.g. \"US\"\n",[882,1080,1082,1085,1087,1089,1092],{"class":884,"line":1081},4,[882,1083,1084],{"class":966},"  region",[882,1086,1057],{"class":1056},[882,1088,1060],{"class":1044},[882,1090,1091],{"class":962},";          ",[882,1093,1094],{"class":1077},"\u002F\u002F Continental region, e.g. \"Americas\"\n",[882,1096,1098,1101,1103,1105,1108],{"class":884,"line":1097},5,[882,1099,1100],{"class":966},"  numericCode",[882,1102,1057],{"class":1056},[882,1104,1060],{"class":1044},[882,1106,1107],{"class":962},";     ",[882,1109,1110],{"class":1077},"\u002F\u002F ISO 3166-1 numeric, e.g. \"840\"\n",[882,1112,1114,1117,1119,1121],{"class":884,"line":1113},6,[882,1115,1116],{"class":966},"  name",[882,1118,1057],{"class":1056},[882,1120,1060],{"class":1044},[882,1122,986],{"class":962},[882,1124,1126,1129,1131,1133],{"class":884,"line":1125},7,[882,1127,1128],{"class":966},"  native",[882,1130,1057],{"class":1056},[882,1132,1060],{"class":1044},[882,1134,986],{"class":962},[882,1136,1138,1141,1143,1145,1148],{"class":884,"line":1137},8,[882,1139,1140],{"class":966},"  phone",[882,1142,1057],{"class":1056},[882,1144,1060],{"class":1044},[882,1146,1147],{"class":962},";           ",[882,1149,1150],{"class":1077},"\u002F\u002F International calling code\n",[882,1152,1154,1157,1159,1161],{"class":884,"line":1153},9,[882,1155,1156],{"class":966},"  capital",[882,1158,1057],{"class":1056},[882,1160,1060],{"class":1044},[882,1162,986],{"class":962},[882,1164,1166,1169,1171,1173],{"class":884,"line":1165},10,[882,1167,1168],{"class":966},"  currency",[882,1170,1057],{"class":1056},[882,1172,1060],{"class":1044},[882,1174,986],{"class":962},[882,1176,1178,1181,1183,1185],{"class":884,"line":1177},11,[882,1179,1180],{"class":966},"  currency_name",[882,1182,1057],{"class":1056},[882,1184,1060],{"class":1044},[882,1186,986],{"class":962},[882,1188,1190,1193,1195,1197],{"class":884,"line":1189},12,[882,1191,1192],{"class":966},"  currency_symbol",[882,1194,1057],{"class":1056},[882,1196,1060],{"class":1044},[882,1198,986],{"class":962},[882,1200,1202,1205,1207,1209,1211],{"class":884,"line":1201},13,[882,1203,1204],{"class":966},"  iso639",[882,1206,1057],{"class":1056},[882,1208,1060],{"class":1044},[882,1210,1091],{"class":962},[882,1212,1213],{"class":1077},"\u002F\u002F Primary language code\n",[882,1215,1217,1220,1222,1224],{"class":884,"line":1216},14,[882,1218,1219],{"class":966},"  languages",[882,1221,1057],{"class":1056},[882,1223,1060],{"class":1044},[882,1225,986],{"class":962},[882,1227,1229,1232,1234,1236,1238],{"class":884,"line":1228},15,[882,1230,1231],{"class":966},"  emoji",[882,1233,1057],{"class":1056},[882,1235,1060],{"class":1044},[882,1237,1147],{"class":962},[882,1239,1240],{"class":1077},"\u002F\u002F Country flag emoji\n",[882,1242,1244,1247,1249,1251],{"class":884,"line":1243},16,[882,1245,1246],{"class":966},"  tld",[882,1248,1057],{"class":1056},[882,1250,1060],{"class":1044},[882,1252,986],{"class":962},[882,1254,1256,1259,1261,1263],{"class":884,"line":1255},17,[882,1257,1258],{"class":966},"  nationality",[882,1260,1057],{"class":1056},[882,1262,1060],{"class":1044},[882,1264,986],{"class":962},[882,1266,1268,1271,1273,1275,1278],{"class":884,"line":1267},18,[882,1269,1270],{"class":966},"  subregion",[882,1272,1057],{"class":1056},[882,1274,1060],{"class":1044},[882,1276,1277],{"class":962},";       ",[882,1279,1280],{"class":1077},"\u002F\u002F e.g. \"Northern America\"\n",[882,1282,1284,1287,1289,1291,1294],{"class":884,"line":1283},19,[882,1285,1286],{"class":966},"  timezone",[882,1288,1057],{"class":1056},[882,1290,1060],{"class":1044},[882,1292,1293],{"class":962},";        ",[882,1295,1296],{"class":1077},"\u002F\u002F IANA timezone identifier\n",[882,1298,1300,1303,1305,1307],{"class":884,"line":1299},20,[882,1301,1302],{"class":966},"  timeZoneName",[882,1304,1057],{"class":1056},[882,1306,1060],{"class":1044},[882,1308,986],{"class":962},[882,1310,1312,1315,1317,1319],{"class":884,"line":1311},21,[882,1313,1314],{"class":966},"  utc_offset",[882,1316,1057],{"class":1056},[882,1318,1060],{"class":1044},[882,1320,986],{"class":962},[882,1322,1324],{"class":884,"line":1323},22,[882,1325,1326],{"class":962},"}\n",[836,1328],{},[839,1330,1332],{"id":1331},"example-lookup","Example Lookup",[872,1334,1337],{"className":874,"code":1335,"filename":1336,"language":877,"meta":878,"style":878},"mmdbctl read -f json-pretty 161.185.160.93 outputDirectory\u002Fcountry.mmdb\n","Terminal",[832,1338,1339],{"__ignoreMap":878},[882,1340,1341,1343,1346,1349,1352,1356],{"class":884,"line":885},[882,1342,1019],{"class":888},[882,1344,1345],{"class":891}," read",[882,1347,1348],{"class":898}," -f",[882,1350,1351],{"class":891}," json-pretty",[882,1353,1355],{"class":1354},"spgvN"," 161.185.160.93",[882,1357,1358],{"class":891}," outputDirectory\u002Fcountry.mmdb\n",[872,1360,1363],{"className":1361,"code":1362,"language":5,"meta":878,"style":878},"language-json shiki shiki-themes light-plus light-plus dracula","{\n  \"capital\": \"Washington\",\n  \"country_code\": \"US\",\n  \"currency\": \"USD\",\n  \"currency_name\": \"United States dollar\",\n  \"currency_symbol\": \"$\",\n  \"emoji\": \"🇺🇸\",\n  \"ip\": \"161.185.160.93\",\n  \"languages\": \"Stadoù-Unanet\",\n  \"name\": \"United States\",\n  \"nationality\": \"American\",\n  \"native\": \"United States\",\n  \"network\": \"161.185.0.0-161.186.255.255\",\n  \"numericCode\": \"840\",\n  \"phone\": \"1\",\n  \"region\": \"Americas\",\n  \"subregion\": \"Northern America\",\n  \"timeZoneName\": \"Hawaii–Aleutian Standard Time\",\n  \"timezone\": \"America\u002FAdak\",\n  \"tld\": \".us\",\n  \"utc_offset\": \"UTC-10:00\"\n}\n",[832,1364,1365,1370,1396,1416,1436,1456,1476,1496,1516,1536,1556,1576,1595,1615,1635,1655,1675,1695,1715,1735,1755,1774],{"__ignoreMap":878},[882,1366,1367],{"class":884,"line":885},[882,1368,1369],{"class":962},"{\n",[882,1371,1372,1376,1380,1383,1385,1388,1391,1393],{"class":884,"line":989},[882,1373,1375],{"class":1374},"saJyd","  \"",[882,1377,1379],{"class":1378},"s_W10","capital",[882,1381,1382],{"class":1374},"\"",[882,1384,1057],{"class":1056},[882,1386,1387],{"class":976}," \"",[882,1389,1390],{"class":891},"Washington",[882,1392,1382],{"class":976},[882,1394,1395],{"class":962},",\n",[882,1397,1398,1400,1403,1405,1407,1409,1412,1414],{"class":884,"line":995},[882,1399,1375],{"class":1374},[882,1401,1402],{"class":1378},"country_code",[882,1404,1382],{"class":1374},[882,1406,1057],{"class":1056},[882,1408,1387],{"class":976},[882,1410,1411],{"class":891},"US",[882,1413,1382],{"class":976},[882,1415,1395],{"class":962},[882,1417,1418,1420,1423,1425,1427,1429,1432,1434],{"class":884,"line":1081},[882,1419,1375],{"class":1374},[882,1421,1422],{"class":1378},"currency",[882,1424,1382],{"class":1374},[882,1426,1057],{"class":1056},[882,1428,1387],{"class":976},[882,1430,1431],{"class":891},"USD",[882,1433,1382],{"class":976},[882,1435,1395],{"class":962},[882,1437,1438,1440,1443,1445,1447,1449,1452,1454],{"class":884,"line":1097},[882,1439,1375],{"class":1374},[882,1441,1442],{"class":1378},"currency_name",[882,1444,1382],{"class":1374},[882,1446,1057],{"class":1056},[882,1448,1387],{"class":976},[882,1450,1451],{"class":891},"United States dollar",[882,1453,1382],{"class":976},[882,1455,1395],{"class":962},[882,1457,1458,1460,1463,1465,1467,1469,1472,1474],{"class":884,"line":1113},[882,1459,1375],{"class":1374},[882,1461,1462],{"class":1378},"currency_symbol",[882,1464,1382],{"class":1374},[882,1466,1057],{"class":1056},[882,1468,1387],{"class":976},[882,1470,1471],{"class":891},"$",[882,1473,1382],{"class":976},[882,1475,1395],{"class":962},[882,1477,1478,1480,1483,1485,1487,1489,1492,1494],{"class":884,"line":1125},[882,1479,1375],{"class":1374},[882,1481,1482],{"class":1378},"emoji",[882,1484,1382],{"class":1374},[882,1486,1057],{"class":1056},[882,1488,1387],{"class":976},[882,1490,1491],{"class":891},"🇺🇸",[882,1493,1382],{"class":976},[882,1495,1395],{"class":962},[882,1497,1498,1500,1503,1505,1507,1509,1512,1514],{"class":884,"line":1137},[882,1499,1375],{"class":1374},[882,1501,1502],{"class":1378},"ip",[882,1504,1382],{"class":1374},[882,1506,1057],{"class":1056},[882,1508,1387],{"class":976},[882,1510,1511],{"class":891},"161.185.160.93",[882,1513,1382],{"class":976},[882,1515,1395],{"class":962},[882,1517,1518,1520,1523,1525,1527,1529,1532,1534],{"class":884,"line":1153},[882,1519,1375],{"class":1374},[882,1521,1522],{"class":1378},"languages",[882,1524,1382],{"class":1374},[882,1526,1057],{"class":1056},[882,1528,1387],{"class":976},[882,1530,1531],{"class":891},"Stadoù-Unanet",[882,1533,1382],{"class":976},[882,1535,1395],{"class":962},[882,1537,1538,1540,1543,1545,1547,1549,1552,1554],{"class":884,"line":1165},[882,1539,1375],{"class":1374},[882,1541,1542],{"class":1378},"name",[882,1544,1382],{"class":1374},[882,1546,1057],{"class":1056},[882,1548,1387],{"class":976},[882,1550,1551],{"class":891},"United States",[882,1553,1382],{"class":976},[882,1555,1395],{"class":962},[882,1557,1558,1560,1563,1565,1567,1569,1572,1574],{"class":884,"line":1177},[882,1559,1375],{"class":1374},[882,1561,1562],{"class":1378},"nationality",[882,1564,1382],{"class":1374},[882,1566,1057],{"class":1056},[882,1568,1387],{"class":976},[882,1570,1571],{"class":891},"American",[882,1573,1382],{"class":976},[882,1575,1395],{"class":962},[882,1577,1578,1580,1583,1585,1587,1589,1591,1593],{"class":884,"line":1189},[882,1579,1375],{"class":1374},[882,1581,1582],{"class":1378},"native",[882,1584,1382],{"class":1374},[882,1586,1057],{"class":1056},[882,1588,1387],{"class":976},[882,1590,1551],{"class":891},[882,1592,1382],{"class":976},[882,1594,1395],{"class":962},[882,1596,1597,1599,1602,1604,1606,1608,1611,1613],{"class":884,"line":1201},[882,1598,1375],{"class":1374},[882,1600,1601],{"class":1378},"network",[882,1603,1382],{"class":1374},[882,1605,1057],{"class":1056},[882,1607,1387],{"class":976},[882,1609,1610],{"class":891},"161.185.0.0-161.186.255.255",[882,1612,1382],{"class":976},[882,1614,1395],{"class":962},[882,1616,1617,1619,1622,1624,1626,1628,1631,1633],{"class":884,"line":1216},[882,1618,1375],{"class":1374},[882,1620,1621],{"class":1378},"numericCode",[882,1623,1382],{"class":1374},[882,1625,1057],{"class":1056},[882,1627,1387],{"class":976},[882,1629,1630],{"class":891},"840",[882,1632,1382],{"class":976},[882,1634,1395],{"class":962},[882,1636,1637,1639,1642,1644,1646,1648,1651,1653],{"class":884,"line":1228},[882,1638,1375],{"class":1374},[882,1640,1641],{"class":1378},"phone",[882,1643,1382],{"class":1374},[882,1645,1057],{"class":1056},[882,1647,1387],{"class":976},[882,1649,1650],{"class":891},"1",[882,1652,1382],{"class":976},[882,1654,1395],{"class":962},[882,1656,1657,1659,1662,1664,1666,1668,1671,1673],{"class":884,"line":1243},[882,1658,1375],{"class":1374},[882,1660,1661],{"class":1378},"region",[882,1663,1382],{"class":1374},[882,1665,1057],{"class":1056},[882,1667,1387],{"class":976},[882,1669,1670],{"class":891},"Americas",[882,1672,1382],{"class":976},[882,1674,1395],{"class":962},[882,1676,1677,1679,1682,1684,1686,1688,1691,1693],{"class":884,"line":1255},[882,1678,1375],{"class":1374},[882,1680,1681],{"class":1378},"subregion",[882,1683,1382],{"class":1374},[882,1685,1057],{"class":1056},[882,1687,1387],{"class":976},[882,1689,1690],{"class":891},"Northern America",[882,1692,1382],{"class":976},[882,1694,1395],{"class":962},[882,1696,1697,1699,1702,1704,1706,1708,1711,1713],{"class":884,"line":1267},[882,1698,1375],{"class":1374},[882,1700,1701],{"class":1378},"timeZoneName",[882,1703,1382],{"class":1374},[882,1705,1057],{"class":1056},[882,1707,1387],{"class":976},[882,1709,1710],{"class":891},"Hawaii–Aleutian Standard Time",[882,1712,1382],{"class":976},[882,1714,1395],{"class":962},[882,1716,1717,1719,1722,1724,1726,1728,1731,1733],{"class":884,"line":1283},[882,1718,1375],{"class":1374},[882,1720,1721],{"class":1378},"timezone",[882,1723,1382],{"class":1374},[882,1725,1057],{"class":1056},[882,1727,1387],{"class":976},[882,1729,1730],{"class":891},"America\u002FAdak",[882,1732,1382],{"class":976},[882,1734,1395],{"class":962},[882,1736,1737,1739,1742,1744,1746,1748,1751,1753],{"class":884,"line":1299},[882,1738,1375],{"class":1374},[882,1740,1741],{"class":1378},"tld",[882,1743,1382],{"class":1374},[882,1745,1057],{"class":1056},[882,1747,1387],{"class":976},[882,1749,1750],{"class":891},".us",[882,1752,1382],{"class":976},[882,1754,1395],{"class":962},[882,1756,1757,1759,1762,1764,1766,1768,1771],{"class":884,"line":1311},[882,1758,1375],{"class":1374},[882,1760,1761],{"class":1378},"utc_offset",[882,1763,1382],{"class":1374},[882,1765,1057],{"class":1056},[882,1767,1387],{"class":976},[882,1769,1770],{"class":891},"UTC-10:00",[882,1772,1773],{"class":976},"\"\n",[882,1775,1776],{"class":884,"line":1323},[882,1777,1326],{"class":962},[1779,1780,1781],"note",{},[821,1782,1783,1784,1787],{},"For city-level detail including coordinates and postal codes, use the ",[850,1785,1786],{"href":92},"City"," source instead.",[1789,1790,1791],"style",{},"html pre.shiki code .sHOzp, html code.shiki .sHOzp{--shiki-light:#795E26;--shiki-default:#795E26;--shiki-dark:#50FA7B}html pre.shiki code .sFB1V, html code.shiki .sFB1V{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#F1FA8C}html pre.shiki code .sjR7W, html code.shiki .sjR7W{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#BD93F9}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZ328, html code.shiki .sZ328{--shiki-light:#AF00DB;--shiki-default:#AF00DB;--shiki-dark:#FF79C6}html pre.shiki code .sDd4n, html code.shiki .sDd4n{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#F8F8F2}html pre.shiki code .sjsA6, html code.shiki .sjsA6{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#F8F8F2}html pre.shiki code .sFkSl, html code.shiki .sFkSl{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#E9F284}html pre.shiki code .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}html pre.shiki code .sFs1U, html code.shiki .sFs1U{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic}html pre.shiki code .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#FF79C6}html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}html pre.shiki code .spgvN, html code.shiki .spgvN{--shiki-light:#098658;--shiki-default:#098658;--shiki-dark:#BD93F9}html pre.shiki code .saJyd, html code.shiki .saJyd{--shiki-light:#0451A5;--shiki-default:#0451A5;--shiki-dark:#8BE9FE}html pre.shiki code .s_W10, html code.shiki .s_W10{--shiki-light:#0451A5;--shiki-default:#0451A5;--shiki-dark:#8BE9FD}",{"title":878,"searchDepth":989,"depth":989,"links":1793},[1794,1795,1796,1797],{"id":841,"depth":989,"text":81},{"id":866,"depth":989,"text":867},{"id":1029,"depth":989,"text":1030},{"id":1331,"depth":989,"text":1332},"IP-to-country mapping derived from RIR databases and WHOIS records, compiled into country.mmdb.","md","i-lucide-globe",{},null,"---\ntitle: Country Geolocation\ndescription: IP-to-country mapping derived from RIR databases and WHOIS records, compiled into country.mmdb.\nicon: i-lucide-globe\n---\n\nThe Country source maps IP prefixes to country-level geographic data. Records include country name, ISO codes, currency, calling code, subregion, and timezone. Data is derived from RIR databases (AFRINIC, APNIC, ARIN, LACNIC, RIPE NCC) and WHOIS records, enriched with country metadata.\n\n**Output file:** `country.mmdb`\n\n---\n\n## Data Sources\n\n- IPv4-to-country CSV: [github.com\u002Fsapics\u002Fip-location-db](https:\u002F\u002Fraw.githubusercontent.com\u002Fsapics\u002Fip-location-db\u002Frefs\u002Fheads\u002Fmain\u002Fgeo-asn-country\u002Fgeo-asn-country-ipv4.csv)\n- Country metadata: bundled `countries+states+cities.json`\n\n---\n\n## Usage\n\n::code-group\n```bash [pnpm]\npnpm dlx @riavzon\u002Fshield-base --geo\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base --geo\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base --geo\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base --geo\n```\n```ts [Programmatic]\nimport { getGeoDatas } from '@riavzon\u002Fshield-base';\n\nawait getGeoDatas('.\u002Fout', 'mmdbctl');\n```\n::\n\n---\n\n## Record Structure\n\n```ts\ninterface GeoRecord {\n  range: string;\n  country_code: string;    \u002F\u002F ISO 3166-1 alpha-2, e.g. \"US\"\n  region: string;          \u002F\u002F Continental region, e.g. \"Americas\"\n  numericCode: string;     \u002F\u002F ISO 3166-1 numeric, e.g. \"840\"\n  name: string;\n  native: string;\n  phone: string;           \u002F\u002F International calling code\n  capital: string;\n  currency: string;\n  currency_name: string;\n  currency_symbol: string;\n  iso639: string;          \u002F\u002F Primary language code\n  languages: string;\n  emoji: string;           \u002F\u002F Country flag emoji\n  tld: string;\n  nationality: string;\n  subregion: string;       \u002F\u002F e.g. \"Northern America\"\n  timezone: string;        \u002F\u002F IANA timezone identifier\n  timeZoneName: string;\n  utc_offset: string;\n}\n```\n\n---\n\n## Example Lookup\n\n```bash [Terminal]\nmmdbctl read -f json-pretty 161.185.160.93 outputDirectory\u002Fcountry.mmdb\n```\n\n```json\n{\n  \"capital\": \"Washington\",\n  \"country_code\": \"US\",\n  \"currency\": \"USD\",\n  \"currency_name\": \"United States dollar\",\n  \"currency_symbol\": \"$\",\n  \"emoji\": \"🇺🇸\",\n  \"ip\": \"161.185.160.93\",\n  \"languages\": \"Stadoù-Unanet\",\n  \"name\": \"United States\",\n  \"nationality\": \"American\",\n  \"native\": \"United States\",\n  \"network\": \"161.185.0.0-161.186.255.255\",\n  \"numericCode\": \"840\",\n  \"phone\": \"1\",\n  \"region\": \"Americas\",\n  \"subregion\": \"Northern America\",\n  \"timeZoneName\": \"Hawaii–Aleutian Standard Time\",\n  \"timezone\": \"America\u002FAdak\",\n  \"tld\": \".us\",\n  \"utc_offset\": \"UTC-10:00\"\n}\n```\n\n::note\nFor city-level detail including coordinates and postal codes, use the [City](\u002Fdocs\u002Fshield-base\u002Fdata-sources\u002Fcity) source instead.\n::\n",{"title":95,"description":1798},"ED3xrdZGPuLVmlbsDj-JzAvI38lC4TrBEBxZ_wiPsmU",[1807,1808],{"title":91,"path":92,"stem":93,"children":-1},{"title":99,"path":100,"stem":101,"children":-1},{"id":816,"title":95,"body":1810,"description":1798,"extension":1799,"icon":1800,"meta":2587,"module":1802,"navigation":8,"path":96,"rawbody":1803,"seo":2588,"stem":97,"__hash__":1805},{"type":818,"value":1811,"toc":2581},[1812,1814,1820,1822,1824,1835,1837,1839,1945,1947,1949,2181,2183,2185,2203,2573,2579],[821,1813,823],{},[821,1815,1816,830,1818],{},[827,1817,829],{},[832,1819,834],{},[836,1821],{},[839,1823,81],{"id":841},[843,1825,1826,1831],{},[846,1827,848,1828],{},[850,1829,855],{"href":852,"rel":1830},[854],[846,1832,858,1833],{},[832,1834,861],{},[836,1836],{},[839,1838,867],{"id":866},[869,1840,1841,1855,1869,1881,1893],{},[872,1842,1843],{"className":874,"code":875,"filename":876,"language":877,"meta":878,"style":878},[832,1844,1845],{"__ignoreMap":878},[882,1846,1847,1849,1851,1853],{"class":884,"line":885},[882,1848,876],{"class":888},[882,1850,892],{"class":891},[882,1852,895],{"class":891},[882,1854,899],{"class":898},[872,1856,1857],{"className":874,"code":902,"filename":903,"language":877,"meta":878,"style":878},[832,1858,1859],{"__ignoreMap":878},[882,1860,1861,1863,1865,1867],{"class":884,"line":885},[882,1862,903],{"class":888},[882,1864,892],{"class":891},[882,1866,895],{"class":891},[882,1868,899],{"class":898},[872,1870,1871],{"className":874,"code":918,"filename":919,"language":877,"meta":878,"style":878},[832,1872,1873],{"__ignoreMap":878},[882,1874,1875,1877,1879],{"class":884,"line":885},[882,1876,926],{"class":888},[882,1878,895],{"class":891},[882,1880,899],{"class":898},[872,1882,1883],{"className":874,"code":933,"filename":934,"language":877,"meta":878,"style":878},[832,1884,1885],{"__ignoreMap":878},[882,1886,1887,1889,1891],{"class":884,"line":885},[882,1888,941],{"class":888},[882,1890,895],{"class":891},[882,1892,899],{"class":898},[872,1894,1895],{"className":948,"code":949,"filename":950,"language":951,"meta":878,"style":878},[832,1896,1897,1917,1921],{"__ignoreMap":878},[882,1898,1899,1901,1903,1905,1907,1909,1911,1913,1915],{"class":884,"line":885},[882,1900,959],{"class":958},[882,1902,963],{"class":962},[882,1904,967],{"class":966},[882,1906,970],{"class":962},[882,1908,973],{"class":958},[882,1910,977],{"class":976},[882,1912,980],{"class":891},[882,1914,983],{"class":976},[882,1916,986],{"class":962},[882,1918,1919],{"class":884,"line":989},[882,1920,992],{"emptyLinePlaceholder":8},[882,1922,1923,1925,1927,1929,1931,1933,1935,1937,1939,1941,1943],{"class":884,"line":995},[882,1924,998],{"class":958},[882,1926,1001],{"class":888},[882,1928,1004],{"class":962},[882,1930,983],{"class":976},[882,1932,1009],{"class":891},[882,1934,983],{"class":976},[882,1936,1014],{"class":962},[882,1938,983],{"class":976},[882,1940,1019],{"class":891},[882,1942,983],{"class":976},[882,1944,1024],{"class":962},[836,1946],{},[839,1948,1030],{"id":1029},[872,1950,1951],{"className":948,"code":1033,"language":951,"meta":878,"style":878},[832,1952,1953,1961,1971,1983,1995,2007,2017,2027,2039,2049,2059,2069,2079,2091,2101,2113,2123,2133,2145,2157,2167,2177],{"__ignoreMap":878},[882,1954,1955,1957,1959],{"class":884,"line":885},[882,1956,1041],{"class":1040},[882,1958,1045],{"class":1044},[882,1960,1048],{"class":962},[882,1962,1963,1965,1967,1969],{"class":884,"line":989},[882,1964,1053],{"class":966},[882,1966,1057],{"class":1056},[882,1968,1060],{"class":1044},[882,1970,986],{"class":962},[882,1972,1973,1975,1977,1979,1981],{"class":884,"line":995},[882,1974,1067],{"class":966},[882,1976,1057],{"class":1056},[882,1978,1060],{"class":1044},[882,1980,1074],{"class":962},[882,1982,1078],{"class":1077},[882,1984,1985,1987,1989,1991,1993],{"class":884,"line":1081},[882,1986,1084],{"class":966},[882,1988,1057],{"class":1056},[882,1990,1060],{"class":1044},[882,1992,1091],{"class":962},[882,1994,1094],{"class":1077},[882,1996,1997,1999,2001,2003,2005],{"class":884,"line":1097},[882,1998,1100],{"class":966},[882,2000,1057],{"class":1056},[882,2002,1060],{"class":1044},[882,2004,1107],{"class":962},[882,2006,1110],{"class":1077},[882,2008,2009,2011,2013,2015],{"class":884,"line":1113},[882,2010,1116],{"class":966},[882,2012,1057],{"class":1056},[882,2014,1060],{"class":1044},[882,2016,986],{"class":962},[882,2018,2019,2021,2023,2025],{"class":884,"line":1125},[882,2020,1128],{"class":966},[882,2022,1057],{"class":1056},[882,2024,1060],{"class":1044},[882,2026,986],{"class":962},[882,2028,2029,2031,2033,2035,2037],{"class":884,"line":1137},[882,2030,1140],{"class":966},[882,2032,1057],{"class":1056},[882,2034,1060],{"class":1044},[882,2036,1147],{"class":962},[882,2038,1150],{"class":1077},[882,2040,2041,2043,2045,2047],{"class":884,"line":1153},[882,2042,1156],{"class":966},[882,2044,1057],{"class":1056},[882,2046,1060],{"class":1044},[882,2048,986],{"class":962},[882,2050,2051,2053,2055,2057],{"class":884,"line":1165},[882,2052,1168],{"class":966},[882,2054,1057],{"class":1056},[882,2056,1060],{"class":1044},[882,2058,986],{"class":962},[882,2060,2061,2063,2065,2067],{"class":884,"line":1177},[882,2062,1180],{"class":966},[882,2064,1057],{"class":1056},[882,2066,1060],{"class":1044},[882,2068,986],{"class":962},[882,2070,2071,2073,2075,2077],{"class":884,"line":1189},[882,2072,1192],{"class":966},[882,2074,1057],{"class":1056},[882,2076,1060],{"class":1044},[882,2078,986],{"class":962},[882,2080,2081,2083,2085,2087,2089],{"class":884,"line":1201},[882,2082,1204],{"class":966},[882,2084,1057],{"class":1056},[882,2086,1060],{"class":1044},[882,2088,1091],{"class":962},[882,2090,1213],{"class":1077},[882,2092,2093,2095,2097,2099],{"class":884,"line":1216},[882,2094,1219],{"class":966},[882,2096,1057],{"class":1056},[882,2098,1060],{"class":1044},[882,2100,986],{"class":962},[882,2102,2103,2105,2107,2109,2111],{"class":884,"line":1228},[882,2104,1231],{"class":966},[882,2106,1057],{"class":1056},[882,2108,1060],{"class":1044},[882,2110,1147],{"class":962},[882,2112,1240],{"class":1077},[882,2114,2115,2117,2119,2121],{"class":884,"line":1243},[882,2116,1246],{"class":966},[882,2118,1057],{"class":1056},[882,2120,1060],{"class":1044},[882,2122,986],{"class":962},[882,2124,2125,2127,2129,2131],{"class":884,"line":1255},[882,2126,1258],{"class":966},[882,2128,1057],{"class":1056},[882,2130,1060],{"class":1044},[882,2132,986],{"class":962},[882,2134,2135,2137,2139,2141,2143],{"class":884,"line":1267},[882,2136,1270],{"class":966},[882,2138,1057],{"class":1056},[882,2140,1060],{"class":1044},[882,2142,1277],{"class":962},[882,2144,1280],{"class":1077},[882,2146,2147,2149,2151,2153,2155],{"class":884,"line":1283},[882,2148,1286],{"class":966},[882,2150,1057],{"class":1056},[882,2152,1060],{"class":1044},[882,2154,1293],{"class":962},[882,2156,1296],{"class":1077},[882,2158,2159,2161,2163,2165],{"class":884,"line":1299},[882,2160,1302],{"class":966},[882,2162,1057],{"class":1056},[882,2164,1060],{"class":1044},[882,2166,986],{"class":962},[882,2168,2169,2171,2173,2175],{"class":884,"line":1311},[882,2170,1314],{"class":966},[882,2172,1057],{"class":1056},[882,2174,1060],{"class":1044},[882,2176,986],{"class":962},[882,2178,2179],{"class":884,"line":1323},[882,2180,1326],{"class":962},[836,2182],{},[839,2184,1332],{"id":1331},[872,2186,2187],{"className":874,"code":1335,"filename":1336,"language":877,"meta":878,"style":878},[832,2188,2189],{"__ignoreMap":878},[882,2190,2191,2193,2195,2197,2199,2201],{"class":884,"line":885},[882,2192,1019],{"class":888},[882,2194,1345],{"class":891},[882,2196,1348],{"class":898},[882,2198,1351],{"class":891},[882,2200,1355],{"class":1354},[882,2202,1358],{"class":891},[872,2204,2205],{"className":1361,"code":1362,"language":5,"meta":878,"style":878},[832,2206,2207,2211,2229,2247,2265,2283,2301,2319,2337,2355,2373,2391,2409,2427,2445,2463,2481,2499,2517,2535,2553,2569],{"__ignoreMap":878},[882,2208,2209],{"class":884,"line":885},[882,2210,1369],{"class":962},[882,2212,2213,2215,2217,2219,2221,2223,2225,2227],{"class":884,"line":989},[882,2214,1375],{"class":1374},[882,2216,1379],{"class":1378},[882,2218,1382],{"class":1374},[882,2220,1057],{"class":1056},[882,2222,1387],{"class":976},[882,2224,1390],{"class":891},[882,2226,1382],{"class":976},[882,2228,1395],{"class":962},[882,2230,2231,2233,2235,2237,2239,2241,2243,2245],{"class":884,"line":995},[882,2232,1375],{"class":1374},[882,2234,1402],{"class":1378},[882,2236,1382],{"class":1374},[882,2238,1057],{"class":1056},[882,2240,1387],{"class":976},[882,2242,1411],{"class":891},[882,2244,1382],{"class":976},[882,2246,1395],{"class":962},[882,2248,2249,2251,2253,2255,2257,2259,2261,2263],{"class":884,"line":1081},[882,2250,1375],{"class":1374},[882,2252,1422],{"class":1378},[882,2254,1382],{"class":1374},[882,2256,1057],{"class":1056},[882,2258,1387],{"class":976},[882,2260,1431],{"class":891},[882,2262,1382],{"class":976},[882,2264,1395],{"class":962},[882,2266,2267,2269,2271,2273,2275,2277,2279,2281],{"class":884,"line":1097},[882,2268,1375],{"class":1374},[882,2270,1442],{"class":1378},[882,2272,1382],{"class":1374},[882,2274,1057],{"class":1056},[882,2276,1387],{"class":976},[882,2278,1451],{"class":891},[882,2280,1382],{"class":976},[882,2282,1395],{"class":962},[882,2284,2285,2287,2289,2291,2293,2295,2297,2299],{"class":884,"line":1113},[882,2286,1375],{"class":1374},[882,2288,1462],{"class":1378},[882,2290,1382],{"class":1374},[882,2292,1057],{"class":1056},[882,2294,1387],{"class":976},[882,2296,1471],{"class":891},[882,2298,1382],{"class":976},[882,2300,1395],{"class":962},[882,2302,2303,2305,2307,2309,2311,2313,2315,2317],{"class":884,"line":1125},[882,2304,1375],{"class":1374},[882,2306,1482],{"class":1378},[882,2308,1382],{"class":1374},[882,2310,1057],{"class":1056},[882,2312,1387],{"class":976},[882,2314,1491],{"class":891},[882,2316,1382],{"class":976},[882,2318,1395],{"class":962},[882,2320,2321,2323,2325,2327,2329,2331,2333,2335],{"class":884,"line":1137},[882,2322,1375],{"class":1374},[882,2324,1502],{"class":1378},[882,2326,1382],{"class":1374},[882,2328,1057],{"class":1056},[882,2330,1387],{"class":976},[882,2332,1511],{"class":891},[882,2334,1382],{"class":976},[882,2336,1395],{"class":962},[882,2338,2339,2341,2343,2345,2347,2349,2351,2353],{"class":884,"line":1153},[882,2340,1375],{"class":1374},[882,2342,1522],{"class":1378},[882,2344,1382],{"class":1374},[882,2346,1057],{"class":1056},[882,2348,1387],{"class":976},[882,2350,1531],{"class":891},[882,2352,1382],{"class":976},[882,2354,1395],{"class":962},[882,2356,2357,2359,2361,2363,2365,2367,2369,2371],{"class":884,"line":1165},[882,2358,1375],{"class":1374},[882,2360,1542],{"class":1378},[882,2362,1382],{"class":1374},[882,2364,1057],{"class":1056},[882,2366,1387],{"class":976},[882,2368,1551],{"class":891},[882,2370,1382],{"class":976},[882,2372,1395],{"class":962},[882,2374,2375,2377,2379,2381,2383,2385,2387,2389],{"class":884,"line":1177},[882,2376,1375],{"class":1374},[882,2378,1562],{"class":1378},[882,2380,1382],{"class":1374},[882,2382,1057],{"class":1056},[882,2384,1387],{"class":976},[882,2386,1571],{"class":891},[882,2388,1382],{"class":976},[882,2390,1395],{"class":962},[882,2392,2393,2395,2397,2399,2401,2403,2405,2407],{"class":884,"line":1189},[882,2394,1375],{"class":1374},[882,2396,1582],{"class":1378},[882,2398,1382],{"class":1374},[882,2400,1057],{"class":1056},[882,2402,1387],{"class":976},[882,2404,1551],{"class":891},[882,2406,1382],{"class":976},[882,2408,1395],{"class":962},[882,2410,2411,2413,2415,2417,2419,2421,2423,2425],{"class":884,"line":1201},[882,2412,1375],{"class":1374},[882,2414,1601],{"class":1378},[882,2416,1382],{"class":1374},[882,2418,1057],{"class":1056},[882,2420,1387],{"class":976},[882,2422,1610],{"class":891},[882,2424,1382],{"class":976},[882,2426,1395],{"class":962},[882,2428,2429,2431,2433,2435,2437,2439,2441,2443],{"class":884,"line":1216},[882,2430,1375],{"class":1374},[882,2432,1621],{"class":1378},[882,2434,1382],{"class":1374},[882,2436,1057],{"class":1056},[882,2438,1387],{"class":976},[882,2440,1630],{"class":891},[882,2442,1382],{"class":976},[882,2444,1395],{"class":962},[882,2446,2447,2449,2451,2453,2455,2457,2459,2461],{"class":884,"line":1228},[882,2448,1375],{"class":1374},[882,2450,1641],{"class":1378},[882,2452,1382],{"class":1374},[882,2454,1057],{"class":1056},[882,2456,1387],{"class":976},[882,2458,1650],{"class":891},[882,2460,1382],{"class":976},[882,2462,1395],{"class":962},[882,2464,2465,2467,2469,2471,2473,2475,2477,2479],{"class":884,"line":1243},[882,2466,1375],{"class":1374},[882,2468,1661],{"class":1378},[882,2470,1382],{"class":1374},[882,2472,1057],{"class":1056},[882,2474,1387],{"class":976},[882,2476,1670],{"class":891},[882,2478,1382],{"class":976},[882,2480,1395],{"class":962},[882,2482,2483,2485,2487,2489,2491,2493,2495,2497],{"class":884,"line":1255},[882,2484,1375],{"class":1374},[882,2486,1681],{"class":1378},[882,2488,1382],{"class":1374},[882,2490,1057],{"class":1056},[882,2492,1387],{"class":976},[882,2494,1690],{"class":891},[882,2496,1382],{"class":976},[882,2498,1395],{"class":962},[882,2500,2501,2503,2505,2507,2509,2511,2513,2515],{"class":884,"line":1267},[882,2502,1375],{"class":1374},[882,2504,1701],{"class":1378},[882,2506,1382],{"class":1374},[882,2508,1057],{"class":1056},[882,2510,1387],{"class":976},[882,2512,1710],{"class":891},[882,2514,1382],{"class":976},[882,2516,1395],{"class":962},[882,2518,2519,2521,2523,2525,2527,2529,2531,2533],{"class":884,"line":1283},[882,2520,1375],{"class":1374},[882,2522,1721],{"class":1378},[882,2524,1382],{"class":1374},[882,2526,1057],{"class":1056},[882,2528,1387],{"class":976},[882,2530,1730],{"class":891},[882,2532,1382],{"class":976},[882,2534,1395],{"class":962},[882,2536,2537,2539,2541,2543,2545,2547,2549,2551],{"class":884,"line":1299},[882,2538,1375],{"class":1374},[882,2540,1741],{"class":1378},[882,2542,1382],{"class":1374},[882,2544,1057],{"class":1056},[882,2546,1387],{"class":976},[882,2548,1750],{"class":891},[882,2550,1382],{"class":976},[882,2552,1395],{"class":962},[882,2554,2555,2557,2559,2561,2563,2565,2567],{"class":884,"line":1311},[882,2556,1375],{"class":1374},[882,2558,1761],{"class":1378},[882,2560,1382],{"class":1374},[882,2562,1057],{"class":1056},[882,2564,1387],{"class":976},[882,2566,1770],{"class":891},[882,2568,1773],{"class":976},[882,2570,2571],{"class":884,"line":1323},[882,2572,1326],{"class":962},[1779,2574,2575],{},[821,2576,1783,2577,1787],{},[850,2578,1786],{"href":92},[1789,2580,1791],{},{"title":878,"searchDepth":989,"depth":989,"links":2582},[2583,2584,2585,2586],{"id":841,"depth":989,"text":81},{"id":866,"depth":989,"text":867},{"id":1029,"depth":989,"text":1030},{"id":1331,"depth":989,"text":1332},{},{"title":95,"description":1798},1780436288348]