[{"data":1,"prerenderedAt":7475},["ShallowReactive",2],{"navLinks":3,"sidebar_docs_navigation_\u002Fdocs\u002Fshield-base":64,"navigation":138,"navLinks_footer":802,"\u002Fdocs\u002Fshield-base\u002Ftypes_page":815,"\u002Fdocs\u002Fshield-base\u002Ftypes_surround":4364,"\u002Fdocs\u002Fshield-base\u002Ftypes":4367},{"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":131,"body":817,"description":4356,"extension":4357,"icon":4358,"meta":4359,"module":4360,"navigation":8,"path":132,"rawbody":4361,"seo":4362,"stem":133,"__hash__":4363},"docs\u002Fdocs\u002Fshield-base\u002F05.types.md",{"type":818,"value":819,"toc":4337},"minimark",[820,828,831,836,843,847,1417,1430,1436,1463,1466,1469,1673,1680,1862,1864,1868,1871,2081,2083,2086,2413,2415,2418,2664,2666,2669,2749,2751,2754,3060,3062,3065,3130,3132,3135,3309,3311,3315,3661,3663,3667,3743,3745,3749,4200,4202,4206,4326,4333],[821,822,823,827],"p",{},[824,825,826],"code",{},"@riavzon\u002Fshield-base"," ships fully typed interfaces for every built-in data source and the compiler system. All types are exported from the main package entry point.",[829,830],"hr",{},[832,833,835],"h2",{"id":834},"generating-types-from-json","Generating Types from JSON",[821,837,838,839,842],{},"Shield Base can generate TypeScript type definitions from any JSON input. The output is a ",[824,840,841],{},".ts"," file with interfaces that reflect the full structure of the data, including nested objects, arrays, and mixed types.",[844,845,297],"h3",{"id":846},"cli",[848,849,850,979,1051,1118,1185],"code-group",{},[851,852,858],"pre",{"className":853,"code":854,"filename":855,"language":856,"meta":857,"style":857},"language-bash shiki shiki-themes light-plus light-plus dracula","# Generate from a JSON file\npnpm dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\n\n# Generate from a raw JSON string\npnpm dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\n\n# Batch: multiple files generate indexed type files\npnpm dlx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n","pnpm","bash","",[824,859,860,869,901,907,913,942,947,953],{"__ignoreMap":857},[861,862,865],"span",{"class":863,"line":864},"line",1,[861,866,868],{"class":867},"sghk6","# Generate from a JSON file\n",[861,870,872,875,879,882,885,889,892,895,898],{"class":863,"line":871},2,[861,873,855],{"class":874},"sHOzp",[861,876,878],{"class":877},"sFB1V"," dlx",[861,880,881],{"class":877}," @riavzon\u002Fshield-base",[861,883,884],{"class":877}," types",[861,886,888],{"class":887},"sjR7W"," --name",[861,890,891],{"class":877}," myData",[861,893,894],{"class":887}," --outputDir",[861,896,897],{"class":877}," .\u002Fsrc\u002Ftypes",[861,899,900],{"class":877}," data.json\n",[861,902,904],{"class":863,"line":903},3,[861,905,906],{"emptyLinePlaceholder":8},"\n",[861,908,910],{"class":863,"line":909},4,[861,911,912],{"class":867},"# Generate from a raw JSON string\n",[861,914,916,918,920,922,924,926,928,930,932,936,939],{"class":863,"line":915},5,[861,917,855],{"class":874},[861,919,878],{"class":877},[861,921,881],{"class":877},[861,923,884],{"class":877},[861,925,888],{"class":887},[861,927,891],{"class":877},[861,929,894],{"class":887},[861,931,897],{"class":877},[861,933,935],{"class":934},"sFkSl"," '",[861,937,938],{"class":877},"{\"key\": \"value\", \"count\": 1}",[861,940,941],{"class":934},"'\n",[861,943,945],{"class":863,"line":944},6,[861,946,906],{"emptyLinePlaceholder":8},[861,948,950],{"class":863,"line":949},7,[861,951,952],{"class":867},"# Batch: multiple files generate indexed type files\n",[861,954,956,958,960,962,964,966,969,971,973,976],{"class":863,"line":955},8,[861,957,855],{"class":874},[861,959,878],{"class":877},[861,961,881],{"class":877},[861,963,884],{"class":877},[861,965,888],{"class":887},[861,967,968],{"class":877}," batchTypes",[861,970,894],{"class":887},[861,972,897],{"class":877},[861,974,975],{"class":877}," file1.json",[861,977,978],{"class":877}," file2.json\n",[851,980,983],{"className":853,"code":981,"filename":982,"language":856,"meta":857,"style":857},"yarn dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nyarn dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nyarn dlx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n","yarn",[824,984,985,1005,1029],{"__ignoreMap":857},[861,986,987,989,991,993,995,997,999,1001,1003],{"class":863,"line":864},[861,988,982],{"class":874},[861,990,878],{"class":877},[861,992,881],{"class":877},[861,994,884],{"class":877},[861,996,888],{"class":887},[861,998,891],{"class":877},[861,1000,894],{"class":887},[861,1002,897],{"class":877},[861,1004,900],{"class":877},[861,1006,1007,1009,1011,1013,1015,1017,1019,1021,1023,1025,1027],{"class":863,"line":871},[861,1008,982],{"class":874},[861,1010,878],{"class":877},[861,1012,881],{"class":877},[861,1014,884],{"class":877},[861,1016,888],{"class":887},[861,1018,891],{"class":877},[861,1020,894],{"class":887},[861,1022,897],{"class":877},[861,1024,935],{"class":934},[861,1026,938],{"class":877},[861,1028,941],{"class":934},[861,1030,1031,1033,1035,1037,1039,1041,1043,1045,1047,1049],{"class":863,"line":903},[861,1032,982],{"class":874},[861,1034,878],{"class":877},[861,1036,881],{"class":877},[861,1038,884],{"class":877},[861,1040,888],{"class":887},[861,1042,968],{"class":877},[861,1044,894],{"class":887},[861,1046,897],{"class":877},[861,1048,975],{"class":877},[861,1050,978],{"class":877},[851,1052,1055],{"className":853,"code":1053,"filename":1054,"language":856,"meta":857,"style":857},"npx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nnpx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nnpx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n","npm",[824,1056,1057,1076,1098],{"__ignoreMap":857},[861,1058,1059,1062,1064,1066,1068,1070,1072,1074],{"class":863,"line":864},[861,1060,1061],{"class":874},"npx",[861,1063,881],{"class":877},[861,1065,884],{"class":877},[861,1067,888],{"class":887},[861,1069,891],{"class":877},[861,1071,894],{"class":887},[861,1073,897],{"class":877},[861,1075,900],{"class":877},[861,1077,1078,1080,1082,1084,1086,1088,1090,1092,1094,1096],{"class":863,"line":871},[861,1079,1061],{"class":874},[861,1081,881],{"class":877},[861,1083,884],{"class":877},[861,1085,888],{"class":887},[861,1087,891],{"class":877},[861,1089,894],{"class":887},[861,1091,897],{"class":877},[861,1093,935],{"class":934},[861,1095,938],{"class":877},[861,1097,941],{"class":934},[861,1099,1100,1102,1104,1106,1108,1110,1112,1114,1116],{"class":863,"line":903},[861,1101,1061],{"class":874},[861,1103,881],{"class":877},[861,1105,884],{"class":877},[861,1107,888],{"class":887},[861,1109,968],{"class":877},[861,1111,894],{"class":887},[861,1113,897],{"class":877},[861,1115,975],{"class":877},[861,1117,978],{"class":877},[851,1119,1122],{"className":853,"code":1120,"filename":1121,"language":856,"meta":857,"style":857},"bunx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nbunx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nbunx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n","bun",[824,1123,1124,1143,1165],{"__ignoreMap":857},[861,1125,1126,1129,1131,1133,1135,1137,1139,1141],{"class":863,"line":864},[861,1127,1128],{"class":874},"bunx",[861,1130,881],{"class":877},[861,1132,884],{"class":877},[861,1134,888],{"class":887},[861,1136,891],{"class":877},[861,1138,894],{"class":887},[861,1140,897],{"class":877},[861,1142,900],{"class":877},[861,1144,1145,1147,1149,1151,1153,1155,1157,1159,1161,1163],{"class":863,"line":871},[861,1146,1128],{"class":874},[861,1148,881],{"class":877},[861,1150,884],{"class":877},[861,1152,888],{"class":887},[861,1154,891],{"class":877},[861,1156,894],{"class":887},[861,1158,897],{"class":877},[861,1160,935],{"class":934},[861,1162,938],{"class":877},[861,1164,941],{"class":934},[861,1166,1167,1169,1171,1173,1175,1177,1179,1181,1183],{"class":863,"line":903},[861,1168,1128],{"class":874},[861,1170,881],{"class":877},[861,1172,884],{"class":877},[861,1174,888],{"class":887},[861,1176,968],{"class":877},[861,1178,894],{"class":887},[861,1180,897],{"class":877},[861,1182,975],{"class":877},[861,1184,978],{"class":877},[851,1186,1191],{"className":1187,"code":1188,"filename":1189,"language":1190,"meta":857,"style":857},"language-ts shiki shiki-themes light-plus light-plus dracula","import { generateTypeFile } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F From a file path string\ngenerateTypeFile('.\u002Fdata.json', 'myData', '.\u002Fsrc\u002Ftypes');\n\n\u002F\u002F From a raw JSON string\ngenerateTypeFile('{\"id\": 1, \"value\": \"example\"}', 'myData', '.\u002Fsrc\u002Ftypes');\n\n\u002F\u002F From a JavaScript object in memory\nconst data = { id: 1, value: 'example', tags: ['a', 'b'] };\ngenerateTypeFile(data, 'myData', '.\u002Fsrc\u002Ftypes');\n","Programmatic","ts",[824,1192,1193,1223,1227,1232,1268,1272,1277,1308,1312,1318,1389],{"__ignoreMap":857},[861,1194,1195,1199,1203,1207,1210,1213,1215,1217,1220],{"class":863,"line":864},[861,1196,1198],{"class":1197},"sZ328","import",[861,1200,1202],{"class":1201},"sDd4n"," { ",[861,1204,1206],{"class":1205},"sjsA6","generateTypeFile",[861,1208,1209],{"class":1201}," } ",[861,1211,1212],{"class":1197},"from",[861,1214,935],{"class":934},[861,1216,826],{"class":877},[861,1218,1219],{"class":934},"'",[861,1221,1222],{"class":1201},";\n",[861,1224,1225],{"class":863,"line":871},[861,1226,906],{"emptyLinePlaceholder":8},[861,1228,1229],{"class":863,"line":903},[861,1230,1231],{"class":867},"\u002F\u002F From a file path string\n",[861,1233,1234,1236,1239,1241,1244,1246,1249,1251,1254,1256,1258,1260,1263,1265],{"class":863,"line":909},[861,1235,1206],{"class":874},[861,1237,1238],{"class":1201},"(",[861,1240,1219],{"class":934},[861,1242,1243],{"class":877},".\u002Fdata.json",[861,1245,1219],{"class":934},[861,1247,1248],{"class":1201},", ",[861,1250,1219],{"class":934},[861,1252,1253],{"class":877},"myData",[861,1255,1219],{"class":934},[861,1257,1248],{"class":1201},[861,1259,1219],{"class":934},[861,1261,1262],{"class":877},".\u002Fsrc\u002Ftypes",[861,1264,1219],{"class":934},[861,1266,1267],{"class":1201},");\n",[861,1269,1270],{"class":863,"line":915},[861,1271,906],{"emptyLinePlaceholder":8},[861,1273,1274],{"class":863,"line":944},[861,1275,1276],{"class":867},"\u002F\u002F From a raw JSON string\n",[861,1278,1279,1281,1283,1285,1288,1290,1292,1294,1296,1298,1300,1302,1304,1306],{"class":863,"line":949},[861,1280,1206],{"class":874},[861,1282,1238],{"class":1201},[861,1284,1219],{"class":934},[861,1286,1287],{"class":877},"{\"id\": 1, \"value\": \"example\"}",[861,1289,1219],{"class":934},[861,1291,1248],{"class":1201},[861,1293,1219],{"class":934},[861,1295,1253],{"class":877},[861,1297,1219],{"class":934},[861,1299,1248],{"class":1201},[861,1301,1219],{"class":934},[861,1303,1262],{"class":877},[861,1305,1219],{"class":934},[861,1307,1267],{"class":1201},[861,1309,1310],{"class":863,"line":955},[861,1311,906],{"emptyLinePlaceholder":8},[861,1313,1315],{"class":863,"line":1314},9,[861,1316,1317],{"class":867},"\u002F\u002F From a JavaScript object in memory\n",[861,1319,1321,1325,1329,1333,1335,1338,1342,1346,1348,1351,1353,1355,1358,1360,1362,1365,1367,1370,1372,1375,1377,1379,1381,1384,1386],{"class":863,"line":1320},10,[861,1322,1324],{"class":1323},"sl46w","const",[861,1326,1328],{"class":1327},"s3JHE"," data",[861,1330,1332],{"class":1331},"saOXh"," =",[861,1334,1202],{"class":1201},[861,1336,1337],{"class":1205},"id",[861,1339,1341],{"class":1340},"s34zl",":",[861,1343,1345],{"class":1344},"spgvN"," 1",[861,1347,1248],{"class":1201},[861,1349,1350],{"class":1205},"value",[861,1352,1341],{"class":1340},[861,1354,935],{"class":934},[861,1356,1357],{"class":877},"example",[861,1359,1219],{"class":934},[861,1361,1248],{"class":1201},[861,1363,1364],{"class":1205},"tags",[861,1366,1341],{"class":1340},[861,1368,1369],{"class":1201}," [",[861,1371,1219],{"class":934},[861,1373,1374],{"class":877},"a",[861,1376,1219],{"class":934},[861,1378,1248],{"class":1201},[861,1380,1219],{"class":934},[861,1382,1383],{"class":877},"b",[861,1385,1219],{"class":934},[861,1387,1388],{"class":1201},"] };\n",[861,1390,1392,1394,1396,1399,1401,1403,1405,1407,1409,1411,1413,1415],{"class":863,"line":1391},11,[861,1393,1206],{"class":874},[861,1395,1238],{"class":1201},[861,1397,1398],{"class":1205},"data",[861,1400,1248],{"class":1201},[861,1402,1219],{"class":934},[861,1404,1253],{"class":877},[861,1406,1219],{"class":934},[861,1408,1248],{"class":1201},[861,1410,1219],{"class":934},[861,1412,1262],{"class":877},[861,1414,1219],{"class":934},[861,1416,1267],{"class":1201},[821,1418,1419,1420,1248,1423,1248,1426,1429],{},"Batch processing produces: ",[824,1421,1422],{},"batchTypesTypes.ts",[824,1424,1425],{},"batchTypes-1Types.ts",[824,1427,1428],{},"batchTypes-2Types.ts",", and so on.",[821,1431,1432,1433,1435],{},"The ",[824,1434,1206],{}," utility accepts three input formats:",[1437,1438,1439,1451,1457],"ul",{},[1440,1441,1442,1446,1447,1450],"li",{},[1443,1444,1445],"strong",{},"File path",": A string path to a ",[824,1448,1449],{},".json"," file.",[1440,1452,1453,1456],{},[1443,1454,1455],{},"JSON string",": A raw stringified JSON.",[1440,1458,1459,1462],{},[1443,1460,1461],{},"Object",": A standard JavaScript object or array already in memory.",[844,1464,1465],{"id":1357},"Example",[821,1467,1468],{},"Given the input data:",[851,1470,1474],{"className":1471,"code":1472,"filename":1473,"language":5,"meta":857,"style":857},"language-json shiki shiki-themes light-plus light-plus dracula","[\n  {\n    \"range\": \"1.1.1.0\u002F24\",\n    \"metadata\": {\n      \"version\": \"1.0.0\",\n      \"tags\": [\"dns\", \"secure\"]\n    },\n    \"organization\": {\n      \"name\": \"Cloudflare, Inc.\",\n      \"details\": { \"employees\": 3000, \"is_public\": true }\n    }\n  }\n]\n","example.json",[824,1475,1476,1481,1486,1511,1525,1546,1577,1582,1595,1615,1657,1662,1668],{"__ignoreMap":857},[861,1477,1478],{"class":863,"line":864},[861,1479,1480],{"class":1201},"[\n",[861,1482,1483],{"class":863,"line":871},[861,1484,1485],{"class":1201},"  {\n",[861,1487,1488,1492,1495,1498,1500,1503,1506,1508],{"class":863,"line":903},[861,1489,1491],{"class":1490},"saJyd","    \"",[861,1493,741],{"class":1494},"s_W10",[861,1496,1497],{"class":1490},"\"",[861,1499,1341],{"class":1331},[861,1501,1502],{"class":934}," \"",[861,1504,1505],{"class":877},"1.1.1.0\u002F24",[861,1507,1497],{"class":934},[861,1509,1510],{"class":1201},",\n",[861,1512,1513,1515,1518,1520,1522],{"class":863,"line":909},[861,1514,1491],{"class":1490},[861,1516,1517],{"class":1494},"metadata",[861,1519,1497],{"class":1490},[861,1521,1341],{"class":1331},[861,1523,1524],{"class":1201}," {\n",[861,1526,1527,1530,1533,1535,1537,1539,1542,1544],{"class":863,"line":915},[861,1528,1529],{"class":1490},"      \"",[861,1531,1532],{"class":1494},"version",[861,1534,1497],{"class":1490},[861,1536,1341],{"class":1331},[861,1538,1502],{"class":934},[861,1540,1541],{"class":877},"1.0.0",[861,1543,1497],{"class":934},[861,1545,1510],{"class":1201},[861,1547,1548,1550,1552,1554,1556,1558,1560,1563,1565,1567,1569,1572,1574],{"class":863,"line":944},[861,1549,1529],{"class":1490},[861,1551,1364],{"class":1494},[861,1553,1497],{"class":1490},[861,1555,1341],{"class":1331},[861,1557,1369],{"class":1201},[861,1559,1497],{"class":934},[861,1561,1562],{"class":877},"dns",[861,1564,1497],{"class":934},[861,1566,1248],{"class":1201},[861,1568,1497],{"class":934},[861,1570,1571],{"class":877},"secure",[861,1573,1497],{"class":934},[861,1575,1576],{"class":1201},"]\n",[861,1578,1579],{"class":863,"line":949},[861,1580,1581],{"class":1201},"    },\n",[861,1583,1584,1586,1589,1591,1593],{"class":863,"line":955},[861,1585,1491],{"class":1490},[861,1587,1588],{"class":1494},"organization",[861,1590,1497],{"class":1490},[861,1592,1341],{"class":1331},[861,1594,1524],{"class":1201},[861,1596,1597,1599,1602,1604,1606,1608,1611,1613],{"class":863,"line":1314},[861,1598,1529],{"class":1490},[861,1600,1601],{"class":1494},"name",[861,1603,1497],{"class":1490},[861,1605,1341],{"class":1331},[861,1607,1502],{"class":934},[861,1609,1610],{"class":877},"Cloudflare, Inc.",[861,1612,1497],{"class":934},[861,1614,1510],{"class":1201},[861,1616,1617,1619,1622,1624,1626,1628,1630,1633,1635,1637,1640,1642,1644,1647,1649,1651,1654],{"class":863,"line":1320},[861,1618,1529],{"class":1490},[861,1620,1621],{"class":1494},"details",[861,1623,1497],{"class":1490},[861,1625,1341],{"class":1331},[861,1627,1202],{"class":1201},[861,1629,1497],{"class":1490},[861,1631,1632],{"class":1494},"employees",[861,1634,1497],{"class":1490},[861,1636,1341],{"class":1331},[861,1638,1639],{"class":1344}," 3000",[861,1641,1248],{"class":1201},[861,1643,1497],{"class":1490},[861,1645,1646],{"class":1494},"is_public",[861,1648,1497],{"class":1490},[861,1650,1341],{"class":1331},[861,1652,1653],{"class":887}," true",[861,1655,1656],{"class":1201}," }\n",[861,1658,1659],{"class":863,"line":1391},[861,1660,1661],{"class":1201},"    }\n",[861,1663,1665],{"class":863,"line":1664},12,[861,1666,1667],{"class":1201},"  }\n",[861,1669,1671],{"class":863,"line":1670},13,[861,1672,1576],{"class":1201},[821,1674,1675,1676,1679],{},"The generated ",[824,1677,1678],{},"exampleTypes.ts"," file:",[851,1681,1683],{"className":1187,"code":1682,"filename":1678,"language":1190,"meta":857,"style":857},"interface Example {\n  range: string;\n  metadata: Metadata;\n  organization: Organization;\n}\n\ninterface Organization {\n  name: string;\n  details: Details;\n}\n\ninterface Details {\n  employees: number;\n  is_public: boolean;\n}\n\ninterface Metadata {\n  version: string;\n  tags: string[];\n}\n",[824,1684,1685,1696,1708,1720,1732,1737,1741,1749,1760,1772,1776,1780,1788,1800,1813,1818,1823,1832,1844,1857],{"__ignoreMap":857},[861,1686,1687,1690,1694],{"class":863,"line":864},[861,1688,1689],{"class":1323},"interface",[861,1691,1693],{"class":1692},"sFs1U"," Example",[861,1695,1524],{"class":1201},[861,1697,1698,1701,1703,1706],{"class":863,"line":871},[861,1699,1700],{"class":1205},"  range",[861,1702,1341],{"class":1331},[861,1704,1705],{"class":1692}," string",[861,1707,1222],{"class":1201},[861,1709,1710,1713,1715,1718],{"class":863,"line":903},[861,1711,1712],{"class":1205},"  metadata",[861,1714,1341],{"class":1331},[861,1716,1717],{"class":1692}," Metadata",[861,1719,1222],{"class":1201},[861,1721,1722,1725,1727,1730],{"class":863,"line":909},[861,1723,1724],{"class":1205},"  organization",[861,1726,1341],{"class":1331},[861,1728,1729],{"class":1692}," Organization",[861,1731,1222],{"class":1201},[861,1733,1734],{"class":863,"line":915},[861,1735,1736],{"class":1201},"}\n",[861,1738,1739],{"class":863,"line":944},[861,1740,906],{"emptyLinePlaceholder":8},[861,1742,1743,1745,1747],{"class":863,"line":949},[861,1744,1689],{"class":1323},[861,1746,1729],{"class":1692},[861,1748,1524],{"class":1201},[861,1750,1751,1754,1756,1758],{"class":863,"line":955},[861,1752,1753],{"class":1205},"  name",[861,1755,1341],{"class":1331},[861,1757,1705],{"class":1692},[861,1759,1222],{"class":1201},[861,1761,1762,1765,1767,1770],{"class":863,"line":1314},[861,1763,1764],{"class":1205},"  details",[861,1766,1341],{"class":1331},[861,1768,1769],{"class":1692}," Details",[861,1771,1222],{"class":1201},[861,1773,1774],{"class":863,"line":1320},[861,1775,1736],{"class":1201},[861,1777,1778],{"class":863,"line":1391},[861,1779,906],{"emptyLinePlaceholder":8},[861,1781,1782,1784,1786],{"class":863,"line":1664},[861,1783,1689],{"class":1323},[861,1785,1769],{"class":1692},[861,1787,1524],{"class":1201},[861,1789,1790,1793,1795,1798],{"class":863,"line":1670},[861,1791,1792],{"class":1205},"  employees",[861,1794,1341],{"class":1331},[861,1796,1797],{"class":1692}," number",[861,1799,1222],{"class":1201},[861,1801,1803,1806,1808,1811],{"class":863,"line":1802},14,[861,1804,1805],{"class":1205},"  is_public",[861,1807,1341],{"class":1331},[861,1809,1810],{"class":1692}," boolean",[861,1812,1222],{"class":1201},[861,1814,1816],{"class":863,"line":1815},15,[861,1817,1736],{"class":1201},[861,1819,1821],{"class":863,"line":1820},16,[861,1822,906],{"emptyLinePlaceholder":8},[861,1824,1826,1828,1830],{"class":863,"line":1825},17,[861,1827,1689],{"class":1323},[861,1829,1717],{"class":1692},[861,1831,1524],{"class":1201},[861,1833,1835,1838,1840,1842],{"class":863,"line":1834},18,[861,1836,1837],{"class":1205},"  version",[861,1839,1341],{"class":1331},[861,1841,1705],{"class":1692},[861,1843,1222],{"class":1201},[861,1845,1847,1850,1852,1854],{"class":863,"line":1846},19,[861,1848,1849],{"class":1205},"  tags",[861,1851,1341],{"class":1331},[861,1853,1705],{"class":1692},[861,1855,1856],{"class":1201},"[];\n",[861,1858,1860],{"class":863,"line":1859},20,[861,1861,1736],{"class":1201},[829,1863],{},[832,1865,1867],{"id":1866},"built-in-source-types","Built-in Source Types",[844,1869,87],{"id":1870},"bgp-asn",[851,1872,1874],{"className":1187,"code":1873,"language":1190,"meta":857,"style":857},"import type { BgpRecord, BGPRouteRaw, AsnDictionaryEntry } from '@riavzon\u002Fshield-base';\n\ninterface BgpRecord {\n  range: string;\n  asn_id: string;         \u002F\u002F e.g. \"15169\"\n  asn_name: string;       \u002F\u002F e.g. \"Google LLC\"\n  classification: string; \u002F\u002F \"Content\" | \"Eyeballs\" | \"Unknown\"\n  hits: string;\n}\n\ninterface BGPRouteRaw {\n  CIDR: string;\n  ASN: number;\n  Hits: number;\n}\n\ninterface AsnDictionaryEntry {\n  name: string;\n  type: string;\n}\n",[824,1875,1876,1910,1914,1923,1933,1948,1963,1978,1989,1993,1997,2006,2017,2028,2039,2043,2047,2056,2066,2077],{"__ignoreMap":857},[861,1877,1878,1880,1883,1885,1888,1890,1893,1895,1898,1900,1902,1904,1906,1908],{"class":863,"line":864},[861,1879,1198],{"class":1197},[861,1881,1882],{"class":1197}," type",[861,1884,1202],{"class":1201},[861,1886,1887],{"class":1205},"BgpRecord",[861,1889,1248],{"class":1201},[861,1891,1892],{"class":1205},"BGPRouteRaw",[861,1894,1248],{"class":1201},[861,1896,1897],{"class":1205},"AsnDictionaryEntry",[861,1899,1209],{"class":1201},[861,1901,1212],{"class":1197},[861,1903,935],{"class":934},[861,1905,826],{"class":877},[861,1907,1219],{"class":934},[861,1909,1222],{"class":1201},[861,1911,1912],{"class":863,"line":871},[861,1913,906],{"emptyLinePlaceholder":8},[861,1915,1916,1918,1921],{"class":863,"line":903},[861,1917,1689],{"class":1323},[861,1919,1920],{"class":1692}," BgpRecord",[861,1922,1524],{"class":1201},[861,1924,1925,1927,1929,1931],{"class":863,"line":909},[861,1926,1700],{"class":1205},[861,1928,1341],{"class":1331},[861,1930,1705],{"class":1692},[861,1932,1222],{"class":1201},[861,1934,1935,1938,1940,1942,1945],{"class":863,"line":915},[861,1936,1937],{"class":1205},"  asn_id",[861,1939,1341],{"class":1331},[861,1941,1705],{"class":1692},[861,1943,1944],{"class":1201},";         ",[861,1946,1947],{"class":867},"\u002F\u002F e.g. \"15169\"\n",[861,1949,1950,1953,1955,1957,1960],{"class":863,"line":944},[861,1951,1952],{"class":1205},"  asn_name",[861,1954,1341],{"class":1331},[861,1956,1705],{"class":1692},[861,1958,1959],{"class":1201},";       ",[861,1961,1962],{"class":867},"\u002F\u002F e.g. \"Google LLC\"\n",[861,1964,1965,1968,1970,1972,1975],{"class":863,"line":949},[861,1966,1967],{"class":1205},"  classification",[861,1969,1341],{"class":1331},[861,1971,1705],{"class":1692},[861,1973,1974],{"class":1201},"; ",[861,1976,1977],{"class":867},"\u002F\u002F \"Content\" | \"Eyeballs\" | \"Unknown\"\n",[861,1979,1980,1983,1985,1987],{"class":863,"line":955},[861,1981,1982],{"class":1205},"  hits",[861,1984,1341],{"class":1331},[861,1986,1705],{"class":1692},[861,1988,1222],{"class":1201},[861,1990,1991],{"class":863,"line":1314},[861,1992,1736],{"class":1201},[861,1994,1995],{"class":863,"line":1320},[861,1996,906],{"emptyLinePlaceholder":8},[861,1998,1999,2001,2004],{"class":863,"line":1391},[861,2000,1689],{"class":1323},[861,2002,2003],{"class":1692}," BGPRouteRaw",[861,2005,1524],{"class":1201},[861,2007,2008,2011,2013,2015],{"class":863,"line":1664},[861,2009,2010],{"class":1205},"  CIDR",[861,2012,1341],{"class":1331},[861,2014,1705],{"class":1692},[861,2016,1222],{"class":1201},[861,2018,2019,2022,2024,2026],{"class":863,"line":1670},[861,2020,2021],{"class":1205},"  ASN",[861,2023,1341],{"class":1331},[861,2025,1797],{"class":1692},[861,2027,1222],{"class":1201},[861,2029,2030,2033,2035,2037],{"class":863,"line":1802},[861,2031,2032],{"class":1205},"  Hits",[861,2034,1341],{"class":1331},[861,2036,1797],{"class":1692},[861,2038,1222],{"class":1201},[861,2040,2041],{"class":863,"line":1815},[861,2042,1736],{"class":1201},[861,2044,2045],{"class":863,"line":1820},[861,2046,906],{"emptyLinePlaceholder":8},[861,2048,2049,2051,2054],{"class":863,"line":1825},[861,2050,1689],{"class":1323},[861,2052,2053],{"class":1692}," AsnDictionaryEntry",[861,2055,1524],{"class":1201},[861,2057,2058,2060,2062,2064],{"class":863,"line":1834},[861,2059,1753],{"class":1205},[861,2061,1341],{"class":1331},[861,2063,1705],{"class":1692},[861,2065,1222],{"class":1201},[861,2067,2068,2071,2073,2075],{"class":863,"line":1846},[861,2069,2070],{"class":1205},"  type",[861,2072,1341],{"class":1331},[861,2074,1705],{"class":1692},[861,2076,1222],{"class":1201},[861,2078,2079],{"class":863,"line":1859},[861,2080,1736],{"class":1201},[829,2082],{},[844,2084,91],{"id":2085},"city-geolocation",[851,2087,2089],{"className":1187,"code":2088,"language":1190,"meta":857,"style":857},"import type { CityGeoRecord } from '@riavzon\u002Fshield-base';\n\ninterface CityGeoRecord {\n  range: string;\n  country_code: string;\n  region: string;\n  city: string;\n  zip_code: string;\n  numericCode: string;\n  latitude: string;\n  longitude: string;\n  state: string;\n  name: string;\n  native: string;\n  phone: string;\n  continent: string;\n  capital: string;\n  currency: string;\n  currency_name: string;\n  iso639: string;\n  languages: string;\n  emoji: string;\n  timezone: string;\n  utc_offset: string;\n  tld: string;\n  nationality: string;\n  subregion: string;\n  timeZoneName: string;\n}\n",[824,2090,2091,2114,2118,2127,2137,2148,2159,2170,2181,2192,2203,2214,2225,2235,2246,2257,2268,2279,2290,2301,2312,2324,2336,2348,2360,2372,2384,2396,2408],{"__ignoreMap":857},[861,2092,2093,2095,2097,2099,2102,2104,2106,2108,2110,2112],{"class":863,"line":864},[861,2094,1198],{"class":1197},[861,2096,1882],{"class":1197},[861,2098,1202],{"class":1201},[861,2100,2101],{"class":1205},"CityGeoRecord",[861,2103,1209],{"class":1201},[861,2105,1212],{"class":1197},[861,2107,935],{"class":934},[861,2109,826],{"class":877},[861,2111,1219],{"class":934},[861,2113,1222],{"class":1201},[861,2115,2116],{"class":863,"line":871},[861,2117,906],{"emptyLinePlaceholder":8},[861,2119,2120,2122,2125],{"class":863,"line":903},[861,2121,1689],{"class":1323},[861,2123,2124],{"class":1692}," CityGeoRecord",[861,2126,1524],{"class":1201},[861,2128,2129,2131,2133,2135],{"class":863,"line":909},[861,2130,1700],{"class":1205},[861,2132,1341],{"class":1331},[861,2134,1705],{"class":1692},[861,2136,1222],{"class":1201},[861,2138,2139,2142,2144,2146],{"class":863,"line":915},[861,2140,2141],{"class":1205},"  country_code",[861,2143,1341],{"class":1331},[861,2145,1705],{"class":1692},[861,2147,1222],{"class":1201},[861,2149,2150,2153,2155,2157],{"class":863,"line":944},[861,2151,2152],{"class":1205},"  region",[861,2154,1341],{"class":1331},[861,2156,1705],{"class":1692},[861,2158,1222],{"class":1201},[861,2160,2161,2164,2166,2168],{"class":863,"line":949},[861,2162,2163],{"class":1205},"  city",[861,2165,1341],{"class":1331},[861,2167,1705],{"class":1692},[861,2169,1222],{"class":1201},[861,2171,2172,2175,2177,2179],{"class":863,"line":955},[861,2173,2174],{"class":1205},"  zip_code",[861,2176,1341],{"class":1331},[861,2178,1705],{"class":1692},[861,2180,1222],{"class":1201},[861,2182,2183,2186,2188,2190],{"class":863,"line":1314},[861,2184,2185],{"class":1205},"  numericCode",[861,2187,1341],{"class":1331},[861,2189,1705],{"class":1692},[861,2191,1222],{"class":1201},[861,2193,2194,2197,2199,2201],{"class":863,"line":1320},[861,2195,2196],{"class":1205},"  latitude",[861,2198,1341],{"class":1331},[861,2200,1705],{"class":1692},[861,2202,1222],{"class":1201},[861,2204,2205,2208,2210,2212],{"class":863,"line":1391},[861,2206,2207],{"class":1205},"  longitude",[861,2209,1341],{"class":1331},[861,2211,1705],{"class":1692},[861,2213,1222],{"class":1201},[861,2215,2216,2219,2221,2223],{"class":863,"line":1664},[861,2217,2218],{"class":1205},"  state",[861,2220,1341],{"class":1331},[861,2222,1705],{"class":1692},[861,2224,1222],{"class":1201},[861,2226,2227,2229,2231,2233],{"class":863,"line":1670},[861,2228,1753],{"class":1205},[861,2230,1341],{"class":1331},[861,2232,1705],{"class":1692},[861,2234,1222],{"class":1201},[861,2236,2237,2240,2242,2244],{"class":863,"line":1802},[861,2238,2239],{"class":1205},"  native",[861,2241,1341],{"class":1331},[861,2243,1705],{"class":1692},[861,2245,1222],{"class":1201},[861,2247,2248,2251,2253,2255],{"class":863,"line":1815},[861,2249,2250],{"class":1205},"  phone",[861,2252,1341],{"class":1331},[861,2254,1705],{"class":1692},[861,2256,1222],{"class":1201},[861,2258,2259,2262,2264,2266],{"class":863,"line":1820},[861,2260,2261],{"class":1205},"  continent",[861,2263,1341],{"class":1331},[861,2265,1705],{"class":1692},[861,2267,1222],{"class":1201},[861,2269,2270,2273,2275,2277],{"class":863,"line":1825},[861,2271,2272],{"class":1205},"  capital",[861,2274,1341],{"class":1331},[861,2276,1705],{"class":1692},[861,2278,1222],{"class":1201},[861,2280,2281,2284,2286,2288],{"class":863,"line":1834},[861,2282,2283],{"class":1205},"  currency",[861,2285,1341],{"class":1331},[861,2287,1705],{"class":1692},[861,2289,1222],{"class":1201},[861,2291,2292,2295,2297,2299],{"class":863,"line":1846},[861,2293,2294],{"class":1205},"  currency_name",[861,2296,1341],{"class":1331},[861,2298,1705],{"class":1692},[861,2300,1222],{"class":1201},[861,2302,2303,2306,2308,2310],{"class":863,"line":1859},[861,2304,2305],{"class":1205},"  iso639",[861,2307,1341],{"class":1331},[861,2309,1705],{"class":1692},[861,2311,1222],{"class":1201},[861,2313,2315,2318,2320,2322],{"class":863,"line":2314},21,[861,2316,2317],{"class":1205},"  languages",[861,2319,1341],{"class":1331},[861,2321,1705],{"class":1692},[861,2323,1222],{"class":1201},[861,2325,2327,2330,2332,2334],{"class":863,"line":2326},22,[861,2328,2329],{"class":1205},"  emoji",[861,2331,1341],{"class":1331},[861,2333,1705],{"class":1692},[861,2335,1222],{"class":1201},[861,2337,2339,2342,2344,2346],{"class":863,"line":2338},23,[861,2340,2341],{"class":1205},"  timezone",[861,2343,1341],{"class":1331},[861,2345,1705],{"class":1692},[861,2347,1222],{"class":1201},[861,2349,2351,2354,2356,2358],{"class":863,"line":2350},24,[861,2352,2353],{"class":1205},"  utc_offset",[861,2355,1341],{"class":1331},[861,2357,1705],{"class":1692},[861,2359,1222],{"class":1201},[861,2361,2363,2366,2368,2370],{"class":863,"line":2362},25,[861,2364,2365],{"class":1205},"  tld",[861,2367,1341],{"class":1331},[861,2369,1705],{"class":1692},[861,2371,1222],{"class":1201},[861,2373,2375,2378,2380,2382],{"class":863,"line":2374},26,[861,2376,2377],{"class":1205},"  nationality",[861,2379,1341],{"class":1331},[861,2381,1705],{"class":1692},[861,2383,1222],{"class":1201},[861,2385,2387,2390,2392,2394],{"class":863,"line":2386},27,[861,2388,2389],{"class":1205},"  subregion",[861,2391,1341],{"class":1331},[861,2393,1705],{"class":1692},[861,2395,1222],{"class":1201},[861,2397,2399,2402,2404,2406],{"class":863,"line":2398},28,[861,2400,2401],{"class":1205},"  timeZoneName",[861,2403,1341],{"class":1331},[861,2405,1705],{"class":1692},[861,2407,1222],{"class":1201},[861,2409,2411],{"class":863,"line":2410},29,[861,2412,1736],{"class":1201},[829,2414],{},[844,2416,95],{"id":2417},"country-geolocation",[851,2419,2421],{"className":1187,"code":2420,"language":1190,"meta":857,"style":857},"import type { GeoRecord } from '@riavzon\u002Fshield-base';\n\ninterface GeoRecord {\n  range: string;\n  country_code: string;\n  region: string;\n  numericCode: string;\n  name: string;\n  native: string;\n  phone: string;\n  capital: string;\n  currency: string;\n  currency_name: string;\n  currency_symbol: string;\n  iso639: string;\n  languages: string;\n  emoji: string;\n  tld: string;\n  nationality: string;\n  subregion: string;\n  timezone: string;\n  timeZoneName: string;\n  utc_offset: string;\n}\n",[824,2422,2423,2446,2450,2459,2469,2479,2489,2499,2509,2519,2529,2539,2549,2559,2570,2580,2590,2600,2610,2620,2630,2640,2650,2660],{"__ignoreMap":857},[861,2424,2425,2427,2429,2431,2434,2436,2438,2440,2442,2444],{"class":863,"line":864},[861,2426,1198],{"class":1197},[861,2428,1882],{"class":1197},[861,2430,1202],{"class":1201},[861,2432,2433],{"class":1205},"GeoRecord",[861,2435,1209],{"class":1201},[861,2437,1212],{"class":1197},[861,2439,935],{"class":934},[861,2441,826],{"class":877},[861,2443,1219],{"class":934},[861,2445,1222],{"class":1201},[861,2447,2448],{"class":863,"line":871},[861,2449,906],{"emptyLinePlaceholder":8},[861,2451,2452,2454,2457],{"class":863,"line":903},[861,2453,1689],{"class":1323},[861,2455,2456],{"class":1692}," GeoRecord",[861,2458,1524],{"class":1201},[861,2460,2461,2463,2465,2467],{"class":863,"line":909},[861,2462,1700],{"class":1205},[861,2464,1341],{"class":1331},[861,2466,1705],{"class":1692},[861,2468,1222],{"class":1201},[861,2470,2471,2473,2475,2477],{"class":863,"line":915},[861,2472,2141],{"class":1205},[861,2474,1341],{"class":1331},[861,2476,1705],{"class":1692},[861,2478,1222],{"class":1201},[861,2480,2481,2483,2485,2487],{"class":863,"line":944},[861,2482,2152],{"class":1205},[861,2484,1341],{"class":1331},[861,2486,1705],{"class":1692},[861,2488,1222],{"class":1201},[861,2490,2491,2493,2495,2497],{"class":863,"line":949},[861,2492,2185],{"class":1205},[861,2494,1341],{"class":1331},[861,2496,1705],{"class":1692},[861,2498,1222],{"class":1201},[861,2500,2501,2503,2505,2507],{"class":863,"line":955},[861,2502,1753],{"class":1205},[861,2504,1341],{"class":1331},[861,2506,1705],{"class":1692},[861,2508,1222],{"class":1201},[861,2510,2511,2513,2515,2517],{"class":863,"line":1314},[861,2512,2239],{"class":1205},[861,2514,1341],{"class":1331},[861,2516,1705],{"class":1692},[861,2518,1222],{"class":1201},[861,2520,2521,2523,2525,2527],{"class":863,"line":1320},[861,2522,2250],{"class":1205},[861,2524,1341],{"class":1331},[861,2526,1705],{"class":1692},[861,2528,1222],{"class":1201},[861,2530,2531,2533,2535,2537],{"class":863,"line":1391},[861,2532,2272],{"class":1205},[861,2534,1341],{"class":1331},[861,2536,1705],{"class":1692},[861,2538,1222],{"class":1201},[861,2540,2541,2543,2545,2547],{"class":863,"line":1664},[861,2542,2283],{"class":1205},[861,2544,1341],{"class":1331},[861,2546,1705],{"class":1692},[861,2548,1222],{"class":1201},[861,2550,2551,2553,2555,2557],{"class":863,"line":1670},[861,2552,2294],{"class":1205},[861,2554,1341],{"class":1331},[861,2556,1705],{"class":1692},[861,2558,1222],{"class":1201},[861,2560,2561,2564,2566,2568],{"class":863,"line":1802},[861,2562,2563],{"class":1205},"  currency_symbol",[861,2565,1341],{"class":1331},[861,2567,1705],{"class":1692},[861,2569,1222],{"class":1201},[861,2571,2572,2574,2576,2578],{"class":863,"line":1815},[861,2573,2305],{"class":1205},[861,2575,1341],{"class":1331},[861,2577,1705],{"class":1692},[861,2579,1222],{"class":1201},[861,2581,2582,2584,2586,2588],{"class":863,"line":1820},[861,2583,2317],{"class":1205},[861,2585,1341],{"class":1331},[861,2587,1705],{"class":1692},[861,2589,1222],{"class":1201},[861,2591,2592,2594,2596,2598],{"class":863,"line":1825},[861,2593,2329],{"class":1205},[861,2595,1341],{"class":1331},[861,2597,1705],{"class":1692},[861,2599,1222],{"class":1201},[861,2601,2602,2604,2606,2608],{"class":863,"line":1834},[861,2603,2365],{"class":1205},[861,2605,1341],{"class":1331},[861,2607,1705],{"class":1692},[861,2609,1222],{"class":1201},[861,2611,2612,2614,2616,2618],{"class":863,"line":1846},[861,2613,2377],{"class":1205},[861,2615,1341],{"class":1331},[861,2617,1705],{"class":1692},[861,2619,1222],{"class":1201},[861,2621,2622,2624,2626,2628],{"class":863,"line":1859},[861,2623,2389],{"class":1205},[861,2625,1341],{"class":1331},[861,2627,1705],{"class":1692},[861,2629,1222],{"class":1201},[861,2631,2632,2634,2636,2638],{"class":863,"line":2314},[861,2633,2341],{"class":1205},[861,2635,1341],{"class":1331},[861,2637,1705],{"class":1692},[861,2639,1222],{"class":1201},[861,2641,2642,2644,2646,2648],{"class":863,"line":2326},[861,2643,2401],{"class":1205},[861,2645,1341],{"class":1331},[861,2647,1705],{"class":1692},[861,2649,1222],{"class":1201},[861,2651,2652,2654,2656,2658],{"class":863,"line":2338},[861,2653,2353],{"class":1205},[861,2655,1341],{"class":1331},[861,2657,1705],{"class":1692},[861,2659,1222],{"class":1201},[861,2661,2662],{"class":863,"line":2350},[861,2663,1736],{"class":1201},[829,2665],{},[844,2667,111],{"id":2668},"proxy-detection",[851,2670,2672],{"className":1187,"code":2671,"language":1190,"meta":857,"style":857},"import type { ProxyRecord } from '@riavzon\u002Fshield-base';\n\ninterface ProxyRecord {\n  range: string;\n  port: string;\n  comment: string; \u002F\u002F Comma-separated source feed names\n}\n",[824,2673,2674,2697,2701,2710,2720,2731,2745],{"__ignoreMap":857},[861,2675,2676,2678,2680,2682,2685,2687,2689,2691,2693,2695],{"class":863,"line":864},[861,2677,1198],{"class":1197},[861,2679,1882],{"class":1197},[861,2681,1202],{"class":1201},[861,2683,2684],{"class":1205},"ProxyRecord",[861,2686,1209],{"class":1201},[861,2688,1212],{"class":1197},[861,2690,935],{"class":934},[861,2692,826],{"class":877},[861,2694,1219],{"class":934},[861,2696,1222],{"class":1201},[861,2698,2699],{"class":863,"line":871},[861,2700,906],{"emptyLinePlaceholder":8},[861,2702,2703,2705,2708],{"class":863,"line":903},[861,2704,1689],{"class":1323},[861,2706,2707],{"class":1692}," ProxyRecord",[861,2709,1524],{"class":1201},[861,2711,2712,2714,2716,2718],{"class":863,"line":909},[861,2713,1700],{"class":1205},[861,2715,1341],{"class":1331},[861,2717,1705],{"class":1692},[861,2719,1222],{"class":1201},[861,2721,2722,2725,2727,2729],{"class":863,"line":915},[861,2723,2724],{"class":1205},"  port",[861,2726,1341],{"class":1331},[861,2728,1705],{"class":1692},[861,2730,1222],{"class":1201},[861,2732,2733,2736,2738,2740,2742],{"class":863,"line":944},[861,2734,2735],{"class":1205},"  comment",[861,2737,1341],{"class":1331},[861,2739,1705],{"class":1692},[861,2741,1974],{"class":1201},[861,2743,2744],{"class":867},"\u002F\u002F Comma-separated source feed names\n",[861,2746,2747],{"class":863,"line":949},[861,2748,1736],{"class":1201},[829,2750],{},[844,2752,115],{"id":2753},"tor-nodes",[851,2755,2757],{"className":1187,"code":2756,"language":1190,"meta":857,"style":857},"import type { TorRecord } from '@riavzon\u002Fshield-base';\n\ninterface TorRecord {\n  range: string;\n  or_addresses: string;\n  exit_addresses: string;\n  last_seen: string;\n  last_changed_address_or_port: string;\n  first_seen: string;\n  running: boolean;\n  flags: string;                \u002F\u002F e.g. \"Exit,Fast,Guard,Running,Valid\"\n  country: string;\n  country_name: string;\n  as: string;                   \u002F\u002F ASN identifier\n  as_name: string;\n  last_restarted: string;\n  exit_policy: string;\n  exit_policy_summary: string;\n  exit_policy_v6_summary?: string;\n  contact: string;\n  version_status: string;\n  guard_probability: number;\n  middle_probability: number;\n  exit_probability: number;\n  recommended_version: boolean;\n  measured: boolean;\n}\n",[824,2758,2759,2782,2786,2795,2805,2816,2827,2838,2849,2860,2871,2886,2897,2908,2923,2934,2945,2956,2967,2979,2990,3001,3012,3023,3034,3045,3056],{"__ignoreMap":857},[861,2760,2761,2763,2765,2767,2770,2772,2774,2776,2778,2780],{"class":863,"line":864},[861,2762,1198],{"class":1197},[861,2764,1882],{"class":1197},[861,2766,1202],{"class":1201},[861,2768,2769],{"class":1205},"TorRecord",[861,2771,1209],{"class":1201},[861,2773,1212],{"class":1197},[861,2775,935],{"class":934},[861,2777,826],{"class":877},[861,2779,1219],{"class":934},[861,2781,1222],{"class":1201},[861,2783,2784],{"class":863,"line":871},[861,2785,906],{"emptyLinePlaceholder":8},[861,2787,2788,2790,2793],{"class":863,"line":903},[861,2789,1689],{"class":1323},[861,2791,2792],{"class":1692}," TorRecord",[861,2794,1524],{"class":1201},[861,2796,2797,2799,2801,2803],{"class":863,"line":909},[861,2798,1700],{"class":1205},[861,2800,1341],{"class":1331},[861,2802,1705],{"class":1692},[861,2804,1222],{"class":1201},[861,2806,2807,2810,2812,2814],{"class":863,"line":915},[861,2808,2809],{"class":1205},"  or_addresses",[861,2811,1341],{"class":1331},[861,2813,1705],{"class":1692},[861,2815,1222],{"class":1201},[861,2817,2818,2821,2823,2825],{"class":863,"line":944},[861,2819,2820],{"class":1205},"  exit_addresses",[861,2822,1341],{"class":1331},[861,2824,1705],{"class":1692},[861,2826,1222],{"class":1201},[861,2828,2829,2832,2834,2836],{"class":863,"line":949},[861,2830,2831],{"class":1205},"  last_seen",[861,2833,1341],{"class":1331},[861,2835,1705],{"class":1692},[861,2837,1222],{"class":1201},[861,2839,2840,2843,2845,2847],{"class":863,"line":955},[861,2841,2842],{"class":1205},"  last_changed_address_or_port",[861,2844,1341],{"class":1331},[861,2846,1705],{"class":1692},[861,2848,1222],{"class":1201},[861,2850,2851,2854,2856,2858],{"class":863,"line":1314},[861,2852,2853],{"class":1205},"  first_seen",[861,2855,1341],{"class":1331},[861,2857,1705],{"class":1692},[861,2859,1222],{"class":1201},[861,2861,2862,2865,2867,2869],{"class":863,"line":1320},[861,2863,2864],{"class":1205},"  running",[861,2866,1341],{"class":1331},[861,2868,1810],{"class":1692},[861,2870,1222],{"class":1201},[861,2872,2873,2876,2878,2880,2883],{"class":863,"line":1391},[861,2874,2875],{"class":1205},"  flags",[861,2877,1341],{"class":1331},[861,2879,1705],{"class":1692},[861,2881,2882],{"class":1201},";                ",[861,2884,2885],{"class":867},"\u002F\u002F e.g. \"Exit,Fast,Guard,Running,Valid\"\n",[861,2887,2888,2891,2893,2895],{"class":863,"line":1664},[861,2889,2890],{"class":1205},"  country",[861,2892,1341],{"class":1331},[861,2894,1705],{"class":1692},[861,2896,1222],{"class":1201},[861,2898,2899,2902,2904,2906],{"class":863,"line":1670},[861,2900,2901],{"class":1205},"  country_name",[861,2903,1341],{"class":1331},[861,2905,1705],{"class":1692},[861,2907,1222],{"class":1201},[861,2909,2910,2913,2915,2917,2920],{"class":863,"line":1802},[861,2911,2912],{"class":1205},"  as",[861,2914,1341],{"class":1331},[861,2916,1705],{"class":1692},[861,2918,2919],{"class":1201},";                   ",[861,2921,2922],{"class":867},"\u002F\u002F ASN identifier\n",[861,2924,2925,2928,2930,2932],{"class":863,"line":1815},[861,2926,2927],{"class":1205},"  as_name",[861,2929,1341],{"class":1331},[861,2931,1705],{"class":1692},[861,2933,1222],{"class":1201},[861,2935,2936,2939,2941,2943],{"class":863,"line":1820},[861,2937,2938],{"class":1205},"  last_restarted",[861,2940,1341],{"class":1331},[861,2942,1705],{"class":1692},[861,2944,1222],{"class":1201},[861,2946,2947,2950,2952,2954],{"class":863,"line":1825},[861,2948,2949],{"class":1205},"  exit_policy",[861,2951,1341],{"class":1331},[861,2953,1705],{"class":1692},[861,2955,1222],{"class":1201},[861,2957,2958,2961,2963,2965],{"class":863,"line":1834},[861,2959,2960],{"class":1205},"  exit_policy_summary",[861,2962,1341],{"class":1331},[861,2964,1705],{"class":1692},[861,2966,1222],{"class":1201},[861,2968,2969,2972,2975,2977],{"class":863,"line":1846},[861,2970,2971],{"class":1205},"  exit_policy_v6_summary",[861,2973,2974],{"class":1331},"?:",[861,2976,1705],{"class":1692},[861,2978,1222],{"class":1201},[861,2980,2981,2984,2986,2988],{"class":863,"line":1859},[861,2982,2983],{"class":1205},"  contact",[861,2985,1341],{"class":1331},[861,2987,1705],{"class":1692},[861,2989,1222],{"class":1201},[861,2991,2992,2995,2997,2999],{"class":863,"line":2314},[861,2993,2994],{"class":1205},"  version_status",[861,2996,1341],{"class":1331},[861,2998,1705],{"class":1692},[861,3000,1222],{"class":1201},[861,3002,3003,3006,3008,3010],{"class":863,"line":2326},[861,3004,3005],{"class":1205},"  guard_probability",[861,3007,1341],{"class":1331},[861,3009,1797],{"class":1692},[861,3011,1222],{"class":1201},[861,3013,3014,3017,3019,3021],{"class":863,"line":2338},[861,3015,3016],{"class":1205},"  middle_probability",[861,3018,1341],{"class":1331},[861,3020,1797],{"class":1692},[861,3022,1222],{"class":1201},[861,3024,3025,3028,3030,3032],{"class":863,"line":2350},[861,3026,3027],{"class":1205},"  exit_probability",[861,3029,1341],{"class":1331},[861,3031,1797],{"class":1692},[861,3033,1222],{"class":1201},[861,3035,3036,3039,3041,3043],{"class":863,"line":2362},[861,3037,3038],{"class":1205},"  recommended_version",[861,3040,1341],{"class":1331},[861,3042,1810],{"class":1692},[861,3044,1222],{"class":1201},[861,3046,3047,3050,3052,3054],{"class":863,"line":2374},[861,3048,3049],{"class":1205},"  measured",[861,3051,1341],{"class":1331},[861,3053,1810],{"class":1692},[861,3055,1222],{"class":1201},[861,3057,3058],{"class":863,"line":2386},[861,3059,1736],{"class":1201},[829,3061],{},[844,3063,107],{"id":3064},"firehol-threat-intelligence",[851,3066,3068],{"className":1187,"code":3067,"language":1190,"meta":857,"style":857},"import type { ThreatRecord } from '@riavzon\u002Fshield-base';\n\ninterface ThreatRecord {\n  range: string;\n  comment: string;\n}\n",[824,3069,3070,3093,3097,3106,3116,3126],{"__ignoreMap":857},[861,3071,3072,3074,3076,3078,3081,3083,3085,3087,3089,3091],{"class":863,"line":864},[861,3073,1198],{"class":1197},[861,3075,1882],{"class":1197},[861,3077,1202],{"class":1201},[861,3079,3080],{"class":1205},"ThreatRecord",[861,3082,1209],{"class":1201},[861,3084,1212],{"class":1197},[861,3086,935],{"class":934},[861,3088,826],{"class":877},[861,3090,1219],{"class":934},[861,3092,1222],{"class":1201},[861,3094,3095],{"class":863,"line":871},[861,3096,906],{"emptyLinePlaceholder":8},[861,3098,3099,3101,3104],{"class":863,"line":903},[861,3100,1689],{"class":1323},[861,3102,3103],{"class":1692}," ThreatRecord",[861,3105,1524],{"class":1201},[861,3107,3108,3110,3112,3114],{"class":863,"line":909},[861,3109,1700],{"class":1205},[861,3111,1341],{"class":1331},[861,3113,1705],{"class":1692},[861,3115,1222],{"class":1201},[861,3117,3118,3120,3122,3124],{"class":863,"line":915},[861,3119,2735],{"class":1205},[861,3121,1341],{"class":1331},[861,3123,1705],{"class":1692},[861,3125,1222],{"class":1201},[861,3127,3128],{"class":863,"line":944},[861,3129,1736],{"class":1201},[829,3131],{},[844,3133,99],{"id":3134},"verified-crawlers",[851,3136,3138],{"className":1187,"code":3137,"language":1190,"meta":857,"style":857},"import type { CrawlersRecord, ProvidersLists, BotIpData } from '@riavzon\u002Fshield-base';\n\ninterface CrawlersRecord {\n  range: string;\n  provider: string;     \u002F\u002F e.g. \"google\", \"bing\", \"apple\"\n  syncToken: string;\n  creationTime: string;\n}\n\ninterface ProvidersLists {\n  name: string;\n  type: 'HTML' | 'JSON' | 'CSV';\n  urls: string[];\n}\n",[824,3139,3140,3173,3177,3186,3196,3211,3222,3233,3237,3241,3250,3260,3294,3305],{"__ignoreMap":857},[861,3141,3142,3144,3146,3148,3151,3153,3156,3158,3161,3163,3165,3167,3169,3171],{"class":863,"line":864},[861,3143,1198],{"class":1197},[861,3145,1882],{"class":1197},[861,3147,1202],{"class":1201},[861,3149,3150],{"class":1205},"CrawlersRecord",[861,3152,1248],{"class":1201},[861,3154,3155],{"class":1205},"ProvidersLists",[861,3157,1248],{"class":1201},[861,3159,3160],{"class":1205},"BotIpData",[861,3162,1209],{"class":1201},[861,3164,1212],{"class":1197},[861,3166,935],{"class":934},[861,3168,826],{"class":877},[861,3170,1219],{"class":934},[861,3172,1222],{"class":1201},[861,3174,3175],{"class":863,"line":871},[861,3176,906],{"emptyLinePlaceholder":8},[861,3178,3179,3181,3184],{"class":863,"line":903},[861,3180,1689],{"class":1323},[861,3182,3183],{"class":1692}," CrawlersRecord",[861,3185,1524],{"class":1201},[861,3187,3188,3190,3192,3194],{"class":863,"line":909},[861,3189,1700],{"class":1205},[861,3191,1341],{"class":1331},[861,3193,1705],{"class":1692},[861,3195,1222],{"class":1201},[861,3197,3198,3201,3203,3205,3208],{"class":863,"line":915},[861,3199,3200],{"class":1205},"  provider",[861,3202,1341],{"class":1331},[861,3204,1705],{"class":1692},[861,3206,3207],{"class":1201},";     ",[861,3209,3210],{"class":867},"\u002F\u002F e.g. \"google\", \"bing\", \"apple\"\n",[861,3212,3213,3216,3218,3220],{"class":863,"line":944},[861,3214,3215],{"class":1205},"  syncToken",[861,3217,1341],{"class":1331},[861,3219,1705],{"class":1692},[861,3221,1222],{"class":1201},[861,3223,3224,3227,3229,3231],{"class":863,"line":949},[861,3225,3226],{"class":1205},"  creationTime",[861,3228,1341],{"class":1331},[861,3230,1705],{"class":1692},[861,3232,1222],{"class":1201},[861,3234,3235],{"class":863,"line":955},[861,3236,1736],{"class":1201},[861,3238,3239],{"class":863,"line":1314},[861,3240,906],{"emptyLinePlaceholder":8},[861,3242,3243,3245,3248],{"class":863,"line":1320},[861,3244,1689],{"class":1323},[861,3246,3247],{"class":1692}," ProvidersLists",[861,3249,1524],{"class":1201},[861,3251,3252,3254,3256,3258],{"class":863,"line":1391},[861,3253,1753],{"class":1205},[861,3255,1341],{"class":1331},[861,3257,1705],{"class":1692},[861,3259,1222],{"class":1201},[861,3261,3262,3264,3266,3268,3271,3273,3276,3278,3281,3283,3285,3287,3290,3292],{"class":863,"line":1664},[861,3263,2070],{"class":1205},[861,3265,1341],{"class":1331},[861,3267,935],{"class":934},[861,3269,3270],{"class":877},"HTML",[861,3272,1219],{"class":934},[861,3274,3275],{"class":1331}," |",[861,3277,935],{"class":934},[861,3279,3280],{"class":877},"JSON",[861,3282,1219],{"class":934},[861,3284,3275],{"class":1331},[861,3286,935],{"class":934},[861,3288,3289],{"class":877},"CSV",[861,3291,1219],{"class":934},[861,3293,1222],{"class":1201},[861,3295,3296,3299,3301,3303],{"class":863,"line":1670},[861,3297,3298],{"class":1205},"  urls",[861,3300,1341],{"class":1331},[861,3302,1705],{"class":1692},[861,3304,1856],{"class":1201},[861,3306,3307],{"class":863,"line":1802},[861,3308,1736],{"class":1201},[829,3310],{},[844,3312,3314],{"id":3313},"user-agent-patterns","User-Agent Patterns",[851,3316,3318],{"className":1187,"code":3317,"language":1190,"meta":857,"style":857},"import type { UserAgentRecord, Severity } from '@riavzon\u002Fshield-base';\n\ntype Severity = 'none' | 'low' | 'medium' | 'high' | 'critical';\ntype Usage = 'Hunting' | 'Detection rule';\n\ninterface UserAgentRecord {\n  useragent_rx: string;                \u002F\u002F Regex pattern\n  metadata_description: string;\n  metadata_tool: string;\n  metadata_category: string;\n  metadata_link: string;\n  metadata_priority: Severity;\n  metadata_fp_risk: Severity;\n  metadata_severity: Severity;\n  metadata_usage: Usage;\n  metadata_flow_from_external: boolean | null;\n  metadata_flow_from_internal: boolean | null;\n  metadata_flow_to_internal: boolean | null;\n  metadata_flow_to_external: boolean | null;\n  metadata_for_successful_external_login_events: boolean | null;\n  metadata_comment: string;\n  date: string;\n  comment: string;\n}\n",[824,3319,3320,3348,3352,3407,3434,3438,3447,3461,3472,3483,3494,3505,3516,3527,3538,3549,3565,3580,3595,3610,3625,3636,3647,3657],{"__ignoreMap":857},[861,3321,3322,3324,3326,3328,3331,3333,3336,3338,3340,3342,3344,3346],{"class":863,"line":864},[861,3323,1198],{"class":1197},[861,3325,1882],{"class":1197},[861,3327,1202],{"class":1201},[861,3329,3330],{"class":1205},"UserAgentRecord",[861,3332,1248],{"class":1201},[861,3334,3335],{"class":1205},"Severity",[861,3337,1209],{"class":1201},[861,3339,1212],{"class":1197},[861,3341,935],{"class":934},[861,3343,826],{"class":877},[861,3345,1219],{"class":934},[861,3347,1222],{"class":1201},[861,3349,3350],{"class":863,"line":871},[861,3351,906],{"emptyLinePlaceholder":8},[861,3353,3354,3357,3360,3362,3364,3367,3369,3371,3373,3376,3378,3380,3382,3385,3387,3389,3391,3394,3396,3398,3400,3403,3405],{"class":863,"line":903},[861,3355,3356],{"class":1323},"type",[861,3358,3359],{"class":1692}," Severity",[861,3361,1332],{"class":1331},[861,3363,935],{"class":934},[861,3365,3366],{"class":877},"none",[861,3368,1219],{"class":934},[861,3370,3275],{"class":1331},[861,3372,935],{"class":934},[861,3374,3375],{"class":877},"low",[861,3377,1219],{"class":934},[861,3379,3275],{"class":1331},[861,3381,935],{"class":934},[861,3383,3384],{"class":877},"medium",[861,3386,1219],{"class":934},[861,3388,3275],{"class":1331},[861,3390,935],{"class":934},[861,3392,3393],{"class":877},"high",[861,3395,1219],{"class":934},[861,3397,3275],{"class":1331},[861,3399,935],{"class":934},[861,3401,3402],{"class":877},"critical",[861,3404,1219],{"class":934},[861,3406,1222],{"class":1201},[861,3408,3409,3411,3414,3416,3418,3421,3423,3425,3427,3430,3432],{"class":863,"line":909},[861,3410,3356],{"class":1323},[861,3412,3413],{"class":1692}," Usage",[861,3415,1332],{"class":1331},[861,3417,935],{"class":934},[861,3419,3420],{"class":877},"Hunting",[861,3422,1219],{"class":934},[861,3424,3275],{"class":1331},[861,3426,935],{"class":934},[861,3428,3429],{"class":877},"Detection rule",[861,3431,1219],{"class":934},[861,3433,1222],{"class":1201},[861,3435,3436],{"class":863,"line":915},[861,3437,906],{"emptyLinePlaceholder":8},[861,3439,3440,3442,3445],{"class":863,"line":944},[861,3441,1689],{"class":1323},[861,3443,3444],{"class":1692}," UserAgentRecord",[861,3446,1524],{"class":1201},[861,3448,3449,3452,3454,3456,3458],{"class":863,"line":949},[861,3450,3451],{"class":1205},"  useragent_rx",[861,3453,1341],{"class":1331},[861,3455,1705],{"class":1692},[861,3457,2882],{"class":1201},[861,3459,3460],{"class":867},"\u002F\u002F Regex pattern\n",[861,3462,3463,3466,3468,3470],{"class":863,"line":955},[861,3464,3465],{"class":1205},"  metadata_description",[861,3467,1341],{"class":1331},[861,3469,1705],{"class":1692},[861,3471,1222],{"class":1201},[861,3473,3474,3477,3479,3481],{"class":863,"line":1314},[861,3475,3476],{"class":1205},"  metadata_tool",[861,3478,1341],{"class":1331},[861,3480,1705],{"class":1692},[861,3482,1222],{"class":1201},[861,3484,3485,3488,3490,3492],{"class":863,"line":1320},[861,3486,3487],{"class":1205},"  metadata_category",[861,3489,1341],{"class":1331},[861,3491,1705],{"class":1692},[861,3493,1222],{"class":1201},[861,3495,3496,3499,3501,3503],{"class":863,"line":1391},[861,3497,3498],{"class":1205},"  metadata_link",[861,3500,1341],{"class":1331},[861,3502,1705],{"class":1692},[861,3504,1222],{"class":1201},[861,3506,3507,3510,3512,3514],{"class":863,"line":1664},[861,3508,3509],{"class":1205},"  metadata_priority",[861,3511,1341],{"class":1331},[861,3513,3359],{"class":1692},[861,3515,1222],{"class":1201},[861,3517,3518,3521,3523,3525],{"class":863,"line":1670},[861,3519,3520],{"class":1205},"  metadata_fp_risk",[861,3522,1341],{"class":1331},[861,3524,3359],{"class":1692},[861,3526,1222],{"class":1201},[861,3528,3529,3532,3534,3536],{"class":863,"line":1802},[861,3530,3531],{"class":1205},"  metadata_severity",[861,3533,1341],{"class":1331},[861,3535,3359],{"class":1692},[861,3537,1222],{"class":1201},[861,3539,3540,3543,3545,3547],{"class":863,"line":1815},[861,3541,3542],{"class":1205},"  metadata_usage",[861,3544,1341],{"class":1331},[861,3546,3413],{"class":1692},[861,3548,1222],{"class":1201},[861,3550,3551,3554,3556,3558,3560,3563],{"class":863,"line":1820},[861,3552,3553],{"class":1205},"  metadata_flow_from_external",[861,3555,1341],{"class":1331},[861,3557,1810],{"class":1692},[861,3559,3275],{"class":1331},[861,3561,3562],{"class":1692}," null",[861,3564,1222],{"class":1201},[861,3566,3567,3570,3572,3574,3576,3578],{"class":863,"line":1825},[861,3568,3569],{"class":1205},"  metadata_flow_from_internal",[861,3571,1341],{"class":1331},[861,3573,1810],{"class":1692},[861,3575,3275],{"class":1331},[861,3577,3562],{"class":1692},[861,3579,1222],{"class":1201},[861,3581,3582,3585,3587,3589,3591,3593],{"class":863,"line":1834},[861,3583,3584],{"class":1205},"  metadata_flow_to_internal",[861,3586,1341],{"class":1331},[861,3588,1810],{"class":1692},[861,3590,3275],{"class":1331},[861,3592,3562],{"class":1692},[861,3594,1222],{"class":1201},[861,3596,3597,3600,3602,3604,3606,3608],{"class":863,"line":1846},[861,3598,3599],{"class":1205},"  metadata_flow_to_external",[861,3601,1341],{"class":1331},[861,3603,1810],{"class":1692},[861,3605,3275],{"class":1331},[861,3607,3562],{"class":1692},[861,3609,1222],{"class":1201},[861,3611,3612,3615,3617,3619,3621,3623],{"class":863,"line":1859},[861,3613,3614],{"class":1205},"  metadata_for_successful_external_login_events",[861,3616,1341],{"class":1331},[861,3618,1810],{"class":1692},[861,3620,3275],{"class":1331},[861,3622,3562],{"class":1692},[861,3624,1222],{"class":1201},[861,3626,3627,3630,3632,3634],{"class":863,"line":2314},[861,3628,3629],{"class":1205},"  metadata_comment",[861,3631,1341],{"class":1331},[861,3633,1705],{"class":1692},[861,3635,1222],{"class":1201},[861,3637,3638,3641,3643,3645],{"class":863,"line":2326},[861,3639,3640],{"class":1205},"  date",[861,3642,1341],{"class":1331},[861,3644,1705],{"class":1692},[861,3646,1222],{"class":1201},[861,3648,3649,3651,3653,3655],{"class":863,"line":2338},[861,3650,2735],{"class":1205},[861,3652,1341],{"class":1331},[861,3654,1705],{"class":1692},[861,3656,1222],{"class":1201},[861,3658,3659],{"class":863,"line":2350},[861,3660,1736],{"class":1201},[829,3662],{},[844,3664,3666],{"id":3665},"disposable-email-domains","Disposable Email Domains",[851,3668,3670],{"className":1187,"code":3669,"language":1190,"meta":857,"style":857},"import type { EmailListRecord } from '@riavzon\u002Fshield-base';\n\ninterface EmailListRecord {\n  domain: string;\n  date: string;\n  comment: string;\n}\n",[824,3671,3672,3695,3699,3708,3719,3729,3739],{"__ignoreMap":857},[861,3673,3674,3676,3678,3680,3683,3685,3687,3689,3691,3693],{"class":863,"line":864},[861,3675,1198],{"class":1197},[861,3677,1882],{"class":1197},[861,3679,1202],{"class":1201},[861,3681,3682],{"class":1205},"EmailListRecord",[861,3684,1209],{"class":1201},[861,3686,1212],{"class":1197},[861,3688,935],{"class":934},[861,3690,826],{"class":877},[861,3692,1219],{"class":934},[861,3694,1222],{"class":1201},[861,3696,3697],{"class":863,"line":871},[861,3698,906],{"emptyLinePlaceholder":8},[861,3700,3701,3703,3706],{"class":863,"line":903},[861,3702,1689],{"class":1323},[861,3704,3705],{"class":1692}," EmailListRecord",[861,3707,1524],{"class":1201},[861,3709,3710,3713,3715,3717],{"class":863,"line":909},[861,3711,3712],{"class":1205},"  domain",[861,3714,1341],{"class":1331},[861,3716,1705],{"class":1692},[861,3718,1222],{"class":1201},[861,3720,3721,3723,3725,3727],{"class":863,"line":915},[861,3722,3640],{"class":1205},[861,3724,1341],{"class":1331},[861,3726,1705],{"class":1692},[861,3728,1222],{"class":1201},[861,3730,3731,3733,3735,3737],{"class":863,"line":944},[861,3732,2735],{"class":1205},[861,3734,1341],{"class":1331},[861,3736,1705],{"class":1692},[861,3738,1222],{"class":1201},[861,3740,3741],{"class":863,"line":949},[861,3742,1736],{"class":1201},[829,3744],{},[832,3746,3748],{"id":3747},"compiler-input-types","Compiler Input Types",[851,3750,3752],{"className":1187,"code":3751,"language":1190,"meta":857,"style":857},"import type { Input, LmdbInput, LmdbSources, StringOfSources } from '@riavzon\u002Fshield-base';\n\ntype CompilerOptions\u003CT> = \n    | { type: 'lmdb'; input: LmdbInput\u003CT> }\n    | { type: 'mmdb'; input: Input\u003CT> };\n\n\ntype LmdbInput\u003CT> = Omit\u003CInput\u003CT>, 'mmdbPath'> & {\n    data: LmdbSources\u003CT>;   \n};\n\ninterface Input\u003CT> {\n    outputPath: string;\n    dataBaseName: string;\n    data: T[] | StringOfSources[] | string;\n    mmdbPath: string;\n    generateTypes: boolean;\n}\n\ninterface DatabaseRecord\u003CT> {\n    key: string,\n    data: T\n}\n\ninterface StringOfSources {\n    pathToJson: string,\n    dataBaseName: string;\n    outputPath: string;\n}\n\ntype LmdbSources\u003CT> = DatabaseRecord\u003CT>[] | StringOfSources[] | string | (T & {key: string})[];\n\n",[824,3753,3754,3792,3796,3819,3854,3887,3891,3895,3937,3954,3959,3963,3976,3987,3998,4024,4035,4046,4050,4054,4067,4078,4087,4091,4095,4103,4114,4124,4134,4138,4143],{"__ignoreMap":857},[861,3755,3756,3758,3760,3762,3765,3767,3770,3772,3775,3777,3780,3782,3784,3786,3788,3790],{"class":863,"line":864},[861,3757,1198],{"class":1197},[861,3759,1882],{"class":1197},[861,3761,1202],{"class":1201},[861,3763,3764],{"class":1205},"Input",[861,3766,1248],{"class":1201},[861,3768,3769],{"class":1205},"LmdbInput",[861,3771,1248],{"class":1201},[861,3773,3774],{"class":1205},"LmdbSources",[861,3776,1248],{"class":1201},[861,3778,3779],{"class":1205},"StringOfSources",[861,3781,1209],{"class":1201},[861,3783,1212],{"class":1197},[861,3785,935],{"class":934},[861,3787,826],{"class":877},[861,3789,1219],{"class":934},[861,3791,1222],{"class":1201},[861,3793,3794],{"class":863,"line":871},[861,3795,906],{"emptyLinePlaceholder":8},[861,3797,3798,3800,3803,3806,3810,3813,3816],{"class":863,"line":903},[861,3799,3356],{"class":1323},[861,3801,3802],{"class":1692}," CompilerOptions",[861,3804,3805],{"class":1201},"\u003C",[861,3807,3809],{"class":3808},"sW-rI","T",[861,3811,3812],{"class":1201},"> ",[861,3814,3815],{"class":1331},"=",[861,3817,3818],{"class":1201}," \n",[861,3820,3821,3824,3826,3828,3830,3832,3835,3837,3839,3842,3844,3847,3849,3851],{"class":863,"line":909},[861,3822,3823],{"class":1331},"    |",[861,3825,1202],{"class":1201},[861,3827,3356],{"class":1205},[861,3829,1341],{"class":1331},[861,3831,935],{"class":934},[861,3833,3834],{"class":877},"lmdb",[861,3836,1219],{"class":934},[861,3838,1974],{"class":1201},[861,3840,3841],{"class":1205},"input",[861,3843,1341],{"class":1331},[861,3845,3846],{"class":1692}," LmdbInput",[861,3848,3805],{"class":1201},[861,3850,3809],{"class":3808},[861,3852,3853],{"class":1201},"> }\n",[861,3855,3856,3858,3860,3862,3864,3866,3869,3871,3873,3875,3877,3880,3882,3884],{"class":863,"line":915},[861,3857,3823],{"class":1331},[861,3859,1202],{"class":1201},[861,3861,3356],{"class":1205},[861,3863,1341],{"class":1331},[861,3865,935],{"class":934},[861,3867,3868],{"class":877},"mmdb",[861,3870,1219],{"class":934},[861,3872,1974],{"class":1201},[861,3874,3841],{"class":1205},[861,3876,1341],{"class":1331},[861,3878,3879],{"class":1692}," Input",[861,3881,3805],{"class":1201},[861,3883,3809],{"class":3808},[861,3885,3886],{"class":1201},"> };\n",[861,3888,3889],{"class":863,"line":944},[861,3890,906],{"emptyLinePlaceholder":8},[861,3892,3893],{"class":863,"line":949},[861,3894,906],{"emptyLinePlaceholder":8},[861,3896,3897,3899,3901,3903,3905,3907,3909,3912,3914,3916,3918,3920,3923,3925,3928,3930,3932,3935],{"class":863,"line":955},[861,3898,3356],{"class":1323},[861,3900,3846],{"class":1692},[861,3902,3805],{"class":1201},[861,3904,3809],{"class":3808},[861,3906,3812],{"class":1201},[861,3908,3815],{"class":1331},[861,3910,3911],{"class":1692}," Omit",[861,3913,3805],{"class":1201},[861,3915,3764],{"class":3808},[861,3917,3805],{"class":1201},[861,3919,3809],{"class":3808},[861,3921,3922],{"class":1201},">, ",[861,3924,1219],{"class":934},[861,3926,3927],{"class":877},"mmdbPath",[861,3929,1219],{"class":934},[861,3931,3812],{"class":1201},[861,3933,3934],{"class":1331},"&",[861,3936,1524],{"class":1201},[861,3938,3939,3942,3944,3947,3949,3951],{"class":863,"line":1314},[861,3940,3941],{"class":1205},"    data",[861,3943,1341],{"class":1331},[861,3945,3946],{"class":1692}," LmdbSources",[861,3948,3805],{"class":1201},[861,3950,3809],{"class":3808},[861,3952,3953],{"class":1201},">;   \n",[861,3955,3956],{"class":863,"line":1320},[861,3957,3958],{"class":1201},"};\n",[861,3960,3961],{"class":863,"line":1391},[861,3962,906],{"emptyLinePlaceholder":8},[861,3964,3965,3967,3969,3971,3973],{"class":863,"line":1664},[861,3966,1689],{"class":1323},[861,3968,3879],{"class":1692},[861,3970,3805],{"class":1201},[861,3972,3809],{"class":3808},[861,3974,3975],{"class":1201},"> {\n",[861,3977,3978,3981,3983,3985],{"class":863,"line":1670},[861,3979,3980],{"class":1205},"    outputPath",[861,3982,1341],{"class":1331},[861,3984,1705],{"class":1692},[861,3986,1222],{"class":1201},[861,3988,3989,3992,3994,3996],{"class":863,"line":1802},[861,3990,3991],{"class":1205},"    dataBaseName",[861,3993,1341],{"class":1331},[861,3995,1705],{"class":1692},[861,3997,1222],{"class":1201},[861,3999,4000,4002,4004,4007,4010,4013,4016,4018,4020,4022],{"class":863,"line":1815},[861,4001,3941],{"class":1205},[861,4003,1341],{"class":1331},[861,4005,4006],{"class":1692}," T",[861,4008,4009],{"class":1201},"[] ",[861,4011,4012],{"class":1331},"|",[861,4014,4015],{"class":1692}," StringOfSources",[861,4017,4009],{"class":1201},[861,4019,4012],{"class":1331},[861,4021,1705],{"class":1692},[861,4023,1222],{"class":1201},[861,4025,4026,4029,4031,4033],{"class":863,"line":1820},[861,4027,4028],{"class":1205},"    mmdbPath",[861,4030,1341],{"class":1331},[861,4032,1705],{"class":1692},[861,4034,1222],{"class":1201},[861,4036,4037,4040,4042,4044],{"class":863,"line":1825},[861,4038,4039],{"class":1205},"    generateTypes",[861,4041,1341],{"class":1331},[861,4043,1810],{"class":1692},[861,4045,1222],{"class":1201},[861,4047,4048],{"class":863,"line":1834},[861,4049,1736],{"class":1201},[861,4051,4052],{"class":863,"line":1846},[861,4053,906],{"emptyLinePlaceholder":8},[861,4055,4056,4058,4061,4063,4065],{"class":863,"line":1859},[861,4057,1689],{"class":1323},[861,4059,4060],{"class":1692}," DatabaseRecord",[861,4062,3805],{"class":1201},[861,4064,3809],{"class":3808},[861,4066,3975],{"class":1201},[861,4068,4069,4072,4074,4076],{"class":863,"line":2314},[861,4070,4071],{"class":1205},"    key",[861,4073,1341],{"class":1331},[861,4075,1705],{"class":1692},[861,4077,1510],{"class":1201},[861,4079,4080,4082,4084],{"class":863,"line":2326},[861,4081,3941],{"class":1205},[861,4083,1341],{"class":1331},[861,4085,4086],{"class":1692}," T\n",[861,4088,4089],{"class":863,"line":2338},[861,4090,1736],{"class":1201},[861,4092,4093],{"class":863,"line":2350},[861,4094,906],{"emptyLinePlaceholder":8},[861,4096,4097,4099,4101],{"class":863,"line":2362},[861,4098,1689],{"class":1323},[861,4100,4015],{"class":1692},[861,4102,1524],{"class":1201},[861,4104,4105,4108,4110,4112],{"class":863,"line":2374},[861,4106,4107],{"class":1205},"    pathToJson",[861,4109,1341],{"class":1331},[861,4111,1705],{"class":1692},[861,4113,1510],{"class":1201},[861,4115,4116,4118,4120,4122],{"class":863,"line":2386},[861,4117,3991],{"class":1205},[861,4119,1341],{"class":1331},[861,4121,1705],{"class":1692},[861,4123,1222],{"class":1201},[861,4125,4126,4128,4130,4132],{"class":863,"line":2398},[861,4127,3980],{"class":1205},[861,4129,1341],{"class":1331},[861,4131,1705],{"class":1692},[861,4133,1222],{"class":1201},[861,4135,4136],{"class":863,"line":2410},[861,4137,1736],{"class":1201},[861,4139,4141],{"class":863,"line":4140},30,[861,4142,906],{"emptyLinePlaceholder":8},[861,4144,4146,4148,4150,4152,4154,4156,4158,4160,4162,4164,4167,4169,4171,4173,4175,4177,4179,4182,4184,4187,4190,4193,4195,4197],{"class":863,"line":4145},31,[861,4147,3356],{"class":1323},[861,4149,3946],{"class":1692},[861,4151,3805],{"class":1201},[861,4153,3809],{"class":3808},[861,4155,3812],{"class":1201},[861,4157,3815],{"class":1331},[861,4159,4060],{"class":1692},[861,4161,3805],{"class":1201},[861,4163,3809],{"class":3808},[861,4165,4166],{"class":1201},">[] ",[861,4168,4012],{"class":1331},[861,4170,4015],{"class":1692},[861,4172,4009],{"class":1201},[861,4174,4012],{"class":1331},[861,4176,1705],{"class":1692},[861,4178,3275],{"class":1331},[861,4180,4181],{"class":1201}," (",[861,4183,3809],{"class":1692},[861,4185,4186],{"class":1331}," &",[861,4188,4189],{"class":1201}," {",[861,4191,4192],{"class":1205},"key",[861,4194,1341],{"class":1331},[861,4196,1705],{"class":1692},[861,4198,4199],{"class":1201},"})[];\n",[829,4201],{},[832,4203,4205],{"id":4204},"cache-type","Cache Type",[851,4207,4209],{"className":1187,"code":4208,"language":1190,"meta":857,"style":857},"import type { InputCache } from '@riavzon\u002Fshield-base';\n\ninterface InputCache {\n  selectedDataTypes: string[];   \u002F\u002F Previously selected source IDs\n  useragent: string;             \u002F\u002F BGP.tools contact string\n  license: boolean;              \u002F\u002F FireHOL license acknowledged\n  mmdbctlPath: string;           \u002F\u002F Absolute path to the mmdbctl binary\n  outPutPath: string;            \u002F\u002F Output directory from last run\n}\n",[824,4210,4211,4234,4238,4247,4262,4277,4292,4307,4322],{"__ignoreMap":857},[861,4212,4213,4215,4217,4219,4222,4224,4226,4228,4230,4232],{"class":863,"line":864},[861,4214,1198],{"class":1197},[861,4216,1882],{"class":1197},[861,4218,1202],{"class":1201},[861,4220,4221],{"class":1205},"InputCache",[861,4223,1209],{"class":1201},[861,4225,1212],{"class":1197},[861,4227,935],{"class":934},[861,4229,826],{"class":877},[861,4231,1219],{"class":934},[861,4233,1222],{"class":1201},[861,4235,4236],{"class":863,"line":871},[861,4237,906],{"emptyLinePlaceholder":8},[861,4239,4240,4242,4245],{"class":863,"line":903},[861,4241,1689],{"class":1323},[861,4243,4244],{"class":1692}," InputCache",[861,4246,1524],{"class":1201},[861,4248,4249,4252,4254,4256,4259],{"class":863,"line":909},[861,4250,4251],{"class":1205},"  selectedDataTypes",[861,4253,1341],{"class":1331},[861,4255,1705],{"class":1692},[861,4257,4258],{"class":1201},"[];   ",[861,4260,4261],{"class":867},"\u002F\u002F Previously selected source IDs\n",[861,4263,4264,4267,4269,4271,4274],{"class":863,"line":915},[861,4265,4266],{"class":1205},"  useragent",[861,4268,1341],{"class":1331},[861,4270,1705],{"class":1692},[861,4272,4273],{"class":1201},";             ",[861,4275,4276],{"class":867},"\u002F\u002F BGP.tools contact string\n",[861,4278,4279,4282,4284,4286,4289],{"class":863,"line":944},[861,4280,4281],{"class":1205},"  license",[861,4283,1341],{"class":1331},[861,4285,1810],{"class":1692},[861,4287,4288],{"class":1201},";              ",[861,4290,4291],{"class":867},"\u002F\u002F FireHOL license acknowledged\n",[861,4293,4294,4297,4299,4301,4304],{"class":863,"line":949},[861,4295,4296],{"class":1205},"  mmdbctlPath",[861,4298,1341],{"class":1331},[861,4300,1705],{"class":1692},[861,4302,4303],{"class":1201},";           ",[861,4305,4306],{"class":867},"\u002F\u002F Absolute path to the mmdbctl binary\n",[861,4308,4309,4312,4314,4316,4319],{"class":863,"line":955},[861,4310,4311],{"class":1205},"  outPutPath",[861,4313,1341],{"class":1331},[861,4315,1705],{"class":1692},[861,4317,4318],{"class":1201},";            ",[861,4320,4321],{"class":867},"\u002F\u002F Output directory from last run\n",[861,4323,4324],{"class":863,"line":1314},[861,4325,1736],{"class":1201},[821,4327,4328,4329,4332],{},"This structure is stored at ",[824,4330,4331],{},"~\u002F.shield-base\u002F.cache.json"," between runs.",[4334,4335,4336],"style",{},"html pre.shiki code .sghk6, html code.shiki .sghk6{--shiki-light:#008000;--shiki-default:#008000;--shiki-dark:#6272A4}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 pre.shiki code .sFkSl, html code.shiki .sFkSl{--shiki-light:#A31515;--shiki-default:#A31515;--shiki-dark:#E9F284}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 .sl46w, html code.shiki .sl46w{--shiki-light:#0000FF;--shiki-default:#0000FF;--shiki-dark:#FF79C6}html pre.shiki code .s3JHE, html code.shiki .s3JHE{--shiki-light:#0070C1;--shiki-default:#0070C1;--shiki-dark:#F8F8F2}html pre.shiki code .saOXh, html code.shiki .saOXh{--shiki-light:#000000;--shiki-default:#000000;--shiki-dark:#FF79C6}html pre.shiki code .s34zl, html code.shiki .s34zl{--shiki-light:#001080;--shiki-default:#001080;--shiki-dark:#FF79C6}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}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 .sW-rI, html code.shiki .sW-rI{--shiki-light:#267F99;--shiki-light-font-style:inherit;--shiki-default:#267F99;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}",{"title":857,"searchDepth":871,"depth":871,"links":4338},[4339,4343,4354,4355],{"id":834,"depth":871,"text":835,"children":4340},[4341,4342],{"id":846,"depth":903,"text":297},{"id":1357,"depth":903,"text":1465},{"id":1866,"depth":871,"text":1867,"children":4344},[4345,4346,4347,4348,4349,4350,4351,4352,4353],{"id":1870,"depth":903,"text":87},{"id":2085,"depth":903,"text":91},{"id":2417,"depth":903,"text":95},{"id":2668,"depth":903,"text":111},{"id":2753,"depth":903,"text":115},{"id":3064,"depth":903,"text":107},{"id":3134,"depth":903,"text":99},{"id":3313,"depth":903,"text":3314},{"id":3665,"depth":903,"text":3666},{"id":3747,"depth":871,"text":3748},{"id":4204,"depth":871,"text":4205},"All exported TypeScript type definitions for built-in data sources, the compiler inputs, and how to auto-generate types from any JSON data.","md","i-lucide-braces",{},null,"---\ntitle: TypeScript Types\ndescription: All exported TypeScript type definitions for built-in data sources, the compiler inputs, and how to auto-generate types from any JSON data.\nicon: i-lucide-braces\n---\n\n`@riavzon\u002Fshield-base` ships fully typed interfaces for every built-in data source and the compiler system. All types are exported from the main package entry point.\n\n---\n\n## Generating Types from JSON\n\nShield Base can generate TypeScript type definitions from any JSON input. The output is a `.ts` file with interfaces that reflect the full structure of the data, including nested objects, arrays, and mixed types.\n\n### CLI\n\n::code-group\n```bash [pnpm]\n# Generate from a JSON file\npnpm dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\n\n# Generate from a raw JSON string\npnpm dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\n\n# Batch: multiple files generate indexed type files\npnpm dlx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n```\n\n```bash [yarn]\nyarn dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nyarn dlx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nyarn dlx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n```\n\n```bash [npm]\nnpx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nnpx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nnpx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n```\n\n```bash [bun]\nbunx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes data.json\nbunx @riavzon\u002Fshield-base types --name myData --outputDir .\u002Fsrc\u002Ftypes '{\"key\": \"value\", \"count\": 1}'\nbunx @riavzon\u002Fshield-base types --name batchTypes --outputDir .\u002Fsrc\u002Ftypes file1.json file2.json\n```\n```ts [Programmatic]\nimport { generateTypeFile } from '@riavzon\u002Fshield-base';\n\n\u002F\u002F From a file path string\ngenerateTypeFile('.\u002Fdata.json', 'myData', '.\u002Fsrc\u002Ftypes');\n\n\u002F\u002F From a raw JSON string\ngenerateTypeFile('{\"id\": 1, \"value\": \"example\"}', 'myData', '.\u002Fsrc\u002Ftypes');\n\n\u002F\u002F From a JavaScript object in memory\nconst data = { id: 1, value: 'example', tags: ['a', 'b'] };\ngenerateTypeFile(data, 'myData', '.\u002Fsrc\u002Ftypes');\n```\n::\n\nBatch processing produces: `batchTypesTypes.ts`, `batchTypes-1Types.ts`, `batchTypes-2Types.ts`, and so on.\n\nThe `generateTypeFile` utility accepts three input formats:\n- **File path**: A string path to a `.json` file.\n- **JSON string**: A raw stringified JSON.\n- **Object**: A standard JavaScript object or array already in memory.\n\n### Example\n\nGiven the input data:\n\n```json [example.json]\n[\n  {\n    \"range\": \"1.1.1.0\u002F24\",\n    \"metadata\": {\n      \"version\": \"1.0.0\",\n      \"tags\": [\"dns\", \"secure\"]\n    },\n    \"organization\": {\n      \"name\": \"Cloudflare, Inc.\",\n      \"details\": { \"employees\": 3000, \"is_public\": true }\n    }\n  }\n]\n```\n\nThe generated `exampleTypes.ts` file:\n\n```ts [exampleTypes.ts]\ninterface Example {\n  range: string;\n  metadata: Metadata;\n  organization: Organization;\n}\n\ninterface Organization {\n  name: string;\n  details: Details;\n}\n\ninterface Details {\n  employees: number;\n  is_public: boolean;\n}\n\ninterface Metadata {\n  version: string;\n  tags: string[];\n}\n```\n\n---\n\n## Built-in Source Types\n\n### BGP \u002F ASN\n\n```ts\nimport type { BgpRecord, BGPRouteRaw, AsnDictionaryEntry } from '@riavzon\u002Fshield-base';\n\ninterface BgpRecord {\n  range: string;\n  asn_id: string;         \u002F\u002F e.g. \"15169\"\n  asn_name: string;       \u002F\u002F e.g. \"Google LLC\"\n  classification: string; \u002F\u002F \"Content\" | \"Eyeballs\" | \"Unknown\"\n  hits: string;\n}\n\ninterface BGPRouteRaw {\n  CIDR: string;\n  ASN: number;\n  Hits: number;\n}\n\ninterface AsnDictionaryEntry {\n  name: string;\n  type: string;\n}\n```\n\n---\n\n### City Geolocation\n\n```ts\nimport type { CityGeoRecord } from '@riavzon\u002Fshield-base';\n\ninterface CityGeoRecord {\n  range: string;\n  country_code: string;\n  region: string;\n  city: string;\n  zip_code: string;\n  numericCode: string;\n  latitude: string;\n  longitude: string;\n  state: string;\n  name: string;\n  native: string;\n  phone: string;\n  continent: string;\n  capital: string;\n  currency: string;\n  currency_name: string;\n  iso639: string;\n  languages: string;\n  emoji: string;\n  timezone: string;\n  utc_offset: string;\n  tld: string;\n  nationality: string;\n  subregion: string;\n  timeZoneName: string;\n}\n```\n\n---\n\n### Country Geolocation\n\n```ts\nimport type { GeoRecord } from '@riavzon\u002Fshield-base';\n\ninterface GeoRecord {\n  range: string;\n  country_code: string;\n  region: string;\n  numericCode: string;\n  name: string;\n  native: string;\n  phone: string;\n  capital: string;\n  currency: string;\n  currency_name: string;\n  currency_symbol: string;\n  iso639: string;\n  languages: string;\n  emoji: string;\n  tld: string;\n  nationality: string;\n  subregion: string;\n  timezone: string;\n  timeZoneName: string;\n  utc_offset: string;\n}\n```\n\n---\n\n### Proxy Detection\n\n```ts\nimport type { ProxyRecord } from '@riavzon\u002Fshield-base';\n\ninterface ProxyRecord {\n  range: string;\n  port: string;\n  comment: string; \u002F\u002F Comma-separated source feed names\n}\n```\n\n---\n\n### Tor Nodes\n\n```ts\nimport type { TorRecord } from '@riavzon\u002Fshield-base';\n\ninterface TorRecord {\n  range: string;\n  or_addresses: string;\n  exit_addresses: string;\n  last_seen: string;\n  last_changed_address_or_port: string;\n  first_seen: string;\n  running: boolean;\n  flags: string;                \u002F\u002F e.g. \"Exit,Fast,Guard,Running,Valid\"\n  country: string;\n  country_name: string;\n  as: string;                   \u002F\u002F ASN identifier\n  as_name: string;\n  last_restarted: string;\n  exit_policy: string;\n  exit_policy_summary: string;\n  exit_policy_v6_summary?: string;\n  contact: string;\n  version_status: string;\n  guard_probability: number;\n  middle_probability: number;\n  exit_probability: number;\n  recommended_version: boolean;\n  measured: boolean;\n}\n```\n\n---\n\n### FireHOL Threat Intelligence\n\n```ts\nimport type { ThreatRecord } from '@riavzon\u002Fshield-base';\n\ninterface ThreatRecord {\n  range: string;\n  comment: string;\n}\n```\n\n---\n\n### Verified Crawlers\n\n```ts\nimport type { CrawlersRecord, ProvidersLists, BotIpData } from '@riavzon\u002Fshield-base';\n\ninterface CrawlersRecord {\n  range: string;\n  provider: string;     \u002F\u002F e.g. \"google\", \"bing\", \"apple\"\n  syncToken: string;\n  creationTime: string;\n}\n\ninterface ProvidersLists {\n  name: string;\n  type: 'HTML' | 'JSON' | 'CSV';\n  urls: string[];\n}\n```\n\n---\n\n### User-Agent Patterns\n\n```ts\nimport type { UserAgentRecord, Severity } from '@riavzon\u002Fshield-base';\n\ntype Severity = 'none' | 'low' | 'medium' | 'high' | 'critical';\ntype Usage = 'Hunting' | 'Detection rule';\n\ninterface UserAgentRecord {\n  useragent_rx: string;                \u002F\u002F Regex pattern\n  metadata_description: string;\n  metadata_tool: string;\n  metadata_category: string;\n  metadata_link: string;\n  metadata_priority: Severity;\n  metadata_fp_risk: Severity;\n  metadata_severity: Severity;\n  metadata_usage: Usage;\n  metadata_flow_from_external: boolean | null;\n  metadata_flow_from_internal: boolean | null;\n  metadata_flow_to_internal: boolean | null;\n  metadata_flow_to_external: boolean | null;\n  metadata_for_successful_external_login_events: boolean | null;\n  metadata_comment: string;\n  date: string;\n  comment: string;\n}\n```\n\n---\n\n### Disposable Email Domains\n\n```ts\nimport type { EmailListRecord } from '@riavzon\u002Fshield-base';\n\ninterface EmailListRecord {\n  domain: string;\n  date: string;\n  comment: string;\n}\n```\n\n---\n\n## Compiler Input Types\n\n```ts\nimport type { Input, LmdbInput, LmdbSources, StringOfSources } from '@riavzon\u002Fshield-base';\n\ntype CompilerOptions\u003CT> = \n    | { type: 'lmdb'; input: LmdbInput\u003CT> }\n    | { type: 'mmdb'; input: Input\u003CT> };\n\n\ntype LmdbInput\u003CT> = Omit\u003CInput\u003CT>, 'mmdbPath'> & {\n    data: LmdbSources\u003CT>;   \n};\n\ninterface Input\u003CT> {\n    outputPath: string;\n    dataBaseName: string;\n    data: T[] | StringOfSources[] | string;\n    mmdbPath: string;\n    generateTypes: boolean;\n}\n\ninterface DatabaseRecord\u003CT> {\n    key: string,\n    data: T\n}\n\ninterface StringOfSources {\n    pathToJson: string,\n    dataBaseName: string;\n    outputPath: string;\n}\n\ntype LmdbSources\u003CT> = DatabaseRecord\u003CT>[] | StringOfSources[] | string | (T & {key: string})[];\n\n```\n\n---\n\n## Cache Type\n\n```ts\nimport type { InputCache } from '@riavzon\u002Fshield-base';\n\ninterface InputCache {\n  selectedDataTypes: string[];   \u002F\u002F Previously selected source IDs\n  useragent: string;             \u002F\u002F BGP.tools contact string\n  license: boolean;              \u002F\u002F FireHOL license acknowledged\n  mmdbctlPath: string;           \u002F\u002F Absolute path to the mmdbctl binary\n  outPutPath: string;            \u002F\u002F Output directory from last run\n}\n```\n\nThis structure is stored at `~\u002F.shield-base\u002F.cache.json` between runs.\n",{"title":131,"description":4356},"YO3H9XaHyai-WcrLWF1E1aReTzRR6J_VyPpqam7Yj3g",[4365,4366],{"title":127,"path":128,"stem":129,"children":-1},{"title":135,"path":136,"stem":137,"children":-1},{"id":816,"title":131,"body":4368,"description":4356,"extension":4357,"icon":4358,"meta":7473,"module":4360,"navigation":8,"path":132,"rawbody":4361,"seo":7474,"stem":133,"__hash__":4363},{"type":818,"value":4369,"toc":7454},[4370,4374,4376,4378,4382,4384,4860,4868,4872,4888,4890,4892,5062,5066,5220,5222,5224,5226,5414,5416,5418,5710,5712,5714,5956,5958,5960,6034,6036,6038,6314,6316,6318,6380,6382,6384,6542,6544,6546,6860,6862,6864,6936,6938,6940,7342,7344,7346,7448,7452],[821,4371,4372,827],{},[824,4373,826],{},[829,4375],{},[832,4377,835],{"id":834},[821,4379,838,4380,842],{},[824,4381,841],{},[844,4383,297],{"id":846},[848,4385,4386,4476,4546,4610,4674],{},[851,4387,4388],{"className":853,"code":854,"filename":855,"language":856,"meta":857,"style":857},[824,4389,4390,4394,4414,4418,4422,4446,4450,4454],{"__ignoreMap":857},[861,4391,4392],{"class":863,"line":864},[861,4393,868],{"class":867},[861,4395,4396,4398,4400,4402,4404,4406,4408,4410,4412],{"class":863,"line":871},[861,4397,855],{"class":874},[861,4399,878],{"class":877},[861,4401,881],{"class":877},[861,4403,884],{"class":877},[861,4405,888],{"class":887},[861,4407,891],{"class":877},[861,4409,894],{"class":887},[861,4411,897],{"class":877},[861,4413,900],{"class":877},[861,4415,4416],{"class":863,"line":903},[861,4417,906],{"emptyLinePlaceholder":8},[861,4419,4420],{"class":863,"line":909},[861,4421,912],{"class":867},[861,4423,4424,4426,4428,4430,4432,4434,4436,4438,4440,4442,4444],{"class":863,"line":915},[861,4425,855],{"class":874},[861,4427,878],{"class":877},[861,4429,881],{"class":877},[861,4431,884],{"class":877},[861,4433,888],{"class":887},[861,4435,891],{"class":877},[861,4437,894],{"class":887},[861,4439,897],{"class":877},[861,4441,935],{"class":934},[861,4443,938],{"class":877},[861,4445,941],{"class":934},[861,4447,4448],{"class":863,"line":944},[861,4449,906],{"emptyLinePlaceholder":8},[861,4451,4452],{"class":863,"line":949},[861,4453,952],{"class":867},[861,4455,4456,4458,4460,4462,4464,4466,4468,4470,4472,4474],{"class":863,"line":955},[861,4457,855],{"class":874},[861,4459,878],{"class":877},[861,4461,881],{"class":877},[861,4463,884],{"class":877},[861,4465,888],{"class":887},[861,4467,968],{"class":877},[861,4469,894],{"class":887},[861,4471,897],{"class":877},[861,4473,975],{"class":877},[861,4475,978],{"class":877},[851,4477,4478],{"className":853,"code":981,"filename":982,"language":856,"meta":857,"style":857},[824,4479,4480,4500,4524],{"__ignoreMap":857},[861,4481,4482,4484,4486,4488,4490,4492,4494,4496,4498],{"class":863,"line":864},[861,4483,982],{"class":874},[861,4485,878],{"class":877},[861,4487,881],{"class":877},[861,4489,884],{"class":877},[861,4491,888],{"class":887},[861,4493,891],{"class":877},[861,4495,894],{"class":887},[861,4497,897],{"class":877},[861,4499,900],{"class":877},[861,4501,4502,4504,4506,4508,4510,4512,4514,4516,4518,4520,4522],{"class":863,"line":871},[861,4503,982],{"class":874},[861,4505,878],{"class":877},[861,4507,881],{"class":877},[861,4509,884],{"class":877},[861,4511,888],{"class":887},[861,4513,891],{"class":877},[861,4515,894],{"class":887},[861,4517,897],{"class":877},[861,4519,935],{"class":934},[861,4521,938],{"class":877},[861,4523,941],{"class":934},[861,4525,4526,4528,4530,4532,4534,4536,4538,4540,4542,4544],{"class":863,"line":903},[861,4527,982],{"class":874},[861,4529,878],{"class":877},[861,4531,881],{"class":877},[861,4533,884],{"class":877},[861,4535,888],{"class":887},[861,4537,968],{"class":877},[861,4539,894],{"class":887},[861,4541,897],{"class":877},[861,4543,975],{"class":877},[861,4545,978],{"class":877},[851,4547,4548],{"className":853,"code":1053,"filename":1054,"language":856,"meta":857,"style":857},[824,4549,4550,4568,4590],{"__ignoreMap":857},[861,4551,4552,4554,4556,4558,4560,4562,4564,4566],{"class":863,"line":864},[861,4553,1061],{"class":874},[861,4555,881],{"class":877},[861,4557,884],{"class":877},[861,4559,888],{"class":887},[861,4561,891],{"class":877},[861,4563,894],{"class":887},[861,4565,897],{"class":877},[861,4567,900],{"class":877},[861,4569,4570,4572,4574,4576,4578,4580,4582,4584,4586,4588],{"class":863,"line":871},[861,4571,1061],{"class":874},[861,4573,881],{"class":877},[861,4575,884],{"class":877},[861,4577,888],{"class":887},[861,4579,891],{"class":877},[861,4581,894],{"class":887},[861,4583,897],{"class":877},[861,4585,935],{"class":934},[861,4587,938],{"class":877},[861,4589,941],{"class":934},[861,4591,4592,4594,4596,4598,4600,4602,4604,4606,4608],{"class":863,"line":903},[861,4593,1061],{"class":874},[861,4595,881],{"class":877},[861,4597,884],{"class":877},[861,4599,888],{"class":887},[861,4601,968],{"class":877},[861,4603,894],{"class":887},[861,4605,897],{"class":877},[861,4607,975],{"class":877},[861,4609,978],{"class":877},[851,4611,4612],{"className":853,"code":1120,"filename":1121,"language":856,"meta":857,"style":857},[824,4613,4614,4632,4654],{"__ignoreMap":857},[861,4615,4616,4618,4620,4622,4624,4626,4628,4630],{"class":863,"line":864},[861,4617,1128],{"class":874},[861,4619,881],{"class":877},[861,4621,884],{"class":877},[861,4623,888],{"class":887},[861,4625,891],{"class":877},[861,4627,894],{"class":887},[861,4629,897],{"class":877},[861,4631,900],{"class":877},[861,4633,4634,4636,4638,4640,4642,4644,4646,4648,4650,4652],{"class":863,"line":871},[861,4635,1128],{"class":874},[861,4637,881],{"class":877},[861,4639,884],{"class":877},[861,4641,888],{"class":887},[861,4643,891],{"class":877},[861,4645,894],{"class":887},[861,4647,897],{"class":877},[861,4649,935],{"class":934},[861,4651,938],{"class":877},[861,4653,941],{"class":934},[861,4655,4656,4658,4660,4662,4664,4666,4668,4670,4672],{"class":863,"line":903},[861,4657,1128],{"class":874},[861,4659,881],{"class":877},[861,4661,884],{"class":877},[861,4663,888],{"class":887},[861,4665,968],{"class":877},[861,4667,894],{"class":887},[861,4669,897],{"class":877},[861,4671,975],{"class":877},[861,4673,978],{"class":877},[851,4675,4676],{"className":1187,"code":1188,"filename":1189,"language":1190,"meta":857,"style":857},[824,4677,4678,4698,4702,4706,4736,4740,4744,4774,4778,4782,4834],{"__ignoreMap":857},[861,4679,4680,4682,4684,4686,4688,4690,4692,4694,4696],{"class":863,"line":864},[861,4681,1198],{"class":1197},[861,4683,1202],{"class":1201},[861,4685,1206],{"class":1205},[861,4687,1209],{"class":1201},[861,4689,1212],{"class":1197},[861,4691,935],{"class":934},[861,4693,826],{"class":877},[861,4695,1219],{"class":934},[861,4697,1222],{"class":1201},[861,4699,4700],{"class":863,"line":871},[861,4701,906],{"emptyLinePlaceholder":8},[861,4703,4704],{"class":863,"line":903},[861,4705,1231],{"class":867},[861,4707,4708,4710,4712,4714,4716,4718,4720,4722,4724,4726,4728,4730,4732,4734],{"class":863,"line":909},[861,4709,1206],{"class":874},[861,4711,1238],{"class":1201},[861,4713,1219],{"class":934},[861,4715,1243],{"class":877},[861,4717,1219],{"class":934},[861,4719,1248],{"class":1201},[861,4721,1219],{"class":934},[861,4723,1253],{"class":877},[861,4725,1219],{"class":934},[861,4727,1248],{"class":1201},[861,4729,1219],{"class":934},[861,4731,1262],{"class":877},[861,4733,1219],{"class":934},[861,4735,1267],{"class":1201},[861,4737,4738],{"class":863,"line":915},[861,4739,906],{"emptyLinePlaceholder":8},[861,4741,4742],{"class":863,"line":944},[861,4743,1276],{"class":867},[861,4745,4746,4748,4750,4752,4754,4756,4758,4760,4762,4764,4766,4768,4770,4772],{"class":863,"line":949},[861,4747,1206],{"class":874},[861,4749,1238],{"class":1201},[861,4751,1219],{"class":934},[861,4753,1287],{"class":877},[861,4755,1219],{"class":934},[861,4757,1248],{"class":1201},[861,4759,1219],{"class":934},[861,4761,1253],{"class":877},[861,4763,1219],{"class":934},[861,4765,1248],{"class":1201},[861,4767,1219],{"class":934},[861,4769,1262],{"class":877},[861,4771,1219],{"class":934},[861,4773,1267],{"class":1201},[861,4775,4776],{"class":863,"line":955},[861,4777,906],{"emptyLinePlaceholder":8},[861,4779,4780],{"class":863,"line":1314},[861,4781,1317],{"class":867},[861,4783,4784,4786,4788,4790,4792,4794,4796,4798,4800,4802,4804,4806,4808,4810,4812,4814,4816,4818,4820,4822,4824,4826,4828,4830,4832],{"class":863,"line":1320},[861,4785,1324],{"class":1323},[861,4787,1328],{"class":1327},[861,4789,1332],{"class":1331},[861,4791,1202],{"class":1201},[861,4793,1337],{"class":1205},[861,4795,1341],{"class":1340},[861,4797,1345],{"class":1344},[861,4799,1248],{"class":1201},[861,4801,1350],{"class":1205},[861,4803,1341],{"class":1340},[861,4805,935],{"class":934},[861,4807,1357],{"class":877},[861,4809,1219],{"class":934},[861,4811,1248],{"class":1201},[861,4813,1364],{"class":1205},[861,4815,1341],{"class":1340},[861,4817,1369],{"class":1201},[861,4819,1219],{"class":934},[861,4821,1374],{"class":877},[861,4823,1219],{"class":934},[861,4825,1248],{"class":1201},[861,4827,1219],{"class":934},[861,4829,1383],{"class":877},[861,4831,1219],{"class":934},[861,4833,1388],{"class":1201},[861,4835,4836,4838,4840,4842,4844,4846,4848,4850,4852,4854,4856,4858],{"class":863,"line":1391},[861,4837,1206],{"class":874},[861,4839,1238],{"class":1201},[861,4841,1398],{"class":1205},[861,4843,1248],{"class":1201},[861,4845,1219],{"class":934},[861,4847,1253],{"class":877},[861,4849,1219],{"class":934},[861,4851,1248],{"class":1201},[861,4853,1219],{"class":934},[861,4855,1262],{"class":877},[861,4857,1219],{"class":934},[861,4859,1267],{"class":1201},[821,4861,1419,4862,1248,4864,1248,4866,1429],{},[824,4863,1422],{},[824,4865,1425],{},[824,4867,1428],{},[821,4869,1432,4870,1435],{},[824,4871,1206],{},[1437,4873,4874,4880,4884],{},[1440,4875,4876,1446,4878,1450],{},[1443,4877,1445],{},[824,4879,1449],{},[1440,4881,4882,1456],{},[1443,4883,1455],{},[1440,4885,4886,1462],{},[1443,4887,1461],{},[844,4889,1465],{"id":1357},[821,4891,1468],{},[851,4893,4894],{"className":1471,"code":1472,"filename":1473,"language":5,"meta":857,"style":857},[824,4895,4896,4900,4904,4922,4934,4952,4980,4984,4996,5014,5050,5054,5058],{"__ignoreMap":857},[861,4897,4898],{"class":863,"line":864},[861,4899,1480],{"class":1201},[861,4901,4902],{"class":863,"line":871},[861,4903,1485],{"class":1201},[861,4905,4906,4908,4910,4912,4914,4916,4918,4920],{"class":863,"line":903},[861,4907,1491],{"class":1490},[861,4909,741],{"class":1494},[861,4911,1497],{"class":1490},[861,4913,1341],{"class":1331},[861,4915,1502],{"class":934},[861,4917,1505],{"class":877},[861,4919,1497],{"class":934},[861,4921,1510],{"class":1201},[861,4923,4924,4926,4928,4930,4932],{"class":863,"line":909},[861,4925,1491],{"class":1490},[861,4927,1517],{"class":1494},[861,4929,1497],{"class":1490},[861,4931,1341],{"class":1331},[861,4933,1524],{"class":1201},[861,4935,4936,4938,4940,4942,4944,4946,4948,4950],{"class":863,"line":915},[861,4937,1529],{"class":1490},[861,4939,1532],{"class":1494},[861,4941,1497],{"class":1490},[861,4943,1341],{"class":1331},[861,4945,1502],{"class":934},[861,4947,1541],{"class":877},[861,4949,1497],{"class":934},[861,4951,1510],{"class":1201},[861,4953,4954,4956,4958,4960,4962,4964,4966,4968,4970,4972,4974,4976,4978],{"class":863,"line":944},[861,4955,1529],{"class":1490},[861,4957,1364],{"class":1494},[861,4959,1497],{"class":1490},[861,4961,1341],{"class":1331},[861,4963,1369],{"class":1201},[861,4965,1497],{"class":934},[861,4967,1562],{"class":877},[861,4969,1497],{"class":934},[861,4971,1248],{"class":1201},[861,4973,1497],{"class":934},[861,4975,1571],{"class":877},[861,4977,1497],{"class":934},[861,4979,1576],{"class":1201},[861,4981,4982],{"class":863,"line":949},[861,4983,1581],{"class":1201},[861,4985,4986,4988,4990,4992,4994],{"class":863,"line":955},[861,4987,1491],{"class":1490},[861,4989,1588],{"class":1494},[861,4991,1497],{"class":1490},[861,4993,1341],{"class":1331},[861,4995,1524],{"class":1201},[861,4997,4998,5000,5002,5004,5006,5008,5010,5012],{"class":863,"line":1314},[861,4999,1529],{"class":1490},[861,5001,1601],{"class":1494},[861,5003,1497],{"class":1490},[861,5005,1341],{"class":1331},[861,5007,1502],{"class":934},[861,5009,1610],{"class":877},[861,5011,1497],{"class":934},[861,5013,1510],{"class":1201},[861,5015,5016,5018,5020,5022,5024,5026,5028,5030,5032,5034,5036,5038,5040,5042,5044,5046,5048],{"class":863,"line":1320},[861,5017,1529],{"class":1490},[861,5019,1621],{"class":1494},[861,5021,1497],{"class":1490},[861,5023,1341],{"class":1331},[861,5025,1202],{"class":1201},[861,5027,1497],{"class":1490},[861,5029,1632],{"class":1494},[861,5031,1497],{"class":1490},[861,5033,1341],{"class":1331},[861,5035,1639],{"class":1344},[861,5037,1248],{"class":1201},[861,5039,1497],{"class":1490},[861,5041,1646],{"class":1494},[861,5043,1497],{"class":1490},[861,5045,1341],{"class":1331},[861,5047,1653],{"class":887},[861,5049,1656],{"class":1201},[861,5051,5052],{"class":863,"line":1391},[861,5053,1661],{"class":1201},[861,5055,5056],{"class":863,"line":1664},[861,5057,1667],{"class":1201},[861,5059,5060],{"class":863,"line":1670},[861,5061,1576],{"class":1201},[821,5063,1675,5064,1679],{},[824,5065,1678],{},[851,5067,5068],{"className":1187,"code":1682,"filename":1678,"language":1190,"meta":857,"style":857},[824,5069,5070,5078,5088,5098,5108,5112,5116,5124,5134,5144,5148,5152,5160,5170,5180,5184,5188,5196,5206,5216],{"__ignoreMap":857},[861,5071,5072,5074,5076],{"class":863,"line":864},[861,5073,1689],{"class":1323},[861,5075,1693],{"class":1692},[861,5077,1524],{"class":1201},[861,5079,5080,5082,5084,5086],{"class":863,"line":871},[861,5081,1700],{"class":1205},[861,5083,1341],{"class":1331},[861,5085,1705],{"class":1692},[861,5087,1222],{"class":1201},[861,5089,5090,5092,5094,5096],{"class":863,"line":903},[861,5091,1712],{"class":1205},[861,5093,1341],{"class":1331},[861,5095,1717],{"class":1692},[861,5097,1222],{"class":1201},[861,5099,5100,5102,5104,5106],{"class":863,"line":909},[861,5101,1724],{"class":1205},[861,5103,1341],{"class":1331},[861,5105,1729],{"class":1692},[861,5107,1222],{"class":1201},[861,5109,5110],{"class":863,"line":915},[861,5111,1736],{"class":1201},[861,5113,5114],{"class":863,"line":944},[861,5115,906],{"emptyLinePlaceholder":8},[861,5117,5118,5120,5122],{"class":863,"line":949},[861,5119,1689],{"class":1323},[861,5121,1729],{"class":1692},[861,5123,1524],{"class":1201},[861,5125,5126,5128,5130,5132],{"class":863,"line":955},[861,5127,1753],{"class":1205},[861,5129,1341],{"class":1331},[861,5131,1705],{"class":1692},[861,5133,1222],{"class":1201},[861,5135,5136,5138,5140,5142],{"class":863,"line":1314},[861,5137,1764],{"class":1205},[861,5139,1341],{"class":1331},[861,5141,1769],{"class":1692},[861,5143,1222],{"class":1201},[861,5145,5146],{"class":863,"line":1320},[861,5147,1736],{"class":1201},[861,5149,5150],{"class":863,"line":1391},[861,5151,906],{"emptyLinePlaceholder":8},[861,5153,5154,5156,5158],{"class":863,"line":1664},[861,5155,1689],{"class":1323},[861,5157,1769],{"class":1692},[861,5159,1524],{"class":1201},[861,5161,5162,5164,5166,5168],{"class":863,"line":1670},[861,5163,1792],{"class":1205},[861,5165,1341],{"class":1331},[861,5167,1797],{"class":1692},[861,5169,1222],{"class":1201},[861,5171,5172,5174,5176,5178],{"class":863,"line":1802},[861,5173,1805],{"class":1205},[861,5175,1341],{"class":1331},[861,5177,1810],{"class":1692},[861,5179,1222],{"class":1201},[861,5181,5182],{"class":863,"line":1815},[861,5183,1736],{"class":1201},[861,5185,5186],{"class":863,"line":1820},[861,5187,906],{"emptyLinePlaceholder":8},[861,5189,5190,5192,5194],{"class":863,"line":1825},[861,5191,1689],{"class":1323},[861,5193,1717],{"class":1692},[861,5195,1524],{"class":1201},[861,5197,5198,5200,5202,5204],{"class":863,"line":1834},[861,5199,1837],{"class":1205},[861,5201,1341],{"class":1331},[861,5203,1705],{"class":1692},[861,5205,1222],{"class":1201},[861,5207,5208,5210,5212,5214],{"class":863,"line":1846},[861,5209,1849],{"class":1205},[861,5211,1341],{"class":1331},[861,5213,1705],{"class":1692},[861,5215,1856],{"class":1201},[861,5217,5218],{"class":863,"line":1859},[861,5219,1736],{"class":1201},[829,5221],{},[832,5223,1867],{"id":1866},[844,5225,87],{"id":1870},[851,5227,5228],{"className":1187,"code":1873,"language":1190,"meta":857,"style":857},[824,5229,5230,5260,5264,5272,5282,5294,5306,5318,5328,5332,5336,5344,5354,5364,5374,5378,5382,5390,5400,5410],{"__ignoreMap":857},[861,5231,5232,5234,5236,5238,5240,5242,5244,5246,5248,5250,5252,5254,5256,5258],{"class":863,"line":864},[861,5233,1198],{"class":1197},[861,5235,1882],{"class":1197},[861,5237,1202],{"class":1201},[861,5239,1887],{"class":1205},[861,5241,1248],{"class":1201},[861,5243,1892],{"class":1205},[861,5245,1248],{"class":1201},[861,5247,1897],{"class":1205},[861,5249,1209],{"class":1201},[861,5251,1212],{"class":1197},[861,5253,935],{"class":934},[861,5255,826],{"class":877},[861,5257,1219],{"class":934},[861,5259,1222],{"class":1201},[861,5261,5262],{"class":863,"line":871},[861,5263,906],{"emptyLinePlaceholder":8},[861,5265,5266,5268,5270],{"class":863,"line":903},[861,5267,1689],{"class":1323},[861,5269,1920],{"class":1692},[861,5271,1524],{"class":1201},[861,5273,5274,5276,5278,5280],{"class":863,"line":909},[861,5275,1700],{"class":1205},[861,5277,1341],{"class":1331},[861,5279,1705],{"class":1692},[861,5281,1222],{"class":1201},[861,5283,5284,5286,5288,5290,5292],{"class":863,"line":915},[861,5285,1937],{"class":1205},[861,5287,1341],{"class":1331},[861,5289,1705],{"class":1692},[861,5291,1944],{"class":1201},[861,5293,1947],{"class":867},[861,5295,5296,5298,5300,5302,5304],{"class":863,"line":944},[861,5297,1952],{"class":1205},[861,5299,1341],{"class":1331},[861,5301,1705],{"class":1692},[861,5303,1959],{"class":1201},[861,5305,1962],{"class":867},[861,5307,5308,5310,5312,5314,5316],{"class":863,"line":949},[861,5309,1967],{"class":1205},[861,5311,1341],{"class":1331},[861,5313,1705],{"class":1692},[861,5315,1974],{"class":1201},[861,5317,1977],{"class":867},[861,5319,5320,5322,5324,5326],{"class":863,"line":955},[861,5321,1982],{"class":1205},[861,5323,1341],{"class":1331},[861,5325,1705],{"class":1692},[861,5327,1222],{"class":1201},[861,5329,5330],{"class":863,"line":1314},[861,5331,1736],{"class":1201},[861,5333,5334],{"class":863,"line":1320},[861,5335,906],{"emptyLinePlaceholder":8},[861,5337,5338,5340,5342],{"class":863,"line":1391},[861,5339,1689],{"class":1323},[861,5341,2003],{"class":1692},[861,5343,1524],{"class":1201},[861,5345,5346,5348,5350,5352],{"class":863,"line":1664},[861,5347,2010],{"class":1205},[861,5349,1341],{"class":1331},[861,5351,1705],{"class":1692},[861,5353,1222],{"class":1201},[861,5355,5356,5358,5360,5362],{"class":863,"line":1670},[861,5357,2021],{"class":1205},[861,5359,1341],{"class":1331},[861,5361,1797],{"class":1692},[861,5363,1222],{"class":1201},[861,5365,5366,5368,5370,5372],{"class":863,"line":1802},[861,5367,2032],{"class":1205},[861,5369,1341],{"class":1331},[861,5371,1797],{"class":1692},[861,5373,1222],{"class":1201},[861,5375,5376],{"class":863,"line":1815},[861,5377,1736],{"class":1201},[861,5379,5380],{"class":863,"line":1820},[861,5381,906],{"emptyLinePlaceholder":8},[861,5383,5384,5386,5388],{"class":863,"line":1825},[861,5385,1689],{"class":1323},[861,5387,2053],{"class":1692},[861,5389,1524],{"class":1201},[861,5391,5392,5394,5396,5398],{"class":863,"line":1834},[861,5393,1753],{"class":1205},[861,5395,1341],{"class":1331},[861,5397,1705],{"class":1692},[861,5399,1222],{"class":1201},[861,5401,5402,5404,5406,5408],{"class":863,"line":1846},[861,5403,2070],{"class":1205},[861,5405,1341],{"class":1331},[861,5407,1705],{"class":1692},[861,5409,1222],{"class":1201},[861,5411,5412],{"class":863,"line":1859},[861,5413,1736],{"class":1201},[829,5415],{},[844,5417,91],{"id":2085},[851,5419,5420],{"className":1187,"code":2088,"language":1190,"meta":857,"style":857},[824,5421,5422,5444,5448,5456,5466,5476,5486,5496,5506,5516,5526,5536,5546,5556,5566,5576,5586,5596,5606,5616,5626,5636,5646,5656,5666,5676,5686,5696,5706],{"__ignoreMap":857},[861,5423,5424,5426,5428,5430,5432,5434,5436,5438,5440,5442],{"class":863,"line":864},[861,5425,1198],{"class":1197},[861,5427,1882],{"class":1197},[861,5429,1202],{"class":1201},[861,5431,2101],{"class":1205},[861,5433,1209],{"class":1201},[861,5435,1212],{"class":1197},[861,5437,935],{"class":934},[861,5439,826],{"class":877},[861,5441,1219],{"class":934},[861,5443,1222],{"class":1201},[861,5445,5446],{"class":863,"line":871},[861,5447,906],{"emptyLinePlaceholder":8},[861,5449,5450,5452,5454],{"class":863,"line":903},[861,5451,1689],{"class":1323},[861,5453,2124],{"class":1692},[861,5455,1524],{"class":1201},[861,5457,5458,5460,5462,5464],{"class":863,"line":909},[861,5459,1700],{"class":1205},[861,5461,1341],{"class":1331},[861,5463,1705],{"class":1692},[861,5465,1222],{"class":1201},[861,5467,5468,5470,5472,5474],{"class":863,"line":915},[861,5469,2141],{"class":1205},[861,5471,1341],{"class":1331},[861,5473,1705],{"class":1692},[861,5475,1222],{"class":1201},[861,5477,5478,5480,5482,5484],{"class":863,"line":944},[861,5479,2152],{"class":1205},[861,5481,1341],{"class":1331},[861,5483,1705],{"class":1692},[861,5485,1222],{"class":1201},[861,5487,5488,5490,5492,5494],{"class":863,"line":949},[861,5489,2163],{"class":1205},[861,5491,1341],{"class":1331},[861,5493,1705],{"class":1692},[861,5495,1222],{"class":1201},[861,5497,5498,5500,5502,5504],{"class":863,"line":955},[861,5499,2174],{"class":1205},[861,5501,1341],{"class":1331},[861,5503,1705],{"class":1692},[861,5505,1222],{"class":1201},[861,5507,5508,5510,5512,5514],{"class":863,"line":1314},[861,5509,2185],{"class":1205},[861,5511,1341],{"class":1331},[861,5513,1705],{"class":1692},[861,5515,1222],{"class":1201},[861,5517,5518,5520,5522,5524],{"class":863,"line":1320},[861,5519,2196],{"class":1205},[861,5521,1341],{"class":1331},[861,5523,1705],{"class":1692},[861,5525,1222],{"class":1201},[861,5527,5528,5530,5532,5534],{"class":863,"line":1391},[861,5529,2207],{"class":1205},[861,5531,1341],{"class":1331},[861,5533,1705],{"class":1692},[861,5535,1222],{"class":1201},[861,5537,5538,5540,5542,5544],{"class":863,"line":1664},[861,5539,2218],{"class":1205},[861,5541,1341],{"class":1331},[861,5543,1705],{"class":1692},[861,5545,1222],{"class":1201},[861,5547,5548,5550,5552,5554],{"class":863,"line":1670},[861,5549,1753],{"class":1205},[861,5551,1341],{"class":1331},[861,5553,1705],{"class":1692},[861,5555,1222],{"class":1201},[861,5557,5558,5560,5562,5564],{"class":863,"line":1802},[861,5559,2239],{"class":1205},[861,5561,1341],{"class":1331},[861,5563,1705],{"class":1692},[861,5565,1222],{"class":1201},[861,5567,5568,5570,5572,5574],{"class":863,"line":1815},[861,5569,2250],{"class":1205},[861,5571,1341],{"class":1331},[861,5573,1705],{"class":1692},[861,5575,1222],{"class":1201},[861,5577,5578,5580,5582,5584],{"class":863,"line":1820},[861,5579,2261],{"class":1205},[861,5581,1341],{"class":1331},[861,5583,1705],{"class":1692},[861,5585,1222],{"class":1201},[861,5587,5588,5590,5592,5594],{"class":863,"line":1825},[861,5589,2272],{"class":1205},[861,5591,1341],{"class":1331},[861,5593,1705],{"class":1692},[861,5595,1222],{"class":1201},[861,5597,5598,5600,5602,5604],{"class":863,"line":1834},[861,5599,2283],{"class":1205},[861,5601,1341],{"class":1331},[861,5603,1705],{"class":1692},[861,5605,1222],{"class":1201},[861,5607,5608,5610,5612,5614],{"class":863,"line":1846},[861,5609,2294],{"class":1205},[861,5611,1341],{"class":1331},[861,5613,1705],{"class":1692},[861,5615,1222],{"class":1201},[861,5617,5618,5620,5622,5624],{"class":863,"line":1859},[861,5619,2305],{"class":1205},[861,5621,1341],{"class":1331},[861,5623,1705],{"class":1692},[861,5625,1222],{"class":1201},[861,5627,5628,5630,5632,5634],{"class":863,"line":2314},[861,5629,2317],{"class":1205},[861,5631,1341],{"class":1331},[861,5633,1705],{"class":1692},[861,5635,1222],{"class":1201},[861,5637,5638,5640,5642,5644],{"class":863,"line":2326},[861,5639,2329],{"class":1205},[861,5641,1341],{"class":1331},[861,5643,1705],{"class":1692},[861,5645,1222],{"class":1201},[861,5647,5648,5650,5652,5654],{"class":863,"line":2338},[861,5649,2341],{"class":1205},[861,5651,1341],{"class":1331},[861,5653,1705],{"class":1692},[861,5655,1222],{"class":1201},[861,5657,5658,5660,5662,5664],{"class":863,"line":2350},[861,5659,2353],{"class":1205},[861,5661,1341],{"class":1331},[861,5663,1705],{"class":1692},[861,5665,1222],{"class":1201},[861,5667,5668,5670,5672,5674],{"class":863,"line":2362},[861,5669,2365],{"class":1205},[861,5671,1341],{"class":1331},[861,5673,1705],{"class":1692},[861,5675,1222],{"class":1201},[861,5677,5678,5680,5682,5684],{"class":863,"line":2374},[861,5679,2377],{"class":1205},[861,5681,1341],{"class":1331},[861,5683,1705],{"class":1692},[861,5685,1222],{"class":1201},[861,5687,5688,5690,5692,5694],{"class":863,"line":2386},[861,5689,2389],{"class":1205},[861,5691,1341],{"class":1331},[861,5693,1705],{"class":1692},[861,5695,1222],{"class":1201},[861,5697,5698,5700,5702,5704],{"class":863,"line":2398},[861,5699,2401],{"class":1205},[861,5701,1341],{"class":1331},[861,5703,1705],{"class":1692},[861,5705,1222],{"class":1201},[861,5707,5708],{"class":863,"line":2410},[861,5709,1736],{"class":1201},[829,5711],{},[844,5713,95],{"id":2417},[851,5715,5716],{"className":1187,"code":2420,"language":1190,"meta":857,"style":857},[824,5717,5718,5740,5744,5752,5762,5772,5782,5792,5802,5812,5822,5832,5842,5852,5862,5872,5882,5892,5902,5912,5922,5932,5942,5952],{"__ignoreMap":857},[861,5719,5720,5722,5724,5726,5728,5730,5732,5734,5736,5738],{"class":863,"line":864},[861,5721,1198],{"class":1197},[861,5723,1882],{"class":1197},[861,5725,1202],{"class":1201},[861,5727,2433],{"class":1205},[861,5729,1209],{"class":1201},[861,5731,1212],{"class":1197},[861,5733,935],{"class":934},[861,5735,826],{"class":877},[861,5737,1219],{"class":934},[861,5739,1222],{"class":1201},[861,5741,5742],{"class":863,"line":871},[861,5743,906],{"emptyLinePlaceholder":8},[861,5745,5746,5748,5750],{"class":863,"line":903},[861,5747,1689],{"class":1323},[861,5749,2456],{"class":1692},[861,5751,1524],{"class":1201},[861,5753,5754,5756,5758,5760],{"class":863,"line":909},[861,5755,1700],{"class":1205},[861,5757,1341],{"class":1331},[861,5759,1705],{"class":1692},[861,5761,1222],{"class":1201},[861,5763,5764,5766,5768,5770],{"class":863,"line":915},[861,5765,2141],{"class":1205},[861,5767,1341],{"class":1331},[861,5769,1705],{"class":1692},[861,5771,1222],{"class":1201},[861,5773,5774,5776,5778,5780],{"class":863,"line":944},[861,5775,2152],{"class":1205},[861,5777,1341],{"class":1331},[861,5779,1705],{"class":1692},[861,5781,1222],{"class":1201},[861,5783,5784,5786,5788,5790],{"class":863,"line":949},[861,5785,2185],{"class":1205},[861,5787,1341],{"class":1331},[861,5789,1705],{"class":1692},[861,5791,1222],{"class":1201},[861,5793,5794,5796,5798,5800],{"class":863,"line":955},[861,5795,1753],{"class":1205},[861,5797,1341],{"class":1331},[861,5799,1705],{"class":1692},[861,5801,1222],{"class":1201},[861,5803,5804,5806,5808,5810],{"class":863,"line":1314},[861,5805,2239],{"class":1205},[861,5807,1341],{"class":1331},[861,5809,1705],{"class":1692},[861,5811,1222],{"class":1201},[861,5813,5814,5816,5818,5820],{"class":863,"line":1320},[861,5815,2250],{"class":1205},[861,5817,1341],{"class":1331},[861,5819,1705],{"class":1692},[861,5821,1222],{"class":1201},[861,5823,5824,5826,5828,5830],{"class":863,"line":1391},[861,5825,2272],{"class":1205},[861,5827,1341],{"class":1331},[861,5829,1705],{"class":1692},[861,5831,1222],{"class":1201},[861,5833,5834,5836,5838,5840],{"class":863,"line":1664},[861,5835,2283],{"class":1205},[861,5837,1341],{"class":1331},[861,5839,1705],{"class":1692},[861,5841,1222],{"class":1201},[861,5843,5844,5846,5848,5850],{"class":863,"line":1670},[861,5845,2294],{"class":1205},[861,5847,1341],{"class":1331},[861,5849,1705],{"class":1692},[861,5851,1222],{"class":1201},[861,5853,5854,5856,5858,5860],{"class":863,"line":1802},[861,5855,2563],{"class":1205},[861,5857,1341],{"class":1331},[861,5859,1705],{"class":1692},[861,5861,1222],{"class":1201},[861,5863,5864,5866,5868,5870],{"class":863,"line":1815},[861,5865,2305],{"class":1205},[861,5867,1341],{"class":1331},[861,5869,1705],{"class":1692},[861,5871,1222],{"class":1201},[861,5873,5874,5876,5878,5880],{"class":863,"line":1820},[861,5875,2317],{"class":1205},[861,5877,1341],{"class":1331},[861,5879,1705],{"class":1692},[861,5881,1222],{"class":1201},[861,5883,5884,5886,5888,5890],{"class":863,"line":1825},[861,5885,2329],{"class":1205},[861,5887,1341],{"class":1331},[861,5889,1705],{"class":1692},[861,5891,1222],{"class":1201},[861,5893,5894,5896,5898,5900],{"class":863,"line":1834},[861,5895,2365],{"class":1205},[861,5897,1341],{"class":1331},[861,5899,1705],{"class":1692},[861,5901,1222],{"class":1201},[861,5903,5904,5906,5908,5910],{"class":863,"line":1846},[861,5905,2377],{"class":1205},[861,5907,1341],{"class":1331},[861,5909,1705],{"class":1692},[861,5911,1222],{"class":1201},[861,5913,5914,5916,5918,5920],{"class":863,"line":1859},[861,5915,2389],{"class":1205},[861,5917,1341],{"class":1331},[861,5919,1705],{"class":1692},[861,5921,1222],{"class":1201},[861,5923,5924,5926,5928,5930],{"class":863,"line":2314},[861,5925,2341],{"class":1205},[861,5927,1341],{"class":1331},[861,5929,1705],{"class":1692},[861,5931,1222],{"class":1201},[861,5933,5934,5936,5938,5940],{"class":863,"line":2326},[861,5935,2401],{"class":1205},[861,5937,1341],{"class":1331},[861,5939,1705],{"class":1692},[861,5941,1222],{"class":1201},[861,5943,5944,5946,5948,5950],{"class":863,"line":2338},[861,5945,2353],{"class":1205},[861,5947,1341],{"class":1331},[861,5949,1705],{"class":1692},[861,5951,1222],{"class":1201},[861,5953,5954],{"class":863,"line":2350},[861,5955,1736],{"class":1201},[829,5957],{},[844,5959,111],{"id":2668},[851,5961,5962],{"className":1187,"code":2671,"language":1190,"meta":857,"style":857},[824,5963,5964,5986,5990,5998,6008,6018,6030],{"__ignoreMap":857},[861,5965,5966,5968,5970,5972,5974,5976,5978,5980,5982,5984],{"class":863,"line":864},[861,5967,1198],{"class":1197},[861,5969,1882],{"class":1197},[861,5971,1202],{"class":1201},[861,5973,2684],{"class":1205},[861,5975,1209],{"class":1201},[861,5977,1212],{"class":1197},[861,5979,935],{"class":934},[861,5981,826],{"class":877},[861,5983,1219],{"class":934},[861,5985,1222],{"class":1201},[861,5987,5988],{"class":863,"line":871},[861,5989,906],{"emptyLinePlaceholder":8},[861,5991,5992,5994,5996],{"class":863,"line":903},[861,5993,1689],{"class":1323},[861,5995,2707],{"class":1692},[861,5997,1524],{"class":1201},[861,5999,6000,6002,6004,6006],{"class":863,"line":909},[861,6001,1700],{"class":1205},[861,6003,1341],{"class":1331},[861,6005,1705],{"class":1692},[861,6007,1222],{"class":1201},[861,6009,6010,6012,6014,6016],{"class":863,"line":915},[861,6011,2724],{"class":1205},[861,6013,1341],{"class":1331},[861,6015,1705],{"class":1692},[861,6017,1222],{"class":1201},[861,6019,6020,6022,6024,6026,6028],{"class":863,"line":944},[861,6021,2735],{"class":1205},[861,6023,1341],{"class":1331},[861,6025,1705],{"class":1692},[861,6027,1974],{"class":1201},[861,6029,2744],{"class":867},[861,6031,6032],{"class":863,"line":949},[861,6033,1736],{"class":1201},[829,6035],{},[844,6037,115],{"id":2753},[851,6039,6040],{"className":1187,"code":2756,"language":1190,"meta":857,"style":857},[824,6041,6042,6064,6068,6076,6086,6096,6106,6116,6126,6136,6146,6158,6168,6178,6190,6200,6210,6220,6230,6240,6250,6260,6270,6280,6290,6300,6310],{"__ignoreMap":857},[861,6043,6044,6046,6048,6050,6052,6054,6056,6058,6060,6062],{"class":863,"line":864},[861,6045,1198],{"class":1197},[861,6047,1882],{"class":1197},[861,6049,1202],{"class":1201},[861,6051,2769],{"class":1205},[861,6053,1209],{"class":1201},[861,6055,1212],{"class":1197},[861,6057,935],{"class":934},[861,6059,826],{"class":877},[861,6061,1219],{"class":934},[861,6063,1222],{"class":1201},[861,6065,6066],{"class":863,"line":871},[861,6067,906],{"emptyLinePlaceholder":8},[861,6069,6070,6072,6074],{"class":863,"line":903},[861,6071,1689],{"class":1323},[861,6073,2792],{"class":1692},[861,6075,1524],{"class":1201},[861,6077,6078,6080,6082,6084],{"class":863,"line":909},[861,6079,1700],{"class":1205},[861,6081,1341],{"class":1331},[861,6083,1705],{"class":1692},[861,6085,1222],{"class":1201},[861,6087,6088,6090,6092,6094],{"class":863,"line":915},[861,6089,2809],{"class":1205},[861,6091,1341],{"class":1331},[861,6093,1705],{"class":1692},[861,6095,1222],{"class":1201},[861,6097,6098,6100,6102,6104],{"class":863,"line":944},[861,6099,2820],{"class":1205},[861,6101,1341],{"class":1331},[861,6103,1705],{"class":1692},[861,6105,1222],{"class":1201},[861,6107,6108,6110,6112,6114],{"class":863,"line":949},[861,6109,2831],{"class":1205},[861,6111,1341],{"class":1331},[861,6113,1705],{"class":1692},[861,6115,1222],{"class":1201},[861,6117,6118,6120,6122,6124],{"class":863,"line":955},[861,6119,2842],{"class":1205},[861,6121,1341],{"class":1331},[861,6123,1705],{"class":1692},[861,6125,1222],{"class":1201},[861,6127,6128,6130,6132,6134],{"class":863,"line":1314},[861,6129,2853],{"class":1205},[861,6131,1341],{"class":1331},[861,6133,1705],{"class":1692},[861,6135,1222],{"class":1201},[861,6137,6138,6140,6142,6144],{"class":863,"line":1320},[861,6139,2864],{"class":1205},[861,6141,1341],{"class":1331},[861,6143,1810],{"class":1692},[861,6145,1222],{"class":1201},[861,6147,6148,6150,6152,6154,6156],{"class":863,"line":1391},[861,6149,2875],{"class":1205},[861,6151,1341],{"class":1331},[861,6153,1705],{"class":1692},[861,6155,2882],{"class":1201},[861,6157,2885],{"class":867},[861,6159,6160,6162,6164,6166],{"class":863,"line":1664},[861,6161,2890],{"class":1205},[861,6163,1341],{"class":1331},[861,6165,1705],{"class":1692},[861,6167,1222],{"class":1201},[861,6169,6170,6172,6174,6176],{"class":863,"line":1670},[861,6171,2901],{"class":1205},[861,6173,1341],{"class":1331},[861,6175,1705],{"class":1692},[861,6177,1222],{"class":1201},[861,6179,6180,6182,6184,6186,6188],{"class":863,"line":1802},[861,6181,2912],{"class":1205},[861,6183,1341],{"class":1331},[861,6185,1705],{"class":1692},[861,6187,2919],{"class":1201},[861,6189,2922],{"class":867},[861,6191,6192,6194,6196,6198],{"class":863,"line":1815},[861,6193,2927],{"class":1205},[861,6195,1341],{"class":1331},[861,6197,1705],{"class":1692},[861,6199,1222],{"class":1201},[861,6201,6202,6204,6206,6208],{"class":863,"line":1820},[861,6203,2938],{"class":1205},[861,6205,1341],{"class":1331},[861,6207,1705],{"class":1692},[861,6209,1222],{"class":1201},[861,6211,6212,6214,6216,6218],{"class":863,"line":1825},[861,6213,2949],{"class":1205},[861,6215,1341],{"class":1331},[861,6217,1705],{"class":1692},[861,6219,1222],{"class":1201},[861,6221,6222,6224,6226,6228],{"class":863,"line":1834},[861,6223,2960],{"class":1205},[861,6225,1341],{"class":1331},[861,6227,1705],{"class":1692},[861,6229,1222],{"class":1201},[861,6231,6232,6234,6236,6238],{"class":863,"line":1846},[861,6233,2971],{"class":1205},[861,6235,2974],{"class":1331},[861,6237,1705],{"class":1692},[861,6239,1222],{"class":1201},[861,6241,6242,6244,6246,6248],{"class":863,"line":1859},[861,6243,2983],{"class":1205},[861,6245,1341],{"class":1331},[861,6247,1705],{"class":1692},[861,6249,1222],{"class":1201},[861,6251,6252,6254,6256,6258],{"class":863,"line":2314},[861,6253,2994],{"class":1205},[861,6255,1341],{"class":1331},[861,6257,1705],{"class":1692},[861,6259,1222],{"class":1201},[861,6261,6262,6264,6266,6268],{"class":863,"line":2326},[861,6263,3005],{"class":1205},[861,6265,1341],{"class":1331},[861,6267,1797],{"class":1692},[861,6269,1222],{"class":1201},[861,6271,6272,6274,6276,6278],{"class":863,"line":2338},[861,6273,3016],{"class":1205},[861,6275,1341],{"class":1331},[861,6277,1797],{"class":1692},[861,6279,1222],{"class":1201},[861,6281,6282,6284,6286,6288],{"class":863,"line":2350},[861,6283,3027],{"class":1205},[861,6285,1341],{"class":1331},[861,6287,1797],{"class":1692},[861,6289,1222],{"class":1201},[861,6291,6292,6294,6296,6298],{"class":863,"line":2362},[861,6293,3038],{"class":1205},[861,6295,1341],{"class":1331},[861,6297,1810],{"class":1692},[861,6299,1222],{"class":1201},[861,6301,6302,6304,6306,6308],{"class":863,"line":2374},[861,6303,3049],{"class":1205},[861,6305,1341],{"class":1331},[861,6307,1810],{"class":1692},[861,6309,1222],{"class":1201},[861,6311,6312],{"class":863,"line":2386},[861,6313,1736],{"class":1201},[829,6315],{},[844,6317,107],{"id":3064},[851,6319,6320],{"className":1187,"code":3067,"language":1190,"meta":857,"style":857},[824,6321,6322,6344,6348,6356,6366,6376],{"__ignoreMap":857},[861,6323,6324,6326,6328,6330,6332,6334,6336,6338,6340,6342],{"class":863,"line":864},[861,6325,1198],{"class":1197},[861,6327,1882],{"class":1197},[861,6329,1202],{"class":1201},[861,6331,3080],{"class":1205},[861,6333,1209],{"class":1201},[861,6335,1212],{"class":1197},[861,6337,935],{"class":934},[861,6339,826],{"class":877},[861,6341,1219],{"class":934},[861,6343,1222],{"class":1201},[861,6345,6346],{"class":863,"line":871},[861,6347,906],{"emptyLinePlaceholder":8},[861,6349,6350,6352,6354],{"class":863,"line":903},[861,6351,1689],{"class":1323},[861,6353,3103],{"class":1692},[861,6355,1524],{"class":1201},[861,6357,6358,6360,6362,6364],{"class":863,"line":909},[861,6359,1700],{"class":1205},[861,6361,1341],{"class":1331},[861,6363,1705],{"class":1692},[861,6365,1222],{"class":1201},[861,6367,6368,6370,6372,6374],{"class":863,"line":915},[861,6369,2735],{"class":1205},[861,6371,1341],{"class":1331},[861,6373,1705],{"class":1692},[861,6375,1222],{"class":1201},[861,6377,6378],{"class":863,"line":944},[861,6379,1736],{"class":1201},[829,6381],{},[844,6383,99],{"id":3134},[851,6385,6386],{"className":1187,"code":3137,"language":1190,"meta":857,"style":857},[824,6387,6388,6418,6422,6430,6440,6452,6462,6472,6476,6480,6488,6498,6528,6538],{"__ignoreMap":857},[861,6389,6390,6392,6394,6396,6398,6400,6402,6404,6406,6408,6410,6412,6414,6416],{"class":863,"line":864},[861,6391,1198],{"class":1197},[861,6393,1882],{"class":1197},[861,6395,1202],{"class":1201},[861,6397,3150],{"class":1205},[861,6399,1248],{"class":1201},[861,6401,3155],{"class":1205},[861,6403,1248],{"class":1201},[861,6405,3160],{"class":1205},[861,6407,1209],{"class":1201},[861,6409,1212],{"class":1197},[861,6411,935],{"class":934},[861,6413,826],{"class":877},[861,6415,1219],{"class":934},[861,6417,1222],{"class":1201},[861,6419,6420],{"class":863,"line":871},[861,6421,906],{"emptyLinePlaceholder":8},[861,6423,6424,6426,6428],{"class":863,"line":903},[861,6425,1689],{"class":1323},[861,6427,3183],{"class":1692},[861,6429,1524],{"class":1201},[861,6431,6432,6434,6436,6438],{"class":863,"line":909},[861,6433,1700],{"class":1205},[861,6435,1341],{"class":1331},[861,6437,1705],{"class":1692},[861,6439,1222],{"class":1201},[861,6441,6442,6444,6446,6448,6450],{"class":863,"line":915},[861,6443,3200],{"class":1205},[861,6445,1341],{"class":1331},[861,6447,1705],{"class":1692},[861,6449,3207],{"class":1201},[861,6451,3210],{"class":867},[861,6453,6454,6456,6458,6460],{"class":863,"line":944},[861,6455,3215],{"class":1205},[861,6457,1341],{"class":1331},[861,6459,1705],{"class":1692},[861,6461,1222],{"class":1201},[861,6463,6464,6466,6468,6470],{"class":863,"line":949},[861,6465,3226],{"class":1205},[861,6467,1341],{"class":1331},[861,6469,1705],{"class":1692},[861,6471,1222],{"class":1201},[861,6473,6474],{"class":863,"line":955},[861,6475,1736],{"class":1201},[861,6477,6478],{"class":863,"line":1314},[861,6479,906],{"emptyLinePlaceholder":8},[861,6481,6482,6484,6486],{"class":863,"line":1320},[861,6483,1689],{"class":1323},[861,6485,3247],{"class":1692},[861,6487,1524],{"class":1201},[861,6489,6490,6492,6494,6496],{"class":863,"line":1391},[861,6491,1753],{"class":1205},[861,6493,1341],{"class":1331},[861,6495,1705],{"class":1692},[861,6497,1222],{"class":1201},[861,6499,6500,6502,6504,6506,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526],{"class":863,"line":1664},[861,6501,2070],{"class":1205},[861,6503,1341],{"class":1331},[861,6505,935],{"class":934},[861,6507,3270],{"class":877},[861,6509,1219],{"class":934},[861,6511,3275],{"class":1331},[861,6513,935],{"class":934},[861,6515,3280],{"class":877},[861,6517,1219],{"class":934},[861,6519,3275],{"class":1331},[861,6521,935],{"class":934},[861,6523,3289],{"class":877},[861,6525,1219],{"class":934},[861,6527,1222],{"class":1201},[861,6529,6530,6532,6534,6536],{"class":863,"line":1670},[861,6531,3298],{"class":1205},[861,6533,1341],{"class":1331},[861,6535,1705],{"class":1692},[861,6537,1856],{"class":1201},[861,6539,6540],{"class":863,"line":1802},[861,6541,1736],{"class":1201},[829,6543],{},[844,6545,3314],{"id":3313},[851,6547,6548],{"className":1187,"code":3317,"language":1190,"meta":857,"style":857},[824,6549,6550,6576,6580,6628,6652,6656,6664,6676,6686,6696,6706,6716,6726,6736,6746,6756,6770,6784,6798,6812,6826,6836,6846,6856],{"__ignoreMap":857},[861,6551,6552,6554,6556,6558,6560,6562,6564,6566,6568,6570,6572,6574],{"class":863,"line":864},[861,6553,1198],{"class":1197},[861,6555,1882],{"class":1197},[861,6557,1202],{"class":1201},[861,6559,3330],{"class":1205},[861,6561,1248],{"class":1201},[861,6563,3335],{"class":1205},[861,6565,1209],{"class":1201},[861,6567,1212],{"class":1197},[861,6569,935],{"class":934},[861,6571,826],{"class":877},[861,6573,1219],{"class":934},[861,6575,1222],{"class":1201},[861,6577,6578],{"class":863,"line":871},[861,6579,906],{"emptyLinePlaceholder":8},[861,6581,6582,6584,6586,6588,6590,6592,6594,6596,6598,6600,6602,6604,6606,6608,6610,6612,6614,6616,6618,6620,6622,6624,6626],{"class":863,"line":903},[861,6583,3356],{"class":1323},[861,6585,3359],{"class":1692},[861,6587,1332],{"class":1331},[861,6589,935],{"class":934},[861,6591,3366],{"class":877},[861,6593,1219],{"class":934},[861,6595,3275],{"class":1331},[861,6597,935],{"class":934},[861,6599,3375],{"class":877},[861,6601,1219],{"class":934},[861,6603,3275],{"class":1331},[861,6605,935],{"class":934},[861,6607,3384],{"class":877},[861,6609,1219],{"class":934},[861,6611,3275],{"class":1331},[861,6613,935],{"class":934},[861,6615,3393],{"class":877},[861,6617,1219],{"class":934},[861,6619,3275],{"class":1331},[861,6621,935],{"class":934},[861,6623,3402],{"class":877},[861,6625,1219],{"class":934},[861,6627,1222],{"class":1201},[861,6629,6630,6632,6634,6636,6638,6640,6642,6644,6646,6648,6650],{"class":863,"line":909},[861,6631,3356],{"class":1323},[861,6633,3413],{"class":1692},[861,6635,1332],{"class":1331},[861,6637,935],{"class":934},[861,6639,3420],{"class":877},[861,6641,1219],{"class":934},[861,6643,3275],{"class":1331},[861,6645,935],{"class":934},[861,6647,3429],{"class":877},[861,6649,1219],{"class":934},[861,6651,1222],{"class":1201},[861,6653,6654],{"class":863,"line":915},[861,6655,906],{"emptyLinePlaceholder":8},[861,6657,6658,6660,6662],{"class":863,"line":944},[861,6659,1689],{"class":1323},[861,6661,3444],{"class":1692},[861,6663,1524],{"class":1201},[861,6665,6666,6668,6670,6672,6674],{"class":863,"line":949},[861,6667,3451],{"class":1205},[861,6669,1341],{"class":1331},[861,6671,1705],{"class":1692},[861,6673,2882],{"class":1201},[861,6675,3460],{"class":867},[861,6677,6678,6680,6682,6684],{"class":863,"line":955},[861,6679,3465],{"class":1205},[861,6681,1341],{"class":1331},[861,6683,1705],{"class":1692},[861,6685,1222],{"class":1201},[861,6687,6688,6690,6692,6694],{"class":863,"line":1314},[861,6689,3476],{"class":1205},[861,6691,1341],{"class":1331},[861,6693,1705],{"class":1692},[861,6695,1222],{"class":1201},[861,6697,6698,6700,6702,6704],{"class":863,"line":1320},[861,6699,3487],{"class":1205},[861,6701,1341],{"class":1331},[861,6703,1705],{"class":1692},[861,6705,1222],{"class":1201},[861,6707,6708,6710,6712,6714],{"class":863,"line":1391},[861,6709,3498],{"class":1205},[861,6711,1341],{"class":1331},[861,6713,1705],{"class":1692},[861,6715,1222],{"class":1201},[861,6717,6718,6720,6722,6724],{"class":863,"line":1664},[861,6719,3509],{"class":1205},[861,6721,1341],{"class":1331},[861,6723,3359],{"class":1692},[861,6725,1222],{"class":1201},[861,6727,6728,6730,6732,6734],{"class":863,"line":1670},[861,6729,3520],{"class":1205},[861,6731,1341],{"class":1331},[861,6733,3359],{"class":1692},[861,6735,1222],{"class":1201},[861,6737,6738,6740,6742,6744],{"class":863,"line":1802},[861,6739,3531],{"class":1205},[861,6741,1341],{"class":1331},[861,6743,3359],{"class":1692},[861,6745,1222],{"class":1201},[861,6747,6748,6750,6752,6754],{"class":863,"line":1815},[861,6749,3542],{"class":1205},[861,6751,1341],{"class":1331},[861,6753,3413],{"class":1692},[861,6755,1222],{"class":1201},[861,6757,6758,6760,6762,6764,6766,6768],{"class":863,"line":1820},[861,6759,3553],{"class":1205},[861,6761,1341],{"class":1331},[861,6763,1810],{"class":1692},[861,6765,3275],{"class":1331},[861,6767,3562],{"class":1692},[861,6769,1222],{"class":1201},[861,6771,6772,6774,6776,6778,6780,6782],{"class":863,"line":1825},[861,6773,3569],{"class":1205},[861,6775,1341],{"class":1331},[861,6777,1810],{"class":1692},[861,6779,3275],{"class":1331},[861,6781,3562],{"class":1692},[861,6783,1222],{"class":1201},[861,6785,6786,6788,6790,6792,6794,6796],{"class":863,"line":1834},[861,6787,3584],{"class":1205},[861,6789,1341],{"class":1331},[861,6791,1810],{"class":1692},[861,6793,3275],{"class":1331},[861,6795,3562],{"class":1692},[861,6797,1222],{"class":1201},[861,6799,6800,6802,6804,6806,6808,6810],{"class":863,"line":1846},[861,6801,3599],{"class":1205},[861,6803,1341],{"class":1331},[861,6805,1810],{"class":1692},[861,6807,3275],{"class":1331},[861,6809,3562],{"class":1692},[861,6811,1222],{"class":1201},[861,6813,6814,6816,6818,6820,6822,6824],{"class":863,"line":1859},[861,6815,3614],{"class":1205},[861,6817,1341],{"class":1331},[861,6819,1810],{"class":1692},[861,6821,3275],{"class":1331},[861,6823,3562],{"class":1692},[861,6825,1222],{"class":1201},[861,6827,6828,6830,6832,6834],{"class":863,"line":2314},[861,6829,3629],{"class":1205},[861,6831,1341],{"class":1331},[861,6833,1705],{"class":1692},[861,6835,1222],{"class":1201},[861,6837,6838,6840,6842,6844],{"class":863,"line":2326},[861,6839,3640],{"class":1205},[861,6841,1341],{"class":1331},[861,6843,1705],{"class":1692},[861,6845,1222],{"class":1201},[861,6847,6848,6850,6852,6854],{"class":863,"line":2338},[861,6849,2735],{"class":1205},[861,6851,1341],{"class":1331},[861,6853,1705],{"class":1692},[861,6855,1222],{"class":1201},[861,6857,6858],{"class":863,"line":2350},[861,6859,1736],{"class":1201},[829,6861],{},[844,6863,3666],{"id":3665},[851,6865,6866],{"className":1187,"code":3669,"language":1190,"meta":857,"style":857},[824,6867,6868,6890,6894,6902,6912,6922,6932],{"__ignoreMap":857},[861,6869,6870,6872,6874,6876,6878,6880,6882,6884,6886,6888],{"class":863,"line":864},[861,6871,1198],{"class":1197},[861,6873,1882],{"class":1197},[861,6875,1202],{"class":1201},[861,6877,3682],{"class":1205},[861,6879,1209],{"class":1201},[861,6881,1212],{"class":1197},[861,6883,935],{"class":934},[861,6885,826],{"class":877},[861,6887,1219],{"class":934},[861,6889,1222],{"class":1201},[861,6891,6892],{"class":863,"line":871},[861,6893,906],{"emptyLinePlaceholder":8},[861,6895,6896,6898,6900],{"class":863,"line":903},[861,6897,1689],{"class":1323},[861,6899,3705],{"class":1692},[861,6901,1524],{"class":1201},[861,6903,6904,6906,6908,6910],{"class":863,"line":909},[861,6905,3712],{"class":1205},[861,6907,1341],{"class":1331},[861,6909,1705],{"class":1692},[861,6911,1222],{"class":1201},[861,6913,6914,6916,6918,6920],{"class":863,"line":915},[861,6915,3640],{"class":1205},[861,6917,1341],{"class":1331},[861,6919,1705],{"class":1692},[861,6921,1222],{"class":1201},[861,6923,6924,6926,6928,6930],{"class":863,"line":944},[861,6925,2735],{"class":1205},[861,6927,1341],{"class":1331},[861,6929,1705],{"class":1692},[861,6931,1222],{"class":1201},[861,6933,6934],{"class":863,"line":949},[861,6935,1736],{"class":1201},[829,6937],{},[832,6939,3748],{"id":3747},[851,6941,6942],{"className":1187,"code":3751,"language":1190,"meta":857,"style":857},[824,6943,6944,6978,6982,6998,7028,7058,7062,7066,7104,7118,7122,7126,7138,7148,7158,7180,7190,7200,7204,7208,7220,7230,7238,7242,7246,7254,7264,7274,7284,7288,7292],{"__ignoreMap":857},[861,6945,6946,6948,6950,6952,6954,6956,6958,6960,6962,6964,6966,6968,6970,6972,6974,6976],{"class":863,"line":864},[861,6947,1198],{"class":1197},[861,6949,1882],{"class":1197},[861,6951,1202],{"class":1201},[861,6953,3764],{"class":1205},[861,6955,1248],{"class":1201},[861,6957,3769],{"class":1205},[861,6959,1248],{"class":1201},[861,6961,3774],{"class":1205},[861,6963,1248],{"class":1201},[861,6965,3779],{"class":1205},[861,6967,1209],{"class":1201},[861,6969,1212],{"class":1197},[861,6971,935],{"class":934},[861,6973,826],{"class":877},[861,6975,1219],{"class":934},[861,6977,1222],{"class":1201},[861,6979,6980],{"class":863,"line":871},[861,6981,906],{"emptyLinePlaceholder":8},[861,6983,6984,6986,6988,6990,6992,6994,6996],{"class":863,"line":903},[861,6985,3356],{"class":1323},[861,6987,3802],{"class":1692},[861,6989,3805],{"class":1201},[861,6991,3809],{"class":3808},[861,6993,3812],{"class":1201},[861,6995,3815],{"class":1331},[861,6997,3818],{"class":1201},[861,6999,7000,7002,7004,7006,7008,7010,7012,7014,7016,7018,7020,7022,7024,7026],{"class":863,"line":909},[861,7001,3823],{"class":1331},[861,7003,1202],{"class":1201},[861,7005,3356],{"class":1205},[861,7007,1341],{"class":1331},[861,7009,935],{"class":934},[861,7011,3834],{"class":877},[861,7013,1219],{"class":934},[861,7015,1974],{"class":1201},[861,7017,3841],{"class":1205},[861,7019,1341],{"class":1331},[861,7021,3846],{"class":1692},[861,7023,3805],{"class":1201},[861,7025,3809],{"class":3808},[861,7027,3853],{"class":1201},[861,7029,7030,7032,7034,7036,7038,7040,7042,7044,7046,7048,7050,7052,7054,7056],{"class":863,"line":915},[861,7031,3823],{"class":1331},[861,7033,1202],{"class":1201},[861,7035,3356],{"class":1205},[861,7037,1341],{"class":1331},[861,7039,935],{"class":934},[861,7041,3868],{"class":877},[861,7043,1219],{"class":934},[861,7045,1974],{"class":1201},[861,7047,3841],{"class":1205},[861,7049,1341],{"class":1331},[861,7051,3879],{"class":1692},[861,7053,3805],{"class":1201},[861,7055,3809],{"class":3808},[861,7057,3886],{"class":1201},[861,7059,7060],{"class":863,"line":944},[861,7061,906],{"emptyLinePlaceholder":8},[861,7063,7064],{"class":863,"line":949},[861,7065,906],{"emptyLinePlaceholder":8},[861,7067,7068,7070,7072,7074,7076,7078,7080,7082,7084,7086,7088,7090,7092,7094,7096,7098,7100,7102],{"class":863,"line":955},[861,7069,3356],{"class":1323},[861,7071,3846],{"class":1692},[861,7073,3805],{"class":1201},[861,7075,3809],{"class":3808},[861,7077,3812],{"class":1201},[861,7079,3815],{"class":1331},[861,7081,3911],{"class":1692},[861,7083,3805],{"class":1201},[861,7085,3764],{"class":3808},[861,7087,3805],{"class":1201},[861,7089,3809],{"class":3808},[861,7091,3922],{"class":1201},[861,7093,1219],{"class":934},[861,7095,3927],{"class":877},[861,7097,1219],{"class":934},[861,7099,3812],{"class":1201},[861,7101,3934],{"class":1331},[861,7103,1524],{"class":1201},[861,7105,7106,7108,7110,7112,7114,7116],{"class":863,"line":1314},[861,7107,3941],{"class":1205},[861,7109,1341],{"class":1331},[861,7111,3946],{"class":1692},[861,7113,3805],{"class":1201},[861,7115,3809],{"class":3808},[861,7117,3953],{"class":1201},[861,7119,7120],{"class":863,"line":1320},[861,7121,3958],{"class":1201},[861,7123,7124],{"class":863,"line":1391},[861,7125,906],{"emptyLinePlaceholder":8},[861,7127,7128,7130,7132,7134,7136],{"class":863,"line":1664},[861,7129,1689],{"class":1323},[861,7131,3879],{"class":1692},[861,7133,3805],{"class":1201},[861,7135,3809],{"class":3808},[861,7137,3975],{"class":1201},[861,7139,7140,7142,7144,7146],{"class":863,"line":1670},[861,7141,3980],{"class":1205},[861,7143,1341],{"class":1331},[861,7145,1705],{"class":1692},[861,7147,1222],{"class":1201},[861,7149,7150,7152,7154,7156],{"class":863,"line":1802},[861,7151,3991],{"class":1205},[861,7153,1341],{"class":1331},[861,7155,1705],{"class":1692},[861,7157,1222],{"class":1201},[861,7159,7160,7162,7164,7166,7168,7170,7172,7174,7176,7178],{"class":863,"line":1815},[861,7161,3941],{"class":1205},[861,7163,1341],{"class":1331},[861,7165,4006],{"class":1692},[861,7167,4009],{"class":1201},[861,7169,4012],{"class":1331},[861,7171,4015],{"class":1692},[861,7173,4009],{"class":1201},[861,7175,4012],{"class":1331},[861,7177,1705],{"class":1692},[861,7179,1222],{"class":1201},[861,7181,7182,7184,7186,7188],{"class":863,"line":1820},[861,7183,4028],{"class":1205},[861,7185,1341],{"class":1331},[861,7187,1705],{"class":1692},[861,7189,1222],{"class":1201},[861,7191,7192,7194,7196,7198],{"class":863,"line":1825},[861,7193,4039],{"class":1205},[861,7195,1341],{"class":1331},[861,7197,1810],{"class":1692},[861,7199,1222],{"class":1201},[861,7201,7202],{"class":863,"line":1834},[861,7203,1736],{"class":1201},[861,7205,7206],{"class":863,"line":1846},[861,7207,906],{"emptyLinePlaceholder":8},[861,7209,7210,7212,7214,7216,7218],{"class":863,"line":1859},[861,7211,1689],{"class":1323},[861,7213,4060],{"class":1692},[861,7215,3805],{"class":1201},[861,7217,3809],{"class":3808},[861,7219,3975],{"class":1201},[861,7221,7222,7224,7226,7228],{"class":863,"line":2314},[861,7223,4071],{"class":1205},[861,7225,1341],{"class":1331},[861,7227,1705],{"class":1692},[861,7229,1510],{"class":1201},[861,7231,7232,7234,7236],{"class":863,"line":2326},[861,7233,3941],{"class":1205},[861,7235,1341],{"class":1331},[861,7237,4086],{"class":1692},[861,7239,7240],{"class":863,"line":2338},[861,7241,1736],{"class":1201},[861,7243,7244],{"class":863,"line":2350},[861,7245,906],{"emptyLinePlaceholder":8},[861,7247,7248,7250,7252],{"class":863,"line":2362},[861,7249,1689],{"class":1323},[861,7251,4015],{"class":1692},[861,7253,1524],{"class":1201},[861,7255,7256,7258,7260,7262],{"class":863,"line":2374},[861,7257,4107],{"class":1205},[861,7259,1341],{"class":1331},[861,7261,1705],{"class":1692},[861,7263,1510],{"class":1201},[861,7265,7266,7268,7270,7272],{"class":863,"line":2386},[861,7267,3991],{"class":1205},[861,7269,1341],{"class":1331},[861,7271,1705],{"class":1692},[861,7273,1222],{"class":1201},[861,7275,7276,7278,7280,7282],{"class":863,"line":2398},[861,7277,3980],{"class":1205},[861,7279,1341],{"class":1331},[861,7281,1705],{"class":1692},[861,7283,1222],{"class":1201},[861,7285,7286],{"class":863,"line":2410},[861,7287,1736],{"class":1201},[861,7289,7290],{"class":863,"line":4140},[861,7291,906],{"emptyLinePlaceholder":8},[861,7293,7294,7296,7298,7300,7302,7304,7306,7308,7310,7312,7314,7316,7318,7320,7322,7324,7326,7328,7330,7332,7334,7336,7338,7340],{"class":863,"line":4145},[861,7295,3356],{"class":1323},[861,7297,3946],{"class":1692},[861,7299,3805],{"class":1201},[861,7301,3809],{"class":3808},[861,7303,3812],{"class":1201},[861,7305,3815],{"class":1331},[861,7307,4060],{"class":1692},[861,7309,3805],{"class":1201},[861,7311,3809],{"class":3808},[861,7313,4166],{"class":1201},[861,7315,4012],{"class":1331},[861,7317,4015],{"class":1692},[861,7319,4009],{"class":1201},[861,7321,4012],{"class":1331},[861,7323,1705],{"class":1692},[861,7325,3275],{"class":1331},[861,7327,4181],{"class":1201},[861,7329,3809],{"class":1692},[861,7331,4186],{"class":1331},[861,7333,4189],{"class":1201},[861,7335,4192],{"class":1205},[861,7337,1341],{"class":1331},[861,7339,1705],{"class":1692},[861,7341,4199],{"class":1201},[829,7343],{},[832,7345,4205],{"id":4204},[851,7347,7348],{"className":1187,"code":4208,"language":1190,"meta":857,"style":857},[824,7349,7350,7372,7376,7384,7396,7408,7420,7432,7444],{"__ignoreMap":857},[861,7351,7352,7354,7356,7358,7360,7362,7364,7366,7368,7370],{"class":863,"line":864},[861,7353,1198],{"class":1197},[861,7355,1882],{"class":1197},[861,7357,1202],{"class":1201},[861,7359,4221],{"class":1205},[861,7361,1209],{"class":1201},[861,7363,1212],{"class":1197},[861,7365,935],{"class":934},[861,7367,826],{"class":877},[861,7369,1219],{"class":934},[861,7371,1222],{"class":1201},[861,7373,7374],{"class":863,"line":871},[861,7375,906],{"emptyLinePlaceholder":8},[861,7377,7378,7380,7382],{"class":863,"line":903},[861,7379,1689],{"class":1323},[861,7381,4244],{"class":1692},[861,7383,1524],{"class":1201},[861,7385,7386,7388,7390,7392,7394],{"class":863,"line":909},[861,7387,4251],{"class":1205},[861,7389,1341],{"class":1331},[861,7391,1705],{"class":1692},[861,7393,4258],{"class":1201},[861,7395,4261],{"class":867},[861,7397,7398,7400,7402,7404,7406],{"class":863,"line":915},[861,7399,4266],{"class":1205},[861,7401,1341],{"class":1331},[861,7403,1705],{"class":1692},[861,7405,4273],{"class":1201},[861,7407,4276],{"class":867},[861,7409,7410,7412,7414,7416,7418],{"class":863,"line":944},[861,7411,4281],{"class":1205},[861,7413,1341],{"class":1331},[861,7415,1810],{"class":1692},[861,7417,4288],{"class":1201},[861,7419,4291],{"class":867},[861,7421,7422,7424,7426,7428,7430],{"class":863,"line":949},[861,7423,4296],{"class":1205},[861,7425,1341],{"class":1331},[861,7427,1705],{"class":1692},[861,7429,4303],{"class":1201},[861,7431,4306],{"class":867},[861,7433,7434,7436,7438,7440,7442],{"class":863,"line":955},[861,7435,4311],{"class":1205},[861,7437,1341],{"class":1331},[861,7439,1705],{"class":1692},[861,7441,4318],{"class":1201},[861,7443,4321],{"class":867},[861,7445,7446],{"class":863,"line":1314},[861,7447,1736],{"class":1201},[821,7449,4328,7450,4332],{},[824,7451,4331],{},[4334,7453,4336],{},{"title":857,"searchDepth":871,"depth":871,"links":7455},[7456,7460,7471,7472],{"id":834,"depth":871,"text":835,"children":7457},[7458,7459],{"id":846,"depth":903,"text":297},{"id":1357,"depth":903,"text":1465},{"id":1866,"depth":871,"text":1867,"children":7461},[7462,7463,7464,7465,7466,7467,7468,7469,7470],{"id":1870,"depth":903,"text":87},{"id":2085,"depth":903,"text":91},{"id":2417,"depth":903,"text":95},{"id":2668,"depth":903,"text":111},{"id":2753,"depth":903,"text":115},{"id":3064,"depth":903,"text":107},{"id":3134,"depth":903,"text":99},{"id":3313,"depth":903,"text":3314},{"id":3665,"depth":903,"text":3666},{"id":3747,"depth":871,"text":3748},{"id":4204,"depth":871,"text":4205},{},{"title":131,"description":4356},1780436288346]