[{"data":1,"prerenderedAt":14757},["ShallowReactive",2],{"navigation":3,"/specifications/compliance-standards":506,"/specifications/compliance-standards-surround":14753},[4,66,204,292,339,402,450,482],{"title":5,"icon":6,"path":7,"stem":8,"children":9},"Whitepaper","i-lucide-file-text","/whitepaper","1.whitepaper",[10,13,17,22,27,32,37,42,47,51,56,61],{"title":5,"path":7,"stem":11,"icon":12},"1.whitepaper/index","i-heroicons-document-text",{"title":14,"path":15,"stem":16,"icon":12},"Executive Summary","/whitepaper/executive-summary","1.whitepaper/1.executive-summary",{"title":18,"path":19,"stem":20,"icon":21},"Investment Opportunity","/whitepaper/investment-opportunity","1.whitepaper/10.investment-opportunity","i-heroicons-banknotes",{"title":23,"path":24,"stem":25,"icon":26},"Risk Analysis","/whitepaper/risk-analysis","1.whitepaper/11.risk-analysis","i-lucide-shield-alert",{"title":28,"path":29,"stem":30,"icon":31},"Problem Statement","/whitepaper/problem-statement","1.whitepaper/2.problem-statement","i-heroicons-exclamation-triangle",{"title":33,"path":34,"stem":35,"icon":36},"Solution Overview","/whitepaper/solution-overview","1.whitepaper/3.solution-overview","i-heroicons-light-bulb",{"title":38,"path":39,"stem":40,"icon":41},"Market Opportunity","/whitepaper/market-opportunity","1.whitepaper/4.market-opportunity","i-heroicons-chart-bar",{"title":43,"path":44,"stem":45,"icon":46},"Technology Architecture","/whitepaper/technology-architecture","1.whitepaper/5.technology-architecture","i-heroicons-cog",{"title":48,"path":49,"stem":50,"icon":21},"Business Model","/whitepaper/business-model","1.whitepaper/6.business-model",{"title":52,"path":53,"stem":54,"icon":55},"Competitive Advantages","/whitepaper/competitive-advantages","1.whitepaper/7.competitive-advantages","i-heroicons-rocket-launch",{"title":57,"path":58,"stem":59,"icon":60},"Roadmap & Milestones","/whitepaper/roadmap-milestones","1.whitepaper/8.roadmap-milestones","i-heroicons-map",{"title":62,"path":63,"stem":64,"icon":65},"Team & Advisors","/whitepaper/team-advisors","1.whitepaper/9.team-advisors","i-heroicons-users",{"title":67,"icon":68,"path":69,"stem":70,"children":71},"Techniques","i-lucide-graduation-cap","/techniques","2.techniques",[72,75,107,139,171],{"title":67,"path":69,"stem":73,"icon":74},"2.techniques/index","i-heroicons-academic-cap",{"title":76,"path":77,"stem":78,"children":79,"icon":81,"parent":70,"order":82},"Remote Viewing","/techniques/remote-viewing","2.techniques/1.remote-viewing/index",[80,83,88,93,98,103],{"title":76,"path":77,"stem":78,"icon":81,"parent":70,"order":82},"i-lucide-eye",1,{"title":84,"path":85,"stem":86,"icon":87},"Controlled Remote Viewing (CRV)","/techniques/remote-viewing/controlled-remote-viewing-crv","2.techniques/1.remote-viewing/1.controlled-remote-viewing-crv","i-heroicons-clipboard-document-check",{"title":89,"path":90,"stem":91,"icon":92},"Scientific Remote Viewing (SRV)","/techniques/remote-viewing/scientific-remote-viewing-srv","2.techniques/1.remote-viewing/2.scientific-remote-viewing-srv","i-lucide-microscope",{"title":94,"path":95,"stem":96,"icon":97},"Technical Remote Viewing (TRV)","/techniques/remote-viewing/technical-remote-viewing-trv","2.techniques/1.remote-viewing/3.technical-remote-viewing-trv","i-heroicons-cog-6-tooth",{"title":99,"path":100,"stem":101,"icon":102},"Extended Remote Viewing (ERV)","/techniques/remote-viewing/extended-remote-viewing-erv","2.techniques/1.remote-viewing/4.extended-remote-viewing-erv","i-heroicons-arrows-pointing-out",{"title":104,"path":105,"stem":106,"icon":74},"RV Training & Development","/techniques/remote-viewing/rv-training-development","2.techniques/1.remote-viewing/5.rv-training-development",{"title":108,"path":109,"stem":110,"children":111,"icon":113,"parent":70,"order":114},"Dowsing","/techniques/dowsing","2.techniques/2.dowsing/index",[112,115,120,125,130,134],{"title":108,"path":109,"stem":110,"icon":113,"parent":70,"order":114},"i-lucide-compass",2,{"title":116,"path":117,"stem":118,"icon":119},"Pendulum Dowsing","/techniques/dowsing/pendulum-dowsing","2.techniques/2.dowsing/1.pendulum-dowsing","i-heroicons-clock",{"title":121,"path":122,"stem":123,"icon":124},"L-Rods Dowsing","/techniques/dowsing/l-rods-dowsing","2.techniques/2.dowsing/2.l-rods-dowsing","i-heroicons-adjustments-horizontal",{"title":126,"path":127,"stem":128,"icon":129},"Y-Rods Dowsing","/techniques/dowsing/y-rods-dowsing","2.techniques/2.dowsing/3.y-rods-dowsing","i-lucide-git-fork",{"title":131,"path":132,"stem":133,"icon":60},"Map Dowsing","/techniques/dowsing/map-dowsing","2.techniques/2.dowsing/4.map-dowsing",{"title":135,"path":136,"stem":137,"icon":138},"Information Dowsing","/techniques/dowsing/information-dowsing","2.techniques/2.dowsing/5.information-dowsing","i-heroicons-question-mark-circle",{"title":140,"path":141,"stem":142,"children":143,"icon":145,"parent":70,"order":146},"ESP Development","/techniques/esp-development","2.techniques/3.esp-development/index",[144,147,152,157,162,167],{"title":140,"path":141,"stem":142,"icon":145,"parent":70,"order":146},"i-lucide-brain",3,{"title":148,"path":149,"stem":150,"icon":151},"Telepathy Training","/techniques/esp-development/telepathy-training","2.techniques/3.esp-development/1.telepathy-training","i-heroicons-chat-bubble-left-right",{"title":153,"path":154,"stem":155,"icon":156},"Clairvoyance Development","/techniques/esp-development/clairvoyance-development","2.techniques/3.esp-development/2.clairvoyance-development","i-heroicons-eye",{"title":158,"path":159,"stem":160,"icon":161},"Clairaudience Practice","/techniques/esp-development/clairaudience-practice","2.techniques/3.esp-development/3.clairaudience-practice","i-heroicons-speaker-wave",{"title":163,"path":164,"stem":165,"icon":166},"Clairsentience Enhancement","/techniques/esp-development/clairsentience-enhancement","2.techniques/3.esp-development/4.clairsentience-enhancement","i-heroicons-hand-raised",{"title":168,"path":169,"stem":170,"icon":119},"Precognition Exercises","/techniques/esp-development/precognition-exercises","2.techniques/3.esp-development/5.precognition-exercises",{"title":172,"path":173,"stem":174,"children":175,"icon":177,"parent":70,"order":178},"Other Techniques","/techniques/other-techniques","2.techniques/4.other-techniques/index",[176,179,184,189,194,199],{"title":172,"path":173,"stem":174,"icon":177,"parent":70,"order":178},"i-lucide-sparkles",4,{"title":180,"path":181,"stem":182,"icon":183},"Tarot Reading","/techniques/other-techniques/tarot-reading","2.techniques/4.other-techniques/1.tarot-reading","i-heroicons-rectangle-stack",{"title":185,"path":186,"stem":187,"icon":188},"Astrology Applications","/techniques/other-techniques/astrology-applications","2.techniques/4.other-techniques/2.astrology-applications","i-heroicons-star",{"title":190,"path":191,"stem":192,"icon":193},"Numerology Methods","/techniques/other-techniques/numerology-methods","2.techniques/4.other-techniques/3.numerology-methods","i-heroicons-calculator",{"title":195,"path":196,"stem":197,"icon":198},"Scrying Practices","/techniques/other-techniques/scrying-practices","2.techniques/4.other-techniques/4.scrying-practices","i-heroicons-globe-americas",{"title":200,"path":201,"stem":202,"icon":203},"Meditation & Focus","/techniques/other-techniques/meditation-focus","2.techniques/4.other-techniques/5.meditation-focus","i-heroicons-sun",{"title":205,"icon":206,"path":207,"stem":208,"children":209},"Use Cases","i-lucide-briefcase","/use-cases","3.use-cases",[210,213,218,223,228,233,239,244,249,253,258,263,269,274,280,286],{"title":205,"path":207,"stem":211,"icon":212},"3.use-cases/index","i-heroicons-briefcase",{"title":214,"path":215,"stem":216,"icon":217,"parent":208,"order":82},"Missing Persons Applications","/use-cases/missing-persons","3.use-cases/1.missing-persons","i-heroicons-user-group",{"title":219,"path":220,"stem":221,"icon":41,"parent":208,"order":222},"Market Intelligence","/use-cases/market-intelligence","3.use-cases/10.market-intelligence",10,{"title":224,"path":225,"stem":226,"icon":21,"parent":208,"order":227},"Investment Opportunities","/use-cases/investment-opportunities","3.use-cases/11.investment-opportunities",11,{"title":229,"path":230,"stem":231,"icon":65,"parent":208,"order":232},"Competitive Analysis","/use-cases/competitive-analysis","3.use-cases/12.competitive-analysis",12,{"title":234,"path":235,"stem":236,"icon":237,"parent":208,"order":238},"Personal Guidance","/use-cases/personal-guidance","3.use-cases/13.personal-guidance","i-heroicons-heart",13,{"title":240,"path":241,"stem":242,"icon":74,"parent":208,"order":243},"Skill Development","/use-cases/skill-development","3.use-cases/14.skill-development",14,{"title":245,"path":246,"stem":247,"icon":60,"parent":208,"order":248},"Life Decisions","/use-cases/life-decisions","3.use-cases/15.life-decisions",15,{"title":250,"path":251,"stem":252,"icon":21,"parent":208,"order":114},"FBI Reward Cases","/use-cases/fbi-reward-cases","3.use-cases/2.fbi-reward-cases",{"title":254,"path":255,"stem":256,"icon":257,"parent":208,"order":146},"Success Stories","/use-cases/success-stories","3.use-cases/3.success-stories","i-heroicons-trophy",{"title":259,"path":260,"stem":261,"icon":262,"parent":208,"order":178},"Most Wanted Fugitives","/use-cases/most-wanted-fugitives","3.use-cases/4.most-wanted-fugitives","i-heroicons-finger-print",{"title":264,"path":265,"stem":266,"icon":267,"parent":208,"order":268},"Criminal Investigations","/use-cases/criminal-investigations","3.use-cases/5.criminal-investigations","i-heroicons-shield-check",5,{"title":270,"path":271,"stem":272,"icon":119,"parent":208,"order":273},"Cold Case Solutions","/use-cases/cold-case-solutions","3.use-cases/6.cold-case-solutions",6,{"title":275,"path":276,"stem":277,"icon":278,"parent":208,"order":279},"Archaeological Discoveries","/use-cases/archaeological-discoveries","3.use-cases/7.archaeological-discoveries","i-heroicons-building-library",7,{"title":281,"path":282,"stem":283,"icon":284,"parent":208,"order":285},"Historical Site Location","/use-cases/historical-site-location","3.use-cases/8.historical-site-location","i-heroicons-map-pin",8,{"title":287,"path":288,"stem":289,"icon":290,"parent":208,"order":291},"Ancient Artifact Finding","/use-cases/ancient-artifact-finding","3.use-cases/9.ancient-artifact-finding","i-heroicons-gift",9,{"title":293,"icon":294,"path":295,"stem":296,"children":297},"Investors","i-lucide-dollar-sign","/investors","4.investors",[298,300,304,307,311,316,321,325,330,335],{"title":293,"path":295,"stem":299,"icon":21},"4.investors/index",{"title":301,"path":302,"stem":303,"icon":41,"parent":296,"order":82},"Investment Overview","/investors/investment-overview","4.investors/1.investment-overview",{"title":38,"path":305,"stem":306,"icon":198,"parent":296,"order":114},"/investors/market-opportunity","4.investors/2.market-opportunity",{"title":308,"path":309,"stem":310,"icon":267,"parent":296,"order":146},"Competitive Advantage","/investors/competitive-advantage","4.investors/3.competitive-advantage",{"title":312,"path":313,"stem":314,"icon":315,"parent":296,"order":178},"Financial Projections","/investors/financial-projections","4.investors/4.financial-projections","i-lucide-trending-up",{"title":317,"path":318,"stem":319,"icon":320,"parent":296,"order":268},"Key Metrics","/investors/key-metrics","4.investors/5.key-metrics","i-heroicons-chart-pie",{"title":322,"path":323,"stem":324,"icon":21,"parent":296,"order":273},"Use of Funds","/investors/use-of-funds","4.investors/6.use-of-funds",{"title":326,"path":327,"stem":328,"icon":329,"parent":296,"order":279},"Investment Process","/investors/investment-process","4.investors/7.investment-process","i-heroicons-arrow-path",{"title":331,"path":332,"stem":333,"icon":334,"parent":296,"order":285},"Partnership Opportunities","/investors/partnership-opportunities","4.investors/8.partnership-opportunities","i-lucide-handshake",{"title":336,"path":337,"stem":338,"icon":138,"parent":296,"order":291},"Frequently Asked Questions","/investors/faq","4.investors/9.faq",{"title":340,"icon":341,"path":342,"stem":343,"children":344},"Developers","i-lucide-code","/developers","5.developers",[345,348,352,357,361,366,371,376,380,384,389,394,398],{"title":340,"path":342,"stem":346,"icon":347},"5.developers/index","i-heroicons-code-bracket",{"title":349,"path":350,"stem":351,"icon":55,"parent":343,"order":82},"Getting Started","/developers/getting-started","5.developers/1.getting-started",{"title":353,"path":354,"stem":355,"icon":356,"order":222},"Troubleshooting","/developers/troubleshooting","5.developers/10.troubleshooting","i-heroicons-wrench-screwdriver",{"title":358,"path":359,"stem":360,"icon":12,"order":227},"Changelog","/developers/changelog","5.developers/11.changelog",{"title":362,"path":363,"stem":364,"icon":365,"order":232},"Support","/developers/support","5.developers/12.support","i-heroicons-lifebuoy",{"title":367,"path":368,"stem":369,"icon":370,"parent":343,"order":114},"Platform Overview","/developers/platform-overview","5.developers/2.platform-overview","i-heroicons-cube",{"title":372,"path":373,"stem":374,"icon":375,"parent":343,"order":146},"Authentication","/developers/authentication","5.developers/3.authentication","i-heroicons-key",{"title":377,"path":378,"stem":379,"icon":347,"order":178},"API Reference","/developers/api-reference","5.developers/4.api-reference",{"title":381,"path":382,"stem":383,"icon":370,"order":268},"SDKs & Libraries","/developers/sdks","5.developers/5.sdks",{"title":385,"path":386,"stem":387,"icon":388,"order":273},"Webhooks","/developers/webhooks","5.developers/6.webhooks","i-heroicons-bell",{"title":390,"path":391,"stem":392,"icon":393,"order":279},"Integration Guides","/developers/integration-guides","5.developers/7.integration-guides","i-heroicons-puzzle-piece",{"title":395,"path":396,"stem":397,"icon":356,"order":285},"Developer Tools","/developers/developer-tools","5.developers/8.developer-tools",{"title":399,"path":400,"stem":401,"icon":36,"order":291},"Best Practices","/developers/best-practices","5.developers/9.best-practices",{"title":403,"icon":404,"path":405,"stem":406,"children":407},"Research","i-lucide-search","/research","6.research",[408,410,414,419,423,428,432,437,441,446],{"title":403,"path":405,"stem":409,"icon":92},"6.research/index",{"title":411,"path":412,"stem":413,"icon":92,"parent":406,"order":82},"Research Overview","/research/research-overview","6.research/1.research-overview",{"title":415,"path":416,"stem":417,"icon":418,"parent":406,"order":114},"Methodology Validation","/research/methodology-validation","6.research/2.methodology-validation","i-heroicons-check-circle",{"title":420,"path":421,"stem":422,"icon":55,"order":146},"Stargate Project Research","/research/stargate-project","6.research/3.stargate-project",{"title":424,"path":425,"stem":426,"icon":427,"order":178},"Government Programs Research","/research/government-programs","6.research/4.government-programs","i-heroicons-building-office",{"title":429,"path":430,"stem":431,"icon":257,"order":268},"Historical Success Cases","/research/historical-success-cases","6.research/5.historical-success-cases",{"title":433,"path":434,"stem":435,"icon":436,"order":273},"Ongoing Research","/research/ongoing-research","6.research/6.ongoing-research","i-heroicons-beaker",{"title":438,"path":439,"stem":440,"icon":74,"order":279},"Academic Partnerships","/research/academic-partnerships","6.research/7.academic-partnerships",{"title":442,"path":443,"stem":444,"icon":445,"order":285},"Future Research Directions","/research/future-research","6.research/8.future-research","i-heroicons-sparkles",{"title":447,"path":448,"stem":449,"icon":12,"order":291},"Publications","/research/publications","6.research/9.publications",{"title":451,"icon":452,"path":453,"stem":454,"children":455},"Specifications","i-lucide-settings","/specifications","7.specifications",[456,458,462,466,470,474,478],{"title":451,"path":453,"stem":457,"icon":97},"7.specifications/index",{"title":459,"path":460,"stem":461},"Technical Specifications","/specifications/technical-specifications","7.specifications/1.technical-specifications",{"title":463,"path":464,"stem":465},"API Endpoints Reference","/specifications/api-endpoints","7.specifications/2.api-endpoints",{"title":467,"path":468,"stem":469},"Data Models & Schemas","/specifications/data-models","7.specifications/3.data-models",{"title":471,"path":472,"stem":473},"Integration Requirements","/specifications/integration-requirements","7.specifications/4.integration-requirements",{"title":475,"path":476,"stem":477},"Compliance & Standards","/specifications/compliance-standards","7.specifications/5.compliance-standards",{"title":479,"path":480,"stem":481},"Dir","/specifications/_dir","7.specifications/_dir",{"title":483,"icon":484,"path":485,"stem":486,"children":487},"Resources","i-lucide-book-open","/resources","8.resources",[488,491,495,498,502],{"title":483,"path":485,"stem":489,"icon":490},"8.resources/index","i-heroicons-book-open",{"title":492,"path":493,"stem":494},"Glossary","/resources/glossary","8.resources/1.glossary",{"title":336,"path":496,"stem":497},"/resources/faqs","8.resources/2.faqs",{"title":499,"path":500,"stem":501},"Downloads & Resources","/resources/downloads","8.resources/3.downloads",{"title":503,"path":504,"stem":505},"Community & Support","/resources/community","8.resources/4.community",{"id":507,"title":475,"body":508,"description":14747,"extension":14748,"links":14749,"meta":14750,"navigation":667,"path":476,"seo":14751,"stem":477,"__hash__":14752},"docs/7.specifications/5.compliance-standards.md",{"type":509,"value":510,"toc":14733},"minimark",[511,516,521,526,2079,2083,3582,3586,3590,5054,5058,5062,7077,7081,7085,7089,9577,9581,9585,12523,12527,12531,12535,14725,14729],[512,513,515],"h2",{"id":514},"regulatory-compliance","Regulatory Compliance",[517,518,520],"h3",{"id":519},"gdpr-general-data-protection-regulation","GDPR (General Data Protection Regulation)",[522,523,525],"h4",{"id":524},"data-subject-rights-implementation","Data Subject Rights Implementation",[527,528,533],"pre",{"className":529,"code":530,"language":531,"meta":532,"style":532},"language-typescript shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","interface GDPRRequest {\n  type: 'access' | 'rectification' | 'erasure' | 'portability' | 'restriction';\n  userId: string;\n  identityVerified: boolean;\n  requestDetails: string;\n  timestamp: Date;\n}\n\nclass GDPRComplianceManager {\n  private dataProcessor: DataProcessor;\n  private auditLogger: AuditLogger;\n\n  async handleDataSubjectRequest(request: GDPRRequest): Promise\u003Cvoid> {\n    // Verify identity\n    if (!request.identityVerified) {\n      throw new Error('Identity verification required');\n    }\n\n    // Log the request\n    await this.auditLogger.logGDPRRequest(request);\n\n    switch (request.type) {\n      case 'access':\n        await this.handleAccessRequest(request.userId);\n        break;\n      case 'rectification':\n        await this.handleRectificationRequest(request);\n        break;\n      case 'erasure':\n        await this.handleErasureRequest(request.userId);\n        break;\n      case 'portability':\n        await this.handlePortabilityRequest(request.userId);\n        break;\n      case 'restriction':\n        await this.handleRestrictionRequest(request);\n        break;\n    }\n  }\n\n  private async handleAccessRequest(userId: string): Promise\u003Cvoid> {\n    const userData = await this.dataProcessor.getUserData(userId);\n    const portableData = this.formatForAccess(userData);\n    \n    // Provide data to data subject\n    await this.sendDataToUser(userId, portableData);\n    \n    // Log access fulfillment\n    await this.auditLogger.logGDPRAccess(userId, 'fulfilled');\n  }\n\n  private async handleErasureRequest(userId: string): Promise\u003Cvoid> {\n    // Check for legal holds or other retention requirements\n    const canDelete = await this.checkDeletionEligibility(userId);\n    \n    if (!canDelete) {\n      await this.notifyUser(userId, 'Unable to delete due to legal obligations');\n      return;\n    }\n\n    // Perform anonymization instead of hard delete for audit purposes\n    await this.anonymizeUserData(userId);\n    \n    // Log erasure\n    await this.auditLogger.logGDPRErasure(userId, 'completed');\n  }\n\n  private async handlePortabilityRequest(userId: string): Promise\u003Cvoid> {\n    const userData = await this.dataProcessor.getUserData(userId);\n    const portableFormat = this.convertToPortableFormat(userData);\n    \n    // Provide in machine-readable format (JSON, CSV, XML)\n    await this.sendPortableData(userId, portableFormat);\n    \n    // Log portability fulfillment\n    await this.auditLogger.logGDPRPortability(userId, 'fulfilled');\n  }\n\n  private formatForAccess(userData: any): any {\n    return {\n      personalData: {\n        name: userData.name,\n        email: userData.email,\n        phone: userData.phone,\n        address: userData.address\n      },\n      usageData: {\n        sessions: userData.sessions,\n        analyses: userData.analyses,\n        preferences: userData.preferences\n      },\n      metadata: {\n        accountCreated: userData.created_at,\n        lastLogin: userData.last_login,\n        dataRetentionPeriod: '7 years'\n      }\n    };\n  }\n\n  private async anonymizeUserData(userId: string): Promise\u003Cvoid> {\n    // Replace personal identifiers with pseudonyms\n    const anonymizedData = {\n      id: `anon_${this.generatePseudonym()}`,\n      email: `anon_${this.generatePseudonym()}@anonymized.com`,\n      name: 'Anonymous User',\n      // ... other fields anonymized\n    };\n\n    await this.dataProcessor.updateUserData(userId, anonymizedData);\n  }\n}\n","typescript","",[534,535,536,552,611,623,635,646,658,663,669,679,694,708,712,748,754,781,808,814,819,825,850,855,874,889,913,921,934,952,959,972,994,1001,1014,1036,1043,1056,1074,1081,1086,1092,1097,1128,1161,1185,1191,1197,1220,1225,1231,1262,1267,1272,1302,1308,1333,1338,1354,1382,1390,1395,1400,1406,1424,1429,1435,1466,1471,1476,1506,1533,1556,1561,1567,1589,1594,1600,1630,1635,1640,1663,1671,1681,1699,1716,1733,1748,1754,1764,1781,1798,1813,1818,1828,1845,1862,1878,1884,1890,1895,1900,1930,1936,1948,1979,2010,2027,2033,2038,2043,2069,2074],"code",{"__ignoreMap":532},[537,538,540,544,548],"span",{"class":539,"line":82},"line",[537,541,543],{"class":542},"spNyl","interface",[537,545,547],{"class":546},"sBMFI"," GDPRRequest",[537,549,551],{"class":550},"sMK4o"," {\n",[537,553,554,558,561,564,568,571,574,576,579,581,583,585,588,590,592,594,597,599,601,603,606,608],{"class":539,"line":114},[537,555,557],{"class":556},"swJcz","  type",[537,559,560],{"class":550},":",[537,562,563],{"class":550}," '",[537,565,567],{"class":566},"sfazB","access",[537,569,570],{"class":550},"'",[537,572,573],{"class":550}," |",[537,575,563],{"class":550},[537,577,578],{"class":566},"rectification",[537,580,570],{"class":550},[537,582,573],{"class":550},[537,584,563],{"class":550},[537,586,587],{"class":566},"erasure",[537,589,570],{"class":550},[537,591,573],{"class":550},[537,593,563],{"class":550},[537,595,596],{"class":566},"portability",[537,598,570],{"class":550},[537,600,573],{"class":550},[537,602,563],{"class":550},[537,604,605],{"class":566},"restriction",[537,607,570],{"class":550},[537,609,610],{"class":550},";\n",[537,612,613,616,618,621],{"class":539,"line":146},[537,614,615],{"class":556},"  userId",[537,617,560],{"class":550},[537,619,620],{"class":546}," string",[537,622,610],{"class":550},[537,624,625,628,630,633],{"class":539,"line":178},[537,626,627],{"class":556},"  identityVerified",[537,629,560],{"class":550},[537,631,632],{"class":546}," boolean",[537,634,610],{"class":550},[537,636,637,640,642,644],{"class":539,"line":268},[537,638,639],{"class":556},"  requestDetails",[537,641,560],{"class":550},[537,643,620],{"class":546},[537,645,610],{"class":550},[537,647,648,651,653,656],{"class":539,"line":273},[537,649,650],{"class":556},"  timestamp",[537,652,560],{"class":550},[537,654,655],{"class":546}," Date",[537,657,610],{"class":550},[537,659,660],{"class":539,"line":279},[537,661,662],{"class":550},"}\n",[537,664,665],{"class":539,"line":285},[537,666,668],{"emptyLinePlaceholder":667},true,"\n",[537,670,671,674,677],{"class":539,"line":291},[537,672,673],{"class":542},"class",[537,675,676],{"class":546}," GDPRComplianceManager",[537,678,551],{"class":550},[537,680,681,684,687,689,692],{"class":539,"line":222},[537,682,683],{"class":542},"  private",[537,685,686],{"class":556}," dataProcessor",[537,688,560],{"class":550},[537,690,691],{"class":546}," DataProcessor",[537,693,610],{"class":550},[537,695,696,698,701,703,706],{"class":539,"line":227},[537,697,683],{"class":542},[537,699,700],{"class":556}," auditLogger",[537,702,560],{"class":550},[537,704,705],{"class":546}," AuditLogger",[537,707,610],{"class":550},[537,709,710],{"class":539,"line":232},[537,711,668],{"emptyLinePlaceholder":667},[537,713,714,717,720,723,727,729,731,734,737,740,743,746],{"class":539,"line":238},[537,715,716],{"class":542},"  async",[537,718,719],{"class":556}," handleDataSubjectRequest",[537,721,722],{"class":550},"(",[537,724,726],{"class":725},"sHdIc","request",[537,728,560],{"class":550},[537,730,547],{"class":546},[537,732,733],{"class":550},"):",[537,735,736],{"class":546}," Promise",[537,738,739],{"class":550},"\u003C",[537,741,742],{"class":546},"void",[537,744,745],{"class":550},">",[537,747,551],{"class":550},[537,749,750],{"class":539,"line":243},[537,751,753],{"class":752},"sHwdD","    // Verify identity\n",[537,755,756,760,763,766,769,772,775,778],{"class":539,"line":248},[537,757,759],{"class":758},"s7zQu","    if",[537,761,762],{"class":556}," (",[537,764,765],{"class":550},"!",[537,767,726],{"class":768},"sTEyZ",[537,770,771],{"class":550},".",[537,773,774],{"class":768},"identityVerified",[537,776,777],{"class":556},") ",[537,779,780],{"class":550},"{\n",[537,782,784,787,790,794,796,798,801,803,806],{"class":539,"line":783},16,[537,785,786],{"class":758},"      throw",[537,788,789],{"class":550}," new",[537,791,793],{"class":792},"s2Zo4"," Error",[537,795,722],{"class":556},[537,797,570],{"class":550},[537,799,800],{"class":566},"Identity verification required",[537,802,570],{"class":550},[537,804,805],{"class":556},")",[537,807,610],{"class":550},[537,809,811],{"class":539,"line":810},17,[537,812,813],{"class":550},"    }\n",[537,815,817],{"class":539,"line":816},18,[537,818,668],{"emptyLinePlaceholder":667},[537,820,822],{"class":539,"line":821},19,[537,823,824],{"class":752},"    // Log the request\n",[537,826,828,831,834,837,839,842,844,846,848],{"class":539,"line":827},20,[537,829,830],{"class":758},"    await",[537,832,833],{"class":550}," this.",[537,835,836],{"class":768},"auditLogger",[537,838,771],{"class":550},[537,840,841],{"class":792},"logGDPRRequest",[537,843,722],{"class":556},[537,845,726],{"class":768},[537,847,805],{"class":556},[537,849,610],{"class":550},[537,851,853],{"class":539,"line":852},21,[537,854,668],{"emptyLinePlaceholder":667},[537,856,858,861,863,865,867,870,872],{"class":539,"line":857},22,[537,859,860],{"class":758},"    switch",[537,862,762],{"class":556},[537,864,726],{"class":768},[537,866,771],{"class":550},[537,868,869],{"class":768},"type",[537,871,777],{"class":556},[537,873,780],{"class":550},[537,875,877,880,882,884,886],{"class":539,"line":876},23,[537,878,879],{"class":758},"      case",[537,881,563],{"class":550},[537,883,567],{"class":566},[537,885,570],{"class":550},[537,887,888],{"class":550},":\n",[537,890,892,895,897,900,902,904,906,909,911],{"class":539,"line":891},24,[537,893,894],{"class":758},"        await",[537,896,833],{"class":550},[537,898,899],{"class":792},"handleAccessRequest",[537,901,722],{"class":556},[537,903,726],{"class":768},[537,905,771],{"class":550},[537,907,908],{"class":768},"userId",[537,910,805],{"class":556},[537,912,610],{"class":550},[537,914,916,919],{"class":539,"line":915},25,[537,917,918],{"class":758},"        break",[537,920,610],{"class":550},[537,922,924,926,928,930,932],{"class":539,"line":923},26,[537,925,879],{"class":758},[537,927,563],{"class":550},[537,929,578],{"class":566},[537,931,570],{"class":550},[537,933,888],{"class":550},[537,935,937,939,941,944,946,948,950],{"class":539,"line":936},27,[537,938,894],{"class":758},[537,940,833],{"class":550},[537,942,943],{"class":792},"handleRectificationRequest",[537,945,722],{"class":556},[537,947,726],{"class":768},[537,949,805],{"class":556},[537,951,610],{"class":550},[537,953,955,957],{"class":539,"line":954},28,[537,956,918],{"class":758},[537,958,610],{"class":550},[537,960,962,964,966,968,970],{"class":539,"line":961},29,[537,963,879],{"class":758},[537,965,563],{"class":550},[537,967,587],{"class":566},[537,969,570],{"class":550},[537,971,888],{"class":550},[537,973,975,977,979,982,984,986,988,990,992],{"class":539,"line":974},30,[537,976,894],{"class":758},[537,978,833],{"class":550},[537,980,981],{"class":792},"handleErasureRequest",[537,983,722],{"class":556},[537,985,726],{"class":768},[537,987,771],{"class":550},[537,989,908],{"class":768},[537,991,805],{"class":556},[537,993,610],{"class":550},[537,995,997,999],{"class":539,"line":996},31,[537,998,918],{"class":758},[537,1000,610],{"class":550},[537,1002,1004,1006,1008,1010,1012],{"class":539,"line":1003},32,[537,1005,879],{"class":758},[537,1007,563],{"class":550},[537,1009,596],{"class":566},[537,1011,570],{"class":550},[537,1013,888],{"class":550},[537,1015,1017,1019,1021,1024,1026,1028,1030,1032,1034],{"class":539,"line":1016},33,[537,1018,894],{"class":758},[537,1020,833],{"class":550},[537,1022,1023],{"class":792},"handlePortabilityRequest",[537,1025,722],{"class":556},[537,1027,726],{"class":768},[537,1029,771],{"class":550},[537,1031,908],{"class":768},[537,1033,805],{"class":556},[537,1035,610],{"class":550},[537,1037,1039,1041],{"class":539,"line":1038},34,[537,1040,918],{"class":758},[537,1042,610],{"class":550},[537,1044,1046,1048,1050,1052,1054],{"class":539,"line":1045},35,[537,1047,879],{"class":758},[537,1049,563],{"class":550},[537,1051,605],{"class":566},[537,1053,570],{"class":550},[537,1055,888],{"class":550},[537,1057,1059,1061,1063,1066,1068,1070,1072],{"class":539,"line":1058},36,[537,1060,894],{"class":758},[537,1062,833],{"class":550},[537,1064,1065],{"class":792},"handleRestrictionRequest",[537,1067,722],{"class":556},[537,1069,726],{"class":768},[537,1071,805],{"class":556},[537,1073,610],{"class":550},[537,1075,1077,1079],{"class":539,"line":1076},37,[537,1078,918],{"class":758},[537,1080,610],{"class":550},[537,1082,1084],{"class":539,"line":1083},38,[537,1085,813],{"class":550},[537,1087,1089],{"class":539,"line":1088},39,[537,1090,1091],{"class":550},"  }\n",[537,1093,1095],{"class":539,"line":1094},40,[537,1096,668],{"emptyLinePlaceholder":667},[537,1098,1100,1102,1105,1108,1110,1112,1114,1116,1118,1120,1122,1124,1126],{"class":539,"line":1099},41,[537,1101,683],{"class":542},[537,1103,1104],{"class":542}," async",[537,1106,1107],{"class":556}," handleAccessRequest",[537,1109,722],{"class":550},[537,1111,908],{"class":725},[537,1113,560],{"class":550},[537,1115,620],{"class":546},[537,1117,733],{"class":550},[537,1119,736],{"class":546},[537,1121,739],{"class":550},[537,1123,742],{"class":546},[537,1125,745],{"class":550},[537,1127,551],{"class":550},[537,1129,1131,1134,1137,1140,1143,1145,1148,1150,1153,1155,1157,1159],{"class":539,"line":1130},42,[537,1132,1133],{"class":542},"    const",[537,1135,1136],{"class":768}," userData",[537,1138,1139],{"class":550}," =",[537,1141,1142],{"class":758}," await",[537,1144,833],{"class":550},[537,1146,1147],{"class":768},"dataProcessor",[537,1149,771],{"class":550},[537,1151,1152],{"class":792},"getUserData",[537,1154,722],{"class":556},[537,1156,908],{"class":768},[537,1158,805],{"class":556},[537,1160,610],{"class":550},[537,1162,1164,1166,1169,1171,1173,1176,1178,1181,1183],{"class":539,"line":1163},43,[537,1165,1133],{"class":542},[537,1167,1168],{"class":768}," portableData",[537,1170,1139],{"class":550},[537,1172,833],{"class":550},[537,1174,1175],{"class":792},"formatForAccess",[537,1177,722],{"class":556},[537,1179,1180],{"class":768},"userData",[537,1182,805],{"class":556},[537,1184,610],{"class":550},[537,1186,1188],{"class":539,"line":1187},44,[537,1189,1190],{"class":556},"    \n",[537,1192,1194],{"class":539,"line":1193},45,[537,1195,1196],{"class":752},"    // Provide data to data subject\n",[537,1198,1200,1202,1204,1207,1209,1211,1214,1216,1218],{"class":539,"line":1199},46,[537,1201,830],{"class":758},[537,1203,833],{"class":550},[537,1205,1206],{"class":792},"sendDataToUser",[537,1208,722],{"class":556},[537,1210,908],{"class":768},[537,1212,1213],{"class":550},",",[537,1215,1168],{"class":768},[537,1217,805],{"class":556},[537,1219,610],{"class":550},[537,1221,1223],{"class":539,"line":1222},47,[537,1224,1190],{"class":556},[537,1226,1228],{"class":539,"line":1227},48,[537,1229,1230],{"class":752},"    // Log access fulfillment\n",[537,1232,1234,1236,1238,1240,1242,1245,1247,1249,1251,1253,1256,1258,1260],{"class":539,"line":1233},49,[537,1235,830],{"class":758},[537,1237,833],{"class":550},[537,1239,836],{"class":768},[537,1241,771],{"class":550},[537,1243,1244],{"class":792},"logGDPRAccess",[537,1246,722],{"class":556},[537,1248,908],{"class":768},[537,1250,1213],{"class":550},[537,1252,563],{"class":550},[537,1254,1255],{"class":566},"fulfilled",[537,1257,570],{"class":550},[537,1259,805],{"class":556},[537,1261,610],{"class":550},[537,1263,1265],{"class":539,"line":1264},50,[537,1266,1091],{"class":550},[537,1268,1270],{"class":539,"line":1269},51,[537,1271,668],{"emptyLinePlaceholder":667},[537,1273,1275,1277,1279,1282,1284,1286,1288,1290,1292,1294,1296,1298,1300],{"class":539,"line":1274},52,[537,1276,683],{"class":542},[537,1278,1104],{"class":542},[537,1280,1281],{"class":556}," handleErasureRequest",[537,1283,722],{"class":550},[537,1285,908],{"class":725},[537,1287,560],{"class":550},[537,1289,620],{"class":546},[537,1291,733],{"class":550},[537,1293,736],{"class":546},[537,1295,739],{"class":550},[537,1297,742],{"class":546},[537,1299,745],{"class":550},[537,1301,551],{"class":550},[537,1303,1305],{"class":539,"line":1304},53,[537,1306,1307],{"class":752},"    // Check for legal holds or other retention requirements\n",[537,1309,1311,1313,1316,1318,1320,1322,1325,1327,1329,1331],{"class":539,"line":1310},54,[537,1312,1133],{"class":542},[537,1314,1315],{"class":768}," canDelete",[537,1317,1139],{"class":550},[537,1319,1142],{"class":758},[537,1321,833],{"class":550},[537,1323,1324],{"class":792},"checkDeletionEligibility",[537,1326,722],{"class":556},[537,1328,908],{"class":768},[537,1330,805],{"class":556},[537,1332,610],{"class":550},[537,1334,1336],{"class":539,"line":1335},55,[537,1337,1190],{"class":556},[537,1339,1341,1343,1345,1347,1350,1352],{"class":539,"line":1340},56,[537,1342,759],{"class":758},[537,1344,762],{"class":556},[537,1346,765],{"class":550},[537,1348,1349],{"class":768},"canDelete",[537,1351,777],{"class":556},[537,1353,780],{"class":550},[537,1355,1357,1360,1362,1365,1367,1369,1371,1373,1376,1378,1380],{"class":539,"line":1356},57,[537,1358,1359],{"class":758},"      await",[537,1361,833],{"class":550},[537,1363,1364],{"class":792},"notifyUser",[537,1366,722],{"class":556},[537,1368,908],{"class":768},[537,1370,1213],{"class":550},[537,1372,563],{"class":550},[537,1374,1375],{"class":566},"Unable to delete due to legal obligations",[537,1377,570],{"class":550},[537,1379,805],{"class":556},[537,1381,610],{"class":550},[537,1383,1385,1388],{"class":539,"line":1384},58,[537,1386,1387],{"class":758},"      return",[537,1389,610],{"class":550},[537,1391,1393],{"class":539,"line":1392},59,[537,1394,813],{"class":550},[537,1396,1398],{"class":539,"line":1397},60,[537,1399,668],{"emptyLinePlaceholder":667},[537,1401,1403],{"class":539,"line":1402},61,[537,1404,1405],{"class":752},"    // Perform anonymization instead of hard delete for audit purposes\n",[537,1407,1409,1411,1413,1416,1418,1420,1422],{"class":539,"line":1408},62,[537,1410,830],{"class":758},[537,1412,833],{"class":550},[537,1414,1415],{"class":792},"anonymizeUserData",[537,1417,722],{"class":556},[537,1419,908],{"class":768},[537,1421,805],{"class":556},[537,1423,610],{"class":550},[537,1425,1427],{"class":539,"line":1426},63,[537,1428,1190],{"class":556},[537,1430,1432],{"class":539,"line":1431},64,[537,1433,1434],{"class":752},"    // Log erasure\n",[537,1436,1438,1440,1442,1444,1446,1449,1451,1453,1455,1457,1460,1462,1464],{"class":539,"line":1437},65,[537,1439,830],{"class":758},[537,1441,833],{"class":550},[537,1443,836],{"class":768},[537,1445,771],{"class":550},[537,1447,1448],{"class":792},"logGDPRErasure",[537,1450,722],{"class":556},[537,1452,908],{"class":768},[537,1454,1213],{"class":550},[537,1456,563],{"class":550},[537,1458,1459],{"class":566},"completed",[537,1461,570],{"class":550},[537,1463,805],{"class":556},[537,1465,610],{"class":550},[537,1467,1469],{"class":539,"line":1468},66,[537,1470,1091],{"class":550},[537,1472,1474],{"class":539,"line":1473},67,[537,1475,668],{"emptyLinePlaceholder":667},[537,1477,1479,1481,1483,1486,1488,1490,1492,1494,1496,1498,1500,1502,1504],{"class":539,"line":1478},68,[537,1480,683],{"class":542},[537,1482,1104],{"class":542},[537,1484,1485],{"class":556}," handlePortabilityRequest",[537,1487,722],{"class":550},[537,1489,908],{"class":725},[537,1491,560],{"class":550},[537,1493,620],{"class":546},[537,1495,733],{"class":550},[537,1497,736],{"class":546},[537,1499,739],{"class":550},[537,1501,742],{"class":546},[537,1503,745],{"class":550},[537,1505,551],{"class":550},[537,1507,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1531],{"class":539,"line":1508},69,[537,1510,1133],{"class":542},[537,1512,1136],{"class":768},[537,1514,1139],{"class":550},[537,1516,1142],{"class":758},[537,1518,833],{"class":550},[537,1520,1147],{"class":768},[537,1522,771],{"class":550},[537,1524,1152],{"class":792},[537,1526,722],{"class":556},[537,1528,908],{"class":768},[537,1530,805],{"class":556},[537,1532,610],{"class":550},[537,1534,1536,1538,1541,1543,1545,1548,1550,1552,1554],{"class":539,"line":1535},70,[537,1537,1133],{"class":542},[537,1539,1540],{"class":768}," portableFormat",[537,1542,1139],{"class":550},[537,1544,833],{"class":550},[537,1546,1547],{"class":792},"convertToPortableFormat",[537,1549,722],{"class":556},[537,1551,1180],{"class":768},[537,1553,805],{"class":556},[537,1555,610],{"class":550},[537,1557,1559],{"class":539,"line":1558},71,[537,1560,1190],{"class":556},[537,1562,1564],{"class":539,"line":1563},72,[537,1565,1566],{"class":752},"    // Provide in machine-readable format (JSON, CSV, XML)\n",[537,1568,1570,1572,1574,1577,1579,1581,1583,1585,1587],{"class":539,"line":1569},73,[537,1571,830],{"class":758},[537,1573,833],{"class":550},[537,1575,1576],{"class":792},"sendPortableData",[537,1578,722],{"class":556},[537,1580,908],{"class":768},[537,1582,1213],{"class":550},[537,1584,1540],{"class":768},[537,1586,805],{"class":556},[537,1588,610],{"class":550},[537,1590,1592],{"class":539,"line":1591},74,[537,1593,1190],{"class":556},[537,1595,1597],{"class":539,"line":1596},75,[537,1598,1599],{"class":752},"    // Log portability fulfillment\n",[537,1601,1603,1605,1607,1609,1611,1614,1616,1618,1620,1622,1624,1626,1628],{"class":539,"line":1602},76,[537,1604,830],{"class":758},[537,1606,833],{"class":550},[537,1608,836],{"class":768},[537,1610,771],{"class":550},[537,1612,1613],{"class":792},"logGDPRPortability",[537,1615,722],{"class":556},[537,1617,908],{"class":768},[537,1619,1213],{"class":550},[537,1621,563],{"class":550},[537,1623,1255],{"class":566},[537,1625,570],{"class":550},[537,1627,805],{"class":556},[537,1629,610],{"class":550},[537,1631,1633],{"class":539,"line":1632},77,[537,1634,1091],{"class":550},[537,1636,1638],{"class":539,"line":1637},78,[537,1639,668],{"emptyLinePlaceholder":667},[537,1641,1643,1645,1648,1650,1652,1654,1657,1659,1661],{"class":539,"line":1642},79,[537,1644,683],{"class":542},[537,1646,1647],{"class":556}," formatForAccess",[537,1649,722],{"class":550},[537,1651,1180],{"class":725},[537,1653,560],{"class":550},[537,1655,1656],{"class":546}," any",[537,1658,733],{"class":550},[537,1660,1656],{"class":546},[537,1662,551],{"class":550},[537,1664,1666,1669],{"class":539,"line":1665},80,[537,1667,1668],{"class":758},"    return",[537,1670,551],{"class":550},[537,1672,1674,1677,1679],{"class":539,"line":1673},81,[537,1675,1676],{"class":556},"      personalData",[537,1678,560],{"class":550},[537,1680,551],{"class":550},[537,1682,1684,1687,1689,1691,1693,1696],{"class":539,"line":1683},82,[537,1685,1686],{"class":556},"        name",[537,1688,560],{"class":550},[537,1690,1136],{"class":768},[537,1692,771],{"class":550},[537,1694,1695],{"class":768},"name",[537,1697,1698],{"class":550},",\n",[537,1700,1702,1705,1707,1709,1711,1714],{"class":539,"line":1701},83,[537,1703,1704],{"class":556},"        email",[537,1706,560],{"class":550},[537,1708,1136],{"class":768},[537,1710,771],{"class":550},[537,1712,1713],{"class":768},"email",[537,1715,1698],{"class":550},[537,1717,1719,1722,1724,1726,1728,1731],{"class":539,"line":1718},84,[537,1720,1721],{"class":556},"        phone",[537,1723,560],{"class":550},[537,1725,1136],{"class":768},[537,1727,771],{"class":550},[537,1729,1730],{"class":768},"phone",[537,1732,1698],{"class":550},[537,1734,1736,1739,1741,1743,1745],{"class":539,"line":1735},85,[537,1737,1738],{"class":556},"        address",[537,1740,560],{"class":550},[537,1742,1136],{"class":768},[537,1744,771],{"class":550},[537,1746,1747],{"class":768},"address\n",[537,1749,1751],{"class":539,"line":1750},86,[537,1752,1753],{"class":550},"      },\n",[537,1755,1757,1760,1762],{"class":539,"line":1756},87,[537,1758,1759],{"class":556},"      usageData",[537,1761,560],{"class":550},[537,1763,551],{"class":550},[537,1765,1767,1770,1772,1774,1776,1779],{"class":539,"line":1766},88,[537,1768,1769],{"class":556},"        sessions",[537,1771,560],{"class":550},[537,1773,1136],{"class":768},[537,1775,771],{"class":550},[537,1777,1778],{"class":768},"sessions",[537,1780,1698],{"class":550},[537,1782,1784,1787,1789,1791,1793,1796],{"class":539,"line":1783},89,[537,1785,1786],{"class":556},"        analyses",[537,1788,560],{"class":550},[537,1790,1136],{"class":768},[537,1792,771],{"class":550},[537,1794,1795],{"class":768},"analyses",[537,1797,1698],{"class":550},[537,1799,1801,1804,1806,1808,1810],{"class":539,"line":1800},90,[537,1802,1803],{"class":556},"        preferences",[537,1805,560],{"class":550},[537,1807,1136],{"class":768},[537,1809,771],{"class":550},[537,1811,1812],{"class":768},"preferences\n",[537,1814,1816],{"class":539,"line":1815},91,[537,1817,1753],{"class":550},[537,1819,1821,1824,1826],{"class":539,"line":1820},92,[537,1822,1823],{"class":556},"      metadata",[537,1825,560],{"class":550},[537,1827,551],{"class":550},[537,1829,1831,1834,1836,1838,1840,1843],{"class":539,"line":1830},93,[537,1832,1833],{"class":556},"        accountCreated",[537,1835,560],{"class":550},[537,1837,1136],{"class":768},[537,1839,771],{"class":550},[537,1841,1842],{"class":768},"created_at",[537,1844,1698],{"class":550},[537,1846,1848,1851,1853,1855,1857,1860],{"class":539,"line":1847},94,[537,1849,1850],{"class":556},"        lastLogin",[537,1852,560],{"class":550},[537,1854,1136],{"class":768},[537,1856,771],{"class":550},[537,1858,1859],{"class":768},"last_login",[537,1861,1698],{"class":550},[537,1863,1865,1868,1870,1872,1875],{"class":539,"line":1864},95,[537,1866,1867],{"class":556},"        dataRetentionPeriod",[537,1869,560],{"class":550},[537,1871,563],{"class":550},[537,1873,1874],{"class":566},"7 years",[537,1876,1877],{"class":550},"'\n",[537,1879,1881],{"class":539,"line":1880},96,[537,1882,1883],{"class":550},"      }\n",[537,1885,1887],{"class":539,"line":1886},97,[537,1888,1889],{"class":550},"    };\n",[537,1891,1893],{"class":539,"line":1892},98,[537,1894,1091],{"class":550},[537,1896,1898],{"class":539,"line":1897},99,[537,1899,668],{"emptyLinePlaceholder":667},[537,1901,1903,1905,1907,1910,1912,1914,1916,1918,1920,1922,1924,1926,1928],{"class":539,"line":1902},100,[537,1904,683],{"class":542},[537,1906,1104],{"class":542},[537,1908,1909],{"class":556}," anonymizeUserData",[537,1911,722],{"class":550},[537,1913,908],{"class":725},[537,1915,560],{"class":550},[537,1917,620],{"class":546},[537,1919,733],{"class":550},[537,1921,736],{"class":546},[537,1923,739],{"class":550},[537,1925,742],{"class":546},[537,1927,745],{"class":550},[537,1929,551],{"class":550},[537,1931,1933],{"class":539,"line":1932},101,[537,1934,1935],{"class":752},"    // Replace personal identifiers with pseudonyms\n",[537,1937,1939,1941,1944,1946],{"class":539,"line":1938},102,[537,1940,1133],{"class":542},[537,1942,1943],{"class":768}," anonymizedData",[537,1945,1139],{"class":550},[537,1947,551],{"class":550},[537,1949,1951,1954,1956,1959,1962,1965,1968,1971,1974,1977],{"class":539,"line":1950},103,[537,1952,1953],{"class":556},"      id",[537,1955,560],{"class":550},[537,1957,1958],{"class":550}," `",[537,1960,1961],{"class":566},"anon_",[537,1963,1964],{"class":550},"${",[537,1966,1967],{"class":550},"this.",[537,1969,1970],{"class":792},"generatePseudonym",[537,1972,1973],{"class":768},"()",[537,1975,1976],{"class":550},"}`",[537,1978,1698],{"class":550},[537,1980,1982,1985,1987,1989,1991,1993,1995,1997,1999,2002,2005,2008],{"class":539,"line":1981},104,[537,1983,1984],{"class":556},"      email",[537,1986,560],{"class":550},[537,1988,1958],{"class":550},[537,1990,1961],{"class":566},[537,1992,1964],{"class":550},[537,1994,1967],{"class":550},[537,1996,1970],{"class":792},[537,1998,1973],{"class":768},[537,2000,2001],{"class":550},"}",[537,2003,2004],{"class":566},"@anonymized.com",[537,2006,2007],{"class":550},"`",[537,2009,1698],{"class":550},[537,2011,2013,2016,2018,2020,2023,2025],{"class":539,"line":2012},105,[537,2014,2015],{"class":556},"      name",[537,2017,560],{"class":550},[537,2019,563],{"class":550},[537,2021,2022],{"class":566},"Anonymous User",[537,2024,570],{"class":550},[537,2026,1698],{"class":550},[537,2028,2030],{"class":539,"line":2029},106,[537,2031,2032],{"class":752},"      // ... other fields anonymized\n",[537,2034,2036],{"class":539,"line":2035},107,[537,2037,1889],{"class":550},[537,2039,2041],{"class":539,"line":2040},108,[537,2042,668],{"emptyLinePlaceholder":667},[537,2044,2046,2048,2050,2052,2054,2057,2059,2061,2063,2065,2067],{"class":539,"line":2045},109,[537,2047,830],{"class":758},[537,2049,833],{"class":550},[537,2051,1147],{"class":768},[537,2053,771],{"class":550},[537,2055,2056],{"class":792},"updateUserData",[537,2058,722],{"class":556},[537,2060,908],{"class":768},[537,2062,1213],{"class":550},[537,2064,1943],{"class":768},[537,2066,805],{"class":556},[537,2068,610],{"class":550},[537,2070,2072],{"class":539,"line":2071},110,[537,2073,1091],{"class":550},[537,2075,2077],{"class":539,"line":2076},111,[537,2078,662],{"class":550},[522,2080,2082],{"id":2081},"consent-management-system","Consent Management System",[527,2084,2086],{"className":529,"code":2085,"language":531,"meta":532,"style":532},"interface ConsentRecord {\n  id: string;\n  userId: string;\n  consentType: ConsentType;\n  granted: boolean;\n  timestamp: Date;\n  ipAddress: string;\n  userAgent: string;\n  version: string;\n  withdrawalDate?: Date;\n}\n\nenum ConsentType {\n  MARKETING_EMAILS = 'marketing_emails',\n  ANALYTICS_COOKIES = 'analytics_cookies',\n  DATA_PROCESSING = 'data_processing',\n  THIRD_PARTY_SHARING = 'third_party_sharing',\n  RESEARCH_PARTICIPATION = 'research_participation'\n}\n\nclass ConsentManager {\n  private consentStorage: ConsentStorage;\n  private auditLogger: AuditLogger;\n\n  async recordConsent(\n    userId: string, \n    consentType: ConsentType, \n    granted: boolean,\n    context: RequestContext\n  ): Promise\u003Cvoid> {\n    const consent: ConsentRecord = {\n      id: this.generateConsentId(),\n      userId,\n      consentType,\n      granted,\n      timestamp: new Date(),\n      ipAddress: context.ipAddress,\n      userAgent: context.userAgent,\n      version: this.getCurrentConsentVersion(consentType)\n    };\n\n    await this.consentStorage.save(consent);\n    await this.auditLogger.logConsentChange(consent);\n  }\n\n  async checkConsent(userId: string, consentType: ConsentType): Promise\u003Cboolean> {\n    const latestConsent = await this.consentStorage.getLatest(userId, consentType);\n    \n    if (!latestConsent) {\n      return false; // No consent recorded\n    }\n\n    // Check if consent has been withdrawn\n    if (latestConsent.withdrawalDate) {\n      return false;\n    }\n\n    // Check if consent version is current\n    const currentVersion = this.getCurrentConsentVersion(consentType);\n    if (latestConsent.version !== currentVersion) {\n      return false; // Consent outdated\n    }\n\n    return latestConsent.granted;\n  }\n\n  async withdrawConsent(userId: string, consentType: ConsentType): Promise\u003Cvoid> {\n    const latestConsent = await this.consentStorage.getLatest(userId, consentType);\n    \n    if (latestConsent && latestConsent.granted) {\n      latestConsent.withdrawalDate = new Date();\n      await this.consentStorage.update(latestConsent);\n      await this.auditLogger.logConsentWithdrawal(userId, consentType);\n      \n      // Trigger data processing actions for withdrawal\n      await this.handleConsentWithdrawal(userId, consentType);\n    }\n  }\n\n  private async handleConsentWithdrawal(userId: string, consentType: ConsentType): Promise\u003Cvoid> {\n    switch (consentType) {\n      case ConsentType.MARKETING_EMAILS:\n        await this.unsubscribeFromMarketing(userId);\n        break;\n      case ConsentType.ANALYTICS_COOKIES:\n        await this.deleteAnalyticsData(userId);\n        break;\n      case ConsentType.DATA_PROCESSING:\n        await this.restrictDataProcessing(userId);\n        break;\n      case ConsentType.THIRD_PARTY_SHARING:\n        await this.stopThirdPartySharing(userId);\n        break;\n      case ConsentType.RESEARCH_PARTICIPATION:\n        await this.excludeFromResearch(userId);\n        break;\n    }\n  }\n\n  generateConsentBanner(): ConsentBanner {\n    return {\n      title: \"Privacy & Consent\",\n      description: \"We use your data to provide psychic intelligence services and improve our platform.\",\n      consents: [\n        {\n          type: ConsentType.DATA_PROCESSING,\n          required: true,\n          description: \"Required for service provision\",\n          details: \"Processing your queries and providing analysis results\"\n        },\n        {\n          type: ConsentType.ANALYTICS_COOKIES,\n          required: false,\n          description: \"Help us improve our services\",\n          details: \"Anonymous usage statistics and performance metrics\"\n        },\n        {\n          type: ConsentType.MARKETING_EMAILS,\n          required: false,\n          description: \"Receive updates and offers\",\n          details: \"Product updates, new features, and promotional content\"\n        }\n      ],\n      version: this.getCurrentConsentVersion(),\n      lastUpdated: new Date()\n    };\n  }\n}\n",[534,2087,2088,2097,2108,2118,2130,2141,2151,2162,2173,2184,2196,2200,2204,2213,2230,2246,2262,2278,2292,2296,2300,2309,2323,2335,2339,2349,2363,2376,2387,2397,2412,2427,2442,2449,2456,2463,2478,2495,2511,2531,2535,2539,2562,2583,2587,2591,2628,2660,2664,2679,2693,2697,2701,2706,2723,2731,2735,2739,2744,2765,2787,2798,2802,2806,2819,2823,2827,2862,2892,2896,2917,2936,2957,2982,2987,2992,3013,3017,3021,3025,3062,3074,3087,3104,3110,3123,3140,3146,3159,3176,3182,3195,3212,3218,3231,3248,3254,3258,3262,3266,3279,3285,3303,3319,3329,3334,3349,3361,3377,3392,3397,3401,3416,3427,3443,3457,3462,3467,3482,3493,3509,3523,3529,3537,3552,3567,3572,3577],{"__ignoreMap":532},[537,2089,2090,2092,2095],{"class":539,"line":82},[537,2091,543],{"class":542},[537,2093,2094],{"class":546}," ConsentRecord",[537,2096,551],{"class":550},[537,2098,2099,2102,2104,2106],{"class":539,"line":114},[537,2100,2101],{"class":556},"  id",[537,2103,560],{"class":550},[537,2105,620],{"class":546},[537,2107,610],{"class":550},[537,2109,2110,2112,2114,2116],{"class":539,"line":146},[537,2111,615],{"class":556},[537,2113,560],{"class":550},[537,2115,620],{"class":546},[537,2117,610],{"class":550},[537,2119,2120,2123,2125,2128],{"class":539,"line":178},[537,2121,2122],{"class":556},"  consentType",[537,2124,560],{"class":550},[537,2126,2127],{"class":546}," ConsentType",[537,2129,610],{"class":550},[537,2131,2132,2135,2137,2139],{"class":539,"line":268},[537,2133,2134],{"class":556},"  granted",[537,2136,560],{"class":550},[537,2138,632],{"class":546},[537,2140,610],{"class":550},[537,2142,2143,2145,2147,2149],{"class":539,"line":273},[537,2144,650],{"class":556},[537,2146,560],{"class":550},[537,2148,655],{"class":546},[537,2150,610],{"class":550},[537,2152,2153,2156,2158,2160],{"class":539,"line":279},[537,2154,2155],{"class":556},"  ipAddress",[537,2157,560],{"class":550},[537,2159,620],{"class":546},[537,2161,610],{"class":550},[537,2163,2164,2167,2169,2171],{"class":539,"line":285},[537,2165,2166],{"class":556},"  userAgent",[537,2168,560],{"class":550},[537,2170,620],{"class":546},[537,2172,610],{"class":550},[537,2174,2175,2178,2180,2182],{"class":539,"line":291},[537,2176,2177],{"class":556},"  version",[537,2179,560],{"class":550},[537,2181,620],{"class":546},[537,2183,610],{"class":550},[537,2185,2186,2189,2192,2194],{"class":539,"line":222},[537,2187,2188],{"class":556},"  withdrawalDate",[537,2190,2191],{"class":550},"?:",[537,2193,655],{"class":546},[537,2195,610],{"class":550},[537,2197,2198],{"class":539,"line":227},[537,2199,662],{"class":550},[537,2201,2202],{"class":539,"line":232},[537,2203,668],{"emptyLinePlaceholder":667},[537,2205,2206,2209,2211],{"class":539,"line":238},[537,2207,2208],{"class":542},"enum",[537,2210,2127],{"class":546},[537,2212,551],{"class":550},[537,2214,2215,2218,2221,2223,2226,2228],{"class":539,"line":243},[537,2216,2217],{"class":768},"  MARKETING_EMAILS ",[537,2219,2220],{"class":550},"=",[537,2222,563],{"class":550},[537,2224,2225],{"class":566},"marketing_emails",[537,2227,570],{"class":550},[537,2229,1698],{"class":550},[537,2231,2232,2235,2237,2239,2242,2244],{"class":539,"line":248},[537,2233,2234],{"class":768},"  ANALYTICS_COOKIES ",[537,2236,2220],{"class":550},[537,2238,563],{"class":550},[537,2240,2241],{"class":566},"analytics_cookies",[537,2243,570],{"class":550},[537,2245,1698],{"class":550},[537,2247,2248,2251,2253,2255,2258,2260],{"class":539,"line":783},[537,2249,2250],{"class":768},"  DATA_PROCESSING ",[537,2252,2220],{"class":550},[537,2254,563],{"class":550},[537,2256,2257],{"class":566},"data_processing",[537,2259,570],{"class":550},[537,2261,1698],{"class":550},[537,2263,2264,2267,2269,2271,2274,2276],{"class":539,"line":810},[537,2265,2266],{"class":768},"  THIRD_PARTY_SHARING ",[537,2268,2220],{"class":550},[537,2270,563],{"class":550},[537,2272,2273],{"class":566},"third_party_sharing",[537,2275,570],{"class":550},[537,2277,1698],{"class":550},[537,2279,2280,2283,2285,2287,2290],{"class":539,"line":816},[537,2281,2282],{"class":768},"  RESEARCH_PARTICIPATION ",[537,2284,2220],{"class":550},[537,2286,563],{"class":550},[537,2288,2289],{"class":566},"research_participation",[537,2291,1877],{"class":550},[537,2293,2294],{"class":539,"line":821},[537,2295,662],{"class":550},[537,2297,2298],{"class":539,"line":827},[537,2299,668],{"emptyLinePlaceholder":667},[537,2301,2302,2304,2307],{"class":539,"line":852},[537,2303,673],{"class":542},[537,2305,2306],{"class":546}," ConsentManager",[537,2308,551],{"class":550},[537,2310,2311,2313,2316,2318,2321],{"class":539,"line":857},[537,2312,683],{"class":542},[537,2314,2315],{"class":556}," consentStorage",[537,2317,560],{"class":550},[537,2319,2320],{"class":546}," ConsentStorage",[537,2322,610],{"class":550},[537,2324,2325,2327,2329,2331,2333],{"class":539,"line":876},[537,2326,683],{"class":542},[537,2328,700],{"class":556},[537,2330,560],{"class":550},[537,2332,705],{"class":546},[537,2334,610],{"class":550},[537,2336,2337],{"class":539,"line":891},[537,2338,668],{"emptyLinePlaceholder":667},[537,2340,2341,2343,2346],{"class":539,"line":915},[537,2342,716],{"class":542},[537,2344,2345],{"class":556}," recordConsent",[537,2347,2348],{"class":550},"(\n",[537,2350,2351,2354,2356,2358,2360],{"class":539,"line":923},[537,2352,2353],{"class":725},"    userId",[537,2355,560],{"class":550},[537,2357,620],{"class":546},[537,2359,1213],{"class":550},[537,2361,2362],{"class":768}," \n",[537,2364,2365,2368,2370,2372,2374],{"class":539,"line":936},[537,2366,2367],{"class":725},"    consentType",[537,2369,560],{"class":550},[537,2371,2127],{"class":546},[537,2373,1213],{"class":550},[537,2375,2362],{"class":768},[537,2377,2378,2381,2383,2385],{"class":539,"line":954},[537,2379,2380],{"class":725},"    granted",[537,2382,560],{"class":550},[537,2384,632],{"class":546},[537,2386,1698],{"class":550},[537,2388,2389,2392,2394],{"class":539,"line":961},[537,2390,2391],{"class":725},"    context",[537,2393,560],{"class":550},[537,2395,2396],{"class":546}," RequestContext\n",[537,2398,2399,2402,2404,2406,2408,2410],{"class":539,"line":974},[537,2400,2401],{"class":550},"  ):",[537,2403,736],{"class":546},[537,2405,739],{"class":550},[537,2407,742],{"class":546},[537,2409,745],{"class":550},[537,2411,551],{"class":550},[537,2413,2414,2416,2419,2421,2423,2425],{"class":539,"line":996},[537,2415,1133],{"class":542},[537,2417,2418],{"class":768}," consent",[537,2420,560],{"class":550},[537,2422,2094],{"class":546},[537,2424,1139],{"class":550},[537,2426,551],{"class":550},[537,2428,2429,2431,2433,2435,2438,2440],{"class":539,"line":1003},[537,2430,1953],{"class":556},[537,2432,560],{"class":550},[537,2434,833],{"class":550},[537,2436,2437],{"class":792},"generateConsentId",[537,2439,1973],{"class":556},[537,2441,1698],{"class":550},[537,2443,2444,2447],{"class":539,"line":1016},[537,2445,2446],{"class":768},"      userId",[537,2448,1698],{"class":550},[537,2450,2451,2454],{"class":539,"line":1038},[537,2452,2453],{"class":768},"      consentType",[537,2455,1698],{"class":550},[537,2457,2458,2461],{"class":539,"line":1045},[537,2459,2460],{"class":768},"      granted",[537,2462,1698],{"class":550},[537,2464,2465,2468,2470,2472,2474,2476],{"class":539,"line":1058},[537,2466,2467],{"class":556},"      timestamp",[537,2469,560],{"class":550},[537,2471,789],{"class":550},[537,2473,655],{"class":792},[537,2475,1973],{"class":556},[537,2477,1698],{"class":550},[537,2479,2480,2483,2485,2488,2490,2493],{"class":539,"line":1076},[537,2481,2482],{"class":556},"      ipAddress",[537,2484,560],{"class":550},[537,2486,2487],{"class":768}," context",[537,2489,771],{"class":550},[537,2491,2492],{"class":768},"ipAddress",[537,2494,1698],{"class":550},[537,2496,2497,2500,2502,2504,2506,2509],{"class":539,"line":1083},[537,2498,2499],{"class":556},"      userAgent",[537,2501,560],{"class":550},[537,2503,2487],{"class":768},[537,2505,771],{"class":550},[537,2507,2508],{"class":768},"userAgent",[537,2510,1698],{"class":550},[537,2512,2513,2516,2518,2520,2523,2525,2528],{"class":539,"line":1088},[537,2514,2515],{"class":556},"      version",[537,2517,560],{"class":550},[537,2519,833],{"class":550},[537,2521,2522],{"class":792},"getCurrentConsentVersion",[537,2524,722],{"class":556},[537,2526,2527],{"class":768},"consentType",[537,2529,2530],{"class":556},")\n",[537,2532,2533],{"class":539,"line":1094},[537,2534,1889],{"class":550},[537,2536,2537],{"class":539,"line":1099},[537,2538,668],{"emptyLinePlaceholder":667},[537,2540,2541,2543,2545,2548,2550,2553,2555,2558,2560],{"class":539,"line":1130},[537,2542,830],{"class":758},[537,2544,833],{"class":550},[537,2546,2547],{"class":768},"consentStorage",[537,2549,771],{"class":550},[537,2551,2552],{"class":792},"save",[537,2554,722],{"class":556},[537,2556,2557],{"class":768},"consent",[537,2559,805],{"class":556},[537,2561,610],{"class":550},[537,2563,2564,2566,2568,2570,2572,2575,2577,2579,2581],{"class":539,"line":1163},[537,2565,830],{"class":758},[537,2567,833],{"class":550},[537,2569,836],{"class":768},[537,2571,771],{"class":550},[537,2573,2574],{"class":792},"logConsentChange",[537,2576,722],{"class":556},[537,2578,2557],{"class":768},[537,2580,805],{"class":556},[537,2582,610],{"class":550},[537,2584,2585],{"class":539,"line":1187},[537,2586,1091],{"class":550},[537,2588,2589],{"class":539,"line":1193},[537,2590,668],{"emptyLinePlaceholder":667},[537,2592,2593,2595,2598,2600,2602,2604,2606,2608,2611,2613,2615,2617,2619,2621,2624,2626],{"class":539,"line":1199},[537,2594,716],{"class":542},[537,2596,2597],{"class":556}," checkConsent",[537,2599,722],{"class":550},[537,2601,908],{"class":725},[537,2603,560],{"class":550},[537,2605,620],{"class":546},[537,2607,1213],{"class":550},[537,2609,2610],{"class":725}," consentType",[537,2612,560],{"class":550},[537,2614,2127],{"class":546},[537,2616,733],{"class":550},[537,2618,736],{"class":546},[537,2620,739],{"class":550},[537,2622,2623],{"class":546},"boolean",[537,2625,745],{"class":550},[537,2627,551],{"class":550},[537,2629,2630,2632,2635,2637,2639,2641,2643,2645,2648,2650,2652,2654,2656,2658],{"class":539,"line":1222},[537,2631,1133],{"class":542},[537,2633,2634],{"class":768}," latestConsent",[537,2636,1139],{"class":550},[537,2638,1142],{"class":758},[537,2640,833],{"class":550},[537,2642,2547],{"class":768},[537,2644,771],{"class":550},[537,2646,2647],{"class":792},"getLatest",[537,2649,722],{"class":556},[537,2651,908],{"class":768},[537,2653,1213],{"class":550},[537,2655,2610],{"class":768},[537,2657,805],{"class":556},[537,2659,610],{"class":550},[537,2661,2662],{"class":539,"line":1227},[537,2663,1190],{"class":556},[537,2665,2666,2668,2670,2672,2675,2677],{"class":539,"line":1233},[537,2667,759],{"class":758},[537,2669,762],{"class":556},[537,2671,765],{"class":550},[537,2673,2674],{"class":768},"latestConsent",[537,2676,777],{"class":556},[537,2678,780],{"class":550},[537,2680,2681,2683,2687,2690],{"class":539,"line":1264},[537,2682,1387],{"class":758},[537,2684,2686],{"class":2685},"sfNiH"," false",[537,2688,2689],{"class":550},";",[537,2691,2692],{"class":752}," // No consent recorded\n",[537,2694,2695],{"class":539,"line":1269},[537,2696,813],{"class":550},[537,2698,2699],{"class":539,"line":1274},[537,2700,668],{"emptyLinePlaceholder":667},[537,2702,2703],{"class":539,"line":1304},[537,2704,2705],{"class":752},"    // Check if consent has been withdrawn\n",[537,2707,2708,2710,2712,2714,2716,2719,2721],{"class":539,"line":1310},[537,2709,759],{"class":758},[537,2711,762],{"class":556},[537,2713,2674],{"class":768},[537,2715,771],{"class":550},[537,2717,2718],{"class":768},"withdrawalDate",[537,2720,777],{"class":556},[537,2722,780],{"class":550},[537,2724,2725,2727,2729],{"class":539,"line":1335},[537,2726,1387],{"class":758},[537,2728,2686],{"class":2685},[537,2730,610],{"class":550},[537,2732,2733],{"class":539,"line":1340},[537,2734,813],{"class":550},[537,2736,2737],{"class":539,"line":1356},[537,2738,668],{"emptyLinePlaceholder":667},[537,2740,2741],{"class":539,"line":1384},[537,2742,2743],{"class":752},"    // Check if consent version is current\n",[537,2745,2746,2748,2751,2753,2755,2757,2759,2761,2763],{"class":539,"line":1392},[537,2747,1133],{"class":542},[537,2749,2750],{"class":768}," currentVersion",[537,2752,1139],{"class":550},[537,2754,833],{"class":550},[537,2756,2522],{"class":792},[537,2758,722],{"class":556},[537,2760,2527],{"class":768},[537,2762,805],{"class":556},[537,2764,610],{"class":550},[537,2766,2767,2769,2771,2773,2775,2778,2781,2783,2785],{"class":539,"line":1397},[537,2768,759],{"class":758},[537,2770,762],{"class":556},[537,2772,2674],{"class":768},[537,2774,771],{"class":550},[537,2776,2777],{"class":768},"version",[537,2779,2780],{"class":550}," !==",[537,2782,2750],{"class":768},[537,2784,777],{"class":556},[537,2786,780],{"class":550},[537,2788,2789,2791,2793,2795],{"class":539,"line":1402},[537,2790,1387],{"class":758},[537,2792,2686],{"class":2685},[537,2794,2689],{"class":550},[537,2796,2797],{"class":752}," // Consent outdated\n",[537,2799,2800],{"class":539,"line":1408},[537,2801,813],{"class":550},[537,2803,2804],{"class":539,"line":1426},[537,2805,668],{"emptyLinePlaceholder":667},[537,2807,2808,2810,2812,2814,2817],{"class":539,"line":1431},[537,2809,1668],{"class":758},[537,2811,2634],{"class":768},[537,2813,771],{"class":550},[537,2815,2816],{"class":768},"granted",[537,2818,610],{"class":550},[537,2820,2821],{"class":539,"line":1437},[537,2822,1091],{"class":550},[537,2824,2825],{"class":539,"line":1468},[537,2826,668],{"emptyLinePlaceholder":667},[537,2828,2829,2831,2834,2836,2838,2840,2842,2844,2846,2848,2850,2852,2854,2856,2858,2860],{"class":539,"line":1473},[537,2830,716],{"class":542},[537,2832,2833],{"class":556}," withdrawConsent",[537,2835,722],{"class":550},[537,2837,908],{"class":725},[537,2839,560],{"class":550},[537,2841,620],{"class":546},[537,2843,1213],{"class":550},[537,2845,2610],{"class":725},[537,2847,560],{"class":550},[537,2849,2127],{"class":546},[537,2851,733],{"class":550},[537,2853,736],{"class":546},[537,2855,739],{"class":550},[537,2857,742],{"class":546},[537,2859,745],{"class":550},[537,2861,551],{"class":550},[537,2863,2864,2866,2868,2870,2872,2874,2876,2878,2880,2882,2884,2886,2888,2890],{"class":539,"line":1478},[537,2865,1133],{"class":542},[537,2867,2634],{"class":768},[537,2869,1139],{"class":550},[537,2871,1142],{"class":758},[537,2873,833],{"class":550},[537,2875,2547],{"class":768},[537,2877,771],{"class":550},[537,2879,2647],{"class":792},[537,2881,722],{"class":556},[537,2883,908],{"class":768},[537,2885,1213],{"class":550},[537,2887,2610],{"class":768},[537,2889,805],{"class":556},[537,2891,610],{"class":550},[537,2893,2894],{"class":539,"line":1508},[537,2895,1190],{"class":556},[537,2897,2898,2900,2902,2904,2907,2909,2911,2913,2915],{"class":539,"line":1535},[537,2899,759],{"class":758},[537,2901,762],{"class":556},[537,2903,2674],{"class":768},[537,2905,2906],{"class":550}," &&",[537,2908,2634],{"class":768},[537,2910,771],{"class":550},[537,2912,2816],{"class":768},[537,2914,777],{"class":556},[537,2916,780],{"class":550},[537,2918,2919,2922,2924,2926,2928,2930,2932,2934],{"class":539,"line":1558},[537,2920,2921],{"class":768},"      latestConsent",[537,2923,771],{"class":550},[537,2925,2718],{"class":768},[537,2927,1139],{"class":550},[537,2929,789],{"class":550},[537,2931,655],{"class":792},[537,2933,1973],{"class":556},[537,2935,610],{"class":550},[537,2937,2938,2940,2942,2944,2946,2949,2951,2953,2955],{"class":539,"line":1563},[537,2939,1359],{"class":758},[537,2941,833],{"class":550},[537,2943,2547],{"class":768},[537,2945,771],{"class":550},[537,2947,2948],{"class":792},"update",[537,2950,722],{"class":556},[537,2952,2674],{"class":768},[537,2954,805],{"class":556},[537,2956,610],{"class":550},[537,2958,2959,2961,2963,2965,2967,2970,2972,2974,2976,2978,2980],{"class":539,"line":1569},[537,2960,1359],{"class":758},[537,2962,833],{"class":550},[537,2964,836],{"class":768},[537,2966,771],{"class":550},[537,2968,2969],{"class":792},"logConsentWithdrawal",[537,2971,722],{"class":556},[537,2973,908],{"class":768},[537,2975,1213],{"class":550},[537,2977,2610],{"class":768},[537,2979,805],{"class":556},[537,2981,610],{"class":550},[537,2983,2984],{"class":539,"line":1591},[537,2985,2986],{"class":556},"      \n",[537,2988,2989],{"class":539,"line":1596},[537,2990,2991],{"class":752},"      // Trigger data processing actions for withdrawal\n",[537,2993,2994,2996,2998,3001,3003,3005,3007,3009,3011],{"class":539,"line":1602},[537,2995,1359],{"class":758},[537,2997,833],{"class":550},[537,2999,3000],{"class":792},"handleConsentWithdrawal",[537,3002,722],{"class":556},[537,3004,908],{"class":768},[537,3006,1213],{"class":550},[537,3008,2610],{"class":768},[537,3010,805],{"class":556},[537,3012,610],{"class":550},[537,3014,3015],{"class":539,"line":1632},[537,3016,813],{"class":550},[537,3018,3019],{"class":539,"line":1637},[537,3020,1091],{"class":550},[537,3022,3023],{"class":539,"line":1642},[537,3024,668],{"emptyLinePlaceholder":667},[537,3026,3027,3029,3031,3034,3036,3038,3040,3042,3044,3046,3048,3050,3052,3054,3056,3058,3060],{"class":539,"line":1665},[537,3028,683],{"class":542},[537,3030,1104],{"class":542},[537,3032,3033],{"class":556}," handleConsentWithdrawal",[537,3035,722],{"class":550},[537,3037,908],{"class":725},[537,3039,560],{"class":550},[537,3041,620],{"class":546},[537,3043,1213],{"class":550},[537,3045,2610],{"class":725},[537,3047,560],{"class":550},[537,3049,2127],{"class":546},[537,3051,733],{"class":550},[537,3053,736],{"class":546},[537,3055,739],{"class":550},[537,3057,742],{"class":546},[537,3059,745],{"class":550},[537,3061,551],{"class":550},[537,3063,3064,3066,3068,3070,3072],{"class":539,"line":1673},[537,3065,860],{"class":758},[537,3067,762],{"class":556},[537,3069,2527],{"class":768},[537,3071,777],{"class":556},[537,3073,780],{"class":550},[537,3075,3076,3078,3080,3082,3085],{"class":539,"line":1683},[537,3077,879],{"class":758},[537,3079,2127],{"class":768},[537,3081,771],{"class":550},[537,3083,3084],{"class":768},"MARKETING_EMAILS",[537,3086,888],{"class":550},[537,3088,3089,3091,3093,3096,3098,3100,3102],{"class":539,"line":1701},[537,3090,894],{"class":758},[537,3092,833],{"class":550},[537,3094,3095],{"class":792},"unsubscribeFromMarketing",[537,3097,722],{"class":556},[537,3099,908],{"class":768},[537,3101,805],{"class":556},[537,3103,610],{"class":550},[537,3105,3106,3108],{"class":539,"line":1718},[537,3107,918],{"class":758},[537,3109,610],{"class":550},[537,3111,3112,3114,3116,3118,3121],{"class":539,"line":1735},[537,3113,879],{"class":758},[537,3115,2127],{"class":768},[537,3117,771],{"class":550},[537,3119,3120],{"class":768},"ANALYTICS_COOKIES",[537,3122,888],{"class":550},[537,3124,3125,3127,3129,3132,3134,3136,3138],{"class":539,"line":1750},[537,3126,894],{"class":758},[537,3128,833],{"class":550},[537,3130,3131],{"class":792},"deleteAnalyticsData",[537,3133,722],{"class":556},[537,3135,908],{"class":768},[537,3137,805],{"class":556},[537,3139,610],{"class":550},[537,3141,3142,3144],{"class":539,"line":1756},[537,3143,918],{"class":758},[537,3145,610],{"class":550},[537,3147,3148,3150,3152,3154,3157],{"class":539,"line":1766},[537,3149,879],{"class":758},[537,3151,2127],{"class":768},[537,3153,771],{"class":550},[537,3155,3156],{"class":768},"DATA_PROCESSING",[537,3158,888],{"class":550},[537,3160,3161,3163,3165,3168,3170,3172,3174],{"class":539,"line":1783},[537,3162,894],{"class":758},[537,3164,833],{"class":550},[537,3166,3167],{"class":792},"restrictDataProcessing",[537,3169,722],{"class":556},[537,3171,908],{"class":768},[537,3173,805],{"class":556},[537,3175,610],{"class":550},[537,3177,3178,3180],{"class":539,"line":1800},[537,3179,918],{"class":758},[537,3181,610],{"class":550},[537,3183,3184,3186,3188,3190,3193],{"class":539,"line":1815},[537,3185,879],{"class":758},[537,3187,2127],{"class":768},[537,3189,771],{"class":550},[537,3191,3192],{"class":768},"THIRD_PARTY_SHARING",[537,3194,888],{"class":550},[537,3196,3197,3199,3201,3204,3206,3208,3210],{"class":539,"line":1820},[537,3198,894],{"class":758},[537,3200,833],{"class":550},[537,3202,3203],{"class":792},"stopThirdPartySharing",[537,3205,722],{"class":556},[537,3207,908],{"class":768},[537,3209,805],{"class":556},[537,3211,610],{"class":550},[537,3213,3214,3216],{"class":539,"line":1830},[537,3215,918],{"class":758},[537,3217,610],{"class":550},[537,3219,3220,3222,3224,3226,3229],{"class":539,"line":1847},[537,3221,879],{"class":758},[537,3223,2127],{"class":768},[537,3225,771],{"class":550},[537,3227,3228],{"class":768},"RESEARCH_PARTICIPATION",[537,3230,888],{"class":550},[537,3232,3233,3235,3237,3240,3242,3244,3246],{"class":539,"line":1864},[537,3234,894],{"class":758},[537,3236,833],{"class":550},[537,3238,3239],{"class":792},"excludeFromResearch",[537,3241,722],{"class":556},[537,3243,908],{"class":768},[537,3245,805],{"class":556},[537,3247,610],{"class":550},[537,3249,3250,3252],{"class":539,"line":1880},[537,3251,918],{"class":758},[537,3253,610],{"class":550},[537,3255,3256],{"class":539,"line":1886},[537,3257,813],{"class":550},[537,3259,3260],{"class":539,"line":1892},[537,3261,1091],{"class":550},[537,3263,3264],{"class":539,"line":1897},[537,3265,668],{"emptyLinePlaceholder":667},[537,3267,3268,3271,3274,3277],{"class":539,"line":1902},[537,3269,3270],{"class":556},"  generateConsentBanner",[537,3272,3273],{"class":550},"():",[537,3275,3276],{"class":546}," ConsentBanner",[537,3278,551],{"class":550},[537,3280,3281,3283],{"class":539,"line":1932},[537,3282,1668],{"class":758},[537,3284,551],{"class":550},[537,3286,3287,3290,3292,3295,3298,3301],{"class":539,"line":1938},[537,3288,3289],{"class":556},"      title",[537,3291,560],{"class":550},[537,3293,3294],{"class":550}," \"",[537,3296,3297],{"class":566},"Privacy & Consent",[537,3299,3300],{"class":550},"\"",[537,3302,1698],{"class":550},[537,3304,3305,3308,3310,3312,3315,3317],{"class":539,"line":1950},[537,3306,3307],{"class":556},"      description",[537,3309,560],{"class":550},[537,3311,3294],{"class":550},[537,3313,3314],{"class":566},"We use your data to provide psychic intelligence services and improve our platform.",[537,3316,3300],{"class":550},[537,3318,1698],{"class":550},[537,3320,3321,3324,3326],{"class":539,"line":1981},[537,3322,3323],{"class":556},"      consents",[537,3325,560],{"class":550},[537,3327,3328],{"class":556}," [\n",[537,3330,3331],{"class":539,"line":2012},[537,3332,3333],{"class":550},"        {\n",[537,3335,3336,3339,3341,3343,3345,3347],{"class":539,"line":2029},[537,3337,3338],{"class":556},"          type",[537,3340,560],{"class":550},[537,3342,2127],{"class":768},[537,3344,771],{"class":550},[537,3346,3156],{"class":768},[537,3348,1698],{"class":550},[537,3350,3351,3354,3356,3359],{"class":539,"line":2035},[537,3352,3353],{"class":556},"          required",[537,3355,560],{"class":550},[537,3357,3358],{"class":2685}," true",[537,3360,1698],{"class":550},[537,3362,3363,3366,3368,3370,3373,3375],{"class":539,"line":2040},[537,3364,3365],{"class":556},"          description",[537,3367,560],{"class":550},[537,3369,3294],{"class":550},[537,3371,3372],{"class":566},"Required for service provision",[537,3374,3300],{"class":550},[537,3376,1698],{"class":550},[537,3378,3379,3382,3384,3386,3389],{"class":539,"line":2045},[537,3380,3381],{"class":556},"          details",[537,3383,560],{"class":550},[537,3385,3294],{"class":550},[537,3387,3388],{"class":566},"Processing your queries and providing analysis results",[537,3390,3391],{"class":550},"\"\n",[537,3393,3394],{"class":539,"line":2071},[537,3395,3396],{"class":550},"        },\n",[537,3398,3399],{"class":539,"line":2076},[537,3400,3333],{"class":550},[537,3402,3404,3406,3408,3410,3412,3414],{"class":539,"line":3403},112,[537,3405,3338],{"class":556},[537,3407,560],{"class":550},[537,3409,2127],{"class":768},[537,3411,771],{"class":550},[537,3413,3120],{"class":768},[537,3415,1698],{"class":550},[537,3417,3419,3421,3423,3425],{"class":539,"line":3418},113,[537,3420,3353],{"class":556},[537,3422,560],{"class":550},[537,3424,2686],{"class":2685},[537,3426,1698],{"class":550},[537,3428,3430,3432,3434,3436,3439,3441],{"class":539,"line":3429},114,[537,3431,3365],{"class":556},[537,3433,560],{"class":550},[537,3435,3294],{"class":550},[537,3437,3438],{"class":566},"Help us improve our services",[537,3440,3300],{"class":550},[537,3442,1698],{"class":550},[537,3444,3446,3448,3450,3452,3455],{"class":539,"line":3445},115,[537,3447,3381],{"class":556},[537,3449,560],{"class":550},[537,3451,3294],{"class":550},[537,3453,3454],{"class":566},"Anonymous usage statistics and performance metrics",[537,3456,3391],{"class":550},[537,3458,3460],{"class":539,"line":3459},116,[537,3461,3396],{"class":550},[537,3463,3465],{"class":539,"line":3464},117,[537,3466,3333],{"class":550},[537,3468,3470,3472,3474,3476,3478,3480],{"class":539,"line":3469},118,[537,3471,3338],{"class":556},[537,3473,560],{"class":550},[537,3475,2127],{"class":768},[537,3477,771],{"class":550},[537,3479,3084],{"class":768},[537,3481,1698],{"class":550},[537,3483,3485,3487,3489,3491],{"class":539,"line":3484},119,[537,3486,3353],{"class":556},[537,3488,560],{"class":550},[537,3490,2686],{"class":2685},[537,3492,1698],{"class":550},[537,3494,3496,3498,3500,3502,3505,3507],{"class":539,"line":3495},120,[537,3497,3365],{"class":556},[537,3499,560],{"class":550},[537,3501,3294],{"class":550},[537,3503,3504],{"class":566},"Receive updates and offers",[537,3506,3300],{"class":550},[537,3508,1698],{"class":550},[537,3510,3512,3514,3516,3518,3521],{"class":539,"line":3511},121,[537,3513,3381],{"class":556},[537,3515,560],{"class":550},[537,3517,3294],{"class":550},[537,3519,3520],{"class":566},"Product updates, new features, and promotional content",[537,3522,3391],{"class":550},[537,3524,3526],{"class":539,"line":3525},122,[537,3527,3528],{"class":550},"        }\n",[537,3530,3532,3535],{"class":539,"line":3531},123,[537,3533,3534],{"class":556},"      ]",[537,3536,1698],{"class":550},[537,3538,3540,3542,3544,3546,3548,3550],{"class":539,"line":3539},124,[537,3541,2515],{"class":556},[537,3543,560],{"class":550},[537,3545,833],{"class":550},[537,3547,2522],{"class":792},[537,3549,1973],{"class":556},[537,3551,1698],{"class":550},[537,3553,3555,3558,3560,3562,3564],{"class":539,"line":3554},125,[537,3556,3557],{"class":556},"      lastUpdated",[537,3559,560],{"class":550},[537,3561,789],{"class":550},[537,3563,655],{"class":792},[537,3565,3566],{"class":556},"()\n",[537,3568,3570],{"class":539,"line":3569},126,[537,3571,1889],{"class":550},[537,3573,3575],{"class":539,"line":3574},127,[537,3576,1091],{"class":550},[537,3578,3580],{"class":539,"line":3579},128,[537,3581,662],{"class":550},[517,3583,3585],{"id":3584},"ccpa-california-consumer-privacy-act","CCPA (California Consumer Privacy Act)",[522,3587,3589],{"id":3588},"consumer-rights-implementation","Consumer Rights Implementation",[527,3591,3593],{"className":529,"code":3592,"language":531,"meta":532,"style":532},"interface CCPARequest {\n  type: 'know' | 'delete' | 'opt_out' | 'opt_in';\n  consumerId: string;\n  identityVerified: boolean;\n  requestDetails: string;\n  timestamp: Date;\n}\n\nclass CCPAComplianceManager {\n  private dataProcessor: DataProcessor;\n  private auditLogger: AuditLogger;\n  private optOutRegistry: OptOutRegistry;\n\n  async handleConsumerRequest(request: CCPARequest): Promise\u003Cvoid> {\n    if (!request.identityVerified) {\n      throw new Error('Identity verification required');\n    }\n\n    await this.auditLogger.logCCPARequest(request);\n\n    switch (request.type) {\n      case 'know':\n        await this.handleKnowRequest(request.consumerId);\n        break;\n      case 'delete':\n        await this.handleDeleteRequest(request.consumerId);\n        break;\n      case 'opt_out':\n        await this.handleOptOutRequest(request.consumerId);\n        break;\n      case 'opt_in':\n        await this.handleOptInRequest(request.consumerId);\n        break;\n    }\n  }\n\n  private async handleKnowRequest(consumerId: string): Promise\u003Cvoid> {\n    const consumerData = await this.dataProcessor.getConsumerData(consumerId);\n    const disclosureReport = this.createDisclosureReport(consumerData);\n    \n    await this.sendDisclosureToConsumer(consumerId, disclosureReport);\n    await this.auditLogger.logCCPAKnow(consumerId, 'fulfilled');\n  }\n\n  private async handleDeleteRequest(consumerId: string): Promise\u003Cvoid> {\n    // Check for legal exceptions\n    const canDelete = await this.checkDeletionExceptions(consumerId);\n    \n    if (!canDelete) {\n      await this.notifyConsumer(consumerId, 'Unable to delete due to legal requirements');\n      return;\n    }\n\n    // Delete consumer data\n    await this.dataProcessor.deleteConsumerData(consumerId);\n    await this.auditLogger.logCCPADelete(consumerId, 'completed');\n  }\n\n  private async handleOptOutRequest(consumerId: string): Promise\u003Cvoid> {\n    await this.optOutRegistry.addOptOut(consumerId);\n    await this.stopDataSale(consumerId);\n    await this.auditLogger.logCCPAOptOut(consumerId, 'completed');\n  }\n\n  private async handleOptInRequest(consumerId: string): Promise\u003Cvoid> {\n    await this.optOutRegistry.removeOptOut(consumerId);\n    await this.resumeDataSale(consumerId);\n    await this.auditLogger.logCCPAOptIn(consumerId, 'completed');\n  }\n\n  private createDisclosureReport(consumerData: any): CCPADisclosure {\n    return {\n      categoriesCollected: [\n        'Identifiers',\n        'Personal information',\n        'Commercial information',\n        'Internet or electronic network activity information'\n      ],\n      sourcesCollected: [\n        'Directly from consumer',\n        'Automatically collected',\n        'Third parties'\n      ],\n      businessPurposes: [\n        'To provide services requested by consumer',\n        'To fulfill contractual obligations',\n        'To improve our services',\n        'For research and development'\n      },\n      thirdPartiesShared: [\n        'Payment processors',\n        'Cloud service providers',\n        'Analytics providers'\n      ],\n      retentionPeriod: 'As long as necessary to fulfill service obligations',\n      consumerRights: [\n        'Right to know what personal information is collected',\n        'Right to delete personal information',\n        'Right to opt-out of sale of personal information',\n        'Right to non-discrimination for exercising privacy rights'\n      ]\n    };\n  }\n\n  private async checkDeletionExceptions(consumerId: string): Promise\u003Cboolean> {\n    // Check for active legal holds\n    const hasLegalHold = await this.checkLegalHold(consumerId);\n    if (hasLegalHold) return false;\n\n    // Check for required transaction data\n    const hasActiveTransactions = await this.checkActiveTransactions(consumerId);\n    if (hasActiveTransactions) return false;\n\n    // Check for regulatory requirements\n    const hasRegulatoryRequirement = await this.checkRegulatoryRequirements(consumerId);\n    if (hasRegulatoryRequirement) return false;\n\n    return true;\n  }\n}\n",[534,3594,3595,3604,3646,3657,3667,3677,3687,3691,3695,3704,3716,3728,3742,3746,3773,3791,3811,3815,3819,3840,3844,3860,3872,3894,3900,3912,3933,3939,3951,3972,3978,3990,4011,4017,4021,4025,4029,4058,4086,4109,4113,4134,4163,4167,4171,4200,4205,4228,4232,4246,4272,4278,4282,4286,4291,4312,4341,4345,4349,4378,4400,4417,4446,4450,4454,4483,4504,4521,4550,4554,4558,4580,4586,4595,4607,4618,4629,4638,4644,4653,4664,4675,4684,4690,4699,4710,4721,4732,4741,4748,4756,4767,4778,4787,4793,4810,4817,4828,4839,4850,4859,4864,4868,4872,4876,4908,4913,4937,4951,4955,4960,4982,4994,4998,5003,5025,5037,5041,5046,5050],{"__ignoreMap":532},[537,3596,3597,3599,3602],{"class":539,"line":82},[537,3598,543],{"class":542},[537,3600,3601],{"class":546}," CCPARequest",[537,3603,551],{"class":550},[537,3605,3606,3608,3610,3612,3615,3617,3619,3621,3624,3626,3628,3630,3633,3635,3637,3639,3642,3644],{"class":539,"line":114},[537,3607,557],{"class":556},[537,3609,560],{"class":550},[537,3611,563],{"class":550},[537,3613,3614],{"class":566},"know",[537,3616,570],{"class":550},[537,3618,573],{"class":550},[537,3620,563],{"class":550},[537,3622,3623],{"class":566},"delete",[537,3625,570],{"class":550},[537,3627,573],{"class":550},[537,3629,563],{"class":550},[537,3631,3632],{"class":566},"opt_out",[537,3634,570],{"class":550},[537,3636,573],{"class":550},[537,3638,563],{"class":550},[537,3640,3641],{"class":566},"opt_in",[537,3643,570],{"class":550},[537,3645,610],{"class":550},[537,3647,3648,3651,3653,3655],{"class":539,"line":146},[537,3649,3650],{"class":556},"  consumerId",[537,3652,560],{"class":550},[537,3654,620],{"class":546},[537,3656,610],{"class":550},[537,3658,3659,3661,3663,3665],{"class":539,"line":178},[537,3660,627],{"class":556},[537,3662,560],{"class":550},[537,3664,632],{"class":546},[537,3666,610],{"class":550},[537,3668,3669,3671,3673,3675],{"class":539,"line":268},[537,3670,639],{"class":556},[537,3672,560],{"class":550},[537,3674,620],{"class":546},[537,3676,610],{"class":550},[537,3678,3679,3681,3683,3685],{"class":539,"line":273},[537,3680,650],{"class":556},[537,3682,560],{"class":550},[537,3684,655],{"class":546},[537,3686,610],{"class":550},[537,3688,3689],{"class":539,"line":279},[537,3690,662],{"class":550},[537,3692,3693],{"class":539,"line":285},[537,3694,668],{"emptyLinePlaceholder":667},[537,3696,3697,3699,3702],{"class":539,"line":291},[537,3698,673],{"class":542},[537,3700,3701],{"class":546}," CCPAComplianceManager",[537,3703,551],{"class":550},[537,3705,3706,3708,3710,3712,3714],{"class":539,"line":222},[537,3707,683],{"class":542},[537,3709,686],{"class":556},[537,3711,560],{"class":550},[537,3713,691],{"class":546},[537,3715,610],{"class":550},[537,3717,3718,3720,3722,3724,3726],{"class":539,"line":227},[537,3719,683],{"class":542},[537,3721,700],{"class":556},[537,3723,560],{"class":550},[537,3725,705],{"class":546},[537,3727,610],{"class":550},[537,3729,3730,3732,3735,3737,3740],{"class":539,"line":232},[537,3731,683],{"class":542},[537,3733,3734],{"class":556}," optOutRegistry",[537,3736,560],{"class":550},[537,3738,3739],{"class":546}," OptOutRegistry",[537,3741,610],{"class":550},[537,3743,3744],{"class":539,"line":238},[537,3745,668],{"emptyLinePlaceholder":667},[537,3747,3748,3750,3753,3755,3757,3759,3761,3763,3765,3767,3769,3771],{"class":539,"line":243},[537,3749,716],{"class":542},[537,3751,3752],{"class":556}," handleConsumerRequest",[537,3754,722],{"class":550},[537,3756,726],{"class":725},[537,3758,560],{"class":550},[537,3760,3601],{"class":546},[537,3762,733],{"class":550},[537,3764,736],{"class":546},[537,3766,739],{"class":550},[537,3768,742],{"class":546},[537,3770,745],{"class":550},[537,3772,551],{"class":550},[537,3774,3775,3777,3779,3781,3783,3785,3787,3789],{"class":539,"line":248},[537,3776,759],{"class":758},[537,3778,762],{"class":556},[537,3780,765],{"class":550},[537,3782,726],{"class":768},[537,3784,771],{"class":550},[537,3786,774],{"class":768},[537,3788,777],{"class":556},[537,3790,780],{"class":550},[537,3792,3793,3795,3797,3799,3801,3803,3805,3807,3809],{"class":539,"line":783},[537,3794,786],{"class":758},[537,3796,789],{"class":550},[537,3798,793],{"class":792},[537,3800,722],{"class":556},[537,3802,570],{"class":550},[537,3804,800],{"class":566},[537,3806,570],{"class":550},[537,3808,805],{"class":556},[537,3810,610],{"class":550},[537,3812,3813],{"class":539,"line":810},[537,3814,813],{"class":550},[537,3816,3817],{"class":539,"line":816},[537,3818,668],{"emptyLinePlaceholder":667},[537,3820,3821,3823,3825,3827,3829,3832,3834,3836,3838],{"class":539,"line":821},[537,3822,830],{"class":758},[537,3824,833],{"class":550},[537,3826,836],{"class":768},[537,3828,771],{"class":550},[537,3830,3831],{"class":792},"logCCPARequest",[537,3833,722],{"class":556},[537,3835,726],{"class":768},[537,3837,805],{"class":556},[537,3839,610],{"class":550},[537,3841,3842],{"class":539,"line":827},[537,3843,668],{"emptyLinePlaceholder":667},[537,3845,3846,3848,3850,3852,3854,3856,3858],{"class":539,"line":852},[537,3847,860],{"class":758},[537,3849,762],{"class":556},[537,3851,726],{"class":768},[537,3853,771],{"class":550},[537,3855,869],{"class":768},[537,3857,777],{"class":556},[537,3859,780],{"class":550},[537,3861,3862,3864,3866,3868,3870],{"class":539,"line":857},[537,3863,879],{"class":758},[537,3865,563],{"class":550},[537,3867,3614],{"class":566},[537,3869,570],{"class":550},[537,3871,888],{"class":550},[537,3873,3874,3876,3878,3881,3883,3885,3887,3890,3892],{"class":539,"line":876},[537,3875,894],{"class":758},[537,3877,833],{"class":550},[537,3879,3880],{"class":792},"handleKnowRequest",[537,3882,722],{"class":556},[537,3884,726],{"class":768},[537,3886,771],{"class":550},[537,3888,3889],{"class":768},"consumerId",[537,3891,805],{"class":556},[537,3893,610],{"class":550},[537,3895,3896,3898],{"class":539,"line":891},[537,3897,918],{"class":758},[537,3899,610],{"class":550},[537,3901,3902,3904,3906,3908,3910],{"class":539,"line":915},[537,3903,879],{"class":758},[537,3905,563],{"class":550},[537,3907,3623],{"class":566},[537,3909,570],{"class":550},[537,3911,888],{"class":550},[537,3913,3914,3916,3918,3921,3923,3925,3927,3929,3931],{"class":539,"line":923},[537,3915,894],{"class":758},[537,3917,833],{"class":550},[537,3919,3920],{"class":792},"handleDeleteRequest",[537,3922,722],{"class":556},[537,3924,726],{"class":768},[537,3926,771],{"class":550},[537,3928,3889],{"class":768},[537,3930,805],{"class":556},[537,3932,610],{"class":550},[537,3934,3935,3937],{"class":539,"line":936},[537,3936,918],{"class":758},[537,3938,610],{"class":550},[537,3940,3941,3943,3945,3947,3949],{"class":539,"line":954},[537,3942,879],{"class":758},[537,3944,563],{"class":550},[537,3946,3632],{"class":566},[537,3948,570],{"class":550},[537,3950,888],{"class":550},[537,3952,3953,3955,3957,3960,3962,3964,3966,3968,3970],{"class":539,"line":961},[537,3954,894],{"class":758},[537,3956,833],{"class":550},[537,3958,3959],{"class":792},"handleOptOutRequest",[537,3961,722],{"class":556},[537,3963,726],{"class":768},[537,3965,771],{"class":550},[537,3967,3889],{"class":768},[537,3969,805],{"class":556},[537,3971,610],{"class":550},[537,3973,3974,3976],{"class":539,"line":974},[537,3975,918],{"class":758},[537,3977,610],{"class":550},[537,3979,3980,3982,3984,3986,3988],{"class":539,"line":996},[537,3981,879],{"class":758},[537,3983,563],{"class":550},[537,3985,3641],{"class":566},[537,3987,570],{"class":550},[537,3989,888],{"class":550},[537,3991,3992,3994,3996,3999,4001,4003,4005,4007,4009],{"class":539,"line":1003},[537,3993,894],{"class":758},[537,3995,833],{"class":550},[537,3997,3998],{"class":792},"handleOptInRequest",[537,4000,722],{"class":556},[537,4002,726],{"class":768},[537,4004,771],{"class":550},[537,4006,3889],{"class":768},[537,4008,805],{"class":556},[537,4010,610],{"class":550},[537,4012,4013,4015],{"class":539,"line":1016},[537,4014,918],{"class":758},[537,4016,610],{"class":550},[537,4018,4019],{"class":539,"line":1038},[537,4020,813],{"class":550},[537,4022,4023],{"class":539,"line":1045},[537,4024,1091],{"class":550},[537,4026,4027],{"class":539,"line":1058},[537,4028,668],{"emptyLinePlaceholder":667},[537,4030,4031,4033,4035,4038,4040,4042,4044,4046,4048,4050,4052,4054,4056],{"class":539,"line":1076},[537,4032,683],{"class":542},[537,4034,1104],{"class":542},[537,4036,4037],{"class":556}," handleKnowRequest",[537,4039,722],{"class":550},[537,4041,3889],{"class":725},[537,4043,560],{"class":550},[537,4045,620],{"class":546},[537,4047,733],{"class":550},[537,4049,736],{"class":546},[537,4051,739],{"class":550},[537,4053,742],{"class":546},[537,4055,745],{"class":550},[537,4057,551],{"class":550},[537,4059,4060,4062,4065,4067,4069,4071,4073,4075,4078,4080,4082,4084],{"class":539,"line":1083},[537,4061,1133],{"class":542},[537,4063,4064],{"class":768}," consumerData",[537,4066,1139],{"class":550},[537,4068,1142],{"class":758},[537,4070,833],{"class":550},[537,4072,1147],{"class":768},[537,4074,771],{"class":550},[537,4076,4077],{"class":792},"getConsumerData",[537,4079,722],{"class":556},[537,4081,3889],{"class":768},[537,4083,805],{"class":556},[537,4085,610],{"class":550},[537,4087,4088,4090,4093,4095,4097,4100,4102,4105,4107],{"class":539,"line":1088},[537,4089,1133],{"class":542},[537,4091,4092],{"class":768}," disclosureReport",[537,4094,1139],{"class":550},[537,4096,833],{"class":550},[537,4098,4099],{"class":792},"createDisclosureReport",[537,4101,722],{"class":556},[537,4103,4104],{"class":768},"consumerData",[537,4106,805],{"class":556},[537,4108,610],{"class":550},[537,4110,4111],{"class":539,"line":1094},[537,4112,1190],{"class":556},[537,4114,4115,4117,4119,4122,4124,4126,4128,4130,4132],{"class":539,"line":1099},[537,4116,830],{"class":758},[537,4118,833],{"class":550},[537,4120,4121],{"class":792},"sendDisclosureToConsumer",[537,4123,722],{"class":556},[537,4125,3889],{"class":768},[537,4127,1213],{"class":550},[537,4129,4092],{"class":768},[537,4131,805],{"class":556},[537,4133,610],{"class":550},[537,4135,4136,4138,4140,4142,4144,4147,4149,4151,4153,4155,4157,4159,4161],{"class":539,"line":1130},[537,4137,830],{"class":758},[537,4139,833],{"class":550},[537,4141,836],{"class":768},[537,4143,771],{"class":550},[537,4145,4146],{"class":792},"logCCPAKnow",[537,4148,722],{"class":556},[537,4150,3889],{"class":768},[537,4152,1213],{"class":550},[537,4154,563],{"class":550},[537,4156,1255],{"class":566},[537,4158,570],{"class":550},[537,4160,805],{"class":556},[537,4162,610],{"class":550},[537,4164,4165],{"class":539,"line":1163},[537,4166,1091],{"class":550},[537,4168,4169],{"class":539,"line":1187},[537,4170,668],{"emptyLinePlaceholder":667},[537,4172,4173,4175,4177,4180,4182,4184,4186,4188,4190,4192,4194,4196,4198],{"class":539,"line":1193},[537,4174,683],{"class":542},[537,4176,1104],{"class":542},[537,4178,4179],{"class":556}," handleDeleteRequest",[537,4181,722],{"class":550},[537,4183,3889],{"class":725},[537,4185,560],{"class":550},[537,4187,620],{"class":546},[537,4189,733],{"class":550},[537,4191,736],{"class":546},[537,4193,739],{"class":550},[537,4195,742],{"class":546},[537,4197,745],{"class":550},[537,4199,551],{"class":550},[537,4201,4202],{"class":539,"line":1199},[537,4203,4204],{"class":752},"    // Check for legal exceptions\n",[537,4206,4207,4209,4211,4213,4215,4217,4220,4222,4224,4226],{"class":539,"line":1222},[537,4208,1133],{"class":542},[537,4210,1315],{"class":768},[537,4212,1139],{"class":550},[537,4214,1142],{"class":758},[537,4216,833],{"class":550},[537,4218,4219],{"class":792},"checkDeletionExceptions",[537,4221,722],{"class":556},[537,4223,3889],{"class":768},[537,4225,805],{"class":556},[537,4227,610],{"class":550},[537,4229,4230],{"class":539,"line":1227},[537,4231,1190],{"class":556},[537,4233,4234,4236,4238,4240,4242,4244],{"class":539,"line":1233},[537,4235,759],{"class":758},[537,4237,762],{"class":556},[537,4239,765],{"class":550},[537,4241,1349],{"class":768},[537,4243,777],{"class":556},[537,4245,780],{"class":550},[537,4247,4248,4250,4252,4255,4257,4259,4261,4263,4266,4268,4270],{"class":539,"line":1264},[537,4249,1359],{"class":758},[537,4251,833],{"class":550},[537,4253,4254],{"class":792},"notifyConsumer",[537,4256,722],{"class":556},[537,4258,3889],{"class":768},[537,4260,1213],{"class":550},[537,4262,563],{"class":550},[537,4264,4265],{"class":566},"Unable to delete due to legal requirements",[537,4267,570],{"class":550},[537,4269,805],{"class":556},[537,4271,610],{"class":550},[537,4273,4274,4276],{"class":539,"line":1269},[537,4275,1387],{"class":758},[537,4277,610],{"class":550},[537,4279,4280],{"class":539,"line":1274},[537,4281,813],{"class":550},[537,4283,4284],{"class":539,"line":1304},[537,4285,668],{"emptyLinePlaceholder":667},[537,4287,4288],{"class":539,"line":1310},[537,4289,4290],{"class":752},"    // Delete consumer data\n",[537,4292,4293,4295,4297,4299,4301,4304,4306,4308,4310],{"class":539,"line":1335},[537,4294,830],{"class":758},[537,4296,833],{"class":550},[537,4298,1147],{"class":768},[537,4300,771],{"class":550},[537,4302,4303],{"class":792},"deleteConsumerData",[537,4305,722],{"class":556},[537,4307,3889],{"class":768},[537,4309,805],{"class":556},[537,4311,610],{"class":550},[537,4313,4314,4316,4318,4320,4322,4325,4327,4329,4331,4333,4335,4337,4339],{"class":539,"line":1340},[537,4315,830],{"class":758},[537,4317,833],{"class":550},[537,4319,836],{"class":768},[537,4321,771],{"class":550},[537,4323,4324],{"class":792},"logCCPADelete",[537,4326,722],{"class":556},[537,4328,3889],{"class":768},[537,4330,1213],{"class":550},[537,4332,563],{"class":550},[537,4334,1459],{"class":566},[537,4336,570],{"class":550},[537,4338,805],{"class":556},[537,4340,610],{"class":550},[537,4342,4343],{"class":539,"line":1356},[537,4344,1091],{"class":550},[537,4346,4347],{"class":539,"line":1384},[537,4348,668],{"emptyLinePlaceholder":667},[537,4350,4351,4353,4355,4358,4360,4362,4364,4366,4368,4370,4372,4374,4376],{"class":539,"line":1392},[537,4352,683],{"class":542},[537,4354,1104],{"class":542},[537,4356,4357],{"class":556}," handleOptOutRequest",[537,4359,722],{"class":550},[537,4361,3889],{"class":725},[537,4363,560],{"class":550},[537,4365,620],{"class":546},[537,4367,733],{"class":550},[537,4369,736],{"class":546},[537,4371,739],{"class":550},[537,4373,742],{"class":546},[537,4375,745],{"class":550},[537,4377,551],{"class":550},[537,4379,4380,4382,4384,4387,4389,4392,4394,4396,4398],{"class":539,"line":1397},[537,4381,830],{"class":758},[537,4383,833],{"class":550},[537,4385,4386],{"class":768},"optOutRegistry",[537,4388,771],{"class":550},[537,4390,4391],{"class":792},"addOptOut",[537,4393,722],{"class":556},[537,4395,3889],{"class":768},[537,4397,805],{"class":556},[537,4399,610],{"class":550},[537,4401,4402,4404,4406,4409,4411,4413,4415],{"class":539,"line":1402},[537,4403,830],{"class":758},[537,4405,833],{"class":550},[537,4407,4408],{"class":792},"stopDataSale",[537,4410,722],{"class":556},[537,4412,3889],{"class":768},[537,4414,805],{"class":556},[537,4416,610],{"class":550},[537,4418,4419,4421,4423,4425,4427,4430,4432,4434,4436,4438,4440,4442,4444],{"class":539,"line":1408},[537,4420,830],{"class":758},[537,4422,833],{"class":550},[537,4424,836],{"class":768},[537,4426,771],{"class":550},[537,4428,4429],{"class":792},"logCCPAOptOut",[537,4431,722],{"class":556},[537,4433,3889],{"class":768},[537,4435,1213],{"class":550},[537,4437,563],{"class":550},[537,4439,1459],{"class":566},[537,4441,570],{"class":550},[537,4443,805],{"class":556},[537,4445,610],{"class":550},[537,4447,4448],{"class":539,"line":1426},[537,4449,1091],{"class":550},[537,4451,4452],{"class":539,"line":1431},[537,4453,668],{"emptyLinePlaceholder":667},[537,4455,4456,4458,4460,4463,4465,4467,4469,4471,4473,4475,4477,4479,4481],{"class":539,"line":1437},[537,4457,683],{"class":542},[537,4459,1104],{"class":542},[537,4461,4462],{"class":556}," handleOptInRequest",[537,4464,722],{"class":550},[537,4466,3889],{"class":725},[537,4468,560],{"class":550},[537,4470,620],{"class":546},[537,4472,733],{"class":550},[537,4474,736],{"class":546},[537,4476,739],{"class":550},[537,4478,742],{"class":546},[537,4480,745],{"class":550},[537,4482,551],{"class":550},[537,4484,4485,4487,4489,4491,4493,4496,4498,4500,4502],{"class":539,"line":1468},[537,4486,830],{"class":758},[537,4488,833],{"class":550},[537,4490,4386],{"class":768},[537,4492,771],{"class":550},[537,4494,4495],{"class":792},"removeOptOut",[537,4497,722],{"class":556},[537,4499,3889],{"class":768},[537,4501,805],{"class":556},[537,4503,610],{"class":550},[537,4505,4506,4508,4510,4513,4515,4517,4519],{"class":539,"line":1473},[537,4507,830],{"class":758},[537,4509,833],{"class":550},[537,4511,4512],{"class":792},"resumeDataSale",[537,4514,722],{"class":556},[537,4516,3889],{"class":768},[537,4518,805],{"class":556},[537,4520,610],{"class":550},[537,4522,4523,4525,4527,4529,4531,4534,4536,4538,4540,4542,4544,4546,4548],{"class":539,"line":1478},[537,4524,830],{"class":758},[537,4526,833],{"class":550},[537,4528,836],{"class":768},[537,4530,771],{"class":550},[537,4532,4533],{"class":792},"logCCPAOptIn",[537,4535,722],{"class":556},[537,4537,3889],{"class":768},[537,4539,1213],{"class":550},[537,4541,563],{"class":550},[537,4543,1459],{"class":566},[537,4545,570],{"class":550},[537,4547,805],{"class":556},[537,4549,610],{"class":550},[537,4551,4552],{"class":539,"line":1508},[537,4553,1091],{"class":550},[537,4555,4556],{"class":539,"line":1535},[537,4557,668],{"emptyLinePlaceholder":667},[537,4559,4560,4562,4565,4567,4569,4571,4573,4575,4578],{"class":539,"line":1558},[537,4561,683],{"class":542},[537,4563,4564],{"class":556}," createDisclosureReport",[537,4566,722],{"class":550},[537,4568,4104],{"class":725},[537,4570,560],{"class":550},[537,4572,1656],{"class":546},[537,4574,733],{"class":550},[537,4576,4577],{"class":546}," CCPADisclosure",[537,4579,551],{"class":550},[537,4581,4582,4584],{"class":539,"line":1563},[537,4583,1668],{"class":758},[537,4585,551],{"class":550},[537,4587,4588,4591,4593],{"class":539,"line":1569},[537,4589,4590],{"class":556},"      categoriesCollected",[537,4592,560],{"class":550},[537,4594,3328],{"class":556},[537,4596,4597,4600,4603,4605],{"class":539,"line":1591},[537,4598,4599],{"class":550},"        '",[537,4601,4602],{"class":566},"Identifiers",[537,4604,570],{"class":550},[537,4606,1698],{"class":550},[537,4608,4609,4611,4614,4616],{"class":539,"line":1596},[537,4610,4599],{"class":550},[537,4612,4613],{"class":566},"Personal information",[537,4615,570],{"class":550},[537,4617,1698],{"class":550},[537,4619,4620,4622,4625,4627],{"class":539,"line":1602},[537,4621,4599],{"class":550},[537,4623,4624],{"class":566},"Commercial information",[537,4626,570],{"class":550},[537,4628,1698],{"class":550},[537,4630,4631,4633,4636],{"class":539,"line":1632},[537,4632,4599],{"class":550},[537,4634,4635],{"class":566},"Internet or electronic network activity information",[537,4637,1877],{"class":550},[537,4639,4640,4642],{"class":539,"line":1637},[537,4641,3534],{"class":556},[537,4643,1698],{"class":550},[537,4645,4646,4649,4651],{"class":539,"line":1642},[537,4647,4648],{"class":556},"      sourcesCollected",[537,4650,560],{"class":550},[537,4652,3328],{"class":556},[537,4654,4655,4657,4660,4662],{"class":539,"line":1665},[537,4656,4599],{"class":550},[537,4658,4659],{"class":566},"Directly from consumer",[537,4661,570],{"class":550},[537,4663,1698],{"class":550},[537,4665,4666,4668,4671,4673],{"class":539,"line":1673},[537,4667,4599],{"class":550},[537,4669,4670],{"class":566},"Automatically collected",[537,4672,570],{"class":550},[537,4674,1698],{"class":550},[537,4676,4677,4679,4682],{"class":539,"line":1683},[537,4678,4599],{"class":550},[537,4680,4681],{"class":566},"Third parties",[537,4683,1877],{"class":550},[537,4685,4686,4688],{"class":539,"line":1701},[537,4687,3534],{"class":556},[537,4689,1698],{"class":550},[537,4691,4692,4695,4697],{"class":539,"line":1718},[537,4693,4694],{"class":556},"      businessPurposes",[537,4696,560],{"class":550},[537,4698,3328],{"class":556},[537,4700,4701,4703,4706,4708],{"class":539,"line":1735},[537,4702,4599],{"class":550},[537,4704,4705],{"class":566},"To provide services requested by consumer",[537,4707,570],{"class":550},[537,4709,1698],{"class":550},[537,4711,4712,4714,4717,4719],{"class":539,"line":1750},[537,4713,4599],{"class":550},[537,4715,4716],{"class":566},"To fulfill contractual obligations",[537,4718,570],{"class":550},[537,4720,1698],{"class":550},[537,4722,4723,4725,4728,4730],{"class":539,"line":1756},[537,4724,4599],{"class":550},[537,4726,4727],{"class":566},"To improve our services",[537,4729,570],{"class":550},[537,4731,1698],{"class":550},[537,4733,4734,4736,4739],{"class":539,"line":1766},[537,4735,4599],{"class":550},[537,4737,4738],{"class":566},"For research and development",[537,4740,1877],{"class":550},[537,4742,4743,4746],{"class":539,"line":1783},[537,4744,4745],{"class":556},"      }",[537,4747,1698],{"class":550},[537,4749,4750,4753],{"class":539,"line":1800},[537,4751,4752],{"class":768},"      thirdPartiesShared",[537,4754,4755],{"class":556},": [\n",[537,4757,4758,4760,4763,4765],{"class":539,"line":1815},[537,4759,4599],{"class":550},[537,4761,4762],{"class":566},"Payment processors",[537,4764,570],{"class":550},[537,4766,1698],{"class":550},[537,4768,4769,4771,4774,4776],{"class":539,"line":1820},[537,4770,4599],{"class":550},[537,4772,4773],{"class":566},"Cloud service providers",[537,4775,570],{"class":550},[537,4777,1698],{"class":550},[537,4779,4780,4782,4785],{"class":539,"line":1830},[537,4781,4599],{"class":550},[537,4783,4784],{"class":566},"Analytics providers",[537,4786,1877],{"class":550},[537,4788,4789,4791],{"class":539,"line":1847},[537,4790,3534],{"class":556},[537,4792,1698],{"class":550},[537,4794,4795,4798,4801,4803,4806,4808],{"class":539,"line":1864},[537,4796,4797],{"class":768},"      retentionPeriod",[537,4799,4800],{"class":556},": ",[537,4802,570],{"class":550},[537,4804,4805],{"class":566},"As long as necessary to fulfill service obligations",[537,4807,570],{"class":550},[537,4809,1698],{"class":550},[537,4811,4812,4815],{"class":539,"line":1880},[537,4813,4814],{"class":768},"      consumerRights",[537,4816,4755],{"class":556},[537,4818,4819,4821,4824,4826],{"class":539,"line":1886},[537,4820,4599],{"class":550},[537,4822,4823],{"class":566},"Right to know what personal information is collected",[537,4825,570],{"class":550},[537,4827,1698],{"class":550},[537,4829,4830,4832,4835,4837],{"class":539,"line":1892},[537,4831,4599],{"class":550},[537,4833,4834],{"class":566},"Right to delete personal information",[537,4836,570],{"class":550},[537,4838,1698],{"class":550},[537,4840,4841,4843,4846,4848],{"class":539,"line":1897},[537,4842,4599],{"class":550},[537,4844,4845],{"class":566},"Right to opt-out of sale of personal information",[537,4847,570],{"class":550},[537,4849,1698],{"class":550},[537,4851,4852,4854,4857],{"class":539,"line":1902},[537,4853,4599],{"class":550},[537,4855,4856],{"class":566},"Right to non-discrimination for exercising privacy rights",[537,4858,1877],{"class":550},[537,4860,4861],{"class":539,"line":1932},[537,4862,4863],{"class":556},"      ]\n",[537,4865,4866],{"class":539,"line":1938},[537,4867,1889],{"class":556},[537,4869,4870],{"class":539,"line":1950},[537,4871,1091],{"class":556},[537,4873,4874],{"class":539,"line":1981},[537,4875,668],{"emptyLinePlaceholder":667},[537,4877,4878,4880,4882,4885,4887,4889,4891,4894,4897,4900,4902,4904,4906],{"class":539,"line":2012},[537,4879,683],{"class":768},[537,4881,1104],{"class":768},[537,4883,4884],{"class":792}," checkDeletionExceptions",[537,4886,722],{"class":556},[537,4888,3889],{"class":768},[537,4890,4800],{"class":556},[537,4892,4893],{"class":768},"string",[537,4895,4896],{"class":556},"): ",[537,4898,4899],{"class":546},"Promise",[537,4901,739],{"class":550},[537,4903,2623],{"class":768},[537,4905,745],{"class":550},[537,4907,551],{"class":550},[537,4909,4910],{"class":539,"line":2029},[537,4911,4912],{"class":752},"    // Check for active legal holds\n",[537,4914,4915,4918,4921,4923,4925,4927,4930,4932,4934],{"class":539,"line":2035},[537,4916,4917],{"class":556},"    const ",[537,4919,4920],{"class":768},"hasLegalHold",[537,4922,1139],{"class":550},[537,4924,1142],{"class":758},[537,4926,833],{"class":550},[537,4928,4929],{"class":792},"checkLegalHold",[537,4931,722],{"class":556},[537,4933,3889],{"class":768},[537,4935,4936],{"class":556},");\n",[537,4938,4939,4942,4944,4946,4948],{"class":539,"line":2040},[537,4940,4941],{"class":556},"    if ",[537,4943,722],{"class":550},[537,4945,4920],{"class":725},[537,4947,805],{"class":550},[537,4949,4950],{"class":556}," return false;\n",[537,4952,4953],{"class":539,"line":2045},[537,4954,668],{"emptyLinePlaceholder":667},[537,4956,4957],{"class":539,"line":2071},[537,4958,4959],{"class":752},"    // Check for required transaction data\n",[537,4961,4962,4964,4967,4969,4971,4973,4976,4978,4980],{"class":539,"line":2076},[537,4963,4917],{"class":556},[537,4965,4966],{"class":768},"hasActiveTransactions",[537,4968,1139],{"class":550},[537,4970,1142],{"class":758},[537,4972,833],{"class":550},[537,4974,4975],{"class":792},"checkActiveTransactions",[537,4977,722],{"class":556},[537,4979,3889],{"class":768},[537,4981,4936],{"class":556},[537,4983,4984,4986,4988,4990,4992],{"class":539,"line":3403},[537,4985,4941],{"class":556},[537,4987,722],{"class":550},[537,4989,4966],{"class":725},[537,4991,805],{"class":550},[537,4993,4950],{"class":556},[537,4995,4996],{"class":539,"line":3418},[537,4997,668],{"emptyLinePlaceholder":667},[537,4999,5000],{"class":539,"line":3429},[537,5001,5002],{"class":752},"    // Check for regulatory requirements\n",[537,5004,5005,5007,5010,5012,5014,5016,5019,5021,5023],{"class":539,"line":3445},[537,5006,4917],{"class":556},[537,5008,5009],{"class":768},"hasRegulatoryRequirement",[537,5011,1139],{"class":550},[537,5013,1142],{"class":758},[537,5015,833],{"class":550},[537,5017,5018],{"class":792},"checkRegulatoryRequirements",[537,5020,722],{"class":556},[537,5022,3889],{"class":768},[537,5024,4936],{"class":556},[537,5026,5027,5029,5031,5033,5035],{"class":539,"line":3459},[537,5028,4941],{"class":556},[537,5030,722],{"class":550},[537,5032,5009],{"class":725},[537,5034,805],{"class":550},[537,5036,4950],{"class":556},[537,5038,5039],{"class":539,"line":3464},[537,5040,668],{"emptyLinePlaceholder":667},[537,5042,5043],{"class":539,"line":3469},[537,5044,5045],{"class":556},"    return true;\n",[537,5047,5048],{"class":539,"line":3484},[537,5049,1091],{"class":550},[537,5051,5052],{"class":539,"line":3495},[537,5053,662],{"class":556},[517,5055,5057],{"id":5056},"hipaa-health-insurance-portability-and-accountability-act","HIPAA (Health Insurance Portability and Accountability Act)",[522,5059,5061],{"id":5060},"protected-health-information-phi-security","Protected Health Information (PHI) Security",[527,5063,5065],{"className":529,"code":5064,"language":531,"meta":532,"style":532},"interface PHIRecord {\n  id: string;\n  patientId: string;\n  phiData: any;\n  accessLevel: PHIAccessLevel;\n  encryptionMetadata: EncryptionMetadata;\n  auditTrail: AuditEntry[];\n  retentionDate: Date;\n}\n\nenum PHIAccessLevel {\n  MINIMUM_NECESSARY = 'minimum_necessary',\n  FULL_ACCESS = 'full_access',\n  EMERGENCY_ACCESS = 'emergency_access'\n}\n\nclass PHISecurityManager {\n  private encryptionService: EncryptionService;\n  private accessControl: AccessControlService;\n  private auditLogger: AuditLogger;\n\n  async createPHIRecord(\n    patientId: string, \n    phiData: any, \n    requestedBy: string\n  ): Promise\u003Cstring> {\n    // Verify authorization\n    const hasAuthorization = await this.accessControl.checkPHIAccess(\n      requestedBy, \n      'create', \n      patientId\n    );\n    \n    if (!hasAuthorization) {\n      throw new Error('Unauthorized to create PHI record');\n    }\n\n    // Apply minimum necessary standard\n    const filteredData = this.applyMinimumNecessaryStandard(phiData, requestedBy);\n    \n    // Encrypt PHI data\n    const encryptedData = await this.encryptionService.encryptPHI(filteredData);\n    \n    // Create record\n    const record: PHIRecord = {\n      id: this.generateRecordId(),\n      patientId,\n      phiData: encryptedData,\n      accessLevel: PHIAccessLevel.MINIMUM_NECESSARY,\n      encryptionMetadata: this.encryptionService.getMetadata(),\n      auditTrail: [{\n        action: 'created',\n        userId: requestedBy,\n        timestamp: new Date(),\n        ipAddress: this.getCurrentIP(),\n        userAgent: this.getCurrentUserAgent()\n      }],\n      retentionDate: this.calculateRetentionDate()\n    };\n\n    await this.savePHIRecord(record);\n    await this.auditLogger.logPHICreation(record.id, requestedBy);\n\n    return record.id;\n  }\n\n  async accessPHIRecord(\n    recordId: string, \n    requestedBy: string, \n    purpose: string\n  ): Promise\u003Cany> {\n    // Verify authorization\n    const record = await this.getPHIRecord(recordId);\n    const hasAccess = await this.accessControl.checkPHIAccess(\n      requestedBy, \n      'read', \n      record.patientId\n    );\n    \n    if (!hasAccess) {\n      throw new Error('Unauthorized to access PHI record');\n    }\n\n    // Decrypt PHI data\n    const decryptedData = await this.encryptionService.decryptPHI(\n      record.phiData, \n      record.encryptionMetadata\n    );\n\n    // Apply minimum necessary standard\n    const filteredData = this.applyMinimumNecessaryStandard(decryptedData, requestedBy);\n\n    // Log access\n    await this.auditLogger.logPHIAccess(recordId, requestedBy, purpose);\n\n    return filteredData;\n  }\n\n  private applyMinimumNecessaryStandard(data: any, userId: string): any {\n    const userRole = this.accessControl.getUserRole(userId);\n    const accessRules = this.getAccessRules(userRole);\n    \n    return this.filterDataByRules(data, accessRules);\n  }\n\n  private getAccessRules(role: string): AccessRule[] {\n    const rules: Record\u003Cstring, AccessRule[]> = {\n      'doctor': [\n        { field: 'medical_history', allowed: true },\n        { field: 'diagnoses', allowed: true },\n        { field: 'treatments', allowed: true },\n        { field: 'contact_info', allowed: true }\n      ],\n      'researcher': [\n        { field: 'medical_history', allowed: false },\n        { field: 'diagnoses', allowed: true, anonymized: true },\n        { field: 'treatments', allowed: true, anonymized: true },\n        { field: 'contact_info', allowed: false }\n      ],\n      'admin': [\n        { field: 'medical_history', allowed: false },\n        { field: 'diagnoses', allowed: false },\n        { field: 'treatments', allowed: false },\n        { field: 'contact_info', allowed: true }\n      ]\n    };\n\n    return rules[role] || [];\n  }\n\n  private filterDataByRules(data: any, rules: AccessRule[]): any {\n    const filtered: any = {};\n\n    for (const rule of rules) {\n      if (rule.allowed) {\n        if (rule.anonymized) {\n          filtered[rule.field] = this.anonymizeField(data[rule.field]);\n        } else {\n          filtered[rule.field] = data[rule.field];\n        }\n      }\n    }\n\n    return filtered;\n  }\n\n  private anonymizeField(value: any): any {\n    // Implement anonymization logic\n    if (typeof value === 'string') {\n      return value.substring(0, 3) + '***';\n    }\n    return 'ANONYMIZED';\n  }\n}\n",[534,5066,5067,5076,5086,5097,5108,5120,5132,5147,5158,5162,5166,5174,5190,5206,5220,5224,5228,5237,5251,5265,5277,5281,5290,5303,5316,5326,5340,5345,5368,5377,5391,5396,5403,5407,5422,5443,5447,5451,5456,5484,5488,5493,5523,5527,5532,5547,5562,5569,5580,5596,5616,5628,5644,5655,5670,5686,5700,5709,5723,5727,5731,5749,5779,5783,5795,5799,5803,5812,5825,5837,5846,5861,5865,5889,5910,5918,5931,5941,5947,5951,5966,5987,5991,5995,6000,6022,6034,6043,6049,6053,6057,6082,6086,6091,6121,6125,6133,6137,6141,6172,6198,6221,6225,6246,6250,6254,6280,6308,6321,6350,6375,6400,6426,6432,6445,6469,6502,6534,6558,6564,6577,6601,6625,6649,6673,6677,6681,6685,6707,6712,6717,6749,6766,6771,6794,6814,6833,6874,6885,6917,6922,6927,6932,6937,6946,6951,6956,6979,6985,7011,7048,7053,7067,7072],{"__ignoreMap":532},[537,5068,5069,5071,5074],{"class":539,"line":82},[537,5070,543],{"class":542},[537,5072,5073],{"class":546}," PHIRecord",[537,5075,551],{"class":550},[537,5077,5078,5080,5082,5084],{"class":539,"line":114},[537,5079,2101],{"class":556},[537,5081,560],{"class":550},[537,5083,620],{"class":546},[537,5085,610],{"class":550},[537,5087,5088,5091,5093,5095],{"class":539,"line":146},[537,5089,5090],{"class":556},"  patientId",[537,5092,560],{"class":550},[537,5094,620],{"class":546},[537,5096,610],{"class":550},[537,5098,5099,5102,5104,5106],{"class":539,"line":178},[537,5100,5101],{"class":556},"  phiData",[537,5103,560],{"class":550},[537,5105,1656],{"class":546},[537,5107,610],{"class":550},[537,5109,5110,5113,5115,5118],{"class":539,"line":268},[537,5111,5112],{"class":556},"  accessLevel",[537,5114,560],{"class":550},[537,5116,5117],{"class":546}," PHIAccessLevel",[537,5119,610],{"class":550},[537,5121,5122,5125,5127,5130],{"class":539,"line":273},[537,5123,5124],{"class":556},"  encryptionMetadata",[537,5126,560],{"class":550},[537,5128,5129],{"class":546}," EncryptionMetadata",[537,5131,610],{"class":550},[537,5133,5134,5137,5139,5142,5145],{"class":539,"line":279},[537,5135,5136],{"class":556},"  auditTrail",[537,5138,560],{"class":550},[537,5140,5141],{"class":546}," AuditEntry",[537,5143,5144],{"class":768},"[]",[537,5146,610],{"class":550},[537,5148,5149,5152,5154,5156],{"class":539,"line":285},[537,5150,5151],{"class":556},"  retentionDate",[537,5153,560],{"class":550},[537,5155,655],{"class":546},[537,5157,610],{"class":550},[537,5159,5160],{"class":539,"line":291},[537,5161,662],{"class":550},[537,5163,5164],{"class":539,"line":222},[537,5165,668],{"emptyLinePlaceholder":667},[537,5167,5168,5170,5172],{"class":539,"line":227},[537,5169,2208],{"class":542},[537,5171,5117],{"class":546},[537,5173,551],{"class":550},[537,5175,5176,5179,5181,5183,5186,5188],{"class":539,"line":232},[537,5177,5178],{"class":768},"  MINIMUM_NECESSARY ",[537,5180,2220],{"class":550},[537,5182,563],{"class":550},[537,5184,5185],{"class":566},"minimum_necessary",[537,5187,570],{"class":550},[537,5189,1698],{"class":550},[537,5191,5192,5195,5197,5199,5202,5204],{"class":539,"line":238},[537,5193,5194],{"class":768},"  FULL_ACCESS ",[537,5196,2220],{"class":550},[537,5198,563],{"class":550},[537,5200,5201],{"class":566},"full_access",[537,5203,570],{"class":550},[537,5205,1698],{"class":550},[537,5207,5208,5211,5213,5215,5218],{"class":539,"line":243},[537,5209,5210],{"class":768},"  EMERGENCY_ACCESS ",[537,5212,2220],{"class":550},[537,5214,563],{"class":550},[537,5216,5217],{"class":566},"emergency_access",[537,5219,1877],{"class":550},[537,5221,5222],{"class":539,"line":248},[537,5223,662],{"class":550},[537,5225,5226],{"class":539,"line":783},[537,5227,668],{"emptyLinePlaceholder":667},[537,5229,5230,5232,5235],{"class":539,"line":810},[537,5231,673],{"class":542},[537,5233,5234],{"class":546}," PHISecurityManager",[537,5236,551],{"class":550},[537,5238,5239,5241,5244,5246,5249],{"class":539,"line":816},[537,5240,683],{"class":542},[537,5242,5243],{"class":556}," encryptionService",[537,5245,560],{"class":550},[537,5247,5248],{"class":546}," EncryptionService",[537,5250,610],{"class":550},[537,5252,5253,5255,5258,5260,5263],{"class":539,"line":821},[537,5254,683],{"class":542},[537,5256,5257],{"class":556}," accessControl",[537,5259,560],{"class":550},[537,5261,5262],{"class":546}," AccessControlService",[537,5264,610],{"class":550},[537,5266,5267,5269,5271,5273,5275],{"class":539,"line":827},[537,5268,683],{"class":542},[537,5270,700],{"class":556},[537,5272,560],{"class":550},[537,5274,705],{"class":546},[537,5276,610],{"class":550},[537,5278,5279],{"class":539,"line":852},[537,5280,668],{"emptyLinePlaceholder":667},[537,5282,5283,5285,5288],{"class":539,"line":857},[537,5284,716],{"class":542},[537,5286,5287],{"class":556}," createPHIRecord",[537,5289,2348],{"class":550},[537,5291,5292,5295,5297,5299,5301],{"class":539,"line":876},[537,5293,5294],{"class":725},"    patientId",[537,5296,560],{"class":550},[537,5298,620],{"class":546},[537,5300,1213],{"class":550},[537,5302,2362],{"class":768},[537,5304,5305,5308,5310,5312,5314],{"class":539,"line":891},[537,5306,5307],{"class":725},"    phiData",[537,5309,560],{"class":550},[537,5311,1656],{"class":546},[537,5313,1213],{"class":550},[537,5315,2362],{"class":768},[537,5317,5318,5321,5323],{"class":539,"line":915},[537,5319,5320],{"class":725},"    requestedBy",[537,5322,560],{"class":550},[537,5324,5325],{"class":546}," string\n",[537,5327,5328,5330,5332,5334,5336,5338],{"class":539,"line":923},[537,5329,2401],{"class":550},[537,5331,736],{"class":546},[537,5333,739],{"class":550},[537,5335,4893],{"class":546},[537,5337,745],{"class":550},[537,5339,551],{"class":550},[537,5341,5342],{"class":539,"line":936},[537,5343,5344],{"class":752},"    // Verify authorization\n",[537,5346,5347,5349,5352,5354,5356,5358,5361,5363,5366],{"class":539,"line":954},[537,5348,1133],{"class":542},[537,5350,5351],{"class":768}," hasAuthorization",[537,5353,1139],{"class":550},[537,5355,1142],{"class":758},[537,5357,833],{"class":550},[537,5359,5360],{"class":768},"accessControl",[537,5362,771],{"class":550},[537,5364,5365],{"class":792},"checkPHIAccess",[537,5367,2348],{"class":556},[537,5369,5370,5373,5375],{"class":539,"line":961},[537,5371,5372],{"class":768},"      requestedBy",[537,5374,1213],{"class":550},[537,5376,2362],{"class":556},[537,5378,5379,5382,5385,5387,5389],{"class":539,"line":974},[537,5380,5381],{"class":550},"      '",[537,5383,5384],{"class":566},"create",[537,5386,570],{"class":550},[537,5388,1213],{"class":550},[537,5390,2362],{"class":556},[537,5392,5393],{"class":539,"line":996},[537,5394,5395],{"class":768},"      patientId\n",[537,5397,5398,5401],{"class":539,"line":1003},[537,5399,5400],{"class":556},"    )",[537,5402,610],{"class":550},[537,5404,5405],{"class":539,"line":1016},[537,5406,1190],{"class":556},[537,5408,5409,5411,5413,5415,5418,5420],{"class":539,"line":1038},[537,5410,759],{"class":758},[537,5412,762],{"class":556},[537,5414,765],{"class":550},[537,5416,5417],{"class":768},"hasAuthorization",[537,5419,777],{"class":556},[537,5421,780],{"class":550},[537,5423,5424,5426,5428,5430,5432,5434,5437,5439,5441],{"class":539,"line":1045},[537,5425,786],{"class":758},[537,5427,789],{"class":550},[537,5429,793],{"class":792},[537,5431,722],{"class":556},[537,5433,570],{"class":550},[537,5435,5436],{"class":566},"Unauthorized to create PHI record",[537,5438,570],{"class":550},[537,5440,805],{"class":556},[537,5442,610],{"class":550},[537,5444,5445],{"class":539,"line":1058},[537,5446,813],{"class":550},[537,5448,5449],{"class":539,"line":1076},[537,5450,668],{"emptyLinePlaceholder":667},[537,5452,5453],{"class":539,"line":1083},[537,5454,5455],{"class":752},"    // Apply minimum necessary standard\n",[537,5457,5458,5460,5463,5465,5467,5470,5472,5475,5477,5480,5482],{"class":539,"line":1088},[537,5459,1133],{"class":542},[537,5461,5462],{"class":768}," filteredData",[537,5464,1139],{"class":550},[537,5466,833],{"class":550},[537,5468,5469],{"class":792},"applyMinimumNecessaryStandard",[537,5471,722],{"class":556},[537,5473,5474],{"class":768},"phiData",[537,5476,1213],{"class":550},[537,5478,5479],{"class":768}," requestedBy",[537,5481,805],{"class":556},[537,5483,610],{"class":550},[537,5485,5486],{"class":539,"line":1094},[537,5487,1190],{"class":556},[537,5489,5490],{"class":539,"line":1099},[537,5491,5492],{"class":752},"    // Encrypt PHI data\n",[537,5494,5495,5497,5500,5502,5504,5506,5509,5511,5514,5516,5519,5521],{"class":539,"line":1130},[537,5496,1133],{"class":542},[537,5498,5499],{"class":768}," encryptedData",[537,5501,1139],{"class":550},[537,5503,1142],{"class":758},[537,5505,833],{"class":550},[537,5507,5508],{"class":768},"encryptionService",[537,5510,771],{"class":550},[537,5512,5513],{"class":792},"encryptPHI",[537,5515,722],{"class":556},[537,5517,5518],{"class":768},"filteredData",[537,5520,805],{"class":556},[537,5522,610],{"class":550},[537,5524,5525],{"class":539,"line":1163},[537,5526,1190],{"class":556},[537,5528,5529],{"class":539,"line":1187},[537,5530,5531],{"class":752},"    // Create record\n",[537,5533,5534,5536,5539,5541,5543,5545],{"class":539,"line":1193},[537,5535,1133],{"class":542},[537,5537,5538],{"class":768}," record",[537,5540,560],{"class":550},[537,5542,5073],{"class":546},[537,5544,1139],{"class":550},[537,5546,551],{"class":550},[537,5548,5549,5551,5553,5555,5558,5560],{"class":539,"line":1199},[537,5550,1953],{"class":556},[537,5552,560],{"class":550},[537,5554,833],{"class":550},[537,5556,5557],{"class":792},"generateRecordId",[537,5559,1973],{"class":556},[537,5561,1698],{"class":550},[537,5563,5564,5567],{"class":539,"line":1222},[537,5565,5566],{"class":768},"      patientId",[537,5568,1698],{"class":550},[537,5570,5571,5574,5576,5578],{"class":539,"line":1227},[537,5572,5573],{"class":556},"      phiData",[537,5575,560],{"class":550},[537,5577,5499],{"class":768},[537,5579,1698],{"class":550},[537,5581,5582,5585,5587,5589,5591,5594],{"class":539,"line":1233},[537,5583,5584],{"class":556},"      accessLevel",[537,5586,560],{"class":550},[537,5588,5117],{"class":768},[537,5590,771],{"class":550},[537,5592,5593],{"class":768},"MINIMUM_NECESSARY",[537,5595,1698],{"class":550},[537,5597,5598,5601,5603,5605,5607,5609,5612,5614],{"class":539,"line":1264},[537,5599,5600],{"class":556},"      encryptionMetadata",[537,5602,560],{"class":550},[537,5604,833],{"class":550},[537,5606,5508],{"class":768},[537,5608,771],{"class":550},[537,5610,5611],{"class":792},"getMetadata",[537,5613,1973],{"class":556},[537,5615,1698],{"class":550},[537,5617,5618,5621,5623,5626],{"class":539,"line":1269},[537,5619,5620],{"class":556},"      auditTrail",[537,5622,560],{"class":550},[537,5624,5625],{"class":556}," [",[537,5627,780],{"class":550},[537,5629,5630,5633,5635,5637,5640,5642],{"class":539,"line":1274},[537,5631,5632],{"class":556},"        action",[537,5634,560],{"class":550},[537,5636,563],{"class":550},[537,5638,5639],{"class":566},"created",[537,5641,570],{"class":550},[537,5643,1698],{"class":550},[537,5645,5646,5649,5651,5653],{"class":539,"line":1304},[537,5647,5648],{"class":556},"        userId",[537,5650,560],{"class":550},[537,5652,5479],{"class":768},[537,5654,1698],{"class":550},[537,5656,5657,5660,5662,5664,5666,5668],{"class":539,"line":1310},[537,5658,5659],{"class":556},"        timestamp",[537,5661,560],{"class":550},[537,5663,789],{"class":550},[537,5665,655],{"class":792},[537,5667,1973],{"class":556},[537,5669,1698],{"class":550},[537,5671,5672,5675,5677,5679,5682,5684],{"class":539,"line":1335},[537,5673,5674],{"class":556},"        ipAddress",[537,5676,560],{"class":550},[537,5678,833],{"class":550},[537,5680,5681],{"class":792},"getCurrentIP",[537,5683,1973],{"class":556},[537,5685,1698],{"class":550},[537,5687,5688,5691,5693,5695,5698],{"class":539,"line":1340},[537,5689,5690],{"class":556},"        userAgent",[537,5692,560],{"class":550},[537,5694,833],{"class":550},[537,5696,5697],{"class":792},"getCurrentUserAgent",[537,5699,3566],{"class":556},[537,5701,5702,5704,5707],{"class":539,"line":1356},[537,5703,4745],{"class":550},[537,5705,5706],{"class":556},"]",[537,5708,1698],{"class":550},[537,5710,5711,5714,5716,5718,5721],{"class":539,"line":1384},[537,5712,5713],{"class":556},"      retentionDate",[537,5715,560],{"class":550},[537,5717,833],{"class":550},[537,5719,5720],{"class":792},"calculateRetentionDate",[537,5722,3566],{"class":556},[537,5724,5725],{"class":539,"line":1392},[537,5726,1889],{"class":550},[537,5728,5729],{"class":539,"line":1397},[537,5730,668],{"emptyLinePlaceholder":667},[537,5732,5733,5735,5737,5740,5742,5745,5747],{"class":539,"line":1402},[537,5734,830],{"class":758},[537,5736,833],{"class":550},[537,5738,5739],{"class":792},"savePHIRecord",[537,5741,722],{"class":556},[537,5743,5744],{"class":768},"record",[537,5746,805],{"class":556},[537,5748,610],{"class":550},[537,5750,5751,5753,5755,5757,5759,5762,5764,5766,5768,5771,5773,5775,5777],{"class":539,"line":1408},[537,5752,830],{"class":758},[537,5754,833],{"class":550},[537,5756,836],{"class":768},[537,5758,771],{"class":550},[537,5760,5761],{"class":792},"logPHICreation",[537,5763,722],{"class":556},[537,5765,5744],{"class":768},[537,5767,771],{"class":550},[537,5769,5770],{"class":768},"id",[537,5772,1213],{"class":550},[537,5774,5479],{"class":768},[537,5776,805],{"class":556},[537,5778,610],{"class":550},[537,5780,5781],{"class":539,"line":1426},[537,5782,668],{"emptyLinePlaceholder":667},[537,5784,5785,5787,5789,5791,5793],{"class":539,"line":1431},[537,5786,1668],{"class":758},[537,5788,5538],{"class":768},[537,5790,771],{"class":550},[537,5792,5770],{"class":768},[537,5794,610],{"class":550},[537,5796,5797],{"class":539,"line":1437},[537,5798,1091],{"class":550},[537,5800,5801],{"class":539,"line":1468},[537,5802,668],{"emptyLinePlaceholder":667},[537,5804,5805,5807,5810],{"class":539,"line":1473},[537,5806,716],{"class":542},[537,5808,5809],{"class":556}," accessPHIRecord",[537,5811,2348],{"class":550},[537,5813,5814,5817,5819,5821,5823],{"class":539,"line":1478},[537,5815,5816],{"class":725},"    recordId",[537,5818,560],{"class":550},[537,5820,620],{"class":546},[537,5822,1213],{"class":550},[537,5824,2362],{"class":768},[537,5826,5827,5829,5831,5833,5835],{"class":539,"line":1508},[537,5828,5320],{"class":725},[537,5830,560],{"class":550},[537,5832,620],{"class":546},[537,5834,1213],{"class":550},[537,5836,2362],{"class":768},[537,5838,5839,5842,5844],{"class":539,"line":1535},[537,5840,5841],{"class":725},"    purpose",[537,5843,560],{"class":550},[537,5845,5325],{"class":546},[537,5847,5848,5850,5852,5854,5857,5859],{"class":539,"line":1558},[537,5849,2401],{"class":550},[537,5851,736],{"class":546},[537,5853,739],{"class":550},[537,5855,5856],{"class":546},"any",[537,5858,745],{"class":550},[537,5860,551],{"class":550},[537,5862,5863],{"class":539,"line":1563},[537,5864,5344],{"class":752},[537,5866,5867,5869,5871,5873,5875,5877,5880,5882,5885,5887],{"class":539,"line":1569},[537,5868,1133],{"class":542},[537,5870,5538],{"class":768},[537,5872,1139],{"class":550},[537,5874,1142],{"class":758},[537,5876,833],{"class":550},[537,5878,5879],{"class":792},"getPHIRecord",[537,5881,722],{"class":556},[537,5883,5884],{"class":768},"recordId",[537,5886,805],{"class":556},[537,5888,610],{"class":550},[537,5890,5891,5893,5896,5898,5900,5902,5904,5906,5908],{"class":539,"line":1591},[537,5892,1133],{"class":542},[537,5894,5895],{"class":768}," hasAccess",[537,5897,1139],{"class":550},[537,5899,1142],{"class":758},[537,5901,833],{"class":550},[537,5903,5360],{"class":768},[537,5905,771],{"class":550},[537,5907,5365],{"class":792},[537,5909,2348],{"class":556},[537,5911,5912,5914,5916],{"class":539,"line":1596},[537,5913,5372],{"class":768},[537,5915,1213],{"class":550},[537,5917,2362],{"class":556},[537,5919,5920,5922,5925,5927,5929],{"class":539,"line":1602},[537,5921,5381],{"class":550},[537,5923,5924],{"class":566},"read",[537,5926,570],{"class":550},[537,5928,1213],{"class":550},[537,5930,2362],{"class":556},[537,5932,5933,5936,5938],{"class":539,"line":1632},[537,5934,5935],{"class":768},"      record",[537,5937,771],{"class":550},[537,5939,5940],{"class":768},"patientId\n",[537,5942,5943,5945],{"class":539,"line":1637},[537,5944,5400],{"class":556},[537,5946,610],{"class":550},[537,5948,5949],{"class":539,"line":1642},[537,5950,1190],{"class":556},[537,5952,5953,5955,5957,5959,5962,5964],{"class":539,"line":1665},[537,5954,759],{"class":758},[537,5956,762],{"class":556},[537,5958,765],{"class":550},[537,5960,5961],{"class":768},"hasAccess",[537,5963,777],{"class":556},[537,5965,780],{"class":550},[537,5967,5968,5970,5972,5974,5976,5978,5981,5983,5985],{"class":539,"line":1673},[537,5969,786],{"class":758},[537,5971,789],{"class":550},[537,5973,793],{"class":792},[537,5975,722],{"class":556},[537,5977,570],{"class":550},[537,5979,5980],{"class":566},"Unauthorized to access PHI record",[537,5982,570],{"class":550},[537,5984,805],{"class":556},[537,5986,610],{"class":550},[537,5988,5989],{"class":539,"line":1683},[537,5990,813],{"class":550},[537,5992,5993],{"class":539,"line":1701},[537,5994,668],{"emptyLinePlaceholder":667},[537,5996,5997],{"class":539,"line":1718},[537,5998,5999],{"class":752},"    // Decrypt PHI data\n",[537,6001,6002,6004,6007,6009,6011,6013,6015,6017,6020],{"class":539,"line":1735},[537,6003,1133],{"class":542},[537,6005,6006],{"class":768}," decryptedData",[537,6008,1139],{"class":550},[537,6010,1142],{"class":758},[537,6012,833],{"class":550},[537,6014,5508],{"class":768},[537,6016,771],{"class":550},[537,6018,6019],{"class":792},"decryptPHI",[537,6021,2348],{"class":556},[537,6023,6024,6026,6028,6030,6032],{"class":539,"line":1750},[537,6025,5935],{"class":768},[537,6027,771],{"class":550},[537,6029,5474],{"class":768},[537,6031,1213],{"class":550},[537,6033,2362],{"class":556},[537,6035,6036,6038,6040],{"class":539,"line":1756},[537,6037,5935],{"class":768},[537,6039,771],{"class":550},[537,6041,6042],{"class":768},"encryptionMetadata\n",[537,6044,6045,6047],{"class":539,"line":1766},[537,6046,5400],{"class":556},[537,6048,610],{"class":550},[537,6050,6051],{"class":539,"line":1783},[537,6052,668],{"emptyLinePlaceholder":667},[537,6054,6055],{"class":539,"line":1800},[537,6056,5455],{"class":752},[537,6058,6059,6061,6063,6065,6067,6069,6071,6074,6076,6078,6080],{"class":539,"line":1815},[537,6060,1133],{"class":542},[537,6062,5462],{"class":768},[537,6064,1139],{"class":550},[537,6066,833],{"class":550},[537,6068,5469],{"class":792},[537,6070,722],{"class":556},[537,6072,6073],{"class":768},"decryptedData",[537,6075,1213],{"class":550},[537,6077,5479],{"class":768},[537,6079,805],{"class":556},[537,6081,610],{"class":550},[537,6083,6084],{"class":539,"line":1820},[537,6085,668],{"emptyLinePlaceholder":667},[537,6087,6088],{"class":539,"line":1830},[537,6089,6090],{"class":752},"    // Log access\n",[537,6092,6093,6095,6097,6099,6101,6104,6106,6108,6110,6112,6114,6117,6119],{"class":539,"line":1847},[537,6094,830],{"class":758},[537,6096,833],{"class":550},[537,6098,836],{"class":768},[537,6100,771],{"class":550},[537,6102,6103],{"class":792},"logPHIAccess",[537,6105,722],{"class":556},[537,6107,5884],{"class":768},[537,6109,1213],{"class":550},[537,6111,5479],{"class":768},[537,6113,1213],{"class":550},[537,6115,6116],{"class":768}," purpose",[537,6118,805],{"class":556},[537,6120,610],{"class":550},[537,6122,6123],{"class":539,"line":1864},[537,6124,668],{"emptyLinePlaceholder":667},[537,6126,6127,6129,6131],{"class":539,"line":1880},[537,6128,1668],{"class":758},[537,6130,5462],{"class":768},[537,6132,610],{"class":550},[537,6134,6135],{"class":539,"line":1886},[537,6136,1091],{"class":550},[537,6138,6139],{"class":539,"line":1892},[537,6140,668],{"emptyLinePlaceholder":667},[537,6142,6143,6145,6148,6150,6153,6155,6157,6159,6162,6164,6166,6168,6170],{"class":539,"line":1897},[537,6144,683],{"class":542},[537,6146,6147],{"class":556}," applyMinimumNecessaryStandard",[537,6149,722],{"class":550},[537,6151,6152],{"class":725},"data",[537,6154,560],{"class":550},[537,6156,1656],{"class":546},[537,6158,1213],{"class":550},[537,6160,6161],{"class":725}," userId",[537,6163,560],{"class":550},[537,6165,620],{"class":546},[537,6167,733],{"class":550},[537,6169,1656],{"class":546},[537,6171,551],{"class":550},[537,6173,6174,6176,6179,6181,6183,6185,6187,6190,6192,6194,6196],{"class":539,"line":1902},[537,6175,1133],{"class":542},[537,6177,6178],{"class":768}," userRole",[537,6180,1139],{"class":550},[537,6182,833],{"class":550},[537,6184,5360],{"class":768},[537,6186,771],{"class":550},[537,6188,6189],{"class":792},"getUserRole",[537,6191,722],{"class":556},[537,6193,908],{"class":768},[537,6195,805],{"class":556},[537,6197,610],{"class":550},[537,6199,6200,6202,6205,6207,6209,6212,6214,6217,6219],{"class":539,"line":1932},[537,6201,1133],{"class":542},[537,6203,6204],{"class":768}," accessRules",[537,6206,1139],{"class":550},[537,6208,833],{"class":550},[537,6210,6211],{"class":792},"getAccessRules",[537,6213,722],{"class":556},[537,6215,6216],{"class":768},"userRole",[537,6218,805],{"class":556},[537,6220,610],{"class":550},[537,6222,6223],{"class":539,"line":1938},[537,6224,1190],{"class":556},[537,6226,6227,6229,6231,6234,6236,6238,6240,6242,6244],{"class":539,"line":1950},[537,6228,1668],{"class":758},[537,6230,833],{"class":550},[537,6232,6233],{"class":792},"filterDataByRules",[537,6235,722],{"class":556},[537,6237,6152],{"class":768},[537,6239,1213],{"class":550},[537,6241,6204],{"class":768},[537,6243,805],{"class":556},[537,6245,610],{"class":550},[537,6247,6248],{"class":539,"line":1981},[537,6249,1091],{"class":550},[537,6251,6252],{"class":539,"line":2012},[537,6253,668],{"emptyLinePlaceholder":667},[537,6255,6256,6258,6261,6263,6266,6268,6270,6272,6275,6278],{"class":539,"line":2029},[537,6257,683],{"class":542},[537,6259,6260],{"class":556}," getAccessRules",[537,6262,722],{"class":550},[537,6264,6265],{"class":725},"role",[537,6267,560],{"class":550},[537,6269,620],{"class":546},[537,6271,733],{"class":550},[537,6273,6274],{"class":546}," AccessRule",[537,6276,6277],{"class":768},"[] ",[537,6279,780],{"class":550},[537,6281,6282,6284,6287,6289,6292,6294,6296,6298,6300,6302,6304,6306],{"class":539,"line":2035},[537,6283,1133],{"class":542},[537,6285,6286],{"class":768}," rules",[537,6288,560],{"class":550},[537,6290,6291],{"class":546}," Record",[537,6293,739],{"class":550},[537,6295,4893],{"class":546},[537,6297,1213],{"class":550},[537,6299,6274],{"class":546},[537,6301,5144],{"class":556},[537,6303,745],{"class":550},[537,6305,1139],{"class":550},[537,6307,551],{"class":550},[537,6309,6310,6312,6315,6317,6319],{"class":539,"line":2040},[537,6311,5381],{"class":550},[537,6313,6314],{"class":556},"doctor",[537,6316,570],{"class":550},[537,6318,560],{"class":550},[537,6320,3328],{"class":556},[537,6322,6323,6326,6329,6331,6333,6336,6338,6340,6343,6345,6347],{"class":539,"line":2045},[537,6324,6325],{"class":550},"        {",[537,6327,6328],{"class":556}," field",[537,6330,560],{"class":550},[537,6332,563],{"class":550},[537,6334,6335],{"class":566},"medical_history",[537,6337,570],{"class":550},[537,6339,1213],{"class":550},[537,6341,6342],{"class":556}," allowed",[537,6344,560],{"class":550},[537,6346,3358],{"class":2685},[537,6348,6349],{"class":550}," },\n",[537,6351,6352,6354,6356,6358,6360,6363,6365,6367,6369,6371,6373],{"class":539,"line":2071},[537,6353,6325],{"class":550},[537,6355,6328],{"class":556},[537,6357,560],{"class":550},[537,6359,563],{"class":550},[537,6361,6362],{"class":566},"diagnoses",[537,6364,570],{"class":550},[537,6366,1213],{"class":550},[537,6368,6342],{"class":556},[537,6370,560],{"class":550},[537,6372,3358],{"class":2685},[537,6374,6349],{"class":550},[537,6376,6377,6379,6381,6383,6385,6388,6390,6392,6394,6396,6398],{"class":539,"line":2076},[537,6378,6325],{"class":550},[537,6380,6328],{"class":556},[537,6382,560],{"class":550},[537,6384,563],{"class":550},[537,6386,6387],{"class":566},"treatments",[537,6389,570],{"class":550},[537,6391,1213],{"class":550},[537,6393,6342],{"class":556},[537,6395,560],{"class":550},[537,6397,3358],{"class":2685},[537,6399,6349],{"class":550},[537,6401,6402,6404,6406,6408,6410,6413,6415,6417,6419,6421,6423],{"class":539,"line":3403},[537,6403,6325],{"class":550},[537,6405,6328],{"class":556},[537,6407,560],{"class":550},[537,6409,563],{"class":550},[537,6411,6412],{"class":566},"contact_info",[537,6414,570],{"class":550},[537,6416,1213],{"class":550},[537,6418,6342],{"class":556},[537,6420,560],{"class":550},[537,6422,3358],{"class":2685},[537,6424,6425],{"class":550}," }\n",[537,6427,6428,6430],{"class":539,"line":3418},[537,6429,3534],{"class":556},[537,6431,1698],{"class":550},[537,6433,6434,6436,6439,6441,6443],{"class":539,"line":3429},[537,6435,5381],{"class":550},[537,6437,6438],{"class":556},"researcher",[537,6440,570],{"class":550},[537,6442,560],{"class":550},[537,6444,3328],{"class":556},[537,6446,6447,6449,6451,6453,6455,6457,6459,6461,6463,6465,6467],{"class":539,"line":3445},[537,6448,6325],{"class":550},[537,6450,6328],{"class":556},[537,6452,560],{"class":550},[537,6454,563],{"class":550},[537,6456,6335],{"class":566},[537,6458,570],{"class":550},[537,6460,1213],{"class":550},[537,6462,6342],{"class":556},[537,6464,560],{"class":550},[537,6466,2686],{"class":2685},[537,6468,6349],{"class":550},[537,6470,6471,6473,6475,6477,6479,6481,6483,6485,6487,6489,6491,6493,6496,6498,6500],{"class":539,"line":3459},[537,6472,6325],{"class":550},[537,6474,6328],{"class":556},[537,6476,560],{"class":550},[537,6478,563],{"class":550},[537,6480,6362],{"class":566},[537,6482,570],{"class":550},[537,6484,1213],{"class":550},[537,6486,6342],{"class":556},[537,6488,560],{"class":550},[537,6490,3358],{"class":2685},[537,6492,1213],{"class":550},[537,6494,6495],{"class":556}," anonymized",[537,6497,560],{"class":550},[537,6499,3358],{"class":2685},[537,6501,6349],{"class":550},[537,6503,6504,6506,6508,6510,6512,6514,6516,6518,6520,6522,6524,6526,6528,6530,6532],{"class":539,"line":3464},[537,6505,6325],{"class":550},[537,6507,6328],{"class":556},[537,6509,560],{"class":550},[537,6511,563],{"class":550},[537,6513,6387],{"class":566},[537,6515,570],{"class":550},[537,6517,1213],{"class":550},[537,6519,6342],{"class":556},[537,6521,560],{"class":550},[537,6523,3358],{"class":2685},[537,6525,1213],{"class":550},[537,6527,6495],{"class":556},[537,6529,560],{"class":550},[537,6531,3358],{"class":2685},[537,6533,6349],{"class":550},[537,6535,6536,6538,6540,6542,6544,6546,6548,6550,6552,6554,6556],{"class":539,"line":3469},[537,6537,6325],{"class":550},[537,6539,6328],{"class":556},[537,6541,560],{"class":550},[537,6543,563],{"class":550},[537,6545,6412],{"class":566},[537,6547,570],{"class":550},[537,6549,1213],{"class":550},[537,6551,6342],{"class":556},[537,6553,560],{"class":550},[537,6555,2686],{"class":2685},[537,6557,6425],{"class":550},[537,6559,6560,6562],{"class":539,"line":3484},[537,6561,3534],{"class":556},[537,6563,1698],{"class":550},[537,6565,6566,6568,6571,6573,6575],{"class":539,"line":3495},[537,6567,5381],{"class":550},[537,6569,6570],{"class":556},"admin",[537,6572,570],{"class":550},[537,6574,560],{"class":550},[537,6576,3328],{"class":556},[537,6578,6579,6581,6583,6585,6587,6589,6591,6593,6595,6597,6599],{"class":539,"line":3511},[537,6580,6325],{"class":550},[537,6582,6328],{"class":556},[537,6584,560],{"class":550},[537,6586,563],{"class":550},[537,6588,6335],{"class":566},[537,6590,570],{"class":550},[537,6592,1213],{"class":550},[537,6594,6342],{"class":556},[537,6596,560],{"class":550},[537,6598,2686],{"class":2685},[537,6600,6349],{"class":550},[537,6602,6603,6605,6607,6609,6611,6613,6615,6617,6619,6621,6623],{"class":539,"line":3525},[537,6604,6325],{"class":550},[537,6606,6328],{"class":556},[537,6608,560],{"class":550},[537,6610,563],{"class":550},[537,6612,6362],{"class":566},[537,6614,570],{"class":550},[537,6616,1213],{"class":550},[537,6618,6342],{"class":556},[537,6620,560],{"class":550},[537,6622,2686],{"class":2685},[537,6624,6349],{"class":550},[537,6626,6627,6629,6631,6633,6635,6637,6639,6641,6643,6645,6647],{"class":539,"line":3531},[537,6628,6325],{"class":550},[537,6630,6328],{"class":556},[537,6632,560],{"class":550},[537,6634,563],{"class":550},[537,6636,6387],{"class":566},[537,6638,570],{"class":550},[537,6640,1213],{"class":550},[537,6642,6342],{"class":556},[537,6644,560],{"class":550},[537,6646,2686],{"class":2685},[537,6648,6349],{"class":550},[537,6650,6651,6653,6655,6657,6659,6661,6663,6665,6667,6669,6671],{"class":539,"line":3539},[537,6652,6325],{"class":550},[537,6654,6328],{"class":556},[537,6656,560],{"class":550},[537,6658,563],{"class":550},[537,6660,6412],{"class":566},[537,6662,570],{"class":550},[537,6664,1213],{"class":550},[537,6666,6342],{"class":556},[537,6668,560],{"class":550},[537,6670,3358],{"class":2685},[537,6672,6425],{"class":550},[537,6674,6675],{"class":539,"line":3554},[537,6676,4863],{"class":556},[537,6678,6679],{"class":539,"line":3569},[537,6680,1889],{"class":550},[537,6682,6683],{"class":539,"line":3574},[537,6684,668],{"emptyLinePlaceholder":667},[537,6686,6687,6689,6691,6694,6696,6699,6702,6705],{"class":539,"line":3579},[537,6688,1668],{"class":758},[537,6690,6286],{"class":768},[537,6692,6693],{"class":556},"[",[537,6695,6265],{"class":768},[537,6697,6698],{"class":556},"] ",[537,6700,6701],{"class":550},"||",[537,6703,6704],{"class":556}," []",[537,6706,610],{"class":550},[537,6708,6710],{"class":539,"line":6709},129,[537,6711,1091],{"class":550},[537,6713,6715],{"class":539,"line":6714},130,[537,6716,668],{"emptyLinePlaceholder":667},[537,6718,6720,6722,6725,6727,6729,6731,6733,6735,6737,6739,6741,6743,6745,6747],{"class":539,"line":6719},131,[537,6721,683],{"class":542},[537,6723,6724],{"class":556}," filterDataByRules",[537,6726,722],{"class":550},[537,6728,6152],{"class":725},[537,6730,560],{"class":550},[537,6732,1656],{"class":546},[537,6734,1213],{"class":550},[537,6736,6286],{"class":725},[537,6738,560],{"class":550},[537,6740,6274],{"class":546},[537,6742,5144],{"class":768},[537,6744,733],{"class":550},[537,6746,1656],{"class":546},[537,6748,551],{"class":550},[537,6750,6752,6754,6757,6759,6761,6763],{"class":539,"line":6751},132,[537,6753,1133],{"class":542},[537,6755,6756],{"class":768}," filtered",[537,6758,560],{"class":550},[537,6760,1656],{"class":546},[537,6762,1139],{"class":550},[537,6764,6765],{"class":550}," {};\n",[537,6767,6769],{"class":539,"line":6768},133,[537,6770,668],{"emptyLinePlaceholder":667},[537,6772,6774,6777,6779,6782,6785,6788,6790,6792],{"class":539,"line":6773},134,[537,6775,6776],{"class":758},"    for",[537,6778,762],{"class":556},[537,6780,6781],{"class":542},"const",[537,6783,6784],{"class":768}," rule",[537,6786,6787],{"class":550}," of",[537,6789,6286],{"class":768},[537,6791,777],{"class":556},[537,6793,780],{"class":550},[537,6795,6797,6800,6802,6805,6807,6810,6812],{"class":539,"line":6796},135,[537,6798,6799],{"class":758},"      if",[537,6801,762],{"class":556},[537,6803,6804],{"class":768},"rule",[537,6806,771],{"class":550},[537,6808,6809],{"class":768},"allowed",[537,6811,777],{"class":556},[537,6813,780],{"class":550},[537,6815,6817,6820,6822,6824,6826,6829,6831],{"class":539,"line":6816},136,[537,6818,6819],{"class":758},"        if",[537,6821,762],{"class":556},[537,6823,6804],{"class":768},[537,6825,771],{"class":550},[537,6827,6828],{"class":768},"anonymized",[537,6830,777],{"class":556},[537,6832,780],{"class":550},[537,6834,6836,6839,6841,6843,6845,6848,6850,6852,6854,6857,6859,6861,6863,6865,6867,6869,6872],{"class":539,"line":6835},137,[537,6837,6838],{"class":768},"          filtered",[537,6840,6693],{"class":556},[537,6842,6804],{"class":768},[537,6844,771],{"class":550},[537,6846,6847],{"class":768},"field",[537,6849,6698],{"class":556},[537,6851,2220],{"class":550},[537,6853,833],{"class":550},[537,6855,6856],{"class":792},"anonymizeField",[537,6858,722],{"class":556},[537,6860,6152],{"class":768},[537,6862,6693],{"class":556},[537,6864,6804],{"class":768},[537,6866,771],{"class":550},[537,6868,6847],{"class":768},[537,6870,6871],{"class":556},"])",[537,6873,610],{"class":550},[537,6875,6877,6880,6883],{"class":539,"line":6876},138,[537,6878,6879],{"class":550},"        }",[537,6881,6882],{"class":758}," else",[537,6884,551],{"class":550},[537,6886,6888,6890,6892,6894,6896,6898,6900,6902,6905,6907,6909,6911,6913,6915],{"class":539,"line":6887},139,[537,6889,6838],{"class":768},[537,6891,6693],{"class":556},[537,6893,6804],{"class":768},[537,6895,771],{"class":550},[537,6897,6847],{"class":768},[537,6899,6698],{"class":556},[537,6901,2220],{"class":550},[537,6903,6904],{"class":768}," data",[537,6906,6693],{"class":556},[537,6908,6804],{"class":768},[537,6910,771],{"class":550},[537,6912,6847],{"class":768},[537,6914,5706],{"class":556},[537,6916,610],{"class":550},[537,6918,6920],{"class":539,"line":6919},140,[537,6921,3528],{"class":550},[537,6923,6925],{"class":539,"line":6924},141,[537,6926,1883],{"class":550},[537,6928,6930],{"class":539,"line":6929},142,[537,6931,813],{"class":550},[537,6933,6935],{"class":539,"line":6934},143,[537,6936,668],{"emptyLinePlaceholder":667},[537,6938,6940,6942,6944],{"class":539,"line":6939},144,[537,6941,1668],{"class":758},[537,6943,6756],{"class":768},[537,6945,610],{"class":550},[537,6947,6949],{"class":539,"line":6948},145,[537,6950,1091],{"class":550},[537,6952,6954],{"class":539,"line":6953},146,[537,6955,668],{"emptyLinePlaceholder":667},[537,6957,6959,6961,6964,6966,6969,6971,6973,6975,6977],{"class":539,"line":6958},147,[537,6960,683],{"class":542},[537,6962,6963],{"class":556}," anonymizeField",[537,6965,722],{"class":550},[537,6967,6968],{"class":725},"value",[537,6970,560],{"class":550},[537,6972,1656],{"class":546},[537,6974,733],{"class":550},[537,6976,1656],{"class":546},[537,6978,551],{"class":550},[537,6980,6982],{"class":539,"line":6981},148,[537,6983,6984],{"class":752},"    // Implement anonymization logic\n",[537,6986,6988,6990,6992,6995,6998,7001,7003,7005,7007,7009],{"class":539,"line":6987},149,[537,6989,759],{"class":758},[537,6991,762],{"class":556},[537,6993,6994],{"class":550},"typeof",[537,6996,6997],{"class":768}," value",[537,6999,7000],{"class":550}," ===",[537,7002,563],{"class":550},[537,7004,4893],{"class":566},[537,7006,570],{"class":550},[537,7008,777],{"class":556},[537,7010,780],{"class":550},[537,7012,7014,7016,7018,7020,7023,7025,7029,7031,7034,7036,7039,7041,7044,7046],{"class":539,"line":7013},150,[537,7015,1387],{"class":758},[537,7017,6997],{"class":768},[537,7019,771],{"class":550},[537,7021,7022],{"class":792},"substring",[537,7024,722],{"class":556},[537,7026,7028],{"class":7027},"sbssI","0",[537,7030,1213],{"class":550},[537,7032,7033],{"class":7027}," 3",[537,7035,777],{"class":556},[537,7037,7038],{"class":550},"+",[537,7040,563],{"class":550},[537,7042,7043],{"class":566},"***",[537,7045,570],{"class":550},[537,7047,610],{"class":550},[537,7049,7051],{"class":539,"line":7050},151,[537,7052,813],{"class":550},[537,7054,7056,7058,7060,7063,7065],{"class":539,"line":7055},152,[537,7057,1668],{"class":758},[537,7059,563],{"class":550},[537,7061,7062],{"class":566},"ANONYMIZED",[537,7064,570],{"class":550},[537,7066,610],{"class":550},[537,7068,7070],{"class":539,"line":7069},153,[537,7071,1091],{"class":550},[537,7073,7075],{"class":539,"line":7074},154,[537,7076,662],{"class":550},[512,7078,7080],{"id":7079},"industry-standards","Industry Standards",[517,7082,7084],{"id":7083},"iso-27001-information-security-management","ISO 27001 Information Security Management",[522,7086,7088],{"id":7087},"information-security-management-system-isms","Information Security Management System (ISMS)",[527,7090,7092],{"className":529,"code":7091,"language":531,"meta":532,"style":532},"interface ISMSControl {\n  id: string;\n  category: ISMSCategory;\n  title: string;\n  description: string;\n  implementation: ImplementationStatus;\n  evidence: Evidence[];\n  reviewDate: Date;\n  nextReviewDate: Date;\n}\n\nenum ISMSCategory {\n  INFORMATION_SECURITY_POLICIES = 'A.5',\n  ORGANIZATION_OF_INFORMATION_SECURITY = 'A.6',\n  HUMAN_RESOURCE_SECURITY = 'A.7',\n  ASSET_MANAGEMENT = 'A.8',\n  ACCESS_CONTROL = 'A.9',\n  CRYPTOGRAPHY = 'A.10',\n  PHYSICAL_AND_ENVIRONMENTAL_SECURITY = 'A.11',\n  OPERATIONS_SECURITY = 'A.12',\n  COMMUNICATIONS_SECURITY = 'A.13',\n  SYSTEM_ACQUISITION_DEVELOPMENT_MAINTENANCE = 'A.14',\n  SUPPLIER_RELATIONSHIPS = 'A.15',\n  INCIDENT_MANAGEMENT = 'A.16',\n  BUSINESS_CONTINUITY_MANAGEMENT = 'A.17',\n  COMPLIANCE = 'A.18'\n}\n\nenum ImplementationStatus {\n  IMPLEMENTED = 'implemented',\n  PARTIALLY_IMPLEMENTED = 'partially_implemented',\n  PLANNED = 'planned',\n  NOT_IMPLEMENTED = 'not_implemented'\n}\n\nclass ISMSManager {\n  private controls: Map\u003Cstring, ISMSControl>;\n  private auditLogger: AuditLogger;\n\n  constructor() {\n    this.controls = new Map();\n    this.initializeControls();\n  }\n\n  private initializeControls(): void {\n    // Initialize ISO 27001 controls\n    this.addControl({\n      id: 'A.9.2.1',\n      category: ISMSCategory.ACCESS_CONTROL,\n      title: 'Registration of Users',\n      description: 'Access rights shall be formally registered and managed.',\n      implementation: ImplementationStatus.IMPLEMENTED,\n      evidence: [\n        { type: 'policy', location: '/security/access-control-policy.pdf' },\n        { type: 'procedure', location: '/procedures/user-registration.md' },\n        { type: 'audit_log', location: '/audit/access-control-audit.json' }\n      ],\n      reviewDate: new Date('2024-01-01'),\n      nextReviewDate: new Date('2024-07-01')\n    });\n\n    this.addControl({\n      id: 'A.12.4.1',\n      category: ISMSCategory.OPERATIONS_SECURITY,\n      title: 'Event Logging',\n      description: 'Audit logs recording user activities, exceptions, and information security events shall be produced and kept.',\n      implementation: ImplementationStatus.IMPLEMENTED,\n      evidence: [\n        { type: 'configuration', location: '/config/logging-config.json' },\n        { type: 'procedure', location: '/procedures/log-management.md' },\n        { type: 'sample_logs', location: '/logs/sample-security-logs.json' }\n      ],\n      reviewDate: new Date('2024-01-01'),\n      nextReviewDate: new Date('2024-07-01')\n    });\n\n    // Add more controls...\n  }\n\n  async performRiskAssessment(): Promise\u003CRiskAssessment> {\n    const risks = await this.identifyRisks();\n    const analyzedRisks = await this.analyzeRisks(risks);\n    const treatmentPlan = await this.createRiskTreatmentPlan(analyzedRisks);\n\n    return {\n      assessmentDate: new Date(),\n      assessor: 'Security Team',\n      risks: analyzedRisks,\n      treatmentPlan,\n      residualRisk: this.calculateResidualRisk(analyzedRisks, treatmentPlan)\n    };\n  }\n\n  private async identifyRisks(): Promise\u003CRisk[]> {\n    return [\n      {\n        id: 'R001',\n        category: 'Security',\n        description: 'Unauthorized access to sensitive data',\n        likelihood: 'Medium',\n        impact: 'High',\n        existingControls: ['A.9.2.1', 'A.9.4.1', 'A.10.1.1'],\n        riskScore: 15\n      },\n      {\n        id: 'R002',\n        category: 'Availability',\n        description: 'Service disruption due to system failure',\n        likelihood: 'Low',\n        impact: 'High',\n        existingControls: ['A.12.6.1', 'A.17.2.1'],\n        riskScore: 12\n      },\n      {\n        id: 'R003',\n        category: 'Compliance',\n        description: 'Non-compliance with data protection regulations',\n        likelihood: 'Medium',\n        impact: 'High',\n        existingControls: ['A.18.1.1', 'A.18.1.2'],\n        riskScore: 15\n      }\n    ];\n  }\n\n  private async analyzeRisks(risks: Risk[]): Promise\u003CAnalyzedRisk[]> {\n    return risks.map(risk => ({\n      ...risk,\n      analysis: {\n        currentRiskLevel: this.calculateRiskLevel(risk.likelihood, risk.impact),\n        controlEffectiveness: this.evaluateControlEffectiveness(risk.existingControls),\n        recommendedActions: this.getRecommendedActions(risk)\n      }\n    }));\n  }\n\n  async conductInternalAudit(): Promise\u003CAuditReport> {\n    const auditScope = this.defineAuditScope();\n    const auditFindings = await this.performAuditTesting(auditScope);\n    const nonConformities = this.identifyNonConformities(auditFindings);\n    const correctiveActions = this.planCorrectiveActions(nonConformities);\n\n    return {\n      auditDate: new Date(),\n      auditor: 'Internal Audit Team',\n      scope: auditScope,\n      findings: auditFindings,\n      nonConformities,\n      correctiveActions,\n      overallConformance: this.calculateOverallConformance(nonConformities),\n      recommendations: this.generateRecommendations(nonConformities)\n    };\n  }\n\n  private defineAuditScope(): AuditScope {\n    return {\n      period: {\n        start: new Date('2024-01-01'),\n        end: new Date('2024-06-30')\n      },\n      departments: ['IT', 'Security', 'Operations'],\n      controls: Array.from(this.controls.keys()),\n      processes: ['Access Management', 'Incident Response', 'Change Management']\n    };\n  }\n\n  async generateComplianceReport(): Promise\u003CComplianceReport> {\n    const controlStatus = this.evaluateAllControls();\n    const gapAnalysis = this.performGapAnalysis();\n    const maturityAssessment = this.assessMaturity();\n\n    return {\n      reportDate: new Date(),\n      standard: 'ISO 27001:2022',\n      version: '2.0',\n      overallCompliance: this.calculateOverallCompliance(controlStatus),\n      controlStatus,\n      gapAnalysis,\n      maturityAssessment,\n      recommendations: this.generateImprovementRecommendations(gapAnalysis)\n    };\n  }\n}\n",[534,7093,7094,7103,7113,7125,7136,7147,7159,7173,7184,7195,7199,7203,7211,7227,7243,7259,7275,7291,7307,7323,7339,7355,7371,7387,7403,7419,7433,7437,7441,7449,7465,7481,7497,7511,7515,7519,7528,7551,7563,7567,7576,7594,7605,7609,7613,7627,7632,7643,7658,7674,7689,7704,7720,7729,7761,7791,7821,7827,7851,7873,7882,7886,7896,7911,7926,7941,7956,7970,7978,8008,8037,8067,8073,8095,8115,8123,8127,8132,8136,8140,8160,8180,8205,8230,8234,8240,8255,8271,8282,8289,8311,8315,8319,8323,8347,8353,8358,8374,8390,8406,8422,8438,8475,8485,8489,8493,8508,8523,8538,8553,8567,8595,8604,8608,8612,8627,8642,8657,8671,8685,8713,8721,8725,8732,8736,8740,8775,8798,8807,8816,8851,8876,8894,8898,8907,8911,8915,8935,8953,8978,9001,9024,9028,9034,9049,9065,9076,9087,9094,9101,9121,9139,9143,9147,9151,9166,9173,9183,9207,9230,9235,9273,9305,9343,9348,9353,9358,9379,9398,9417,9436,9441,9448,9464,9481,9497,9519,9527,9535,9543,9562,9567,9572],{"__ignoreMap":532},[537,7095,7096,7098,7101],{"class":539,"line":82},[537,7097,543],{"class":542},[537,7099,7100],{"class":546}," ISMSControl",[537,7102,551],{"class":550},[537,7104,7105,7107,7109,7111],{"class":539,"line":114},[537,7106,2101],{"class":556},[537,7108,560],{"class":550},[537,7110,620],{"class":546},[537,7112,610],{"class":550},[537,7114,7115,7118,7120,7123],{"class":539,"line":146},[537,7116,7117],{"class":556},"  category",[537,7119,560],{"class":550},[537,7121,7122],{"class":546}," ISMSCategory",[537,7124,610],{"class":550},[537,7126,7127,7130,7132,7134],{"class":539,"line":178},[537,7128,7129],{"class":556},"  title",[537,7131,560],{"class":550},[537,7133,620],{"class":546},[537,7135,610],{"class":550},[537,7137,7138,7141,7143,7145],{"class":539,"line":268},[537,7139,7140],{"class":556},"  description",[537,7142,560],{"class":550},[537,7144,620],{"class":546},[537,7146,610],{"class":550},[537,7148,7149,7152,7154,7157],{"class":539,"line":273},[537,7150,7151],{"class":556},"  implementation",[537,7153,560],{"class":550},[537,7155,7156],{"class":546}," ImplementationStatus",[537,7158,610],{"class":550},[537,7160,7161,7164,7166,7169,7171],{"class":539,"line":279},[537,7162,7163],{"class":556},"  evidence",[537,7165,560],{"class":550},[537,7167,7168],{"class":546}," Evidence",[537,7170,5144],{"class":768},[537,7172,610],{"class":550},[537,7174,7175,7178,7180,7182],{"class":539,"line":285},[537,7176,7177],{"class":556},"  reviewDate",[537,7179,560],{"class":550},[537,7181,655],{"class":546},[537,7183,610],{"class":550},[537,7185,7186,7189,7191,7193],{"class":539,"line":291},[537,7187,7188],{"class":556},"  nextReviewDate",[537,7190,560],{"class":550},[537,7192,655],{"class":546},[537,7194,610],{"class":550},[537,7196,7197],{"class":539,"line":222},[537,7198,662],{"class":550},[537,7200,7201],{"class":539,"line":227},[537,7202,668],{"emptyLinePlaceholder":667},[537,7204,7205,7207,7209],{"class":539,"line":232},[537,7206,2208],{"class":542},[537,7208,7122],{"class":546},[537,7210,551],{"class":550},[537,7212,7213,7216,7218,7220,7223,7225],{"class":539,"line":238},[537,7214,7215],{"class":768},"  INFORMATION_SECURITY_POLICIES ",[537,7217,2220],{"class":550},[537,7219,563],{"class":550},[537,7221,7222],{"class":566},"A.5",[537,7224,570],{"class":550},[537,7226,1698],{"class":550},[537,7228,7229,7232,7234,7236,7239,7241],{"class":539,"line":243},[537,7230,7231],{"class":768},"  ORGANIZATION_OF_INFORMATION_SECURITY ",[537,7233,2220],{"class":550},[537,7235,563],{"class":550},[537,7237,7238],{"class":566},"A.6",[537,7240,570],{"class":550},[537,7242,1698],{"class":550},[537,7244,7245,7248,7250,7252,7255,7257],{"class":539,"line":248},[537,7246,7247],{"class":768},"  HUMAN_RESOURCE_SECURITY ",[537,7249,2220],{"class":550},[537,7251,563],{"class":550},[537,7253,7254],{"class":566},"A.7",[537,7256,570],{"class":550},[537,7258,1698],{"class":550},[537,7260,7261,7264,7266,7268,7271,7273],{"class":539,"line":783},[537,7262,7263],{"class":768},"  ASSET_MANAGEMENT ",[537,7265,2220],{"class":550},[537,7267,563],{"class":550},[537,7269,7270],{"class":566},"A.8",[537,7272,570],{"class":550},[537,7274,1698],{"class":550},[537,7276,7277,7280,7282,7284,7287,7289],{"class":539,"line":810},[537,7278,7279],{"class":768},"  ACCESS_CONTROL ",[537,7281,2220],{"class":550},[537,7283,563],{"class":550},[537,7285,7286],{"class":566},"A.9",[537,7288,570],{"class":550},[537,7290,1698],{"class":550},[537,7292,7293,7296,7298,7300,7303,7305],{"class":539,"line":816},[537,7294,7295],{"class":768},"  CRYPTOGRAPHY ",[537,7297,2220],{"class":550},[537,7299,563],{"class":550},[537,7301,7302],{"class":566},"A.10",[537,7304,570],{"class":550},[537,7306,1698],{"class":550},[537,7308,7309,7312,7314,7316,7319,7321],{"class":539,"line":821},[537,7310,7311],{"class":768},"  PHYSICAL_AND_ENVIRONMENTAL_SECURITY ",[537,7313,2220],{"class":550},[537,7315,563],{"class":550},[537,7317,7318],{"class":566},"A.11",[537,7320,570],{"class":550},[537,7322,1698],{"class":550},[537,7324,7325,7328,7330,7332,7335,7337],{"class":539,"line":827},[537,7326,7327],{"class":768},"  OPERATIONS_SECURITY ",[537,7329,2220],{"class":550},[537,7331,563],{"class":550},[537,7333,7334],{"class":566},"A.12",[537,7336,570],{"class":550},[537,7338,1698],{"class":550},[537,7340,7341,7344,7346,7348,7351,7353],{"class":539,"line":852},[537,7342,7343],{"class":768},"  COMMUNICATIONS_SECURITY ",[537,7345,2220],{"class":550},[537,7347,563],{"class":550},[537,7349,7350],{"class":566},"A.13",[537,7352,570],{"class":550},[537,7354,1698],{"class":550},[537,7356,7357,7360,7362,7364,7367,7369],{"class":539,"line":857},[537,7358,7359],{"class":768},"  SYSTEM_ACQUISITION_DEVELOPMENT_MAINTENANCE ",[537,7361,2220],{"class":550},[537,7363,563],{"class":550},[537,7365,7366],{"class":566},"A.14",[537,7368,570],{"class":550},[537,7370,1698],{"class":550},[537,7372,7373,7376,7378,7380,7383,7385],{"class":539,"line":876},[537,7374,7375],{"class":768},"  SUPPLIER_RELATIONSHIPS ",[537,7377,2220],{"class":550},[537,7379,563],{"class":550},[537,7381,7382],{"class":566},"A.15",[537,7384,570],{"class":550},[537,7386,1698],{"class":550},[537,7388,7389,7392,7394,7396,7399,7401],{"class":539,"line":891},[537,7390,7391],{"class":768},"  INCIDENT_MANAGEMENT ",[537,7393,2220],{"class":550},[537,7395,563],{"class":550},[537,7397,7398],{"class":566},"A.16",[537,7400,570],{"class":550},[537,7402,1698],{"class":550},[537,7404,7405,7408,7410,7412,7415,7417],{"class":539,"line":915},[537,7406,7407],{"class":768},"  BUSINESS_CONTINUITY_MANAGEMENT ",[537,7409,2220],{"class":550},[537,7411,563],{"class":550},[537,7413,7414],{"class":566},"A.17",[537,7416,570],{"class":550},[537,7418,1698],{"class":550},[537,7420,7421,7424,7426,7428,7431],{"class":539,"line":923},[537,7422,7423],{"class":768},"  COMPLIANCE ",[537,7425,2220],{"class":550},[537,7427,563],{"class":550},[537,7429,7430],{"class":566},"A.18",[537,7432,1877],{"class":550},[537,7434,7435],{"class":539,"line":936},[537,7436,662],{"class":550},[537,7438,7439],{"class":539,"line":954},[537,7440,668],{"emptyLinePlaceholder":667},[537,7442,7443,7445,7447],{"class":539,"line":961},[537,7444,2208],{"class":542},[537,7446,7156],{"class":546},[537,7448,551],{"class":550},[537,7450,7451,7454,7456,7458,7461,7463],{"class":539,"line":974},[537,7452,7453],{"class":768},"  IMPLEMENTED ",[537,7455,2220],{"class":550},[537,7457,563],{"class":550},[537,7459,7460],{"class":566},"implemented",[537,7462,570],{"class":550},[537,7464,1698],{"class":550},[537,7466,7467,7470,7472,7474,7477,7479],{"class":539,"line":996},[537,7468,7469],{"class":768},"  PARTIALLY_IMPLEMENTED ",[537,7471,2220],{"class":550},[537,7473,563],{"class":550},[537,7475,7476],{"class":566},"partially_implemented",[537,7478,570],{"class":550},[537,7480,1698],{"class":550},[537,7482,7483,7486,7488,7490,7493,7495],{"class":539,"line":1003},[537,7484,7485],{"class":768},"  PLANNED ",[537,7487,2220],{"class":550},[537,7489,563],{"class":550},[537,7491,7492],{"class":566},"planned",[537,7494,570],{"class":550},[537,7496,1698],{"class":550},[537,7498,7499,7502,7504,7506,7509],{"class":539,"line":1016},[537,7500,7501],{"class":768},"  NOT_IMPLEMENTED ",[537,7503,2220],{"class":550},[537,7505,563],{"class":550},[537,7507,7508],{"class":566},"not_implemented",[537,7510,1877],{"class":550},[537,7512,7513],{"class":539,"line":1038},[537,7514,662],{"class":550},[537,7516,7517],{"class":539,"line":1045},[537,7518,668],{"emptyLinePlaceholder":667},[537,7520,7521,7523,7526],{"class":539,"line":1058},[537,7522,673],{"class":542},[537,7524,7525],{"class":546}," ISMSManager",[537,7527,551],{"class":550},[537,7529,7530,7532,7535,7537,7540,7542,7544,7546,7548],{"class":539,"line":1076},[537,7531,683],{"class":542},[537,7533,7534],{"class":556}," controls",[537,7536,560],{"class":550},[537,7538,7539],{"class":546}," Map",[537,7541,739],{"class":550},[537,7543,4893],{"class":546},[537,7545,1213],{"class":550},[537,7547,7100],{"class":546},[537,7549,7550],{"class":550},">;\n",[537,7552,7553,7555,7557,7559,7561],{"class":539,"line":1083},[537,7554,683],{"class":542},[537,7556,700],{"class":556},[537,7558,560],{"class":550},[537,7560,705],{"class":546},[537,7562,610],{"class":550},[537,7564,7565],{"class":539,"line":1088},[537,7566,668],{"emptyLinePlaceholder":667},[537,7568,7569,7572,7574],{"class":539,"line":1094},[537,7570,7571],{"class":542},"  constructor",[537,7573,1973],{"class":550},[537,7575,551],{"class":550},[537,7577,7578,7581,7584,7586,7588,7590,7592],{"class":539,"line":1099},[537,7579,7580],{"class":550},"    this.",[537,7582,7583],{"class":768},"controls",[537,7585,1139],{"class":550},[537,7587,789],{"class":550},[537,7589,7539],{"class":792},[537,7591,1973],{"class":556},[537,7593,610],{"class":550},[537,7595,7596,7598,7601,7603],{"class":539,"line":1130},[537,7597,7580],{"class":550},[537,7599,7600],{"class":792},"initializeControls",[537,7602,1973],{"class":556},[537,7604,610],{"class":550},[537,7606,7607],{"class":539,"line":1163},[537,7608,1091],{"class":550},[537,7610,7611],{"class":539,"line":1187},[537,7612,668],{"emptyLinePlaceholder":667},[537,7614,7615,7617,7620,7622,7625],{"class":539,"line":1193},[537,7616,683],{"class":542},[537,7618,7619],{"class":556}," initializeControls",[537,7621,3273],{"class":550},[537,7623,7624],{"class":546}," void",[537,7626,551],{"class":550},[537,7628,7629],{"class":539,"line":1199},[537,7630,7631],{"class":752},"    // Initialize ISO 27001 controls\n",[537,7633,7634,7636,7639,7641],{"class":539,"line":1222},[537,7635,7580],{"class":550},[537,7637,7638],{"class":792},"addControl",[537,7640,722],{"class":556},[537,7642,780],{"class":550},[537,7644,7645,7647,7649,7651,7654,7656],{"class":539,"line":1227},[537,7646,1953],{"class":556},[537,7648,560],{"class":550},[537,7650,563],{"class":550},[537,7652,7653],{"class":566},"A.9.2.1",[537,7655,570],{"class":550},[537,7657,1698],{"class":550},[537,7659,7660,7663,7665,7667,7669,7672],{"class":539,"line":1233},[537,7661,7662],{"class":556},"      category",[537,7664,560],{"class":550},[537,7666,7122],{"class":768},[537,7668,771],{"class":550},[537,7670,7671],{"class":768},"ACCESS_CONTROL",[537,7673,1698],{"class":550},[537,7675,7676,7678,7680,7682,7685,7687],{"class":539,"line":1264},[537,7677,3289],{"class":556},[537,7679,560],{"class":550},[537,7681,563],{"class":550},[537,7683,7684],{"class":566},"Registration of Users",[537,7686,570],{"class":550},[537,7688,1698],{"class":550},[537,7690,7691,7693,7695,7697,7700,7702],{"class":539,"line":1269},[537,7692,3307],{"class":556},[537,7694,560],{"class":550},[537,7696,563],{"class":550},[537,7698,7699],{"class":566},"Access rights shall be formally registered and managed.",[537,7701,570],{"class":550},[537,7703,1698],{"class":550},[537,7705,7706,7709,7711,7713,7715,7718],{"class":539,"line":1274},[537,7707,7708],{"class":556},"      implementation",[537,7710,560],{"class":550},[537,7712,7156],{"class":768},[537,7714,771],{"class":550},[537,7716,7717],{"class":768},"IMPLEMENTED",[537,7719,1698],{"class":550},[537,7721,7722,7725,7727],{"class":539,"line":1304},[537,7723,7724],{"class":556},"      evidence",[537,7726,560],{"class":550},[537,7728,3328],{"class":556},[537,7730,7731,7733,7736,7738,7740,7743,7745,7747,7750,7752,7754,7757,7759],{"class":539,"line":1310},[537,7732,6325],{"class":550},[537,7734,7735],{"class":556}," type",[537,7737,560],{"class":550},[537,7739,563],{"class":550},[537,7741,7742],{"class":566},"policy",[537,7744,570],{"class":550},[537,7746,1213],{"class":550},[537,7748,7749],{"class":556}," location",[537,7751,560],{"class":550},[537,7753,563],{"class":550},[537,7755,7756],{"class":566},"/security/access-control-policy.pdf",[537,7758,570],{"class":550},[537,7760,6349],{"class":550},[537,7762,7763,7765,7767,7769,7771,7774,7776,7778,7780,7782,7784,7787,7789],{"class":539,"line":1335},[537,7764,6325],{"class":550},[537,7766,7735],{"class":556},[537,7768,560],{"class":550},[537,7770,563],{"class":550},[537,7772,7773],{"class":566},"procedure",[537,7775,570],{"class":550},[537,7777,1213],{"class":550},[537,7779,7749],{"class":556},[537,7781,560],{"class":550},[537,7783,563],{"class":550},[537,7785,7786],{"class":566},"/procedures/user-registration.md",[537,7788,570],{"class":550},[537,7790,6349],{"class":550},[537,7792,7793,7795,7797,7799,7801,7804,7806,7808,7810,7812,7814,7817,7819],{"class":539,"line":1340},[537,7794,6325],{"class":550},[537,7796,7735],{"class":556},[537,7798,560],{"class":550},[537,7800,563],{"class":550},[537,7802,7803],{"class":566},"audit_log",[537,7805,570],{"class":550},[537,7807,1213],{"class":550},[537,7809,7749],{"class":556},[537,7811,560],{"class":550},[537,7813,563],{"class":550},[537,7815,7816],{"class":566},"/audit/access-control-audit.json",[537,7818,570],{"class":550},[537,7820,6425],{"class":550},[537,7822,7823,7825],{"class":539,"line":1356},[537,7824,3534],{"class":556},[537,7826,1698],{"class":550},[537,7828,7829,7832,7834,7836,7838,7840,7842,7845,7847,7849],{"class":539,"line":1384},[537,7830,7831],{"class":556},"      reviewDate",[537,7833,560],{"class":550},[537,7835,789],{"class":550},[537,7837,655],{"class":792},[537,7839,722],{"class":556},[537,7841,570],{"class":550},[537,7843,7844],{"class":566},"2024-01-01",[537,7846,570],{"class":550},[537,7848,805],{"class":556},[537,7850,1698],{"class":550},[537,7852,7853,7856,7858,7860,7862,7864,7866,7869,7871],{"class":539,"line":1392},[537,7854,7855],{"class":556},"      nextReviewDate",[537,7857,560],{"class":550},[537,7859,789],{"class":550},[537,7861,655],{"class":792},[537,7863,722],{"class":556},[537,7865,570],{"class":550},[537,7867,7868],{"class":566},"2024-07-01",[537,7870,570],{"class":550},[537,7872,2530],{"class":556},[537,7874,7875,7878,7880],{"class":539,"line":1397},[537,7876,7877],{"class":550},"    }",[537,7879,805],{"class":556},[537,7881,610],{"class":550},[537,7883,7884],{"class":539,"line":1402},[537,7885,668],{"emptyLinePlaceholder":667},[537,7887,7888,7890,7892,7894],{"class":539,"line":1408},[537,7889,7580],{"class":550},[537,7891,7638],{"class":792},[537,7893,722],{"class":556},[537,7895,780],{"class":550},[537,7897,7898,7900,7902,7904,7907,7909],{"class":539,"line":1426},[537,7899,1953],{"class":556},[537,7901,560],{"class":550},[537,7903,563],{"class":550},[537,7905,7906],{"class":566},"A.12.4.1",[537,7908,570],{"class":550},[537,7910,1698],{"class":550},[537,7912,7913,7915,7917,7919,7921,7924],{"class":539,"line":1431},[537,7914,7662],{"class":556},[537,7916,560],{"class":550},[537,7918,7122],{"class":768},[537,7920,771],{"class":550},[537,7922,7923],{"class":768},"OPERATIONS_SECURITY",[537,7925,1698],{"class":550},[537,7927,7928,7930,7932,7934,7937,7939],{"class":539,"line":1437},[537,7929,3289],{"class":556},[537,7931,560],{"class":550},[537,7933,563],{"class":550},[537,7935,7936],{"class":566},"Event Logging",[537,7938,570],{"class":550},[537,7940,1698],{"class":550},[537,7942,7943,7945,7947,7949,7952,7954],{"class":539,"line":1468},[537,7944,3307],{"class":556},[537,7946,560],{"class":550},[537,7948,563],{"class":550},[537,7950,7951],{"class":566},"Audit logs recording user activities, exceptions, and information security events shall be produced and kept.",[537,7953,570],{"class":550},[537,7955,1698],{"class":550},[537,7957,7958,7960,7962,7964,7966,7968],{"class":539,"line":1473},[537,7959,7708],{"class":556},[537,7961,560],{"class":550},[537,7963,7156],{"class":768},[537,7965,771],{"class":550},[537,7967,7717],{"class":768},[537,7969,1698],{"class":550},[537,7971,7972,7974,7976],{"class":539,"line":1478},[537,7973,7724],{"class":556},[537,7975,560],{"class":550},[537,7977,3328],{"class":556},[537,7979,7980,7982,7984,7986,7988,7991,7993,7995,7997,7999,8001,8004,8006],{"class":539,"line":1508},[537,7981,6325],{"class":550},[537,7983,7735],{"class":556},[537,7985,560],{"class":550},[537,7987,563],{"class":550},[537,7989,7990],{"class":566},"configuration",[537,7992,570],{"class":550},[537,7994,1213],{"class":550},[537,7996,7749],{"class":556},[537,7998,560],{"class":550},[537,8000,563],{"class":550},[537,8002,8003],{"class":566},"/config/logging-config.json",[537,8005,570],{"class":550},[537,8007,6349],{"class":550},[537,8009,8010,8012,8014,8016,8018,8020,8022,8024,8026,8028,8030,8033,8035],{"class":539,"line":1535},[537,8011,6325],{"class":550},[537,8013,7735],{"class":556},[537,8015,560],{"class":550},[537,8017,563],{"class":550},[537,8019,7773],{"class":566},[537,8021,570],{"class":550},[537,8023,1213],{"class":550},[537,8025,7749],{"class":556},[537,8027,560],{"class":550},[537,8029,563],{"class":550},[537,8031,8032],{"class":566},"/procedures/log-management.md",[537,8034,570],{"class":550},[537,8036,6349],{"class":550},[537,8038,8039,8041,8043,8045,8047,8050,8052,8054,8056,8058,8060,8063,8065],{"class":539,"line":1558},[537,8040,6325],{"class":550},[537,8042,7735],{"class":556},[537,8044,560],{"class":550},[537,8046,563],{"class":550},[537,8048,8049],{"class":566},"sample_logs",[537,8051,570],{"class":550},[537,8053,1213],{"class":550},[537,8055,7749],{"class":556},[537,8057,560],{"class":550},[537,8059,563],{"class":550},[537,8061,8062],{"class":566},"/logs/sample-security-logs.json",[537,8064,570],{"class":550},[537,8066,6425],{"class":550},[537,8068,8069,8071],{"class":539,"line":1563},[537,8070,3534],{"class":556},[537,8072,1698],{"class":550},[537,8074,8075,8077,8079,8081,8083,8085,8087,8089,8091,8093],{"class":539,"line":1569},[537,8076,7831],{"class":556},[537,8078,560],{"class":550},[537,8080,789],{"class":550},[537,8082,655],{"class":792},[537,8084,722],{"class":556},[537,8086,570],{"class":550},[537,8088,7844],{"class":566},[537,8090,570],{"class":550},[537,8092,805],{"class":556},[537,8094,1698],{"class":550},[537,8096,8097,8099,8101,8103,8105,8107,8109,8111,8113],{"class":539,"line":1591},[537,8098,7855],{"class":556},[537,8100,560],{"class":550},[537,8102,789],{"class":550},[537,8104,655],{"class":792},[537,8106,722],{"class":556},[537,8108,570],{"class":550},[537,8110,7868],{"class":566},[537,8112,570],{"class":550},[537,8114,2530],{"class":556},[537,8116,8117,8119,8121],{"class":539,"line":1596},[537,8118,7877],{"class":550},[537,8120,805],{"class":556},[537,8122,610],{"class":550},[537,8124,8125],{"class":539,"line":1602},[537,8126,668],{"emptyLinePlaceholder":667},[537,8128,8129],{"class":539,"line":1632},[537,8130,8131],{"class":752},"    // Add more controls...\n",[537,8133,8134],{"class":539,"line":1637},[537,8135,1091],{"class":550},[537,8137,8138],{"class":539,"line":1642},[537,8139,668],{"emptyLinePlaceholder":667},[537,8141,8142,8144,8147,8149,8151,8153,8156,8158],{"class":539,"line":1665},[537,8143,716],{"class":542},[537,8145,8146],{"class":556}," performRiskAssessment",[537,8148,3273],{"class":550},[537,8150,736],{"class":546},[537,8152,739],{"class":550},[537,8154,8155],{"class":546},"RiskAssessment",[537,8157,745],{"class":550},[537,8159,551],{"class":550},[537,8161,8162,8164,8167,8169,8171,8173,8176,8178],{"class":539,"line":1673},[537,8163,1133],{"class":542},[537,8165,8166],{"class":768}," risks",[537,8168,1139],{"class":550},[537,8170,1142],{"class":758},[537,8172,833],{"class":550},[537,8174,8175],{"class":792},"identifyRisks",[537,8177,1973],{"class":556},[537,8179,610],{"class":550},[537,8181,8182,8184,8187,8189,8191,8193,8196,8198,8201,8203],{"class":539,"line":1683},[537,8183,1133],{"class":542},[537,8185,8186],{"class":768}," analyzedRisks",[537,8188,1139],{"class":550},[537,8190,1142],{"class":758},[537,8192,833],{"class":550},[537,8194,8195],{"class":792},"analyzeRisks",[537,8197,722],{"class":556},[537,8199,8200],{"class":768},"risks",[537,8202,805],{"class":556},[537,8204,610],{"class":550},[537,8206,8207,8209,8212,8214,8216,8218,8221,8223,8226,8228],{"class":539,"line":1701},[537,8208,1133],{"class":542},[537,8210,8211],{"class":768}," treatmentPlan",[537,8213,1139],{"class":550},[537,8215,1142],{"class":758},[537,8217,833],{"class":550},[537,8219,8220],{"class":792},"createRiskTreatmentPlan",[537,8222,722],{"class":556},[537,8224,8225],{"class":768},"analyzedRisks",[537,8227,805],{"class":556},[537,8229,610],{"class":550},[537,8231,8232],{"class":539,"line":1718},[537,8233,668],{"emptyLinePlaceholder":667},[537,8235,8236,8238],{"class":539,"line":1735},[537,8237,1668],{"class":758},[537,8239,551],{"class":550},[537,8241,8242,8245,8247,8249,8251,8253],{"class":539,"line":1750},[537,8243,8244],{"class":556},"      assessmentDate",[537,8246,560],{"class":550},[537,8248,789],{"class":550},[537,8250,655],{"class":792},[537,8252,1973],{"class":556},[537,8254,1698],{"class":550},[537,8256,8257,8260,8262,8264,8267,8269],{"class":539,"line":1756},[537,8258,8259],{"class":556},"      assessor",[537,8261,560],{"class":550},[537,8263,563],{"class":550},[537,8265,8266],{"class":566},"Security Team",[537,8268,570],{"class":550},[537,8270,1698],{"class":550},[537,8272,8273,8276,8278,8280],{"class":539,"line":1766},[537,8274,8275],{"class":556},"      risks",[537,8277,560],{"class":550},[537,8279,8186],{"class":768},[537,8281,1698],{"class":550},[537,8283,8284,8287],{"class":539,"line":1783},[537,8285,8286],{"class":768},"      treatmentPlan",[537,8288,1698],{"class":550},[537,8290,8291,8294,8296,8298,8301,8303,8305,8307,8309],{"class":539,"line":1800},[537,8292,8293],{"class":556},"      residualRisk",[537,8295,560],{"class":550},[537,8297,833],{"class":550},[537,8299,8300],{"class":792},"calculateResidualRisk",[537,8302,722],{"class":556},[537,8304,8225],{"class":768},[537,8306,1213],{"class":550},[537,8308,8211],{"class":768},[537,8310,2530],{"class":556},[537,8312,8313],{"class":539,"line":1815},[537,8314,1889],{"class":550},[537,8316,8317],{"class":539,"line":1820},[537,8318,1091],{"class":550},[537,8320,8321],{"class":539,"line":1830},[537,8322,668],{"emptyLinePlaceholder":667},[537,8324,8325,8327,8329,8332,8334,8336,8338,8341,8343,8345],{"class":539,"line":1847},[537,8326,683],{"class":542},[537,8328,1104],{"class":542},[537,8330,8331],{"class":556}," identifyRisks",[537,8333,3273],{"class":550},[537,8335,736],{"class":546},[537,8337,739],{"class":550},[537,8339,8340],{"class":546},"Risk",[537,8342,5144],{"class":768},[537,8344,745],{"class":550},[537,8346,551],{"class":550},[537,8348,8349,8351],{"class":539,"line":1864},[537,8350,1668],{"class":758},[537,8352,3328],{"class":556},[537,8354,8355],{"class":539,"line":1880},[537,8356,8357],{"class":550},"      {\n",[537,8359,8360,8363,8365,8367,8370,8372],{"class":539,"line":1886},[537,8361,8362],{"class":556},"        id",[537,8364,560],{"class":550},[537,8366,563],{"class":550},[537,8368,8369],{"class":566},"R001",[537,8371,570],{"class":550},[537,8373,1698],{"class":550},[537,8375,8376,8379,8381,8383,8386,8388],{"class":539,"line":1892},[537,8377,8378],{"class":556},"        category",[537,8380,560],{"class":550},[537,8382,563],{"class":550},[537,8384,8385],{"class":566},"Security",[537,8387,570],{"class":550},[537,8389,1698],{"class":550},[537,8391,8392,8395,8397,8399,8402,8404],{"class":539,"line":1897},[537,8393,8394],{"class":556},"        description",[537,8396,560],{"class":550},[537,8398,563],{"class":550},[537,8400,8401],{"class":566},"Unauthorized access to sensitive data",[537,8403,570],{"class":550},[537,8405,1698],{"class":550},[537,8407,8408,8411,8413,8415,8418,8420],{"class":539,"line":1902},[537,8409,8410],{"class":556},"        likelihood",[537,8412,560],{"class":550},[537,8414,563],{"class":550},[537,8416,8417],{"class":566},"Medium",[537,8419,570],{"class":550},[537,8421,1698],{"class":550},[537,8423,8424,8427,8429,8431,8434,8436],{"class":539,"line":1932},[537,8425,8426],{"class":556},"        impact",[537,8428,560],{"class":550},[537,8430,563],{"class":550},[537,8432,8433],{"class":566},"High",[537,8435,570],{"class":550},[537,8437,1698],{"class":550},[537,8439,8440,8443,8445,8447,8449,8451,8453,8455,8457,8460,8462,8464,8466,8469,8471,8473],{"class":539,"line":1938},[537,8441,8442],{"class":556},"        existingControls",[537,8444,560],{"class":550},[537,8446,5625],{"class":556},[537,8448,570],{"class":550},[537,8450,7653],{"class":566},[537,8452,570],{"class":550},[537,8454,1213],{"class":550},[537,8456,563],{"class":550},[537,8458,8459],{"class":566},"A.9.4.1",[537,8461,570],{"class":550},[537,8463,1213],{"class":550},[537,8465,563],{"class":550},[537,8467,8468],{"class":566},"A.10.1.1",[537,8470,570],{"class":550},[537,8472,5706],{"class":556},[537,8474,1698],{"class":550},[537,8476,8477,8480,8482],{"class":539,"line":1950},[537,8478,8479],{"class":556},"        riskScore",[537,8481,560],{"class":550},[537,8483,8484],{"class":7027}," 15\n",[537,8486,8487],{"class":539,"line":1981},[537,8488,1753],{"class":550},[537,8490,8491],{"class":539,"line":2012},[537,8492,8357],{"class":550},[537,8494,8495,8497,8499,8501,8504,8506],{"class":539,"line":2029},[537,8496,8362],{"class":556},[537,8498,560],{"class":550},[537,8500,563],{"class":550},[537,8502,8503],{"class":566},"R002",[537,8505,570],{"class":550},[537,8507,1698],{"class":550},[537,8509,8510,8512,8514,8516,8519,8521],{"class":539,"line":2035},[537,8511,8378],{"class":556},[537,8513,560],{"class":550},[537,8515,563],{"class":550},[537,8517,8518],{"class":566},"Availability",[537,8520,570],{"class":550},[537,8522,1698],{"class":550},[537,8524,8525,8527,8529,8531,8534,8536],{"class":539,"line":2040},[537,8526,8394],{"class":556},[537,8528,560],{"class":550},[537,8530,563],{"class":550},[537,8532,8533],{"class":566},"Service disruption due to system failure",[537,8535,570],{"class":550},[537,8537,1698],{"class":550},[537,8539,8540,8542,8544,8546,8549,8551],{"class":539,"line":2045},[537,8541,8410],{"class":556},[537,8543,560],{"class":550},[537,8545,563],{"class":550},[537,8547,8548],{"class":566},"Low",[537,8550,570],{"class":550},[537,8552,1698],{"class":550},[537,8554,8555,8557,8559,8561,8563,8565],{"class":539,"line":2071},[537,8556,8426],{"class":556},[537,8558,560],{"class":550},[537,8560,563],{"class":550},[537,8562,8433],{"class":566},[537,8564,570],{"class":550},[537,8566,1698],{"class":550},[537,8568,8569,8571,8573,8575,8577,8580,8582,8584,8586,8589,8591,8593],{"class":539,"line":2076},[537,8570,8442],{"class":556},[537,8572,560],{"class":550},[537,8574,5625],{"class":556},[537,8576,570],{"class":550},[537,8578,8579],{"class":566},"A.12.6.1",[537,8581,570],{"class":550},[537,8583,1213],{"class":550},[537,8585,563],{"class":550},[537,8587,8588],{"class":566},"A.17.2.1",[537,8590,570],{"class":550},[537,8592,5706],{"class":556},[537,8594,1698],{"class":550},[537,8596,8597,8599,8601],{"class":539,"line":3403},[537,8598,8479],{"class":556},[537,8600,560],{"class":550},[537,8602,8603],{"class":7027}," 12\n",[537,8605,8606],{"class":539,"line":3418},[537,8607,1753],{"class":550},[537,8609,8610],{"class":539,"line":3429},[537,8611,8357],{"class":550},[537,8613,8614,8616,8618,8620,8623,8625],{"class":539,"line":3445},[537,8615,8362],{"class":556},[537,8617,560],{"class":550},[537,8619,563],{"class":550},[537,8621,8622],{"class":566},"R003",[537,8624,570],{"class":550},[537,8626,1698],{"class":550},[537,8628,8629,8631,8633,8635,8638,8640],{"class":539,"line":3459},[537,8630,8378],{"class":556},[537,8632,560],{"class":550},[537,8634,563],{"class":550},[537,8636,8637],{"class":566},"Compliance",[537,8639,570],{"class":550},[537,8641,1698],{"class":550},[537,8643,8644,8646,8648,8650,8653,8655],{"class":539,"line":3464},[537,8645,8394],{"class":556},[537,8647,560],{"class":550},[537,8649,563],{"class":550},[537,8651,8652],{"class":566},"Non-compliance with data protection regulations",[537,8654,570],{"class":550},[537,8656,1698],{"class":550},[537,8658,8659,8661,8663,8665,8667,8669],{"class":539,"line":3469},[537,8660,8410],{"class":556},[537,8662,560],{"class":550},[537,8664,563],{"class":550},[537,8666,8417],{"class":566},[537,8668,570],{"class":550},[537,8670,1698],{"class":550},[537,8672,8673,8675,8677,8679,8681,8683],{"class":539,"line":3484},[537,8674,8426],{"class":556},[537,8676,560],{"class":550},[537,8678,563],{"class":550},[537,8680,8433],{"class":566},[537,8682,570],{"class":550},[537,8684,1698],{"class":550},[537,8686,8687,8689,8691,8693,8695,8698,8700,8702,8704,8707,8709,8711],{"class":539,"line":3495},[537,8688,8442],{"class":556},[537,8690,560],{"class":550},[537,8692,5625],{"class":556},[537,8694,570],{"class":550},[537,8696,8697],{"class":566},"A.18.1.1",[537,8699,570],{"class":550},[537,8701,1213],{"class":550},[537,8703,563],{"class":550},[537,8705,8706],{"class":566},"A.18.1.2",[537,8708,570],{"class":550},[537,8710,5706],{"class":556},[537,8712,1698],{"class":550},[537,8714,8715,8717,8719],{"class":539,"line":3511},[537,8716,8479],{"class":556},[537,8718,560],{"class":550},[537,8720,8484],{"class":7027},[537,8722,8723],{"class":539,"line":3525},[537,8724,1883],{"class":550},[537,8726,8727,8730],{"class":539,"line":3531},[537,8728,8729],{"class":556},"    ]",[537,8731,610],{"class":550},[537,8733,8734],{"class":539,"line":3539},[537,8735,1091],{"class":550},[537,8737,8738],{"class":539,"line":3554},[537,8739,668],{"emptyLinePlaceholder":667},[537,8741,8742,8744,8746,8749,8751,8753,8755,8758,8760,8762,8764,8766,8769,8771,8773],{"class":539,"line":3569},[537,8743,683],{"class":542},[537,8745,1104],{"class":542},[537,8747,8748],{"class":556}," analyzeRisks",[537,8750,722],{"class":550},[537,8752,8200],{"class":725},[537,8754,560],{"class":550},[537,8756,8757],{"class":546}," Risk",[537,8759,5144],{"class":768},[537,8761,733],{"class":550},[537,8763,736],{"class":546},[537,8765,739],{"class":550},[537,8767,8768],{"class":546},"AnalyzedRisk",[537,8770,5144],{"class":768},[537,8772,745],{"class":550},[537,8774,551],{"class":550},[537,8776,8777,8779,8781,8783,8786,8788,8791,8794,8796],{"class":539,"line":3574},[537,8778,1668],{"class":758},[537,8780,8166],{"class":768},[537,8782,771],{"class":550},[537,8784,8785],{"class":792},"map",[537,8787,722],{"class":556},[537,8789,8790],{"class":725},"risk",[537,8792,8793],{"class":542}," =>",[537,8795,762],{"class":556},[537,8797,780],{"class":550},[537,8799,8800,8803,8805],{"class":539,"line":3579},[537,8801,8802],{"class":550},"      ...",[537,8804,8790],{"class":768},[537,8806,1698],{"class":550},[537,8808,8809,8812,8814],{"class":539,"line":6709},[537,8810,8811],{"class":556},"      analysis",[537,8813,560],{"class":550},[537,8815,551],{"class":550},[537,8817,8818,8821,8823,8825,8828,8830,8832,8834,8837,8839,8842,8844,8847,8849],{"class":539,"line":6714},[537,8819,8820],{"class":556},"        currentRiskLevel",[537,8822,560],{"class":550},[537,8824,833],{"class":550},[537,8826,8827],{"class":792},"calculateRiskLevel",[537,8829,722],{"class":556},[537,8831,8790],{"class":768},[537,8833,771],{"class":550},[537,8835,8836],{"class":768},"likelihood",[537,8838,1213],{"class":550},[537,8840,8841],{"class":768}," risk",[537,8843,771],{"class":550},[537,8845,8846],{"class":768},"impact",[537,8848,805],{"class":556},[537,8850,1698],{"class":550},[537,8852,8853,8856,8858,8860,8863,8865,8867,8869,8872,8874],{"class":539,"line":6719},[537,8854,8855],{"class":556},"        controlEffectiveness",[537,8857,560],{"class":550},[537,8859,833],{"class":550},[537,8861,8862],{"class":792},"evaluateControlEffectiveness",[537,8864,722],{"class":556},[537,8866,8790],{"class":768},[537,8868,771],{"class":550},[537,8870,8871],{"class":768},"existingControls",[537,8873,805],{"class":556},[537,8875,1698],{"class":550},[537,8877,8878,8881,8883,8885,8888,8890,8892],{"class":539,"line":6751},[537,8879,8880],{"class":556},"        recommendedActions",[537,8882,560],{"class":550},[537,8884,833],{"class":550},[537,8886,8887],{"class":792},"getRecommendedActions",[537,8889,722],{"class":556},[537,8891,8790],{"class":768},[537,8893,2530],{"class":556},[537,8895,8896],{"class":539,"line":6768},[537,8897,1883],{"class":550},[537,8899,8900,8902,8905],{"class":539,"line":6773},[537,8901,7877],{"class":550},[537,8903,8904],{"class":556},"))",[537,8906,610],{"class":550},[537,8908,8909],{"class":539,"line":6796},[537,8910,1091],{"class":550},[537,8912,8913],{"class":539,"line":6816},[537,8914,668],{"emptyLinePlaceholder":667},[537,8916,8917,8919,8922,8924,8926,8928,8931,8933],{"class":539,"line":6835},[537,8918,716],{"class":542},[537,8920,8921],{"class":556}," conductInternalAudit",[537,8923,3273],{"class":550},[537,8925,736],{"class":546},[537,8927,739],{"class":550},[537,8929,8930],{"class":546},"AuditReport",[537,8932,745],{"class":550},[537,8934,551],{"class":550},[537,8936,8937,8939,8942,8944,8946,8949,8951],{"class":539,"line":6876},[537,8938,1133],{"class":542},[537,8940,8941],{"class":768}," auditScope",[537,8943,1139],{"class":550},[537,8945,833],{"class":550},[537,8947,8948],{"class":792},"defineAuditScope",[537,8950,1973],{"class":556},[537,8952,610],{"class":550},[537,8954,8955,8957,8960,8962,8964,8966,8969,8971,8974,8976],{"class":539,"line":6887},[537,8956,1133],{"class":542},[537,8958,8959],{"class":768}," auditFindings",[537,8961,1139],{"class":550},[537,8963,1142],{"class":758},[537,8965,833],{"class":550},[537,8967,8968],{"class":792},"performAuditTesting",[537,8970,722],{"class":556},[537,8972,8973],{"class":768},"auditScope",[537,8975,805],{"class":556},[537,8977,610],{"class":550},[537,8979,8980,8982,8985,8987,8989,8992,8994,8997,8999],{"class":539,"line":6919},[537,8981,1133],{"class":542},[537,8983,8984],{"class":768}," nonConformities",[537,8986,1139],{"class":550},[537,8988,833],{"class":550},[537,8990,8991],{"class":792},"identifyNonConformities",[537,8993,722],{"class":556},[537,8995,8996],{"class":768},"auditFindings",[537,8998,805],{"class":556},[537,9000,610],{"class":550},[537,9002,9003,9005,9008,9010,9012,9015,9017,9020,9022],{"class":539,"line":6924},[537,9004,1133],{"class":542},[537,9006,9007],{"class":768}," correctiveActions",[537,9009,1139],{"class":550},[537,9011,833],{"class":550},[537,9013,9014],{"class":792},"planCorrectiveActions",[537,9016,722],{"class":556},[537,9018,9019],{"class":768},"nonConformities",[537,9021,805],{"class":556},[537,9023,610],{"class":550},[537,9025,9026],{"class":539,"line":6929},[537,9027,668],{"emptyLinePlaceholder":667},[537,9029,9030,9032],{"class":539,"line":6934},[537,9031,1668],{"class":758},[537,9033,551],{"class":550},[537,9035,9036,9039,9041,9043,9045,9047],{"class":539,"line":6939},[537,9037,9038],{"class":556},"      auditDate",[537,9040,560],{"class":550},[537,9042,789],{"class":550},[537,9044,655],{"class":792},[537,9046,1973],{"class":556},[537,9048,1698],{"class":550},[537,9050,9051,9054,9056,9058,9061,9063],{"class":539,"line":6948},[537,9052,9053],{"class":556},"      auditor",[537,9055,560],{"class":550},[537,9057,563],{"class":550},[537,9059,9060],{"class":566},"Internal Audit Team",[537,9062,570],{"class":550},[537,9064,1698],{"class":550},[537,9066,9067,9070,9072,9074],{"class":539,"line":6953},[537,9068,9069],{"class":556},"      scope",[537,9071,560],{"class":550},[537,9073,8941],{"class":768},[537,9075,1698],{"class":550},[537,9077,9078,9081,9083,9085],{"class":539,"line":6958},[537,9079,9080],{"class":556},"      findings",[537,9082,560],{"class":550},[537,9084,8959],{"class":768},[537,9086,1698],{"class":550},[537,9088,9089,9092],{"class":539,"line":6981},[537,9090,9091],{"class":768},"      nonConformities",[537,9093,1698],{"class":550},[537,9095,9096,9099],{"class":539,"line":6987},[537,9097,9098],{"class":768},"      correctiveActions",[537,9100,1698],{"class":550},[537,9102,9103,9106,9108,9110,9113,9115,9117,9119],{"class":539,"line":7013},[537,9104,9105],{"class":556},"      overallConformance",[537,9107,560],{"class":550},[537,9109,833],{"class":550},[537,9111,9112],{"class":792},"calculateOverallConformance",[537,9114,722],{"class":556},[537,9116,9019],{"class":768},[537,9118,805],{"class":556},[537,9120,1698],{"class":550},[537,9122,9123,9126,9128,9130,9133,9135,9137],{"class":539,"line":7050},[537,9124,9125],{"class":556},"      recommendations",[537,9127,560],{"class":550},[537,9129,833],{"class":550},[537,9131,9132],{"class":792},"generateRecommendations",[537,9134,722],{"class":556},[537,9136,9019],{"class":768},[537,9138,2530],{"class":556},[537,9140,9141],{"class":539,"line":7055},[537,9142,1889],{"class":550},[537,9144,9145],{"class":539,"line":7069},[537,9146,1091],{"class":550},[537,9148,9149],{"class":539,"line":7074},[537,9150,668],{"emptyLinePlaceholder":667},[537,9152,9154,9156,9159,9161,9164],{"class":539,"line":9153},155,[537,9155,683],{"class":542},[537,9157,9158],{"class":556}," defineAuditScope",[537,9160,3273],{"class":550},[537,9162,9163],{"class":546}," AuditScope",[537,9165,551],{"class":550},[537,9167,9169,9171],{"class":539,"line":9168},156,[537,9170,1668],{"class":758},[537,9172,551],{"class":550},[537,9174,9176,9179,9181],{"class":539,"line":9175},157,[537,9177,9178],{"class":556},"      period",[537,9180,560],{"class":550},[537,9182,551],{"class":550},[537,9184,9186,9189,9191,9193,9195,9197,9199,9201,9203,9205],{"class":539,"line":9185},158,[537,9187,9188],{"class":556},"        start",[537,9190,560],{"class":550},[537,9192,789],{"class":550},[537,9194,655],{"class":792},[537,9196,722],{"class":556},[537,9198,570],{"class":550},[537,9200,7844],{"class":566},[537,9202,570],{"class":550},[537,9204,805],{"class":556},[537,9206,1698],{"class":550},[537,9208,9210,9213,9215,9217,9219,9221,9223,9226,9228],{"class":539,"line":9209},159,[537,9211,9212],{"class":556},"        end",[537,9214,560],{"class":550},[537,9216,789],{"class":550},[537,9218,655],{"class":792},[537,9220,722],{"class":556},[537,9222,570],{"class":550},[537,9224,9225],{"class":566},"2024-06-30",[537,9227,570],{"class":550},[537,9229,2530],{"class":556},[537,9231,9233],{"class":539,"line":9232},160,[537,9234,1753],{"class":550},[537,9236,9238,9241,9243,9245,9247,9250,9252,9254,9256,9258,9260,9262,9264,9267,9269,9271],{"class":539,"line":9237},161,[537,9239,9240],{"class":556},"      departments",[537,9242,560],{"class":550},[537,9244,5625],{"class":556},[537,9246,570],{"class":550},[537,9248,9249],{"class":566},"IT",[537,9251,570],{"class":550},[537,9253,1213],{"class":550},[537,9255,563],{"class":550},[537,9257,8385],{"class":566},[537,9259,570],{"class":550},[537,9261,1213],{"class":550},[537,9263,563],{"class":550},[537,9265,9266],{"class":566},"Operations",[537,9268,570],{"class":550},[537,9270,5706],{"class":556},[537,9272,1698],{"class":550},[537,9274,9276,9279,9281,9284,9286,9289,9291,9293,9295,9297,9300,9303],{"class":539,"line":9275},162,[537,9277,9278],{"class":556},"      controls",[537,9280,560],{"class":550},[537,9282,9283],{"class":768}," Array",[537,9285,771],{"class":550},[537,9287,9288],{"class":792},"from",[537,9290,722],{"class":556},[537,9292,1967],{"class":550},[537,9294,7583],{"class":768},[537,9296,771],{"class":550},[537,9298,9299],{"class":792},"keys",[537,9301,9302],{"class":556},"())",[537,9304,1698],{"class":550},[537,9306,9308,9311,9313,9315,9317,9320,9322,9324,9326,9329,9331,9333,9335,9338,9340],{"class":539,"line":9307},163,[537,9309,9310],{"class":556},"      processes",[537,9312,560],{"class":550},[537,9314,5625],{"class":556},[537,9316,570],{"class":550},[537,9318,9319],{"class":566},"Access Management",[537,9321,570],{"class":550},[537,9323,1213],{"class":550},[537,9325,563],{"class":550},[537,9327,9328],{"class":566},"Incident Response",[537,9330,570],{"class":550},[537,9332,1213],{"class":550},[537,9334,563],{"class":550},[537,9336,9337],{"class":566},"Change Management",[537,9339,570],{"class":550},[537,9341,9342],{"class":556},"]\n",[537,9344,9346],{"class":539,"line":9345},164,[537,9347,1889],{"class":550},[537,9349,9351],{"class":539,"line":9350},165,[537,9352,1091],{"class":550},[537,9354,9356],{"class":539,"line":9355},166,[537,9357,668],{"emptyLinePlaceholder":667},[537,9359,9361,9363,9366,9368,9370,9372,9375,9377],{"class":539,"line":9360},167,[537,9362,716],{"class":542},[537,9364,9365],{"class":556}," generateComplianceReport",[537,9367,3273],{"class":550},[537,9369,736],{"class":546},[537,9371,739],{"class":550},[537,9373,9374],{"class":546},"ComplianceReport",[537,9376,745],{"class":550},[537,9378,551],{"class":550},[537,9380,9382,9384,9387,9389,9391,9394,9396],{"class":539,"line":9381},168,[537,9383,1133],{"class":542},[537,9385,9386],{"class":768}," controlStatus",[537,9388,1139],{"class":550},[537,9390,833],{"class":550},[537,9392,9393],{"class":792},"evaluateAllControls",[537,9395,1973],{"class":556},[537,9397,610],{"class":550},[537,9399,9401,9403,9406,9408,9410,9413,9415],{"class":539,"line":9400},169,[537,9402,1133],{"class":542},[537,9404,9405],{"class":768}," gapAnalysis",[537,9407,1139],{"class":550},[537,9409,833],{"class":550},[537,9411,9412],{"class":792},"performGapAnalysis",[537,9414,1973],{"class":556},[537,9416,610],{"class":550},[537,9418,9420,9422,9425,9427,9429,9432,9434],{"class":539,"line":9419},170,[537,9421,1133],{"class":542},[537,9423,9424],{"class":768}," maturityAssessment",[537,9426,1139],{"class":550},[537,9428,833],{"class":550},[537,9430,9431],{"class":792},"assessMaturity",[537,9433,1973],{"class":556},[537,9435,610],{"class":550},[537,9437,9439],{"class":539,"line":9438},171,[537,9440,668],{"emptyLinePlaceholder":667},[537,9442,9444,9446],{"class":539,"line":9443},172,[537,9445,1668],{"class":758},[537,9447,551],{"class":550},[537,9449,9451,9454,9456,9458,9460,9462],{"class":539,"line":9450},173,[537,9452,9453],{"class":556},"      reportDate",[537,9455,560],{"class":550},[537,9457,789],{"class":550},[537,9459,655],{"class":792},[537,9461,1973],{"class":556},[537,9463,1698],{"class":550},[537,9465,9467,9470,9472,9474,9477,9479],{"class":539,"line":9466},174,[537,9468,9469],{"class":556},"      standard",[537,9471,560],{"class":550},[537,9473,563],{"class":550},[537,9475,9476],{"class":566},"ISO 27001:2022",[537,9478,570],{"class":550},[537,9480,1698],{"class":550},[537,9482,9484,9486,9488,9490,9493,9495],{"class":539,"line":9483},175,[537,9485,2515],{"class":556},[537,9487,560],{"class":550},[537,9489,563],{"class":550},[537,9491,9492],{"class":566},"2.0",[537,9494,570],{"class":550},[537,9496,1698],{"class":550},[537,9498,9500,9503,9505,9507,9510,9512,9515,9517],{"class":539,"line":9499},176,[537,9501,9502],{"class":556},"      overallCompliance",[537,9504,560],{"class":550},[537,9506,833],{"class":550},[537,9508,9509],{"class":792},"calculateOverallCompliance",[537,9511,722],{"class":556},[537,9513,9514],{"class":768},"controlStatus",[537,9516,805],{"class":556},[537,9518,1698],{"class":550},[537,9520,9522,9525],{"class":539,"line":9521},177,[537,9523,9524],{"class":768},"      controlStatus",[537,9526,1698],{"class":550},[537,9528,9530,9533],{"class":539,"line":9529},178,[537,9531,9532],{"class":768},"      gapAnalysis",[537,9534,1698],{"class":550},[537,9536,9538,9541],{"class":539,"line":9537},179,[537,9539,9540],{"class":768},"      maturityAssessment",[537,9542,1698],{"class":550},[537,9544,9546,9548,9550,9552,9555,9557,9560],{"class":539,"line":9545},180,[537,9547,9125],{"class":556},[537,9549,560],{"class":550},[537,9551,833],{"class":550},[537,9553,9554],{"class":792},"generateImprovementRecommendations",[537,9556,722],{"class":556},[537,9558,9559],{"class":768},"gapAnalysis",[537,9561,2530],{"class":556},[537,9563,9565],{"class":539,"line":9564},181,[537,9566,1889],{"class":550},[537,9568,9570],{"class":539,"line":9569},182,[537,9571,1091],{"class":550},[537,9573,9575],{"class":539,"line":9574},183,[537,9576,662],{"class":550},[517,9578,9580],{"id":9579},"soc-2-type-ii-compliance","SOC 2 Type II Compliance",[522,9582,9584],{"id":9583},"trust-services-criteria-implementation","Trust Services Criteria Implementation",[527,9586,9588],{"className":529,"code":9587,"language":531,"meta":532,"style":532},"interface SOC2Control {\n  id: string;\n  principle: SOC2Principle;\n  criteria: string;\n  description: string;\n  implementation: ControlImplementation;\n  testingResults: TestingResult[];\n  evidence: Evidence[];\n}\n\nenum SOC2Principle {\n  SECURITY = 'Security',\n  AVAILABILITY = 'Availability',\n  PROCESSING_INTEGRITY = 'Processing Integrity',\n  CONFIDENTIALITY = 'Confidentiality',\n  PRIVACY = 'Privacy'\n}\n\nclass SOC2ComplianceManager {\n  private controls: Map\u003Cstring, SOC2Control>;\n  private monitoringService: MonitoringService;\n\n  constructor() {\n    this.controls = new Map();\n    this.initializeControls();\n  }\n\n  private initializeControls(): void {\n    // Security Principle Controls\n    this.addControl({\n      id: 'CC2.1',\n      principle: SOC2Principle.SECURITY,\n      criteria: 'Logical and Physical Access Controls',\n      description: 'The entity implements logical access security software, infrastructure, and architectures to protect information assets.',\n      implementation: {\n        status: 'Implemented',\n        description: 'Multi-factor authentication, role-based access control, and network segmentation implemented.',\n        owner: 'Security Team',\n        implementationDate: new Date('2023-06-01')\n      },\n      testingResults: [\n        {\n          testDate: new Date('2024-01-15'),\n          testType: 'Penetration Testing',\n          result: 'Pass',\n          details: 'No critical vulnerabilities found'\n        }\n      ],\n      evidence: [\n        { type: 'policy', location: '/security/access-control-policy.pdf' },\n        { type: 'configuration', location: '/config/access-control.json' },\n        { type: 'test_report', location: '/reports/pen-test-2024-01.pdf' }\n      ]\n    });\n\n    // Availability Principle Controls\n    this.addControl({\n      id: 'CC3.1',\n      principle: SOC2Principle.AVAILABILITY,\n      criteria: 'Availability Monitoring and Incident Response',\n      description: 'The entity monitors system components and the operation of those components for availability.',\n      implementation: {\n        status: 'Implemented',\n        description: '24/7 monitoring, automated alerting, and incident response procedures in place.',\n        owner: 'Operations Team',\n        implementationDate: new Date('2023-08-01')\n      },\n      testingResults: [\n        {\n          testDate: new Date('2024-02-01'),\n          testType: 'Disaster Recovery Test',\n          result: 'Pass',\n          details: 'RTO of 2 hours and RPO of 15 minutes achieved'\n        }\n      ],\n      evidence: [\n        { type: 'monitoring_dashboard', location: '/monitoring/availability-dashboard.png' },\n        { type: 'incident_procedure', location: '/procedures/incident-response.md' },\n        { type: 'dr_test_report', location: '/reports/dr-test-2024-02.pdf' }\n      ]\n    });\n  }\n\n  async performContinuousMonitoring(): Promise\u003CMonitoringReport> {\n    const monitoringData = await this.collectMonitoringData();\n    const complianceStatus = this.evaluateComplianceStatus(monitoringData);\n    const anomalies = this.detectAnomalies(monitoringData);\n    const recommendations = this.generateRecommendations(anomalies);\n\n    return {\n      reportDate: new Date(),\n      monitoringPeriod: {\n        start: new Date(Date.now() - 24 * 60 * 60 * 1000), // Last 24 hours\n        end: new Date()\n      },\n      overallStatus: complianceStatus.overall,\n      controlStatuses: complianceStatus.controls,\n      anomalies,\n      recommendations,\n      evidence: this.collectMonitoringEvidence(monitoringData)\n    };\n  }\n\n  private async collectMonitoringData(): Promise\u003CMonitoringData> {\n    return {\n      accessEvents: await this.monitoringService.getAccessEvents(),\n      systemMetrics: await this.monitoringService.getSystemMetrics(),\n      securityEvents: await this.monitoringService.getSecurityEvents(),\n      availabilityMetrics: await this.monitoringService.getAvailabilityMetrics(),\n      changeEvents: await this.monitoringService.getChangeEvents()\n    };\n  }\n\n  private evaluateComplianceStatus(data: MonitoringData): ComplianceStatus {\n    const controlStatuses = new Map\u003Cstring, ControlStatus>();\n\n    // Evaluate Security controls\n    controlStatuses.set('CC2.1', this.evaluateAccessControl(data.accessEvents));\n    controlStatuses.set('CC2.2', this.evaluateNetworkSecurity(data.securityEvents));\n    \n    // Evaluate Availability controls\n    controlStatuses.set('CC3.1', this.evaluateAvailability(data.availabilityMetrics));\n    controlStatuses.set('CC3.2', this.evaluateIncidentResponse(data.securityEvents));\n\n    // Evaluate Processing Integrity controls\n    controlStatuses.set('CC4.1', this.evaluateDataProcessing(data.systemMetrics));\n    controlStatuses.set('CC4.2', this.evaluateChangeManagement(data.changeEvents));\n\n    const overallStatus = this.calculateOverallStatus(Array.from(controlStatuses.values()));\n\n    return {\n      overall: overallStatus,\n      controls: Object.fromEntries(controlStatuses)\n    };\n  }\n\n  private evaluateAccessControl(accessEvents: AccessEvent[]): ControlStatus {\n    const violations = accessEvents.filter(event => event.type === 'access_violation');\n    const totalEvents = accessEvents.length;\n    const violationRate = violations.length / totalEvents;\n\n    return {\n      status: violationRate \u003C 0.001 ? 'Compliant' : 'Non-Compliant',\n      score: Math.max(0, 100 - (violationRate * 10000)),\n      details: {\n        totalAccessEvents: totalEvents,\n        violations: violations.length,\n        violationRate: violationRate\n      }\n    };\n  }\n\n  private evaluateAvailability(metrics: AvailabilityMetric[]): ControlStatus {\n    const uptime = metrics.reduce((sum, metric) => sum + metric.uptime, 0) / metrics.length;\n    const downtime = metrics.reduce((sum, metric) => sum + metric.downtime, 0);\n\n    return {\n      status: uptime >= 0.999 ? 'Compliant' : 'Non-Compliant',\n      score: uptime * 100,\n      details: {\n        uptimePercentage: uptime,\n        totalDowntimeMinutes: downtime,\n        slaTarget: 0.999,\n        slaAchieved: uptime >= 0.999\n      }\n    };\n  }\n\n  async generateSOC2Report(): Promise\u003CSOC2Report> {\n    const reportPeriod = {\n      start: new Date('2024-01-01'),\n      end: new Date('2024-06-30')\n    };\n\n    const controlTesting = await this.performControlTesting(reportPeriod);\n    const systemDescription = await this.generateSystemDescription();\n    const managementAssertion = await this.generateManagementAssertion();\n    const auditorOpinion = await this.generateAuditorOpinion();\n\n    return {\n      reportType: 'SOC 2 Type II',\n      reportPeriod,\n      systemDescription,\n      managementAssertion,\n      controlTesting,\n      auditorOpinion,\n      attachments: this.generateReportAttachments()\n    };\n  }\n\n  private async performControlTesting(period: ReportPeriod): Promise\u003CControlTesting[]> {\n    return [\n      {\n        controlId: 'CC2.1',\n        controlDescription: 'Logical and Physical Access Controls',\n        testingProcedures: [\n          'Review access control policies and procedures',\n          'Test user access provisioning and deprovisioning',\n          'Verify multi-factor authentication implementation',\n          'Test privileged access management'\n        ],\n        testingResults: [\n          {\n            testDate: new Date('2024-03-15'),\n            procedure: 'User access provisioning test',\n            result: 'Pass',\n            sampleSize: 25,\n            exceptions: 0,\n            details: 'All user access requests properly authorized and implemented'\n          }\n        ],\n        overallResult: 'Pass',\n        testingPeriod: period\n      }\n    ];\n  }\n}\n",[534,9589,9590,9599,9609,9621,9632,9642,9653,9667,9679,9683,9687,9695,9710,9725,9741,9757,9771,9775,9779,9788,9808,9822,9826,9834,9850,9860,9864,9868,9880,9885,9895,9910,9926,9942,9957,9965,9981,9996,10011,10033,10037,10046,10050,10074,10090,10106,10119,10123,10129,10137,10165,10194,10224,10228,10236,10240,10245,10255,10270,10285,10300,10315,10323,10337,10352,10367,10388,10392,10400,10404,10427,10442,10456,10469,10473,10479,10487,10517,10547,10577,10581,10589,10593,10597,10617,10637,10660,10682,10704,10708,10714,10728,10737,10788,10800,10804,10820,10835,10842,10848,10865,10869,10873,10877,10899,10905,10928,10950,10972,10994,11014,11018,11022,11026,11049,11077,11081,11086,11124,11161,11165,11170,11206,11242,11246,11251,11288,11325,11329,11367,11371,11377,11388,11408,11412,11416,11420,11444,11488,11506,11528,11532,11538,11575,11616,11625,11636,11651,11661,11665,11669,11673,11677,11702,11766,11814,11818,11824,11856,11870,11878,11889,11900,11911,11925,11929,11933,11937,11941,11961,11972,11995,12016,12020,12024,12049,12069,12089,12109,12113,12119,12135,12142,12149,12157,12165,12173,12188,12193,12198,12203,12238,12245,12250,12266,12282,12292,12305,12317,12329,12339,12347,12357,12363,12388,12405,12421,12434,12446,12461,12467,12474,12490,12501,12506,12513,12518],{"__ignoreMap":532},[537,9591,9592,9594,9597],{"class":539,"line":82},[537,9593,543],{"class":542},[537,9595,9596],{"class":546}," SOC2Control",[537,9598,551],{"class":550},[537,9600,9601,9603,9605,9607],{"class":539,"line":114},[537,9602,2101],{"class":556},[537,9604,560],{"class":550},[537,9606,620],{"class":546},[537,9608,610],{"class":550},[537,9610,9611,9614,9616,9619],{"class":539,"line":146},[537,9612,9613],{"class":556},"  principle",[537,9615,560],{"class":550},[537,9617,9618],{"class":546}," SOC2Principle",[537,9620,610],{"class":550},[537,9622,9623,9626,9628,9630],{"class":539,"line":178},[537,9624,9625],{"class":556},"  criteria",[537,9627,560],{"class":550},[537,9629,620],{"class":546},[537,9631,610],{"class":550},[537,9633,9634,9636,9638,9640],{"class":539,"line":268},[537,9635,7140],{"class":556},[537,9637,560],{"class":550},[537,9639,620],{"class":546},[537,9641,610],{"class":550},[537,9643,9644,9646,9648,9651],{"class":539,"line":273},[537,9645,7151],{"class":556},[537,9647,560],{"class":550},[537,9649,9650],{"class":546}," ControlImplementation",[537,9652,610],{"class":550},[537,9654,9655,9658,9660,9663,9665],{"class":539,"line":279},[537,9656,9657],{"class":556},"  testingResults",[537,9659,560],{"class":550},[537,9661,9662],{"class":546}," TestingResult",[537,9664,5144],{"class":768},[537,9666,610],{"class":550},[537,9668,9669,9671,9673,9675,9677],{"class":539,"line":285},[537,9670,7163],{"class":556},[537,9672,560],{"class":550},[537,9674,7168],{"class":546},[537,9676,5144],{"class":768},[537,9678,610],{"class":550},[537,9680,9681],{"class":539,"line":291},[537,9682,662],{"class":550},[537,9684,9685],{"class":539,"line":222},[537,9686,668],{"emptyLinePlaceholder":667},[537,9688,9689,9691,9693],{"class":539,"line":227},[537,9690,2208],{"class":542},[537,9692,9618],{"class":546},[537,9694,551],{"class":550},[537,9696,9697,9700,9702,9704,9706,9708],{"class":539,"line":232},[537,9698,9699],{"class":768},"  SECURITY ",[537,9701,2220],{"class":550},[537,9703,563],{"class":550},[537,9705,8385],{"class":566},[537,9707,570],{"class":550},[537,9709,1698],{"class":550},[537,9711,9712,9715,9717,9719,9721,9723],{"class":539,"line":238},[537,9713,9714],{"class":768},"  AVAILABILITY ",[537,9716,2220],{"class":550},[537,9718,563],{"class":550},[537,9720,8518],{"class":566},[537,9722,570],{"class":550},[537,9724,1698],{"class":550},[537,9726,9727,9730,9732,9734,9737,9739],{"class":539,"line":243},[537,9728,9729],{"class":768},"  PROCESSING_INTEGRITY ",[537,9731,2220],{"class":550},[537,9733,563],{"class":550},[537,9735,9736],{"class":566},"Processing Integrity",[537,9738,570],{"class":550},[537,9740,1698],{"class":550},[537,9742,9743,9746,9748,9750,9753,9755],{"class":539,"line":248},[537,9744,9745],{"class":768},"  CONFIDENTIALITY ",[537,9747,2220],{"class":550},[537,9749,563],{"class":550},[537,9751,9752],{"class":566},"Confidentiality",[537,9754,570],{"class":550},[537,9756,1698],{"class":550},[537,9758,9759,9762,9764,9766,9769],{"class":539,"line":783},[537,9760,9761],{"class":768},"  PRIVACY ",[537,9763,2220],{"class":550},[537,9765,563],{"class":550},[537,9767,9768],{"class":566},"Privacy",[537,9770,1877],{"class":550},[537,9772,9773],{"class":539,"line":810},[537,9774,662],{"class":550},[537,9776,9777],{"class":539,"line":816},[537,9778,668],{"emptyLinePlaceholder":667},[537,9780,9781,9783,9786],{"class":539,"line":821},[537,9782,673],{"class":542},[537,9784,9785],{"class":546}," SOC2ComplianceManager",[537,9787,551],{"class":550},[537,9789,9790,9792,9794,9796,9798,9800,9802,9804,9806],{"class":539,"line":827},[537,9791,683],{"class":542},[537,9793,7534],{"class":556},[537,9795,560],{"class":550},[537,9797,7539],{"class":546},[537,9799,739],{"class":550},[537,9801,4893],{"class":546},[537,9803,1213],{"class":550},[537,9805,9596],{"class":546},[537,9807,7550],{"class":550},[537,9809,9810,9812,9815,9817,9820],{"class":539,"line":852},[537,9811,683],{"class":542},[537,9813,9814],{"class":556}," monitoringService",[537,9816,560],{"class":550},[537,9818,9819],{"class":546}," MonitoringService",[537,9821,610],{"class":550},[537,9823,9824],{"class":539,"line":857},[537,9825,668],{"emptyLinePlaceholder":667},[537,9827,9828,9830,9832],{"class":539,"line":876},[537,9829,7571],{"class":542},[537,9831,1973],{"class":550},[537,9833,551],{"class":550},[537,9835,9836,9838,9840,9842,9844,9846,9848],{"class":539,"line":891},[537,9837,7580],{"class":550},[537,9839,7583],{"class":768},[537,9841,1139],{"class":550},[537,9843,789],{"class":550},[537,9845,7539],{"class":792},[537,9847,1973],{"class":556},[537,9849,610],{"class":550},[537,9851,9852,9854,9856,9858],{"class":539,"line":915},[537,9853,7580],{"class":550},[537,9855,7600],{"class":792},[537,9857,1973],{"class":556},[537,9859,610],{"class":550},[537,9861,9862],{"class":539,"line":923},[537,9863,1091],{"class":550},[537,9865,9866],{"class":539,"line":936},[537,9867,668],{"emptyLinePlaceholder":667},[537,9869,9870,9872,9874,9876,9878],{"class":539,"line":954},[537,9871,683],{"class":542},[537,9873,7619],{"class":556},[537,9875,3273],{"class":550},[537,9877,7624],{"class":546},[537,9879,551],{"class":550},[537,9881,9882],{"class":539,"line":961},[537,9883,9884],{"class":752},"    // Security Principle Controls\n",[537,9886,9887,9889,9891,9893],{"class":539,"line":974},[537,9888,7580],{"class":550},[537,9890,7638],{"class":792},[537,9892,722],{"class":556},[537,9894,780],{"class":550},[537,9896,9897,9899,9901,9903,9906,9908],{"class":539,"line":996},[537,9898,1953],{"class":556},[537,9900,560],{"class":550},[537,9902,563],{"class":550},[537,9904,9905],{"class":566},"CC2.1",[537,9907,570],{"class":550},[537,9909,1698],{"class":550},[537,9911,9912,9915,9917,9919,9921,9924],{"class":539,"line":1003},[537,9913,9914],{"class":556},"      principle",[537,9916,560],{"class":550},[537,9918,9618],{"class":768},[537,9920,771],{"class":550},[537,9922,9923],{"class":768},"SECURITY",[537,9925,1698],{"class":550},[537,9927,9928,9931,9933,9935,9938,9940],{"class":539,"line":1016},[537,9929,9930],{"class":556},"      criteria",[537,9932,560],{"class":550},[537,9934,563],{"class":550},[537,9936,9937],{"class":566},"Logical and Physical Access Controls",[537,9939,570],{"class":550},[537,9941,1698],{"class":550},[537,9943,9944,9946,9948,9950,9953,9955],{"class":539,"line":1038},[537,9945,3307],{"class":556},[537,9947,560],{"class":550},[537,9949,563],{"class":550},[537,9951,9952],{"class":566},"The entity implements logical access security software, infrastructure, and architectures to protect information assets.",[537,9954,570],{"class":550},[537,9956,1698],{"class":550},[537,9958,9959,9961,9963],{"class":539,"line":1045},[537,9960,7708],{"class":556},[537,9962,560],{"class":550},[537,9964,551],{"class":550},[537,9966,9967,9970,9972,9974,9977,9979],{"class":539,"line":1058},[537,9968,9969],{"class":556},"        status",[537,9971,560],{"class":550},[537,9973,563],{"class":550},[537,9975,9976],{"class":566},"Implemented",[537,9978,570],{"class":550},[537,9980,1698],{"class":550},[537,9982,9983,9985,9987,9989,9992,9994],{"class":539,"line":1076},[537,9984,8394],{"class":556},[537,9986,560],{"class":550},[537,9988,563],{"class":550},[537,9990,9991],{"class":566},"Multi-factor authentication, role-based access control, and network segmentation implemented.",[537,9993,570],{"class":550},[537,9995,1698],{"class":550},[537,9997,9998,10001,10003,10005,10007,10009],{"class":539,"line":1083},[537,9999,10000],{"class":556},"        owner",[537,10002,560],{"class":550},[537,10004,563],{"class":550},[537,10006,8266],{"class":566},[537,10008,570],{"class":550},[537,10010,1698],{"class":550},[537,10012,10013,10016,10018,10020,10022,10024,10026,10029,10031],{"class":539,"line":1088},[537,10014,10015],{"class":556},"        implementationDate",[537,10017,560],{"class":550},[537,10019,789],{"class":550},[537,10021,655],{"class":792},[537,10023,722],{"class":556},[537,10025,570],{"class":550},[537,10027,10028],{"class":566},"2023-06-01",[537,10030,570],{"class":550},[537,10032,2530],{"class":556},[537,10034,10035],{"class":539,"line":1094},[537,10036,1753],{"class":550},[537,10038,10039,10042,10044],{"class":539,"line":1099},[537,10040,10041],{"class":556},"      testingResults",[537,10043,560],{"class":550},[537,10045,3328],{"class":556},[537,10047,10048],{"class":539,"line":1130},[537,10049,3333],{"class":550},[537,10051,10052,10055,10057,10059,10061,10063,10065,10068,10070,10072],{"class":539,"line":1163},[537,10053,10054],{"class":556},"          testDate",[537,10056,560],{"class":550},[537,10058,789],{"class":550},[537,10060,655],{"class":792},[537,10062,722],{"class":556},[537,10064,570],{"class":550},[537,10066,10067],{"class":566},"2024-01-15",[537,10069,570],{"class":550},[537,10071,805],{"class":556},[537,10073,1698],{"class":550},[537,10075,10076,10079,10081,10083,10086,10088],{"class":539,"line":1187},[537,10077,10078],{"class":556},"          testType",[537,10080,560],{"class":550},[537,10082,563],{"class":550},[537,10084,10085],{"class":566},"Penetration Testing",[537,10087,570],{"class":550},[537,10089,1698],{"class":550},[537,10091,10092,10095,10097,10099,10102,10104],{"class":539,"line":1193},[537,10093,10094],{"class":556},"          result",[537,10096,560],{"class":550},[537,10098,563],{"class":550},[537,10100,10101],{"class":566},"Pass",[537,10103,570],{"class":550},[537,10105,1698],{"class":550},[537,10107,10108,10110,10112,10114,10117],{"class":539,"line":1199},[537,10109,3381],{"class":556},[537,10111,560],{"class":550},[537,10113,563],{"class":550},[537,10115,10116],{"class":566},"No critical vulnerabilities found",[537,10118,1877],{"class":550},[537,10120,10121],{"class":539,"line":1222},[537,10122,3528],{"class":550},[537,10124,10125,10127],{"class":539,"line":1227},[537,10126,3534],{"class":556},[537,10128,1698],{"class":550},[537,10130,10131,10133,10135],{"class":539,"line":1233},[537,10132,7724],{"class":556},[537,10134,560],{"class":550},[537,10136,3328],{"class":556},[537,10138,10139,10141,10143,10145,10147,10149,10151,10153,10155,10157,10159,10161,10163],{"class":539,"line":1264},[537,10140,6325],{"class":550},[537,10142,7735],{"class":556},[537,10144,560],{"class":550},[537,10146,563],{"class":550},[537,10148,7742],{"class":566},[537,10150,570],{"class":550},[537,10152,1213],{"class":550},[537,10154,7749],{"class":556},[537,10156,560],{"class":550},[537,10158,563],{"class":550},[537,10160,7756],{"class":566},[537,10162,570],{"class":550},[537,10164,6349],{"class":550},[537,10166,10167,10169,10171,10173,10175,10177,10179,10181,10183,10185,10187,10190,10192],{"class":539,"line":1269},[537,10168,6325],{"class":550},[537,10170,7735],{"class":556},[537,10172,560],{"class":550},[537,10174,563],{"class":550},[537,10176,7990],{"class":566},[537,10178,570],{"class":550},[537,10180,1213],{"class":550},[537,10182,7749],{"class":556},[537,10184,560],{"class":550},[537,10186,563],{"class":550},[537,10188,10189],{"class":566},"/config/access-control.json",[537,10191,570],{"class":550},[537,10193,6349],{"class":550},[537,10195,10196,10198,10200,10202,10204,10207,10209,10211,10213,10215,10217,10220,10222],{"class":539,"line":1274},[537,10197,6325],{"class":550},[537,10199,7735],{"class":556},[537,10201,560],{"class":550},[537,10203,563],{"class":550},[537,10205,10206],{"class":566},"test_report",[537,10208,570],{"class":550},[537,10210,1213],{"class":550},[537,10212,7749],{"class":556},[537,10214,560],{"class":550},[537,10216,563],{"class":550},[537,10218,10219],{"class":566},"/reports/pen-test-2024-01.pdf",[537,10221,570],{"class":550},[537,10223,6425],{"class":550},[537,10225,10226],{"class":539,"line":1304},[537,10227,4863],{"class":556},[537,10229,10230,10232,10234],{"class":539,"line":1310},[537,10231,7877],{"class":550},[537,10233,805],{"class":556},[537,10235,610],{"class":550},[537,10237,10238],{"class":539,"line":1335},[537,10239,668],{"emptyLinePlaceholder":667},[537,10241,10242],{"class":539,"line":1340},[537,10243,10244],{"class":752},"    // Availability Principle Controls\n",[537,10246,10247,10249,10251,10253],{"class":539,"line":1356},[537,10248,7580],{"class":550},[537,10250,7638],{"class":792},[537,10252,722],{"class":556},[537,10254,780],{"class":550},[537,10256,10257,10259,10261,10263,10266,10268],{"class":539,"line":1384},[537,10258,1953],{"class":556},[537,10260,560],{"class":550},[537,10262,563],{"class":550},[537,10264,10265],{"class":566},"CC3.1",[537,10267,570],{"class":550},[537,10269,1698],{"class":550},[537,10271,10272,10274,10276,10278,10280,10283],{"class":539,"line":1392},[537,10273,9914],{"class":556},[537,10275,560],{"class":550},[537,10277,9618],{"class":768},[537,10279,771],{"class":550},[537,10281,10282],{"class":768},"AVAILABILITY",[537,10284,1698],{"class":550},[537,10286,10287,10289,10291,10293,10296,10298],{"class":539,"line":1397},[537,10288,9930],{"class":556},[537,10290,560],{"class":550},[537,10292,563],{"class":550},[537,10294,10295],{"class":566},"Availability Monitoring and Incident Response",[537,10297,570],{"class":550},[537,10299,1698],{"class":550},[537,10301,10302,10304,10306,10308,10311,10313],{"class":539,"line":1402},[537,10303,3307],{"class":556},[537,10305,560],{"class":550},[537,10307,563],{"class":550},[537,10309,10310],{"class":566},"The entity monitors system components and the operation of those components for availability.",[537,10312,570],{"class":550},[537,10314,1698],{"class":550},[537,10316,10317,10319,10321],{"class":539,"line":1408},[537,10318,7708],{"class":556},[537,10320,560],{"class":550},[537,10322,551],{"class":550},[537,10324,10325,10327,10329,10331,10333,10335],{"class":539,"line":1426},[537,10326,9969],{"class":556},[537,10328,560],{"class":550},[537,10330,563],{"class":550},[537,10332,9976],{"class":566},[537,10334,570],{"class":550},[537,10336,1698],{"class":550},[537,10338,10339,10341,10343,10345,10348,10350],{"class":539,"line":1431},[537,10340,8394],{"class":556},[537,10342,560],{"class":550},[537,10344,563],{"class":550},[537,10346,10347],{"class":566},"24/7 monitoring, automated alerting, and incident response procedures in place.",[537,10349,570],{"class":550},[537,10351,1698],{"class":550},[537,10353,10354,10356,10358,10360,10363,10365],{"class":539,"line":1437},[537,10355,10000],{"class":556},[537,10357,560],{"class":550},[537,10359,563],{"class":550},[537,10361,10362],{"class":566},"Operations Team",[537,10364,570],{"class":550},[537,10366,1698],{"class":550},[537,10368,10369,10371,10373,10375,10377,10379,10381,10384,10386],{"class":539,"line":1468},[537,10370,10015],{"class":556},[537,10372,560],{"class":550},[537,10374,789],{"class":550},[537,10376,655],{"class":792},[537,10378,722],{"class":556},[537,10380,570],{"class":550},[537,10382,10383],{"class":566},"2023-08-01",[537,10385,570],{"class":550},[537,10387,2530],{"class":556},[537,10389,10390],{"class":539,"line":1473},[537,10391,1753],{"class":550},[537,10393,10394,10396,10398],{"class":539,"line":1478},[537,10395,10041],{"class":556},[537,10397,560],{"class":550},[537,10399,3328],{"class":556},[537,10401,10402],{"class":539,"line":1508},[537,10403,3333],{"class":550},[537,10405,10406,10408,10410,10412,10414,10416,10418,10421,10423,10425],{"class":539,"line":1535},[537,10407,10054],{"class":556},[537,10409,560],{"class":550},[537,10411,789],{"class":550},[537,10413,655],{"class":792},[537,10415,722],{"class":556},[537,10417,570],{"class":550},[537,10419,10420],{"class":566},"2024-02-01",[537,10422,570],{"class":550},[537,10424,805],{"class":556},[537,10426,1698],{"class":550},[537,10428,10429,10431,10433,10435,10438,10440],{"class":539,"line":1558},[537,10430,10078],{"class":556},[537,10432,560],{"class":550},[537,10434,563],{"class":550},[537,10436,10437],{"class":566},"Disaster Recovery Test",[537,10439,570],{"class":550},[537,10441,1698],{"class":550},[537,10443,10444,10446,10448,10450,10452,10454],{"class":539,"line":1563},[537,10445,10094],{"class":556},[537,10447,560],{"class":550},[537,10449,563],{"class":550},[537,10451,10101],{"class":566},[537,10453,570],{"class":550},[537,10455,1698],{"class":550},[537,10457,10458,10460,10462,10464,10467],{"class":539,"line":1569},[537,10459,3381],{"class":556},[537,10461,560],{"class":550},[537,10463,563],{"class":550},[537,10465,10466],{"class":566},"RTO of 2 hours and RPO of 15 minutes achieved",[537,10468,1877],{"class":550},[537,10470,10471],{"class":539,"line":1591},[537,10472,3528],{"class":550},[537,10474,10475,10477],{"class":539,"line":1596},[537,10476,3534],{"class":556},[537,10478,1698],{"class":550},[537,10480,10481,10483,10485],{"class":539,"line":1602},[537,10482,7724],{"class":556},[537,10484,560],{"class":550},[537,10486,3328],{"class":556},[537,10488,10489,10491,10493,10495,10497,10500,10502,10504,10506,10508,10510,10513,10515],{"class":539,"line":1632},[537,10490,6325],{"class":550},[537,10492,7735],{"class":556},[537,10494,560],{"class":550},[537,10496,563],{"class":550},[537,10498,10499],{"class":566},"monitoring_dashboard",[537,10501,570],{"class":550},[537,10503,1213],{"class":550},[537,10505,7749],{"class":556},[537,10507,560],{"class":550},[537,10509,563],{"class":550},[537,10511,10512],{"class":566},"/monitoring/availability-dashboard.png",[537,10514,570],{"class":550},[537,10516,6349],{"class":550},[537,10518,10519,10521,10523,10525,10527,10530,10532,10534,10536,10538,10540,10543,10545],{"class":539,"line":1637},[537,10520,6325],{"class":550},[537,10522,7735],{"class":556},[537,10524,560],{"class":550},[537,10526,563],{"class":550},[537,10528,10529],{"class":566},"incident_procedure",[537,10531,570],{"class":550},[537,10533,1213],{"class":550},[537,10535,7749],{"class":556},[537,10537,560],{"class":550},[537,10539,563],{"class":550},[537,10541,10542],{"class":566},"/procedures/incident-response.md",[537,10544,570],{"class":550},[537,10546,6349],{"class":550},[537,10548,10549,10551,10553,10555,10557,10560,10562,10564,10566,10568,10570,10573,10575],{"class":539,"line":1642},[537,10550,6325],{"class":550},[537,10552,7735],{"class":556},[537,10554,560],{"class":550},[537,10556,563],{"class":550},[537,10558,10559],{"class":566},"dr_test_report",[537,10561,570],{"class":550},[537,10563,1213],{"class":550},[537,10565,7749],{"class":556},[537,10567,560],{"class":550},[537,10569,563],{"class":550},[537,10571,10572],{"class":566},"/reports/dr-test-2024-02.pdf",[537,10574,570],{"class":550},[537,10576,6425],{"class":550},[537,10578,10579],{"class":539,"line":1665},[537,10580,4863],{"class":556},[537,10582,10583,10585,10587],{"class":539,"line":1673},[537,10584,7877],{"class":550},[537,10586,805],{"class":556},[537,10588,610],{"class":550},[537,10590,10591],{"class":539,"line":1683},[537,10592,1091],{"class":550},[537,10594,10595],{"class":539,"line":1701},[537,10596,668],{"emptyLinePlaceholder":667},[537,10598,10599,10601,10604,10606,10608,10610,10613,10615],{"class":539,"line":1718},[537,10600,716],{"class":542},[537,10602,10603],{"class":556}," performContinuousMonitoring",[537,10605,3273],{"class":550},[537,10607,736],{"class":546},[537,10609,739],{"class":550},[537,10611,10612],{"class":546},"MonitoringReport",[537,10614,745],{"class":550},[537,10616,551],{"class":550},[537,10618,10619,10621,10624,10626,10628,10630,10633,10635],{"class":539,"line":1735},[537,10620,1133],{"class":542},[537,10622,10623],{"class":768}," monitoringData",[537,10625,1139],{"class":550},[537,10627,1142],{"class":758},[537,10629,833],{"class":550},[537,10631,10632],{"class":792},"collectMonitoringData",[537,10634,1973],{"class":556},[537,10636,610],{"class":550},[537,10638,10639,10641,10644,10646,10648,10651,10653,10656,10658],{"class":539,"line":1750},[537,10640,1133],{"class":542},[537,10642,10643],{"class":768}," complianceStatus",[537,10645,1139],{"class":550},[537,10647,833],{"class":550},[537,10649,10650],{"class":792},"evaluateComplianceStatus",[537,10652,722],{"class":556},[537,10654,10655],{"class":768},"monitoringData",[537,10657,805],{"class":556},[537,10659,610],{"class":550},[537,10661,10662,10664,10667,10669,10671,10674,10676,10678,10680],{"class":539,"line":1756},[537,10663,1133],{"class":542},[537,10665,10666],{"class":768}," anomalies",[537,10668,1139],{"class":550},[537,10670,833],{"class":550},[537,10672,10673],{"class":792},"detectAnomalies",[537,10675,722],{"class":556},[537,10677,10655],{"class":768},[537,10679,805],{"class":556},[537,10681,610],{"class":550},[537,10683,10684,10686,10689,10691,10693,10695,10697,10700,10702],{"class":539,"line":1766},[537,10685,1133],{"class":542},[537,10687,10688],{"class":768}," recommendations",[537,10690,1139],{"class":550},[537,10692,833],{"class":550},[537,10694,9132],{"class":792},[537,10696,722],{"class":556},[537,10698,10699],{"class":768},"anomalies",[537,10701,805],{"class":556},[537,10703,610],{"class":550},[537,10705,10706],{"class":539,"line":1783},[537,10707,668],{"emptyLinePlaceholder":667},[537,10709,10710,10712],{"class":539,"line":1800},[537,10711,1668],{"class":758},[537,10713,551],{"class":550},[537,10715,10716,10718,10720,10722,10724,10726],{"class":539,"line":1815},[537,10717,9453],{"class":556},[537,10719,560],{"class":550},[537,10721,789],{"class":550},[537,10723,655],{"class":792},[537,10725,1973],{"class":556},[537,10727,1698],{"class":550},[537,10729,10730,10733,10735],{"class":539,"line":1820},[537,10731,10732],{"class":556},"      monitoringPeriod",[537,10734,560],{"class":550},[537,10736,551],{"class":550},[537,10738,10739,10741,10743,10745,10747,10749,10752,10754,10757,10760,10763,10766,10769,10772,10774,10776,10778,10781,10783,10785],{"class":539,"line":1830},[537,10740,9188],{"class":556},[537,10742,560],{"class":550},[537,10744,789],{"class":550},[537,10746,655],{"class":792},[537,10748,722],{"class":556},[537,10750,10751],{"class":768},"Date",[537,10753,771],{"class":550},[537,10755,10756],{"class":792},"now",[537,10758,10759],{"class":556},"() ",[537,10761,10762],{"class":550},"-",[537,10764,10765],{"class":7027}," 24",[537,10767,10768],{"class":550}," *",[537,10770,10771],{"class":7027}," 60",[537,10773,10768],{"class":550},[537,10775,10771],{"class":7027},[537,10777,10768],{"class":550},[537,10779,10780],{"class":7027}," 1000",[537,10782,805],{"class":556},[537,10784,1213],{"class":550},[537,10786,10787],{"class":752}," // Last 24 hours\n",[537,10789,10790,10792,10794,10796,10798],{"class":539,"line":1847},[537,10791,9212],{"class":556},[537,10793,560],{"class":550},[537,10795,789],{"class":550},[537,10797,655],{"class":792},[537,10799,3566],{"class":556},[537,10801,10802],{"class":539,"line":1864},[537,10803,1753],{"class":550},[537,10805,10806,10809,10811,10813,10815,10818],{"class":539,"line":1880},[537,10807,10808],{"class":556},"      overallStatus",[537,10810,560],{"class":550},[537,10812,10643],{"class":768},[537,10814,771],{"class":550},[537,10816,10817],{"class":768},"overall",[537,10819,1698],{"class":550},[537,10821,10822,10825,10827,10829,10831,10833],{"class":539,"line":1886},[537,10823,10824],{"class":556},"      controlStatuses",[537,10826,560],{"class":550},[537,10828,10643],{"class":768},[537,10830,771],{"class":550},[537,10832,7583],{"class":768},[537,10834,1698],{"class":550},[537,10836,10837,10840],{"class":539,"line":1892},[537,10838,10839],{"class":768},"      anomalies",[537,10841,1698],{"class":550},[537,10843,10844,10846],{"class":539,"line":1897},[537,10845,9125],{"class":768},[537,10847,1698],{"class":550},[537,10849,10850,10852,10854,10856,10859,10861,10863],{"class":539,"line":1902},[537,10851,7724],{"class":556},[537,10853,560],{"class":550},[537,10855,833],{"class":550},[537,10857,10858],{"class":792},"collectMonitoringEvidence",[537,10860,722],{"class":556},[537,10862,10655],{"class":768},[537,10864,2530],{"class":556},[537,10866,10867],{"class":539,"line":1932},[537,10868,1889],{"class":550},[537,10870,10871],{"class":539,"line":1938},[537,10872,1091],{"class":550},[537,10874,10875],{"class":539,"line":1950},[537,10876,668],{"emptyLinePlaceholder":667},[537,10878,10879,10881,10883,10886,10888,10890,10892,10895,10897],{"class":539,"line":1981},[537,10880,683],{"class":542},[537,10882,1104],{"class":542},[537,10884,10885],{"class":556}," collectMonitoringData",[537,10887,3273],{"class":550},[537,10889,736],{"class":546},[537,10891,739],{"class":550},[537,10893,10894],{"class":546},"MonitoringData",[537,10896,745],{"class":550},[537,10898,551],{"class":550},[537,10900,10901,10903],{"class":539,"line":2012},[537,10902,1668],{"class":758},[537,10904,551],{"class":550},[537,10906,10907,10910,10912,10914,10916,10919,10921,10924,10926],{"class":539,"line":2029},[537,10908,10909],{"class":556},"      accessEvents",[537,10911,560],{"class":550},[537,10913,1142],{"class":758},[537,10915,833],{"class":550},[537,10917,10918],{"class":768},"monitoringService",[537,10920,771],{"class":550},[537,10922,10923],{"class":792},"getAccessEvents",[537,10925,1973],{"class":556},[537,10927,1698],{"class":550},[537,10929,10930,10933,10935,10937,10939,10941,10943,10946,10948],{"class":539,"line":2035},[537,10931,10932],{"class":556},"      systemMetrics",[537,10934,560],{"class":550},[537,10936,1142],{"class":758},[537,10938,833],{"class":550},[537,10940,10918],{"class":768},[537,10942,771],{"class":550},[537,10944,10945],{"class":792},"getSystemMetrics",[537,10947,1973],{"class":556},[537,10949,1698],{"class":550},[537,10951,10952,10955,10957,10959,10961,10963,10965,10968,10970],{"class":539,"line":2040},[537,10953,10954],{"class":556},"      securityEvents",[537,10956,560],{"class":550},[537,10958,1142],{"class":758},[537,10960,833],{"class":550},[537,10962,10918],{"class":768},[537,10964,771],{"class":550},[537,10966,10967],{"class":792},"getSecurityEvents",[537,10969,1973],{"class":556},[537,10971,1698],{"class":550},[537,10973,10974,10977,10979,10981,10983,10985,10987,10990,10992],{"class":539,"line":2045},[537,10975,10976],{"class":556},"      availabilityMetrics",[537,10978,560],{"class":550},[537,10980,1142],{"class":758},[537,10982,833],{"class":550},[537,10984,10918],{"class":768},[537,10986,771],{"class":550},[537,10988,10989],{"class":792},"getAvailabilityMetrics",[537,10991,1973],{"class":556},[537,10993,1698],{"class":550},[537,10995,10996,10999,11001,11003,11005,11007,11009,11012],{"class":539,"line":2071},[537,10997,10998],{"class":556},"      changeEvents",[537,11000,560],{"class":550},[537,11002,1142],{"class":758},[537,11004,833],{"class":550},[537,11006,10918],{"class":768},[537,11008,771],{"class":550},[537,11010,11011],{"class":792},"getChangeEvents",[537,11013,3566],{"class":556},[537,11015,11016],{"class":539,"line":2076},[537,11017,1889],{"class":550},[537,11019,11020],{"class":539,"line":3403},[537,11021,1091],{"class":550},[537,11023,11024],{"class":539,"line":3418},[537,11025,668],{"emptyLinePlaceholder":667},[537,11027,11028,11030,11033,11035,11037,11039,11042,11044,11047],{"class":539,"line":3429},[537,11029,683],{"class":542},[537,11031,11032],{"class":556}," evaluateComplianceStatus",[537,11034,722],{"class":550},[537,11036,6152],{"class":725},[537,11038,560],{"class":550},[537,11040,11041],{"class":546}," MonitoringData",[537,11043,733],{"class":550},[537,11045,11046],{"class":546}," ComplianceStatus",[537,11048,551],{"class":550},[537,11050,11051,11053,11056,11058,11060,11062,11064,11066,11068,11071,11073,11075],{"class":539,"line":3445},[537,11052,1133],{"class":542},[537,11054,11055],{"class":768}," controlStatuses",[537,11057,1139],{"class":550},[537,11059,789],{"class":550},[537,11061,7539],{"class":792},[537,11063,739],{"class":550},[537,11065,4893],{"class":546},[537,11067,1213],{"class":550},[537,11069,11070],{"class":546}," ControlStatus",[537,11072,745],{"class":550},[537,11074,1973],{"class":556},[537,11076,610],{"class":550},[537,11078,11079],{"class":539,"line":3459},[537,11080,668],{"emptyLinePlaceholder":667},[537,11082,11083],{"class":539,"line":3464},[537,11084,11085],{"class":752},"    // Evaluate Security controls\n",[537,11087,11088,11091,11093,11096,11098,11100,11102,11104,11106,11108,11111,11113,11115,11117,11120,11122],{"class":539,"line":3469},[537,11089,11090],{"class":768},"    controlStatuses",[537,11092,771],{"class":550},[537,11094,11095],{"class":792},"set",[537,11097,722],{"class":556},[537,11099,570],{"class":550},[537,11101,9905],{"class":566},[537,11103,570],{"class":550},[537,11105,1213],{"class":550},[537,11107,833],{"class":550},[537,11109,11110],{"class":792},"evaluateAccessControl",[537,11112,722],{"class":556},[537,11114,6152],{"class":768},[537,11116,771],{"class":550},[537,11118,11119],{"class":768},"accessEvents",[537,11121,8904],{"class":556},[537,11123,610],{"class":550},[537,11125,11126,11128,11130,11132,11134,11136,11139,11141,11143,11145,11148,11150,11152,11154,11157,11159],{"class":539,"line":3484},[537,11127,11090],{"class":768},[537,11129,771],{"class":550},[537,11131,11095],{"class":792},[537,11133,722],{"class":556},[537,11135,570],{"class":550},[537,11137,11138],{"class":566},"CC2.2",[537,11140,570],{"class":550},[537,11142,1213],{"class":550},[537,11144,833],{"class":550},[537,11146,11147],{"class":792},"evaluateNetworkSecurity",[537,11149,722],{"class":556},[537,11151,6152],{"class":768},[537,11153,771],{"class":550},[537,11155,11156],{"class":768},"securityEvents",[537,11158,8904],{"class":556},[537,11160,610],{"class":550},[537,11162,11163],{"class":539,"line":3495},[537,11164,1190],{"class":556},[537,11166,11167],{"class":539,"line":3511},[537,11168,11169],{"class":752},"    // Evaluate Availability controls\n",[537,11171,11172,11174,11176,11178,11180,11182,11184,11186,11188,11190,11193,11195,11197,11199,11202,11204],{"class":539,"line":3525},[537,11173,11090],{"class":768},[537,11175,771],{"class":550},[537,11177,11095],{"class":792},[537,11179,722],{"class":556},[537,11181,570],{"class":550},[537,11183,10265],{"class":566},[537,11185,570],{"class":550},[537,11187,1213],{"class":550},[537,11189,833],{"class":550},[537,11191,11192],{"class":792},"evaluateAvailability",[537,11194,722],{"class":556},[537,11196,6152],{"class":768},[537,11198,771],{"class":550},[537,11200,11201],{"class":768},"availabilityMetrics",[537,11203,8904],{"class":556},[537,11205,610],{"class":550},[537,11207,11208,11210,11212,11214,11216,11218,11221,11223,11225,11227,11230,11232,11234,11236,11238,11240],{"class":539,"line":3531},[537,11209,11090],{"class":768},[537,11211,771],{"class":550},[537,11213,11095],{"class":792},[537,11215,722],{"class":556},[537,11217,570],{"class":550},[537,11219,11220],{"class":566},"CC3.2",[537,11222,570],{"class":550},[537,11224,1213],{"class":550},[537,11226,833],{"class":550},[537,11228,11229],{"class":792},"evaluateIncidentResponse",[537,11231,722],{"class":556},[537,11233,6152],{"class":768},[537,11235,771],{"class":550},[537,11237,11156],{"class":768},[537,11239,8904],{"class":556},[537,11241,610],{"class":550},[537,11243,11244],{"class":539,"line":3539},[537,11245,668],{"emptyLinePlaceholder":667},[537,11247,11248],{"class":539,"line":3554},[537,11249,11250],{"class":752},"    // Evaluate Processing Integrity controls\n",[537,11252,11253,11255,11257,11259,11261,11263,11266,11268,11270,11272,11275,11277,11279,11281,11284,11286],{"class":539,"line":3569},[537,11254,11090],{"class":768},[537,11256,771],{"class":550},[537,11258,11095],{"class":792},[537,11260,722],{"class":556},[537,11262,570],{"class":550},[537,11264,11265],{"class":566},"CC4.1",[537,11267,570],{"class":550},[537,11269,1213],{"class":550},[537,11271,833],{"class":550},[537,11273,11274],{"class":792},"evaluateDataProcessing",[537,11276,722],{"class":556},[537,11278,6152],{"class":768},[537,11280,771],{"class":550},[537,11282,11283],{"class":768},"systemMetrics",[537,11285,8904],{"class":556},[537,11287,610],{"class":550},[537,11289,11290,11292,11294,11296,11298,11300,11303,11305,11307,11309,11312,11314,11316,11318,11321,11323],{"class":539,"line":3574},[537,11291,11090],{"class":768},[537,11293,771],{"class":550},[537,11295,11095],{"class":792},[537,11297,722],{"class":556},[537,11299,570],{"class":550},[537,11301,11302],{"class":566},"CC4.2",[537,11304,570],{"class":550},[537,11306,1213],{"class":550},[537,11308,833],{"class":550},[537,11310,11311],{"class":792},"evaluateChangeManagement",[537,11313,722],{"class":556},[537,11315,6152],{"class":768},[537,11317,771],{"class":550},[537,11319,11320],{"class":768},"changeEvents",[537,11322,8904],{"class":556},[537,11324,610],{"class":550},[537,11326,11327],{"class":539,"line":3579},[537,11328,668],{"emptyLinePlaceholder":667},[537,11330,11331,11333,11336,11338,11340,11343,11345,11348,11350,11352,11354,11357,11359,11362,11365],{"class":539,"line":6709},[537,11332,1133],{"class":542},[537,11334,11335],{"class":768}," overallStatus",[537,11337,1139],{"class":550},[537,11339,833],{"class":550},[537,11341,11342],{"class":792},"calculateOverallStatus",[537,11344,722],{"class":556},[537,11346,11347],{"class":768},"Array",[537,11349,771],{"class":550},[537,11351,9288],{"class":792},[537,11353,722],{"class":556},[537,11355,11356],{"class":768},"controlStatuses",[537,11358,771],{"class":550},[537,11360,11361],{"class":792},"values",[537,11363,11364],{"class":556},"()))",[537,11366,610],{"class":550},[537,11368,11369],{"class":539,"line":6714},[537,11370,668],{"emptyLinePlaceholder":667},[537,11372,11373,11375],{"class":539,"line":6719},[537,11374,1668],{"class":758},[537,11376,551],{"class":550},[537,11378,11379,11382,11384,11386],{"class":539,"line":6751},[537,11380,11381],{"class":556},"      overall",[537,11383,560],{"class":550},[537,11385,11335],{"class":768},[537,11387,1698],{"class":550},[537,11389,11390,11392,11394,11397,11399,11402,11404,11406],{"class":539,"line":6768},[537,11391,9278],{"class":556},[537,11393,560],{"class":550},[537,11395,11396],{"class":768}," Object",[537,11398,771],{"class":550},[537,11400,11401],{"class":792},"fromEntries",[537,11403,722],{"class":556},[537,11405,11356],{"class":768},[537,11407,2530],{"class":556},[537,11409,11410],{"class":539,"line":6773},[537,11411,1889],{"class":550},[537,11413,11414],{"class":539,"line":6796},[537,11415,1091],{"class":550},[537,11417,11418],{"class":539,"line":6816},[537,11419,668],{"emptyLinePlaceholder":667},[537,11421,11422,11424,11427,11429,11431,11433,11436,11438,11440,11442],{"class":539,"line":6835},[537,11423,683],{"class":542},[537,11425,11426],{"class":556}," evaluateAccessControl",[537,11428,722],{"class":550},[537,11430,11119],{"class":725},[537,11432,560],{"class":550},[537,11434,11435],{"class":546}," AccessEvent",[537,11437,5144],{"class":768},[537,11439,733],{"class":550},[537,11441,11070],{"class":546},[537,11443,551],{"class":550},[537,11445,11446,11448,11451,11453,11456,11458,11461,11463,11466,11468,11471,11473,11475,11477,11479,11482,11484,11486],{"class":539,"line":6876},[537,11447,1133],{"class":542},[537,11449,11450],{"class":768}," violations",[537,11452,1139],{"class":550},[537,11454,11455],{"class":768}," accessEvents",[537,11457,771],{"class":550},[537,11459,11460],{"class":792},"filter",[537,11462,722],{"class":556},[537,11464,11465],{"class":725},"event",[537,11467,8793],{"class":542},[537,11469,11470],{"class":768}," event",[537,11472,771],{"class":550},[537,11474,869],{"class":768},[537,11476,7000],{"class":550},[537,11478,563],{"class":550},[537,11480,11481],{"class":566},"access_violation",[537,11483,570],{"class":550},[537,11485,805],{"class":556},[537,11487,610],{"class":550},[537,11489,11490,11492,11495,11497,11499,11501,11504],{"class":539,"line":6887},[537,11491,1133],{"class":542},[537,11493,11494],{"class":768}," totalEvents",[537,11496,1139],{"class":550},[537,11498,11455],{"class":768},[537,11500,771],{"class":550},[537,11502,11503],{"class":768},"length",[537,11505,610],{"class":550},[537,11507,11508,11510,11513,11515,11517,11519,11521,11524,11526],{"class":539,"line":6919},[537,11509,1133],{"class":542},[537,11511,11512],{"class":768}," violationRate",[537,11514,1139],{"class":550},[537,11516,11450],{"class":768},[537,11518,771],{"class":550},[537,11520,11503],{"class":768},[537,11522,11523],{"class":550}," /",[537,11525,11494],{"class":768},[537,11527,610],{"class":550},[537,11529,11530],{"class":539,"line":6924},[537,11531,668],{"emptyLinePlaceholder":667},[537,11533,11534,11536],{"class":539,"line":6929},[537,11535,1668],{"class":758},[537,11537,551],{"class":550},[537,11539,11540,11543,11545,11547,11550,11553,11556,11558,11561,11563,11566,11568,11571,11573],{"class":539,"line":6934},[537,11541,11542],{"class":556},"      status",[537,11544,560],{"class":550},[537,11546,11512],{"class":768},[537,11548,11549],{"class":550}," \u003C",[537,11551,11552],{"class":7027}," 0.001",[537,11554,11555],{"class":550}," ?",[537,11557,563],{"class":550},[537,11559,11560],{"class":566},"Compliant",[537,11562,570],{"class":550},[537,11564,11565],{"class":550}," :",[537,11567,563],{"class":550},[537,11569,11570],{"class":566},"Non-Compliant",[537,11572,570],{"class":550},[537,11574,1698],{"class":550},[537,11576,11577,11580,11582,11585,11587,11590,11592,11594,11596,11599,11602,11604,11607,11609,11612,11614],{"class":539,"line":6939},[537,11578,11579],{"class":556},"      score",[537,11581,560],{"class":550},[537,11583,11584],{"class":768}," Math",[537,11586,771],{"class":550},[537,11588,11589],{"class":792},"max",[537,11591,722],{"class":556},[537,11593,7028],{"class":7027},[537,11595,1213],{"class":550},[537,11597,11598],{"class":7027}," 100",[537,11600,11601],{"class":550}," -",[537,11603,762],{"class":556},[537,11605,11606],{"class":768},"violationRate",[537,11608,10768],{"class":550},[537,11610,11611],{"class":7027}," 10000",[537,11613,8904],{"class":556},[537,11615,1698],{"class":550},[537,11617,11618,11621,11623],{"class":539,"line":6948},[537,11619,11620],{"class":556},"      details",[537,11622,560],{"class":550},[537,11624,551],{"class":550},[537,11626,11627,11630,11632,11634],{"class":539,"line":6953},[537,11628,11629],{"class":556},"        totalAccessEvents",[537,11631,560],{"class":550},[537,11633,11494],{"class":768},[537,11635,1698],{"class":550},[537,11637,11638,11641,11643,11645,11647,11649],{"class":539,"line":6958},[537,11639,11640],{"class":556},"        violations",[537,11642,560],{"class":550},[537,11644,11450],{"class":768},[537,11646,771],{"class":550},[537,11648,11503],{"class":768},[537,11650,1698],{"class":550},[537,11652,11653,11656,11658],{"class":539,"line":6981},[537,11654,11655],{"class":556},"        violationRate",[537,11657,560],{"class":550},[537,11659,11660],{"class":768}," violationRate\n",[537,11662,11663],{"class":539,"line":6987},[537,11664,1883],{"class":550},[537,11666,11667],{"class":539,"line":7013},[537,11668,1889],{"class":550},[537,11670,11671],{"class":539,"line":7050},[537,11672,1091],{"class":550},[537,11674,11675],{"class":539,"line":7055},[537,11676,668],{"emptyLinePlaceholder":667},[537,11678,11679,11681,11684,11686,11689,11691,11694,11696,11698,11700],{"class":539,"line":7069},[537,11680,683],{"class":542},[537,11682,11683],{"class":556}," evaluateAvailability",[537,11685,722],{"class":550},[537,11687,11688],{"class":725},"metrics",[537,11690,560],{"class":550},[537,11692,11693],{"class":546}," AvailabilityMetric",[537,11695,5144],{"class":768},[537,11697,733],{"class":550},[537,11699,11070],{"class":546},[537,11701,551],{"class":550},[537,11703,11704,11706,11709,11711,11714,11716,11719,11721,11723,11726,11728,11731,11733,11735,11738,11741,11743,11745,11748,11750,11753,11755,11758,11760,11762,11764],{"class":539,"line":7074},[537,11705,1133],{"class":542},[537,11707,11708],{"class":768}," uptime",[537,11710,1139],{"class":550},[537,11712,11713],{"class":768}," metrics",[537,11715,771],{"class":550},[537,11717,11718],{"class":792},"reduce",[537,11720,722],{"class":556},[537,11722,722],{"class":550},[537,11724,11725],{"class":725},"sum",[537,11727,1213],{"class":550},[537,11729,11730],{"class":725}," metric",[537,11732,805],{"class":550},[537,11734,8793],{"class":542},[537,11736,11737],{"class":768}," sum",[537,11739,11740],{"class":550}," +",[537,11742,11730],{"class":768},[537,11744,771],{"class":550},[537,11746,11747],{"class":768},"uptime",[537,11749,1213],{"class":550},[537,11751,11752],{"class":7027}," 0",[537,11754,777],{"class":556},[537,11756,11757],{"class":550},"/",[537,11759,11713],{"class":768},[537,11761,771],{"class":550},[537,11763,11503],{"class":768},[537,11765,610],{"class":550},[537,11767,11768,11770,11773,11775,11777,11779,11781,11783,11785,11787,11789,11791,11793,11795,11797,11799,11801,11803,11806,11808,11810,11812],{"class":539,"line":9153},[537,11769,1133],{"class":542},[537,11771,11772],{"class":768}," downtime",[537,11774,1139],{"class":550},[537,11776,11713],{"class":768},[537,11778,771],{"class":550},[537,11780,11718],{"class":792},[537,11782,722],{"class":556},[537,11784,722],{"class":550},[537,11786,11725],{"class":725},[537,11788,1213],{"class":550},[537,11790,11730],{"class":725},[537,11792,805],{"class":550},[537,11794,8793],{"class":542},[537,11796,11737],{"class":768},[537,11798,11740],{"class":550},[537,11800,11730],{"class":768},[537,11802,771],{"class":550},[537,11804,11805],{"class":768},"downtime",[537,11807,1213],{"class":550},[537,11809,11752],{"class":7027},[537,11811,805],{"class":556},[537,11813,610],{"class":550},[537,11815,11816],{"class":539,"line":9168},[537,11817,668],{"emptyLinePlaceholder":667},[537,11819,11820,11822],{"class":539,"line":9175},[537,11821,1668],{"class":758},[537,11823,551],{"class":550},[537,11825,11826,11828,11830,11832,11835,11838,11840,11842,11844,11846,11848,11850,11852,11854],{"class":539,"line":9185},[537,11827,11542],{"class":556},[537,11829,560],{"class":550},[537,11831,11708],{"class":768},[537,11833,11834],{"class":550}," >=",[537,11836,11837],{"class":7027}," 0.999",[537,11839,11555],{"class":550},[537,11841,563],{"class":550},[537,11843,11560],{"class":566},[537,11845,570],{"class":550},[537,11847,11565],{"class":550},[537,11849,563],{"class":550},[537,11851,11570],{"class":566},[537,11853,570],{"class":550},[537,11855,1698],{"class":550},[537,11857,11858,11860,11862,11864,11866,11868],{"class":539,"line":9209},[537,11859,11579],{"class":556},[537,11861,560],{"class":550},[537,11863,11708],{"class":768},[537,11865,10768],{"class":550},[537,11867,11598],{"class":7027},[537,11869,1698],{"class":550},[537,11871,11872,11874,11876],{"class":539,"line":9232},[537,11873,11620],{"class":556},[537,11875,560],{"class":550},[537,11877,551],{"class":550},[537,11879,11880,11883,11885,11887],{"class":539,"line":9237},[537,11881,11882],{"class":556},"        uptimePercentage",[537,11884,560],{"class":550},[537,11886,11708],{"class":768},[537,11888,1698],{"class":550},[537,11890,11891,11894,11896,11898],{"class":539,"line":9275},[537,11892,11893],{"class":556},"        totalDowntimeMinutes",[537,11895,560],{"class":550},[537,11897,11772],{"class":768},[537,11899,1698],{"class":550},[537,11901,11902,11905,11907,11909],{"class":539,"line":9307},[537,11903,11904],{"class":556},"        slaTarget",[537,11906,560],{"class":550},[537,11908,11837],{"class":7027},[537,11910,1698],{"class":550},[537,11912,11913,11916,11918,11920,11922],{"class":539,"line":9345},[537,11914,11915],{"class":556},"        slaAchieved",[537,11917,560],{"class":550},[537,11919,11708],{"class":768},[537,11921,11834],{"class":550},[537,11923,11924],{"class":7027}," 0.999\n",[537,11926,11927],{"class":539,"line":9350},[537,11928,1883],{"class":550},[537,11930,11931],{"class":539,"line":9355},[537,11932,1889],{"class":550},[537,11934,11935],{"class":539,"line":9360},[537,11936,1091],{"class":550},[537,11938,11939],{"class":539,"line":9381},[537,11940,668],{"emptyLinePlaceholder":667},[537,11942,11943,11945,11948,11950,11952,11954,11957,11959],{"class":539,"line":9400},[537,11944,716],{"class":542},[537,11946,11947],{"class":556}," generateSOC2Report",[537,11949,3273],{"class":550},[537,11951,736],{"class":546},[537,11953,739],{"class":550},[537,11955,11956],{"class":546},"SOC2Report",[537,11958,745],{"class":550},[537,11960,551],{"class":550},[537,11962,11963,11965,11968,11970],{"class":539,"line":9419},[537,11964,1133],{"class":542},[537,11966,11967],{"class":768}," reportPeriod",[537,11969,1139],{"class":550},[537,11971,551],{"class":550},[537,11973,11974,11977,11979,11981,11983,11985,11987,11989,11991,11993],{"class":539,"line":9438},[537,11975,11976],{"class":556},"      start",[537,11978,560],{"class":550},[537,11980,789],{"class":550},[537,11982,655],{"class":792},[537,11984,722],{"class":556},[537,11986,570],{"class":550},[537,11988,7844],{"class":566},[537,11990,570],{"class":550},[537,11992,805],{"class":556},[537,11994,1698],{"class":550},[537,11996,11997,12000,12002,12004,12006,12008,12010,12012,12014],{"class":539,"line":9443},[537,11998,11999],{"class":556},"      end",[537,12001,560],{"class":550},[537,12003,789],{"class":550},[537,12005,655],{"class":792},[537,12007,722],{"class":556},[537,12009,570],{"class":550},[537,12011,9225],{"class":566},[537,12013,570],{"class":550},[537,12015,2530],{"class":556},[537,12017,12018],{"class":539,"line":9450},[537,12019,1889],{"class":550},[537,12021,12022],{"class":539,"line":9466},[537,12023,668],{"emptyLinePlaceholder":667},[537,12025,12026,12028,12031,12033,12035,12037,12040,12042,12045,12047],{"class":539,"line":9483},[537,12027,1133],{"class":542},[537,12029,12030],{"class":768}," controlTesting",[537,12032,1139],{"class":550},[537,12034,1142],{"class":758},[537,12036,833],{"class":550},[537,12038,12039],{"class":792},"performControlTesting",[537,12041,722],{"class":556},[537,12043,12044],{"class":768},"reportPeriod",[537,12046,805],{"class":556},[537,12048,610],{"class":550},[537,12050,12051,12053,12056,12058,12060,12062,12065,12067],{"class":539,"line":9499},[537,12052,1133],{"class":542},[537,12054,12055],{"class":768}," systemDescription",[537,12057,1139],{"class":550},[537,12059,1142],{"class":758},[537,12061,833],{"class":550},[537,12063,12064],{"class":792},"generateSystemDescription",[537,12066,1973],{"class":556},[537,12068,610],{"class":550},[537,12070,12071,12073,12076,12078,12080,12082,12085,12087],{"class":539,"line":9521},[537,12072,1133],{"class":542},[537,12074,12075],{"class":768}," managementAssertion",[537,12077,1139],{"class":550},[537,12079,1142],{"class":758},[537,12081,833],{"class":550},[537,12083,12084],{"class":792},"generateManagementAssertion",[537,12086,1973],{"class":556},[537,12088,610],{"class":550},[537,12090,12091,12093,12096,12098,12100,12102,12105,12107],{"class":539,"line":9529},[537,12092,1133],{"class":542},[537,12094,12095],{"class":768}," auditorOpinion",[537,12097,1139],{"class":550},[537,12099,1142],{"class":758},[537,12101,833],{"class":550},[537,12103,12104],{"class":792},"generateAuditorOpinion",[537,12106,1973],{"class":556},[537,12108,610],{"class":550},[537,12110,12111],{"class":539,"line":9537},[537,12112,668],{"emptyLinePlaceholder":667},[537,12114,12115,12117],{"class":539,"line":9545},[537,12116,1668],{"class":758},[537,12118,551],{"class":550},[537,12120,12121,12124,12126,12128,12131,12133],{"class":539,"line":9564},[537,12122,12123],{"class":556},"      reportType",[537,12125,560],{"class":550},[537,12127,563],{"class":550},[537,12129,12130],{"class":566},"SOC 2 Type II",[537,12132,570],{"class":550},[537,12134,1698],{"class":550},[537,12136,12137,12140],{"class":539,"line":9569},[537,12138,12139],{"class":768},"      reportPeriod",[537,12141,1698],{"class":550},[537,12143,12144,12147],{"class":539,"line":9574},[537,12145,12146],{"class":768},"      systemDescription",[537,12148,1698],{"class":550},[537,12150,12152,12155],{"class":539,"line":12151},184,[537,12153,12154],{"class":768},"      managementAssertion",[537,12156,1698],{"class":550},[537,12158,12160,12163],{"class":539,"line":12159},185,[537,12161,12162],{"class":768},"      controlTesting",[537,12164,1698],{"class":550},[537,12166,12168,12171],{"class":539,"line":12167},186,[537,12169,12170],{"class":768},"      auditorOpinion",[537,12172,1698],{"class":550},[537,12174,12176,12179,12181,12183,12186],{"class":539,"line":12175},187,[537,12177,12178],{"class":556},"      attachments",[537,12180,560],{"class":550},[537,12182,833],{"class":550},[537,12184,12185],{"class":792},"generateReportAttachments",[537,12187,3566],{"class":556},[537,12189,12191],{"class":539,"line":12190},188,[537,12192,1889],{"class":550},[537,12194,12196],{"class":539,"line":12195},189,[537,12197,1091],{"class":550},[537,12199,12201],{"class":539,"line":12200},190,[537,12202,668],{"emptyLinePlaceholder":667},[537,12204,12206,12208,12210,12213,12215,12218,12220,12223,12225,12227,12229,12232,12234,12236],{"class":539,"line":12205},191,[537,12207,683],{"class":542},[537,12209,1104],{"class":542},[537,12211,12212],{"class":556}," performControlTesting",[537,12214,722],{"class":550},[537,12216,12217],{"class":725},"period",[537,12219,560],{"class":550},[537,12221,12222],{"class":546}," ReportPeriod",[537,12224,733],{"class":550},[537,12226,736],{"class":546},[537,12228,739],{"class":550},[537,12230,12231],{"class":546},"ControlTesting",[537,12233,5144],{"class":768},[537,12235,745],{"class":550},[537,12237,551],{"class":550},[537,12239,12241,12243],{"class":539,"line":12240},192,[537,12242,1668],{"class":758},[537,12244,3328],{"class":556},[537,12246,12248],{"class":539,"line":12247},193,[537,12249,8357],{"class":550},[537,12251,12253,12256,12258,12260,12262,12264],{"class":539,"line":12252},194,[537,12254,12255],{"class":556},"        controlId",[537,12257,560],{"class":550},[537,12259,563],{"class":550},[537,12261,9905],{"class":566},[537,12263,570],{"class":550},[537,12265,1698],{"class":550},[537,12267,12269,12272,12274,12276,12278,12280],{"class":539,"line":12268},195,[537,12270,12271],{"class":556},"        controlDescription",[537,12273,560],{"class":550},[537,12275,563],{"class":550},[537,12277,9937],{"class":566},[537,12279,570],{"class":550},[537,12281,1698],{"class":550},[537,12283,12285,12288,12290],{"class":539,"line":12284},196,[537,12286,12287],{"class":556},"        testingProcedures",[537,12289,560],{"class":550},[537,12291,3328],{"class":556},[537,12293,12295,12298,12301,12303],{"class":539,"line":12294},197,[537,12296,12297],{"class":550},"          '",[537,12299,12300],{"class":566},"Review access control policies and procedures",[537,12302,570],{"class":550},[537,12304,1698],{"class":550},[537,12306,12308,12310,12313,12315],{"class":539,"line":12307},198,[537,12309,12297],{"class":550},[537,12311,12312],{"class":566},"Test user access provisioning and deprovisioning",[537,12314,570],{"class":550},[537,12316,1698],{"class":550},[537,12318,12320,12322,12325,12327],{"class":539,"line":12319},199,[537,12321,12297],{"class":550},[537,12323,12324],{"class":566},"Verify multi-factor authentication implementation",[537,12326,570],{"class":550},[537,12328,1698],{"class":550},[537,12330,12332,12334,12337],{"class":539,"line":12331},200,[537,12333,12297],{"class":550},[537,12335,12336],{"class":566},"Test privileged access management",[537,12338,1877],{"class":550},[537,12340,12342,12345],{"class":539,"line":12341},201,[537,12343,12344],{"class":556},"        ]",[537,12346,1698],{"class":550},[537,12348,12350,12353,12355],{"class":539,"line":12349},202,[537,12351,12352],{"class":556},"        testingResults",[537,12354,560],{"class":550},[537,12356,3328],{"class":556},[537,12358,12360],{"class":539,"line":12359},203,[537,12361,12362],{"class":550},"          {\n",[537,12364,12366,12369,12371,12373,12375,12377,12379,12382,12384,12386],{"class":539,"line":12365},204,[537,12367,12368],{"class":556},"            testDate",[537,12370,560],{"class":550},[537,12372,789],{"class":550},[537,12374,655],{"class":792},[537,12376,722],{"class":556},[537,12378,570],{"class":550},[537,12380,12381],{"class":566},"2024-03-15",[537,12383,570],{"class":550},[537,12385,805],{"class":556},[537,12387,1698],{"class":550},[537,12389,12391,12394,12396,12398,12401,12403],{"class":539,"line":12390},205,[537,12392,12393],{"class":556},"            procedure",[537,12395,560],{"class":550},[537,12397,563],{"class":550},[537,12399,12400],{"class":566},"User access provisioning test",[537,12402,570],{"class":550},[537,12404,1698],{"class":550},[537,12406,12408,12411,12413,12415,12417,12419],{"class":539,"line":12407},206,[537,12409,12410],{"class":556},"            result",[537,12412,560],{"class":550},[537,12414,563],{"class":550},[537,12416,10101],{"class":566},[537,12418,570],{"class":550},[537,12420,1698],{"class":550},[537,12422,12424,12427,12429,12432],{"class":539,"line":12423},207,[537,12425,12426],{"class":556},"            sampleSize",[537,12428,560],{"class":550},[537,12430,12431],{"class":7027}," 25",[537,12433,1698],{"class":550},[537,12435,12437,12440,12442,12444],{"class":539,"line":12436},208,[537,12438,12439],{"class":556},"            exceptions",[537,12441,560],{"class":550},[537,12443,11752],{"class":7027},[537,12445,1698],{"class":550},[537,12447,12449,12452,12454,12456,12459],{"class":539,"line":12448},209,[537,12450,12451],{"class":556},"            details",[537,12453,560],{"class":550},[537,12455,563],{"class":550},[537,12457,12458],{"class":566},"All user access requests properly authorized and implemented",[537,12460,1877],{"class":550},[537,12462,12464],{"class":539,"line":12463},210,[537,12465,12466],{"class":550},"          }\n",[537,12468,12470,12472],{"class":539,"line":12469},211,[537,12471,12344],{"class":556},[537,12473,1698],{"class":550},[537,12475,12477,12480,12482,12484,12486,12488],{"class":539,"line":12476},212,[537,12478,12479],{"class":556},"        overallResult",[537,12481,560],{"class":550},[537,12483,563],{"class":550},[537,12485,10101],{"class":566},[537,12487,570],{"class":550},[537,12489,1698],{"class":550},[537,12491,12493,12496,12498],{"class":539,"line":12492},213,[537,12494,12495],{"class":556},"        testingPeriod",[537,12497,560],{"class":550},[537,12499,12500],{"class":768}," period\n",[537,12502,12504],{"class":539,"line":12503},214,[537,12505,1883],{"class":550},[537,12507,12509,12511],{"class":539,"line":12508},215,[537,12510,8729],{"class":556},[537,12512,610],{"class":550},[537,12514,12516],{"class":539,"line":12515},216,[537,12517,1091],{"class":550},[537,12519,12521],{"class":539,"line":12520},217,[537,12522,662],{"class":550},[512,12524,12526],{"id":12525},"data-protection-standards","Data Protection Standards",[517,12528,12530],{"id":12529},"encryption-standards","Encryption Standards",[522,12532,12534],{"id":12533},"cryptographic-controls-implementation","Cryptographic Controls Implementation",[527,12536,12538],{"className":529,"code":12537,"language":531,"meta":532,"style":532},"interface CryptographicStandard {\n  algorithm: string;\n  keySize: number;\n  mode: string;\n  padding: string;\n  approvedFor: string[];\n  deprecationDate?: Date;\n}\n\nclass CryptographyManager {\n  private approvedStandards: Map\u003Cstring, CryptographicStandard>;\n  private keyManager: KeyManager;\n\n  constructor() {\n    this.approvedStandards = new Map();\n    this.initializeStandards();\n    this.keyManager = new KeyManager();\n  }\n\n  private initializeStandards(): void {\n    // AES-256-GCM for data at rest\n    this.approvedStandards.set('AES-256-GCM', {\n      algorithm: 'AES',\n      keySize: 256,\n      mode: 'GCM',\n      padding: 'None',\n      approvedFor: ['data_at_rest', 'data_in_transit'],\n      deprecationDate: new Date('2030-01-01')\n    });\n\n    // RSA-4096 for digital signatures\n    this.approvedStandards.set('RSA-4096', {\n      algorithm: 'RSA',\n      keySize: 4096,\n      mode: 'None',\n      padding: 'OAEP',\n      approvedFor: ['digital_signatures', 'key_exchange'],\n      deprecationDate: new Date('2035-01-01')\n    });\n\n    // SHA-256 for hashing\n    this.approvedStandards.set('SHA-256', {\n      algorithm: 'SHA',\n      keySize: 256,\n      mode: 'None',\n      padding: 'None',\n      approvedFor: ['hashing', 'integrity_verification'],\n      deprecationDate: new Date('2030-01-01')\n    });\n  }\n\n  async encryptData(\n    data: Buffer, \n    standardId: string, \n    context: EncryptionContext\n  ): Promise\u003CEncryptedData> {\n    const standard = this.approvedStandards.get(standardId);\n    if (!standard) {\n      throw new Error(`Cryptographic standard ${standardId} not approved`);\n    }\n\n    // Check if standard is deprecated\n    if (standard.deprecationDate && new Date() > standard.deprecationDate) {\n      throw new Error(`Cryptographic standard ${standardId} is deprecated`);\n    }\n\n    // Get appropriate key\n    const key = await this.keyManager.getKey(standardId, context);\n    \n    // Perform encryption\n    const encryptedData = await this.performEncryption(data, standard, key);\n    \n    // Log encryption operation\n    await this.logCryptographicOperation('encrypt', standardId, context);\n\n    return encryptedData;\n  }\n\n  private async performEncryption(\n    data: Buffer, \n    standard: CryptographicStandard, \n    key: CryptoKey\n  ): Promise\u003CEncryptedData> {\n    switch (standard.algorithm) {\n      case 'AES':\n        return await this.encryptAES(data, standard, key);\n      case 'RSA':\n        return await this.encryptRSA(data, standard, key);\n      default:\n        throw new Error(`Unsupported algorithm: ${standard.algorithm}`);\n    }\n  }\n\n  private async encryptAES(\n    data: Buffer, \n    standard: CryptographicStandard, \n    key: CryptoKey\n  ): Promise\u003CEncryptedData> {\n    const iv = crypto.randomBytes(16);\n    const cipher = crypto.createCipher(standard.mode, key);\n    cipher.setAAD(Buffer.from(context.additionalData || ''));\n\n    let encrypted = cipher.update(data);\n    encrypted = Buffer.concat([encrypted, cipher.final()]);\n    \n    const authTag = cipher.getAuthTag();\n\n    return {\n      encryptedData: encrypted,\n      iv: iv,\n      authTag: authTag,\n      algorithm: `${standard.algorithm}-${standard.keySize}-${standard.mode}`,\n      keyId: key.id,\n      timestamp: new Date()\n    };\n  }\n\n  async verifyCompliance(): Promise\u003CCryptographyComplianceReport> {\n    const keyInventory = await this.keyManager.getKeyInventory();\n    const algorithmUsage = await this.analyzeAlgorithmUsage();\n    const keyRotationStatus = await this.checkKeyRotation();\n    const deprecatedStandards = await this.checkDeprecatedStandards();\n\n    return {\n      reportDate: new Date(),\n      overallCompliance: this.calculateOverallCompliance({\n        keyInventory,\n        algorithmUsage,\n        keyRotationStatus,\n        deprecatedStandards\n      }),\n      keyInventory,\n      algorithmUsage,\n      keyRotationStatus,\n      deprecatedStandards,\n      recommendations: this.generateCryptoRecommendations({\n        keyInventory,\n        algorithmUsage,\n        keyRotationStatus,\n        deprecatedStandards\n      })\n    };\n  }\n\n  private async checkKeyRotation(): Promise\u003CKeyRotationStatus> {\n    const keys = await this.keyManager.getAllKeys();\n    const rotationResults = keys.map(key => ({\n      keyId: key.id,\n      lastRotated: key.lastRotated,\n      rotationRequired: this.isRotationRequired(key),\n      rotationSchedule: key.rotationSchedule\n    }));\n\n    return {\n      totalKeys: keys.length,\n      keysRequiringRotation: rotationResults.filter(r => r.rotationRequired).length,\n      rotationResults,\n      complianceScore: this.calculateRotationCompliance(rotationResults)\n    };\n  }\n\n  private isRotationRequired(key: StoredKey): boolean {\n    const daysSinceRotation = (Date.now() - key.lastRotated.getTime()) / (1000 * 60 * 60 * 24);\n    return daysSinceRotation > key.rotationSchedule.maxDays;\n  }\n}\n",[534,12539,12540,12549,12560,12572,12583,12594,12607,12618,12622,12626,12635,12656,12670,12674,12682,12699,12710,12727,12731,12735,12748,12753,12776,12792,12804,12820,12836,12865,12887,12895,12899,12904,12927,12942,12953,12967,12982,13010,13031,13039,13043,13048,13071,13086,13096,13110,13124,13152,13172,13180,13184,13188,13197,13211,13224,13233,13248,13275,13290,13320,13324,13328,13333,13366,13395,13399,13403,13408,13440,13444,13449,13480,13484,13489,13520,13524,13532,13536,13540,13551,13563,13576,13586,13600,13617,13629,13657,13669,13696,13703,13733,13737,13741,13745,13756,13768,13780,13788,13802,13828,13861,13900,13904,13928,13962,13966,13986,13990,13996,14007,14018,14029,14073,14088,14100,14104,14108,14112,14132,14156,14176,14196,14216,14220,14226,14240,14254,14261,14268,14275,14280,14288,14295,14302,14309,14316,14331,14337,14343,14349,14353,14359,14363,14367,14371,14393,14417,14443,14457,14473,14493,14507,14515,14519,14525,14540,14576,14583,14602,14606,14610,14614,14636,14694,14717,14721],{"__ignoreMap":532},[537,12541,12542,12544,12547],{"class":539,"line":82},[537,12543,543],{"class":542},[537,12545,12546],{"class":546}," CryptographicStandard",[537,12548,551],{"class":550},[537,12550,12551,12554,12556,12558],{"class":539,"line":114},[537,12552,12553],{"class":556},"  algorithm",[537,12555,560],{"class":550},[537,12557,620],{"class":546},[537,12559,610],{"class":550},[537,12561,12562,12565,12567,12570],{"class":539,"line":146},[537,12563,12564],{"class":556},"  keySize",[537,12566,560],{"class":550},[537,12568,12569],{"class":546}," number",[537,12571,610],{"class":550},[537,12573,12574,12577,12579,12581],{"class":539,"line":178},[537,12575,12576],{"class":556},"  mode",[537,12578,560],{"class":550},[537,12580,620],{"class":546},[537,12582,610],{"class":550},[537,12584,12585,12588,12590,12592],{"class":539,"line":268},[537,12586,12587],{"class":556},"  padding",[537,12589,560],{"class":550},[537,12591,620],{"class":546},[537,12593,610],{"class":550},[537,12595,12596,12599,12601,12603,12605],{"class":539,"line":273},[537,12597,12598],{"class":556},"  approvedFor",[537,12600,560],{"class":550},[537,12602,620],{"class":546},[537,12604,5144],{"class":768},[537,12606,610],{"class":550},[537,12608,12609,12612,12614,12616],{"class":539,"line":279},[537,12610,12611],{"class":556},"  deprecationDate",[537,12613,2191],{"class":550},[537,12615,655],{"class":546},[537,12617,610],{"class":550},[537,12619,12620],{"class":539,"line":285},[537,12621,662],{"class":550},[537,12623,12624],{"class":539,"line":291},[537,12625,668],{"emptyLinePlaceholder":667},[537,12627,12628,12630,12633],{"class":539,"line":222},[537,12629,673],{"class":542},[537,12631,12632],{"class":546}," CryptographyManager",[537,12634,551],{"class":550},[537,12636,12637,12639,12642,12644,12646,12648,12650,12652,12654],{"class":539,"line":227},[537,12638,683],{"class":542},[537,12640,12641],{"class":556}," approvedStandards",[537,12643,560],{"class":550},[537,12645,7539],{"class":546},[537,12647,739],{"class":550},[537,12649,4893],{"class":546},[537,12651,1213],{"class":550},[537,12653,12546],{"class":546},[537,12655,7550],{"class":550},[537,12657,12658,12660,12663,12665,12668],{"class":539,"line":232},[537,12659,683],{"class":542},[537,12661,12662],{"class":556}," keyManager",[537,12664,560],{"class":550},[537,12666,12667],{"class":546}," KeyManager",[537,12669,610],{"class":550},[537,12671,12672],{"class":539,"line":238},[537,12673,668],{"emptyLinePlaceholder":667},[537,12675,12676,12678,12680],{"class":539,"line":243},[537,12677,7571],{"class":542},[537,12679,1973],{"class":550},[537,12681,551],{"class":550},[537,12683,12684,12686,12689,12691,12693,12695,12697],{"class":539,"line":248},[537,12685,7580],{"class":550},[537,12687,12688],{"class":768},"approvedStandards",[537,12690,1139],{"class":550},[537,12692,789],{"class":550},[537,12694,7539],{"class":792},[537,12696,1973],{"class":556},[537,12698,610],{"class":550},[537,12700,12701,12703,12706,12708],{"class":539,"line":783},[537,12702,7580],{"class":550},[537,12704,12705],{"class":792},"initializeStandards",[537,12707,1973],{"class":556},[537,12709,610],{"class":550},[537,12711,12712,12714,12717,12719,12721,12723,12725],{"class":539,"line":810},[537,12713,7580],{"class":550},[537,12715,12716],{"class":768},"keyManager",[537,12718,1139],{"class":550},[537,12720,789],{"class":550},[537,12722,12667],{"class":792},[537,12724,1973],{"class":556},[537,12726,610],{"class":550},[537,12728,12729],{"class":539,"line":816},[537,12730,1091],{"class":550},[537,12732,12733],{"class":539,"line":821},[537,12734,668],{"emptyLinePlaceholder":667},[537,12736,12737,12739,12742,12744,12746],{"class":539,"line":827},[537,12738,683],{"class":542},[537,12740,12741],{"class":556}," initializeStandards",[537,12743,3273],{"class":550},[537,12745,7624],{"class":546},[537,12747,551],{"class":550},[537,12749,12750],{"class":539,"line":852},[537,12751,12752],{"class":752},"    // AES-256-GCM for data at rest\n",[537,12754,12755,12757,12759,12761,12763,12765,12767,12770,12772,12774],{"class":539,"line":857},[537,12756,7580],{"class":550},[537,12758,12688],{"class":768},[537,12760,771],{"class":550},[537,12762,11095],{"class":792},[537,12764,722],{"class":556},[537,12766,570],{"class":550},[537,12768,12769],{"class":566},"AES-256-GCM",[537,12771,570],{"class":550},[537,12773,1213],{"class":550},[537,12775,551],{"class":550},[537,12777,12778,12781,12783,12785,12788,12790],{"class":539,"line":876},[537,12779,12780],{"class":556},"      algorithm",[537,12782,560],{"class":550},[537,12784,563],{"class":550},[537,12786,12787],{"class":566},"AES",[537,12789,570],{"class":550},[537,12791,1698],{"class":550},[537,12793,12794,12797,12799,12802],{"class":539,"line":891},[537,12795,12796],{"class":556},"      keySize",[537,12798,560],{"class":550},[537,12800,12801],{"class":7027}," 256",[537,12803,1698],{"class":550},[537,12805,12806,12809,12811,12813,12816,12818],{"class":539,"line":915},[537,12807,12808],{"class":556},"      mode",[537,12810,560],{"class":550},[537,12812,563],{"class":550},[537,12814,12815],{"class":566},"GCM",[537,12817,570],{"class":550},[537,12819,1698],{"class":550},[537,12821,12822,12825,12827,12829,12832,12834],{"class":539,"line":923},[537,12823,12824],{"class":556},"      padding",[537,12826,560],{"class":550},[537,12828,563],{"class":550},[537,12830,12831],{"class":566},"None",[537,12833,570],{"class":550},[537,12835,1698],{"class":550},[537,12837,12838,12841,12843,12845,12847,12850,12852,12854,12856,12859,12861,12863],{"class":539,"line":936},[537,12839,12840],{"class":556},"      approvedFor",[537,12842,560],{"class":550},[537,12844,5625],{"class":556},[537,12846,570],{"class":550},[537,12848,12849],{"class":566},"data_at_rest",[537,12851,570],{"class":550},[537,12853,1213],{"class":550},[537,12855,563],{"class":550},[537,12857,12858],{"class":566},"data_in_transit",[537,12860,570],{"class":550},[537,12862,5706],{"class":556},[537,12864,1698],{"class":550},[537,12866,12867,12870,12872,12874,12876,12878,12880,12883,12885],{"class":539,"line":954},[537,12868,12869],{"class":556},"      deprecationDate",[537,12871,560],{"class":550},[537,12873,789],{"class":550},[537,12875,655],{"class":792},[537,12877,722],{"class":556},[537,12879,570],{"class":550},[537,12881,12882],{"class":566},"2030-01-01",[537,12884,570],{"class":550},[537,12886,2530],{"class":556},[537,12888,12889,12891,12893],{"class":539,"line":961},[537,12890,7877],{"class":550},[537,12892,805],{"class":556},[537,12894,610],{"class":550},[537,12896,12897],{"class":539,"line":974},[537,12898,668],{"emptyLinePlaceholder":667},[537,12900,12901],{"class":539,"line":996},[537,12902,12903],{"class":752},"    // RSA-4096 for digital signatures\n",[537,12905,12906,12908,12910,12912,12914,12916,12918,12921,12923,12925],{"class":539,"line":1003},[537,12907,7580],{"class":550},[537,12909,12688],{"class":768},[537,12911,771],{"class":550},[537,12913,11095],{"class":792},[537,12915,722],{"class":556},[537,12917,570],{"class":550},[537,12919,12920],{"class":566},"RSA-4096",[537,12922,570],{"class":550},[537,12924,1213],{"class":550},[537,12926,551],{"class":550},[537,12928,12929,12931,12933,12935,12938,12940],{"class":539,"line":1016},[537,12930,12780],{"class":556},[537,12932,560],{"class":550},[537,12934,563],{"class":550},[537,12936,12937],{"class":566},"RSA",[537,12939,570],{"class":550},[537,12941,1698],{"class":550},[537,12943,12944,12946,12948,12951],{"class":539,"line":1038},[537,12945,12796],{"class":556},[537,12947,560],{"class":550},[537,12949,12950],{"class":7027}," 4096",[537,12952,1698],{"class":550},[537,12954,12955,12957,12959,12961,12963,12965],{"class":539,"line":1045},[537,12956,12808],{"class":556},[537,12958,560],{"class":550},[537,12960,563],{"class":550},[537,12962,12831],{"class":566},[537,12964,570],{"class":550},[537,12966,1698],{"class":550},[537,12968,12969,12971,12973,12975,12978,12980],{"class":539,"line":1058},[537,12970,12824],{"class":556},[537,12972,560],{"class":550},[537,12974,563],{"class":550},[537,12976,12977],{"class":566},"OAEP",[537,12979,570],{"class":550},[537,12981,1698],{"class":550},[537,12983,12984,12986,12988,12990,12992,12995,12997,12999,13001,13004,13006,13008],{"class":539,"line":1076},[537,12985,12840],{"class":556},[537,12987,560],{"class":550},[537,12989,5625],{"class":556},[537,12991,570],{"class":550},[537,12993,12994],{"class":566},"digital_signatures",[537,12996,570],{"class":550},[537,12998,1213],{"class":550},[537,13000,563],{"class":550},[537,13002,13003],{"class":566},"key_exchange",[537,13005,570],{"class":550},[537,13007,5706],{"class":556},[537,13009,1698],{"class":550},[537,13011,13012,13014,13016,13018,13020,13022,13024,13027,13029],{"class":539,"line":1083},[537,13013,12869],{"class":556},[537,13015,560],{"class":550},[537,13017,789],{"class":550},[537,13019,655],{"class":792},[537,13021,722],{"class":556},[537,13023,570],{"class":550},[537,13025,13026],{"class":566},"2035-01-01",[537,13028,570],{"class":550},[537,13030,2530],{"class":556},[537,13032,13033,13035,13037],{"class":539,"line":1088},[537,13034,7877],{"class":550},[537,13036,805],{"class":556},[537,13038,610],{"class":550},[537,13040,13041],{"class":539,"line":1094},[537,13042,668],{"emptyLinePlaceholder":667},[537,13044,13045],{"class":539,"line":1099},[537,13046,13047],{"class":752},"    // SHA-256 for hashing\n",[537,13049,13050,13052,13054,13056,13058,13060,13062,13065,13067,13069],{"class":539,"line":1130},[537,13051,7580],{"class":550},[537,13053,12688],{"class":768},[537,13055,771],{"class":550},[537,13057,11095],{"class":792},[537,13059,722],{"class":556},[537,13061,570],{"class":550},[537,13063,13064],{"class":566},"SHA-256",[537,13066,570],{"class":550},[537,13068,1213],{"class":550},[537,13070,551],{"class":550},[537,13072,13073,13075,13077,13079,13082,13084],{"class":539,"line":1163},[537,13074,12780],{"class":556},[537,13076,560],{"class":550},[537,13078,563],{"class":550},[537,13080,13081],{"class":566},"SHA",[537,13083,570],{"class":550},[537,13085,1698],{"class":550},[537,13087,13088,13090,13092,13094],{"class":539,"line":1187},[537,13089,12796],{"class":556},[537,13091,560],{"class":550},[537,13093,12801],{"class":7027},[537,13095,1698],{"class":550},[537,13097,13098,13100,13102,13104,13106,13108],{"class":539,"line":1193},[537,13099,12808],{"class":556},[537,13101,560],{"class":550},[537,13103,563],{"class":550},[537,13105,12831],{"class":566},[537,13107,570],{"class":550},[537,13109,1698],{"class":550},[537,13111,13112,13114,13116,13118,13120,13122],{"class":539,"line":1199},[537,13113,12824],{"class":556},[537,13115,560],{"class":550},[537,13117,563],{"class":550},[537,13119,12831],{"class":566},[537,13121,570],{"class":550},[537,13123,1698],{"class":550},[537,13125,13126,13128,13130,13132,13134,13137,13139,13141,13143,13146,13148,13150],{"class":539,"line":1222},[537,13127,12840],{"class":556},[537,13129,560],{"class":550},[537,13131,5625],{"class":556},[537,13133,570],{"class":550},[537,13135,13136],{"class":566},"hashing",[537,13138,570],{"class":550},[537,13140,1213],{"class":550},[537,13142,563],{"class":550},[537,13144,13145],{"class":566},"integrity_verification",[537,13147,570],{"class":550},[537,13149,5706],{"class":556},[537,13151,1698],{"class":550},[537,13153,13154,13156,13158,13160,13162,13164,13166,13168,13170],{"class":539,"line":1227},[537,13155,12869],{"class":556},[537,13157,560],{"class":550},[537,13159,789],{"class":550},[537,13161,655],{"class":792},[537,13163,722],{"class":556},[537,13165,570],{"class":550},[537,13167,12882],{"class":566},[537,13169,570],{"class":550},[537,13171,2530],{"class":556},[537,13173,13174,13176,13178],{"class":539,"line":1233},[537,13175,7877],{"class":550},[537,13177,805],{"class":556},[537,13179,610],{"class":550},[537,13181,13182],{"class":539,"line":1264},[537,13183,1091],{"class":550},[537,13185,13186],{"class":539,"line":1269},[537,13187,668],{"emptyLinePlaceholder":667},[537,13189,13190,13192,13195],{"class":539,"line":1274},[537,13191,716],{"class":542},[537,13193,13194],{"class":556}," encryptData",[537,13196,2348],{"class":550},[537,13198,13199,13202,13204,13207,13209],{"class":539,"line":1304},[537,13200,13201],{"class":725},"    data",[537,13203,560],{"class":550},[537,13205,13206],{"class":546}," Buffer",[537,13208,1213],{"class":550},[537,13210,2362],{"class":768},[537,13212,13213,13216,13218,13220,13222],{"class":539,"line":1310},[537,13214,13215],{"class":725},"    standardId",[537,13217,560],{"class":550},[537,13219,620],{"class":546},[537,13221,1213],{"class":550},[537,13223,2362],{"class":768},[537,13225,13226,13228,13230],{"class":539,"line":1335},[537,13227,2391],{"class":725},[537,13229,560],{"class":550},[537,13231,13232],{"class":546}," EncryptionContext\n",[537,13234,13235,13237,13239,13241,13244,13246],{"class":539,"line":1340},[537,13236,2401],{"class":550},[537,13238,736],{"class":546},[537,13240,739],{"class":550},[537,13242,13243],{"class":546},"EncryptedData",[537,13245,745],{"class":550},[537,13247,551],{"class":550},[537,13249,13250,13252,13255,13257,13259,13261,13263,13266,13268,13271,13273],{"class":539,"line":1356},[537,13251,1133],{"class":542},[537,13253,13254],{"class":768}," standard",[537,13256,1139],{"class":550},[537,13258,833],{"class":550},[537,13260,12688],{"class":768},[537,13262,771],{"class":550},[537,13264,13265],{"class":792},"get",[537,13267,722],{"class":556},[537,13269,13270],{"class":768},"standardId",[537,13272,805],{"class":556},[537,13274,610],{"class":550},[537,13276,13277,13279,13281,13283,13286,13288],{"class":539,"line":1384},[537,13278,759],{"class":758},[537,13280,762],{"class":556},[537,13282,765],{"class":550},[537,13284,13285],{"class":768},"standard",[537,13287,777],{"class":556},[537,13289,780],{"class":550},[537,13291,13292,13294,13296,13298,13300,13302,13305,13307,13309,13311,13314,13316,13318],{"class":539,"line":1392},[537,13293,786],{"class":758},[537,13295,789],{"class":550},[537,13297,793],{"class":792},[537,13299,722],{"class":556},[537,13301,2007],{"class":550},[537,13303,13304],{"class":566},"Cryptographic standard ",[537,13306,1964],{"class":550},[537,13308,13270],{"class":768},[537,13310,2001],{"class":550},[537,13312,13313],{"class":566}," not approved",[537,13315,2007],{"class":550},[537,13317,805],{"class":556},[537,13319,610],{"class":550},[537,13321,13322],{"class":539,"line":1397},[537,13323,813],{"class":550},[537,13325,13326],{"class":539,"line":1402},[537,13327,668],{"emptyLinePlaceholder":667},[537,13329,13330],{"class":539,"line":1408},[537,13331,13332],{"class":752},"    // Check if standard is deprecated\n",[537,13334,13335,13337,13339,13341,13343,13346,13348,13350,13352,13354,13356,13358,13360,13362,13364],{"class":539,"line":1426},[537,13336,759],{"class":758},[537,13338,762],{"class":556},[537,13340,13285],{"class":768},[537,13342,771],{"class":550},[537,13344,13345],{"class":768},"deprecationDate",[537,13347,2906],{"class":550},[537,13349,789],{"class":550},[537,13351,655],{"class":792},[537,13353,10759],{"class":556},[537,13355,745],{"class":550},[537,13357,13254],{"class":768},[537,13359,771],{"class":550},[537,13361,13345],{"class":768},[537,13363,777],{"class":556},[537,13365,780],{"class":550},[537,13367,13368,13370,13372,13374,13376,13378,13380,13382,13384,13386,13389,13391,13393],{"class":539,"line":1431},[537,13369,786],{"class":758},[537,13371,789],{"class":550},[537,13373,793],{"class":792},[537,13375,722],{"class":556},[537,13377,2007],{"class":550},[537,13379,13304],{"class":566},[537,13381,1964],{"class":550},[537,13383,13270],{"class":768},[537,13385,2001],{"class":550},[537,13387,13388],{"class":566}," is deprecated",[537,13390,2007],{"class":550},[537,13392,805],{"class":556},[537,13394,610],{"class":550},[537,13396,13397],{"class":539,"line":1437},[537,13398,813],{"class":550},[537,13400,13401],{"class":539,"line":1468},[537,13402,668],{"emptyLinePlaceholder":667},[537,13404,13405],{"class":539,"line":1473},[537,13406,13407],{"class":752},"    // Get appropriate key\n",[537,13409,13410,13412,13415,13417,13419,13421,13423,13425,13428,13430,13432,13434,13436,13438],{"class":539,"line":1478},[537,13411,1133],{"class":542},[537,13413,13414],{"class":768}," key",[537,13416,1139],{"class":550},[537,13418,1142],{"class":758},[537,13420,833],{"class":550},[537,13422,12716],{"class":768},[537,13424,771],{"class":550},[537,13426,13427],{"class":792},"getKey",[537,13429,722],{"class":556},[537,13431,13270],{"class":768},[537,13433,1213],{"class":550},[537,13435,2487],{"class":768},[537,13437,805],{"class":556},[537,13439,610],{"class":550},[537,13441,13442],{"class":539,"line":1508},[537,13443,1190],{"class":556},[537,13445,13446],{"class":539,"line":1535},[537,13447,13448],{"class":752},"    // Perform encryption\n",[537,13450,13451,13453,13455,13457,13459,13461,13464,13466,13468,13470,13472,13474,13476,13478],{"class":539,"line":1558},[537,13452,1133],{"class":542},[537,13454,5499],{"class":768},[537,13456,1139],{"class":550},[537,13458,1142],{"class":758},[537,13460,833],{"class":550},[537,13462,13463],{"class":792},"performEncryption",[537,13465,722],{"class":556},[537,13467,6152],{"class":768},[537,13469,1213],{"class":550},[537,13471,13254],{"class":768},[537,13473,1213],{"class":550},[537,13475,13414],{"class":768},[537,13477,805],{"class":556},[537,13479,610],{"class":550},[537,13481,13482],{"class":539,"line":1563},[537,13483,1190],{"class":556},[537,13485,13486],{"class":539,"line":1569},[537,13487,13488],{"class":752},"    // Log encryption operation\n",[537,13490,13491,13493,13495,13498,13500,13502,13505,13507,13509,13512,13514,13516,13518],{"class":539,"line":1591},[537,13492,830],{"class":758},[537,13494,833],{"class":550},[537,13496,13497],{"class":792},"logCryptographicOperation",[537,13499,722],{"class":556},[537,13501,570],{"class":550},[537,13503,13504],{"class":566},"encrypt",[537,13506,570],{"class":550},[537,13508,1213],{"class":550},[537,13510,13511],{"class":768}," standardId",[537,13513,1213],{"class":550},[537,13515,2487],{"class":768},[537,13517,805],{"class":556},[537,13519,610],{"class":550},[537,13521,13522],{"class":539,"line":1596},[537,13523,668],{"emptyLinePlaceholder":667},[537,13525,13526,13528,13530],{"class":539,"line":1602},[537,13527,1668],{"class":758},[537,13529,5499],{"class":768},[537,13531,610],{"class":550},[537,13533,13534],{"class":539,"line":1632},[537,13535,1091],{"class":550},[537,13537,13538],{"class":539,"line":1637},[537,13539,668],{"emptyLinePlaceholder":667},[537,13541,13542,13544,13546,13549],{"class":539,"line":1642},[537,13543,683],{"class":542},[537,13545,1104],{"class":542},[537,13547,13548],{"class":556}," performEncryption",[537,13550,2348],{"class":550},[537,13552,13553,13555,13557,13559,13561],{"class":539,"line":1665},[537,13554,13201],{"class":725},[537,13556,560],{"class":550},[537,13558,13206],{"class":546},[537,13560,1213],{"class":550},[537,13562,2362],{"class":768},[537,13564,13565,13568,13570,13572,13574],{"class":539,"line":1673},[537,13566,13567],{"class":725},"    standard",[537,13569,560],{"class":550},[537,13571,12546],{"class":546},[537,13573,1213],{"class":550},[537,13575,2362],{"class":768},[537,13577,13578,13581,13583],{"class":539,"line":1683},[537,13579,13580],{"class":725},"    key",[537,13582,560],{"class":550},[537,13584,13585],{"class":546}," CryptoKey\n",[537,13587,13588,13590,13592,13594,13596,13598],{"class":539,"line":1701},[537,13589,2401],{"class":550},[537,13591,736],{"class":546},[537,13593,739],{"class":550},[537,13595,13243],{"class":546},[537,13597,745],{"class":550},[537,13599,551],{"class":550},[537,13601,13602,13604,13606,13608,13610,13613,13615],{"class":539,"line":1718},[537,13603,860],{"class":758},[537,13605,762],{"class":556},[537,13607,13285],{"class":768},[537,13609,771],{"class":550},[537,13611,13612],{"class":768},"algorithm",[537,13614,777],{"class":556},[537,13616,780],{"class":550},[537,13618,13619,13621,13623,13625,13627],{"class":539,"line":1735},[537,13620,879],{"class":758},[537,13622,563],{"class":550},[537,13624,12787],{"class":566},[537,13626,570],{"class":550},[537,13628,888],{"class":550},[537,13630,13631,13634,13636,13638,13641,13643,13645,13647,13649,13651,13653,13655],{"class":539,"line":1750},[537,13632,13633],{"class":758},"        return",[537,13635,1142],{"class":758},[537,13637,833],{"class":550},[537,13639,13640],{"class":792},"encryptAES",[537,13642,722],{"class":556},[537,13644,6152],{"class":768},[537,13646,1213],{"class":550},[537,13648,13254],{"class":768},[537,13650,1213],{"class":550},[537,13652,13414],{"class":768},[537,13654,805],{"class":556},[537,13656,610],{"class":550},[537,13658,13659,13661,13663,13665,13667],{"class":539,"line":1756},[537,13660,879],{"class":758},[537,13662,563],{"class":550},[537,13664,12937],{"class":566},[537,13666,570],{"class":550},[537,13668,888],{"class":550},[537,13670,13671,13673,13675,13677,13680,13682,13684,13686,13688,13690,13692,13694],{"class":539,"line":1766},[537,13672,13633],{"class":758},[537,13674,1142],{"class":758},[537,13676,833],{"class":550},[537,13678,13679],{"class":792},"encryptRSA",[537,13681,722],{"class":556},[537,13683,6152],{"class":768},[537,13685,1213],{"class":550},[537,13687,13254],{"class":768},[537,13689,1213],{"class":550},[537,13691,13414],{"class":768},[537,13693,805],{"class":556},[537,13695,610],{"class":550},[537,13697,13698,13701],{"class":539,"line":1783},[537,13699,13700],{"class":758},"      default",[537,13702,888],{"class":550},[537,13704,13705,13708,13710,13712,13714,13716,13719,13721,13723,13725,13727,13729,13731],{"class":539,"line":1800},[537,13706,13707],{"class":758},"        throw",[537,13709,789],{"class":550},[537,13711,793],{"class":792},[537,13713,722],{"class":556},[537,13715,2007],{"class":550},[537,13717,13718],{"class":566},"Unsupported algorithm: ",[537,13720,1964],{"class":550},[537,13722,13285],{"class":768},[537,13724,771],{"class":550},[537,13726,13612],{"class":768},[537,13728,1976],{"class":550},[537,13730,805],{"class":556},[537,13732,610],{"class":550},[537,13734,13735],{"class":539,"line":1815},[537,13736,813],{"class":550},[537,13738,13739],{"class":539,"line":1820},[537,13740,1091],{"class":550},[537,13742,13743],{"class":539,"line":1830},[537,13744,668],{"emptyLinePlaceholder":667},[537,13746,13747,13749,13751,13754],{"class":539,"line":1847},[537,13748,683],{"class":542},[537,13750,1104],{"class":542},[537,13752,13753],{"class":556}," encryptAES",[537,13755,2348],{"class":550},[537,13757,13758,13760,13762,13764,13766],{"class":539,"line":1864},[537,13759,13201],{"class":725},[537,13761,560],{"class":550},[537,13763,13206],{"class":546},[537,13765,1213],{"class":550},[537,13767,2362],{"class":768},[537,13769,13770,13772,13774,13776,13778],{"class":539,"line":1880},[537,13771,13567],{"class":725},[537,13773,560],{"class":550},[537,13775,12546],{"class":546},[537,13777,1213],{"class":550},[537,13779,2362],{"class":768},[537,13781,13782,13784,13786],{"class":539,"line":1886},[537,13783,13580],{"class":725},[537,13785,560],{"class":550},[537,13787,13585],{"class":546},[537,13789,13790,13792,13794,13796,13798,13800],{"class":539,"line":1892},[537,13791,2401],{"class":550},[537,13793,736],{"class":546},[537,13795,739],{"class":550},[537,13797,13243],{"class":546},[537,13799,745],{"class":550},[537,13801,551],{"class":550},[537,13803,13804,13806,13809,13811,13814,13816,13819,13821,13824,13826],{"class":539,"line":1897},[537,13805,1133],{"class":542},[537,13807,13808],{"class":768}," iv",[537,13810,1139],{"class":550},[537,13812,13813],{"class":768}," crypto",[537,13815,771],{"class":550},[537,13817,13818],{"class":792},"randomBytes",[537,13820,722],{"class":556},[537,13822,13823],{"class":7027},"16",[537,13825,805],{"class":556},[537,13827,610],{"class":550},[537,13829,13830,13832,13835,13837,13839,13841,13844,13846,13848,13850,13853,13855,13857,13859],{"class":539,"line":1902},[537,13831,1133],{"class":542},[537,13833,13834],{"class":768}," cipher",[537,13836,1139],{"class":550},[537,13838,13813],{"class":768},[537,13840,771],{"class":550},[537,13842,13843],{"class":792},"createCipher",[537,13845,722],{"class":556},[537,13847,13285],{"class":768},[537,13849,771],{"class":550},[537,13851,13852],{"class":768},"mode",[537,13854,1213],{"class":550},[537,13856,13414],{"class":768},[537,13858,805],{"class":556},[537,13860,610],{"class":550},[537,13862,13863,13866,13868,13871,13873,13876,13878,13880,13882,13885,13887,13890,13893,13896,13898],{"class":539,"line":1932},[537,13864,13865],{"class":768},"    cipher",[537,13867,771],{"class":550},[537,13869,13870],{"class":792},"setAAD",[537,13872,722],{"class":556},[537,13874,13875],{"class":768},"Buffer",[537,13877,771],{"class":550},[537,13879,9288],{"class":792},[537,13881,722],{"class":556},[537,13883,13884],{"class":768},"context",[537,13886,771],{"class":550},[537,13888,13889],{"class":768},"additionalData",[537,13891,13892],{"class":550}," ||",[537,13894,13895],{"class":550}," ''",[537,13897,8904],{"class":556},[537,13899,610],{"class":550},[537,13901,13902],{"class":539,"line":1938},[537,13903,668],{"emptyLinePlaceholder":667},[537,13905,13906,13909,13912,13914,13916,13918,13920,13922,13924,13926],{"class":539,"line":1950},[537,13907,13908],{"class":542},"    let",[537,13910,13911],{"class":768}," encrypted",[537,13913,1139],{"class":550},[537,13915,13834],{"class":768},[537,13917,771],{"class":550},[537,13919,2948],{"class":792},[537,13921,722],{"class":556},[537,13923,6152],{"class":768},[537,13925,805],{"class":556},[537,13927,610],{"class":550},[537,13929,13930,13933,13935,13937,13939,13942,13945,13948,13950,13952,13954,13957,13960],{"class":539,"line":1981},[537,13931,13932],{"class":768},"    encrypted",[537,13934,1139],{"class":550},[537,13936,13206],{"class":768},[537,13938,771],{"class":550},[537,13940,13941],{"class":792},"concat",[537,13943,13944],{"class":556},"([",[537,13946,13947],{"class":768},"encrypted",[537,13949,1213],{"class":550},[537,13951,13834],{"class":768},[537,13953,771],{"class":550},[537,13955,13956],{"class":792},"final",[537,13958,13959],{"class":556},"()])",[537,13961,610],{"class":550},[537,13963,13964],{"class":539,"line":2012},[537,13965,1190],{"class":556},[537,13967,13968,13970,13973,13975,13977,13979,13982,13984],{"class":539,"line":2029},[537,13969,1133],{"class":542},[537,13971,13972],{"class":768}," authTag",[537,13974,1139],{"class":550},[537,13976,13834],{"class":768},[537,13978,771],{"class":550},[537,13980,13981],{"class":792},"getAuthTag",[537,13983,1973],{"class":556},[537,13985,610],{"class":550},[537,13987,13988],{"class":539,"line":2035},[537,13989,668],{"emptyLinePlaceholder":667},[537,13991,13992,13994],{"class":539,"line":2040},[537,13993,1668],{"class":758},[537,13995,551],{"class":550},[537,13997,13998,14001,14003,14005],{"class":539,"line":2045},[537,13999,14000],{"class":556},"      encryptedData",[537,14002,560],{"class":550},[537,14004,13911],{"class":768},[537,14006,1698],{"class":550},[537,14008,14009,14012,14014,14016],{"class":539,"line":2071},[537,14010,14011],{"class":556},"      iv",[537,14013,560],{"class":550},[537,14015,13808],{"class":768},[537,14017,1698],{"class":550},[537,14019,14020,14023,14025,14027],{"class":539,"line":2076},[537,14021,14022],{"class":556},"      authTag",[537,14024,560],{"class":550},[537,14026,13972],{"class":768},[537,14028,1698],{"class":550},[537,14030,14031,14033,14035,14038,14040,14042,14044,14046,14048,14050,14052,14054,14057,14059,14061,14063,14065,14067,14069,14071],{"class":539,"line":3403},[537,14032,12780],{"class":556},[537,14034,560],{"class":550},[537,14036,14037],{"class":550}," `${",[537,14039,13285],{"class":768},[537,14041,771],{"class":550},[537,14043,13612],{"class":768},[537,14045,2001],{"class":550},[537,14047,10762],{"class":566},[537,14049,1964],{"class":550},[537,14051,13285],{"class":768},[537,14053,771],{"class":550},[537,14055,14056],{"class":768},"keySize",[537,14058,2001],{"class":550},[537,14060,10762],{"class":566},[537,14062,1964],{"class":550},[537,14064,13285],{"class":768},[537,14066,771],{"class":550},[537,14068,13852],{"class":768},[537,14070,1976],{"class":550},[537,14072,1698],{"class":550},[537,14074,14075,14078,14080,14082,14084,14086],{"class":539,"line":3418},[537,14076,14077],{"class":556},"      keyId",[537,14079,560],{"class":550},[537,14081,13414],{"class":768},[537,14083,771],{"class":550},[537,14085,5770],{"class":768},[537,14087,1698],{"class":550},[537,14089,14090,14092,14094,14096,14098],{"class":539,"line":3429},[537,14091,2467],{"class":556},[537,14093,560],{"class":550},[537,14095,789],{"class":550},[537,14097,655],{"class":792},[537,14099,3566],{"class":556},[537,14101,14102],{"class":539,"line":3445},[537,14103,1889],{"class":550},[537,14105,14106],{"class":539,"line":3459},[537,14107,1091],{"class":550},[537,14109,14110],{"class":539,"line":3464},[537,14111,668],{"emptyLinePlaceholder":667},[537,14113,14114,14116,14119,14121,14123,14125,14128,14130],{"class":539,"line":3469},[537,14115,716],{"class":542},[537,14117,14118],{"class":556}," verifyCompliance",[537,14120,3273],{"class":550},[537,14122,736],{"class":546},[537,14124,739],{"class":550},[537,14126,14127],{"class":546},"CryptographyComplianceReport",[537,14129,745],{"class":550},[537,14131,551],{"class":550},[537,14133,14134,14136,14139,14141,14143,14145,14147,14149,14152,14154],{"class":539,"line":3484},[537,14135,1133],{"class":542},[537,14137,14138],{"class":768}," keyInventory",[537,14140,1139],{"class":550},[537,14142,1142],{"class":758},[537,14144,833],{"class":550},[537,14146,12716],{"class":768},[537,14148,771],{"class":550},[537,14150,14151],{"class":792},"getKeyInventory",[537,14153,1973],{"class":556},[537,14155,610],{"class":550},[537,14157,14158,14160,14163,14165,14167,14169,14172,14174],{"class":539,"line":3495},[537,14159,1133],{"class":542},[537,14161,14162],{"class":768}," algorithmUsage",[537,14164,1139],{"class":550},[537,14166,1142],{"class":758},[537,14168,833],{"class":550},[537,14170,14171],{"class":792},"analyzeAlgorithmUsage",[537,14173,1973],{"class":556},[537,14175,610],{"class":550},[537,14177,14178,14180,14183,14185,14187,14189,14192,14194],{"class":539,"line":3511},[537,14179,1133],{"class":542},[537,14181,14182],{"class":768}," keyRotationStatus",[537,14184,1139],{"class":550},[537,14186,1142],{"class":758},[537,14188,833],{"class":550},[537,14190,14191],{"class":792},"checkKeyRotation",[537,14193,1973],{"class":556},[537,14195,610],{"class":550},[537,14197,14198,14200,14203,14205,14207,14209,14212,14214],{"class":539,"line":3525},[537,14199,1133],{"class":542},[537,14201,14202],{"class":768}," deprecatedStandards",[537,14204,1139],{"class":550},[537,14206,1142],{"class":758},[537,14208,833],{"class":550},[537,14210,14211],{"class":792},"checkDeprecatedStandards",[537,14213,1973],{"class":556},[537,14215,610],{"class":550},[537,14217,14218],{"class":539,"line":3531},[537,14219,668],{"emptyLinePlaceholder":667},[537,14221,14222,14224],{"class":539,"line":3539},[537,14223,1668],{"class":758},[537,14225,551],{"class":550},[537,14227,14228,14230,14232,14234,14236,14238],{"class":539,"line":3554},[537,14229,9453],{"class":556},[537,14231,560],{"class":550},[537,14233,789],{"class":550},[537,14235,655],{"class":792},[537,14237,1973],{"class":556},[537,14239,1698],{"class":550},[537,14241,14242,14244,14246,14248,14250,14252],{"class":539,"line":3569},[537,14243,9502],{"class":556},[537,14245,560],{"class":550},[537,14247,833],{"class":550},[537,14249,9509],{"class":792},[537,14251,722],{"class":556},[537,14253,780],{"class":550},[537,14255,14256,14259],{"class":539,"line":3574},[537,14257,14258],{"class":768},"        keyInventory",[537,14260,1698],{"class":550},[537,14262,14263,14266],{"class":539,"line":3579},[537,14264,14265],{"class":768},"        algorithmUsage",[537,14267,1698],{"class":550},[537,14269,14270,14273],{"class":539,"line":6709},[537,14271,14272],{"class":768},"        keyRotationStatus",[537,14274,1698],{"class":550},[537,14276,14277],{"class":539,"line":6714},[537,14278,14279],{"class":768},"        deprecatedStandards\n",[537,14281,14282,14284,14286],{"class":539,"line":6719},[537,14283,4745],{"class":550},[537,14285,805],{"class":556},[537,14287,1698],{"class":550},[537,14289,14290,14293],{"class":539,"line":6751},[537,14291,14292],{"class":768},"      keyInventory",[537,14294,1698],{"class":550},[537,14296,14297,14300],{"class":539,"line":6768},[537,14298,14299],{"class":768},"      algorithmUsage",[537,14301,1698],{"class":550},[537,14303,14304,14307],{"class":539,"line":6773},[537,14305,14306],{"class":768},"      keyRotationStatus",[537,14308,1698],{"class":550},[537,14310,14311,14314],{"class":539,"line":6796},[537,14312,14313],{"class":768},"      deprecatedStandards",[537,14315,1698],{"class":550},[537,14317,14318,14320,14322,14324,14327,14329],{"class":539,"line":6816},[537,14319,9125],{"class":556},[537,14321,560],{"class":550},[537,14323,833],{"class":550},[537,14325,14326],{"class":792},"generateCryptoRecommendations",[537,14328,722],{"class":556},[537,14330,780],{"class":550},[537,14332,14333,14335],{"class":539,"line":6835},[537,14334,14258],{"class":768},[537,14336,1698],{"class":550},[537,14338,14339,14341],{"class":539,"line":6876},[537,14340,14265],{"class":768},[537,14342,1698],{"class":550},[537,14344,14345,14347],{"class":539,"line":6887},[537,14346,14272],{"class":768},[537,14348,1698],{"class":550},[537,14350,14351],{"class":539,"line":6919},[537,14352,14279],{"class":768},[537,14354,14355,14357],{"class":539,"line":6924},[537,14356,4745],{"class":550},[537,14358,2530],{"class":556},[537,14360,14361],{"class":539,"line":6929},[537,14362,1889],{"class":550},[537,14364,14365],{"class":539,"line":6934},[537,14366,1091],{"class":550},[537,14368,14369],{"class":539,"line":6939},[537,14370,668],{"emptyLinePlaceholder":667},[537,14372,14373,14375,14377,14380,14382,14384,14386,14389,14391],{"class":539,"line":6948},[537,14374,683],{"class":542},[537,14376,1104],{"class":542},[537,14378,14379],{"class":556}," checkKeyRotation",[537,14381,3273],{"class":550},[537,14383,736],{"class":546},[537,14385,739],{"class":550},[537,14387,14388],{"class":546},"KeyRotationStatus",[537,14390,745],{"class":550},[537,14392,551],{"class":550},[537,14394,14395,14397,14400,14402,14404,14406,14408,14410,14413,14415],{"class":539,"line":6953},[537,14396,1133],{"class":542},[537,14398,14399],{"class":768}," keys",[537,14401,1139],{"class":550},[537,14403,1142],{"class":758},[537,14405,833],{"class":550},[537,14407,12716],{"class":768},[537,14409,771],{"class":550},[537,14411,14412],{"class":792},"getAllKeys",[537,14414,1973],{"class":556},[537,14416,610],{"class":550},[537,14418,14419,14421,14424,14426,14428,14430,14432,14434,14437,14439,14441],{"class":539,"line":6958},[537,14420,1133],{"class":542},[537,14422,14423],{"class":768}," rotationResults",[537,14425,1139],{"class":550},[537,14427,14399],{"class":768},[537,14429,771],{"class":550},[537,14431,8785],{"class":792},[537,14433,722],{"class":556},[537,14435,14436],{"class":725},"key",[537,14438,8793],{"class":542},[537,14440,762],{"class":556},[537,14442,780],{"class":550},[537,14444,14445,14447,14449,14451,14453,14455],{"class":539,"line":6981},[537,14446,14077],{"class":556},[537,14448,560],{"class":550},[537,14450,13414],{"class":768},[537,14452,771],{"class":550},[537,14454,5770],{"class":768},[537,14456,1698],{"class":550},[537,14458,14459,14462,14464,14466,14468,14471],{"class":539,"line":6987},[537,14460,14461],{"class":556},"      lastRotated",[537,14463,560],{"class":550},[537,14465,13414],{"class":768},[537,14467,771],{"class":550},[537,14469,14470],{"class":768},"lastRotated",[537,14472,1698],{"class":550},[537,14474,14475,14478,14480,14482,14485,14487,14489,14491],{"class":539,"line":7013},[537,14476,14477],{"class":556},"      rotationRequired",[537,14479,560],{"class":550},[537,14481,833],{"class":550},[537,14483,14484],{"class":792},"isRotationRequired",[537,14486,722],{"class":556},[537,14488,14436],{"class":768},[537,14490,805],{"class":556},[537,14492,1698],{"class":550},[537,14494,14495,14498,14500,14502,14504],{"class":539,"line":7050},[537,14496,14497],{"class":556},"      rotationSchedule",[537,14499,560],{"class":550},[537,14501,13414],{"class":768},[537,14503,771],{"class":550},[537,14505,14506],{"class":768},"rotationSchedule\n",[537,14508,14509,14511,14513],{"class":539,"line":7055},[537,14510,7877],{"class":550},[537,14512,8904],{"class":556},[537,14514,610],{"class":550},[537,14516,14517],{"class":539,"line":7069},[537,14518,668],{"emptyLinePlaceholder":667},[537,14520,14521,14523],{"class":539,"line":7074},[537,14522,1668],{"class":758},[537,14524,551],{"class":550},[537,14526,14527,14530,14532,14534,14536,14538],{"class":539,"line":9153},[537,14528,14529],{"class":556},"      totalKeys",[537,14531,560],{"class":550},[537,14533,14399],{"class":768},[537,14535,771],{"class":550},[537,14537,11503],{"class":768},[537,14539,1698],{"class":550},[537,14541,14542,14545,14547,14549,14551,14553,14555,14558,14560,14563,14565,14568,14570,14572,14574],{"class":539,"line":9168},[537,14543,14544],{"class":556},"      keysRequiringRotation",[537,14546,560],{"class":550},[537,14548,14423],{"class":768},[537,14550,771],{"class":550},[537,14552,11460],{"class":792},[537,14554,722],{"class":556},[537,14556,14557],{"class":725},"r",[537,14559,8793],{"class":542},[537,14561,14562],{"class":768}," r",[537,14564,771],{"class":550},[537,14566,14567],{"class":768},"rotationRequired",[537,14569,805],{"class":556},[537,14571,771],{"class":550},[537,14573,11503],{"class":768},[537,14575,1698],{"class":550},[537,14577,14578,14581],{"class":539,"line":9175},[537,14579,14580],{"class":768},"      rotationResults",[537,14582,1698],{"class":550},[537,14584,14585,14588,14590,14592,14595,14597,14600],{"class":539,"line":9185},[537,14586,14587],{"class":556},"      complianceScore",[537,14589,560],{"class":550},[537,14591,833],{"class":550},[537,14593,14594],{"class":792},"calculateRotationCompliance",[537,14596,722],{"class":556},[537,14598,14599],{"class":768},"rotationResults",[537,14601,2530],{"class":556},[537,14603,14604],{"class":539,"line":9209},[537,14605,1889],{"class":550},[537,14607,14608],{"class":539,"line":9232},[537,14609,1091],{"class":550},[537,14611,14612],{"class":539,"line":9237},[537,14613,668],{"emptyLinePlaceholder":667},[537,14615,14616,14618,14621,14623,14625,14627,14630,14632,14634],{"class":539,"line":9275},[537,14617,683],{"class":542},[537,14619,14620],{"class":556}," isRotationRequired",[537,14622,722],{"class":550},[537,14624,14436],{"class":725},[537,14626,560],{"class":550},[537,14628,14629],{"class":546}," StoredKey",[537,14631,733],{"class":550},[537,14633,632],{"class":546},[537,14635,551],{"class":550},[537,14637,14638,14640,14643,14645,14647,14649,14651,14653,14655,14657,14659,14661,14663,14665,14668,14671,14673,14675,14678,14680,14682,14684,14686,14688,14690,14692],{"class":539,"line":9307},[537,14639,1133],{"class":542},[537,14641,14642],{"class":768}," daysSinceRotation",[537,14644,1139],{"class":550},[537,14646,762],{"class":556},[537,14648,10751],{"class":768},[537,14650,771],{"class":550},[537,14652,10756],{"class":792},[537,14654,10759],{"class":556},[537,14656,10762],{"class":550},[537,14658,13414],{"class":768},[537,14660,771],{"class":550},[537,14662,14470],{"class":768},[537,14664,771],{"class":550},[537,14666,14667],{"class":792},"getTime",[537,14669,14670],{"class":556},"()) ",[537,14672,11757],{"class":550},[537,14674,762],{"class":556},[537,14676,14677],{"class":7027},"1000",[537,14679,10768],{"class":550},[537,14681,10771],{"class":7027},[537,14683,10768],{"class":550},[537,14685,10771],{"class":7027},[537,14687,10768],{"class":550},[537,14689,10765],{"class":7027},[537,14691,805],{"class":556},[537,14693,610],{"class":550},[537,14695,14696,14698,14700,14703,14705,14707,14710,14712,14715],{"class":539,"line":9345},[537,14697,1668],{"class":758},[537,14699,14642],{"class":768},[537,14701,14702],{"class":550}," >",[537,14704,13414],{"class":768},[537,14706,771],{"class":550},[537,14708,14709],{"class":768},"rotationSchedule",[537,14711,771],{"class":550},[537,14713,14714],{"class":768},"maxDays",[537,14716,610],{"class":550},[537,14718,14719],{"class":539,"line":9350},[537,14720,1091],{"class":550},[537,14722,14723],{"class":539,"line":9355},[537,14724,662],{"class":550},[14726,14727,14728],"p",{},"This comprehensive compliance and standards documentation ensures that the MindPeeker platform adheres to major regulatory requirements and industry best practices for data protection, security, and operational excellence.",[14730,14731,14732],"style",{},"html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .s7zQu, html code.shiki .s7zQu{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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 .sfNiH, html code.shiki .sfNiH{--shiki-light:#FF5370;--shiki-default:#FF9CAC;--shiki-dark:#FF9CAC}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}",{"title":532,"searchDepth":82,"depth":114,"links":14734},[14735,14740,14744],{"id":514,"depth":114,"text":515,"children":14736},[14737,14738,14739],{"id":519,"depth":146,"text":520},{"id":3584,"depth":146,"text":3585},{"id":5056,"depth":146,"text":5057},{"id":7079,"depth":114,"text":7080,"children":14741},[14742,14743],{"id":7083,"depth":146,"text":7084},{"id":9579,"depth":146,"text":9580},{"id":12525,"depth":114,"text":12526,"children":14745},[14746],{"id":12529,"depth":146,"text":12530},"Regulatory compliance and industry standards adherence for MindPeeker platform","md",null,{"icon":267},{"title":475,"description":14747},"jSSVXvWFjFGDlZaK7QwBG7_NdZ-fawP5mI4llcDqRs0",[14754,14756],{"title":471,"path":472,"stem":473,"description":14755,"children":-1},"Technical requirements and guidelines for integrating with MindPeeker platform",{"title":479,"path":480,"stem":481,"description":14749,"children":-1},1776312215054]