'use strict';Object.defineProperty(exports,Symbol.toStringTag,{value:'Module'});const validateGlobalTld=require('../_virtual/validate-global-tld.cjs'),require$$0=require('node:path'),fetchTextByLine=require('./lib/fetch-text-by-line.cjs'),trie=require('./lib/trie.cjs'),dir=require('./constants/dir.cjs'),domains=require('./constants/domains.cjs'),require$$5=require('tldts-experimental'),looseTldtsOpt=require('./constants/loose-tldts-opt.cjs');var hasRequiredValidateGlobalTld; function requireValidateGlobalTld () { if (hasRequiredValidateGlobalTld) return validateGlobalTld.__exports; hasRequiredValidateGlobalTld = 1; Object.defineProperty(validateGlobalTld.__exports, "__esModule", { value: true }); const _nodepath = /*#__PURE__*/ _interop_require_default(require$$0); const _fetchtextbyline = /*@__PURE__*/ fetchTextByLine.__require(); const _trie = /*@__PURE__*/ trie.__require(); const _dir = /*@__PURE__*/ dir.__require(); const _domains = /*@__PURE__*/ domains.__require(); const _tldtsexperimental = /*#__PURE__*/ _interop_require_default(require$$5); const _loosetldtsopt = /*@__PURE__*/ looseTldtsOpt.__require(); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (async ()=>{ const trie = new _trie.HostnameSmolTrie(); const extraWhiteTLDs = new Set(); for await (const line of (0, _fetchtextbyline.readFileByLine)(_nodepath.default.join(_dir.OUTPUT_SURGE_DIR, 'non_ip', 'domestic.conf'))){ const [type, domain] = line.split(','); if (type !== 'DOMAIN' && type !== 'DOMAIN-SUFFIX') { continue; } if (domain === 'this_ruleset_is_made_by_sukkaw.ruleset.skk.moe') { continue; } const tld = _tldtsexperimental.default.getPublicSuffix(domain, _loosetldtsopt.looseTldtsOpt); if (tld) { extraWhiteTLDs.add(tld); } } for await (const line of (0, _fetchtextbyline.readFileByLine)(_nodepath.default.join(_dir.SOURCE_DIR, 'non_ip', 'global.conf'))){ const [type, domain] = line.split(','); switch(type){ case 'DOMAIN': trie.add(domain); break; case 'DOMAIN-SUFFIX': trie.add(domain, true); break; } } _domains.ICP_TLD.forEach((tld)=>trie.whitelist(tld, true)); extraWhiteTLDs.forEach((tld)=>trie.whitelist(tld, true)); console.log(trie.dump().join('\n')); })(); return validateGlobalTld.__exports; }exports.__require=requireValidateGlobalTld;