CHAT_OUTPUT_BEGIN
COMMAND_ID=SUPPORT-261007-BACKUP-DNS-VM130-EXACT-RESIDUAL-RCA-99787R1
STATUS=OK
RC=0
HOST=pve01
MODE=read-only
COMPONENT=backup-dns-vm130-exact-residual-rca
REFERENCE_REGISTER_CHECK=OK
REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66
ERROR_REGISTER_CHECK=OK
ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0
COMMAND_SHA256=5145bb4df345e3b74d23c708041e42e3446261b41a792d74ad7d370c5333bd46
DUPLICATE_FAILED_COMMAND_BLOCKED=false
EXECUTION_STARTED=true
CHANGE_DECLARED=false
RESULT_CONTRACT_VALID=true
RESULT_CONTRACT_STATUS=NOT_APPLICABLE
RESULT_CONTRACT_ERROR=NONE
COMMAND_RC=0
CHANGES_MADE=false
ROLLBACK_STARTED=false
ROLLBACK_RESTORED=null
MUTATION_OUTCOME=NO_MUTATION
SANITIZED=yes
SECRETS_INCLUDED=no
PRIVATE_ADDRESSES_INCLUDED=no
RAW_EVIDENCE_SHA256=92efdbbbe533bbe0dc5d11d589d3584a3641633aa597ddc1595abb286bc0e18c
SANITIZED_OUTPUT_SHA256=828ac34bf2bf287b3ad374796e2616c0172a5fc92d2b88fbb4401fef9f2015b6
OUTPUT_BEGIN
BACKUP_DNS_VM130_EXACT_RESIDUAL_RCA=V1
MODE=read-only
NO_MUTATION=true
BACKUP_V2_ACTIVE=inactive
BACKUP_V2_RESULT=success
BACKUP_V2_EXEC_STATUS=0
BACKUP_V2_START_TIMESTAMP=Wed 2026-10-07 18:52:40 MSK
BACKUP_V2_EXIT_TIMESTAMP=Wed 2026-10-07 18:52:40 MSK
BACKUP_LAST_RUN_LINE_COUNT=9
REC|BACKUP_LAST_RUN|IDX=1|2026-10-07T15:17:53+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
REC|BACKUP_LAST_RUN|IDX=2|2026-10-07T15:17:53+03:00 pve01 homelab-backup-v2[892625]: SELFTEST_REPLACEMENT486=PASS
REC|BACKUP_LAST_RUN|IDX=3|2026-10-07T15:17:59+03:00 pve01 homelab-backup-v2[892625]: SCHEDULE_TARGET=guest-pve01-lxc-112
REC|BACKUP_LAST_RUN|IDX=4|2026-10-07T15:17:59+03:00 pve01 homelab-backup-v2[892625]: SCHEDULE_RESULT=FAIL
REC|BACKUP_LAST_RUN|IDX=5|2026-10-07T15:17:59+03:00 pve01 homelab-backup-v2[892625]: SCHEDULE_REASON=CT112_PIPELINE_FAILED
REC|BACKUP_LAST_RUN|IDX=6|2026-10-07T15:17:59+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
REC|BACKUP_LAST_RUN|IDX=7|2026-10-07T15:17:59+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
REC|BACKUP_LAST_RUN|IDX=8|2026-10-07T15:17:59+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
REC|BACKUP_LAST_RUN|IDX=9|2026-10-07T15:17:59+03:00 pve01 systemd[1]: homelab-backup-v2.service: Consumed 6.058s CPU time, 160M memory peak.
BACKUP_LAST_TARGET=guest-pve01-lxc-112
BACKUP_V2_EXEC_BASENAME=homelab-backup-v2
BACKUP_V2_EXEC_PATH_SHA256=6975cd3060e3ca47d095db1fbdbea19ad56480e046e87179d0c5e6fb53b03d87
BACKUP_V2_EXEC_SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c
REC|BACKUP_SOURCE|IDX=1|BASENAME=targets.json|PATH_SHA256=d74784d4bb12db672527be08336f7cf5b2a86dab2d05f63990aed27a1bff9e6a|SHA256=7f413e4a3bc276be668ad0d7a877a0f2b2bd64bf1dead9cb929d966b25a44e25|SIZE=7424|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|1|11:      "logical_id": "ct110",
SRC|BACKUP|1|14:      "vmid": 110
SRC|BACKUP|1|21:      "logical_id": "ct111",
SRC|BACKUP|1|24:      "vmid": 111
SRC|BACKUP|1|31:      "logical_id": "ct112",
SRC|BACKUP|1|34:      "vmid": 112
SRC|BACKUP|1|41:      "logical_id": "ct113",
SRC|BACKUP|1|44:      "vmid": 113
SRC|BACKUP|1|51:      "logical_id": "vm130",
SRC|BACKUP|1|54:      "vmid": 130
SRC|BACKUP|1|61:      "logical_id": "vm150",
SRC|BACKUP|1|64:      "vmid": 150
SRC|BACKUP|1|71:      "logical_id": "vm160",
SRC|BACKUP|1|74:      "vmid": 160
SRC|BACKUP|1|81:      "logical_id": "vm170",
SRC|BACKUP|1|84:      "vmid": 170
SRC|BACKUP|1|91:      "logical_id": "vm171",
SRC|BACKUP|1|94:      "vmid": 171
SRC|BACKUP|1|101:      "logical_id": "vm190",
SRC|BACKUP|1|104:      "vmid": 190
SRC|BACKUP|1|111:      "logical_id": "vm210",
SRC|BACKUP|1|114:      "vmid": 210
SRC|BACKUP|1|121:      "logical_id": "vm211",
SRC|BACKUP|1|124:      "vmid": 211
SRC|BACKUP|1|131:      "logical_id": "vm9130",
SRC|BACKUP|1|134:      "vmid": 9130
SRC|BACKUP|1|140:      "logical_id": "node-pve01",
SRC|BACKUP|1|149:      "logical_id": "node-pve02",
SRC|BACKUP|1|158:      "logical_id": "node-pve03",
SRC|BACKUP|1|169:      "logical_id": "md-relay",
SRC|BACKUP|1|181:      "logical_id": "spb-ingress",
SRC|BACKUP|1|193:      "logical_id": "us-netbird",
SRC|BACKUP|1|203:      "logical_id": "router-netcraze",
SRC|BACKUP|1|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|1|219:      "vmid": 160
SRC|BACKUP|1|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|1|233:      "vmid": 160
SRC|BACKUP|1|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|1|247:      "vmid": 160
SRC|BACKUP|1|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=2|BASENAME=adapter.py|PATH_SHA256=7b83a84a2c8dbee6051e4019d709ef29baf2c553123c82508796b55422db0cf8|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=3|BASENAME=CONTRACT.json|PATH_SHA256=9b14e70635455d4e20315d871a3ccf513aefacbb2ee36606a5852ae7fb0740e4|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=4|BASENAME=pve282.py|PATH_SHA256=fc0733e741ae8d1b7ac67bfa54b7d6948c676c785c84edd58d47f3eabd815756|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|4|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|4|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|4|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|4|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|4|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|4|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|4|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|4|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=5|BASENAME=test_pve282.py|PATH_SHA256=9156439be14b3f6303b25b8e60a32c9360907bc89e50cbcbdfa2cc2f4cc02454|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|5|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|5|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|5|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|5|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|5|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|5|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=6|BASENAME=wrapper.py|PATH_SHA256=970c462224cb43aeb706e9349a8548ff5e1704ddd8abdab59695af2e49ac5004|SHA256=84d2da3fa7c8ab1d9e15db88b6f3835be9c8815bd50ea78022c67adff2f16056|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|6|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|6|8:LOCK=Path('<PATH>')
SRC|BACKUP|6|15:legacy=_load('_backupv2_legacy481',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|6|16:ct112=_load('_backupv2_ct112_481',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|6|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|6|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|6|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|6|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|6|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|6|40:def backup_target(t,green_verify=False):
SRC|BACKUP|6|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|6|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|6|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|6|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|6|53:legacy.backup_target=backup_target
SRC|BACKUP|6|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|6|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|6|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|6|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|6|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=7|BASENAME=representative_driver.py|PATH_SHA256=573948358c3788a0956d8a925bf96ab8611c479afd1855af60c180189a64b8f2|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|7|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|7|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|7|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|7|43:        logical_id=_logical_id(target)
SRC|BACKUP|7|44:        if logical_id not in wanted:
SRC|BACKUP|7|46:        if logical_id in selected:
SRC|BACKUP|7|48:        selected[logical_id]=target
SRC|BACKUP|7|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|7|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|7|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|7|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|7|80:    logical_id=_logical_id(target)
SRC|BACKUP|7|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|7|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|7|84:    if not callable(backup):
SRC|BACKUP|7|91:        return backup(target,True)
SRC|BACKUP|7|95:def _validate_ct112_result(result):
SRC|BACKUP|7|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|7|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|7|107:    if not callable(ct112_callback):
SRC|BACKUP|7|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|7|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=8|BASENAME=ct112_handler.py|PATH_SHA256=c9ce1d4beda3e8569c472019224ffe500ece19d79ea538eef353b2f91100675e|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|SIZE=7923|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|8|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|8|49:        vmid=r.get('vmid')
SRC|BACKUP|8|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|8|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|8|77:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|8|78:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|8|85:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|8|101:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|8|113:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=9|BASENAME=legacy_engine.py|PATH_SHA256=88ab68bf67a35e0d0b255725cf1d80a6bc6e1d39d0208f2cc2551fdaedd35b49|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|9|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|9|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|9|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|9|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|9|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|9|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|9|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|9|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|9|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|9|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|9|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|9|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|9|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|9|46: pathlib.Path('<PATH>'),
SRC|BACKUP|9|47: pathlib.Path('<PATH>'),
SRC|BACKUP|9|48: pathlib.Path('<PATH>'),
SRC|BACKUP|9|49: pathlib.Path('<PATH>'),
SRC|BACKUP|9|50: pathlib.Path('<PATH>'),
SRC|BACKUP|9|51: pathlib.Path('<PATH>'),
SRC|BACKUP|9|52: pathlib.Path('<PATH>'),
SRC|BACKUP|9|53: pathlib.Path('<PATH>'),
SRC|BACKUP|9|54: pathlib.Path('<PATH>'),
SRC|BACKUP|9|55: pathlib.Path('<PATH>'),
SRC|BACKUP|9|56: pathlib.Path('<PATH>'),
SRC|BACKUP|9|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|9|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|9|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|9|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|9|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|9|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|9|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|9|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|9|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|9|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|9|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|9|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|9|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|9|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|9|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|9|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=10|BASENAME=adapter.py|PATH_SHA256=1dcd5f3768400588c99627c664c63ce90446bd5bcaca5a519eb135c1a6722f64|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=11|BASENAME=CONTRACT.json|PATH_SHA256=7ae49f9920b6153712ae105caade556102e12e32361c2114832c1c3c9d1eb9b3|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=12|BASENAME=pve282.py|PATH_SHA256=4f3deeb1f84da0a2851bbe208013409179a4c09ab2ba6459670b1c2f8cc83fda|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|12|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|12|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|12|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|12|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|12|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|12|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|12|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|12|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=13|BASENAME=test_pve282.py|PATH_SHA256=f46876c3beb288acd407b4a4c3df7d4f3195ed2482cf8913b7f507a10e304819|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|13|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|13|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|13|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|13|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|13|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|13|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=14|BASENAME=wrapper.py|PATH_SHA256=5343a2cb3b967ba0af47b0a4ccf37c6ef8aef6e492f483660000892ea10ac2b9|SHA256=e5b0cd618eb7925da84255a8d7e348ae513da5953937d0bce8c3a139b965c3b2|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|14|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|14|8:LOCK=Path('<PATH>')
SRC|BACKUP|14|15:legacy=_load('_backupv2_legacy482',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|14|16:ct112=_load('_backupv2_ct112_482',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|14|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|14|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|14|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|14|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|14|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|14|40:def backup_target(t,green_verify=False):
SRC|BACKUP|14|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|14|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|14|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|14|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|14|53:legacy.backup_target=backup_target
SRC|BACKUP|14|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|14|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|14|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|14|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|14|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=15|BASENAME=representative_driver.py|PATH_SHA256=9e26c629b215d59fb03b3a5f1beff0cd314e90d00590665fa0b15f2766508186|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|15|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|15|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|15|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|15|43:        logical_id=_logical_id(target)
SRC|BACKUP|15|44:        if logical_id not in wanted:
SRC|BACKUP|15|46:        if logical_id in selected:
SRC|BACKUP|15|48:        selected[logical_id]=target
SRC|BACKUP|15|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|15|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|15|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|15|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|15|80:    logical_id=_logical_id(target)
SRC|BACKUP|15|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|15|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|15|84:    if not callable(backup):
SRC|BACKUP|15|91:        return backup(target,True)
SRC|BACKUP|15|95:def _validate_ct112_result(result):
SRC|BACKUP|15|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|15|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|15|107:    if not callable(ct112_callback):
SRC|BACKUP|15|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|15|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=16|BASENAME=ct112_handler.py|PATH_SHA256=edb685d36b5c3d5a001dd7ce8f24041cb85e35a98f561caf0073645b67f27cae|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|SIZE=7923|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|16|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|16|49:        vmid=r.get('vmid')
SRC|BACKUP|16|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|16|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|16|77:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|16|78:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|16|85:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|16|101:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|16|113:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=17|BASENAME=legacy_engine.py|PATH_SHA256=ed37300bf21f40701d61084225758267688ee569a15a9a8f5e7e1f2d1d95a496|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|17|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|17|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|17|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|17|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|17|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|17|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|17|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|17|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|17|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|17|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|17|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|17|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|17|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|17|46: pathlib.Path('<PATH>'),
SRC|BACKUP|17|47: pathlib.Path('<PATH>'),
SRC|BACKUP|17|48: pathlib.Path('<PATH>'),
SRC|BACKUP|17|49: pathlib.Path('<PATH>'),
SRC|BACKUP|17|50: pathlib.Path('<PATH>'),
SRC|BACKUP|17|51: pathlib.Path('<PATH>'),
SRC|BACKUP|17|52: pathlib.Path('<PATH>'),
SRC|BACKUP|17|53: pathlib.Path('<PATH>'),
SRC|BACKUP|17|54: pathlib.Path('<PATH>'),
SRC|BACKUP|17|55: pathlib.Path('<PATH>'),
SRC|BACKUP|17|56: pathlib.Path('<PATH>'),
SRC|BACKUP|17|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|17|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|17|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|17|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|17|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|17|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|17|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|17|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|17|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|17|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|17|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|17|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|17|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|17|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|17|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|17|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=18|BASENAME=adapter.py|PATH_SHA256=f7f1e133ae3c2af246c3360a03844597b9dba8cddced7ff2fb2a41367812fbdc|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=19|BASENAME=CONTRACT.json|PATH_SHA256=b48d18d4e534612a5e232dca282f9f3c55b62837b799f311b6489b3a3fe96329|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=20|BASENAME=pve282.py|PATH_SHA256=8796140ef5af396cf8590b2c5159e82c8e9b6104ef7f7f7934f4e59c27e2720c|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|20|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|20|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|20|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|20|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|20|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|20|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|20|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|20|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=21|BASENAME=test_pve282.py|PATH_SHA256=029692e986363923df11409e7451c9a279ea9f0bb533310aa28cebe58bdcf836|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|21|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|21|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|21|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|21|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|21|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|21|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=22|BASENAME=wrapper.py|PATH_SHA256=e7e837977fcd9f64f48321b38262fe399397d8938ce19d7a20ae3128c6c4d8b0|SHA256=d58b8bc842ac3ba3f1f9cf3dc844dd1445c196e0e93fda8ce5f4a0fd18f2e115|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|22|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|22|8:LOCK=Path('<PATH>')
SRC|BACKUP|22|15:legacy=_load('_backupv2_legacy485',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|22|16:ct112=_load('_backupv2_ct112_485',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|22|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|22|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|22|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|22|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|22|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|22|40:def backup_target(t,green_verify=False):
SRC|BACKUP|22|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|22|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|22|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|22|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|22|53:legacy.backup_target=backup_target
SRC|BACKUP|22|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|22|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|22|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|22|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|22|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=23|BASENAME=representative_driver.py|PATH_SHA256=1fdeed3d8f992cdc0d64df2e2653fa8b79f25986fe9db4f94c65465d33a8c178|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|23|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|23|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|23|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|23|43:        logical_id=_logical_id(target)
SRC|BACKUP|23|44:        if logical_id not in wanted:
SRC|BACKUP|23|46:        if logical_id in selected:
SRC|BACKUP|23|48:        selected[logical_id]=target
SRC|BACKUP|23|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|23|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|23|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|23|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|23|80:    logical_id=_logical_id(target)
SRC|BACKUP|23|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|23|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|23|84:    if not callable(backup):
SRC|BACKUP|23|91:        return backup(target,True)
SRC|BACKUP|23|95:def _validate_ct112_result(result):
SRC|BACKUP|23|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|23|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|23|107:    if not callable(ct112_callback):
SRC|BACKUP|23|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|23|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=24|BASENAME=ct112_handler.py|PATH_SHA256=355e41038a2b1a4bd36aafd7ab5b2bdf174055ed840bde02497c65c8d4e5a8f3|SHA256=1bad56934074d19bd17ec71471d562b3f3d1d4c2d8fdfbad1897048b50c09c06|SIZE=9799|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|24|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|24|49:        vmid=r.get('vmid')
SRC|BACKUP|24|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|24|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|24|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|24|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|24|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|24|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|24|104:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|24|105:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|24|112:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|24|128:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|24|131:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|24|134:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|24|142:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=25|BASENAME=legacy_engine.py|PATH_SHA256=d3dc1d9e6926e695d76fba16c6c5ffa20cc3f5b80a7ffc4b826ec197468a1cd7|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|25|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|25|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|25|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|25|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|25|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|25|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|25|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|25|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|25|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|25|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|25|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|25|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|25|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|25|46: pathlib.Path('<PATH>'),
SRC|BACKUP|25|47: pathlib.Path('<PATH>'),
SRC|BACKUP|25|48: pathlib.Path('<PATH>'),
SRC|BACKUP|25|49: pathlib.Path('<PATH>'),
SRC|BACKUP|25|50: pathlib.Path('<PATH>'),
SRC|BACKUP|25|51: pathlib.Path('<PATH>'),
SRC|BACKUP|25|52: pathlib.Path('<PATH>'),
SRC|BACKUP|25|53: pathlib.Path('<PATH>'),
SRC|BACKUP|25|54: pathlib.Path('<PATH>'),
SRC|BACKUP|25|55: pathlib.Path('<PATH>'),
SRC|BACKUP|25|56: pathlib.Path('<PATH>'),
SRC|BACKUP|25|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|25|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|25|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|25|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|25|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|25|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|25|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|25|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|25|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|25|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|25|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|25|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|25|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|25|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|25|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|25|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=26|BASENAME=entry499.py|PATH_SHA256=a57cf763441990cddc6f94aa8c9ea2521e65222f9a17586674f5d46fdbf3d0a5|SHA256=45d1d34f1d29ffe3e91a3ddb94453987c0740bfbbf892b2b1f2ecbc64043adb0|SIZE=5347|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|26|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|26|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|26|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|26|87:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|26|95:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|26|108:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|26|111:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|26|115:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|26|117:        out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=27|BASENAME=representative_driver.py|PATH_SHA256=9b3d2ead5f1fad42dcb5fb02e89deaa371a7639d0d4399b8a7a6a6b95daedcd5|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|27|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|27|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|27|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|27|43:        logical_id=_logical_id(target)
SRC|BACKUP|27|44:        if logical_id not in wanted:
SRC|BACKUP|27|46:        if logical_id in selected:
SRC|BACKUP|27|48:        selected[logical_id]=target
SRC|BACKUP|27|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|27|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|27|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|27|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|27|80:    logical_id=_logical_id(target)
SRC|BACKUP|27|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|27|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|27|84:    if not callable(backup):
SRC|BACKUP|27|91:        return backup(target,True)
SRC|BACKUP|27|95:def _validate_ct112_result(result):
SRC|BACKUP|27|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|27|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|27|107:    if not callable(ct112_callback):
SRC|BACKUP|27|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|27|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=28|BASENAME=CONTRACT.json|PATH_SHA256=a55b8763a0762d3b5173ccb9619c9b5dc8dfc679471706031a61956d75014ac1|SHA256=67c0f9e228eaf5bc35213873f71d60b48a694cf04657aee695697ca434e16d0b|SIZE=2712|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|28|1:{"candidate":"representative-validation-454r1","candidate_411_source_sha256":{"adapter.py":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3","guest266.py":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868","large264.py":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a","nodeplan263.py":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060","pve265.py":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be","pve270.py":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef","pve282.py":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012","restore262.py":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1","stream263.py":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16","transport261.py":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688","v2core.py":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2"},"ct112_id":"guest-pve01-lxc-112","ct112_route":"explicit callback only; legacy capture_pve_guest forbidden","ct112_success_contract":{"cloud_only_independent_restore_verified":true,"local_payload_files_remaining":0,"logical_id":"guest-pve01-lxc-112","status":"OK"},"fail_order":"CT112 callback validates before any legacy lane","forbidden_entrypoints":["green_run","scheduled_run","bootstrap_vps_keys","ensure_router_known_hosts"],"legacy_engine_function_sha256":{"backup_target":"927366d8e2e505d5eee5a479786d3c2c1a77c4366ecb3d1f81b66f8d36ec9884","capture_pve_guest":"b747bb60b88810da9dcf02bd111c0934b33137a5d98d1fe3a9eb43959229f6e1","capture_target":"0f272f2564b95d9f47835a5dca084651390231e53e98f6d95e589ddf92b26dab","green_run":"f378a0673e74691c47873204df5d26df3afb395a4c38ba8674061e583e71bbf0","load_targets":"8442fa26ab380e39c1d997cfc5b443c62ef7ac9eb5ec73ee3646d897e20ed5be","write_state":"2a6c1429bd1a500a877dd846c5325618bd02f7a6542233aa21f3160d6d3c259f"},"legacy_engine_sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7","legacy_ids":["node-pve01","md-relay","spb-ingress","us-netbird","router-netcraze","xf-codevipe","xf-zakrutim","control-bootstrap-v2"],"legacy_route":"direct backup_target(target, True) only","legacy_state":"candidate-owned state directory derived from driver location; no caller state path parameter","next_gate":"live read-only driver dry-run before any representative execution","production_promotion":false,"purpose":"disabled representative validation orchestration only","representative_order":["guest-pve01-lxc-112","node-pve01","md-relay","spb-ingress","us-netbird","router-netcraze","xf-codevipe","xf-zakrutim","control-bootstrap-v2"],"scheduler_cutover":false,"schema_version":1}
REC|BACKUP_SOURCE|IDX=29|BASENAME=adapter.py|PATH_SHA256=db0b103511d7b731e83ecb6eb365a24158bb7c76448238f2665ab411101d1a4d|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=30|BASENAME=CONTRACT.json|PATH_SHA256=af91afbaf9ba2ba2f5536e6f8fef228191402adaf760cbcec0e4821f1d0ce4a8|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=31|BASENAME=pve282.py|PATH_SHA256=80df33825006c6de9450f06dc8859bc420e447a64fc9cc84cca7c4c946f17fc3|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|31|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|31|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|31|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|31|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|31|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|31|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|31|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|31|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=32|BASENAME=test_pve282.py|PATH_SHA256=6142ee7692a2d7ecfac2f8142309ae148ba4eaaaf94ef3584f91a5e360e91a16|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|32|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|32|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|32|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|32|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|32|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|32|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=33|BASENAME=entry496.py|PATH_SHA256=cc7a42167369ec95173b1c46a18f64a6ae4d6d607dd74861f7f3726f729a21c4|SHA256=4931b27337b991f1c7fbc2d3e7599627b3f9304dc19e08c7196257c976bbf770|SIZE=5338|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|33|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|33|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|33|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|33|87:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|33|95:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|33|108:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|33|111:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':t['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|33|115:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|33|117:        out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=34|BASENAME=adapter.py|PATH_SHA256=34ba987637844ad247a7c1782331b4eb550573ef19d35067c5d63f3ec397ca8e|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=35|BASENAME=CONTRACT.json|PATH_SHA256=f979ecf0c3f551c2b7023839e8b192e1e8daac7162666aeb9be4f82f244fb19e|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=36|BASENAME=pve282.py|PATH_SHA256=afe8df325541e098b462cc527d526030f98371f5764c4c7fe69e7f6cac981825|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|36|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|36|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|36|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|36|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|36|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|36|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|36|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|36|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=37|BASENAME=test_pve282.py|PATH_SHA256=cdac3273e4e923c9fa4402d95fc45e48df4892a05d959395773f03b04b2e4b99|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|37|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|37|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|37|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|37|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|37|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|37|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=38|BASENAME=wrapper.py|PATH_SHA256=b19cfe8a175ebdcafd655280b269e15df30da63a9422430bfe0bf38683210a7f|SHA256=8e6ad619c39105d9c238c0a9f0bd9265dba941f65729cbe03e9f1acbd90ba6cd|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|38|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|38|8:LOCK=Path('<PATH>')
SRC|BACKUP|38|15:legacy=_load('_backupv2_legacy484',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|38|16:ct112=_load('_backupv2_ct112_484',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|38|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|38|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|38|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|38|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|38|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|38|40:def backup_target(t,green_verify=False):
SRC|BACKUP|38|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|38|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|38|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|38|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|38|53:legacy.backup_target=backup_target
SRC|BACKUP|38|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|38|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|38|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|38|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|38|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=39|BASENAME=representative_driver.py|PATH_SHA256=1cc7852fddd12e5145ff4ca3af5c89f3a508c08e9ae8d0eba41fe84d236d0fca|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|39|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|39|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|39|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|39|43:        logical_id=_logical_id(target)
SRC|BACKUP|39|44:        if logical_id not in wanted:
SRC|BACKUP|39|46:        if logical_id in selected:
SRC|BACKUP|39|48:        selected[logical_id]=target
SRC|BACKUP|39|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|39|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|39|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|39|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|39|80:    logical_id=_logical_id(target)
SRC|BACKUP|39|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|39|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|39|84:    if not callable(backup):
SRC|BACKUP|39|91:        return backup(target,True)
SRC|BACKUP|39|95:def _validate_ct112_result(result):
SRC|BACKUP|39|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|39|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|39|107:    if not callable(ct112_callback):
SRC|BACKUP|39|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|39|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=40|BASENAME=ct112_handler.py|PATH_SHA256=2e2374c8bca13049427975dfaa054e86f05f5f1a8c119d269276b6f4d1b80c54|SHA256=5d42a45a1a21c38f71d9ae805e831d2ed8dd24b111ad5972b1fd6c01f909e689|SIZE=9461|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|40|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|40|49:        vmid=r.get('vmid')
SRC|BACKUP|40|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|40|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|40|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|40|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|40|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|40|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|40|96:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|40|97:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|40|104:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|40|120:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|40|123:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|40|126:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|40|134:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=41|BASENAME=legacy_engine.py|PATH_SHA256=68ed87fff22b735897acfc71beec8386ec9a7c7c5eab512d7fbb05e894955abf|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|41|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|41|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|41|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|41|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|41|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|41|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|41|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|41|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|41|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|41|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|41|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|41|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|41|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|41|46: pathlib.Path('<PATH>'),
SRC|BACKUP|41|47: pathlib.Path('<PATH>'),
SRC|BACKUP|41|48: pathlib.Path('<PATH>'),
SRC|BACKUP|41|49: pathlib.Path('<PATH>'),
SRC|BACKUP|41|50: pathlib.Path('<PATH>'),
SRC|BACKUP|41|51: pathlib.Path('<PATH>'),
SRC|BACKUP|41|52: pathlib.Path('<PATH>'),
SRC|BACKUP|41|53: pathlib.Path('<PATH>'),
SRC|BACKUP|41|54: pathlib.Path('<PATH>'),
SRC|BACKUP|41|55: pathlib.Path('<PATH>'),
SRC|BACKUP|41|56: pathlib.Path('<PATH>'),
SRC|BACKUP|41|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|41|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|41|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|41|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|41|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|41|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|41|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|41|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|41|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|41|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|41|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|41|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|41|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|41|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|41|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|41|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=42|BASENAME=adapter.py|PATH_SHA256=96feaa329526d21c2e03f45230caa4b665d426f60917e5dcd2ef0c7334b329c6|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=43|BASENAME=CONTRACT.json|PATH_SHA256=4a976042b956a253c4109fcc8a8e3254278af40d1a8e430f068390fa953220e7|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=44|BASENAME=pve282.py|PATH_SHA256=9bb2d2e6bd6d829300d4f1dcfff8ee839cb2c55a3f88f1ed24f78194973da87b|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|44|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|44|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|44|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|44|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|44|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|44|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|44|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|44|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=45|BASENAME=test_pve282.py|PATH_SHA256=4cc494f097968117c0a7fadb82b1315694d258507615fce84fd7f30faf5a0d45|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|45|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|45|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|45|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|45|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|45|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|45|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=46|BASENAME=wrapper.py|PATH_SHA256=d1463c51c42a0558621c0f2bb3f01151d7bc3799acb08d8c24601dedd2a8f511|SHA256=ed04b2634fcba72bdf07811135aed8fd609e849afcde456d433f305be5bb956a|SIZE=4099|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|46|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|46|8:LOCK=Path('<PATH>')
SRC|BACKUP|46|15:legacy=_load('_backupv2_legacy476',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|46|16:ct112=_load('_backupv2_ct112_476',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|46|17:driver=_load('_backupv2_driver454_476',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|46|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|46|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|46|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|46|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|46|40:def backup_target(t,green_verify=False):
SRC|BACKUP|46|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|46|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|46|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|46|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|46|53:legacy.backup_target=backup_target
SRC|BACKUP|46|59:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|46|61:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|46|62:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=47|BASENAME=representative_driver.py|PATH_SHA256=9bfafd4d543f89cdd4d040ca8d31ebcc11deffc1dba7c9cb9005e71d2a1dae4e|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|47|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|47|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|47|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|47|43:        logical_id=_logical_id(target)
SRC|BACKUP|47|44:        if logical_id not in wanted:
SRC|BACKUP|47|46:        if logical_id in selected:
SRC|BACKUP|47|48:        selected[logical_id]=target
SRC|BACKUP|47|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|47|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|47|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|47|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|47|80:    logical_id=_logical_id(target)
SRC|BACKUP|47|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|47|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|47|84:    if not callable(backup):
SRC|BACKUP|47|91:        return backup(target,True)
SRC|BACKUP|47|95:def _validate_ct112_result(result):
SRC|BACKUP|47|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|47|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|47|107:    if not callable(ct112_callback):
SRC|BACKUP|47|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|47|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=48|BASENAME=ct112_handler.py|PATH_SHA256=67c03cae9afa0e9bc76b7dde46d38102df33ce78f5722a43bfc3d586f9e435d8|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|SIZE=7923|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|48|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|48|49:        vmid=r.get('vmid')
SRC|BACKUP|48|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|48|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|48|77:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|48|78:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|48|85:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|48|101:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|48|113:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=49|BASENAME=legacy_engine.py|PATH_SHA256=be1f17db553b39644125195e460037d3e9426d0910681ba67d8e0ac2de00bea3|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|49|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|49|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|49|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|49|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|49|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|49|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|49|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|49|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|49|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|49|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|49|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|49|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|49|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|49|46: pathlib.Path('<PATH>'),
SRC|BACKUP|49|47: pathlib.Path('<PATH>'),
SRC|BACKUP|49|48: pathlib.Path('<PATH>'),
SRC|BACKUP|49|49: pathlib.Path('<PATH>'),
SRC|BACKUP|49|50: pathlib.Path('<PATH>'),
SRC|BACKUP|49|51: pathlib.Path('<PATH>'),
SRC|BACKUP|49|52: pathlib.Path('<PATH>'),
SRC|BACKUP|49|53: pathlib.Path('<PATH>'),
SRC|BACKUP|49|54: pathlib.Path('<PATH>'),
SRC|BACKUP|49|55: pathlib.Path('<PATH>'),
SRC|BACKUP|49|56: pathlib.Path('<PATH>'),
SRC|BACKUP|49|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|49|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|49|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|49|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|49|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|49|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|49|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|49|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|49|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|49|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|49|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|49|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|49|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|49|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|49|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|49|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=50|BASENAME=adapter.py|PATH_SHA256=c5ae1b926ae57e6359790b87145e93aee62c28e8d94b96a1938f22a865da61ec|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=51|BASENAME=CONTRACT.json|PATH_SHA256=7f02a2748fa19d48e7321e4d32ce89aa54487469c19e4a80fe2555b038524028|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=52|BASENAME=pve282.py|PATH_SHA256=b74fbe37c137202678401d67a28deba1a32ecc5bacecce72e89ff16704df04c0|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|52|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|52|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|52|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|52|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|52|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|52|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|52|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|52|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=53|BASENAME=test_pve282.py|PATH_SHA256=f68a22c96a53b6ca1efc4cc1b902bf09cecf3423f368497ec90439f1a1e83db7|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|53|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|53|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|53|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|53|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|53|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|53|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=54|BASENAME=wrapper.py|PATH_SHA256=e7ce6a0b75464a25ea19d0711c6494feeeff445ec91ab84a1b94964efa00e9a8|SHA256=699ce999e52f15f24c63723e35dd5251992c4dfce6266073b892dd684ed3f454|SIZE=5076|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|54|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|54|8:LOCK=Path('<PATH>')
SRC|BACKUP|54|15:legacy=_load('_backupv2_legacy486',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|54|16:ct112=_load('_backupv2_ct112_486',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|54|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|54|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|54|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|54|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|54|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|54|40:def backup_target(t,green_verify=False):
SRC|BACKUP|54|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|54|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|54|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|54|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|54|53:legacy.backup_target=backup_target
SRC|BACKUP|54|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|54|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|54|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|54|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|54|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=55|BASENAME=representative_driver.py|PATH_SHA256=620da4ad267f3a405815e2ff1e45ffeedcf336ee162be1bc1d4fe3f8af4188d0|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|55|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|55|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|55|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|55|43:        logical_id=_logical_id(target)
SRC|BACKUP|55|44:        if logical_id not in wanted:
SRC|BACKUP|55|46:        if logical_id in selected:
SRC|BACKUP|55|48:        selected[logical_id]=target
SRC|BACKUP|55|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|55|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|55|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|55|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|55|80:    logical_id=_logical_id(target)
SRC|BACKUP|55|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|55|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|55|84:    if not callable(backup):
SRC|BACKUP|55|91:        return backup(target,True)
SRC|BACKUP|55|95:def _validate_ct112_result(result):
SRC|BACKUP|55|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|55|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|55|107:    if not callable(ct112_callback):
SRC|BACKUP|55|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|55|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=56|BASENAME=ct112_handler.py|PATH_SHA256=c2912ea3b1faaa7d9eba5ff23da881c38935d44e7144f34c9317431973c58107|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|SIZE=10955|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|56|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|56|49:        vmid=r.get('vmid')
SRC|BACKUP|56|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|56|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|56|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|56|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|56|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|56|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|56|74:def _assert_live_state_unchanged(before,after,vmid):
SRC|BACKUP|56|79:        if any(type(x) is not dict or type(x.get('vmid')) is not int for x in rows):raise RuntimeError('CT112_STATE_SCHEMA')
SRC|BACKUP|56|80:        return sorted((x['vmid'],x.get('type'),x.get('node'),x.get('status'),x.get('template')) for x in rows)
SRC|BACKUP|56|83:    a=[j for j in old if j.get('vmid')==vmid];b=[j for j in new if j.get('vmid')==vmid]
SRC|BACKUP|56|119:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|56|120:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|56|127:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|56|143:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|56|146:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|56|149:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|56|157:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=57|BASENAME=legacy_engine.py|PATH_SHA256=e4ceeb7671a8cdc119c5427c862109ecbbefb90b06c59ce1dcb68b03b8e96c95|SHA256=5715651655da32530df84a5a095b772d21dc0d1f92789465e9e6b5b1ff8a16e3|SIZE=60024|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|57|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|57|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|57|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|57|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|57|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|57|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|57|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|57|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|57|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|57|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|57|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|57|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|57|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|57|46: pathlib.Path('<PATH>'),
SRC|BACKUP|57|47: pathlib.Path('<PATH>'),
SRC|BACKUP|57|48: pathlib.Path('<PATH>'),
SRC|BACKUP|57|49: pathlib.Path('<PATH>'),
SRC|BACKUP|57|50: pathlib.Path('<PATH>'),
SRC|BACKUP|57|51: pathlib.Path('<PATH>'),
SRC|BACKUP|57|52: pathlib.Path('<PATH>'),
SRC|BACKUP|57|53: pathlib.Path('<PATH>'),
SRC|BACKUP|57|54: pathlib.Path('<PATH>'),
SRC|BACKUP|57|55: pathlib.Path('<PATH>'),
SRC|BACKUP|57|56: pathlib.Path('<PATH>'),
SRC|BACKUP|57|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|57|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|57|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|57|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|57|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|57|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|57|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|57|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|57|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|57|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|57|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|57|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|57|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|57|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|57|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|57|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=58|BASENAME=adapter.py|PATH_SHA256=a658832703db0b930fbb41a6026ed3733dfb9180e67d2c4bee0999d54c32cfc4|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=59|BASENAME=CONTRACT.json|PATH_SHA256=482b161243f5605a80750f204df664680454be9b2c7412f164ed5229fe1662fe|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=60|BASENAME=pve282.py|PATH_SHA256=697f9652455529f214e87723b5bf4ba29ce0560cc488d671aa395a6198ec052b|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|60|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|60|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|60|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|60|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|60|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|60|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|60|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|60|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=61|BASENAME=test_pve282.py|PATH_SHA256=7089e663763d9c83e90931d0fb7b14c487e7118550ba125fddd368ffd6b673da|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|61|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|61|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|61|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|61|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|61|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|61|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=62|BASENAME=wrapper.py|PATH_SHA256=6bb7090f99bbf5d715464dd8132dfe1961c09eacd937cf8d4f94d0a7c6732ccf|SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495|SIZE=5076|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|62|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|62|8:LOCK=Path('<PATH>')
SRC|BACKUP|62|15:legacy=_load('_backupv2_legacy486',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|62|16:ct112=_load('_backupv2_ct112_486',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|62|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|62|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|62|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|62|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|62|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|62|40:def backup_target(t,green_verify=False):
SRC|BACKUP|62|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|62|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|62|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|62|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|62|53:legacy.backup_target=backup_target
SRC|BACKUP|62|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|62|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|62|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|62|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|62|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=63|BASENAME=representative_driver.py|PATH_SHA256=09b19535797a61bc301fb70d6e70db72f4bd0908a2b9e69a3cac000f15d5be40|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|63|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|63|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|63|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|63|43:        logical_id=_logical_id(target)
SRC|BACKUP|63|44:        if logical_id not in wanted:
SRC|BACKUP|63|46:        if logical_id in selected:
SRC|BACKUP|63|48:        selected[logical_id]=target
SRC|BACKUP|63|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|63|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|63|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|63|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|63|80:    logical_id=_logical_id(target)
SRC|BACKUP|63|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|63|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|63|84:    if not callable(backup):
SRC|BACKUP|63|91:        return backup(target,True)
SRC|BACKUP|63|95:def _validate_ct112_result(result):
SRC|BACKUP|63|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|63|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|63|107:    if not callable(ct112_callback):
SRC|BACKUP|63|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|63|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=64|BASENAME=ct112_handler.py|PATH_SHA256=c8810e18214d02445685399bdc0d61bcf88414fc2ca864b1c68b535ab14ba366|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|SIZE=10955|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|64|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|64|49:        vmid=r.get('vmid')
SRC|BACKUP|64|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|64|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|64|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|64|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|64|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|64|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|64|74:def _assert_live_state_unchanged(before,after,vmid):
SRC|BACKUP|64|79:        if any(type(x) is not dict or type(x.get('vmid')) is not int for x in rows):raise RuntimeError('CT112_STATE_SCHEMA')
SRC|BACKUP|64|80:        return sorted((x['vmid'],x.get('type'),x.get('node'),x.get('status'),x.get('template')) for x in rows)
SRC|BACKUP|64|83:    a=[j for j in old if j.get('vmid')==vmid];b=[j for j in new if j.get('vmid')==vmid]
SRC|BACKUP|64|119:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|64|120:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|64|127:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|64|143:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|64|146:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|64|149:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|64|157:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=65|BASENAME=legacy_engine.py|PATH_SHA256=d01be8c91a53c39ac6295a389b40b6b216db5f0cce27d2482e8f29523278d1d9|SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598|SIZE=59790|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|65|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|65|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|65|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|65|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|65|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|65|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|65|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|65|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|65|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|65|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|65|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|65|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|65|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|65|46: pathlib.Path('<PATH>'),
SRC|BACKUP|65|47: pathlib.Path('<PATH>'),
SRC|BACKUP|65|48: pathlib.Path('<PATH>'),
SRC|BACKUP|65|49: pathlib.Path('<PATH>'),
SRC|BACKUP|65|50: pathlib.Path('<PATH>'),
SRC|BACKUP|65|51: pathlib.Path('<PATH>'),
SRC|BACKUP|65|52: pathlib.Path('<PATH>'),
SRC|BACKUP|65|53: pathlib.Path('<PATH>'),
SRC|BACKUP|65|54: pathlib.Path('<PATH>'),
SRC|BACKUP|65|55: pathlib.Path('<PATH>'),
SRC|BACKUP|65|56: pathlib.Path('<PATH>'),
SRC|BACKUP|65|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|65|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|65|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|65|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|65|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|65|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|65|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|65|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|65|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|65|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|65|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|65|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|65|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|65|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|65|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|65|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=66|BASENAME=adapter.py|PATH_SHA256=0597d519bb2392f2fe3ce3e7d4913b7d5ea22e8bd66ec576b1ab7b1d069628f4|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=67|BASENAME=CONTRACT.json|PATH_SHA256=c48b07d4bca9628f28a6a37a68b8f0e14d09a3bb012399f337c236ee0f455f87|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=68|BASENAME=pve282.py|PATH_SHA256=33a1a82895889ea63a6b310dfca8e79a7f5e44f17e2d1ed6d7653bc6c81d50e6|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|68|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|68|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|68|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|68|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|68|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|68|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|68|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|68|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=69|BASENAME=test_pve282.py|PATH_SHA256=7405d48c4039d3f91b06d2263f9e7e911ec6cfd4c48f6aa731a251007283a01e|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|69|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|69|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|69|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|69|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|69|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|69|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=70|BASENAME=wrapper.py|PATH_SHA256=43c5db443685705fa4bb5e421cb1b3bbb1073be158e36ca02389b6e7ca97f966|SHA256=9a80e64ef41f0c727b10983f2d26c87588231ec7056e2c2ea7c50cf8229da6f7|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|70|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|70|8:LOCK=Path('<PATH>')
SRC|BACKUP|70|15:legacy=_load('_backupv2_legacy479',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|70|16:ct112=_load('_backupv2_ct112_479',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|70|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|70|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|70|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|70|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|70|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|70|40:def backup_target(t,green_verify=False):
SRC|BACKUP|70|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|70|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|70|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|70|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|70|53:legacy.backup_target=backup_target
SRC|BACKUP|70|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|70|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|70|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|70|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|70|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=71|BASENAME=representative_driver.py|PATH_SHA256=dbd50790739b5354efacfce127f41589e12f5759ae8050674a703cf1c04b575c|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|71|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|71|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|71|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|71|43:        logical_id=_logical_id(target)
SRC|BACKUP|71|44:        if logical_id not in wanted:
SRC|BACKUP|71|46:        if logical_id in selected:
SRC|BACKUP|71|48:        selected[logical_id]=target
SRC|BACKUP|71|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|71|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|71|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|71|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|71|80:    logical_id=_logical_id(target)
SRC|BACKUP|71|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|71|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|71|84:    if not callable(backup):
SRC|BACKUP|71|91:        return backup(target,True)
SRC|BACKUP|71|95:def _validate_ct112_result(result):
SRC|BACKUP|71|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|71|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|71|107:    if not callable(ct112_callback):
SRC|BACKUP|71|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|71|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=72|BASENAME=ct112_handler.py|PATH_SHA256=4c34efcab9981ff7b3aacaefcfb4532cb08fa4898eb0b1e5d97698bd7d5ec1d6|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|SIZE=7923|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|72|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|72|49:        vmid=r.get('vmid')
SRC|BACKUP|72|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|72|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|72|77:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|72|78:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|72|85:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|72|101:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|72|113:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=73|BASENAME=legacy_engine.py|PATH_SHA256=9a8b05902c8db1d56dc8303ffbd6fef278b3b69b41dd4eda89a767f2a3d6bd25|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|73|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|73|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|73|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|73|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|73|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|73|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|73|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|73|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|73|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|73|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|73|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|73|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|73|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|73|46: pathlib.Path('<PATH>'),
SRC|BACKUP|73|47: pathlib.Path('<PATH>'),
SRC|BACKUP|73|48: pathlib.Path('<PATH>'),
SRC|BACKUP|73|49: pathlib.Path('<PATH>'),
SRC|BACKUP|73|50: pathlib.Path('<PATH>'),
SRC|BACKUP|73|51: pathlib.Path('<PATH>'),
SRC|BACKUP|73|52: pathlib.Path('<PATH>'),
SRC|BACKUP|73|53: pathlib.Path('<PATH>'),
SRC|BACKUP|73|54: pathlib.Path('<PATH>'),
SRC|BACKUP|73|55: pathlib.Path('<PATH>'),
SRC|BACKUP|73|56: pathlib.Path('<PATH>'),
SRC|BACKUP|73|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|73|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|73|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|73|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|73|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|73|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|73|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|73|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|73|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|73|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|73|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|73|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|73|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|73|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|73|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|73|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=74|BASENAME=entry494.py|PATH_SHA256=99f2418e3b5a0c024fd31633d318c52891a022416afb72cbc6a0b16830160dfb|SHA256=e235d716e6bdf18efd0561e9aa82afefd5e9c2aff5bf077e24602fcfb9e7e0a6|SIZE=3318|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|74|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|74|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|74|41:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|74|54:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112': raise RuntimeError('PLAN_TARGET_NOT_LEGACY_LXC')
SRC|BACKUP|74|56:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':t['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|74|60:        if t.get('logical_id')=='guest-pve01-lxc-112': raise RuntimeError('VERIFY_SYNTHETIC_CT112_FORBIDDEN')
SRC|BACKUP|74|61:        out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=75|BASENAME=adapter.py|PATH_SHA256=b54dd34c6daba76ea48215747709299a48e6b739b94fa67c03d0abe6ce68e8d5|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=76|BASENAME=CONTRACT.json|PATH_SHA256=2bc9ba7e95f53bb060cad215d499fb7dfe21d3eba5689a7a81e9de60967afd5d|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=77|BASENAME=pve282.py|PATH_SHA256=88dca45d58d8450c844fcef968c408ac80c8c3efa29870570018e41da934cd37|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|77|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|77|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|77|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|77|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|77|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|77|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|77|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|77|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=78|BASENAME=test_pve282.py|PATH_SHA256=0a74156c05121ea3aef130d2abb70d1bd782954ce3f106fbf62aa0eca51a83eb|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|78|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|78|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|78|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|78|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|78|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|78|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=79|BASENAME=wrapper.py|PATH_SHA256=8115ff35840dca283c79a4cc0cbd20f5a50ed53db5e8562ece4f0c91f4852d5a|SHA256=3e16370b38f2f36d0d228fde59ffb05470ca56491e8abcbdcf65e6ee65bdb754|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|79|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|79|8:LOCK=Path('<PATH>')
SRC|BACKUP|79|15:legacy=_load('_backupv2_legacy483',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|79|16:ct112=_load('_backupv2_ct112_483',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|79|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|79|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|79|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|79|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|79|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|79|40:def backup_target(t,green_verify=False):
SRC|BACKUP|79|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|79|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|79|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|79|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|79|53:legacy.backup_target=backup_target
SRC|BACKUP|79|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|79|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|79|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|79|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|79|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=80|BASENAME=representative_driver.py|PATH_SHA256=031e63461b44c8d82cfd4395d8a42d4ed41bd7cce246d918a4bdb83de38282fe|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|80|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|80|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|80|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|80|43:        logical_id=_logical_id(target)
SRC|BACKUP|80|44:        if logical_id not in wanted:
SRC|BACKUP|80|46:        if logical_id in selected:
SRC|BACKUP|80|48:        selected[logical_id]=target
SRC|BACKUP|80|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|80|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|80|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|80|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|80|80:    logical_id=_logical_id(target)
SRC|BACKUP|80|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|80|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|80|84:    if not callable(backup):
SRC|BACKUP|80|91:        return backup(target,True)
SRC|BACKUP|80|95:def _validate_ct112_result(result):
SRC|BACKUP|80|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|80|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|80|107:    if not callable(ct112_callback):
SRC|BACKUP|80|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|80|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=81|BASENAME=ct112_handler.py|PATH_SHA256=2f008ee94cfba105b0873924e40c8c72077600c9c614f3a86b7bf26191ca9f6c|SHA256=1694d7ae012ed2641a80fb22cbe872ef3ec972fa630708a5544b2e8d05bbf7ef|SIZE=7908|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|81|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|81|49:        vmid=r.get('vmid')
SRC|BACKUP|81|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|81|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|81|77:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|81|78:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|81|85:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|81|101:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|81|113:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=82|BASENAME=legacy_engine.py|PATH_SHA256=ada28322dd44b921f815bb2cdba360506c3f4e2a58c97f1eea9a2a6d4e384c9d|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|82|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|82|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|82|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|82|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|82|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|82|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|82|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|82|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|82|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|82|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|82|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|82|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|82|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|82|46: pathlib.Path('<PATH>'),
SRC|BACKUP|82|47: pathlib.Path('<PATH>'),
SRC|BACKUP|82|48: pathlib.Path('<PATH>'),
SRC|BACKUP|82|49: pathlib.Path('<PATH>'),
SRC|BACKUP|82|50: pathlib.Path('<PATH>'),
SRC|BACKUP|82|51: pathlib.Path('<PATH>'),
SRC|BACKUP|82|52: pathlib.Path('<PATH>'),
SRC|BACKUP|82|53: pathlib.Path('<PATH>'),
SRC|BACKUP|82|54: pathlib.Path('<PATH>'),
SRC|BACKUP|82|55: pathlib.Path('<PATH>'),
SRC|BACKUP|82|56: pathlib.Path('<PATH>'),
SRC|BACKUP|82|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|82|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|82|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|82|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|82|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|82|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|82|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|82|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|82|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|82|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|82|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|82|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|82|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|82|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|82|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|82|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=83|BASENAME=adapter.py|PATH_SHA256=49e2f0d6df3111daad4022cc5632f53d3722c6e669ae72acc1fd3ce6c504aa17|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=84|BASENAME=CONTRACT.json|PATH_SHA256=8356a3bc5a06e8bbd89dd4787c0e39417a746aba1a89d2dd52a780e40c1fcde7|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=85|BASENAME=pve282.py|PATH_SHA256=b17d73ebc13208d1b19b1d1b32f8aa6e76198a98eb8f904a690a5ab89f92e432|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|85|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|85|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|85|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|85|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|85|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|85|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|85|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|85|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=86|BASENAME=test_pve282.py|PATH_SHA256=784e0d98ce3211c17fd9e5fa350e570c5b0b136321406d587705474ce91a8430|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|86|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|86|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|86|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|86|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|86|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|86|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=87|BASENAME=wrapper.py|PATH_SHA256=91496295122dcb0bb41cb43ce8a7e1a78a5133910adee24563f446b53f30f5c0|SHA256=dee410755a86ecae0fb921454109f48b9ea57d11724a3e1cc8001a87ea78dba5|SIZE=5076|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|87|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|87|8:LOCK=Path('<PATH>')
SRC|BACKUP|87|15:legacy=_load('_backupv2_legacy486',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|87|16:ct112=_load('_backupv2_ct112_486',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|87|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|87|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|87|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|87|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|87|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|87|40:def backup_target(t,green_verify=False):
SRC|BACKUP|87|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|87|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|87|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|87|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|87|53:legacy.backup_target=backup_target
SRC|BACKUP|87|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|87|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|87|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|87|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|87|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=88|BASENAME=representative_driver.py|PATH_SHA256=e7dea74f3da085db4cc43a65d5bcd12c7569311d2e2625424f1c9c13c4f973aa|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|88|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|88|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|88|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|88|43:        logical_id=_logical_id(target)
SRC|BACKUP|88|44:        if logical_id not in wanted:
SRC|BACKUP|88|46:        if logical_id in selected:
SRC|BACKUP|88|48:        selected[logical_id]=target
SRC|BACKUP|88|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|88|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|88|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|88|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|88|80:    logical_id=_logical_id(target)
SRC|BACKUP|88|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|88|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|88|84:    if not callable(backup):
SRC|BACKUP|88|91:        return backup(target,True)
SRC|BACKUP|88|95:def _validate_ct112_result(result):
SRC|BACKUP|88|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|88|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|88|107:    if not callable(ct112_callback):
SRC|BACKUP|88|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|88|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=89|BASENAME=ct112_handler.py|PATH_SHA256=8bab47c07b84752b30b25cf4a60a7643c52ea238db95c45016e96bffe310110b|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|SIZE=10955|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|89|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|89|49:        vmid=r.get('vmid')
SRC|BACKUP|89|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|89|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|89|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|89|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|89|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|89|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|89|74:def _assert_live_state_unchanged(before,after,vmid):
SRC|BACKUP|89|79:        if any(type(x) is not dict or type(x.get('vmid')) is not int for x in rows):raise RuntimeError('CT112_STATE_SCHEMA')
SRC|BACKUP|89|80:        return sorted((x['vmid'],x.get('type'),x.get('node'),x.get('status'),x.get('template')) for x in rows)
SRC|BACKUP|89|83:    a=[j for j in old if j.get('vmid')==vmid];b=[j for j in new if j.get('vmid')==vmid]
SRC|BACKUP|89|119:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|89|120:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|89|127:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|89|143:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|89|146:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|89|149:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|89|157:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=90|BASENAME=legacy_engine.py|PATH_SHA256=b08598c199b979909827472414e9d774eed12f00ff61eb1534b9cf9ff4333d05|SHA256=a5f1b1701a39eb22cf2f061d7daa7afa92789320c30b108371c3ee47d57f817c|SIZE=59868|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|90|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|90|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|90|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|90|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|90|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|90|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|90|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|90|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|90|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|90|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|90|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|90|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|90|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|90|46: pathlib.Path('<PATH>'),
SRC|BACKUP|90|47: pathlib.Path('<PATH>'),
SRC|BACKUP|90|48: pathlib.Path('<PATH>'),
SRC|BACKUP|90|49: pathlib.Path('<PATH>'),
SRC|BACKUP|90|50: pathlib.Path('<PATH>'),
SRC|BACKUP|90|51: pathlib.Path('<PATH>'),
SRC|BACKUP|90|52: pathlib.Path('<PATH>'),
SRC|BACKUP|90|53: pathlib.Path('<PATH>'),
SRC|BACKUP|90|54: pathlib.Path('<PATH>'),
SRC|BACKUP|90|55: pathlib.Path('<PATH>'),
SRC|BACKUP|90|56: pathlib.Path('<PATH>'),
SRC|BACKUP|90|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|90|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|90|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|90|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|90|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|90|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|90|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|90|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|90|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|90|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|90|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|90|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|90|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|90|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|90|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|90|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=91|BASENAME=entry500.py|PATH_SHA256=1fb7ac483153d7a1d6413ff7fcdad11bf64c51da4f4378477122faae9e0a46f5|SHA256=a3964599e60c3309efb23dc3b4d9b514d8f27e73d2257359c7a2e5de764b39d9|SIZE=5347|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|91|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|91|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|91|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|91|87:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|91|95:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|91|108:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|91|111:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|91|115:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|91|117:        out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=92|BASENAME=entry504.py|PATH_SHA256=e45dceca404d9cd9ea4aae4f87fd13c44557fc29dc07d67b62d16021777efbaa|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|SIZE=10566|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|92|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|92|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|92|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|92|100:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|92|114:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|92|141:                targets=[{'logical_id':'proof-a','enabled':True,'due_seconds':100},{'logical_id':'proof-b','enabled':True,'due_seconds':100}]
SRC|BACKUP|92|143:                if not isinstance(first,dict) or first.get('logical_id')!='proof-b': raise RuntimeError('SCHEDULER_PROOF_PEER_NOT_SELECTED')
SRC|BACKUP|92|149:                if not isinstance(second,dict) or second.get('logical_id')!='proof-a': raise RuntimeError('SCHEDULER_PROOF_RETRY_NOT_REELIGIBLE')
SRC|BACKUP|92|154:                proof={'failed_target':'proof-a','peer_selected_during_backoff':first['logical_id'],'retry_after_epoch':retry,'last_success_preserved':preserved==1000,'retry_target_after_backoff':second['logical_id'],'success_resets_failures':True,'production_state_root_used':False}
SRC|BACKUP|92|165:            print('SCHEDULER_LIVE_SELECTION='+json.dumps({'logical_id':chosen.get('logical_id'),'due_seconds':chosen.get('due_seconds'),'enabled':chosen.get('enabled') is True},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|92|169:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|92|172:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|92|176:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|92|179:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=93|BASENAME=engine394.py|PATH_SHA256=4e2dc451f7792d52e3fec3607ed4ce812a63e37f6a4db1314e1bc31c9bb6e04c|SHA256=c201145ac029a3ca43027df292fc57f91c2fa40118e2ce8225cf5c2c070a2e0d|SIZE=56245|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|93|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|93|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|93|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|93|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|93|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|93|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|93|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|93|89:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|93|91:    for x in (scope,logical_id,generation):
SRC|BACKUP|93|93:    return f'homelab-backups<PATH>'
SRC|BACKUP|93|95:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|93|99:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|93|110:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|93|111:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|93|113:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|93|115:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|93|116:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|93|117:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|93|118:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|93|128:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|93|129:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|93|130:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|93|139:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
SRC|BACKUP|93|141:        if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|93|196:    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|93|206:            j=json.loads(p.read_text()); d[j['logical_id']]=j
SRC|BACKUP|93|210:def write_state(logical_id,result,**kw):
SRC|BACKUP|93|212:    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}
SRC|BACKUP|93|214:    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\n',0o600)
SRC|BACKUP|93|237:def remote_exists_any(scope,logical_id,generation):
SRC|BACKUP|93|238:    rel=remote_generation_path(scope,logical_id,generation)
SRC|BACKUP|93|285:def generation_id(logical_id):
SRC|BACKUP|93|287:    return f'v2-{logical_id}-{ts}-{os.urandom(6).hex()}'
SRC|BACKUP|93|292:    gen=source_meta['generation']; rel=remote_generation_path(t['scope'],t['logical_id'],gen)
SRC|BACKUP|93|293:    if remote_exists_any(t['scope'],t['logical_id'],gen): raise BackupError('GENERATION_COLLISION')
SRC|BACKUP|93|296:    manifest=make_manifest(t['scope'],t['logical_id'],gen,n,psha,parts,reps,source_meta)
SRC|BACKUP|93|307:    seal={'schema':1,'generation':gen,'logical_id':t['logical_id'],'manifest_sha256':msha,'payload_sha256':psha,'status':'SEALED','sealed_at_utc':utcnow()}
SRC|BACKUP|93|316:    rel=remote_generation_path(manifest['scope'],manifest['logical_id'],manifest['generation'])
SRC|BACKUP|93|351:            # Green set is intentionally CT-only. Scheduled QEMU backups still get dual remote byte readback.
SRC|BACKUP|93|382:    for d in [GUEST266.parent,pathlib.Path('<PATH>'),pathlib.Path('<PATH>'),pathlib.Path('<PATH>')]:
REC|BACKUP_SOURCE|IDX=94|BASENAME=adapter.py|PATH_SHA256=1ad2149188af73bd54ae07eb10c080ac87cf8056a6755d071fe6084c2e51b5cd|SHA256=18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3|SIZE=2989|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=95|BASENAME=CONTRACT.json|PATH_SHA256=a25dba269a0dbf67b3909048e950ced56798837e967a0f7cb0887c628b934553|SHA256=a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01|SIZE=2077|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=96|BASENAME=pve282.py|PATH_SHA256=6e82b84f9418567f33ee4e4c2a06a1d6206380179189125a55de17e35d867676|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|96|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|96|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|96|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|96|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|96|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|96|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|96|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|96|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=97|BASENAME=test_pve282.py|PATH_SHA256=9cdc467041afef35889719f95e04bb27a03d690a77eaef117a57e85c49089ef9|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|97|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|97|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|97|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|97|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|97|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|97|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=98|BASENAME=wrapper.py|PATH_SHA256=ef99ff36edb680baa62d54a0afc0e87b9212dd856c46fa825f32a2f9f12a814c|SHA256=2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5|SIZE=5055|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|98|6:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|98|8:LOCK=Path('<PATH>')
SRC|BACKUP|98|15:legacy=_load('_backupv2_legacy486',ROOT<PATH>'legacy_engine.py')
SRC|BACKUP|98|16:ct112=_load('_backupv2_ct112_486',ROOT<PATH>'ct112_handler.py')
SRC|BACKUP|98|17:driver=_load('_backupv2_driver454_479',ROOT<PATH>'representative_driver.py')
SRC|BACKUP|98|19:_legacy_backup_target=legacy.backup_target
SRC|BACKUP|98|25:    ids=[x.get('logical_id') for x in out]
SRC|BACKUP|98|30:    xf=[x for x in rows if x.get('logical_id')=='xf-zakrutim']
SRC|BACKUP|98|34:    return {'logical_id':CT_ID,'scope':'pve01 LXC 112 full-guest archive DR','type':'pve_guest','node':'pve01','vmid':112,
SRC|BACKUP|98|40:def backup_target(t,green_verify=False):
SRC|BACKUP|98|41:    if not isinstance(t,dict) or t.get('logical_id')!=CT_ID:
SRC|BACKUP|98|42:        return _legacy_backup_target(t,green_verify)
SRC|BACKUP|98|44:        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|98|45:        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|98|53:legacy.backup_target=backup_target
SRC|BACKUP|98|60:    want={'ct112',*LEGACY_IDS}
SRC|BACKUP|98|61:    if {t.get('logical_id') for t in d if isinstance(t,dict) and t.get('green1')}!=want: raise RuntimeError('LEGACY_DEFAULT_GREEN_SET')
SRC|BACKUP|98|71:    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|98|73:    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|98|74:    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
REC|BACKUP_SOURCE|IDX=99|BASENAME=representative_driver.py|PATH_SHA256=3e6f4fb61ea5c3d2f21d3539889e8223a04575c8cae0b69f139770f5e28a6a21|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|SIZE=4214|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|99|25:CT112_ID='guest-pve01-lxc-112'
SRC|BACKUP|99|33:def _logical_id(target: Mapping[str, Any]) -> str:
SRC|BACKUP|99|34:    value=target.get('logical_id') if isinstance(target, Mapping) else None
SRC|BACKUP|99|43:        logical_id=_logical_id(target)
SRC|BACKUP|99|44:        if logical_id not in wanted:
SRC|BACKUP|99|46:        if logical_id in selected:
SRC|BACKUP|99|48:        selected[logical_id]=target
SRC|BACKUP|99|72:    def write_state(logical_id,result,**kw):
SRC|BACKUP|99|73:        if logical_id not in LEGACY_IDS:
SRC|BACKUP|99|75:        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|99|76:        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|99|80:    logical_id=_logical_id(target)
SRC|BACKUP|99|81:    if logical_id not in LEGACY_IDS:
SRC|BACKUP|99|83:    backup=getattr(engine,'backup_target',None)
SRC|BACKUP|99|84:    if not callable(backup):
SRC|BACKUP|99|91:        return backup(target,True)
SRC|BACKUP|99|95:def _validate_ct112_result(result):
SRC|BACKUP|99|98:    if result.get('logical_id')!=CT112_ID or result.get('status')!='OK':
SRC|BACKUP|99|106:def run_representative(engine, targets, ct112_callback: Callable[[Mapping[str, Any]], Any]):
SRC|BACKUP|99|107:    if not callable(ct112_callback):
SRC|BACKUP|99|109:    legacy,ct112=partition_targets(targets)
SRC|BACKUP|99|110:    results=[_validate_ct112_result(ct112_callback(ct112))]
REC|BACKUP_SOURCE|IDX=100|BASENAME=ACCEPTANCE.json|PATH_SHA256=05bee05a7960c7535c642dbb4ce1af55c008b535e06f2e1e13e2415d2d0fc73e|SHA256=904dfccad43b55ad0b53cfbd29fb45fee36fd0fbfa5afa58da5c3cca0ee7153b|SIZE=517|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|100|1:{"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1","ct112_manifest_sha256":"1ac4f16a54bcdd8b896c9a131abef966d315256aa56da3f83ed0b30845c4fcb0","ct112_payload_bytes":223875308,"ct112_payload_sha256":"d443b85e76e806830fd9c372d0a09fc5b91ca9c9d35c44fb0ad7968cc996d01d","legacy_ids":["node-pve01","md-relay","spb-ingress","us-netbird","router-netcraze","xf-codevipe","xf-zakrutim","control-bootstrap-v2"],"representative_pass":9,"schema":1}
REC|BACKUP_SOURCE|IDX=101|BASENAME=ct112_handler.py|PATH_SHA256=d81d7593fd74c6501fc7701f48337927344b1bc391278d79c8d9b8cfd4fe348d|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|SIZE=10955|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|101|9:CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|101|49:        vmid=r.get('vmid')
SRC|BACKUP|101|50:        if type(vmid) is not int:raise RuntimeError('PVE_VMID_SCHEMA')
SRC|BACKUP|101|51:        configs[vmid]=_json_cmd(f"<PATH>'type']}<PATH>")
SRC|BACKUP|101|56:def _select_live_ct112(plan,now,expected_config=None):
SRC|BACKUP|101|61:    vmids=[j.get('vmid') for j in jobs if isinstance(j,dict)]
SRC|BACKUP|101|62:    if len(vmids)!=len(jobs) or len(vmids)!=len(set(vmids)):raise RuntimeError('CT112_PLAN_MEMBERSHIP')
SRC|BACKUP|101|63:    matches=[j for j in jobs if j.get('vmid')==112]
SRC|BACKUP|101|74:def _assert_live_state_unchanged(before,after,vmid):
SRC|BACKUP|101|79:        if any(type(x) is not dict or type(x.get('vmid')) is not int for x in rows):raise RuntimeError('CT112_STATE_SCHEMA')
SRC|BACKUP|101|80:        return sorted((x['vmid'],x.get('type'),x.get('node'),x.get('status'),x.get('template')) for x in rows)
SRC|BACKUP|101|83:    a=[j for j in old if j.get('vmid')==vmid];b=[j for j in new if j.get('vmid')==vmid]
SRC|BACKUP|101|119:    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|101|120:        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|101|127:        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|101|143:    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|101|146:    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|101|149:        now2=int(time.time());fresh_plan=_fresh_plan(now2);fresh=_select_live_ct112(fresh_plan,now2,expected)
SRC|BACKUP|101|157:    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
REC|BACKUP_SOURCE|IDX=102|BASENAME=RELEASE_MANIFEST.json|PATH_SHA256=56fbab6d900b9712601288cf1261cfd9ef525bef9e248f71a6fa776c1ea97a6a|SHA256=a36dd0db88592ec3d355ef43e6b218da6c9ad649e9ccf8c8f680b96eb23a156e|SIZE=3301|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|102|1:{"files":{"ACCEPTANCE.json":{"bytes":517,"mode":256,"sha256":"904dfccad43b55ad0b53cfbd29fb45fee36fd0fbfa5afa58da5c3cca0ee7153b"},"candidate411<PATH>":{"bytes":2077,"mode":256,"sha256":"a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01"},"candidate411<PATH>":{"bytes":7210,"mode":256,"sha256":"8d36e82080be93a8c929a9211191fa868166b9e7b6152c4c7689fa52b6720757"},"candidate411<PATH>":{"bytes":4310,"mode":256,"sha256":"303f44dc8e91c8e6a675f9ea406ce4b7532ed98440a9b6807fa593ede9d33254"},"candidate411<PATH>":{"bytes":2989,"mode":320,"sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3"},"candidate411<PATH>":{"bytes":7385,"mode":256,"sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868"},"candidate411<PATH>":{"bytes":16514,"mode":256,"sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a"},"candidate411<PATH>":{"bytes":4603,"mode":256,"sha256":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060"},"candidate411<PATH>":{"bytes":12888,"mode":256,"sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be"},"candidate411<PATH>":{"bytes":19595,"mode":256,"sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef"},"candidate411<PATH>":{"bytes":6195,"mode":256,"sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012"},"candidate411<PATH>":{"bytes":14701,"mode":256,"sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1"},"candidate411<PATH>":{"bytes":8831,"mode":256,"sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16"},"candidate411<PATH>":{"bytes":10752,"mode":256,"sha256":"460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da"},"candidate411<PATH>":{"bytes":5441,"mode":256,"sha256":"50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f"},"candidate411<PATH>":{"bytes":12215,"mode":256,"sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7"},"candidate411<PATH>":{"bytes":11781,"mode":256,"sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707"},"candidate411<PATH>":{"bytes":12077,"mode":256,"sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4"},"candidate411<PATH>":{"bytes":5785,"mode":256,"sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4"},"candidate411<PATH>":{"bytes":15364,"mode":256,"sha256":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688"},"candidate411<PATH>":{"bytes":11755,"mode":256,"sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2"},"ct112_handler.py":{"bytes":10955,"mode":256,"sha256":"8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c"},"legacy_engine.py":{"bytes":59719,"mode":256,"sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7"},"representative_driver.py":{"bytes":4214,"mode":256,"sha256":"b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2"},"wrapper.py":{"bytes":5055,"mode":256,"sha256":"2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5"}},"release":"backup-v2-accepted-486r1","schema":1}
REC|BACKUP_SOURCE|IDX=103|BASENAME=legacy_engine.py|PATH_SHA256=fa7629bf6b6d134d2701c19ee57801aca5eab13a8ed300e40fd6f4971c079350|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|103|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|103|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|103|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|103|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|103|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|103|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|103|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|103|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|103|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|103|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|103|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|103|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|103|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|103|46: pathlib.Path('<PATH>'),
SRC|BACKUP|103|47: pathlib.Path('<PATH>'),
SRC|BACKUP|103|48: pathlib.Path('<PATH>'),
SRC|BACKUP|103|49: pathlib.Path('<PATH>'),
SRC|BACKUP|103|50: pathlib.Path('<PATH>'),
SRC|BACKUP|103|51: pathlib.Path('<PATH>'),
SRC|BACKUP|103|52: pathlib.Path('<PATH>'),
SRC|BACKUP|103|53: pathlib.Path('<PATH>'),
SRC|BACKUP|103|54: pathlib.Path('<PATH>'),
SRC|BACKUP|103|55: pathlib.Path('<PATH>'),
SRC|BACKUP|103|56: pathlib.Path('<PATH>'),
SRC|BACKUP|103|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|103|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|103|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|103|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|103|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|103|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|103|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|103|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|103|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|103|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|103|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|103|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|103|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|103|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|103|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|103|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=104|BASENAME=entry502.py|PATH_SHA256=3c5cb50bed0723536c81575884ed634e72129b2608550c5407ef09d7a5c02975|SHA256=9d13ea48693554625f6a996bd8d3abbf3936642c16b56a98d752cdacd63d1f42|SIZE=5564|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|104|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|104|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|104|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|104|87:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|104|95:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|104|108:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|104|111:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|104|115:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|104|118:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=105|BASENAME=entry503.py|PATH_SHA256=2ca4e8af7419985f93372202c1768b951930f95e15035592f59da1caeefd7009|SHA256=ac51fd96ec13bbb38e5dbe5683794bf8ab43fab22383bb617c3506139ca5a0eb|SIZE=6183|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|105|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|105|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|105|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|105|95:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|105|103:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|105|116:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|105|119:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|105|123:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|105|126:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=106|BASENAME=entry501.py|PATH_SHA256=633c14fcc89b6490a7d3bc25c2ddb526bc95f21fb66abe2940cc46224968fbf7|SHA256=e55e5c8c446a397c51858063267e0a9af5d37b1bf59b258b1af0fbde934f59e9|SIZE=5362|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|106|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|106|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|106|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|106|87:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|106|95:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|106|108:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|106|111:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|106|115:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|106|117:        out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=107|BASENAME=engine389.py|PATH_SHA256=3a8a13358314972f0ccb46d5fd21cd314cad1787869f8e94ffe414dd53ccdee8|SHA256=f1524bf68b0495cc4a1f1036adb5ce293465547738ce35437a22b700f51cdd35|SIZE=46752|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|107|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|107|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|107|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|107|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|107|83:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|107|85:    for x in (scope,logical_id,generation):
SRC|BACKUP|107|87:    return f'homelab-backups<PATH>'
SRC|BACKUP|107|89:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|107|93:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|107|104:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|107|105:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|107|107:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|107|109:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|107|110:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|107|111:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|107|112:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|107|122:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|107|123:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|107|124:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|107|133:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
SRC|BACKUP|107|135:        if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|107|190:    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|107|200:            j=json.loads(p.read_text()); d[j['logical_id']]=j
SRC|BACKUP|107|204:def write_state(logical_id,result,**kw):
SRC|BACKUP|107|206:    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}
SRC|BACKUP|107|208:    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\n',0o600)
SRC|BACKUP|107|231:def remote_exists_any(scope,logical_id,generation):
SRC|BACKUP|107|232:    rel=remote_generation_path(scope,logical_id,generation)
SRC|BACKUP|107|279:def generation_id(logical_id):
SRC|BACKUP|107|281:    return f'v2-{logical_id}-{ts}-{os.urandom(6).hex()}'
SRC|BACKUP|107|286:    gen=source_meta['generation']; rel=remote_generation_path(t['scope'],t['logical_id'],gen)
SRC|BACKUP|107|287:    if remote_exists_any(t['scope'],t['logical_id'],gen): raise BackupError('GENERATION_COLLISION')
SRC|BACKUP|107|290:    manifest=make_manifest(t['scope'],t['logical_id'],gen,n,psha,parts,reps,source_meta)
SRC|BACKUP|107|301:    seal={'schema':1,'generation':gen,'logical_id':t['logical_id'],'manifest_sha256':msha,'payload_sha256':psha,'status':'SEALED','sealed_at_utc':utcnow()}
SRC|BACKUP|107|310:    rel=remote_generation_path(manifest['scope'],manifest['logical_id'],manifest['generation'])
SRC|BACKUP|107|345:            # Green set is intentionally CT-only. Scheduled QEMU backups still get dual remote byte readback.
SRC|BACKUP|107|367:    vmid=int(t['vmid']); rows=[r for r in cluster_inventory() if int(r.get('vmid',-1))==vmid]
SRC|BACKUP|107|371:    srcdir=f'<PATH>'
SRC|BACKUP|107|374:    ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200)
SRC|BACKUP|107|386:    return pathlib.Path(local),{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':rows[0].get('status')},cleanup
REC|BACKUP_SOURCE|IDX=108|BASENAME=entry504.py|PATH_SHA256=bb5192d3436ecde7d3f42bb911dd293bb6694c45c84417bb88ab271b127acf31|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|SIZE=10566|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|108|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|108|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|108|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|108|100:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|108|114:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|108|141:                targets=[{'logical_id':'proof-a','enabled':True,'due_seconds':100},{'logical_id':'proof-b','enabled':True,'due_seconds':100}]
SRC|BACKUP|108|143:                if not isinstance(first,dict) or first.get('logical_id')!='proof-b': raise RuntimeError('SCHEDULER_PROOF_PEER_NOT_SELECTED')
SRC|BACKUP|108|149:                if not isinstance(second,dict) or second.get('logical_id')!='proof-a': raise RuntimeError('SCHEDULER_PROOF_RETRY_NOT_REELIGIBLE')
SRC|BACKUP|108|154:                proof={'failed_target':'proof-a','peer_selected_during_backoff':first['logical_id'],'retry_after_epoch':retry,'last_success_preserved':preserved==1000,'retry_target_after_backoff':second['logical_id'],'success_resets_failures':True,'production_state_root_used':False}
SRC|BACKUP|108|165:            print('SCHEDULER_LIVE_SELECTION='+json.dumps({'logical_id':chosen.get('logical_id'),'due_seconds':chosen.get('due_seconds'),'enabled':chosen.get('enabled') is True},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|108|169:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|108|172:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|108|176:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|108|179:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=109|BASENAME=engine391.py|PATH_SHA256=80bf4cf4820d512caa587b901df2a97b93c2fda191de8fe7740cd28de7aa7888|SHA256=9f5095085be09a50e5833cae7ccfb8e70e2536dd56f352676170ec466d7019b3|SIZE=48972|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|109|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|109|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|109|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|109|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|109|83:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|109|85:    for x in (scope,logical_id,generation):
SRC|BACKUP|109|87:    return f'homelab-backups<PATH>'
SRC|BACKUP|109|89:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|109|93:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|109|104:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|109|105:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|109|107:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|109|109:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|109|110:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|109|111:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|109|112:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|109|122:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|109|123:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|109|124:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|109|133:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
SRC|BACKUP|109|135:        if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|109|190:    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|109|200:            j=json.loads(p.read_text()); d[j['logical_id']]=j
SRC|BACKUP|109|204:def write_state(logical_id,result,**kw):
SRC|BACKUP|109|206:    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}
SRC|BACKUP|109|208:    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\n',0o600)
SRC|BACKUP|109|231:def remote_exists_any(scope,logical_id,generation):
SRC|BACKUP|109|232:    rel=remote_generation_path(scope,logical_id,generation)
SRC|BACKUP|109|279:def generation_id(logical_id):
SRC|BACKUP|109|281:    return f'v2-{logical_id}-{ts}-{os.urandom(6).hex()}'
SRC|BACKUP|109|286:    gen=source_meta['generation']; rel=remote_generation_path(t['scope'],t['logical_id'],gen)
SRC|BACKUP|109|287:    if remote_exists_any(t['scope'],t['logical_id'],gen): raise BackupError('GENERATION_COLLISION')
SRC|BACKUP|109|290:    manifest=make_manifest(t['scope'],t['logical_id'],gen,n,psha,parts,reps,source_meta)
SRC|BACKUP|109|301:    seal={'schema':1,'generation':gen,'logical_id':t['logical_id'],'manifest_sha256':msha,'payload_sha256':psha,'status':'SEALED','sealed_at_utc':utcnow()}
SRC|BACKUP|109|310:    rel=remote_generation_path(manifest['scope'],manifest['logical_id'],manifest['generation'])
SRC|BACKUP|109|345:            # Green set is intentionally CT-only. Scheduled QEMU backups still get dual remote byte readback.
SRC|BACKUP|109|372:    vmid=int(t['vmid']); rows=[r for r in cluster_inventory() if int(r.get('vmid',-1))==vmid]
SRC|BACKUP|109|376:    srcdir=f'<PATH>'
SRC|BACKUP|109|386:    ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200)
SRC|BACKUP|109|398:    return pathlib.Path(local),{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':rows[0].get('status')},cleanup
REC|BACKUP_SOURCE|IDX=110|BASENAME=pve282.py|PATH_SHA256=da0dee4dd13f6435d5c23bba253dfbdaae74b72c0a2fd02f8f0362866bd7eb77|SHA256=73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012|SIZE=6195|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|110|3:No changes to source guest configuration; no source110 backup or guest deletion.
SRC|BACKUP|110|24:    need(type(job) is dict and type(job.get('vmid')) is int and job['vmid']==TARGET_VMID and
SRC|BACKUP|110|31:    by_id={j['vmid']:j for j in previous}
SRC|BACKUP|110|34:    need({j['vmid'] for j in rows}==set(by_id),'ACCEPTED265_MEMBERSHIP_CHANGED')
SRC|BACKUP|110|36:        need(row['config_sha256']==by_id[row['vmid']]['config_sha256'],'ACCEPTED265_GUEST_CONFIG_CHANGED')
SRC|BACKUP|110|37:    selected=[j for j in rows if j['vmid']==TARGET_VMID]
SRC|BACKUP|110|44:    need(disk.get('slot')=='rootfs' and disk.get('class')=='managed-volume' and disk.get('backup_setting') in ('included','included_default_rootfs'),'CT112_MANAGED_ROOTFS_REQUIRED')
SRC|BACKUP|110|92:        return {**result,'path':str(dest),'vmid':112,'type':'lxc','node':job['node'],'config_sha256':job['config_sha256'],
REC|BACKUP_SOURCE|IDX=111|BASENAME=test_pve282.py|PATH_SHA256=49d5cbb320335d869a028121eab913f21d7350356e28d7732cd1be68e271c3cf|SHA256=1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4|SIZE=5785|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|111|17: rows=[{'vmid':v,'type':'lxc' if v in (110,112) else 'qemu','node':'pve01','status':'running','maxdisk':8*G} for v in (110,112,150)]
SRC|BACKUP|111|28: def test_selects_only112(self):self.assertEqual(f.select112(plan(),plan(),NOW)['vmid'],112)
SRC|BACKUP|111|33:  b=copy.deepcopy(a);self.assertEqual(f.select112(a,b,NOW)['vmid'],112)
SRC|BACKUP|111|65: def test_marker_scope_ct112_only(self):self.assertEqual(f.TARGET_VMID,112)
SRC|BACKUP|111|75:  return {'path':str(out),'size':len(self.data),'sha256':t.sha(self.data),'identity':list(identity),'vmid':112,'node':'pve01','type':'lxc','producer_rc':0,'config_sha256':j['config_sha256'],'compression_test_ok':True}
SRC|BACKUP|111|78:  z=self.go();self.assertEqual(z['vmid'],112);self.assertEqual(len({a['account_id'] for a in z['replicas']}),2);self.assertEqual(z['local_payload_files_remaining'],0);self.assertEqual(len(self.reader.listed),13);self.assertFalse(z['guest_restore_verified']);self.assertTrue(z['archive_cloud_restore_verified'])
REC|BACKUP_SOURCE|IDX=112|BASENAME=engine392.py|PATH_SHA256=31ca7bcf1ab30815fb911a00d6f9a015e02724b232a64ead7c25e99bfec8d87e|SHA256=7d96b9842de06277ea1be45e1f58e35c8a116a922425317954d339a333fe84f0|SIZE=49438|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|112|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|112|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|112|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|112|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|112|83:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|112|85:    for x in (scope,logical_id,generation):
SRC|BACKUP|112|87:    return f'homelab-backups<PATH>'
SRC|BACKUP|112|89:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|112|93:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|112|104:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|112|105:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|112|107:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|112|109:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|112|110:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|112|111:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|112|112:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|112|122:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|112|123:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|112|124:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|112|133:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
SRC|BACKUP|112|135:        if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|112|190:    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|112|200:            j=json.loads(p.read_text()); d[j['logical_id']]=j
SRC|BACKUP|112|204:def write_state(logical_id,result,**kw):
SRC|BACKUP|112|206:    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}
SRC|BACKUP|112|208:    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\n',0o600)
SRC|BACKUP|112|231:def remote_exists_any(scope,logical_id,generation):
SRC|BACKUP|112|232:    rel=remote_generation_path(scope,logical_id,generation)
SRC|BACKUP|112|279:def generation_id(logical_id):
SRC|BACKUP|112|281:    return f'v2-{logical_id}-{ts}-{os.urandom(6).hex()}'
SRC|BACKUP|112|286:    gen=source_meta['generation']; rel=remote_generation_path(t['scope'],t['logical_id'],gen)
SRC|BACKUP|112|287:    if remote_exists_any(t['scope'],t['logical_id'],gen): raise BackupError('GENERATION_COLLISION')
SRC|BACKUP|112|290:    manifest=make_manifest(t['scope'],t['logical_id'],gen,n,psha,parts,reps,source_meta)
SRC|BACKUP|112|301:    seal={'schema':1,'generation':gen,'logical_id':t['logical_id'],'manifest_sha256':msha,'payload_sha256':psha,'status':'SEALED','sealed_at_utc':utcnow()}
SRC|BACKUP|112|310:    rel=remote_generation_path(manifest['scope'],manifest['logical_id'],manifest['generation'])
SRC|BACKUP|112|345:            # Green set is intentionally CT-only. Scheduled QEMU backups still get dual remote byte readback.
SRC|BACKUP|112|372:    vmid=int(t['vmid']); rows=[r for r in cluster_inventory() if int(r.get('vmid',-1))==vmid]
SRC|BACKUP|112|386:        ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200)
SRC|BACKUP|112|401:    return pathlib.Path(local),{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':rows[0].get('status')},cleanup
SRC|BACKUP|112|454:            results[t['logical_id']]='ALREADY_OPERATOR_KEY'; continue
REC|BACKUP_SOURCE|IDX=113|BASENAME=engine396.py|PATH_SHA256=3eb898a54af9d6804a1bbf0e8545bb6604e226a8104fc2c2054b3d86336b8bc5|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|113|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|113|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|113|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|113|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|113|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|113|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|113|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|113|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|113|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|113|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|113|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|113|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|113|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|113|46: pathlib.Path('<PATH>'),
SRC|BACKUP|113|47: pathlib.Path('<PATH>'),
SRC|BACKUP|113|48: pathlib.Path('<PATH>'),
SRC|BACKUP|113|49: pathlib.Path('<PATH>'),
SRC|BACKUP|113|50: pathlib.Path('<PATH>'),
SRC|BACKUP|113|51: pathlib.Path('<PATH>'),
SRC|BACKUP|113|52: pathlib.Path('<PATH>'),
SRC|BACKUP|113|53: pathlib.Path('<PATH>'),
SRC|BACKUP|113|54: pathlib.Path('<PATH>'),
SRC|BACKUP|113|55: pathlib.Path('<PATH>'),
SRC|BACKUP|113|56: pathlib.Path('<PATH>'),
SRC|BACKUP|113|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|113|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|113|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|113|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|113|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|113|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|113|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|113|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|113|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|113|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|113|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|113|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|113|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|113|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|113|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|113|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=114|BASENAME=task.json|PATH_SHA256=54ca4ea7caf84c49a360a995a33a1c07f33677e1d5244732f11c49f824c94c0a|SHA256=ee1b07c5e90a11701dc58d576ca6c7d4c0dbf912a3ce58b5ec3b10fdba8071e4|SIZE=5771|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|114|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|114|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|114|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|114|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|114|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|114|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|114|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|114|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|114|113:    "ct112",
SRC|BACKUP|114|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|114|152:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=115|BASENAME=task.json|PATH_SHA256=af1e5fc4dd6143205aa16e94452ab61b9d6264b133b54c73adf58d94619f3839|SHA256=121d3735ead3a96fa5f51071e81c69274851b084d7a4df451567925cd80b563d|SIZE=5638|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|115|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|115|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|115|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|115|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|115|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|115|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|115|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|115|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|115|113:    "ct112",
SRC|BACKUP|115|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|115|151:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=116|BASENAME=task.json|PATH_SHA256=3c7a87b3063fdad5ed21933c48306eab72dd38eb9fd94d4da62b01720338e00f|SHA256=1458a64bc17a830f65c24bd8f0b50c93e42a90a4a241e4ee6fc6ea1577c256c5|SIZE=2787|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|116|21:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|116|60:    "ct112",
SRC|BACKUP|116|64:    "backup_jobs",
SRC|BACKUP|116|90:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=117|BASENAME=task.json|PATH_SHA256=8958330a7b72fcbe8e45ad33d7cc8b82520c8a2f9fd58c763e3b9c79ca8fe8dd|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|117|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|117|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|117|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|117|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|117|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|117|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|117|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|117|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|117|113:    "ct112",
SRC|BACKUP|117|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|117|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=118|BASENAME=task.json|PATH_SHA256=1e02bbc556eba83fda313964c41e3414c913291b4b696c3db19a2a18b1fff54a|SHA256=bd0582289f6921e700c163d1c991b5c52d70918084fbed9d1c8e4cd9e613a3ca|SIZE=2812|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|118|20:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|118|58:    "ct112",
SRC|BACKUP|118|62:    "backup_jobs",
SRC|BACKUP|118|89:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=119|BASENAME=preflight.sh|PATH_SHA256=c9d35eef8d8286fdc23960b88edc39fc9eacd909d5ae6fc59ae1123352bedf68|SHA256=2750ce088f821ab4c1f534d75ed21d07fdcee15e389e25648f3631b14dacdf4a|SIZE=5774|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|119|41:    homelab-backup-matrix-refresh.service|homelab-cluster-admin-pull.service|skladchik-reports-monitor-supervisor.service)
SRC|BACKUP|119|57:      map(select((.vmid <PATH> -1)==$ctid)) |
SRC|BACKUP|119|84:    map(select((.vmid <PATH> -1)==170)) |
SRC|BACKUP|119|164:        "dns-ct112-deep.txt",
REC|BACKUP_SOURCE|IDX=120|BASENAME=targets.json.pre|PATH_SHA256=c035c931244b171dd07f2b069f2a9eaac902cbfb7d88a72bd9923fd94a7cd87c|SHA256=ac8fc9b95950052cd261a40992b17a485a8794dca82dbc8eb6961751fd4e9720|SIZE=7423|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|120|11:      "logical_id": "ct110",
SRC|BACKUP|120|14:      "vmid": 110
SRC|BACKUP|120|21:      "logical_id": "ct111",
SRC|BACKUP|120|24:      "vmid": 111
SRC|BACKUP|120|31:      "logical_id": "ct112",
SRC|BACKUP|120|34:      "vmid": 112
SRC|BACKUP|120|41:      "logical_id": "ct113",
SRC|BACKUP|120|44:      "vmid": 113
SRC|BACKUP|120|51:      "logical_id": "vm130",
SRC|BACKUP|120|54:      "vmid": 130
SRC|BACKUP|120|61:      "logical_id": "vm150",
SRC|BACKUP|120|64:      "vmid": 150
SRC|BACKUP|120|71:      "logical_id": "vm160",
SRC|BACKUP|120|74:      "vmid": 160
SRC|BACKUP|120|81:      "logical_id": "vm170",
SRC|BACKUP|120|84:      "vmid": 170
SRC|BACKUP|120|91:      "logical_id": "vm171",
SRC|BACKUP|120|94:      "vmid": 171
SRC|BACKUP|120|101:      "logical_id": "vm190",
SRC|BACKUP|120|104:      "vmid": 190
SRC|BACKUP|120|111:      "logical_id": "vm210",
SRC|BACKUP|120|114:      "vmid": 210
SRC|BACKUP|120|121:      "logical_id": "vm211",
SRC|BACKUP|120|124:      "vmid": 211
SRC|BACKUP|120|131:      "logical_id": "vm9130",
SRC|BACKUP|120|134:      "vmid": 9130
SRC|BACKUP|120|140:      "logical_id": "node-pve01",
SRC|BACKUP|120|149:      "logical_id": "node-pve02",
SRC|BACKUP|120|158:      "logical_id": "node-pve03",
SRC|BACKUP|120|169:      "logical_id": "md-relay",
SRC|BACKUP|120|181:      "logical_id": "spb-ingress",
SRC|BACKUP|120|193:      "logical_id": "us-netbird",
SRC|BACKUP|120|203:      "logical_id": "router-netcraze",
SRC|BACKUP|120|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|120|219:      "vmid": 160
SRC|BACKUP|120|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|120|233:      "vmid": 160
SRC|BACKUP|120|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|120|247:      "vmid": 160
SRC|BACKUP|120|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=121|BASENAME=v2-targets.json.pre|PATH_SHA256=3248dd24d03d241acc3d8d5150ad0f640cf7de891e9453ba0f0bd735dcb289ad|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|SIZE=7416|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|121|11:      "logical_id": "ct110",
SRC|BACKUP|121|14:      "vmid": 110
SRC|BACKUP|121|21:      "logical_id": "ct111",
SRC|BACKUP|121|24:      "vmid": 111
SRC|BACKUP|121|31:      "logical_id": "ct112",
SRC|BACKUP|121|34:      "vmid": 112
SRC|BACKUP|121|41:      "logical_id": "ct113",
SRC|BACKUP|121|44:      "vmid": 113
SRC|BACKUP|121|51:      "logical_id": "vm130",
SRC|BACKUP|121|54:      "vmid": 130
SRC|BACKUP|121|61:      "logical_id": "vm150",
SRC|BACKUP|121|64:      "vmid": 150
SRC|BACKUP|121|71:      "logical_id": "vm160",
SRC|BACKUP|121|74:      "vmid": 160
SRC|BACKUP|121|81:      "logical_id": "vm170",
SRC|BACKUP|121|84:      "vmid": 170
SRC|BACKUP|121|91:      "logical_id": "vm171",
SRC|BACKUP|121|94:      "vmid": 171
SRC|BACKUP|121|101:      "logical_id": "vm190",
SRC|BACKUP|121|104:      "vmid": 190
SRC|BACKUP|121|111:      "logical_id": "vm210",
SRC|BACKUP|121|114:      "vmid": 210
SRC|BACKUP|121|121:      "logical_id": "vm211",
SRC|BACKUP|121|124:      "vmid": 211
SRC|BACKUP|121|131:      "logical_id": "vm9130",
SRC|BACKUP|121|134:      "vmid": 9130
SRC|BACKUP|121|140:      "logical_id": "node-pve01",
SRC|BACKUP|121|149:      "logical_id": "node-pve02",
SRC|BACKUP|121|158:      "logical_id": "node-pve03",
SRC|BACKUP|121|169:      "logical_id": "md-relay",
SRC|BACKUP|121|181:      "logical_id": "spb-ingress",
SRC|BACKUP|121|193:      "logical_id": "us-netbird",
SRC|BACKUP|121|203:      "logical_id": "router-netcraze",
SRC|BACKUP|121|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|121|219:      "vmid": 160
SRC|BACKUP|121|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|121|233:      "vmid": 160
SRC|BACKUP|121|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|121|247:      "vmid": 160
SRC|BACKUP|121|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=122|BASENAME=entry504.py|PATH_SHA256=f573b44bde9bee765262bf457af5b639eb082857a8f7bd0fbec6ec38660aae1a|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|SIZE=10566|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|122|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|122|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|122|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|122|100:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|122|114:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|122|141:                targets=[{'logical_id':'proof-a','enabled':True,'due_seconds':100},{'logical_id':'proof-b','enabled':True,'due_seconds':100}]
SRC|BACKUP|122|143:                if not isinstance(first,dict) or first.get('logical_id')!='proof-b': raise RuntimeError('SCHEDULER_PROOF_PEER_NOT_SELECTED')
SRC|BACKUP|122|149:                if not isinstance(second,dict) or second.get('logical_id')!='proof-a': raise RuntimeError('SCHEDULER_PROOF_RETRY_NOT_REELIGIBLE')
SRC|BACKUP|122|154:                proof={'failed_target':'proof-a','peer_selected_during_backoff':first['logical_id'],'retry_after_epoch':retry,'last_success_preserved':preserved==1000,'retry_target_after_backoff':second['logical_id'],'success_resets_failures':True,'production_state_root_used':False}
SRC|BACKUP|122|165:            print('SCHEDULER_LIVE_SELECTION='+json.dumps({'logical_id':chosen.get('logical_id'),'due_seconds':chosen.get('due_seconds'),'enabled':chosen.get('enabled') is True},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|122|169:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|122|172:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|122|176:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|122|179:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=123|BASENAME=entry504.py|PATH_SHA256=bb0b3be55afe8c4178ff375705d94ceb34d36268d139fcc52aba24a4fbd6186d|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|SIZE=10566|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|123|4:BASE=pathlib.Path('<PATH>')
SRC|BACKUP|123|9: 'ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|123|62:    required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|123|100:    rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|123|114:    if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|123|141:                targets=[{'logical_id':'proof-a','enabled':True,'due_seconds':100},{'logical_id':'proof-b','enabled':True,'due_seconds':100}]
SRC|BACKUP|123|143:                if not isinstance(first,dict) or first.get('logical_id')!='proof-b': raise RuntimeError('SCHEDULER_PROOF_PEER_NOT_SELECTED')
SRC|BACKUP|123|149:                if not isinstance(second,dict) or second.get('logical_id')!='proof-a': raise RuntimeError('SCHEDULER_PROOF_RETRY_NOT_REELIGIBLE')
SRC|BACKUP|123|154:                proof={'failed_target':'proof-a','peer_selected_during_backoff':first['logical_id'],'retry_after_epoch':retry,'last_success_preserved':preserved==1000,'retry_target_after_backoff':second['logical_id'],'success_resets_failures':True,'production_state_root_used':False}
SRC|BACKUP|123|165:            print('SCHEDULER_LIVE_SELECTION='+json.dumps({'logical_id':chosen.get('logical_id'),'due_seconds':chosen.get('due_seconds'),'enabled':chosen.get('enabled') is True},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|123|169:        if t.get('guest_type')!='lxc' or t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|123|172:        print('PLAN_LXC_RESULT='+json.dumps({'logical_id':t['logical_id'],'vmid':int(t['vmid']),'node':out['job']['node'],'job':out['job']},separators=(',',':'),sort_keys=True),flush=True)
SRC|BACKUP|123|176:        if t.get('logical_id')=='guest-pve01-lxc-112':
SRC|BACKUP|123|179:            out=wrapper.backup_target(t,True)
REC|BACKUP_SOURCE|IDX=124|BASENAME=source-provenance.tsv|PATH_SHA256=f775a79180619da0b4fb467d1ea25a2794a4772fba293317edc2a92099d8ff00|SHA256=88a5e36778f92032ee8b6c71f96036cb5db397df8fd63eb27ca72db2fb33ffe1|SIZE=693|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|124|8:original_lxc_actual_boot	ct112 Cloud B
SRC|BACKUP|124|10:new_initial_lxc_actual_boot	ct112 Cloud A current latest strict SEALED
REC|BACKUP_SOURCE|IDX=125|BASENAME=run.sh|PATH_SHA256=a2304402cc83eb21c3651f9eca373afaa3afebf0d2ae39f800458c9d047225eb|SHA256=a05a188af1f432257ffb8a321184e5a5944187fe665f909e50db1c918581e80d|SIZE=7433|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|125|11:  T="$W<PATH>"
SRC|BACKUP|125|16:  SEAL=<PATH>
SRC|BACKUP|125|28:  precheck_out="$(HOMELAB_BOOT_DRILL_POLICY="$HERE<PATH>" HOMELAB_BOOT_DRILL_STATE_EXPORTER="$HERE<PATH>" PYTHONDONTWRITEBYTECODE=1 <PATH> -S -B "$HERE<PATH>" precheck 2>&1)"
SRC|BACKUP|125|53:  PYTHONDONTWRITEBYTECODE=1 <PATH> -S -B -m unittest -v tests.test_repository tests.test_reg_014_015 tests.test_cr_2026_0070_target_lifecycle_registry tests.test_cr_2026_0071_backup_observability tests.test_cr_2026_0071_nounset_regression tests.test_cr_2026_0072_gfs_retention tests.test_cr_2026_0074_delete_evidence_hardening tests.test_cr_2026_0075_rotating_boot_drill
SRC|BACKUP|125|76:  HOMELAB_CONTROLLED_APPLY_CONFIRM=backup-rotating-boot-drill-escrow-freshness-v1 "$ADMIN" run "$T" apply
SRC|BACKUP|125|83:      HOMELAB_CONTROLLED_APPLY_CONFIRM=backup-rotating-boot-drill-escrow-freshness-v1 "$ADMIN" run "$T" rollback
SRC|BACKUP|125|99:      HOMELAB_CONTROLLED_APPLY_CONFIRM=backup-rotating-boot-drill-escrow-freshness-v1 "$ADMIN" run "$T" rollback
SRC|BACKUP|125|115:      HOMELAB_CONTROLLED_APPLY_CONFIRM=backup-rotating-boot-drill-escrow-freshness-v1 "$ADMIN" run "$T" rollback
SRC|BACKUP|125|126:  jq -e --arg h "$new_head" '.status=="SEALED" and .change_id=="CR-2026-0075" and .source_head==$h and .rotating_actual_boot_drills==true and .timer_active==true and .immediate_actual_qemu_boot_proven==true and .immediate_actual_lxc_boot_proven==true and .initial_qemu_vmid=="180" and .initial_lxc_vmid=="112" and .initial_qemu_cloud=="B" and .initial_lxc_cloud=="A" and .qemu_boot_acceptance=="GUEST_AGENT_RESPONDED" and .lxc_boot_acceptance=="PCT_EXEC_TRUE" and .escrow_freshness_coupled==true and .escrow_semantic_proof_max_age_days==90 and .physical_escrow_media_read_proven==false and .original_site_dr_seal_unchanged==true and .temporary_guest_residue==false and .cloud_writes==false and .cloud_deletes==false and .production_guest_state_unchanged==true' "$SEAL" ><PATH>
SRC|BACKUP|125|129:  printf 'FINAL_DR_918=OK|source_head=%s|seal_sha256=%s|rotating_boot=ACTIVE|qemu180_cloud=B_PROVEN|ct112_cloud=A_PROVEN|escrow_freshness=COUPLED_90D|temp_residue=NO|cloud_writes=NO\n' "$new_head" "$(sha256sum "$SEAL" | awk '{print $1}')"
REC|BACKUP_SOURCE|IDX=126|BASENAME=targets.before|PATH_SHA256=01a2beff6df5d77aacf3c9dcc1cfbc08d0efcdfd3806264782277e9999d539cd|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|SIZE=7416|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|126|11:      "logical_id": "ct110",
SRC|BACKUP|126|14:      "vmid": 110
SRC|BACKUP|126|21:      "logical_id": "ct111",
SRC|BACKUP|126|24:      "vmid": 111
SRC|BACKUP|126|31:      "logical_id": "ct112",
SRC|BACKUP|126|34:      "vmid": 112
SRC|BACKUP|126|41:      "logical_id": "ct113",
SRC|BACKUP|126|44:      "vmid": 113
SRC|BACKUP|126|51:      "logical_id": "vm130",
SRC|BACKUP|126|54:      "vmid": 130
SRC|BACKUP|126|61:      "logical_id": "vm150",
SRC|BACKUP|126|64:      "vmid": 150
SRC|BACKUP|126|71:      "logical_id": "vm160",
SRC|BACKUP|126|74:      "vmid": 160
SRC|BACKUP|126|81:      "logical_id": "vm170",
SRC|BACKUP|126|84:      "vmid": 170
SRC|BACKUP|126|91:      "logical_id": "vm171",
SRC|BACKUP|126|94:      "vmid": 171
SRC|BACKUP|126|101:      "logical_id": "vm190",
SRC|BACKUP|126|104:      "vmid": 190
SRC|BACKUP|126|111:      "logical_id": "vm210",
SRC|BACKUP|126|114:      "vmid": 210
SRC|BACKUP|126|121:      "logical_id": "vm211",
SRC|BACKUP|126|124:      "vmid": 211
SRC|BACKUP|126|131:      "logical_id": "vm9130",
SRC|BACKUP|126|134:      "vmid": 9130
SRC|BACKUP|126|140:      "logical_id": "node-pve01",
SRC|BACKUP|126|149:      "logical_id": "node-pve02",
SRC|BACKUP|126|158:      "logical_id": "node-pve03",
SRC|BACKUP|126|169:      "logical_id": "md-relay",
SRC|BACKUP|126|181:      "logical_id": "spb-ingress",
SRC|BACKUP|126|193:      "logical_id": "us-netbird",
SRC|BACKUP|126|203:      "logical_id": "router-netcraze",
SRC|BACKUP|126|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|126|219:      "vmid": 160
SRC|BACKUP|126|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|126|233:      "vmid": 160
SRC|BACKUP|126|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|126|247:      "vmid": 160
SRC|BACKUP|126|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=127|BASENAME=targets.before|PATH_SHA256=9754051cea565efffa6e2e7c1ab3177743f03bab07452ecfa3f75588b03c56a9|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|SIZE=7416|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|127|11:      "logical_id": "ct110",
SRC|BACKUP|127|14:      "vmid": 110
SRC|BACKUP|127|21:      "logical_id": "ct111",
SRC|BACKUP|127|24:      "vmid": 111
SRC|BACKUP|127|31:      "logical_id": "ct112",
SRC|BACKUP|127|34:      "vmid": 112
SRC|BACKUP|127|41:      "logical_id": "ct113",
SRC|BACKUP|127|44:      "vmid": 113
SRC|BACKUP|127|51:      "logical_id": "vm130",
SRC|BACKUP|127|54:      "vmid": 130
SRC|BACKUP|127|61:      "logical_id": "vm150",
SRC|BACKUP|127|64:      "vmid": 150
SRC|BACKUP|127|71:      "logical_id": "vm160",
SRC|BACKUP|127|74:      "vmid": 160
SRC|BACKUP|127|81:      "logical_id": "vm170",
SRC|BACKUP|127|84:      "vmid": 170
SRC|BACKUP|127|91:      "logical_id": "vm171",
SRC|BACKUP|127|94:      "vmid": 171
SRC|BACKUP|127|101:      "logical_id": "vm190",
SRC|BACKUP|127|104:      "vmid": 190
SRC|BACKUP|127|111:      "logical_id": "vm210",
SRC|BACKUP|127|114:      "vmid": 210
SRC|BACKUP|127|121:      "logical_id": "vm211",
SRC|BACKUP|127|124:      "vmid": 211
SRC|BACKUP|127|131:      "logical_id": "vm9130",
SRC|BACKUP|127|134:      "vmid": 9130
SRC|BACKUP|127|140:      "logical_id": "node-pve01",
SRC|BACKUP|127|149:      "logical_id": "node-pve02",
SRC|BACKUP|127|158:      "logical_id": "node-pve03",
SRC|BACKUP|127|169:      "logical_id": "md-relay",
SRC|BACKUP|127|181:      "logical_id": "spb-ingress",
SRC|BACKUP|127|193:      "logical_id": "us-netbird",
SRC|BACKUP|127|203:      "logical_id": "router-netcraze",
SRC|BACKUP|127|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|127|219:      "vmid": 160
SRC|BACKUP|127|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|127|233:      "vmid": 160
SRC|BACKUP|127|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|127|247:      "vmid": 160
SRC|BACKUP|127|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=128|BASENAME=engine.before|PATH_SHA256=4de8ceb580c66681c50c2b27558d441bf8bc4a7488fe67b757b40a44141b002d|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|SIZE=59719|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|128|6:STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|128|7:CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|128|9:WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|128|10:ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|128|25:GUEST266=pathlib.Path('<PATH>')
SRC|BACKUP|128|27:P270=pathlib.Path('<PATH>')
SRC|BACKUP|128|29:P282=pathlib.Path('<PATH>')
SRC|BACKUP|128|31:P265=pathlib.Path('<PATH>')
SRC|BACKUP|128|35: (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|128|36: (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|128|37: (pathlib.Path('<PATH>'),'a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16'),
SRC|BACKUP|128|38: (pathlib.Path('<PATH>'),'db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060'),
SRC|BACKUP|128|39: (pathlib.Path('<PATH>'),'5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a'),
SRC|BACKUP|128|46: pathlib.Path('<PATH>'),
SRC|BACKUP|128|47: pathlib.Path('<PATH>'),
SRC|BACKUP|128|48: pathlib.Path('<PATH>'),
SRC|BACKUP|128|49: pathlib.Path('<PATH>'),
SRC|BACKUP|128|50: pathlib.Path('<PATH>'),
SRC|BACKUP|128|51: pathlib.Path('<PATH>'),
SRC|BACKUP|128|52: pathlib.Path('<PATH>'),
SRC|BACKUP|128|53: pathlib.Path('<PATH>'),
SRC|BACKUP|128|54: pathlib.Path('<PATH>'),
SRC|BACKUP|128|55: pathlib.Path('<PATH>'),
SRC|BACKUP|128|56: pathlib.Path('<PATH>'),
SRC|BACKUP|128|132:def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|128|134:    for x in (scope,logical_id,generation):
SRC|BACKUP|128|136:    return f'homelab-backups<PATH>'
SRC|BACKUP|128|138:def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|128|142:    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|128|153:    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:
SRC|BACKUP|128|154:        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})
SRC|BACKUP|128|156:        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})
SRC|BACKUP|128|158:      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|128|159:      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|128|160:      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|128|161:      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},
SRC|BACKUP|128|171:    for slug,vmid,node,root,db,strategy in sites:
SRC|BACKUP|128|172:        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})
SRC|BACKUP|128|173:    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})
SRC|BACKUP|128|182:        last=int(state.get(t['logical_id'],{}).get('last_success_epoch',0))
REC|BACKUP_SOURCE|IDX=129|BASENAME=targets.before|PATH_SHA256=2d5d4de25953744b87ad3b0e0ff2d752e2c70b48193d96023f0c6834ce834fbc|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|SIZE=7416|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|129|11:      "logical_id": "ct110",
SRC|BACKUP|129|14:      "vmid": 110
SRC|BACKUP|129|21:      "logical_id": "ct111",
SRC|BACKUP|129|24:      "vmid": 111
SRC|BACKUP|129|31:      "logical_id": "ct112",
SRC|BACKUP|129|34:      "vmid": 112
SRC|BACKUP|129|41:      "logical_id": "ct113",
SRC|BACKUP|129|44:      "vmid": 113
SRC|BACKUP|129|51:      "logical_id": "vm130",
SRC|BACKUP|129|54:      "vmid": 130
SRC|BACKUP|129|61:      "logical_id": "vm150",
SRC|BACKUP|129|64:      "vmid": 150
SRC|BACKUP|129|71:      "logical_id": "vm160",
SRC|BACKUP|129|74:      "vmid": 160
SRC|BACKUP|129|81:      "logical_id": "vm170",
SRC|BACKUP|129|84:      "vmid": 170
SRC|BACKUP|129|91:      "logical_id": "vm171",
SRC|BACKUP|129|94:      "vmid": 171
SRC|BACKUP|129|101:      "logical_id": "vm190",
SRC|BACKUP|129|104:      "vmid": 190
SRC|BACKUP|129|111:      "logical_id": "vm210",
SRC|BACKUP|129|114:      "vmid": 210
SRC|BACKUP|129|121:      "logical_id": "vm211",
SRC|BACKUP|129|124:      "vmid": 211
SRC|BACKUP|129|131:      "logical_id": "vm9130",
SRC|BACKUP|129|134:      "vmid": 9130
SRC|BACKUP|129|140:      "logical_id": "node-pve01",
SRC|BACKUP|129|149:      "logical_id": "node-pve02",
SRC|BACKUP|129|158:      "logical_id": "node-pve03",
SRC|BACKUP|129|169:      "logical_id": "md-relay",
SRC|BACKUP|129|181:      "logical_id": "spb-ingress",
SRC|BACKUP|129|193:      "logical_id": "us-netbird",
SRC|BACKUP|129|203:      "logical_id": "router-netcraze",
SRC|BACKUP|129|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|129|219:      "vmid": 160
SRC|BACKUP|129|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|129|233:      "vmid": 160
SRC|BACKUP|129|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|129|247:      "vmid": 160
SRC|BACKUP|129|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=130|BASENAME=task.json|PATH_SHA256=3da06d3e8fcd0cd7c9d55dfb3269b3679da85698d7692e9015a9704491d74b5c|SHA256=ee1b07c5e90a11701dc58d576ca6c7d4c0dbf912a3ce58b5ec3b10fdba8071e4|SIZE=5771|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|130|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|130|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|130|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|130|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|130|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|130|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|130|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|130|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|130|113:    "ct112",
SRC|BACKUP|130|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|130|152:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=131|BASENAME=task.json|PATH_SHA256=9740e18b52e2149a1ea852177904920d62d04823a189380d867622087935bd0b|SHA256=ee1b07c5e90a11701dc58d576ca6c7d4c0dbf912a3ce58b5ec3b10fdba8071e4|SIZE=5771|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|131|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|131|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|131|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|131|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|131|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|131|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|131|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|131|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|131|113:    "ct112",
SRC|BACKUP|131|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|131|152:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=132|BASENAME=task.json|PATH_SHA256=589bbf6e74a63de5a4375f4b79c71a2dd8bb1ead13f7b02c9718b016107ed968|SHA256=1458a64bc17a830f65c24bd8f0b50c93e42a90a4a241e4ee6fc6ea1577c256c5|SIZE=2787|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|132|21:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|132|60:    "ct112",
SRC|BACKUP|132|64:    "backup_jobs",
SRC|BACKUP|132|90:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=133|BASENAME=task.json|PATH_SHA256=1662fa28213a369121925b9809a98246c125740665502c9d3c4f613b15e2881b|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|133|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|133|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|133|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|133|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|133|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|133|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|133|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|133|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|133|113:    "ct112",
SRC|BACKUP|133|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|133|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=134|BASENAME=task.json|PATH_SHA256=856a0a6463d0a00a7644881ca5f8c39eea0557a54f934b86b185e87d0e89a070|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|134|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|134|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|134|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|134|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|134|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|134|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|134|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|134|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|134|113:    "ct112",
SRC|BACKUP|134|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|134|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=135|BASENAME=task.json|PATH_SHA256=0ef3ca65130919c52652299f8c64445422ab23a88b50ed13494571e0fa56917f|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|135|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|135|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|135|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|135|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|135|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|135|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|135|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|135|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|135|113:    "ct112",
SRC|BACKUP|135|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|135|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=136|BASENAME=task.json|PATH_SHA256=8f5551be04d83e3c27e539153f21b8ee0c3bcbc1fca03f7b58ed44cd8366e8ec|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|136|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|136|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|136|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|136|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|136|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|136|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|136|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|136|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|136|113:    "ct112",
SRC|BACKUP|136|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|136|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=137|BASENAME=task.json|PATH_SHA256=13987bddcc0125cec84e9cbf02c708f608a4c26b8c631638ba0b9132b17fe568|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|137|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|137|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|137|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|137|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|137|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|137|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|137|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|137|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|137|113:    "ct112",
SRC|BACKUP|137|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|137|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=138|BASENAME=task.json|PATH_SHA256=118c64b3a35fcbd3e92afab3f745c13812d513437c26ba78fa175db91cedab16|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|138|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|138|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|138|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|138|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|138|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|138|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|138|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|138|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|138|113:    "ct112",
SRC|BACKUP|138|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|138|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=139|BASENAME=task.json|PATH_SHA256=437f2578a2880ca084396e3a42a3d5272c4f7df87e5f3770317a5795e46c06af|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|139|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|139|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|139|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|139|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|139|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|139|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|139|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|139|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|139|113:    "ct112",
SRC|BACKUP|139|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|139|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=140|BASENAME=task.json|PATH_SHA256=e0cdb23f42c4dbf41bc522887c0c04f888034cf2a2ced18e01bd0ac036081ff2|SHA256=665ac47d1f9fdedf5adbbf4c2c44bb13db8eb29f15dfef60c48af4cffc03da1d|SIZE=5957|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|140|12:    "proxmox:cluster-backup-job:homelab-nightly-all",
SRC|BACKUP|140|46:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|140|47:    "$HOMELAB_RUN_DIR<PATH>"
SRC|BACKUP|140|58:    "proxmox:cluster-backup-job:homelab-nightly-all:vmid"
SRC|BACKUP|140|74:      "verification": "AdGuard proposals validate and NetBox<PATH> plans are safe"
SRC|BACKUP|140|79:      "verification": "DNS, NetBox and backup registration applied"
SRC|BACKUP|140|84:      "verification": "A<PATH> NetBox objects and backup membership exact"
SRC|BACKUP|140|106:    "verification": "DNS absent, NetBox target absent, backup VMIDs restored"
SRC|BACKUP|140|113:    "ct112",
SRC|BACKUP|140|128:    "backup": "homelab-nightly-all previous VMID list 110,111,112,113,130,150",
SRC|BACKUP|140|153:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=141|BASENAME=task.json|PATH_SHA256=f786d140fb026dc9dd50351805f2bdad03be50cdc665bd08cc1b0f47997147db|SHA256=bd0582289f6921e700c163d1c991b5c52d70918084fbed9d1c8e4cd9e613a3ca|SIZE=2812|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|141|20:    "$HOMELAB_RUN_DIR<PATH>",
SRC|BACKUP|141|58:    "ct112",
SRC|BACKUP|141|62:    "backup_jobs",
SRC|BACKUP|141|89:    "active_backup_restore_max": 0
REC|BACKUP_SOURCE|IDX=142|BASENAME=write-surfaces-audit.json|PATH_SHA256=0f9d71b629b3a88fec921a433e425d74bf628f64ae188e7fd3e56804eb421577|SHA256=0452de694df8bf8351a37dc2677139b2b16cc39bdfaff61dce11c20a8916e5d1|SIZE=623|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|142|13:      "dns-ct112-deep.txt",
REC|BACKUP_SOURCE|IDX=143|BASENAME=ct112.json|PATH_SHA256=4650ea76820591a6e992aec1b18082b7e81a1ddb2613556f7c8139c0036ec824|SHA256=64f302f9156d0fd91c340023caf8f003810b8a66c84d446dccc063cbbb01a8cd|SIZE=609|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|143|1:{"consecutive_failures":0,"failure_backoff_seconds":0,"generation":"v2-ct112-20261007T045109Z-ce9503fc59c5","green_verified":false,"last_attempt_epoch":1791348739,"last_success_epoch":1791348739,"logical_id":"ct112","manifest_sha256":"a471f21d07745c17e80f6f13ad196f9c4fb22d23705b96c25914f49167a71ef1","payload_sha256":"522c9fd7e43c47a9bd6c1e39ca068dfc80fa5dce9c039a3ecb29a26a437b6ea7","replicas":[{"crypt":"pve03-mail-01-crypt","physical":"pve03-mail-01"},{"crypt":"pve02-mail-03-crypt","physical":"pve02-mail-03"}],"result":"SUCCESS","retry_after_epoch":0,"schema":1,"updated_at_utc":"2026-10-07T04:52:19Z"}
REC|BACKUP_SOURCE|IDX=144|BASENAME=guest-pve01-lxc-112.json|PATH_SHA256=5211dfc0645d177de3ac4e85db86b9e305060b84bbebcf62f0aa6aa8b88b13ca|SHA256=b737b8c81c6e16f480c8227f0645e5236e412cf22de0da6af83ff6d6dc37e4bb|SIZE=845|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|144|1:{"consecutive_failures":35,"failure_backoff_seconds":21600,"last_attempt_epoch":1791375479,"last_success_epoch":1790297001,"last_success_generation":"V2-20260925T004104Z-eee9466d5b39","last_success_green_verified":true,"last_success_manifest_sha256":"8c769c542e0b93ef7793f2a2b05de79364cae077bbc254f7a0c259cfebcf2076","last_success_payload_sha256":"0ea03a3c4ea5c5ab62b2d021e668334607903ea00d7bab4f9b57d9d7a41733a3","last_success_replicas":[{"account_id":"e7c8100c3ee2308a64aa763264fc0f738f30f99f19a7306fc9c2554fdd308199","crypt_remote":"pve03-mail-04-crypt"},{"account_id":"690cb55f912672f2854c3424fe9d536beb6096dadb767e894b3f52bb8fd911bf","crypt_remote":"pve03-mail-01-crypt"}],"logical_id":"guest-pve01-lxc-112","reason":"CT112_PIPELINE_FAILED","result":"FAIL","retry_after_epoch":1791397079,"schema":1,"updated_at_utc":"2026-10-07T12:17:59Z"}
REC|BACKUP_SOURCE|IDX=145|BASENAME=targets.json.before|PATH_SHA256=ecf744dfee2a45565c9197154272e9a85ca4e90515d5876cdd8b942746cd3313|SHA256=decea6b876c8ede15c91cad69c8e15e46021e5e96d25d415139bf2c524e23f7b|SIZE=7414|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|145|11:      "logical_id": "ct110",
SRC|BACKUP|145|14:      "vmid": 110
SRC|BACKUP|145|21:      "logical_id": "ct111",
SRC|BACKUP|145|24:      "vmid": 111
SRC|BACKUP|145|31:      "logical_id": "ct112",
SRC|BACKUP|145|34:      "vmid": 112
SRC|BACKUP|145|41:      "logical_id": "ct113",
SRC|BACKUP|145|44:      "vmid": 113
SRC|BACKUP|145|51:      "logical_id": "vm130",
SRC|BACKUP|145|54:      "vmid": 130
SRC|BACKUP|145|61:      "logical_id": "vm150",
SRC|BACKUP|145|64:      "vmid": 150
SRC|BACKUP|145|71:      "logical_id": "vm160",
SRC|BACKUP|145|74:      "vmid": 160
SRC|BACKUP|145|81:      "logical_id": "vm170",
SRC|BACKUP|145|84:      "vmid": 170
SRC|BACKUP|145|91:      "logical_id": "vm171",
SRC|BACKUP|145|94:      "vmid": 171
SRC|BACKUP|145|101:      "logical_id": "vm190",
SRC|BACKUP|145|104:      "vmid": 190
SRC|BACKUP|145|111:      "logical_id": "vm210",
SRC|BACKUP|145|114:      "vmid": 210
SRC|BACKUP|145|121:      "logical_id": "vm211",
SRC|BACKUP|145|124:      "vmid": 211
SRC|BACKUP|145|131:      "logical_id": "vm9130",
SRC|BACKUP|145|134:      "vmid": 9130
SRC|BACKUP|145|140:      "logical_id": "node-pve01",
SRC|BACKUP|145|149:      "logical_id": "node-pve02",
SRC|BACKUP|145|158:      "logical_id": "node-pve03",
SRC|BACKUP|145|169:      "logical_id": "md-relay",
SRC|BACKUP|145|181:      "logical_id": "spb-ingress",
SRC|BACKUP|145|193:      "logical_id": "us-netbird",
SRC|BACKUP|145|203:      "logical_id": "router-netcraze",
SRC|BACKUP|145|214:      "logical_id": "xf-codevipe",
SRC|BACKUP|145|219:      "vmid": 160
SRC|BACKUP|145|228:      "logical_id": "xf-dsmods",
SRC|BACKUP|145|233:      "vmid": 160
SRC|BACKUP|145|242:      "logical_id": "xf-kingofwolk",
SRC|BACKUP|145|247:      "vmid": 160
SRC|BACKUP|145|256:      "logical_id": "xf-newfi",
REC|BACKUP_SOURCE|IDX=146|BASENAME=command-ledger.tsv|PATH_SHA256=22d64ba213483e0fdf93e34bedf0d1a540db478171d7c3cd9191e2d7e92375dd|SHA256=b42da6c29d678aa898b75a77d353ab5fe42e05c7220d85f6442a5e93c56bb45c|SIZE=788304|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|146|18:2026-07-21T07:55:39Z	VM160-LOCAL-ROOTCAUSE-001	abe456bec06dfed260177703a3c57c723a6d506d59a2103104a1bbae3a1523c4	0	OK	vm160-backup
SRC|BACKUP|146|58:2026-07-21T11:15:46Z	BACKUP-AUDIT-CONTROLPLANE-054	296f046bea8249590e7ffe412dfae412d02680898fd57d5818314ec6e662fab0	0	OK	backup-audit
SRC|BACKUP|146|59:2026-07-21T11:21:15Z	BACKUP-AUDIT-054-EXTRACT-055	d8ac98968d21ee94379f51058b3a5775f1ee320bab8c0f2bb2cb92b7ca4e6bcb	0	OK	backup-audit
SRC|BACKUP|146|62:2026-07-21T11:33:10Z	BACKUP-COVERAGE-MATRIX-058	fe94aa788ebacd90258b858b36ebc3281bf8fac23b6891c779266673f4097044	0	OK	backup-audit
SRC|BACKUP|146|63:2026-07-21T11:35:23Z	BACKUP-DUAL-CLOUD-PREFLIGHT-059	c6f4134d15a9f641ddaf67535760d0abede973dd08222a37af05612a6f580479	1	FAIL	backup-audit
SRC|BACKUP|146|64:2026-07-21T11:38:23Z	BACKUP-DUAL-CLOUD-RECONCILE-060	be39adf6237697b760f095d503f1fdb9e25eed004c8108b2b1d338318d4794a6	0	OK	backup-audit
SRC|BACKUP|146|65:2026-07-21T11:41:34Z	BACKUP-PIPELINE-LOGIC-061	8cd01154fdfa3d93f159413d18952f742f79d917e9d1ae084a44f20c5a7e900c	0	OK	backup-audit
SRC|BACKUP|146|66:2026-07-21T11:46:09Z	BACKUP-PIPELINE-DEFINITION-AUDIT-061	08de7a8820803f855426b27b3ecfd2e646209715ff5ac4aba48b73fa45623b28	0	OK	backup-audit
SRC|BACKUP|146|67:2026-07-21T11:49:26Z	BACKUP-CLUSTER-13CLOUD-TOPOLOGY-062	eca35846e7097b9c238bf8c082e02c81f0b2893473e27ddb0a5b0854d5d3703d	0	OK	backup-audit
SRC|BACKUP|146|68:2026-07-21T11:51:50Z	BACKUP-CLOUD-PIPELINE-MAP-063	6354dd51dd01e331f845ee918c861a5da7d433a7a7851f62a8a1b779b72e6921	0	OK	backup-audit
SRC|BACKUP|146|69:2026-07-21T12:18:55Z	BACKUP-DELETE-GUARD-ANALYSIS-069	24ced45493a6d7ee8468cc3594cdc644c67746ee73a6598380ffba9eb7f89d8c	0	OK	backup-audit
SRC|BACKUP|146|70:2026-07-21T12:21:13Z	BACKUP-REMEDIATION-TARGETS-070	dccff9fba1741a41e62299cfbb57f3bb2f082b09a654d7649453becbeb1d9924	0	OK	backup-audit
SRC|BACKUP|146|71:2026-07-21T12:25:10Z	BACKUP-UNSAFE-SOURCE-CAPTURE-072	f79a127b4f27e1cdf886c681d5c7257244ec31a6c903e96cd53fc75d7a1ed8d4	0	OK	backup-audit
SRC|BACKUP|146|72:2026-07-21T12:28:26Z	BACKUP-VM-DUMP-PIPELINE-073	cd8291d0f14a37241e6062408603455d1ebd483091bebfa46c2b7a768f21308b	1	FAIL	backup-audit
SRC|BACKUP|146|73:2026-07-21T12:29:40Z	BACKUP-VM-DUMP-FINDINGS-074	efd1c9c19be267bfead346999b4a497056f5214e7796bfecdeda451f8aa9ba10	0	OK	backup-audit
SRC|BACKUP|146|74:2026-07-21T12:42:53Z	BACKUP-VM-DUMP-CHANGESET-PREFLIGHT-075	a9a8a6046441de0c40a8b13bdfe96698c53a5156b4346b7ce28dc1f2362e8936	143	FAIL	backup-audit
SRC|BACKUP|146|75:2026-07-21T12:44:41Z	BACKUP-VM-DUMP-DECISION-076	79b8d619ea551eca9abbf92c24d3e8954f464302759ebb8adf24b308c705df6a	0	OK	backup-audit
SRC|BACKUP|146|76:2026-07-21T12:47:44Z	BACKUP-VM-DUMP-SOURCE-077	b835d1210c5520c9d8d56eac7575cc679e5d0a22ce04f879cf8af953e2bb9b9e	0	OK	backup-audit
SRC|BACKUP|146|77:2026-07-21T12:55:04Z	BACKUP-VM-DUMP-CONSISTENCY-078	876c832ac6a555af28ff29ccdceb28c79e7244a361f277e9278a8f75b65caad5	0	OK	backup-audit
SRC|BACKUP|146|78:2026-07-21T12:56:52Z	BACKUP-DRAIN-LOCAL-ARCHIVES-079	531e1da7ce1681eed084b22ced7da87eb1ee8995f662dc7559f4f9dde3c0ac32	75	FAIL	backup-remediation
SRC|BACKUP|146|79:2026-07-21T13:04:48Z	BACKUP-FINAL-PROOF-082	9e675a3cb621d0d1fcd8918b02278ab08c1a974f544ebef9a5639bf6578ee601	127	FAIL	backup-audit
SRC|BACKUP|146|83:2026-07-21T13:14:27Z	CLUSTER-BACKUP-POSTCLEAN-PROOF-086	601958c48614dbc25cc4592b111de4dec3306e53b756b275068b81a41d42b2da	127	FAIL	backup-cleanup
SRC|BACKUP|146|84:2026-07-21T13:15:21Z	BACKUP-POLICY-CLOSEOUT-087	d79c1c881ebca24db09c5b4ed4b71b09a5ad338c30789c99b0644c8935072c52	1	FAIL	backup-cleanup
SRC|BACKUP|146|85:2026-07-21T13:17:20Z	BACKUP-CLEANUP-FINAL-CLOSEOUT-088	5ba2893489b6f5831fc4599d3efa874d89c3fd41da7151f9c32945d11d1a23d6	1	FAIL	backup-cleanup
SRC|BACKUP|146|193:2026-07-22T14:53:55Z	BACKUP-OFFHOST-CURRENT-STATE-212	5b9f985ab6daceaad18e56d2da3dde0d2dba7eefdfe7f75e83eee6bef0a0ad8a	0	OK	backup-audit
SRC|BACKUP|146|195:2026-07-22T15:16:25Z	BACKUP-FAILED-UNITS-ROOTCAUSE-213	fb59f580fefab96bf42d4c9f720847f498158079695bebebca527795287c0435	2	FAIL	backup-audit
SRC|BACKUP|146|196:2026-07-22T15:19:41Z	BACKUP-FAILED-UNITS-ROOTCAUSE-214	19d600f59a44903ae388de5924789d15c9dda0ede9ed5f3966600f8f808c43c1	0	OK	backup-audit
SRC|BACKUP|146|416:2026-07-24T11:36:07Z	HOMELAB-BACKUP-COVERAGE-INVENTORY-452	7accfbe32793529ee8b0648740b627319b6ddcb7dfafef3750b1e3f884efaa1e	0	OK	cluster-backup-audit
SRC|BACKUP|146|417:2026-07-24T11:47:58Z	HOMELAB-BACKUP-COVERAGE-EVIDENCE-453	acc0e44ce9e7ad684760cc93de648adf320a5472304e538987ba26f7d2165df4	1	FAIL	cluster-backup-audit
SRC|BACKUP|146|418:2026-07-24T13:23:09Z	HOMELAB-BACKUP-PURGE-PREFLIGHT-454	0fbf19acd2291c7c68936a5068c76bc233f57af4da66f9098de3a565849ae29d	0	OK	cluster-backup-reset
SRC|BACKUP|146|419:2026-07-24T13:51:04Z	HOMELAB-BACKUP-WRITERS-FREEZE-455	249fee024853e0e57efc45f5daf64464f3288867c5301aa94e7745efbe0564e3	1	FAIL	cluster-backup-reset
SRC|BACKUP|146|420:2026-07-24T14:00:33Z	HOMELAB-BACKUP-HOST-WRITERS-FREEZE-456	e4f078cea61f6b7336e67223b0c9e91a0b6bfeece68cdc69e659e2c488da13c4	0	OK	cluster-backup-reset
SRC|BACKUP|146|421:2026-07-24T14:13:22Z	HOMELAB-BACKUP-GUEST-WRITERS-AUDIT-457	a938a7073b24eee71bba3ccc2abf8abc491a4d7012998e49608b73c98015ba67	71	FAIL	cluster-backup-reset
SRC|BACKUP|146|422:2026-07-24T14:17:52Z	HOMELAB-BACKUP-PVE02-FREEZE-CORRECTION-458	d4fb4a4c10dbf820f364b75704379477e963a9973b89b27ad80b0ec9acc5af89	1	FAIL	cluster-backup-reset
SRC|BACKUP|146|423:2026-07-24T15:03:37Z	HOMELAB-BACKUP-CURRENT-STATE-SEAL-459	035aca8551e77c67944c13906d92f66396f48d9ed2512f5d1e22631d5b372a3f	1	FAIL	cluster-backup-reset
SRC|BACKUP|146|424:2026-07-24T15:15:09Z	HOMELAB-BACKUP-REENABLE-CLOUD-ROOTCAUSE-460	a0e254341728592f4baf512d4d20205ea3ca3b09a6de757bd3432c88ffb3ee4c	0	OK	cluster-backup-reset
SRC|BACKUP|146|425:2026-07-24T15:26:56Z	HOMELAB-BACKUP-AUTOHEAL-NEUTRALIZE-461	6b85d9e57d976c4141fc382e98ecc4053ff017d8aa328594b8fe80af051d0710	74	FAIL	cluster-backup-reset
SRC|BACKUP|146|426:2026-07-24T17:14:32Z	HOMELAB-BACKUP-STEP0-FINAL-SEAL-462	13024aa488e3ba38682f37e3268d41ba559bbe7a43c272ce52e7d309aa7a0935	1	FAIL	cluster-backup-reset
SRC|BACKUP|146|427:2026-07-24T17:20:14Z	HOMELAB-BACKUP-STEP0-CORRECTED-SEAL-463	be6a0ca69483a5dceaa26e72c92fd631ffa611b7c60261c20f38bf79a76226a6	0	OK	cluster-backup-reset
SRC|BACKUP|146|428:2026-07-24T17:28:16Z	HOMELAB-BACKUP-PLAN-GITEA-PUBLISH-464	9398a95cb64b6cdd304e3c6741225395fc598c9632043769f547fb8d13ff6120	128	FAIL	cluster-backup-reset
REC|BACKUP_SOURCE|IDX=147|BASENAME=SUPPORT-260927-HOMELAB-BACKUP-CT110-STATE-AUDIT-RECONCILE-1232R1-20260927T195108Z.log|PATH_SHA256=70a65ce59ede8652bbbda74b6b7990079594acf541bf419a82270ed1869593fc|SHA256=610fd3fad77f1c61c0a7b88bbc6a35a398461ed28081a2a3e990b23173163922|SIZE=8342|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|147|4:COMPONENT=homelab-backup-ct110-state-audit-reconcile
SRC|BACKUP|147|26:STATE_KEYS=consecutive_failures,failure_backoff_seconds,generation,green_verified,last_attempt_epoch,last_success_epoch,logical_id,manifest_sha256,payload_sha256,replicas,result,retry_after_epoch,schema,updated_at_utc
SRC|BACKUP|147|65:AUDIT_SCHEMA=homelab-backup-audit-v3
SRC|BACKUP|147|77:TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=48057|generation=app-filebrowser-pve01-20260927T063003Z
SRC|BACKUP|147|78:TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=47890|generation=app-hbarhub-pve01-20260927T063154Z
SRC|BACKUP|147|79:TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=47991|generation=app-immich-pve01-20260927T063041Z
SRC|BACKUP|147|80:TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=48038|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SRC|BACKUP|147|81:TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=STALE|age_seconds=234007|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|147|82:TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=366|legacy_age_seconds=2038301|replica_count=2|state_id=ct110|generation=v2-ct110-20260927T194116Z-d16fe26dbd17
SRC|BACKUP|147|83:TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=283415|replica_count=2|state_id=ct111
SRC|BACKUP|147|84:TARGET|logical_id=vm112|kind=VM|state=STALE|source=NONE|v2_age_seconds=266907|legacy_age_seconds=2076796|replica_count=2|state_id=ct112|generation=vm112-pve01-20260903T185707Z
SRC|BACKUP|147|85:TARGET|logical_id=vm113|kind=VM|state=STALE|source=NONE|v2_age_seconds=264888|replica_count=2|state_id=ct113
SRC|BACKUP|147|86:TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=259498|replica_count=2|state_id=vm130
SRC|BACKUP|147|87:TARGET|logical_id=vm150|kind=VM|state=STALE|source=NONE|v2_age_seconds=262950|legacy_age_seconds=2038417|replica_count=2|state_id=vm150|generation=vm150-pve01-20260904T053517Z
SRC|BACKUP|147|88:TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=258251|replica_count=2|state_id=vm160
SRC|BACKUP|147|89:TARGET|logical_id=vm170|kind=VM|state=STALE|source=NONE|v2_age_seconds=235042|legacy_age_seconds=983038|replica_count=2|state_id=vm170|generation=vm170-pve01-20260916T103019Z
SRC|BACKUP|147|90:TARGET|logical_id=vm171|kind=VM|state=STALE|source=NONE|v2_age_seconds=239472|legacy_age_seconds=1012570|replica_count=2|state_id=vm171|generation=vm171-pve01-20260916T023018Z
SRC|BACKUP|147|91:TARGET|logical_id=vm190|kind=VM|state=STALE|source=NONE|v2_age_seconds=235640|replica_count=2|state_id=vm190
SRC|BACKUP|147|92:TARGET|logical_id=vm9130|kind=VM|state=STALE|source=NONE|v2_age_seconds=226897|replica_count=2|state_id=vm9130
SRC|BACKUP|147|93:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=control-bootstrap-v2|root_cause=CONTROL_STATE_NOT_FRESH
SRC|BACKUP|147|94:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|95:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm112|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|96:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm113|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|97:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|98:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm150|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|99:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|100:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm170|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|101:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm171|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|102:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm190|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|103:ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm9130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|147|118:UNIT=homelab-backup-v2.service ACTIVE=failed ENABLED=static RESULT=exit-code MAINPID=0
SRC|BACKUP|147|119:UNIT=homelab-backup-v2.timer ACTIVE=active ENABLED=enabled RESULT=success MAINPID=
SRC|BACKUP|147|120:UNIT=homelab-backup-audit.service ACTIVE=failed ENABLED=static RESULT=exit-code MAINPID=0
SRC|BACKUP|147|121:UNIT=homelab-backup-audit.timer ACTIVE=active ENABLED=enabled RESULT=success MAINPID=
REC|BACKUP_SOURCE|IDX=148|BASENAME=SUPPORT-260927-HOMELAB-BACKUP-V2-CURRENT-FAILURE-RCA-1221R1-20260927T182259Z.log|PATH_SHA256=49fe74db053fda2ca66c37a151e0fcd33afec8ed5d9257c878a7c8f85e08405f|SHA256=de7467ab7d2c1584968349e75f34c054b7b406741bd4ab8a3a6e0e559ecf7d2a|SIZE=187332|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|148|4:COMPONENT=homelab-backup-v2-current-failure-rca
SRC|BACKUP|148|31:● homelab-backup-audit.service loaded failed failed Homelab unified backup and DR audit
SRC|BACKUP|148|32:● homelab-backup-v2.service    loaded failed failed Homelab Backup V2 manifest-driven scheduler
SRC|BACKUP|148|39:ExecStart={ path=<PATH> ; argv[]=<PATH> scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:08:52 MSK] ; stop_time=[Sun 2026-09-27 21:08:59 MSK] ; pid=19346 ; code=exited ; status=1 }
SRC|BACKUP|148|40:Id=homelab-backup-v2.service
SRC|BACKUP|148|45:FragmentPath=<PATH>
SRC|BACKUP|148|50:BACKUP_V2_FRAGMENT_PATH=<PATH>
SRC|BACKUP|148|54:# <PATH>
SRC|BACKUP|148|65:ExecStart=<PATH> scheduled
SRC|BACKUP|148|70:BACKUP_V2_EXECSTART_RAW={ path=<PATH> ; argv[]=<PATH> scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:08:52 MSK] ; stop_time=[Sun 2026-09-27 21:08:59 MSK] ; pid=19346 ; code=exited ; status=1 }
SRC|BACKUP|148|71:BACKUP_V2_EXECSTART_PATH=<PATH>
SRC|BACKUP|148|78:ACCEPTED=pathlib.Path('<PATH>')
SRC|BACKUP|148|106:Id=homelab-backup-v2.timer
SRC|BACKUP|148|110:FragmentPath=<PATH>
SRC|BACKUP|148|113:BACKUP_V2_TIMER_FRAGMENT_PATH=<PATH>
SRC|BACKUP|148|116:# <PATH>
SRC|BACKUP|148|124:Unit=homelab-backup-v2.service
SRC|BACKUP|148|134:ExecStart={ path=<PATH> ; argv[]=<PATH> scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:05:58 MSK] ; stop_time=[Sun 2026-09-27 21:06:02 MSK] ; pid=16838 ; code=exited ; status=1 }
SRC|BACKUP|148|135:Id=homelab-backup-audit.service
SRC|BACKUP|148|136:Description=Homelab unified backup and DR audit
SRC|BACKUP|148|140:FragmentPath=<PATH>
SRC|BACKUP|148|145:BACKUP_AUDIT_FRAGMENT_PATH=<PATH>
SRC|BACKUP|148|149:# <PATH>
SRC|BACKUP|148|151:Description=Homelab unified backup and DR audit
SRC|BACKUP|148|157:ExecStart=<PATH> scheduled
SRC|BACKUP|148|164:BACKUP_AUDIT_EXECSTART_RAW={ path=<PATH> ; argv[]=<PATH> scheduled ; ignore_errors=no ; start_time=[Sun 2026-09-27 21:05:58 MSK] ; stop_time=[Sun 2026-09-27 21:06:02 MSK] ; pid=16838 ; code=exited ; status=1 }
SRC|BACKUP|148|165:BACKUP_AUDIT_EXECSTART_PATH=<PATH>
SRC|BACKUP|148|176:    print("AUDIT_SCHEMA=homelab-backup-audit-v3")
SRC|BACKUP|148|179:REG=pathlib.Path("<PATH>")
SRC|BACKUP|148|180:STATE=pathlib.Path("<PATH>")
SRC|BACKUP|148|181:QROOT=pathlib.Path("<PATH>")
SRC|BACKUP|148|182:VMREST=pathlib.Path("<PATH>")
SRC|BACKUP|148|183:APPREST=pathlib.Path("<PATH>")
SRC|BACKUP|148|184:REGH="<PATH>"
SRC|BACKUP|148|186:GFSH="<PATH>"
SRC|BACKUP|148|187:GFSP="<PATH>"
SRC|BACKUP|148|188:RET="<PATH>"
SRC|BACKUP|148|190:BRANCH="cr-2026-1005-backup-v2-health-alerting-remediation"
SRC|BACKUP|148|192:CLOUDB_HEALTH=pathlib.Path("<PATH>")
SRC|BACKUP|148|193:HEALTHS=[pathlib.Path("<PATH>"),pathlib.Path("<PATH>")]
REC|BACKUP_SOURCE|IDX=149|BASENAME=SUPPORT-260915-INFRA-DR-BACKUPV2-CT112-REAL-PRODUCER-ARCHIVE-1-WORKDIR-FIX-426R1-20260915T115220Z.log|PATH_SHA256=ca5d2964e20794677d6f252d3d81079389cb57c937d2e169a993b20dcfe1d7c5|SHA256=b61460e9ba5d0d9e7ad6dcce9eb50411a619937b14e979607930094f09907e92|SIZE=4208|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|149|14:LIVE_INPUT_SCHEMAS={"config_keys":["arch","cores","digest","features","hostname","memory","nameserver","net0","onboot","ostype","rootfs","searchdomain","startup","swap","unprivileged"],"row_keys":["cpu","disk","diskread","diskwrite","id","maxcpu","maxdisk","maxmem","mem","memhost","name","netin","netout","node","status","template","type","uptime","vmid"],"storage_row_count":2}
SRC|BACKUP|149|20:FRESH_CT112_JOB={"archive_cap_bytes":9516036916,"blockers":[],"config_sha256":"6973478281aeee0a6c19cd0ab96f5e9ebd88cf5a7e767a49d808e25806758351","configured_archive_bound_bytes":9516036916,"configured_disk_bytes":8589934592,"coverage_eligible":true,"global_defaults_sha256":"cf34c8e3812547954bb1d08b50212b6e148ee9cf2b629e895a843ed49d623b38","local_reserve_bytes":4294967296,"node":"pve01","status":"running","type":"lxc","vmid":112}
SRC|BACKUP|149|42:LOGICAL_ID=guest-pve01-lxc-112
SRC|BACKUP|149|52:PRODUCER_RESULT_KEYS=["compression_test_ok","config_sha256","identity","local_payload_retained","node","path","producer_rc","restored","sha256","size","state","type","vmid"]
SRC|BACKUP|149|74:WORK_DIRECTORY=<PATH>
SRC|BACKUP|149|75:LOCAL_PAYLOAD_PATH=<PATH>
REC|BACKUP_SOURCE|IDX=150|BASENAME=SUPPORT-260921-HOMELAB-BACKUP-DUE-POLICY-FIX-REFRESH-1108R1-20260921T214841Z.log|PATH_SHA256=895c3c2e770079d2e74ae4cbe41dbe77bfb596c59dd59b2e4d7ecc7d652cbc57|SHA256=c47bdfa91624238252fdc751e1a53a4637111bfc4d66794ca15b65d122a3b87d|SIZE=10695|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|150|4:COMPONENT=homelab-backup-due-policy-fix-refresh
SRC|BACKUP|150|13:ACTIVE_VM_CANONICAL={"110":"ct110","111":"ct111","112":"ct112","113":"ct113","130":"vm130","150":"vm150","160":"vm160","170":"vm170","171":"vm171","190":"vm190","9130":"vm9130"}
SRC|BACKUP|150|14:POLICY_PATCH=[{"after":72000,"before":86400,"logical_id":"ct110"},{"after":72000,"before":86400,"logical_id":"ct111"},{"after":72000,"before":86400,"logical_id":"ct112"},{"after":72000,"before":86400,"logical_id":"ct113"},{"after":72000,"before":86400,"logical_id":"vm130"},{"after":72000,"before":86400,"logical_id":"vm150"},{"after":72000,"before":86400,"logical_id":"vm160"},{"after":72000,"before":86400,"logical_id":"vm170"},{"after":72000,"before":86400,"logical_id":"vm171"},{"after":72000,"before":86400,"logical_id":"vm190"},{"after":72000,"before":86400,"logical_id":"vm9130"}]
SRC|BACKUP|150|16:EFFECTIVE_ACTIVE_VM_POLICY=[{"due_seconds":72000,"logical_id":"ct110","vmid":110},{"due_seconds":72000,"logical_id":"ct111","vmid":111},{"due_seconds":72000,"logical_id":"ct112","vmid":112},{"due_seconds":72000,"logical_id":"ct113","vmid":113},{"due_seconds":72000,"logical_id":"vm130","vmid":130},{"due_seconds":72000,"logical_id":"vm150","vmid":150},{"due_seconds":72000,"logical_id":"vm160","vmid":160},{"due_seconds":72000,"logical_id":"vm170","vmid":170},{"due_seconds":72000,"logical_id":"vm171","vmid":171},{"due_seconds":72000,"logical_id":"vm190","vmid":190},{"due_seconds":72000,"logical_id":"vm9130","vmid":9130}]
SRC|BACKUP|150|18:RPO_BEFORE_REFRESH=[{"age_seconds":86256,"generation":"v2-ct112-20260920T214958Z-30e3291e1543","logical_id":"ct112","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":112},{"age_seconds":84091,"generation":"v2-ct113-20260920T222532Z-4f4a608def82","logical_id":"ct113","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":113},{"age_seconds":78699,"generation":"v2-vm130-20260920T233759Z-c9518c8be2c3","logical_id":"vm130","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":130},{"age_seconds":81985,"generation":"v2-vm150-20260920T230035Z-e0880e47ea55","logical_id":"vm150","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":150},{"age_seconds":77232,"generation":"v2-vm160-20260921T001432Z-31df1acfee7a","logical_id":"vm160","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":160},{"age_seconds":75455,"generation":"v2-vm171-20260921T004759Z-537db1552014","logical_id":"vm171","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":171},{"age_seconds":73193,"generation":"v2-vm190-20260921T012544Z-298b64987988","logical_id":"vm190","replica_count":2,"result":"SUCCESS","state":"STALE","vmid":190}]
SRC|BACKUP|150|20:RPO_SCHEDULER_ALIGNMENT_PROOF=[{"age_seconds":86256,"due_seconds":72000,"logical_id":"ct112","scheduler_due":true},{"age_seconds":84091,"due_seconds":72000,"logical_id":"ct113","scheduler_due":true},{"age_seconds":78699,"due_seconds":72000,"logical_id":"vm130","scheduler_due":true},{"age_seconds":81985,"due_seconds":72000,"logical_id":"vm150","scheduler_due":true},{"age_seconds":77232,"due_seconds":72000,"logical_id":"vm160","scheduler_due":true},{"age_seconds":75455,"due_seconds":72000,"logical_id":"vm171","scheduler_due":true},{"age_seconds":73193,"due_seconds":72000,"logical_id":"vm190","scheduler_due":true}]
SRC|BACKUP|150|21:TARGET_REFRESH_BEGIN={"age_seconds":86256,"iteration":1,"logical_id":"ct112","vmid":112}
SRC|BACKUP|150|23:TARGET_REFRESH_END={"elapsed_seconds":81,"iteration":1,"result":{"allocator_healthy":13,"generation":"v2-ct112-20260921T214852Z-cd43a8d672fe","logical_id":"ct112","payload_bytes":223951898,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|24:TARGET_REFRESH_BEGIN={"age_seconds":84172,"iteration":2,"logical_id":"ct113","vmid":113}
SRC|BACKUP|150|26:TARGET_REFRESH_END={"elapsed_seconds":83,"iteration":2,"result":{"allocator_healthy":13,"generation":"v2-ct113-20260921T215013Z-af1017371806","logical_id":"ct113","payload_bytes":221786595,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|27:TARGET_REFRESH_BEGIN={"age_seconds":82149,"iteration":3,"logical_id":"vm150","vmid":150}
SRC|BACKUP|150|28:QEMU_EXECUTION_DIAG={"archive_bytes":947103742,"archive_selected":true,"node":"pve01","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":150}
SRC|BACKUP|150|29:TARGET_REFRESH_END={"elapsed_seconds":139,"iteration":3,"result":{"allocator_healthy":13,"generation":"v2-vm150-20260921T215136Z-b85020c7d3e4","logical_id":"vm150","payload_bytes":947103742,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|30:TARGET_REFRESH_BEGIN={"age_seconds":79002,"iteration":4,"logical_id":"vm130","vmid":130}
SRC|BACKUP|150|31:QEMU_EXECUTION_DIAG={"archive_bytes":10930539326,"archive_selected":true,"node":"pve03","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":130}
SRC|BACKUP|150|32:TARGET_REFRESH_END={"elapsed_seconds":1572,"iteration":4,"result":{"allocator_healthy":13,"generation":"v2-vm130-20260921T215355Z-2425c616d2e0","logical_id":"vm130","payload_bytes":10930539326,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|33:TARGET_REFRESH_BEGIN={"age_seconds":79108,"iteration":5,"logical_id":"vm160","vmid":160}
SRC|BACKUP|150|34:QEMU_EXECUTION_DIAG={"archive_bytes":3761155293,"archive_selected":true,"node":"pve02","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":160}
SRC|BACKUP|150|35:TARGET_REFRESH_END={"elapsed_seconds":568,"iteration":5,"result":{"allocator_healthy":13,"generation":"v2-vm160-20260921T222008Z-7c82c237c154","logical_id":"vm160","payload_bytes":3761155293,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|36:TARGET_REFRESH_BEGIN={"age_seconds":77900,"iteration":6,"logical_id":"vm171","vmid":171}
SRC|BACKUP|150|37:QEMU_EXECUTION_DIAG={"archive_bytes":2053987934,"archive_selected":true,"node":"pve01","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":171}
SRC|BACKUP|150|38:TARGET_REFRESH_END={"elapsed_seconds":284,"iteration":6,"result":{"allocator_healthy":13,"generation":"v2-vm171-20260921T222937Z-3e5e94c908e8","logical_id":"vm171","payload_bytes":2053987934,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|39:TARGET_REFRESH_BEGIN={"age_seconds":75922,"iteration":7,"logical_id":"vm190","vmid":190}
SRC|BACKUP|150|40:QEMU_EXECUTION_DIAG={"archive_bytes":1632550425,"archive_selected":true,"node":"pve03","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":190}
SRC|BACKUP|150|41:TARGET_REFRESH_END={"elapsed_seconds":235,"iteration":7,"result":{"allocator_healthy":13,"generation":"v2-vm190-20260921T223421Z-1f4f2306e4e0","logical_id":"vm190","payload_bytes":1632550425,"replicas":2,"result":"SUCCESS"}}
SRC|BACKUP|150|44:ACTIVE_VM_STATE_AFTER=[{"age_seconds":7788,"generation":"v2-ct110-20260921T202514Z-1c872adccfab","logical_id":"ct110","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":110},{"age_seconds":7641,"generation":"v2-ct111-20260921T202833Z-208ada4fafce","logical_id":"ct111","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":111},{"age_seconds":2883,"generation":"v2-ct112-20260921T214852Z-cd43a8d672fe","logical_id":"ct112","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":112},{"age_seconds":2800,"generation":"v2-ct113-20260921T215013Z-af1017371806","logical_id":"ct113","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":113},{"age_seconds":1088,"generation":"v2-vm130-20260921T215355Z-2425c616d2e0","logical_id":"vm130","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":130},{"age_seconds":2661,"generation":"v2-vm150-20260921T215136Z-b85020c7d3e4","logical_id":"vm150","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":150},{"age_seconds":519,"generation":"v2-vm160-20260921T222008Z-7c82c237c154","logical_id":"vm160","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":160},{"age_seconds":71416,"generation":"v2-vm170-20260921T023516Z-53ad6a6b10f9","logical_id":"vm170","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":170},{"age_seconds":235,"generation":"v2-vm171-20260921T222937Z-3e5e94c908e8","logical_id":"vm171","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":171},{"age_seconds":0,"generation":"v2-vm190-20260921T223421Z-1f4f2306e4e0","logical_id":"vm190","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":190},{"age_seconds":64819,"generation":"v2-vm9130-20260921T041152Z-ab9908f2946f","logical_id":"vm9130","replica_count":2,"result":"SUCCESS","state":"FRESH","vmid":9130}]
SRC|BACKUP|150|45:REFRESH_HISTORY=[{"elapsed_seconds":81,"iteration":1,"logical_id":"ct112","vmid":112},{"elapsed_seconds":83,"iteration":2,"logical_id":"ct113","vmid":113},{"elapsed_seconds":139,"iteration":3,"logical_id":"vm150","vmid":150},{"elapsed_seconds":1572,"iteration":4,"logical_id":"vm130","vmid":130},{"elapsed_seconds":568,"iteration":5,"logical_id":"vm160","vmid":160},{"elapsed_seconds":284,"iteration":6,"logical_id":"vm171","vmid":171},{"elapsed_seconds":235,"iteration":7,"logical_id":"vm190","vmid":190}]
REC|BACKUP_SOURCE|IDX=151|BASENAME=NEWFI-260920-NEWFDOM-MESSENGERS214-PATH206-20260920T015901Z.log|PATH_SHA256=bf9c76bf5c5ce4cf104943397affe20aa3851138d572dd09f9af17ddab7dc161|SHA256=aafd33fe0652aa7e8c8d22fa1f7665da19099cefa2f06dca88489fcd4491005d|SIZE=10331|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|151|9:FILE_1_PATH=<PATH>
SRC|BACKUP|151|17:FILE_1_HIT_2_TEXT=ACCEPTED=pathlib.Path('<PATH>')
SRC|BACKUP|151|20:FILE_2_PATH=<PATH>
SRC|BACKUP|151|26:FILE_2_HIT_1_TEXT=Unit=homelab-backup-v2.service
SRC|BACKUP|151|29:FILE_3_PATH=<PATH>
SRC|BACKUP|151|41:FILE_3_HIT_4_TEXT=ExecStart=<PATH> scheduled
SRC|BACKUP|151|42:FILE_4_PATH=<PATH>
SRC|BACKUP|151|48:FILE_4_HIT_1_TEXT={"created_by":"SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1","registry_anchor":"bd85b2081fb599bc2d8b7122640f372dde20d881","schema":1,"targets":[{"due_seconds":86400,"enabled":true,"green1":false,"guest_type":"lxc","logical_id":"ct110","scope":"pve","type":"pve_guest","vmid":110},{"due_seconds":86400,"enabled":true,"green1":false,"guest_type":"lxc","logical_id":"ct111","scope":"pve","type":"pve_guest","vmid":111},{"due_seconds":86400,"enabled":true,"green1":true,"guest_type":"lxc","logical_id":"ct112","scope":"pve","type":"pve_guest","vmid":112},{"due_seconds":86400,"enabled":true,"green1":false,"guest_type":"lxc","logical_id":"ct113","scope":"pve","type":"pve_guest","vmid":113},{"due_seconds":86400,"enabled":true,"green1":false,"guest_type":"qemu","logical_id":"vm130","scope":"pve","type":"pve_guest","vmid":130},{"due_seconds":86400,"enabled":true,"gree...[TRUNC]
SRC|BACKUP|151|49:FILE_5_PATH=<PATH>
SRC|BACKUP|151|54:FILE_6_PATH=<PATH>
SRC|BACKUP|151|59:FILE_7_PATH=<PATH>
SRC|BACKUP|151|65:FILE_7_HIT_1_TEXT={"accepted_at_utc":"2026-09-17T07:33:40Z","accepted_command_id":"SUPPORT-260917-INFRA-DR-BACKUPV2-P0A-SCHEDULER-FAILURE-ISOLATION-REPAIR-504R1","accepted_release":"<PATH>","cloud_deletions":0,"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1","created_at_utc":"2026-09-16T19:09:44Z","launcher_sha256":"dbfd237ddae5d2199bd8567ec6880d11276631dcc45acb49967de97329524037","overlay503":{"base_release":"<PATH>","base_seal_sha256":"f508adc9b09bad9692c580e642018f5d3dbf223fc572ee62478466fd517234fa","binding":"legacy-function-provenance-globals","entry_sha256":"ac51fd96ec13bbb38e5dbe5683794bf8ab43fab22383bb617c3506139ca5a0eb","fresh_lxc_helper_sha256":"dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011","lxc_...[TRUNC]
SRC|BACKUP|151|66:USA_STATE_KEYS=consecutive_failures;failure_backoff_seconds;generation;green_verified;last_attempt_epoch;last_success_epoch;logical_id;manifest_sha256;payload_sha256;replicas;result;retry_after_epoch;schema;updated_at_utc
SRC|BACKUP|151|83:MOLDOVA_STATE_KEYS=consecutive_failures;failure_backoff_seconds;generation;last_attempt_epoch;last_success_epoch;last_success_generation;last_success_green_verified;last_success_manifest_sha256;last_success_payload_sha256;last_success_replicas;logical_id;reason;result;retry_after_epoch;schema;sealed;updated_at_utc
SRC|BACKUP|151|109:PATH_LITERAL_2_VALUE=<PATH>
SRC|BACKUP|151|115:PATH_LITERAL_4_VALUE=<PATH>
SRC|BACKUP|151|133:PATH_LITERAL_10_VALUE=<PATH>
SRC|BACKUP|151|142:PATH_LITERAL_13_VALUE=backup_execution_implementation
SRC|BACKUP|151|145:PATH_LITERAL_14_VALUE=backup_execution_live_proof_commit
SRC|BACKUP|151|148:PATH_LITERAL_15_VALUE=<PATH>
SRC|BACKUP|151|151:PATH_LITERAL_16_VALUE=<PATH>
SRC|BACKUP|151|154:PATH_LITERAL_17_VALUE=<PATH>
SRC|BACKUP|151|157:PATH_LITERAL_18_VALUE=carried_forward_backup_execution
REC|BACKUP_SOURCE|IDX=152|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-REPLACEMENT-INTEGRATION-SOURCE-CAPSULE-475R1-20260916T154619Z.log|PATH_SHA256=fbfa608e725748a4ea33353d7fbfc596f13ff56363fb488f9bb4eef3fb343963|SHA256=2e0b8f6d6f3b7feeb770c1a0fdd53230c42624d34b66e9315861459993aa04e3|SIZE=67704|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|152|2:{"candidate411":{"files":{"adapter.py":{"bytes":2989,"sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3","zlib_b64":"eNqdVtlu20YUfddXMOgDSYRROPtQgQq4sZoaiB3DUoIWRUHMajGWKIKklBiB<PATH>"},"guest266.py":{"bytes":7385,"sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868","zlib_b64":"eNqVWXtz2kgS<PATH>"},"large264.py":{"bytes":16514,"sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a","zlib_b64":"eNrNO2tz20aS3<PATH>"},"pve265.py":{"bytes":12888,"sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be","zlib_b64":"eNqVO2t32zay3<PATH>"},"pve270.py":{"bytes":19595,"sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef","zlib_b64":"eNrFPGmT2siS3<PATH>"},"pve282.py":{"bytes":6195,"sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012","zlib_b64":"eNqVWFlT40gSfvevULAPklhhjLub2TCjiRC2AG<PATH>"},"restore262.py":{"bytes":14701,"sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1","zlib_b64":"eNqtG2lz2kj2O79Cm<PATH>"},"stream263.py":{"bytes":8831,"sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16","zlib_b64":"eNq9WW1v28gR<PATH>"},"v2core.py":{"bytes":11755,"sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2","zlib_b64":"eNqlWuty27YS<PATH>"}},"root":"<PATH>"},"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-REPLACEMENT-INTEGRATION-SOURCE-CAPSULE-475R1","decision":"SOURCE_CAPSULE_COMPLETE_FOR_REPLACEMENT_INTEGRATION","driver454":{"bytes":4214,"path":"representative_driver.py","root":"<PATH>","sha256":"b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2","zlib_b64":"eNqVV1tv2zYUftevYLsHSo2sJB2wAS40wLWVzKhjZ47TrkgDgZbohItMCiTl2N3633coUpbdOGtmIAh1dO78zkU<PATH>"},"engine":{"bytes":59719,"defs":{"backup_target":{"calls":["BackupError","Path","bool","capture_target","cleanup_source","control_verify","ensure_dir","epoch","exists","generation_id","reconstruct_replica","rmtree","unlink","upload_and_seal","validate_payload","write_state"],"end_lineno":926,"globals":["BackupError","WORK_ROOT","capture_target","cleanup_source","control_verify","e","ensure_dir","epoch","generation_id","pathlib","reconstruct_replica","shutil","upload_and_seal","validate_payload","write_state"],"lineno":903,"sha256":"d7eae37028d383c842bfe35267b5088421a01713f481b4f3551a44bb2745dc65","source":"def backup_target(t,green_verify=False):\n    if t['type']=='control': return control_verify(t)\n    gen=generation_id(t['logical_id']); work=ensure_dir(WORK_ROOT<PATH>    payload=None; cleanup=None; sealed=False\n    tr<PATH>        payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen\n        manifest,msha,alloc=upload_and_seal(t,payload,meta); sealed=True\n        # SEALED-first cleanup invariant: only now remove source<PATH> payload.\n        tr<PATH>            if pathlib.Path(payload).exists(): pathlib.Path(payload).unlink()\n        finally: cleanup_source(cleanup)\n        if green_verif<PATH>            a=work<PATH>'verify-a.bin'; b=work<PATH>'verify-b.bin'\n            ha=reconstruct_replica(manifest,manifest['replicas'][0],a); validate_payload(t,a)\n            hb=reconstruct_replica(manifest,manifest['replicas'][1],b); validate_payload(t,b)\n            if ha!=hb or ha!=manifest['payload_sha256']: raise BackupError('GREEN_REPLICA_COMPARE')\n            a.unlink(missing_ok=True); b.unlink(missing_ok=True)\n        shutil.rmtree(work,ignore_errors=True)\n        write_state(t['logical_id'],'SUCCESS',generation=gen,payload_sha256=manifest['payload_sha256'],manifest_sha256=msha,replicas=manifest['replicas'],green_verified=bool(green_verify),last_success_epoch=epoch())\n        return {'logical_id':t['logical_id'],'generation':gen,'result':'SUCCESS','payload_bytes':manifest['payload_bytes'],'replicas':2,'allocator_healthy':alloc['healthy']}\n    except BackupError as <PATH>        result='PARTIAL_VALID' if sealed else 'FAIL'\n        write_state(t['logical_id'],result,generation=gen,reason=e.code,sealed=sealed)\n        raise"},"capture_pve_guest":{"calls":["BackupError","Path","_default_unprivileged_lxc","_require_exact_source","_stream_argv_to_local","cluster_inventory","decode","get","int","is_file","len","mapped_scratch_probe","proven_lxc_dump_argv","run","splitlines","ssh_remote","stat","str","strip"],"end_lineno":541,"globals":["BackupError","P270","P270_SHA","P282","P282_SHA","SCP","_default_unprivileged_lxc","_require_exact_source","_stream_argv_to_local","cluster_inventory","mapped_scratch_probe","pathlib","proven_lxc_dump_argv","run","ssh_remote"],"lineno":505,"sha256":"c4c22625a9c6a954d0ed93dfc63f0501af0644ca9f5e6781d3b2e50a7e2563ea","source":"def capture_pve_guest(t,gen,work):\n    vmid=int(t['vmid']); rows=[r for r in cluster_inventory() if int(r.get('vmid',-1))==vmid]\n    if len(rows)!=1: raise BackupError('PVE_GUEST_NOT_UNIQUE')\n    row=rows[0]; node=row.get('node'); typ=row.get('type')\n    if typ!=t['guest_type']: raise BackupError('PVE_GUEST_TYPE_DRIFT')\n    if typ=='lxc':\n        _require_exact_source(P270,P270_SHA,'P270_IDENTITY');_require_exact_source(P282,P282_SHA,'P282_IDENTITY')\n        _default_unprivileged_lxc(node,vmid)\n        scratch=f'<PATH>'\n        ssh_remote(node,['install','-d','-m','710','-o','0','-g','100000',scratch],timeout=30)\n        q=ssh_remote(node,['stat','-c','%a:%u:%g',scratch],timeout=30)\n        if q.stdout.decode().strip()!='710:0:100000': raise BackupError('PVE_MAPPED_SCRATCH_ACCESS_CONTRACT')\n        tr<PATH>            mapped_scratch_probe(node,scratch)\n            argv,job=proven_lxc_dump_argv(t,row,node,scratch)\n            local=work<PATH>'payload.bin'\n            _stream_argv_to_local(node,argv,local,timeout=7200)\n            if local.stat().st_size>int(job['archive_cap_bytes']): raise BackupError('VZDUMP_ARCHIVE_CAP_EXCEEDED')\n        except Exceptio<PATH>            ssh_remote(node,['rm','-rf','--',scratch],timeout=60,check=False);raise\n        cleanup={'kind':'pve_source_dir','node':node,'path':scratch}\n        return local,{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':row.get('status'),'producer_contract':'proven-270-282-stream'},cleanup\n    # QEMU path remains unchanged: bounded dedicated dumpdir with later cloud readback<PATH>    srcdir=f'<PATH>'\n    ssh_remote(node,['install','-d','-m','700','-o','0','-g','0',srcdir],timeout=30)\n    tr<PATH>        ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200)\n        p=ssh_remote(node,['find',srcdir,'-maxdepth','1','-type','f','-printf','%p\\n'],timeout=30)\n        files=[x for x in p.stdout.decode().splitlines() if x.strip()]\n        if len(files)!=1: raise BackupError('VZDUMP_OUTPUT_NOT_UNIQUE')\n        src=files[0];local=work<PATH>'payload.bin'\n        if node=='pve01': local=pathlib.Path(src)\n        else: run([SCP,'-q','-o','BatchMode=yes','-o','StrictHostKeyChecking=yes','root@'+node+':'+src,str(local)],timeout=7200)\n        if not pathlib.Path(local).is_file() or pathlib.Path(local).stat().st_size<=0: raise BackupError('VZDUMP_PAYLOAD_MISSING')\n    except Exceptio<PATH>        ssh_remote(node,['rm','-rf','--',srcdir],timeout=60,check=False);raise\n    return pathlib.Path(local),{'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':typ,'node':node,'status':row.get('status')},{'kind':'pve_source_dir','node':node,'path':srcdir}"},"capture_target":{"calls":["BackupError","capture_node_bundle","capture_pve_guest","capture_router","capture_vps_md","capture_vps_spb","capture_vps_us","capture_xenforo"],"end_lineno":880,"globals":["BackupError","capture_node_bundle","capture_pve_guest","capture_router","capture_vps_md","capture_vps_spb","capture_vps_us","capture_xenforo"],"lineno":871,"sha256":"f52cec3a28467da247da0efaffb9523a775b1bb0cab2ce7fef1b1a5923a765bb","source":"def capture_target(t,gen,work):\n    typ=t['type']\n    if typ=='pve_guest': return capture_pve_guest(t,gen,work)\n    if typ=='pve_node_bundle': return capture_node_bundle(t,gen,work)\n    if typ=='vps_md': return capture_vps_md(t,gen,work)\n    if typ=='vps_spb': return capture_vps_spb(t,gen,work)\n    if typ=='vps_us': return capture_vps_us(t,gen,work)\n    if typ=='router': return capture_router(t,gen,work)\n    if typ=='xenforo': return capture_xenforo(t,gen,work)\n    raise BackupError('CAPTURE_TYPE_UNKNOWN')"},"default_targets":{"calls":["append","str"],"end_lineno":174,"globals":[],"lineno":149,"sha256":"0bed1b714e8631494626410eb8791d20d33463cbbb385a680d2f032d656f4c47","source":"def default_targets():\n    d=86400\n    out=[]\n    # PVE guests. Source node is resolved live every run.\n    for vmid,typ in [(110,'lxc'),(111,'lxc'),(112,'lxc'),(113,'lxc'),(130,'qemu'),(150,'qemu'),(160,'qemu'),(170,'qemu'),(171,'qemu'),(190,'qemu'),(210,'qemu'),(211,'qemu'),(9130,'qemu')]:\n        out.append({'logical_id':('ct' if typ=='lxc' else 'vm')+str(vmid),'scope':'pve','type':'pve_guest','vmid':vmid,'guest_type':typ,'due_seconds':d,'enabled':True,'green1':vmid==112})\n    for node in ('pve01','pve02','pve03'):\n        out.append({'logical_id':'node-'+node,'scope':'node','type':'pve_node_bundle','node':node,'due_seconds':7*d,'enabled':True,'green1':node=='pve01'})\n    out += [\n      {'logical_id':'md-relay','scope':'vps','type':'vps_md','host':'<IP>','port':22,'user':'ops','hostkey_fingerprint':'SHA256:DXJGwunC5tEVvnC3nRxyayTN8FXmyJcVgf+Oa6udQsY','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'spb-ingress','scope':'vps','type':'vps_spb','host':'<IP>','port':22,'user':'edgeadmin','hostkey_fingerprint':'SHA256:Ef+HsZb8lIXoadvYBXuGKIL3H7NyJMmf9EYCoJRoSv8','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'us-netbird','scope':'vps','type':'vps_us','host':'<IP>','port':22,'user':'root','hostkey_fingerprint':'SHA256:805Q9eh<PATH>','due_seconds':d,'enabled':True,'green1':True},\n      {'logical_id':'router-netcraze','scope':'router','type':'router','due_seconds':d,'enabled':True,'green1':True},\n    ]\n    sites=[\n      ('codevipe',160,'pve02','<PATH>','xf_codevipe','single_transaction'),\n      ('dsmods',160,'pve02','<PATH>','xf_dsmods','single_transaction'),\n      ('kingofwolk',160,'pve02','<PATH>','xf_kingofwolk','single_transaction'),\n      ('newfi',210,'pve01','<PATH>','xf_newfi','single_transaction'),\n      ('gamevipe',160,'pve02','<PATH>','xf_gamevipe','global_read_lock'),\n      ('hkmods',160,'pve02','<PATH>','xf_hkmods','global_read_lock'),\n      ('zakrutim',160,'pve02','<PATH>','xf_zakrutim','global_read_lock')]\n    for slug,vmid,node,root,db,strategy in site<PATH>        out.append({'logical_id':'xf-'+slug,'scope':'xenforo','type':'xenforo','slug':slug,'vmid':vmid,'node':node,'app_root':root,'db_name':db,'dump_strategy':strategy,'due_seconds':d,'enabled':True,'green1':slug in ('codevipe','zakrutim')})\n    out.append({'logical_id':'control-bootstrap-v2','scope':'control','type':'control','due_seconds':43200,'enabled':True,'green1':True})\n    return out"},"green_run":{"calls":["BackupError","append","backup_target","bootstrap_vps_keys","dumps","ensure_router_known_hosts","get","join","len","load_targets","print","sub","sum","upper"],"end_lineno":953,"globals":["BackupError","backup_target","bootstrap_vps_keys","e","ensure_router_known_hosts","json","load_targets","re"],"lineno":928,"sha256":"b56b1733abaa16f96d93caa0c4dc16a868303aa6ec045acdfdd73bd7cd6e48c1","source":"def green_run(label):\n    targets=load_targets(); chosen=[t for t in targets if t.get('green1')]\n    # Bootstrap is idempotent and only affects authorized_keys for the already-proven operator accounts.\n    boots=bootstrap_vps_keys(targets)\n    ensure_router_known_hosts()\n    print('VPS_OPERATOR_KEY_BOOTSTRAP='+json.dumps(boots,sort_keys=True,separators=(',',':')))\n    results=[]; failures=[]\n    for t in chose<PATH>        key=re.sub(r'[^A-Za-z0-9]+','_',t['logical_id']).upper()\n        tr<PATH>            r=backup_target(t,green_verify=(t['type']!='control'))\n            results.append(r); print(f'{label}_{key}=PASS')\n            print(f'{label}_{key}_GENERATION={r[\"generation\"]}')\n            print(f'{label}_{key}_PAYLOAD_BYTES={r.get(\"payload_bytes\",0)}')\n            print(f'{label}_{key}_REPLICAS={r.get(\"replicas\",0)}')\n            if 'allocator_healthy' in r: print(f'{label}_{key}_ALLOCATOR_HEALTHY={r[\"allocator_healthy\"]}')\n        except BackupError as <PATH>            failures.append((t['logical_id'],e.code)); print(f'{label}_{key}=FAIL'); print(f'{label}_{key}_REASON={e.code}')\n    print(f'{label}_TARGET_COUNT={len(chosen)}')\n    print(f'{label}_PASS_COUNT={len(results)}')\n    print(f'{label}_FAIL_COUNT={len(failures)}')\n    print(f'{label}_CLOUD_BACKUP_TARGET_COUNT={sum(1 for t in chosen if t[\"type\"]!=\"control\")}')\n    print(f'{label}_CONTROL_VERIFY_TARGET_COUNT={sum(1 for t in chosen if t[\"type\"]==\"control\")}')\n    if failures: raise BackupError(label+'_TARGET_FAILURES',','.join(x[0] for x in failures))\n    print(f'{label}=PASS')\n    return 0"},"load_targets":{"calls":["BackupError","get","isinstance","len","loads","read_text","set"],"end_lineno":241,"globals":["BackupError","TARGETS_PATH","json"],"lineno":236,"sha256":"5eb044cbf911794272bd845409ac17191e79ef933a3875e10e057c17ac1c6787","source":"def load_targets():\n    j=json.loads(TARGETS_PATH.read_text())\n    if j.get('schema')!=1 or not isinstance(j.get('targets'),list): raise BackupError('TARGET_MANIFEST_SCHEMA')\n    ids=[x.get('logical_id') for x in j['targets']]\n    if len(ids)!=len(set(ids)): raise BackupError('TARGET_MANIFEST_DUPLICATE')\n    return j['targets']"},"main":{"calls":["discover","green_run","len","print","scheduled_run","selftest"],"end_lineno":1011,"globals":["discover","green_run","scheduled_run","selftest"],"lineno":1003,"sha256":"ce5195c9e6a88c411449b1bb57a694c67abc63e1368c96e83fbfc2aadaa08107","source":"def main(argv):\n    if len(argv)<2: print('USAGE'); return 64\n    cmd=argv[1]\n    if cmd=='selftest': return selftest()\n    if cmd=='green1': return green_run('GREEN1')\n    if cmd=='green2': return green_run('GREEN2')\n    if cmd=='scheduled': return scheduled_run()\n    if cmd=='discover' and len(argv)==3: return discover(argv[2])\n    print('UNKNOWN_COMMAND'); return 64"},"scheduled_run":{"calls":["backup_target","choose_due_target","load_state_all","load_targets","print"],"end_lineno":963,"globals":["BackupError","backup_target","choose_due_target","e","load_state_all","load_targets"],"lineno":955,"sha256":"e082c5c8141f2c00c0dd8a74da199fd480f34792f64c591757bcbd2893b084d8","source":"def scheduled_run():\n    targets=load_targets(); state=load_state_all(); t=choose_due_target(targets,state)\n    if t is Non<PATH>        print('SCHEDULE_DECISION=DEFER_NO_DUE_TARGET'); return 0\n    print('SCHEDULE_TARGET='+t['logical_id'])\n    try: backup_target(t,green_verify=False)\n    except BackupError as <PATH>        print('SCHEDULE_RESULT=FAIL'); print('SCHEDULE_REASON='+e.code); return 2\n    print('SCHEDULE_RESULT=SUCCESS'); return 0"},"selftest":{"calls":["_isolated_release_graph_selftest","_pve_dumpdir_spec","default_targets","get","is_file","len","print","proven_lxc_dump_argv"],"end_lineno":1001,"globals":["GUEST266","GUEST266_SHA","P282_SHA","PART_SIZE","REMOTES","_isolated_release_graph_selftest","_pve_dumpdir_spec","default_targets","proven_lxc_dump_argv"],"lineno":987,"sha256":"0ed8f5298ec16a19de775b6206f592fac396dc2b0800d10ebc241b25787a40f3","source":"def selftest():\n    assert PART_SIZE==536870912\n    assert len(REMOTES)==13 and len({p for _,p in REMOTES})==13\n    assert len(default_targets())>=28\n    assert {t['logical_id'] for t in default_targets() if t.get('green1')}=={'ct112','node-pve01','md-relay','spb-ingress','us-netbird','router-netcraze','xf-codevipe','xf-zakrutim','control-bootstrap-v2'}\n    assert _pve_dumpdir_spec('lxc')==(0o710,100000)\n    assert _pve_dumpdir_spec('qemu')==(0o700,0)\n    assert GUEST266_SHA=='86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868'\n    assert P282_SHA=='73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012'\n    if GUEST266.is_file():\n        assert _isolated_release_graph_selftest() is True\n        av,_=proven_lxc_dump_argv({'vmid':112},{'maxdisk':8350298112,'maxmem':536870912,'status':'running','name':'unbound1'},'pve01','<PATH>')\n        assert '--stdout' in av and '--tmpdir' in av and '<PATH>' in av\n    print('SELFTEST_ENGINE396=10')\n    return 0"},"write_state":{"calls":["BackupError","atomic_write","canonical_json","epoch","utcnow"],"end_lineno":258,"globals":["BackupError","RESULT_CLASSES","STATE_ROOT","atomic_write","canonical_json","epoch","utcnow"],"lineno":253,"sha256":"8e436f41fb499386eb844cf0a8dfe272342e7ac4c16651c54fbbbdf3aa61a989","source":"def write_state(logical_id,result,**kw):\n    if result not in RESULT_CLASSES: raise BackupError('RESULT_CLASS_INVALID')\n    j={'schema':1,'logical_id':logical_id,'result':result,'updated_at_utc':utcnow(),**kw}\n    if result=='SUCCESS': j['last_success_epoch']=epoch()\n    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\\n',0o600)\n    return j"}},"missing_optional":[],"path":"<PATH>","sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7"},"scope":"READ_ONLY_SOURCE_CAPSULE_EXACT_CODE_ONLY_NO_CONFIG_NO_SECRET_NO_BACKUP_NO_CLOUD_NO_SYSTEMD_NO_MUTATION"}
REC|BACKUP_SOURCE|IDX=153|BASENAME=SUPPORT-260923-HOMELAB-MOLDOVA-RETIRE-PREFLIGHT-1130R1-20260923T205851Z.log|PATH_SHA256=956e8734b6f496472631d5127163b85b2e69ff3379127bdc63b0e60dbf1efa1c|SHA256=f75ed52bc7c1eb7c5418acf9a6f3c7d372de8ddb2bf445b6eb507958c8172cf8|SIZE=260184|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|153|21:7:5. VM160 backup-state audit.
SRC|BACKUP|153|43:40:Canonical production backup remotes remain Mail A<PATH> Full SITE-DR is SEALED; do not rerun merely because architecture changed. Cloud.ru bucket `homelab-dr-backup`: versioning **ON** (this supersedes older OFF docs), writer<PATH> OFF, no real workload. Yandex Object Storage bucket not created; latest verified billing threshold is `-600 RUB`, target 0, support request pending. Bucket creation remains blocked until live 0 proof.
SRC|BACKUP|153|47:23:- VM180 cluster-admin | DESTROYED | backup registry lifecycle=RETIRED_PRESERVE
SRC|BACKUP|153|48:24:- CT200 skladchik-mod | DESTROYED | backup registry lifecycle=RETIRED_PRESERVE
SRC|BACKUP|153|49:25:- Scrutiny | RETIRED | active service<PATH> removed | backup registry lifecycle=RETIRED_PRESERVE | historical recovery evidence preserved
SRC|BACKUP|153|66:74:NOTE forum-prod VMID160 is not in homelab-nightly-all; it has separate local<PATH> backup chain
SRC|BACKUP|153|67:75:NOTE edge-vm disk scsi1 backup=0 risk must be documented
SRC|BACKUP|153|70:81:HEALTH_NOT_OK item=backup-restore-coverage-slo.txt line=STATUS=WARN
SRC|BACKUP|153|71:82:HEALTH_NOT_OK item=backup-restore-dashboard.txt line=STATUS=WARN TS=2026-06-29T18:10:09Z ITEMS=80 NOT_OK=13
SRC|BACKUP|153|86:UNIT|name=homelab-backup-v2.timer|load=loaded|active=active|sub=waiting|result=success|enabled=enabled
SRC|BACKUP|153|87:UNIT|name=homelab-backup-v2.service|load=loaded|active=inactive|sub=dead|result=success|enabled=static
SRC|BACKUP|153|88:UNIT|name=homelab-backup-audit.timer|load=loaded|active=active|sub=waiting|result=success|enabled=enabled
SRC|BACKUP|153|89:UNIT|name=homelab-backup-audit.service|load=loaded|active=failed|sub=failed|result=exit-code|enabled=static
SRC|BACKUP|153|90:UNIT|name=homelab-alertmanager-backup-health.timer|load=loaded|active=active|sub=waiting|result=success|enabled=enabled
SRC|BACKUP|153|91:UNIT|name=homelab-alertmanager-backup-health.service|load=loaded|active=inactive|sub=dead|result=success|enabled=static
SRC|BACKUP|153|95:UNIT|name=netbird-vps-backup.timer|load=not-found|active=inactive|sub=dead|result=success|enabled=not-found
SRC|BACKUP|153|96:UNIT|name=netbird-vps-backup.service|load=not-found|active=inactive|sub=dead|result=success|enabled=not-found
SRC|BACKUP|153|103:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=14746|generation=app-filebrowser-pve01-20260923T143005Z
SRC|BACKUP|153|104:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=14574|generation=app-hbarhub-pve01-20260923T143158Z
SRC|BACKUP|153|105:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=14674|generation=app-immich-pve01-20260923T143041Z
SRC|BACKUP|153|106:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=14724|generation=app-skladchik-reports-monitor-pve01-20260923T143025Z
SRC|BACKUP|153|107:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=36576|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|153|108:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=20203|legacy_age_seconds=1688189|replica_count=2|state_id=ct110|generation=v2-ct110-20260923T125546Z-34408ffe4182
SRC|BACKUP|153|109:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=18061|replica_count=2|state_id=ct111|generation=v2-ct111-20260923T133222Z-0d3f5fae9c35
SRC|BACKUP|153|110:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=71147|legacy_age_seconds=1726684|replica_count=2|state_id=ct112|generation=v2-ct112-20260922T224902Z-8457b570052f
SRC|BACKUP|153|111:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=69278|replica_count=2|state_id=ct113|generation=v2-ct113-20260922T231959Z-9fe7d084a330
SRC|BACKUP|153|112:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=61252|replica_count=2|state_id=vm130|generation=v2-vm130-20260923T011558Z-c9498d37d3d7
SRC|BACKUP|153|113:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=66934|legacy_age_seconds=1688305|replica_count=2|state_id=vm150|generation=v2-vm150-20260922T235842Z-71b8fcec59c9
SRC|BACKUP|153|114:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm160|kind=VM|state=FRESH|source=V2|v2_age_seconds=60152|replica_count=2|state_id=vm160|generation=v2-vm160-20260923T014608Z-f76d7671af5a
SRC|BACKUP|153|115:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=51801|legacy_age_seconds=632926|replica_count=2|state_id=vm170|generation=v2-vm170-20260923T035958Z-923adacbc94b
SRC|BACKUP|153|116:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=58355|legacy_age_seconds=662458|replica_count=2|state_id=vm171|generation=v2-vm171-20260923T021946Z-4d6e4f578075
SRC|BACKUP|153|117:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=54272|replica_count=2|state_id=vm190|generation=v2-vm190-20260923T032759Z-314d9ba2ec35
SRC|BACKUP|153|118:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=39367|replica_count=2|state_id=vm9130|generation=v2-vm9130-20260923T071932Z-c0492db6535b
SRC|BACKUP|153|119:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: ISSUE|severity=HIGH|code=LOCK_BUSY|logical_id=<PATH>
SRC|BACKUP|153|120:Sep 23 [IPV6] pve01 homelab-backup-audit[2268991]: SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=1|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
SRC|BACKUP|153|121:Sep 23 [IPV6] pve01 systemd[1]: homelab-backup-audit.service: Main process exited, code=exited, status=1<PATH>
SRC|BACKUP|153|122:Sep 23 [IPV6] pve01 systemd[1]: homelab-backup-audit.service: Failed with result 'exit-code'.
SRC|BACKUP|153|123:Sep 23 [IPV6] pve01 systemd[1]: Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.
SRC|BACKUP|153|124:Sep 23 [IPV6] pve01 systemd[1]: homelab-backup-audit.service: Consumed 2.367s CPU time, 148.3M memory peak.
SRC|BACKUP|153|125:Sep 23 [IPV6] pve01 systemd[1]: Starting homelab-backup-audit.service - Homelab unified backup and DR audit...
REC|BACKUP_SOURCE|IDX=154|BASENAME=SUPPORT-260927-HOMELAB-BACKUP-LOCK-AWARE-RPO-RECOVERY-1235R1-20260927T200648Z.log|PATH_SHA256=0aee8b90384ade18d3b7eb6924d15c3e7c44487f4c69065119e215e9cb3f1c7e|SHA256=ec33d4b1814e274b3b42698808583b2ff788fc28ebda27f071d75672b16ab009|SIZE=23137|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|154|4:COMPONENT=homelab-backup-lock-aware-rpo-recovery
SRC|BACKUP|154|23:SOURCE_BRANCH=cr-2026-1005-backup-v2-health-alerting-remediation
SRC|BACKUP|154|59:VERIFY_TARGET_RESULT={"generation":"control-bootstrap-v2-pve01-20260916T120057Z","logical_id":"control-bootstrap-v2","payload_bytes":0,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|85:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-ct111-20260927T200714Z-2f72200d7742","logical_id":"ct111","payload_bytes":417826152,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|101:TARGET_LOCK_ACQUIRED|tag=ct112|attempt=1|stamp=2614978226898
SRC|BACKUP|154|102:TARGETED_REFRESH_BEGIN={"iteration":3,"audit_label":"vm112","verify_target":"ct112","start_epoch":1790539822}
SRC|BACKUP|154|108:VERIFY_OUTPUT_BEGIN=ct112
SRC|BACKUP|154|111:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-ct112-20260927T201022Z-6cdb5a555315","logical_id":"ct112","payload_bytes":224039854,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|112:VERIFY_OUTPUT_END=ct112
SRC|BACKUP|154|114:VERIFY_RESULT_LOGICAL_ID=ct112
SRC|BACKUP|154|116:VERIFY_RESULT_GENERATION=v2-ct112-20260927T201022Z-6cdb5a555315
SRC|BACKUP|154|121:TARGETED_REFRESH_END={"iteration":3,"audit_label":"vm112","verify_target":"ct112","elapsed_seconds":85,"accepted":true}
SRC|BACKUP|154|122:TARGET_LOCK_RELEASED|tag=ct112
SRC|BACKUP|154|137:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-ct113-20260927T201155Z-87c3bfe1d555","logical_id":"ct113","payload_bytes":221991399,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|162:QEMU_EXECUTION_DIAG={"archive_bytes":912043917,"archive_selected":true,"node":"pve01","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":150}
SRC|BACKUP|154|163:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm150-20260927T201335Z-2ba76459e7c5","logical_id":"vm150","payload_bytes":912043917,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|188:QEMU_EXECUTION_DIAG={"archive_bytes":1645890869,"archive_selected":true,"node":"pve03","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":190}
SRC|BACKUP|154|189:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm190-20260927T201613Z-662906757ca1","logical_id":"vm190","payload_bytes":1645890869,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|214:QEMU_EXECUTION_DIAG={"archive_bytes":8232066517,"archive_selected":true,"node":"pve01","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":170}
SRC|BACKUP|154|215:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm170-20260927T202054Z-1daa87a3cfbc","logical_id":"vm170","payload_bytes":8232066517,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|240:QEMU_EXECUTION_DIAG={"archive_bytes":2061491229,"archive_selected":true,"node":"pve01","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":171}
SRC|BACKUP|154|241:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm171-20260927T203926Z-61ca38fe3ac5","logical_id":"vm171","payload_bytes":2061491229,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|266:QEMU_EXECUTION_DIAG={"archive_bytes":10968466823,"archive_selected":true,"node":"pve02","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":9130}
SRC|BACKUP|154|267:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm9130-20260927T204452Z-91cc0cc7ecc5","logical_id":"vm9130","payload_bytes":10968466823,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|292:QEMU_EXECUTION_DIAG={"archive_bytes":3805401657,"archive_selected":true,"node":"pve02","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":160}
SRC|BACKUP|154|293:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm160-20260927T211143Z-0cadc4ac0b12","logical_id":"vm160","payload_bytes":3805401657,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|318:QEMU_EXECUTION_DIAG={"archive_bytes":11053999065,"archive_selected":true,"node":"pve03","producer_rc":0,"regular_file_count":2,"sidecar_count":1,"vmid":130}
SRC|BACKUP|154|319:VERIFY_TARGET_RESULT={"allocator_healthy":13,"generation":"v2-vm130-20260927T212128Z-0046d7efc414","logical_id":"vm130","payload_bytes":11053999065,"replicas":2,"result":"SUCCESS"}
SRC|BACKUP|154|340:TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=55069|generation=app-filebrowser-pve01-20260927T063003Z
SRC|BACKUP|154|341:TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=54902|generation=app-hbarhub-pve01-20260927T063154Z
SRC|BACKUP|154|342:TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=55003|generation=app-immich-pve01-20260927T063041Z
SRC|BACKUP|154|343:TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=BACKUP_DUE|legacy_age_seconds=55050|generation=app-skladchik-reports-monitor-pve01-20260927T063026Z
SRC|BACKUP|154|344:TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=6055|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|154|345:TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=7378|legacy_age_seconds=2045313|replica_count=2|state_id=ct110|generation=v2-ct110-20260927T194116Z-d16fe26dbd17
SRC|BACKUP|154|346:TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=5867|replica_count=2|state_id=ct111|generation=v2-ct111-20260927T200714Z-2f72200d7742
SRC|BACKUP|154|347:TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=5774|legacy_age_seconds=2083808|replica_count=2|state_id=ct112|generation=v2-ct112-20260927T201022Z-6cdb5a555315
SRC|BACKUP|154|348:TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=5674|replica_count=2|state_id=ct113|generation=v2-ct113-20260927T201155Z-87c3bfe1d555
SRC|BACKUP|154|349:TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=3|replica_count=2|state_id=vm130|generation=v2-vm130-20260927T212128Z-0046d7efc414
SRC|BACKUP|154|350:TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=5518|legacy_age_seconds=2045429|replica_count=2|state_id=vm150|generation=v2-vm150-20260927T201335Z-2ba76459e7c5
SRC|BACKUP|154|351:TARGET|logical_id=vm160|kind=VM|state=FRESH|source=V2|v2_age_seconds=1601|replica_count=2|state_id=vm160|generation=v2-vm160-20260927T211143Z-0cadc4ac0b12
REC|BACKUP_SOURCE|IDX=155|BASENAME=SUPPORT-260918-INFRA-PVE1-MOLDOVA-OVERLAY504-TRANSPORT-READONLY-557R3-20260918T211033Z.log|PATH_SHA256=453f07c337124544193fadf20289bd55188bcf2a3e2890dddfb0e9b768a3a879|SHA256=e28442fce699135a678d87f47199ecead0bb39ff250c5f9b54c7acbfe40c08d7|SIZE=42268|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|155|50:OVERLAY_CONTEXT_entry504_py_01_LINE_0004=BASE=pathlib.Path('<PATH>')
SRC|BACKUP|155|55:OVERLAY_CONTEXT_entry504_py_01_LINE_0009='ct112_handler.py':'8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c',
SRC|BACKUP|155|82:OVERLAY_CONTEXT_entry504_py_03_LINE_0062=required=('capture_pve_guest','backup_target','load_targets','cluster_inventory','ssh_remote',
SRC|BACKUP|155|118:OVERLAY_CONTEXT_entry504_py_04_LINE_0100=rows=wrapper.load_targets(); hits=[x for x in rows if x.get('logical_id')==lid]
SRC|BACKUP|155|132:OVERLAY_CONTEXT_entry504_py_04_LINE_0114=if not callable(wrapper.backup_target) or not callable(wrapper.main) or not callable(wrapper.load_targets):
SRC|BACKUP|155|158:OVERLAY_CONTEXT_fresh_lxc_helper_py_01_LINE_0004=BASE_RELEASE=pathlib.Path('<PATH>')
SRC|BACKUP|155|197:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0041=def _live_inputs(legacy,node,vmid,scratch):
SRC|BACKUP|155|206:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0050=try: rid=int(r.get('vmid'))
SRC|BACKUP|155|218:OVERLAY_CONTEXT_lxc_adapter_py_02_LINE_0062=return {'node':node,'vmid':vmid,'scratch':scratch,'now':int(time.time()),'rows':rows,'storage_rows':stores,'configs':configs,
SRC|BACKUP|155|299:OVERLAY_CONTEXT_lxc_adapter_py_07_LINE_0197=legacy._default_unprivileged_lxc(node,vmid)
SRC|BACKUP|155|317:OVERLAY_CONTEXT_lxc_adapter_py_07_LINE_0215=meta={'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':'lxc','node':node,'status':row.get('status'),
SRC|BACKUP|155|329:OVERLAY_CONTEXT_producer_exec_helper_py_01_LINE_0004=BASE=pathlib.Path('<PATH>')
SRC|BACKUP|155|366:OVERLAY_CONTEXT_qemu_adapter_py_01_LINE_0017=def _select_qemu_outputs(vmid,files):
SRC|BACKUP|155|367:OVERLAY_CONTEXT_qemu_adapter_py_01_LINE_0018=_need(type(vmid) is int and vmid>0,'QEMU_VMID')
SRC|BACKUP|155|377:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0051=vp=legacy.ssh_remote(node,['vzdump',str(vmid),'--mode','snapshot','--compress','zstd','--dumpdir',srcdir],timeout=7200,check=False)
SRC|BACKUP|155|379:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0053=_emit_diag(vmid=vmid,node=node,producer_rc=vp.returncode,stderr_bytes=len(vp.stderr),stderr_sha256=hashlib.sha256(vp.stderr).hexdigest(),archive_selected=False)
SRC|BACKUP|155|384:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0058=try: src,log=_select_qemu_outputs(vmid,files)
SRC|BACKUP|155|386:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0060=_emit_diag(vmid=vmid,node=node,producer_rc=0,regular_file_count=len(files),archive_selected=False,selector_error=str(e))
SRC|BACKUP|155|397:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0071=_emit_diag(vmid=vmid,node=node,producer_rc=0,regular_file_count=len(files),sidecar_count=1 if log else 0,archive_bytes=size,archive_selected=True)
SRC|BACKUP|155|401:OVERLAY_CONTEXT_qemu_adapter_py_02_LINE_0075=meta={'generation':gen,'source_class':'pve_guest','vmid':vmid,'guest_type':'qemu','node':node,'status':row.get('status'),
SRC|BACKUP|155|563:OVERLAY_REF_01_PATH=<PATH>
SRC|BACKUP|155|566:OVERLAY_REF_02_PATH=<PATH>
REC|BACKUP_SOURCE|IDX=156|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1-20260916T145824Z.log|PATH_SHA256=54f4f83d31345f3f2a530d42dd2f2d0367fe2c0b1797d2f7183e93c883ee0111|SHA256=6ffa04318c791c904b1dddc3fa1874647e0756e02eadfc732a9e472ba742ee37|SIZE=7000|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|156|2:{"baseline_identity_all_match":true,"candidate_trees":[{"expected_ct_paths":[],"expected_wrapper_paths":[],"files":[{"bytes":2077,"mode":"0400","path":"CONTRACT.json","sha256":"a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01","state":"FILE"},{"bytes":7210,"mode":"0400","path":"PLAN265_REFERENCE.json","sha256":"8d36e82080be93a8c929a9211191fa868166b9e7b6152c4c7689fa52b6720757","state":"FILE"},{"bytes":4310,"mode":"0400","path":"PROVENANCE.json","sha256":"303f44dc8e91c8e6a675f9ea406ce4b7532ed98440a9b6807fa593ede9d33254","state":"FILE"},{"bytes":2989,"mode":"0500","path":"adapter.py","sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3","state":"FILE"},{"bytes":7385,"mode":"0400","path":"guest266.py","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868","state":"FILE"},{"bytes":16514,"mode":"0400","path":"large264.py","sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a","state":"FILE"},{"bytes":4603,"mode":"0400","path":"nodeplan263.py","sha256":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060","state":"FILE"},{"bytes":12888,"mode":"0400","path":"pve265.py","sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be","state":"FILE"},{"bytes":19595,"mode":"0400","path":"pve270.py","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef","state":"FILE"},{"bytes":6195,"mode":"0400","path":"pve282.py","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012","state":"FILE"},{"bytes":14701,"mode":"0400","path":"restore262.py","sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1","state":"FILE"},{"bytes":8831,"mode":"0400","path":"stream263.py","sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16","state":"FILE"},{"bytes":10752,"mode":"0400","path":"test_guest266.py","sha256":"460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da","state":"FILE"},{"bytes":5441,"mode":"0400","path":"test_perl270.py","sha256":"50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f","state":"FILE"},{"bytes":12215,"mode":"0400","path":"test_producer282.py","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7","state":"FILE"},{"bytes":11781,"mode":"0400","path":"test_pve265.py","sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707","state":"FILE"},{"bytes":12077,"mode":"0400","path":"test_pve270.py","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4","state":"FILE"},{"bytes":5785,"mode":"0400","path":"test_pve282.py","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4","state":"FILE"},{"bytes":15364,"mode":"0400","path":"transport261.py","sha256":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688","state":"FILE"},{"bytes":11755,"mode":"0400","path":"v2core.py","sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2","state":"FILE"}],"hash_preimages":[],"root":"<PATH>","state":"READ","truncated":false}],"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-468-CANDIDATE-BUILD-FORENSIC-RCA-CHUNKED-472R1","decision":"HASH_PREIMAGE_NOT_FOUND_PARTIAL_CANDIDATE_SNAPSHOT_COLLECTED","hash_preimage_found":false,"hash_preimage_matches":[],"production_identities":{"<PATH>":{"bytes":5105,"expected_match":true,"gid":0,"mode":"0600","sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38","state":"FILE","uid":0},"<PATH>":{"bytes":309,"expected_match":true,"gid":0,"mode":"0644","sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565","state":"FILE","uid":0},"<PATH>":{"bytes":192,"expected_match":true,"gid":0,"mode":"0644","sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d","state":"FILE","uid":0},"<PATH>":{"bytes":59719,"expected_match":true,"gid":0,"mode":"0750","sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7","state":"FILE","uid":0},"<PATH>":{"bytes":8681,"expected_match":true,"gid":0,"mode":"0755","sha256":"fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612","state":"FILE","uid":0}},"runner_evidence":{"anchor_files":[],"files_scanned":512,"hash_preimages":[],"root":"<PATH>","state":"READ","truncated":true},"scope":"READ_ONLY_FORENSIC_NO_BACKUP_NO_VZDUMP_NO_RCLONE_NO_CLOUD_NO_EXTERNAL_SSH_NO_SYSTEMD_MUTATION_NO_PROMOTION","source_scans":[{"hash_preimages":[],"identity":{"bytes":59719,"gid":0,"mode":"0750","sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7","state":"FILE","uid":0},"path":"<PATH>"},{"hash_preimages":[],"identity":{"bytes":7855,"gid":0,"mode":"0755","sha256":"1f959049cca2710a2cb820cc1f6acab16399c6b6711b9e4522e0ecd49e0e4650","state":"FILE","uid":0},"path":"<PATH>"},{"hash_preimages":[],"identity":{"bytes":8681,"gid":0,"mode":"0755","sha256":"fbc27ad67fc3d3f51934e1d73180fe0df8c9d15f129f34ebba39c56aa1d03612","state":"FILE","uid":0},"path":"<PATH>"},{"hash_preimages":[],"identity":{"bytes":11862,"gid":0,"mode":"0755","sha256":"0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57","state":"FILE","uid":0},"path":"<PATH>"}],"systemd":{"homelab-app-cloud-quorum-queue.service":{"ActiveState":"inactive","LoadState":"loaded","SubState":"dead","UnitFileState":"static","state":"READ"},"homelab-app-cloud-quorum-queue.timer":{"ActiveState":"active","LoadState":"loaded","SubState":"waiting","UnitFileState":"enabled","state":"READ"},"homelab-backup-v2.service":{"ActiveState":"inactive","LoadState":"loaded","SubState":"dead","UnitFileState":"static","state":"READ"},"homelab-backup-v2.timer":{"ActiveState":"inactive","LoadState":"loaded","SubState":"dead","UnitFileState":"disabled","state":"READ"},"homelab-control-backup.service":{"ActiveState":"inactive","LoadState":"loaded","SubState":"dead","UnitFileState":"static","state":"READ"},"homelab-control-backup.timer":{"ActiveState":"active","LoadState":"loaded","SubState":"waiting","UnitFileState":"enabled","state":"READ"},"homelab-vm-cloud-quorum-queue.service":{"ActiveState":"inactive","LoadState":"loaded","SubState":"dead","UnitFileState":"static","state":"READ"},"homelab-vm-cloud-quorum-queue.timer":{"ActiveState":"active","LoadState":"loaded","SubState":"waiting","UnitFileState":"enabled","state":"READ"}},"target_exception_sha256":"bb1c111982a723103d49c0598083bfaac998467b4b7514fb230f5c74e8796136","targets":{"count":28,"ct112_occurrences":0,"logical_ids_valid":true,"sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38","state":"READ","unique_logical_ids":28,"xf_zakrutim_occurrences":1}}
REC|BACKUP_SOURCE|IDX=157|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-479-CANDIDATE-BUILD-TYPEERROR-STAGE-DECOMPOSITION-480R1-20260916T172124Z.log|PATH_SHA256=88f1e4a6b5508ce963a81b18e2915d65cc388d382c7eb67185f6f49cd8c79168|SHA256=acd2e233a2bdc94cc947acac74475c4e4cf19efa55ab40e7ec967989f3b46023|SIZE=2265|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|157|15:STAGE_TOP_NAMES=["candidate411","ct112_handler.py","legacy_engine.py","representative_driver.py","wrapper.py"]
SRC|BACKUP|157|21:TOP_META_ct112_handler_py={"gid":0,"kind":"file","mode":"0o400","name":"ct112_handler.py","read_size":7923,"sha256":"e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00","size":7923,"uid":0}
SRC|BACKUP|157|23:TOP_EXACT={"ct112_handler.py":true,"legacy_engine.py":true,"representative_driver.py":true,"wrapper.py":true}
REC|BACKUP_SOURCE|IDX=158|BASENAME=SUPPORT-260917-INFRA-DR-BACKUPV2-492-CANDIDATE-BUILD-SUBPROCESS-DECOMPOSITION-493R1-20260916T223024Z.log|PATH_SHA256=54338ec2dbf3ef652a598a83d60981d31412fc26b08528489261ae0c74f2995d|SHA256=6cf6810953494d7924c13d64cb7aefe8522cf444eb78d67adfe3810ef878349d|SIZE=25961|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|158|10:STAGE492_INVENTORY={"expected_exact":{"legacy_engine.py":true,"pve265_fresh_plan_helper492.py":false,"wrapper.py":true},"file_count":25,"files":[{"bytes":2077,"mode":"0400","path":"candidate411<PATH>","sha256":"a414715f1b91b3701c52073709a80c38218f76e3961618e8af61489211e50c01"},{"bytes":7210,"mode":"0400","path":"candidate411<PATH>","sha256":"8d36e82080be93a8c929a9211191fa868166b9e7b6152c4c7689fa52b6720757"},{"bytes":4310,"mode":"0400","path":"candidate411<PATH>","sha256":"303f44dc8e91c8e6a675f9ea406ce4b7532ed98440a9b6807fa593ede9d33254"},{"bytes":2989,"mode":"0500","path":"candidate411<PATH>","sha256":"18eb29cef165371b48bcb78e1a456e1939e6eff253787218133162cc89ab9fa3"},{"bytes":7385,"mode":"0400","path":"candidate411<PATH>","sha256":"86433bc424d5fa5017c20f7a237c82874b02357a3283660d8a6b0039ef2bc868"},{"bytes":16514,"mode":"0400","path":"candidate411<PATH>","sha256":"5cc4641fc35e4dd554495a36146da7dbbb7f142d1450e04cc5d3c89678b8497a"},{"bytes":4603,"mode":"0400","path":"candidate411<PATH>","sha256":"db5c16ee24d25aa1694530332d3190ab7cc5d4f8eb69067d025e27ad5c995060"},{"bytes":12888,"mode":"0400","path":"candidate411<PATH>","sha256":"cd2f634414a8e38a3789015aeca5a9b47821f77d7d1fa61dcdbdc866172963be"},{"bytes":19595,"mode":"0400","path":"candidate411<PATH>","sha256":"97015277a4f3f8129c0fd11eb70c06293026366f1f8232a97feeed513a2dbcef"},{"bytes":6195,"mode":"0400","path":"candidate411<PATH>","sha256":"73c6cb7773eb8e82d1e7ed5ab4733b4afb88f74ae69c09125d0378d6e480e012"},{"bytes":14701,"mode":"0400","path":"candidate411<PATH>","sha256":"56d1b961c8d5654d5e2ee2755268db46bd2202bca11e69788febf991cfaa79f1"},{"bytes":8831,"mode":"0400","path":"candidate411<PATH>","sha256":"a83d03a86b93a855716658652dd073fcb281cd387fc6200fe4bc2a922f39ea16"},{"bytes":10752,"mode":"0400","path":"candidate411<PATH>","sha256":"460b950924a475ce0a28dc759512e7dbe2323ae2cc42f7ef4c6181710a2a13da"},{"bytes":5441,"mode":"0400","path":"candidate411<PATH>","sha256":"50fc10865078a7b9b255dc627059824184441a47c4ede52e23f24c1186e3512f"},{"bytes":12215,"mode":"0400","path":"candidate411<PATH>","sha256":"a67d927cc428935791f9eecc3acf571d089f80761162f4589b7d684fba6b8af7"},{"bytes":11781,"mode":"0400","path":"candidate411<PATH>","sha256":"16a9407d01bf73db687ef38684c59205fc2e6a9223cd9cee6ec6e8dde9d38707"},{"bytes":12077,"mode":"0400","path":"candidate411<PATH>","sha256":"9fccd20b490613fdd5b14b4105cf0d9fd744f204e1ed1d6893e54c9f69bf6fb4"},{"bytes":5785,"mode":"0400","path":"candidate411<PATH>","sha256":"1056407aab76e17181b05e043cb42c086058545a8e0027689ab4e03eee6531c4"},{"bytes":15364,"mode":"0400","path":"candidate411<PATH>","sha256":"b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688"},{"bytes":11755,"mode":"0400","path":"candidate411<PATH>","sha256":"e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2"},{"bytes":10955,"mode":"0400","path":"ct112_handler.py","sha256":"8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c"},{"bytes":59790,"mode":"0400","path":"legacy_engine.py","sha256":"ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598"},{"bytes":7261,"mode":"0400","path":"pve265_fresh_plan_helper.py","sha256":"de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220"},{"bytes":4214,"mode":"0400","path":"representative_driver.py","sha256":"b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2"},{"bytes":5076,"mode":"0400","path":"wrapper.py","sha256":"2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495"}],"present":true}
SRC|BACKUP|158|17:RUNNER492_EVIDENCE={"matches":[{"bytes":2617,"path":"public<PATH>","projection":{"exceptions":["builtins.RuntimeError"],"markers":["COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","STATUS=FAIL","HOST=pve01","MODE=change","COMPONENT=infra-dr-backupv2-legacy-lxc-fresh-plan-owner-repair-verify","REFERENCE_REGISTER_CHECK=OK","REFERENCE_SHA256=5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66","ERROR_REGISTER_CHECK=OK","ERROR_REGISTER_SHA256=3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0","COMMAND_SHA256=b7790647d730f4d74e6794ad6e9616761f4cdf7d60c667344ecd2c36e872dcb7","DUPLICATE_FAILED_COMMAND_BLOCKED=false","EXECUTION_STARTED=true","CHANGE_DECLARED=true","RESULT_CONTRACT_VALID=true","RESULT_CONTRACT_STATUS=FAIL","RESULT_CONTRACT_ERROR=NONE","COMMAND_RC=2","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=ROLLED_BACK","SANITIZED=yes","PRIVATE_ADDRESSES_INCLUDED=no","RAW_EVIDENCE_SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c","SANITIZED_OUTPUT_SHA256=8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c","COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","MODE=CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","NO_TARGET_REGISTRY_REWRITE=YES","SYSTEMD_UNIT_FILE_MUTATIONS=0","NO_DAEMON_RELOAD=YES","CLOUD_DELETIONS=0","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","STALE_491_STAGE_PRESENT=YES","STALE_491_ACCEPTED_PRESENT=NO","STALE_491_SUCCESS_PRESENT=NO","STALE_491_ARTIFACTS_PRESERVED=YES","PREPROOF_DUE_TARGET=ct110","PREFLIGHT_486_BASELINE=PASS","V2_TIMER_RUNTIME_STOP=PASS","COMMON_HEAVY_LOCK_ACQUIRED=YES","PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598","PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495","PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220","ROLLBACK_TO_486=STARTED","ROLLBACK_TO_486=PASS","COMMON_HEAVY_LOCK_RELEASED=YES","STATUS=FAIL","PHASE=CANDIDATE_BUILD","REASON=FAILED_CLOSED","EXCEPTION_CLASS=builtins.RuntimeError","EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3","PRODUCTION_PROMOTION=NO","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","CLOUD_DELETIONS=0","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486"],"tokens":["BACKUPV2","CANDIDATE_BUILD","CHANGES_MADE","CHANGE_DECLARED","CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","CHAT_OUTPUT_BEGIN","CHAT_OUTPUT_END","CLOUD_DELETIONS","COMMAND_ID","COMMAND_RC","COMMAND_SHA256","COMMON_HEAVY_LOCK_ACQUIRED","COMMON_HEAVY_LOCK_RELEASED","COMPONENT","DUPLICATE_FAILED_COMMAND_BLOCKED","ERROR_REGISTER_CHECK","ERROR_REGISTER_SHA256","EXCEPTION_CLASS","EXCEPTION_MESSAGE_SHA256","EXECUTION_STARTED","FAIL","FAILED_CLOSED","FRESH","HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","HOMELAB_RESULT_CONTRACT","HOST","INFRA","LEGACY","LXC","MODE","MUTATED_THEN_ROLLED_BACK_TO_486","MUTATION_OUTCOME","NONE","NO_DAEMON_RELOAD","NO_TARGET_REGISTRY_REWRITE","OUTPUT_BEGIN","OUTPUT_END","OWNER","PASS","PATCHED_LEGACY_ENGINE_SHA256","PATCHED_WRAPPER_SHA256","PHASE","PLAN","PREFLIGHT_486_BASELINE","PREPROOF_DUE_TARGET","PRIVATE_ADDRESSES_INCLUDED","PRODUCTION_PROMOTION","PVE265_HELPER_SHA256","RAW_EVIDENCE_SHA256","REASON","REFERENCE_REGISTER_CHECK","REFERENCE_SHA256","REPAIR","RESULT_CONTRACT_ERROR","RESULT_CONTRACT_STATUS","RESULT_CONTRACT_VALID","RETENTION_MUTATION","RETENTION_STATUS","ROLLBACK_RESTORED","ROLLBACK_STARTED","ROLLBACK_TO_486","ROLLED_BACK","SANITIZED","SANITIZED_OUTPUT_SHA256","SECRETS_INCLUDED","STALE_491_ACCEPTED_PRESENT","STALE_491_ARTIFACTS_PRESERVED","STALE_491_STAGE_PRESENT","STALE_491_SUCCESS_PRESENT","STARTED","STATUS","SUPPORT","SYSTEMD_UNIT_FILE_MUTATIONS","V2_TIMER_RUNTIME_STOP","VERIFY","YES"]},"sha256":"d92b81dc7906f323e69178a09fbc1883e1d97919d0836407227c7d8bfed37028"},{"bytes":3170,"path":"public<PATH>","projection":{"exceptions":["builtins.RuntimeError"],"markers":[],"tokens":["BACKUPV2","CANDIDATE_BUILD","CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","COMMAND_ID","FAIL","FAILED_CLOSED","FRESH","HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","INFRA","LEGACY","LXC","MUTATED_THEN_ROLLED_BACK_TO_486","OWNER","PASS","PLAN","REPAIR","ROLLED_BACK","STARTED","SUPPORT","VERIFY","YES"]},"sha256":"f0383328fd005704319dac086068c4e8beefd338bdf7982427cf9f643e6ee5d0"},{"bytes":1547,"path":"public<PATH>","projection":{"exceptions":["builtins.RuntimeError"],"markers":["COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","MODE=CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","NO_TARGET_REGISTRY_REWRITE=YES","SYSTEMD_UNIT_FILE_MUTATIONS=0","NO_DAEMON_RELOAD=YES","CLOUD_DELETIONS=0","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","STALE_491_STAGE_PRESENT=YES","STALE_491_ACCEPTED_PRESENT=NO","STALE_491_SUCCESS_PRESENT=NO","STALE_491_ARTIFACTS_PRESERVED=YES","PREPROOF_DUE_TARGET=ct110","PREFLIGHT_486_BASELINE=PASS","V2_TIMER_RUNTIME_STOP=PASS","COMMON_HEAVY_LOCK_ACQUIRED=YES","PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598","PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495","PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220","ROLLBACK_TO_486=STARTED","ROLLBACK_TO_486=PASS","COMMON_HEAVY_LOCK_RELEASED=YES","STATUS=FAIL","PHASE=CANDIDATE_BUILD","REASON=FAILED_CLOSED","EXCEPTION_CLASS=builtins.RuntimeError","EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3","PRODUCTION_PROMOTION=NO","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","CLOUD_DELETIONS=0","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486"],"tokens":["BACKUPV2","CANDIDATE_BUILD","CHANGES_MADE","CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","CLOUD_DELETIONS","COMMAND_ID","COMMON_HEAVY_LOCK_ACQUIRED","COMMON_HEAVY_LOCK_RELEASED","EXCEPTION_CLASS","EXCEPTION_MESSAGE_SHA256","FAIL","FAILED_CLOSED","FRESH","HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","HOMELAB_RESULT_CONTRACT","INFRA","LEGACY","LXC","MODE","MUTATED_THEN_ROLLED_BACK_TO_486","MUTATION_OUTCOME","NO_DAEMON_RELOAD","NO_TARGET_REGISTRY_REWRITE","OWNER","PASS","PATCHED_LEGACY_ENGINE_SHA256","PATCHED_WRAPPER_SHA256","PHASE","PLAN","PREFLIGHT_486_BASELINE","PREPROOF_DUE_TARGET","PRODUCTION_PROMOTION","PVE265_HELPER_SHA256","REASON","REPAIR","RETENTION_MUTATION","RETENTION_STATUS","ROLLBACK_RESTORED","ROLLBACK_STARTED","ROLLBACK_TO_486","STALE_491_ACCEPTED_PRESENT","STALE_491_ARTIFACTS_PRESERVED","STALE_491_STAGE_PRESENT","STALE_491_SUCCESS_PRESENT","STARTED","STATUS","SUPPORT","SYSTEMD_UNIT_FILE_MUTATIONS","V2_TIMER_RUNTIME_STOP","VERIFY","YES"]},"sha256":"8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c"},{"bytes":1547,"path":"raw<PATH>","projection":{"exceptions":["builtins.RuntimeError"],"markers":["COMMAND_ID=SUPPORT-260917-INFRA-DR-BACKUPV2-LEGACY-LXC-FRESH-PLAN-OWNER-REPAIR-VERIFY-492R1","MODE=CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","NO_TARGET_REGISTRY_REWRITE=YES","SYSTEMD_UNIT_FILE_MUTATIONS=0","NO_DAEMON_RELOAD=YES","CLOUD_DELETIONS=0","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","STALE_491_STAGE_PRESENT=YES","STALE_491_ACCEPTED_PRESENT=NO","STALE_491_SUCCESS_PRESENT=NO","STALE_491_ARTIFACTS_PRESERVED=YES","PREPROOF_DUE_TARGET=ct110","PREFLIGHT_486_BASELINE=PASS","V2_TIMER_RUNTIME_STOP=PASS","COMMON_HEAVY_LOCK_ACQUIRED=YES","PATCHED_LEGACY_ENGINE_SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598","PATCHED_WRAPPER_SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495","PVE265_HELPER_SHA256=de9a225cd67947ca585fbd3440d74d91b606d9fd6d1da1b170cd6fb4c2024220","ROLLBACK_TO_486=STARTED","ROLLBACK_TO_486=PASS","COMMON_HEAVY_LOCK_RELEASED=YES","STATUS=FAIL","PHASE=CANDIDATE_BUILD","REASON=FAILED_CLOSED","EXCEPTION_CLASS=builtins.RuntimeError","EXCEPTION_MESSAGE_SHA256=07e2418b1301438d64fed32bba375a18bb907447a5067e75c0bdb643b2cbded3","PRODUCTION_PROMOTION=NO","RETENTION_MUTATION=NO","RETENTION_STATUS=HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","CLOUD_DELETIONS=0","CHANGES_MADE=true","ROLLBACK_STARTED=true","ROLLBACK_RESTORED=true","MUTATION_OUTCOME=MUTATED_THEN_ROLLED_BACK_TO_486"],"tokens":["BACKUPV2","CANDIDATE_BUILD","CHANGES_MADE","CHANGE_LEGACY_LXC_FRESH_PLAN_OWNER_REPAIR_VERIFY","CLOUD_DELETIONS","COMMAND_ID","COMMON_HEAVY_LOCK_ACQUIRED","COMMON_HEAVY_LOCK_RELEASED","EXCEPTION_CLASS","EXCEPTION_MESSAGE_SHA256","FAIL","FAILED_CLOSED","FRESH","HOLD_VM200_LIFECYCLE_RECONCILIATION_REQUIRED","HOMELAB_RESULT_CONTRACT","INFRA","LEGACY","LXC","MODE","MUTATED_THEN_ROLLED_BACK_TO_486","MUTATION_OUTCOME","NO_DAEMON_RELOAD","NO_TARGET_REGISTRY_REWRITE","OWNER","PASS","PATCHED_LEGACY_ENGINE_SHA256","PATCHED_WRAPPER_SHA256","PHASE","PLAN","PREFLIGHT_486_BASELINE","PREPROOF_DUE_TARGET","PRODUCTION_PROMOTION","PVE265_HELPER_SHA256","REASON","REPAIR","RETENTION_MUTATION","RETENTION_STATUS","ROLLBACK_RESTORED","ROLLBACK_STARTED","ROLLBACK_TO_486","STALE_491_ACCEPTED_PRESENT","STALE_491_ARTIFACTS_PRESERVED","STALE_491_STAGE_PRESENT","STALE_491_SUCCESS_PRESENT","STARTED","STATUS","SUPPORT","SYSTEMD_UNIT_FILE_MUTATIONS","V2_TIMER_RUNTIME_STOP","VERIFY","YES"]},"sha256":"8c8f1aa4e255d5b98868fae575a599170248cb528701301a68c7444019b8878c"}],"root_present":true,"scanned":6963,"truncated":false}
SRC|BACKUP|158|19:HOMELAB_OPS_VM200_AUTHORITY={"guest_inventory":{"present":true,"sha256":"2e877798e48842e03462ebd0e5fb2ebf03ef20e56b0f6f3b842e54807dbf8d00","vm200_paths":["$[11].id","$[11].name","$[11].role"]},"head":"d5e2ef5639398a762283e47143c17b494f8ed579","matches":[{"line":24,"path":"kb<PATH>","restore_word":true,"retire_word":true,"sha256":"4ad0264774cc816aeab85a8b0e6285b24c7412d282a7c059ddca36d77a048a32","text":"110 dns1, 111 dns2, 112 unbound1, 113 unbound2, VM130 edge-vm, VM150 Snikket, VM160 forum-prod, VM170 core-apps<PATH> VM171 monitoring, VM190 Gitea Actions runner. VM180 and CT200 are retirement candidates only; no blind delete. VM9130 edge-cold-standby stays until timed VM130 DR restore proof."},{"line":136,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"e0876962912ed44815a85e5c564cc8a7262044d96a3c5dd6dce7a28e695c9ab6","text":"\"name\": \"skladchik-mod\","},{"line":143,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"b3b0f300780b983846ffc8d1398356a3e40e82099a1e6f4da198c9fc2d1453ed","text":"\"role\": \"skladchik-mod: moderator v2 + PostgreSQL\","},{"line":122,"path":"kb<PATH>","restore_word":false,"retire_word":true,"sha256":"a6e53577bc02cca2c62f4d63e89340690a78a41929c7ca37013c735e0e9dbcdc","text":"<REDACTED sha256=a6e53577bc02cca2c62f4d63e89340690a78a41929c7ca37013c735e0e9dbcdc>"},{"line":42,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"78cc3a463194b91aeb01c8ccb52ff04b0fc78b55351a4f1a96db7ccd4ae0dc93","text":"| 200 | skladchik-mod | lxc | pve03 | running | <IP> | 6144 MiB | 39.1 GiB | skladchik-mod: moderator v2 + PostgreSQL |"},{"line":230,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"1ba645e76c0c9fb5702e772b040ab2f4119c2e551a927e862aa2e1f209e21d54","text":"## VM<PATH> 200 \u2014 skladchik-mod"},{"line":232,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"cfcce474bc44c2d60e5dd57687292857120ce05edfd5ee254c5671483032b640","text":"Role: skladchik-mod: moderator v2 + PostgreSQL."},{"line":235,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"43aa79267790ff6a5b952682c7ad443a9526c70e049f1912d1edc9382ccd2e94","text":"- `skladchik-moderator-v2-collector.service`"},{"line":236,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"5e70090b97e4635f3944ae1452b150e2b9152b225a72fd9a231b293d228db6a0","text":"- `skladchik-moderator-v2-collector.timer`"},{"line":237,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"d7304d71661641620bedea86389f0942b15b1fdef4e698bdbf5f0bb80b3d716a","text":"- `skladchik-moderator-v2-rules.service`"},{"line":238,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"0300ab7115a1c399cd0ee29cf1cd2e94ab67001ba1ebe796fa828679d0e97d7c","text":"- `skladchik-moderator-v2-rules.timer`"},{"line":239,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"1ff9539dd73582c2a1756d658b186382585e1ab9a6c13e47e2ea3931427a6a96","text":"- `skladchik-moderator-v2-web.service`"},{"line":103,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"5c9e497c385d44ffb96741eecac5d21dc2210197ebfefb170cfec9f1a18d5bb6","text":"- CT200 whole subsystem"},{"line":18,"path":"kb<PATH>","restore_word":false,"retire_word":true,"sha256":"495ae1c3b2699b2840e75445ea1c66cb67c3b0c4890da7baa4ac99c9bd0dc0f8","text":"| CT200 skladchik-mod | historical future RETIRE candidate | preserve required data<PATH> first |"},{"line":103,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"5c9e497c385d44ffb96741eecac5d21dc2210197ebfefb170cfec9f1a18d5bb6","text":"- CT200 whole subsystem"},{"line":686,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"c1ce653fc1b52f1e65298910707bde21c6d844b1cd54bbc7a878de7789078808","text":"\"skladchik-ct200-netbird-egress.service\","},{"line":1929,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"bf90d390a4d94ca6533238c230027c569b039dadb711321e04f8039225a0b65b","text":"\"name\": \"skladchik-mod\","},{"line":1941,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"c6907526c5d7a0c92ec738719e3e9cb7ec51f84503ca56852a39894b79b11cda","text":"\"skladchik-moderator-v2-web.service\","},{"line":1993,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"2a98df8dfa4540edf9616c9aa9c539f692e3e00755eeb9ee92a7fcfc4035d997","text":"\"unit\": \"skladchik-moderator-v2-collector.timer\","},{"line":1997,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"6f753d630bab46c79449bdf063eb555a03bdbffe4a3abbe8dda636027bf723b0","text":"\"unit\": \"skladchik-moderator-v2-rules.timer\","},{"line":2012,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"ec5a337de4483f6ebe1b21856fc829fd115aada355603482370477b58e2fdfdb","text":"\"skladchik-moderator-v2-collector.service\","},{"line":2013,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"2434a3e0265ad948914f310777aa8b633ca72eda14cc11738b55158fa98ba2e1","text":"\"skladchik-moderator-v2-collector.timer\","},{"line":2014,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"14c0115d22b258c39d87d0bd8b873c3c0dc69c50284870fd1da0f20011e8b57f","text":"\"skladchik-moderator-v2-rules.service\","},{"line":2015,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"a5da6c5e6fd2ace804a6c6f54e7dff462e07447b39a8880373dbc8ff6cea772f","text":"\"skladchik-moderator-v2-rules.timer\","},{"line":2016,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"c6907526c5d7a0c92ec738719e3e9cb7ec51f84503ca56852a39894b79b11cda","text":"\"skladchik-moderator-v2-web.service\","},{"line":2031,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"d685877462d077e8db3f7274f845b083f040818ea1757163b174618841423939","text":"\"role\": \"skladchik-mod: moderator v2 + PostgreSQL\","},{"line":2038,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"121e3cca09e3755399b527243c423d4bb71d45ae679eb50fb8ce52bea4b9cce8","text":"\"name\": \"skladchik-mod\","},{"line":13,"path":"kb<PATH>","restore_word":false,"retire_word":false,"sha256":"65bc2d4aeb5e2d70acdeb8ab85b05bcce58466a6528ebf527f99af56feb4b2f6","text":"200\tskladchik-mod\tlxc\tpve03\trunning\t<IP>\t6144\t39.1\tskladchik-mod: moderator v2 + PostgreSQL"},{"line":244,"path":"observed<PATH>","restore_word":false,"retire_word":false,"sha256":"e0876962912ed44815a85e5c564cc8a7262044d96a3c5dd6dce7a28e695c9ab6","text":"\"name\": \"skladchik-mod\","}],"policy":{"present":true,"sha256":"e06b7e6285eda2885ef913aa954a70abc7c1d892199a8b7cea2ada98b8edba34","vm200_paths":[]},"relevant_refs":["cr-2026-0035-skladchik-moderator-ct200|c7a72a516b74e73b07df646374fa938eac055f32","cr-2026-0058-legacy-backup-target-retirement|4b427f5f0406cab6757cf8889fd479a62d218261","cr-2026-0066-legacy-backup-target-retirement|bcf018f263d9fc607eddd1796e5ef306870c6b7b","cr-2026-0070-backup-target-lifecycle-registry|dbf8266d5f2bc4c87024ea8f0eb5f0e8922c7519"],"repo_present":true,"restore_word_match_count":1,"retire_word_match_count":3,"tracked_scanned":310}
REC|BACKUP_SOURCE|IDX=159|BASENAME=SUPPORT-260912-INFRA-DR-BACKUPV2-SECOND-GUEST-BACKUP-282R1-20260912T154152Z.log|PATH_SHA256=adbec3f3e177d45ab24efc655ce4b0c3a5d9a4d4e20db897f2d9e44ed065f3a6|SHA256=d7337743b221bd94feb4c4c038decf1661405d78eea65eceba0668b3c71f80b0|SIZE=4342|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|159|41:GUEST_SCOPE={"blockers":[],"compression_dependent":false,"planned_action":"PREVIOUS_CT110_BACKUP_AND_BOOT_VERIFIED","selected":false,"type":"lxc","vmid":110}
SRC|BACKUP|159|42:GUEST_SCOPE={"blockers":[],"compression_dependent":false,"planned_action":"CT112_BACKUP","selected":true,"type":"lxc","vmid":112}
SRC|BACKUP|159|43:GUEST_SCOPE={"blockers":[],"compression_dependent":true,"planned_action":"NOT_RUN","selected":false,"type":"qemu","vmid":150}
SRC|BACKUP|159|44:GUEST_SCOPE={"blockers":[],"compression_dependent":true,"planned_action":"NOT_RUN","selected":false,"type":"qemu","vmid":170}
SRC|BACKUP|159|45:GUEST_SCOPE={"blockers":[],"compression_dependent":true,"planned_action":"NOT_RUN","selected":false,"type":"qemu","vmid":171}
SRC|BACKUP|159|46:GUEST_SCOPE={"blockers":[],"compression_dependent":false,"planned_action":"NOT_RUN","selected":false,"type":"qemu","vmid":210}
SRC|BACKUP|159|93:WORK_DIRECTORY=<PATH>
SRC|BACKUP|159|96:LOGICAL_ID=guest-pve01-lxc-112
SRC|BACKUP|159|108:RELEASE_PATH=<PATH>
REC|BACKUP_SOURCE|IDX=160|BASENAME=SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-IDMAP-CONTRACT-CANDIDATE-NATIVE-RCA-421R1-20260915T110641Z.log|PATH_SHA256=1dc6a414d14ffa89d62dd2393acd651a59803d3c1d6f9cd5434e9a403550846e|SHA256=9e3f02e6dc4d8c5a99db5d3459a48737764e3247e18c2f621d160f13e38aa5a8|SIZE=11827|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
REC|BACKUP_SOURCE|IDX=161|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-CT112-G426-CLOUD-ONLY-RESTORE-CLEANUP-READONLYLARGE-451R1-20260916T024618Z.log|PATH_SHA256=8b3da0fe5c959a5ac0c7d9321b017f64a7ccf80c7ef1b721d982dedf03232733|SHA256=ed810961a25ef13678461e89f9b2784fe7d205dac2e6b9a3983c3aa1fc509f10|SIZE=3890|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|161|4:SOURCE_LOGICAL_ID=guest-pve01-lxc-112
REC|BACKUP_SOURCE|IDX=162|BASENAME=NEWFI-260920-NEWFDOM-MESSENGERS214-BASE210-20260920T021751Z.log|PATH_SHA256=9691182e2a0cf8f00085c03271f3a63f635ac55ad2d41314fe2921357dd36fd4|SHA256=412cc88726ba2a597e62f8ad4aaef0bd25fcacd61332a045a398eed07fa3babe|SIZE=96778|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|162|7:BASE_RELEASE=<PATH>
SRC|BACKUP|162|9:FILE_1_PATH=<PATH>
SRC|BACKUP|162|14:FILE_1_AST_1_VALUE=ct112_manifest_sha256
SRC|BACKUP|162|16:FILE_1_AST_2_VALUE=ct112_payload_bytes
SRC|BACKUP|162|18:FILE_1_AST_3_VALUE=ct112_payload_sha256
SRC|BACKUP|162|23:FILE_1_SRC_1_TEXT={"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1","ct112_manifest_sha256":"1ac4f16a54bcdd8b896c9a131abef966d315256aa56da3f83ed0b30845c4fcb0","ct112_payload_bytes":223875308,"ct112_payload_sha256":"d443b85e76e806830fd9c372d0a09fc5b91ca9c9d35c44fb0ad7968cc996d01d","legacy_ids":["node-pve01","md-relay","spb-ingress","us-netbird","router-netcraze","xf-codevipe","xf-zakrutim","control-bootstrap-v2"],"representative_pass":9,"schema":1}
SRC|BACKUP|162|24:FILE_2_PATH=<PATH>
SRC|BACKUP|162|94:FILE_2_SRC_20_TEXT=    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|162|96:FILE_2_SRC_21_TEXT=        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|162|110:FILE_2_SRC_28_TEXT=        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|162|130:FILE_2_SRC_38_TEXT=    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|162|136:FILE_2_SRC_41_TEXT=    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|162|146:FILE_2_SRC_46_TEXT=    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
SRC|BACKUP|162|193:FILE_3_PATH=<PATH>
SRC|BACKUP|162|351:FILE_3_SRC_6_TEXT=STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|162|353:FILE_3_SRC_7_TEXT=WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|162|355:FILE_3_SRC_8_TEXT=ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|162|363:FILE_3_SRC_12_TEXT=P265=pathlib.Path('<PATH>')
SRC|BACKUP|162|371:FILE_3_SRC_16_TEXT= (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|162|447:FILE_3_SRC_54_TEXT=def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|162|451:FILE_3_SRC_56_TEXT=    for x in (scope,logical_id,generation):
SRC|BACKUP|162|455:FILE_3_SRC_58_TEXT=    return f'homelab-backups<PATH>'
SRC|BACKUP|162|459:FILE_3_SRC_60_TEXT=def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|162|467:FILE_3_SRC_64_TEXT=    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|162|493:FILE_3_SRC_77_TEXT=    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|162|540:FILE_4_PATH=<PATH>
SRC|BACKUP|162|570:FILE_4_SRC_11_TEXT=        if logical_id not in LEGACY_IDS:
SRC|BACKUP|162|574:FILE_4_SRC_13_TEXT=        payload={'logical_id':logical_id,'result':result,'meta':kw,'schema_version':1}
SRC|BACKUP|162|576:FILE_4_SRC_14_TEXT=        _atomic_json(root<PATH>'.json'),payload)
SRC|BACKUP|162|594:FILE_4_SRC_23_TEXT=    if not callable(ct112_callback):
SRC|BACKUP|162|598:FILE_4_SRC_25_TEXT=    legacy,ct112=partition_targets(targets)
SRC|BACKUP|162|600:FILE_4_SRC_26_TEXT=    results=[_validate_ct112_result(ct112_callback(ct112))]
SRC|BACKUP|162|603:FILE_5_PATH=<PATH>
SRC|BACKUP|162|633:FILE_5_SRC_5_TEXT=def backup_target(t,green_verify=False):
SRC|BACKUP|162|637:FILE_5_SRC_7_TEXT=        r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|162|639:FILE_5_SRC_8_TEXT=        return {'logical_id':CT_ID,'generation':r['generation'],'result':'SUCCESS','payload_bytes':r['payload_bytes'],
SRC|BACKUP|162|671:FILE_5_SRC_24_TEXT=    if len(eff)!=29 or sum(1 for x in eff if x.get('logical_id')==CT_ID)!=1: raise RuntimeError('EFFECTIVE_TARGETS')
SRC|BACKUP|162|675:FILE_5_SRC_26_TEXT=    if [x['logical_id'] for x in legacy_rows]!=list(LEGACY_IDS) or ct.get('vmid')!=112: raise RuntimeError('REPRESENTATIVE_PARTITION')
SRC|BACKUP|162|677:FILE_5_SRC_27_TEXT=    if ct112.selftest() is not True: raise RuntimeError('CT112_HANDLER_SELFTEST')
SRC|BACKUP|162|680:FILE_6_PATH=<PATH>
REC|BACKUP_SOURCE|IDX=163|BASENAME=SUPPORT-260918-INFRA-VPS-USNETBIRD-EXACT-GENERATION-SOURCE-READONLY-517R6R3-20260918T121132Z.log|PATH_SHA256=3a64e49d21677c0865b2204b9fd2ade332fe5d35e94bc74b0e9b79e49dc3efc7|SHA256=e15767dd89b744e809836496275682cf114aaaa525f89fb964d0d0662c4a4b0f|SIZE=14519|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|163|1:VPS517R6R3_SAFE_REPORT={"archive_evidence":[],"changes_made":false,"cloud_reads":0,"cloud_writes":0,"command_id":"SUPPORT-260918-INFRA-VPS-USNETBIRD-EXACT-GENERATION-SOURCE-READONLY-517R6R3","decision":"PASS_EXACT_GENERATION_LOCAL_SOURCE_OR_PAYLOAD_PROVEN_NO_REMOTE_SSH","exact_manifest_matches":[],"exact_payload_matches":[],"external_ssh_attempts":0,"generation_path_hits":[{"bytes":619,"path":"<PATH>"},{"bytes":1255,"path":"<PATH>"}],"local_source_evidence":[{"line":1,"path":"<PATH>","text":"{\"anchor_505_commit\":\"915310304ba96ded6bffaaf88edafeda6a89efa0\",\"anchor_506r4_commit\":\"3e4e0227fb6f13cdca56fba320218b5f8aa5ed26\",\"cloud_deletions\":0,\"cloud_writes\":0,\"command_id\":\"SUPPORT-260917-INFRA-DR-BACKUPV2-P0B-REFRESHABLE-ESCROW-REPAIR-FINAL-CLOSE-507R1\",\"credential_envelope\":\"cms-signed-then-enveloped-v1\",\"external_cloud_read_verified\":true,\"kit_metadata_sha256\":\"74fc0439133247a56bcbd6d580bc38f6b5e818b80524ab869725b47d66cf09cc\",\"kit_root\":\"<PATH>",\"offcluster_host\":\"us-netbird\",\"parts_manifest_sha256\":\"1748416b7934f11ec18b51ada36d87f5b23a2839d50db3d8364f06f1f40bb677\",\"plaintext_config_persistent_offcluster\":false,\"proof_generation\":\"control-bootstrap-v2-pve01-20260916T120057Z\",\"rclone_binary_sha256\":\"20df3d5eac5d4e187ce638e4216354e7fa6778c3c51f0caf48c48acca9686354\",\"recover_script_sha256\":\"8d2af941d2c6d8252c302ee563631331e580ccfa67505cb0551942647fff0363\",\"recovery_cert_sha256\":\"fb4ad5cdf7aca806b8e2b236ed338724f8a053f70c8f5dba7e26139ace25a4f9\",\"refreshable_credentials_persisted_encrypted\":true,\"remote_base_sha256\":\"ab759e05b26cb46267512140c3966041bee602666c7411ad72e41b15c027595a\",\"retention_mutation\":false,\"schema\":\"homelab-backup-v2-cold-bootstrap-binding-v2\",\"status\":\"ACCEPTED\"}"}],"mode":"read-only","remote_access_evidence":[],"schema_version":1,"state":{"consecutive_failures":0,"failure_backoff_seconds":0,"generation":"v2-us-netbird-20260918T041032Z-d7648be4c16b","green_verified":false,"last_attempt_epoch":1789704670,"last_success_epoch":1789704670,"logical_id":"us-netbird","manifest_sha256":"f82c761cafe8aa43d90d0b4b6124933799b5087d34daf880791d850d0d15cee5","payload_sha256":"e41e3e012442ef41da1c667d7f5fbe4fd52786b0bb5ffca195660750c773efbf","replicas":[{"crypt":"pve01-mail-05-crypt","physical":"pve01-mail-05"},{"crypt":"pve03-mail-04-crypt","physical":"pve03-mail-04"}],"result":"SUCCESS","retry_after_epoch":0,"schema":1,"updated_at_utc":"2026-09-18T04:11:10Z"},"target_definition_evidence":[{"bytes":619,"hits":[{"line":1,"text":"{\"consecutive_failures\":0,\"failure_backoff_seconds\":0,\"generation\":\"v2-us-netbird-20260918T041032Z-d7648be4c16b\",\"green_verified\":false,\"last_attempt_epoch\":1789704670,\"last_success_epoch\":1789704670,\"logical_id\":\"us-netbird\",\"manifest_sha256\":\"f82c761cafe8aa43d90d0b4b6124933799b5087d34daf880791d850d0d15cee5\",\"payload_sha256\":\"e41e3e012442ef41da1c667d7f5fbe4fd52786b0bb5ffca195660750c773efbf\",\"replicas\":[{\"crypt\":\"pve01-mail-05-crypt\",\"physical\":\"pve01-mail-05\"},{\"crypt\":\"pve03-mail-04-crypt\",\"physical\":\"pve03-mail-04\"}],\"result\":\"SUCCESS\",\"retry_after_epoch\":0,\"schema\":1,\"updated_at_utc\":\"2026-09-18T04:11:10Z\"}"}],"json_selected":{"generation":"v2-us-netbird-20260918T041032Z-d7648be4c16b","green_verified":"False","logical_id":"us-netbird","manifest_sha256":"f82c761cafe8aa43d90d0b4b6124933799b5087d34daf880791d850d0d15cee5","payload_sha256":"e41e3e012442ef41da1c667d7f5fbe4fd52786b0bb5ffca195660750c773efbf","replicas":[{},{}],"result":"SUCCESS","updated_at_utc":"2026-09-18T04:11:10Z"},"path":"<PATH>","sha256":"d5d8a8a65794d3ad051e2e28bd6210664496801d273a54a9022c0370e48fd11b"},{"bytes":1255,"hits":[{"line":1,"text":"{\"anchor_505_commit\":\"915310304ba96ded6bffaaf88edafeda6a89efa0\",\"anchor_506r4_commit\":\"3e4e0227fb6f13cdca56fba320218b5f8aa5ed26\",\"cloud_deletions\":0,\"cloud_writes\":0,\"command_id\":\"SUPPORT-260917-INFRA-DR-BACKUPV2-P0B-REFRESHABLE-ESCROW-REPAIR-FINAL-CLOSE-507R1\",\"credential_envelope\":\"cms-signed-then-enveloped-v1\",\"external_cloud_read_verified\":true,\"kit_metadata_sha256\":\"74fc0439133247a56bcbd6d580bc38f6b5e818b80524ab869725b47d66cf09cc\",\"kit_root\":\"<PATH>",\"offcluster_host\":\"us-netbird\",\"parts_manifest_sha256\":\"1748416b7934f11ec18b51ada36d87f5b23a2839d50db3d8364f06f1f40bb677\",\"plaintext_config_persistent_offcluster\":false,\"proof_generation\":\"control-bootstrap-v2-pve01-20260916T120057Z\",\"rclone_binary_sha256\":\"20df3d5eac5d4e187ce638e4216354e7fa6778c3c51f0caf48c48acca9686354\",\"recover_script_sha256\":\"8d2af941d2c6d8252c302ee563631331e580ccfa67505cb0551942647fff0363\",\"recovery_cert_sha256\":\"fb4ad5cdf7aca806b8e2b236ed338724f8a053f70c8f5dba7e26139ace25a4f9\",\"refreshable_credentials_persisted_encrypted\":true,\"remote_base_sha256\":\"ab759e05b26cb46267512140c3966041bee602666c7411ad72e41b15c027595a\",\"retention_mutation\":false,\"schema\":\"homelab-backup-v2-cold-bootstrap-binding-v2\",\"status\":\"ACCEPTED\"}"}],"json_selected":{"kit_root":"<PATH>","offcluster_host":"us-netbird","proof_generation":"control-bootstrap-v2-pve01-20260916T120057Z","status":"ACCEPTED"},"path":"<PATH>","sha256":"06b71870d460168495b27fd6316a316e3f14d958c8b994bfc63e0da3ad7653e1"},{"bytes":5105,"hits":[{"line":1,"text":"{\"created_by\":\"SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1\",\"registry_anchor\":\"bd85b2081fb599bc2d8b7122640f372dde20d881\",\"schema\":1,\"targets\":[{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct110\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":110},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct111\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":111},{\"due_seconds\":86400,\"enabled\":true,\"green1\":true,\"guest_type\":\"lxc\",\"logical_id\":\"ct112\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":112},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct113\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":113},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm130\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":130},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm150\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":150},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm160\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":160},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm170\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":170},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm171\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":171},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm190\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":190},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm210\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":210},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm211\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":211},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm9130\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":9130},{\"due_seconds\":604800,\"enabled\":true,\"green1\":true,\"logical_id\":\"node-pve01\",\"node\":\"pve01\",\"scope\":\"node\",\"type\":\"pve_node_bundle\"},{\"due_seconds\":604800,\"enabled\":true,\"green1\":false,\"logical_id\":\"node-pve02\",\"node\":\"pve02\",\"scope\":\"node\",\"t"}],"json_selected":{},"path":"<PATH>","sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38"}],"text_source_evidence":[{"bytes":619,"hits":[{"line":1,"text":"{\"consecutive_failures\":0,\"failure_backoff_seconds\":0,\"generation\":\"v2-us-netbird-20260918T041032Z-d7648be4c16b\",\"green_verified\":false,\"last_attempt_epoch\":1789704670,\"last_success_epoch\":1789704670,\"logical_id\":\"us-netbird\",\"manifest_sha256\":\"f82c761cafe8aa43d90d0b4b6124933799b5087d34daf880791d850d0d15cee5\",\"payload_sha256\":\"e41e3e012442ef41da1c667d7f5fbe4fd52786b0bb5ffca195660750c773efbf\",\"replicas\":[{\"crypt\":\"pve01-mail-05-crypt\",\"physical\":\"pve01-mail-05\"},{\"crypt\":\"pve03-mail-04-crypt\",\"physical\":\"pve03-mail-04\"}],\"result\":\"SUCCESS\",\"retry_after_epoch\":0,\"schema\":1,\"updated_at_utc\":\"2026-09-18T04:11:10Z\"}"}],"json_selected":{"generation":"v2-us-netbird-20260918T041032Z-d7648be4c16b","green_verified":"False","logical_id":"us-netbird","manifest_sha256":"f82c761cafe8aa43d90d0b4b6124933799b5087d34daf880791d850d0d15cee5","payload_sha256":"e41e3e012442ef41da1c667d7f5fbe4fd52786b0bb5ffca195660750c773efbf","replicas":[{},{}],"result":"SUCCESS","updated_at_utc":"2026-09-18T04:11:10Z"},"path":"<PATH>","sha256":"d5d8a8a65794d3ad051e2e28bd6210664496801d273a54a9022c0370e48fd11b"},{"bytes":1255,"hits":[{"line":1,"text":"{\"anchor_505_commit\":\"915310304ba96ded6bffaaf88edafeda6a89efa0\",\"anchor_506r4_commit\":\"3e4e0227fb6f13cdca56fba320218b5f8aa5ed26\",\"cloud_deletions\":0,\"cloud_writes\":0,\"command_id\":\"SUPPORT-260917-INFRA-DR-BACKUPV2-P0B-REFRESHABLE-ESCROW-REPAIR-FINAL-CLOSE-507R1\",\"credential_envelope\":\"cms-signed-then-enveloped-v1\",\"external_cloud_read_verified\":true,\"kit_metadata_sha256\":\"74fc0439133247a56bcbd6d580bc38f6b5e818b80524ab869725b47d66cf09cc\",\"kit_root\":\"<PATH>",\"offcluster_host\":\"us-netbird\",\"parts_manifest_sha256\":\"1748416b7934f11ec18b51ada36d87f5b23a2839d50db3d8364f06f1f40bb677\",\"plaintext_config_persistent_offcluster\":false,\"proof_generation\":\"control-bootstrap-v2-pve01-20260916T120057Z\",\"rclone_binary_sha256\":\"20df3d5eac5d4e187ce638e4216354e7fa6778c3c51f0caf48c48acca9686354\",\"recover_script_sha256\":\"8d2af941d2c6d8252c302ee563631331e580ccfa67505cb0551942647fff0363\",\"recovery_cert_sha256\":\"fb4ad5cdf7aca806b8e2b236ed338724f8a053f70c8f5dba7e26139ace25a4f9\",\"refreshable_credentials_persisted_encrypted\":true,\"remote_base_sha256\":\"ab759e05b26cb46267512140c3966041bee602666c7411ad72e41b15c027595a\",\"retention_mutation\":false,\"schema\":\"homelab-backup-v2-cold-bootstrap-binding-v2\",\"status\":\"ACCEPTED\"}"}],"json_selected":{"kit_root":"<PATH>","offcluster_host":"us-netbird","proof_generation":"control-bootstrap-v2-pve01-20260916T120057Z","status":"ACCEPTED"},"path":"<PATH>","sha256":"06b71870d460168495b27fd6316a316e3f14d958c8b994bfc63e0da3ad7653e1"},{"bytes":5105,"hits":[{"line":1,"text":"{\"created_by\":\"SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1\",\"registry_anchor\":\"bd85b2081fb599bc2d8b7122640f372dde20d881\",\"schema\":1,\"targets\":[{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct110\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":110},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct111\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":111},{\"due_seconds\":86400,\"enabled\":true,\"green1\":true,\"guest_type\":\"lxc\",\"logical_id\":\"ct112\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":112},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"lxc\",\"logical_id\":\"ct113\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":113},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm130\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":130},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm150\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":150},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm160\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":160},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm170\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":170},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm171\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":171},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm190\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":190},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm210\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":210},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm211\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":211},{\"due_seconds\":86400,\"enabled\":true,\"green1\":false,\"guest_type\":\"qemu\",\"logical_id\":\"vm9130\",\"scope\":\"pve\",\"type\":\"pve_guest\",\"vmid\":9130},{\"due_seconds\":604800,\"enabled\":true,\"green1\":true,\"logical_id\":\"node-pve01\",\"node\":\"pve01\",\"scope\":\"node\",\"type\":\"pve_node_bundle\"},{\"due_seconds\":604800,\"enabled\":true,\"green1\":false,\"logical_id\":\"node-pve02\",\"node\":\"pve02\",\"scope\":\"node\",\"t"}],"json_selected":{},"path":"<PATH>","sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38"}]}
REC|BACKUP_SOURCE|IDX=164|BASENAME=SUPPORT-260915-INFRA-DR-BACKUPV2-CT112-G426-TWO-REPLICA-SEAL-RETRY-LIVE-BINDING-445R1-20260915T212954Z.log|PATH_SHA256=5967a237afe0f70818076b594425806f5a8ea6f7022f9f02729ed342d46368c7|SHA256=4bb9dcd8effc5c3eb153a36e63aa917298d40726a68d343d1e72cfe121c8a233|SIZE=2047|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|164|4:SOURCE_LOGICAL_ID=guest-pve01-lxc-112
REC|BACKUP_SOURCE|IDX=165|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-CT112-G426-TWO-REPLICA-SEAL-BINDING-GUARD-FIX-448R1-20260916T020737Z.log|PATH_SHA256=464fe71d1037bedd2ab095f7fafd8d6c675809b6df5d56d5dff51aac72ea93e9|SHA256=66f531da1ae6cc8c88effd2b2a016d20f95248c06ab2f36a5bff940cd45752bd|SIZE=2561|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|165|4:SOURCE_LOGICAL_ID=guest-pve01-lxc-112
REC|BACKUP_SOURCE|IDX=166|BASENAME=SUPPORT-260915-INFRA-DR-BACKUPV2-PVE-LXC-VALIDATE-JOB-CONTRACT-RCA-418R1-20260915T104830Z.log|PATH_SHA256=ca55644c5da1bd6ae49571f6e6dc130a6ed4fd42bf104156a833500cbfd2466e|SHA256=83df9c98a4c471a512513a93f3200dda903362005293932c39b5a0320135e029|SIZE=6495|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|166|12:PVE265_VALIDATE_JOB_CONTRACT={"need_calls":[{"code":"JOB_SCHEMA","line":2,"predicate":"type(job) is dict and type(now) is int"},{"code":"VMID","line":3,"predicate":"type(job.get('vmid')) is int and 100 <= job['vmid'] <= 999999999"},{"code":"JOB_KIND","line":4,"predicate":"job.get('type') in ('qemu', 'lxc') and np.valid_id(job.get('node'))"},{"code":"JOB_BLOCKED","line":5,"predicate":"job.get('coverage_eligible') is True and job.get('blockers') == []"},{"code":"PLAN_STALE_OR_FUTURE","line":6,"predicate":"type(job.get('observed_at')) is int and 0 <= now - job['observed_at'] <= PLAN_TTL"},{"code":"JOB_CONFIG_ANCHOR","line":7,"predicate":"core.valid_hash(job.get('config_sha256'))"},{"code":"ARCHIVE_CAP","line":8,"predicate":"type(job.get('archive_cap_bytes')) is int and 0 < job['archive_cap_bytes'] <= stream.MAX_BYTES"},{"code":"JOB_STATE","line":9,"predicate":"job.get('status') == 'running' and job.get('template') is False"}],"signature":"(job, now)","source":"def validate_job(job,now):\n    need(type(job) is dict and type(now) is int,'JOB_SCHEMA')\n    need(type(job.get('vmid')) is int and 100<=job['vmid']<=999999999,'VMID')\n    need(job.get('type') in ('qemu','lxc') and np.valid_id(job.get('node')),'JOB_KIND')\n    need(job.get('coverage_eligible') is True and job.get('blockers')==[],'JOB_BLOCKED')\n    need(type(job.get('observed_at')) is int and 0<=now-job['observed_at']<=PLAN_TTL,'PLAN_STALE_OR_FUTURE')\n    need(core.valid_hash(job.get('config_sha256')),'JOB_CONFIG_ANCHOR')\n    need(type(job.get('archive_cap_bytes')) is int and 0<job['archive_cap_bytes']<=stream.MAX_BYTES,'ARCHIVE_CAP')\n    need(job.get('status')=='running' and job.get('template') is False,'JOB_STATE')\n","source_sha256":"89276143f6864d62730eee7eddca2320660106018517d2d144b8a79a92e01133"}
REC|BACKUP_SOURCE|IDX=167|BASENAME=SUPPORT-260916-INFRA-DR-BACKUPV2-REPRESENTATIVE-FULL-REQUIRED-VALIDATION-CONTRACT-PREFLIGHT-452R1-20260916T032509Z.log|PATH_SHA256=3dfd42588f90e668bee06f56829a4356b7f4fe6684dff779c5d1b4182d8923bc|SHA256=68a7e165811b90c8b696748f0466f0475706746dfb606199fd092910323a2657|SIZE=5999|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|167|20:BASELINE_400_CURRENT_FILES={"<PATH>":{"bytes":5105,"gid":0,"mode":"0600","sha256":"a723befc7fd42d70af9088406598f18156dc3b4c76d8b34c4bb725dfaa48dd38","uid":0},"<PATH>":{"bytes":309,"gid":0,"mode":"0644","sha256":"1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565","uid":0},"<PATH>":{"bytes":192,"gid":0,"mode":"0644","sha256":"5469057602452b303a01ccb8057085c1b0e447973e5ed198cebf7dd5daf58e9d","uid":0},"<PATH>":{"bytes":59719,"gid":0,"mode":"0750","sha256":"b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7","uid":0}}
SRC|BACKUP|167|25:LEGACY_TIMERS=[{"active":"active","enabled":"enabled","name":"homelab-app-cloud-quorum-queue.timer"},{"active":"active","enabled":"enabled","name":"homelab-vm-cloud-quorum-queue.timer"},{"active":"active","enabled":"enabled","name":"homelab-control-backup.timer"}]
SRC|BACKUP|167|37:HISTORICAL_392A_REPRESENTATIVE_TARGET_OCCURRENCES={"control-bootstrap-v2":1,"guest-pve01-lxc-112":0,"md-relay":1,"node-pve01":1,"router-netcraze":1,"spb-ingress":1,"us-netbird":1,"xf-codevipe":1,"xf-zakrutim":1}
SRC|BACKUP|167|39:PERSISTENT_ENGINE_HISTORICAL_REPRESENTATIVE_LITERAL_COUNTS={"control-bootstrap-v2":3,"guest-pve01-lxc-112":0,"md-relay":2,"node-pve01":1,"router-netcraze":2,"spb-ingress":2,"us-netbird":2,"xf-codevipe":1,"xf-zakrutim":1}
REC|BACKUP_SOURCE|IDX=168|BASENAME=SUPPORT-261001-BACKUPV2-VPSUS-TRANSITIVE-SEMANTICS-99285R1-20261001T115049Z.log|PATH_SHA256=69a94c05af5e880a952b716801de7b04d331288f0305b3b63b2ebdce251d5124|SHA256=b77913f393173f1e230d495c3fc0664a38043598a85e35cc42690270c1cf3cde|SIZE=10801|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|168|21:ENTRY_GREEN_RUN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_lxc_job,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,cleanup_source,cluster_inventory,control_verify,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_targets,locate_exact_sha,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,select_replicas,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder
SRC|BACKUP|168|22:ENTRY_GREEN_RUN_DIRECT_CALLS=BackupError,append,backup_target,bootstrap_vps_keys,dumps,ensure_router_known_hosts,get,join,len,load_targets,print,sub,sum,upper
SRC|BACKUP|168|24:ENTRY_MAIN_REACHABLE=_default_unprivileged_lxc,_historical_graph_env,_isolated_guest266_dump_argv,_isolated_release_graph_selftest,_lxc_job,_pve_dumpdir_spec,_require_exact_source,_router_assignments,_router_expand,_router_matching_brace,_router_passfile_literals,_router_strip_outer_quotes,_stream_argv_to_local,allocator,atomic_write,backup_target,bootstrap_vps_keys,canonical_json,capture_node_bundle,capture_pve_guest,capture_router,capture_target,capture_vps_md,capture_vps_spb,capture_vps_us,capture_xenforo,choose_due_target,cleanup_source,cluster_inventory,control_verify,default_targets,discover,ensure_dir,ensure_router_known_hosts,ensure_vps_known_hosts,epoch,generation_id,green_run,load_state_all,load_targets,locate_exact_sha,main,make_manifest,make_tar_zst_bytes,mapped_scratch_probe,node_bundle_paths,operator_key_fingerprint,parse_router_legacy,part_plan,pipe_to_zstd,proven_lxc_dump_argv,qga_exec,rclone_about,rclone_base_args,rclone_cat_bytes,rclone_cat_hash,rclone_rcat,reconstruct_replica,remote_exists_any,remote_generation_path,remote_hashset,router_read,run,scan_hostkey_line,scheduled_run,select_replicas,selftest,sha256_bytes,sha256_file,ssh_remote,upload_and_seal,utcnow,validate_payload,validate_tar_zst,vps_run,vps_ssh_argv,write_state,xf_guest_builder
SRC|BACKUP|168|41:BOOTSTRAP_TRANSITIVE_STRINGS=HOSTKEY_PIN_MISMATCH,IdentityAgent=none,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,UserKnownHostsFile=,host,hostkey_fingerprint,logical_id,port,ssh-ed25519,ssh-keygen,user,vps_us
SRC|BACKUP|168|43:GREEN_TRANSITIVE_STRINGS=<PATH> export PATH_ exec ,PYTHONNOUSERSITE,RCLONE_ABOUT_JSON,RCLONE_CAT_FAILED,RCLONE_CAT_SIZE_MISMATCH,RCLONE_CAT_TIMEOUT,RCLONE_FREE_UNKNOWN,RCLONE_RCAT_FAILED,RCLONE_SMALL_OBJECT_TOO_LARGE,ROUTER_KNOWN_HOSTS_IDENTITY,ROUTER_LEGACY_SCRIPT_IDENTITY,SSH_AUTH_SOCK,StrictHostKeyChecking=yes,TARGET_MANIFEST_DUPLICATE,TARGET_MANIFEST_SCHEMA,UserKnownHostsFile=,_REPLICAS=,__s_(_:export_s+)_([A-Za-z_][A-Za-z0-9_]_)=(._)_,_bsshpass_b[__n]__(_:___s)-f_s+(__[___]_____[__]___[__s_]+),_if not root.startswith(_<PATH> or not db.startswith(_xf__): raise SystemExit(20)_tmp=pathlib.Path(_<PATH> tmp.mkdir(mode=0o700,exist_ok=False)_dump=tmp<PATH> out=pathlib.Path(_<PATH>  if strategy==_global_read_lock_:_    lock=subprocess.Popen([_mariadb_,_--user=root_,_--batch_,_--skip-column-names_,_--unbuffered_],stdin=subprocess.PIPE,stdout=subprocess.PIPE,stderr=subprocess.DEVNULL,text=True,bufsize=1)_    lock.stdin.write(_FLUSH TABLES WITH READ LOCK_ SELECT _LOCKED___n_)_ lock.stdin.flush()_    rr,_,_=select.select([lock.stdout],[],[],5)_    if not rr or lock.stdout.readline().strip()_=_LOCKED_: raise RuntimeError(_LOCK_ACQUIRE_)_    dump_timeout=15_  else: dump_timeout=180_  with open(dump,_wb_) as f:_    argv=[_mariadb-dump_,_--user=root_,_--quick_,_--skip-lock-tables_,_--hex-blob_,_--routines_,_,etc<PATH> base64,sys_ p=sys.argv[1]_ o=int(sys.argv[2])_ n=int(sys.argv[3])_ f=open(p,_rb_)_ f.seek(o)_ b=f.read(n)_ f.close()_ sys.stdout.write(base64.b64encode(b).decode()),import hashlib,json,os,pathlib,select,shutil,subprocess,tempfile,time_root=,logical_id,lxc-usernsexec,manifest_sha256,port,replicas,reported_maxdisk_bytes,reported_maxmem_bytes,root<PATH>
SRC|BACKUP|168|45:GREEN_TRANSITIVE_KEYS=SSH_AUTH_SOCK,allocator_healthy,app_root,archive_cap_bytes,bytes,crypt,db_bytes,db_name,dump_strategy,exit-code,exitcode,exited,free,generation,green1,guest_type,healthy,host,hostkey_fingerprint,kind,last_success_epoch,logical_id,maxdisk,maxmem,name,node,offset,out-data,parts,path,payload_bytes,payload_sha256,physical,port,replicas,schema,scope,sha256,slug,status,targets,template,type,user,vmid
SRC|BACKUP|168|46:BOOTSTRAP_TRANSITIVE_KEYS=SSH_AUTH_SOCK,host,hostkey_fingerprint,logical_id,port,type,user
SRC|BACKUP|168|47:SEMANTIC_PATH_LITERALS=<PATH>
SRC|BACKUP|168|50:US_NETBIRD_COMPARISONS=_t[_logical_id_] for t in default_targets() if t.get(_green1_)_ == __ct112_, _node-pve01_, _md-relay_, _spb-ingress_, _us-netbird_, _router-netcraze_, _xf-codevipe_, _xf-zakrutim_, _control-bootstrap-v2__
SRC|BACKUP|168|58:RUNNER_REALPATH=<PATH>
SRC|BACKUP|168|60:BACKUPV2_SERVICE_EXECSTART=<PATH> scheduled
REC|BACKUP_SOURCE|IDX=169|BASENAME=SUPPORT-261007-FINAL-RESIDUAL-STATE-RCA-99786R1-20261007T124255Z.log|PATH_SHA256=45dd768f2903ff6738a1a78be8e480092b45aae9f448e3c3a451ec0dadfccc31|SHA256=d2a8285e27f5d3f86e9d9afc8dfa7689181e551d2e1babb86bc068a2253f391f|SIZE=16362|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|169|14:REC|BACKUP_V2_JOURNAL|IDX=1|2026-10-07T00:38:03+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|15:REC|BACKUP_V2_JOURNAL|IDX=2|2026-10-07T01:17:24+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|16:REC|BACKUP_V2_JOURNAL|IDX=3|2026-10-07T01:17:25+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|17:REC|BACKUP_V2_JOURNAL|IDX=4|2026-10-07T01:50:56+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|18:REC|BACKUP_V2_JOURNAL|IDX=5|2026-10-07T01:50:56+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|19:REC|BACKUP_V2_JOURNAL|IDX=6|2026-10-07T02:29:08+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|20:REC|BACKUP_V2_JOURNAL|IDX=7|2026-10-07T02:29:14+03:00 pve01 homelab-backup-v2[2621941]: SCHEDULE_TARGET=guest-pve01-lxc-112
SRC|BACKUP|169|21:REC|BACKUP_V2_JOURNAL|IDX=8|2026-10-07T02:29:14+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=2<PATH>
SRC|BACKUP|169|22:REC|BACKUP_V2_JOURNAL|IDX=9|2026-10-07T02:29:14+03:00 pve01 systemd[1]: homelab-backup-v2.service: Failed with result 'exit-code'.
SRC|BACKUP|169|23:REC|BACKUP_V2_JOURNAL|IDX=10|2026-10-07T02:29:14+03:00 pve01 systemd[1]: Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|24:REC|BACKUP_V2_JOURNAL|IDX=11|2026-10-07T03:01:41+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|25:REC|BACKUP_V2_JOURNAL|IDX=12|2026-10-07T03:02:05+03:00 pve01 homelab-backup-v2[2727450]: SCHEDULE_TARGET=router-netcraze
SRC|BACKUP|169|26:REC|BACKUP_V2_JOURNAL|IDX=13|2026-10-07T03:02:05+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|27:REC|BACKUP_V2_JOURNAL|IDX=14|2026-10-07T03:40:43+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|28:REC|BACKUP_V2_JOURNAL|IDX=15|2026-10-07T03:40:43+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|29:REC|BACKUP_V2_JOURNAL|IDX=16|2026-10-07T04:11:59+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|30:REC|BACKUP_V2_JOURNAL|IDX=17|2026-10-07T04:11:59+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|31:REC|BACKUP_V2_JOURNAL|IDX=18|2026-10-07T04:49:56+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|32:REC|BACKUP_V2_JOURNAL|IDX=19|2026-10-07T04:49:57+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|33:REC|BACKUP_V2_JOURNAL|IDX=20|2026-10-07T05:29:43+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|34:REC|BACKUP_V2_JOURNAL|IDX=21|2026-10-07T05:29:43+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|35:REC|BACKUP_V2_JOURNAL|IDX=22|2026-10-07T06:08:03+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|36:REC|BACKUP_V2_JOURNAL|IDX=23|2026-10-07T06:13:04+03:00 pve01 homelab-backup-v2[3347698]: SCHEDULE_TARGET=vm130
SRC|BACKUP|169|37:REC|BACKUP_V2_JOURNAL|IDX=24|2026-10-07T06:29:58+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|38:REC|BACKUP_V2_JOURNAL|IDX=25|2026-10-07T06:45:27+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|39:REC|BACKUP_V2_JOURNAL|IDX=26|2026-10-07T06:45:43+03:00 pve01 vzdump[3462216]: INFO: starting new backup job: vzdump 110 --zstd 1 --prune-backups 'keep-all=1' --node pve01 --lockwait 0 --tmpdir <PATH> --ionice 7 --stdexcludes 0 --remove 0 --mode snapshot --compress zstd --bwlimit 32768
SRC|BACKUP|169|42:REC|BACKUP_V2_JOURNAL|IDX=29|2026-10-07T06:48:03+03:00 pve01 homelab-backup-v2[3462015]: SCHEDULE_TARGET=ct110
SRC|BACKUP|169|43:REC|BACKUP_V2_JOURNAL|IDX=30|2026-10-07T06:49:09+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|44:REC|BACKUP_V2_JOURNAL|IDX=31|2026-10-07T07:20:07+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|45:REC|BACKUP_V2_JOURNAL|IDX=32|2026-10-07T07:21:55+03:00 pve01 homelab-backup-v2[3569687]: SCHEDULE_TARGET=ct111
SRC|BACKUP|169|46:REC|BACKUP_V2_JOURNAL|IDX=33|2026-10-07T07:22:45+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|47:REC|BACKUP_V2_JOURNAL|IDX=34|2026-10-07T07:51:08+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|48:REC|BACKUP_V2_JOURNAL|IDX=35|2026-10-07T07:51:24+03:00 pve01 vzdump[3670183]: INFO: starting new backup job: vzdump 112 --bwlimit 32768 --node pve01 --prune-backups 'keep-all=1' --zstd 1 --lockwait 0 --compress zstd --tmpdir <PATH> --remove 0 --ionice 7 --stdexcludes 0 --mode snapshot
SRC|BACKUP|169|51:REC|BACKUP_V2_JOURNAL|IDX=38|2026-10-07T07:51:48+03:00 pve01 homelab-backup-v2[3670022]: SCHEDULE_TARGET=ct112
SRC|BACKUP|169|52:REC|BACKUP_V2_JOURNAL|IDX=39|2026-10-07T07:52:19+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|53:REC|BACKUP_V2_JOURNAL|IDX=40|2026-10-07T08:21:39+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|54:REC|BACKUP_V2_JOURNAL|IDX=41|2026-10-07T08:21:39+03:00 pve01 systemd[1]: Finished homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.
SRC|BACKUP|169|55:REC|BACKUP_V2_JOURNAL|IDX=42|2026-10-07T08:56:46+03:00 pve01 systemd[1]: Starting homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler...
SRC|BACKUP|169|56:REC|BACKUP_V2_JOURNAL|IDX=43|2026-10-07T08:56:52+03:00 pve01 homelab-backup-v2[3873771]: SCHEDULE_TARGET=guest-pve01-lxc-112
SRC|BACKUP|169|57:REC|BACKUP_V2_JOURNAL|IDX=44|2026-10-07T08:56:52+03:00 pve01 systemd[1]: homelab-backup-v2.service: Main process exited, code=exited, status=2<PATH>
REC|BACKUP_SOURCE|IDX=170|BASENAME=NEWFI-260920-NEWFDOM-MESSENGERS214-BASE213-20260920T023057Z.log|PATH_SHA256=6e17ffd0eb7a7957b507421ff5a7ed4b1d37c9d879635d32d5c89b1ec2483d47|SHA256=417d54bc3ee03b085ea2894f80cd2f3c4e8df0652fe89b0f35fa9f5df73e61c3|SIZE=78745|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|170|20:ACCEPTED_RELEASE=<PATH>
SRC|BACKUP|170|21:BASE_RELEASE=<PATH>
SRC|BACKUP|170|23:FILE_1_PATH=<PATH>
SRC|BACKUP|170|27:FILE_1_L1={"command_id":"SUPPORT-260916-INFRA-DR-BACKUPV2-FINAL-REPLACEMENT-PLAN-STABILITY-SCHEMA-RCA-FIX-VALIDATE-PROMOTE-CUTOVER-SEAL-486R1","ct112_manifest_sha256":"1ac4f16a54bcdd8b896c9a131abef966d315256aa56da3f83ed0b30845c4fcb0","ct112_payload_bytes":223875308,"ct112_payload_sha256":"d443b85e76e806830fd9c372d0a09fc5b91ca9c9d35c44fb0ad7968cc996d01d","legacy_ids":["node-pve01","md-relay","spb-ingress","us-netbird","router-netcraze","xf-codevipe","xf-zakrutim","control-bootstrap-v2"],"representative_pass":9,"schema":1}
SRC|BACKUP|170|28:FILE_2_PATH=<PATH>
SRC|BACKUP|170|33:FILE_3_PATH=<PATH>
SRC|BACKUP|170|45:FILE_3_L9=CT_ID='guest-pve01-lxc-112'
SRC|BACKUP|170|77:FILE_3_L119=    def __init__(self,work,entries,binding,guard,deadline,logical_id):
SRC|BACKUP|170|78:FILE_3_L120=        self.work=Path(work);self.entries=entries;self.binding=binding;self.guard=guard;self.deadline=deadline;self.logical_id=logical_id
SRC|BACKUP|170|85:FILE_3_L127=        self.inner=large.ReadOnlyLarge(str(RCLONE),self.snapshot,e,bind,self.guard,self.work,self.deadline,self.logical_id)
SRC|BACKUP|170|99:FILE_3_L143=    if not isinstance(target,dict) or target.get('logical_id')!=CT_ID or target.get('vmid')!=112:return (_ for _ in ()).throw(RuntimeError('CT112_DESCRIPTOR'))
SRC|BACKUP|170|102:FILE_3_L146=    pvesh_sha=_sha(PVESH);now=int(time.time());current=_fresh_plan(now);job=_select_live_ct112(current,now)
SRC|BACKUP|170|109:FILE_3_L157=    work=STAGING<PATH>'backup-v2-'+generation);work.mkdir(mode=0o700,parents=False,exist_ok=False)
SRC|BACKUP|170|135:FILE_4_PATH=<PATH>
SRC|BACKUP|170|144:FILE_4_L6=STATE_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|170|145:FILE_4_L7=CONFIG_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|170|147:FILE_4_L9=WORK_ROOT=pathlib.Path('<PATH>')
SRC|BACKUP|170|148:FILE_4_L10=ENGINE_PATH=pathlib.Path('<PATH>')
SRC|BACKUP|170|154:FILE_4_L31=P265=pathlib.Path('<PATH>')
SRC|BACKUP|170|158:FILE_4_L35= (pathlib.Path('<PATH>'),'e285bf9a5678d07dcbb90261f9f93e7826ff524e04cfec780bf5a3c4b0dc29f2'),
SRC|BACKUP|170|159:FILE_4_L36= (pathlib.Path('<PATH>'),'b9b92f957bf441cb5d1702f4881897328e6c0338f8c3f6d41d27d9a349b37688'),
SRC|BACKUP|170|160:FILE_4_L51= pathlib.Path('<PATH>'),
SRC|BACKUP|170|161:FILE_4_L52= pathlib.Path('<PATH>'),
SRC|BACKUP|170|162:FILE_4_L53= pathlib.Path('<PATH>'),
SRC|BACKUP|170|163:FILE_4_L54= pathlib.Path('<PATH>'),
SRC|BACKUP|170|164:FILE_4_L55= pathlib.Path('<PATH>'),
SRC|BACKUP|170|165:FILE_4_L56= pathlib.Path('<PATH>'),
SRC|BACKUP|170|211:FILE_4_L132=def remote_generation_path(scope,logical_id,generation):
SRC|BACKUP|170|213:FILE_4_L134=    for x in (scope,logical_id,generation):
SRC|BACKUP|170|215:FILE_4_L136=    return f'homelab-backups<PATH>'
SRC|BACKUP|170|217:FILE_4_L138=def make_manifest(scope,logical_id,generation,payload_bytes,payload_sha256,parts,replicas,source_meta):
SRC|BACKUP|170|221:FILE_4_L142=    return {'schema':2,'scope':scope,'logical_id':logical_id,'generation':generation,'created_at_utc':utcnow(),
SRC|BACKUP|170|238:FILE_4_L239=    ids=[x.get('logical_id') for x in j['targets']]
SRC|BACKUP|170|243:FILE_4_L257=    atomic_write(STATE_ROOT<PATH>'state'<PATH>'.json'),canonical_json(j)+b'\n',0o600)
SRC|BACKUP|170|266:FILE_4_L280=def remote_exists_any(scope,logical_id,generation):
SRC|BACKUP|170|267:FILE_4_L281=    rel=remote_generation_path(scope,logical_id,generation)
SRC|BACKUP|170|302:FILE_4_L328=def generation_id(logical_id):
SRC|BACKUP|170|304:FILE_4_L330=    return f'v2-{logical_id}-{ts}-{os.urandom(6).hex()}'
SRC|BACKUP|170|309:FILE_4_L335=    gen=source_meta['generation']; rel=remote_generation_path(t['scope'],t['logical_id'],gen)
SRC|BACKUP|170|310:FILE_4_L336=    if remote_exists_any(t['scope'],t['logical_id'],gen): raise BackupError('GENERATION_COLLISION')
REC|BACKUP_SOURCE|IDX=171|BASENAME=SUPPORT-260921-HOMELAB-BACKUP-CLOSURE-AUDIT-READONLY-1037R1-20260921T025435Z.log|PATH_SHA256=635c780b34d89d5b6e116caf318f0eab838c409dfa365e697df6d5834f819967|SHA256=12f9c3c08bd66206cce08cf9b97ad5ece4d918a0ee1661e4a7fb3735e42d6a36|SIZE=95758|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|171|4:COMPONENT=homelab-backup-closure-audit
SRC|BACKUP|171|15:UNIT_STATE={"homelab-backup-retention-gc.service":{"ActiveState":{"rc":0,"value":"inactive"},"ExecMainStatus":{"rc":0,"value":"66"},"LastTriggerUSec":{"rc":0,"value":""},"LoadState":{"rc":0,"value":"loaded"},"NextElapseUSecRealtime":{"rc":0,"value":""},"Result":{"rc":0,"value":"success"},"SubState":{"rc":0,"value":"dead"},"UnitFileState":{"rc":0,"value":"static"}},"homelab-backup-retention-gc.timer":{"ActiveState":{"rc":0,"value":"inactive"},"ExecMainStatus":{"rc":0,"value":""},"LastTriggerUSec":{"rc":0,"value":""},"LoadState":{"rc":0,"value":"loaded"},"NextElapseUSecRealtime":{"rc":0,"value":""},"Result":{"rc":0,"value":"success"},"SubState":{"rc":0,"value":"dead"},"UnitFileState":{"rc":0,"value":"disabled"}},"homelab-backup-v2.service":{"ActiveState":{"rc":0,"value":"inactive"},"ExecMainStatus":{"rc":0,"value":"0"},"LastTriggerUSec":{"rc":0,"value":""},"LoadState":{"rc":0,"value":"loaded"},"NextElapseUSecRealtime":{"rc":0,"value":""},"Result":{"rc":0,"value":"success"},"SubState":{"rc":0,"value":"dead"},"UnitFileState":{"rc":0,"value":"static"}},"homelab-backup-v2.timer":{"ActiveState":{"rc":0,"value":"active"},"ExecMainStatus":{"rc":0,"value":""},"LastTriggerUSec":{"rc":0,"value":"Mon 2026-09-21 05:35:16 MSK"},"LoadState":{"rc":0,"value":"loaded"},"NextElapseUSecRealtime":{"rc":0,"value":""},"Result":{"rc":0,"value":"success"},"SubState":{"rc":0,"value":"waiting"},"UnitFileState":{"rc":0,"value":"enabled"}}}
SRC|BACKUP|171|16:REGISTRY_LOGICALS=[{"id":"filebrowser","kind":"APP","lifecycle":"ACTIVE","logical_id":"app-filebrowser"},{"id":"hbarhub","kind":"APP","lifecycle":"ACTIVE","logical_id":"app-hbarhub"},{"id":"immich","kind":"APP","lifecycle":"ACTIVE","logical_id":"app-immich"},{"id":"memos","kind":"APP","lifecycle":"RETIRED_PRESERVE","logical_id":"app-memos"},{"id":"scrutiny","kind":"APP","lifecycle":"RETIRED_PRESERVE","logical_id":"app-scrutiny"},{"id":"skladchik-moderator-assistant","kind":"APP","lifecycle":"RETIRED_PRESERVE","logical_id":"app-skladchik-moderator-assistant"},{"id":"skladchik-reports-monitor","kind":"APP","lifecycle":"ACTIVE","logical_id":"app-skladchik-reports-monitor"},{"id":"control-bootstrap-v2","kind":"CONTROL","lifecycle":"ACTIVE","logical_id":"control-bootstrap-v2"},{"id":"110","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm110"},{"id":"111","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm111"},{"id":"112","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm112"},{"id":"113","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm113"},{"id":"130","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm130"},{"id":"150","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm150"},{"id":"160","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm160"},{"id":"170","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm170"},{"id":"171","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm171"},{"id":"180","kind":"VM","lifecycle":"RETIRED_PRESERVE","logical_id":"vm180"},{"id":"190","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm190"},{"id":"200","kind":"VM","lifecycle":"RETIRED_PRESERVE","logical_id":"vm200"},{"id":"9130","kind":"VM","lifecycle":"ACTIVE","logical_id":"vm9130"}]
SRC|BACKUP|171|20:V2_STATES=[{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"control-bootstrap-v2.json","generation":"control-bootstrap-v2-pve01-20260916T120057Z","green_verified":null,"json_valid":true,"last_attempt_epoch":1789930298,"last_success_epoch":1789930298,"logical_id":"control-bootstrap-v2","quorum":null,"replica_count":null,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":28977},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"ct110.json","generation":"v2-ct110-20260920T181158Z-25703b1ef77f","green_verified":false,"json_valid":true,"last_attempt_epoch":1789928120,"last_success_epoch":1789928120,"logical_id":"ct110","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":31155},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"ct111.json","generation":"v2-ct111-20260920T200749Z-a2bac7e3ecb7","green_verified":false,"json_valid":true,"last_attempt_epoch":1789935021,"last_success_epoch":1789935021,"logical_id":"ct111","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":24254},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"ct112.json","generation":"v2-ct112-20260920T214958Z-30e3291e1543","green_verified":false,"json_valid":true,"last_attempt_epoch":1789941076,"last_success_epoch":1789941076,"logical_id":"ct112","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":18199},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"ct113.json","generation":"v2-ct113-20260920T222532Z-4f4a608def82","green_verified":false,"json_valid":true,"last_attempt_epoch":1789943241,"last_success_epoch":1789943241,"logical_id":"ct113","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":16034},{"consecutive_failures":5,"failure_backoff_seconds":21600,"file":"guest-pve01-lxc-112.json","generation":null,"green_verified":null,"json_valid":true,"last_attempt_epoch":1789938729,"last_success_epoch":1789799511,"logical_id":"guest-pve01-lxc-112","quorum":null,"replica_count":null,"result":"FAIL","retry_count":null,"status":null,"success_age_sec":159764},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"md-relay.json","generation":"v2-md-relay-20260920T140452Z-1943a8c57bd6","green_verified":false,"json_valid":true,"last_attempt_epoch":1789913115,"last_success_epoch":1789913115,"logical_id":"md-relay","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":46160},{"consecutive_failures":null,"failure_backoff_seconds":null,"file":"node-pve01.json","generation":"v2-node-pve01-20260915T040859Z-9187f2b9a0b4","green_verified":true,"json_valid":true,"last_attempt_epoch":null,"last_success_epoch":1789445359,"logical_id":"node-pve01","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":513916},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"node-pve02.json","generation":"v2-node-pve02-20260918T011512Z-59f345bf9a9b","green_verified":false,"json_valid":true,"last_attempt_epoch":1789694135,"last_success_epoch":1789694135,"logical_id":"node-pve02","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":265140},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"node-pve03.json","generation":"v2-node-pve03-20260918T015457Z-204ac5a3eb03","green_verified":false,"json_valid":true,"last_attempt_epoch":1789696518,"last_success_epoch":1789696518,"logical_id":"node-pve03","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":262757},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"router-netcraze.json","generation":"v2-router-netcraze-20260920T155444Z-a91b2efdb4fe","green_verified":false,"json_valid":true,"last_attempt_epoch":1789919711,"last_success_epoch":1789919711,"logical_id":"router-netcraze","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":39564},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"spb-ingress.json","generation":"v2-spb-ingress-20260920T151616Z-9d80091d0c4c","green_verified":false,"json_valid":true,"last_attempt_epoch":1789917397,"last_success_epoch":1789917397,"logical_id":"spb-ingress","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":41878},{"consecutive_failures":10,"failure_backoff_seconds":21600,"file":"us-netbird.json","generation":"v2-us-netbird-20260921T015632Z-dc499030a55f","green_verified":null,"json_valid":true,"last_attempt_epoch":1789955807,"last_success_epoch":1789704670,"logical_id":"us-netbird","quorum":null,"replica_count":null,"result":"FAIL","retry_count":null,"status":null,"success_age_sec":254605},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm130.json","generation":"v2-vm130-20260920T233759Z-c9518c8be2c3","green_verified":false,"json_valid":true,"last_attempt_epoch":1789948633,"last_success_epoch":1789948633,"logical_id":"vm130","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":10642},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm150.json","generation":"v2-vm150-20260920T230035Z-e0880e47ea55","green_verified":false,"json_valid":true,"last_attempt_epoch":1789945347,"last_success_epoch":1789945347,"logical_id":"vm150","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":13928},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm160.json","generation":"v2-vm160-20260921T001432Z-31df1acfee7a","green_verified":false,"json_valid":true,"last_attempt_epoch":1789950100,"last_success_epoch":1789950100,"logical_id":"vm160","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":9175},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm170.json","generation":"v2-vm170-20260921T023516Z-53ad6a6b10f9","green_verified":false,"json_valid":true,"last_attempt_epoch":1789958880,"last_success_epoch":1789958880,"logical_id":"vm170","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":395},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm171.json","generation":"v2-vm171-20260921T004759Z-537db1552014","green_verified":false,"json_valid":true,"last_attempt_epoch":1789951877,"last_success_epoch":1789951877,"logical_id":"vm171","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":7398},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm190.json","generation":"v2-vm190-20260921T012544Z-298b64987988","green_verified":false,"json_valid":true,"last_attempt_epoch":1789954139,"last_success_epoch":1789954139,"logical_id":"vm190","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":5136},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm210.json","generation":"v2-vm210-20260920T203832Z-458da35ec027","green_verified":false,"json_valid":true,"last_attempt_epoch":1789936798,"last_success_epoch":1789936798,"logical_id":"vm210","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":22477},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm211.json","generation":"v2-vm211-20260919T203132Z-82878bb22008","green_verified":false,"json_valid":true,"last_attempt_epoch":1789849984,"last_success_epoch":1789849984,"logical_id":"vm211","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":109291},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm9130.json","generation":"v2-vm9130-20260919T210758Z-0aa987efac8c","green_verified":false,"json_valid":true,"last_attempt_epoch":1789853557,"last_success_epoch":1789853557,"logical_id":"vm9130","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":105718},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-codevipe.json","generation":"v2-xf-codevipe-20260920T162616Z-da4e8fcf3129","green_verified":false,"json_valid":true,"last_attempt_epoch":1789922324,"last_success_epoch":1789922324,"logical_id":"xf-codevipe","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":36951},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-dsmods.json","generation":"v2-xf-dsmods-20260919T214716Z-c783be0bd209","green_verified":false,"json_valid":true,"last_attempt_epoch":1789860411,"last_success_epoch":1789860411,"logical_id":"xf-dsmods","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":98864},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-gamevipe.json","generation":"v2-xf-gamevipe-20260920T015714Z-762dbd7ce0d7","green_verified":false,"json_valid":true,"last_attempt_epoch":1789882268,"last_success_epoch":1789882268,"logical_id":"xf-gamevipe","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":77007},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-hkmods.json","generation":"v2-xf-hkmods-20260920T071214Z-6407219f0624","green_verified":false,"json_valid":true,"last_attempt_epoch":1789906789,"last_success_epoch":1789906789,"logical_id":"xf-hkmods","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":52486},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-kingofwolk.json","generation":"v2-xf-kingofwolk-20260919T232652Z-cb0189b2b0ba","green_verified":false,"json_valid":true,"last_attempt_epoch":1789861037,"last_success_epoch":1789861037,"logical_id":"xf-kingofwolk","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":98238},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-newfi.json","generation":"v2-xf-newfi-20260920T004616Z-6be6559a5589","green_verified":false,"json_valid":true,"last_attempt_epoch":1789865619,"last_success_epoch":1789865619,"logical_id":"xf-newfi","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":93656},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"xf-zakrutim.json","generation":"v2-xf-zakrutim-20260920T173658Z-a8de3568c79b","green_verified":false,"json_valid":true,"last_attempt_epoch":1789926652,"last_success_epoch":1789926652,"logical_id":"xf-zakrutim","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":32623}]
SRC|BACKUP|171|22:ACTIVE_STATE_SUMMARY=[{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"control-bootstrap-v2.json","generation":"control-bootstrap-v2-pve01-20260916T120057Z","green_verified":null,"json_valid":true,"last_attempt_epoch":1789930298,"last_success_epoch":1789930298,"logical_id":"control-bootstrap-v2","quorum":null,"replica_count":null,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":28977},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm130.json","generation":"v2-vm130-20260920T233759Z-c9518c8be2c3","green_verified":false,"json_valid":true,"last_attempt_epoch":1789948633,"last_success_epoch":1789948633,"logical_id":"vm130","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":10642},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm150.json","generation":"v2-vm150-20260920T230035Z-e0880e47ea55","green_verified":false,"json_valid":true,"last_attempt_epoch":1789945347,"last_success_epoch":1789945347,"logical_id":"vm150","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":13928},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm160.json","generation":"v2-vm160-20260921T001432Z-31df1acfee7a","green_verified":false,"json_valid":true,"last_attempt_epoch":1789950100,"last_success_epoch":1789950100,"logical_id":"vm160","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":9175},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm170.json","generation":"v2-vm170-20260921T023516Z-53ad6a6b10f9","green_verified":false,"json_valid":true,"last_attempt_epoch":1789958880,"last_success_epoch":1789958880,"logical_id":"vm170","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":395},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm171.json","generation":"v2-vm171-20260921T004759Z-537db1552014","green_verified":false,"json_valid":true,"last_attempt_epoch":1789951877,"last_success_epoch":1789951877,"logical_id":"vm171","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":7398},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm190.json","generation":"v2-vm190-20260921T012544Z-298b64987988","green_verified":false,"json_valid":true,"last_attempt_epoch":1789954139,"last_success_epoch":1789954139,"logical_id":"vm190","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":5136},{"consecutive_failures":0,"failure_backoff_seconds":0,"file":"vm9130.json","generation":"v2-vm9130-20260919T210758Z-0aa987efac8c","green_verified":false,"json_valid":true,"last_attempt_epoch":1789853557,"last_success_epoch":1789853557,"logical_id":"vm9130","quorum":null,"replica_count":2,"result":"SUCCESS","retry_count":null,"status":null,"success_age_sec":105718}]
SRC|BACKUP|171|24:V2_SOURCE_HINTS=[{"file":"<PATH>","line":1089,"text":"                        \"capsule retry client IP mismatch\""},{"file":"<PATH>","line":1118,"text":"                    \"idempotent_retry\": True,"},{"file":"<PATH>","line":171,"text":"age_seconds\ufffd\u0017generated_health_output)\u0003rk\u0000\u0000\u0000\ufffd\tfreshnessr}\u0000\u0000\u0000r&\u0000\u0000\u0000\ufffd\u0006shadowz\u0007STATUS=z\u0003TS=z\u0007JOB_ID=z\tJOB_NAME=z"},{"file":"<PATH>","line":176,"text":"FRESHNESS=z\u0004.txtr1\u0000\u0000\u0000\ufffd\u0015compatibility_outputs\ufffd"},{"file":"<PATH>","line":107,"text":"Nr\u0003\u0000\u0000\u0000\ufffd\u0011freshness_secondsi\u0010\u000e\u0000\u0000)\u0001\ufffd\u0007seconds)\u0003\ufffd\u0006source\ufffd"},{"file":"<PATH>","line":23,"text":"kb<PATH>"},{"file":"<PATH>","line":5,"text":"PROBE=<PATH>"},{"file":"<PATH>","line":14,"text":"FRESHNESS_SECONDS=\"$(\"$REGISTRY_HELPER\" freshness-seconds APP)\""},{"file":"<PATH>","line":16,"text":"(( DUE_SECONDS > 0 && DUE_SECONDS < FRESHNESS_SECONDS )) || { printf 'APP_QUORUM_QUEUE_ERROR=DUE_THRESHOLD_INVALID\\n' >&2; exit 65; }"},{"file":"<PATH>","line":31,"text":"freshness_decision(){"},{"file":"<PATH>","line":39,"text":"      printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_RESUME GENERATION=%s\\n' \"$app\" \"$generation\""},{"file":"<PATH>","line":45,"text":"        printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_EPOCH_INVALID\\n' \"$app\""},{"file":"<PATH>","line":50,"text":"        printf 'QUEUE_FRESHNESS APP=%s DECISION=SKIP_FRESH GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$app\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":51,"text":"      elif (( age >= DUE_SECONDS && age < FRESHNESS_SECONDS )); then"},{"file":"<PATH>","line":52,"text":"        printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_DUE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$app\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":53,"text":"      elif (( age >= FRESHNESS_SECONDS )); then"},{"file":"<PATH>","line":54,"text":"        printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_STALE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$app\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":56,"text":"        printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_TIMESTAMP_IN_FUTURE GENERATION=%s AGE_SECONDS=%s\\n' \"$app\" \"$generation\" \"$age\""},{"file":"<PATH>","line":60,"text":"      printf 'QUEUE_FRESHNESS APP=%s DECISION=BACKUP_UNVERIFIED\\n' \"$app\""},{"file":"<PATH>","line":63,"text":"      die \"FRESHNESS_DECISION_INVALID_${app}_${decision:-EMPTY}\" 65"},{"file":"<PATH>","line":67,"text":"freshness_plan(){"},{"file":"<PATH>","line":69,"text":"  [[ -x \"$PROBE\" && ! -L \"$PROBE\" ]] || die FRESHNESS_PROBE_NOT_INSTALLED 69"},{"file":"<PATH>","line":72,"text":"    out=\"$(freshness_decision \"$a\" \"$now_epoch\")\""},{"file":"<PATH>","line":74,"text":"    decision=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$out\" | tail -1)\""},{"file":"<PATH>","line":75,"text":"    [[ -n \"$decision\" ]] || die \"FRESHNESS_PLAN_DECISION_MISSING_$a\" 65"},{"file":"<PATH>","line":76,"text":"    printf 'QUEUE_FRESHNESS_PLAN APP=%s DECISION=%s\\n' \"$a\" \"$decision\""},{"file":"<PATH>","line":90,"text":"  freshness_plan"},{"file":"<PATH>","line":93,"text":"  local a=\"$1\" freshness decision now_epoch out generation"},{"file":"<PATH>","line":107,"text":"  freshness=\"$(exec 8>&-; exec 9>&-; freshness_decision \"$a\" \"$now_epoch\")\""},{"file":"<PATH>","line":108,"text":"  printf '%s\\n' \"$freshness\""},{"file":"<PATH>","line":109,"text":"  decision=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$freshness\" | tail -1)\""},{"file":"<PATH>","line":112,"text":"      generation=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$freshness\" | tail -1)\""},{"file":"<PATH>","line":117,"text":"    *) die \"FRESHNESS_RECHECK_INVALID_${a}_${decision:-EMPTY}\" 65 ;;"},{"file":"<PATH>","line":150,"text":"  freshness-plan) [[ \"$#\" == 1 ]] || die USAGE_FRESHNESS_PLAN 64; freshness_plan ;;"},{"file":"<PATH>","line":12,"text":"VM_PROBE=<PATH>"},{"file":"<PATH>","line":14,"text":"APP_PROBE=<PATH>"},{"file":"<PATH>","line":105,"text":"  value=\"$(awk -F= '$1==\"FRESHNESS_SECONDS\"{print $2; exit}' \"$file\")\""},{"file":"<PATH>","line":140,"text":"  printf 'CONTRACT|task=%s|target_registry=CANONICAL|vm_count=%s|app_count=%s|control_sla_seconds=%s|retention=ACTIVE_OWNER_AWARE|provider_worm=NOT_PROVEN_SKIPPED|dr_proof_source=EXACT_SITE_DR_FINAL_SEAL|legacy_site_dr_seal=AUTHORITATIVE|control_freshness=RECURRING_PRODUCER_12H_DUE_24H_SLA|full_site_dr=PROVEN_BY_SEAL\\n' \"$TASK_ID\" \"${#VMIDS[@]}\" \"${#APPS[@]}\" \"$CONTROL_SLA_SECONDS\""},{"file":"<PATH>","line":153,"text":"  all|write-health|scheduled) ;;"},{"file":"<PATH>","line":154,"text":"  *) die \"USAGE_all_write-health_scheduled_contract\" 64 ;;"},{"file":"<PATH>","line":166,"text":"vm_sla=\"$(\"$REGISTRY_HELPER\" freshness-seconds VM)\" || die VM_SLA_UNREADABLE"},{"file":"<PATH>","line":167,"text":"app_sla=\"$(\"$REGISTRY_HELPER\" freshness-seconds APP)\" || die APP_SLA_UNREADABLE"},{"file":"<PATH>","line":220,"text":"    freshness_status=\"$(field FRESHNESS_STATUS <<<\"$out\")\""},{"file":"<PATH>","line":223,"text":"    if [[ \"$freshness_status\" != OK ]]; then"},{"file":"<PATH>","line":260,"text":"    freshness_status=\"$(field FRESHNESS_STATUS <<<\"$out\")\""},{"file":"<PATH>","line":263,"text":"    if [[ \"$freshness_status\" != OK ]]; then"},{"file":"<PATH>","line":345,"text":"printf 'CONTROL|state=%s|CONTROL_FRESHNESS=%s|generation=%s|age_seconds=%s|sla_seconds=%s|archive_size_bytes=%s|restore_evidence_checked=%s|source_coverage=RESTORE_EVIDENCE|retention=ACTIVE_OWNER_AWARE\\n' \"$control_status\" \"$control_status\" \"$control_generation\" \"$control_age\" \"$CONTROL_SLA_SECONDS\" \"$control_archive_size\" \"$control_checked\""},{"file":"<PATH>","line":391,"text":"if [[ \"$mode\" == write-health || \"$mode\" == scheduled ]]; then"},{"file":"<PATH>","line":402,"text":"scheduler_ok=0"},{"file":"<PATH>","line":412,"text":"      if [[ \"$load_state\" == loaded && \"$unit_file_state\" == enabled && \"$active_state\" == active && \"$result\" != failed && \"$service_result\" != failed ]]; then status=OK; scheduler_ok=$((scheduler_ok+1)); else status=BAD; infra_bad=$((infra_bad+1)); fi"},{"file":"<PATH>","line":415,"text":"      if [[ \"$load_state\" == not-found && \"$active_state\" == inactive ]]; then status=EXPECTED_ABSENT; scheduler_ok=$((scheduler_ok+1)); else status=BAD; infra_bad=$((infra_bad+1)); fi"},{"file":"<PATH>","line":527,"text":"(( stale > 0 )) && add_risk HIGH RPO_BREACH"},{"file":"<PATH>","line":536,"text":"printf 'SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=%s|RISK_SEVERITY=%s|RISK_REASONS=%s|DR_PROOF_STATUS=%s|CONTROL_FRESHNESS=%s|LIFECYCLE_STATUS=%s|VM_COUNT=%s|APP_COUNT=%s|FRESH=%s|STALE=%s|RESUME=%s|UNVERIFIED=%s|CONTROL_STATE=%s|CLOUD_OK=%s|SCHEDULER_OK=%s|SOURCE_OK=%s|SOURCE_DRIFT=%s|STAGING_BAD=%s|STAGING_WARN=%s|PAYLOAD_LEAKS=%s|RETENTION_STATUS=%s|OBSERVABILITY=%s|SIZE_ANOMALIES=%s|CAPACITY=%s|GLOBAL_DR_PROVEN=%s\\n' \"$backup_status\" \"$risk_severity\" \"$risk_reasons\" \"$dr_proof_status\" \"$control_status\" \"$lifecycle_status\" \"$vm_seen\" \"$app_seen\" \"$fresh\" \"$stale\" \"$resume\" \"$unverified\" \"$control_status\" \"$cloud_ok\" \"$scheduler_ok\" \"$source_ok\" \"$source_drift\" \"$staging_bad\" \"$staging_warn\" \"$payload_leaks\" \"$retention_status\" \"$observability_status\" \"$size_anomaly_count\" \"$capacity_status\" \"$global_dr_proven\""},{"file":"<PATH>","line":538,"text":"if [[ \"$mode\" == write-health || \"$mode\" == scheduled ]]; then"},{"file":"<PATH>","line":541,"text":"  jq -n --arg task \"$TASK_ID\" --arg change \"$CHANGE_ID\" --arg at \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" --arg backup \"$backup_status\" --arg risk \"$risk_severity\" --arg reasons \"$risk_reasons\" --arg control \"$control_status\" --arg dr \"$dr_proof_status\" --arg lifecycle \"$lifecycle_status\" --arg escrow \"$escrow_status\" --arg staging \"$staging_status\" --arg retention \"$retention_status\" --arg observability \"$observability_status\" --arg capacity \"$capacity_status\" --argjson historical \"$historical_gc_proven\" --argjson owner_gc \"$owner_aware_gc_proven\" --argjson staging_bad \"$staging_bad\" --argjson staging_warn \"$staging_warn\" --argjson vm_count \"$vm_seen\" --argjson app_count \"$app_seen\" --argjson fresh \"$fresh\" --argjson stale \"$stale\" --argjson resume \"$resume\" --argjson unverified \"$unverified\" --argjson cloud_ok \"$cloud_ok\" --argjson scheduler_ok \"$scheduler_ok\" --argjson source_ok \"$source_ok\" --argjson source_drift \"$source_drift\" --argjson payload_leaks \"$payload_leaks\" --argjson size_anoma"},{"file":"<PATH>","line":15,"text":"    if [[ \"$kind\" == VM ]]; then [[ \"$line\" == QUEUE_FRESHNESS\\ VMID=* ]] || continue; else [[ \"$line\" == QUEUE_FRESHNESS\\ APP=* ]] || continue; fi"},{"file":"<PATH>","line":3,"text":"OUT=\"${HL_OUTPUT_DIR:-<PATH>""},{"file":"<PATH>","line":38,"text":"  echo \"# HELP homelab_backup_freshness_artifact_candidates_total Backup artifact candidates found by safe local collector.\""},{"file":"<PATH>","line":39,"text":"  echo \"# TYPE homelab_backup_freshness_artifact_candidates_total gauge\""},{"file":"<PATH>","line":40,"text":"  echo \"homelab_backup_freshness_artifact_candidates_total $TOTAL\""},{"file":"<PATH>","line":41,"text":"  echo \"# HELP homelab_backup_freshness_newest_artifact_age_seconds Age of newest backup-like artifact candidate in seconds, -1 if none.\""},{"file":"<PATH>","line":42,"text":"  echo \"# TYPE homelab_backup_freshness_newest_artifact_age_seconds gauge\""},{"file":"<PATH>","line":43,"text":"  echo \"homelab_backup_freshness_newest_artifact_age_seconds $AGE\""},{"file":"<PATH>","line":44,"text":"  echo \"# HELP homelab_backup_freshness_run_success Last backup freshness collector run status.\""},{"file":"<PATH>","line":45,"text":"  echo \"# TYPE homelab_backup_freshness_run_success gauge\""},{"file":"<PATH>","line":46,"text":"  echo \"homelab_backup_freshness_run_success 1\""},{"file":"<PATH>","line":47,"text":"} > \"$TEXTFILE<PATH>""},{"file":"<PATH>","line":48,"text":"chmod 0644 \"$TEXTFILE<PATH>""},{"file":"<PATH>","line":112,"text":"    freshness=\"UNKNOWN\" if age<0 else (\"FRESH\" if age<=max_age else \"STALE\")"},{"file":"<PATH>","line":114,"text":"    result={\"id\":jid,\"name\":name,\"category\":job.get(\"category\",\"unknown\"),\"critical\":critical,\"timer\":timer,\"service\":service,\"timer_enabled\":enabled,\"timer_active\":active,\"status\":final,\"source_kind\":source_kind,\"evidence_level\":evidence_level,\"service_result\":service_result,\"service_exec_main_status\":service_exec_main_status,\"source_health\":source,\"source_status\":source_status,\"source_mtime\":source_mtime,\"age_seconds\":age,\"max_age_seconds\":max_age,\"freshness\":freshness,\"generated_health_output\":job.get(\"generated_health_output\",\"\")}"},{"file":"<PATH>","line":116,"text":"    mode_value=matrix.get(\"mode\",\"shadow\"); lines=[f\"STATUS={final}\",f\"TS={now_iso}\",\"TYPE=backup-matrix-generated\",f\"JOB_ID={jid}\",f\"JOB_NAME={name}\",f\"MATRIX_MODE={mode_value}\",f\"TIMER={timer}\",f\"SERVICE={service}\",f\"TIMER_ENABLED={enabled}\",f\"TIMER_ACTIVE={active}\",f\"SOURCE_KIND={source_kind}\",f\"EVIDENCE_LEVEL={evidence_level}\",f\"SERVICE_RESULT={service_result}\",f\"SERVICE_EXEC_MAIN_STATUS={service_exec_main_status}\",f\"SOURCE_HEALTH={source}\",f\"SOURCE_STATUS={source_status}\",f\"SOURCE_MTIME_UTC={source_mtime}\",f\"AGE_SECONDS={age}\",f\"MAX_AGE_SECONDS={max_age}\",f\"FRESHNESS={freshness}\"]"},{"file":"<PATH>","line":70,"text":"  SELECT id || char(124) || name || char(124) || type || char(124) || url || char(124) || keyword || char(124) || interval || char(124) || maxretries || char(124) || retry_interval || char(124) || active"},{"file":"<PATH>","line":19,"text":"VM_PROBE=<PATH>"},{"file":"<PATH>","line":20,"text":"APP_PROBE=<PATH>"},{"file":"<PATH>","line":433,"text":"scheduled(){"},{"file":"<PATH>","line":434,"text":"  exec 5>\"$LOCK\"; flock -n 5 || { printf 'GC_SCHEDULED=SKIP|reason=GC_LOCK_BUSY\\n'; return 0; }"},{"file":"<PATH>","line":443,"text":"  if (( count == 0 && open_tx == 0 )); then write_health \"$p1\" true 0; cat \"$p1\"; printf 'GC_SCHEDULED=OK|deleted=0|transactions_resumed=0\\n'; return 0; fi"},{"file":"<PATH>","line":444,"text":"  if ! acquire_gc_locks; then write_health \"$p1\" true 0; printf 'GC_SCHEDULED=SKIP|reason=BACKUP_LOCK_BUSY|candidates=%s|open_transactions=%s\\n' \"$count\" \"$open_tx\"; return 0; fi"},{"file":"<PATH>","line":449,"text":"  if (( count == 0 )); then write_health \"$p2\" true 0; cat \"$p2\"; printf 'GC_SCHEDULED=OK|deleted=0|transactions_resumed=%s\\n' \"$open_tx\"; return 0; fi"},{"file":"<PATH>","line":450,"text":"  cmp -s <(grep '^DELETE|' \"$p1\" | stable_delete_set) <(grep '^DELETE|' \"$p2\" | stable_delete_set) || { write_health \"$p2\" true 0; printf 'GC_SCHEDULED=SKIP|reason=PLAN_CHANGED_AFTER_LOCK\\n'; return 0; }"},{"file":"<PATH>","line":454,"text":"  printf 'GC_SCHEDULED=OK|deleted=%s|transactions_resumed=%s\\n' \"$deleted\" \"$open_tx\""},{"file":"<PATH>","line":462,"text":"  scheduled) scheduled ;;"},{"file":"<PATH>","line":463,"text":"  *) die USAGE_contract_plan_canary_activate_scheduled 64 ;;"},{"file":"<PATH>","line":20,"text":"echo \"## App backup freshness\" >> \"$REPORT\""},{"file":"<PATH>","line":50,"text":"echo \"## Emergency backup freshness\" >> \"$REPORT\""},{"file":"<PATH>","line":5,"text":"EXPECTED={'fresh_lxc_helper.py': 'dbb3e6dbb71b10797df736431d9501a752a0f8c439163c9a0bddb7f76747f011', 'producer_exec_helper.py': 'b3b97099bcd7126670f866e81faae6a42a96d869d9989e6a67f6ea6c871c90b3', 'lxc_adapter.py': '3fa7d194010d76f7c8bc95035ae8876262e9337903e310f45f45df88c266dc8d', 'qemu_adapter.py': '1906db42bd34bbe85eb46fd9797b3572d46e0a41c29d1c29be5f9df5e448f15b', 'scheduler_adapter.py': 'a6f67159a64067773323f028126e3109e15cf17a8142cea5e6129970f1d4da96', 'entry504.py': 'ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793'}"},{"file":"<PATH>","line":1089,"text":"                        \"capsule retry client IP mismatch\""},{"file":"<PATH>","line":1118,"text":"                    \"idempotent_retry\": True,"},{"file":"<PATH>","line":105,"text":"  tmp=\"${HEALTH}.new.$$\"; jq -n --arg gen \"$gen\" --arg state \"$state\" --arg evidence \"$EVIDENCE_ROOT<PATH>" --arg sha \"$archive_sha\" --arg now \"$now\" '{schem<PATH>"homelab-control-backup-health-v1\",statu<PATH>"OK\",generation:$gen,state_file:$state,restore_evidence:$evidence,archive_sha256:$sha,cloud_quorum:2,control_freshnes<PATH>"FRESH\",full_site_dr_proven:false,updated_at_utc:$now}' >\"$tmp\"; chmod 0644 \"$tmp\"; mv -f \"$tmp\" \"$HEALTH\""},{"file":"<PATH>","line":13,"text":"LOCK=<PATH>"},{"file":"<PATH>","line":23,"text":"  printf 'STATUS=ERROR TS=%s TYPE=edge-vm-offhost-freshness BAD=1 REASON=%s\\n' \"$TS\" \"$reason\" >\"$HEALTH_DIR<PATH>""},{"file":"<PATH>","line":24,"text":"  chmod 0644 \"$HEALTH_DIR<PATH>""},{"file":"<PATH>","line":25,"text":"  printf 'STATUS=ERROR TS=%s TYPE=edge-vm-offhost-freshness BAD=1 REASON=%s\\n' \"$TS\" \"$reason\""},{"file":"<PATH>","line":153,"text":"printf 'STATUS=OK TS=%s TYPE=edge-vm-offhost-freshness BAD=0 VMID=%s SOURCE_NODE=%s DEST_NODE=%s SRC=%s DEST=%s SIZE=%s SHA256=%s COPY_STATUS=%s ZSTD_RC=0 VMA_RC=0 KEEP=%s\\n' \\"},{"file":"<PATH>","line":155,"text":"  >\"$HEALTH_DIR<PATH>""},{"file":"<PATH>","line":156,"text":"printf 'STATUS=OK TS=%s TYPE=edge-vm-vzdump-backup NODE=%s VMID=%s ARCHIVE=%s SIZE=%s SHA256=%s NOTES=nightly_existing_dump_freshness\\n' \\"},{"file":"<PATH>","line":159,"text":"printf 'STATUS=OK TS=%s TYPE=edge-vm-vzdump-offhost NODE=%s VMID=%s HOST=%s DEST=%s SIZE=%s SHA256=%s NOTES=nightly_existing_dump_freshness\\n' \\"},{"file":"<PATH>","line":162,"text":"printf 'STATUS=OK TS=%s TYPE=edge-vm-vzdump-restore-verify HOST=%s VMID=%s ARCHIVE=%s SIZE=%s SHA256=%s ZSTD_RC=0 VMA_RC=0 NOTES=nightly_existing_dump_freshness\\n' \\"},{"file":"<PATH>","line":166,"text":"  \"$HEALTH_DIR<PATH>" \\"},{"file":"<PATH>","line":171,"text":"printf 'STATUS=OK TS=%s TYPE=edge-vm-offhost-freshness BAD=0 COPY_STATUS=%s SIZE=%s SHA256=%s DEST=%s COMPLETE_COUNT=%s KEEP=%s\\n' \\"},{"file":"<PATH>","line":18,"text":"check \"backup framework evidence\" bash -c \"grep -q STATUS=OK <PATH> && grep -q SOURCE_STATUS=OK <PATH> && grep -q FRESHNESS=FRESH <PATH>""},{"file":"<PATH>","line":7,"text":"SOURCE_HEALTH=<PATH>"},{"file":"<PATH>","line":183,"text":"         \"trash_debt_bytes\":\"UNKNOWN_PROVIDER_API\",\"last_success\":s}"},{"file":"<PATH>","line":34,"text":" f=int(json.loads((R<PATH>"manifest.json\").read_text()).get(\"freshness_seconds\",{}).get(s,3600));z=(t+datetime.timedelta(seconds=f)).isoformat()"},{"file":"<PATH>","line":219,"text":"      \"task_id\":\"backup-rotating-boot-drill-escrow-freshness-v1\","},{"file":"<PATH>","line":444,"text":"        return {\"schema\":\"homelab-rotating-boot-drill-state-v1\",\"sequence\":0,\"qemu_cursor\":None,\"lxc_cursor\":None,\"last_success_utc\":None,\"last_evidence\":None}"},{"file":"<PATH>","line":651,"text":"    print(f\"BOOT_DRILL_SCHEDULED=DEFERRED|reason={code}\")"},{"file":"<PATH>","line":688,"text":"    wait=int(p[\"initial_lock_wait_seconds\"] if mode==\"initial\" else p[\"scheduled_lock_wait_seconds\"])"},{"file":"<PATH>","line":734,"text":"                          \"qemu_cursor\":q,\"lxc_cursor\":l,\"last_success_utc\":evidence[\"completed_at_utc\"],"},{"file":"<PATH>","line":749,"text":"        if mode==\"scheduled\" and e.code in (\"BACKUP_LOCK_BUSY\",\"ESCROW_SEMANTIC_PROOF_STALE\",\"CURRENT_BACKUP_AUDIT_NOT_DR_READY\",\"NO_QEMU_GUEST_AGENT_ELIGIBLE\",\"NO_LXC_RUNNING_ELIGIBLE\",\"STAGE_CAPACITY_INSUFFICIENT\",\"LOCAL_LVM_CAPACITY_INSUFFICIENT\"):"},{"file":"<PATH>","line":793,"text":"    elif action==\"scheduled\":"},{"file":"<PATH>","line":794,"text":"        execute(\"scheduled\",p)"},{"file":"<PATH>","line":11,"text":"     \"kb<PATH>",\"kb<PATH>","},{"file":"<PATH>","line":20,"text":"if systemctl is-active --quiet homelab-edge-vm-offhost-freshness.timer; then DETAILS=\"$DETAILS edge-freshness-timer=active\"; else BAD=$((BAD+1)); DETAILS=\"$DETAILS edge-freshness-timer=bad\"; fi"},{"file":"<PATH>","line":6,"text":"PROBE=<PATH>"},{"file":"<PATH>","line":9,"text":"FRESHNESS_SECONDS=72000"},{"file":"<PATH>","line":16,"text":"(( DUE_SECONDS > 0 && DUE_SECONDS < FRESHNESS_SECONDS )) || die DUE_THRESHOLD_INVALID 65"},{"file":"<PATH>","line":80,"text":"freshness_decision(){"},{"file":"<PATH>","line":88,"text":"      printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_RESUME GENERATION=%s\\n' \"$vmid\" \"$generation\""},{"file":"<PATH>","line":94,"text":"        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_EPOCH_INVALID\\n' \"$vmid\""},{"file":"<PATH>","line":99,"text":"        printf 'QUEUE_FRESHNESS VMID=%s DECISION=SKIP_FRESH GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$vmid\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":100,"text":"      elif (( age >= DUE_SECONDS && age < FRESHNESS_SECONDS )); then"},{"file":"<PATH>","line":101,"text":"        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_DUE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$vmid\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":102,"text":"      elif (( age >= FRESHNESS_SECONDS )); then"},{"file":"<PATH>","line":103,"text":"        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_STALE GENERATION=%s AGE_SECONDS=%s DUE_SECONDS=%s FRESHNESS_SECONDS=%s\\n' \"$vmid\" \"$generation\" \"$age\" \"$DUE_SECONDS\" \"$FRESHNESS_SECONDS\""},{"file":"<PATH>","line":105,"text":"        printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED REASON=SEALED_TIMESTAMP_IN_FUTURE GENERATION=%s AGE_SECONDS=%s\\n' \"$vmid\" \"$generation\" \"$age\""},{"file":"<PATH>","line":109,"text":"      printf 'QUEUE_FRESHNESS VMID=%s DECISION=BACKUP_UNVERIFIED\\n' \"$vmid\""},{"file":"<PATH>","line":112,"text":"      die \"FRESHNESS_DECISION_INVALID_${vmid}_${decision:-EMPTY}\" 65"},{"file":"<PATH>","line":116,"text":"freshness_plan(){"},{"file":"<PATH>","line":118,"text":"  [[ -x \"$PROBE\" ]] || die \"FRESHNESS_PROBE_NOT_INSTALLED\" 69"},{"file":"<PATH>","line":121,"text":"    out=\"$(freshness_decision \"$vmid\" \"$now_epoch\")\""},{"file":"<PATH>","line":123,"text":"    decision=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$out\" | tail -1)\""},{"file":"<PATH>","line":124,"text":"    [[ -n \"$decision\" ]] || die \"FRESHNESS_PLAN_DECISION_MISSING_$vmid\" 65"},{"file":"<PATH>","line":125,"text":"    printf 'QUEUE_FRESHNESS_PLAN VMID=%s DECISION=%s\\n' \"$vmid\" \"$decision\""},{"file":"<PATH>","line":144,"text":"  freshness_plan"},{"file":"<PATH>","line":147,"text":"  local vmid=\"$1\" freshness decision now_epoch out generation"},{"file":"<PATH>","line":161,"text":"  freshness=\"$(exec 8>&-; exec 9>&-; freshness_decision \"$vmid\" \"$now_epoch\")\""},{"file":"<PATH>","line":162,"text":"  printf '%s\\n' \"$freshness\""},{"file":"<PATH>","line":163,"text":"  decision=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$freshness\" | tail -1)\""},{"file":"<PATH>","line":166,"text":"      generation=\"$(awk '<PATH> <PATH><=NF;i++)if($i~<PATH>"\",$i);print $i}}' <<<\"$freshness\" | tail -1)\""},{"file":"<PATH>","line":171,"text":"    *) die \"FRESHNESS_RECHECK_INVALID_${vmid}_${decision:-EMPTY}\" 65 ;;"},{"file":"<PATH>","line":188,"text":"  freshness-plan)"},{"file":"<PATH>","line":189,"text":"    [[ \"$#\" == 1 ]] || die \"USAGE_FRESHNESS_PLAN\" 64"},{"file":"<PATH>","line":190,"text":"    freshness_plan"},{"file":"<PATH>","line":44,"text":"CANONICAL_PROBE=\"<PATH>""},{"file":"<PATH>","line":52,"text":"    grep -q '^FRESHNESS_STATUS=OK$' <<<\"$CANONICAL_OUTPUT\" || PROBLEMS=$((PROBLEMS+1))"},{"file":"<PATH>","line":24,"text":"APP_FRESHNESS_PROBE = Path(\"<PATH>")"},{"file":"<PATH>","line":132,"text":"# HOMELAB_COOKIE_JAR_RETRY_423"},{"file":"<PATH>","line":225,"text":"        shlex.quote(str(APP_FRESHNESS_PROBE)) + \" decision skladchik-reports-monitor\","},{"file":"<PATH>","line":230,"text":"    facts[\"canonical_backup_status\"] = probe.get(\"FRESHNESS_STATUS\", \"MISSING\")"},{"file":"<PATH>","line":239,"text":"    if probe.get(\"FRESHNESS_STATUS\") != \"OK\":"},{"file":"<PATH>","line":286,"text":"        f\"- freshness status: {facts.get('canonical_backup_status')}\","}]
SRC|BACKUP|171|28:RETENTION_IMPLEMENTATION=[{"bytes":327,"interface_lines":[{"line":2,"text":"Description=Homelab owner-aware cloud retention GC"},{"line":5,"text":"ConditionPathExists=<PATH>"},{"line":9,"text":"ExecStart=<PATH> scheduled"},{"line":11,"text":"IOSchedulingClass=best-effort"}],"path":"<PATH>","sha256":"0c49e10bdb225eeca0af5fca80aaf109addec2b18a6b892c0fe17c28b656ad7c"},{"bytes":237,"interface_lines":[{"line":2,"text":"Description=Run homelab owner-aware cloud retention GC daily"},{"line":9,"text":"Unit=homelab-backup-retention-gc.service"}],"path":"<PATH>","sha256":"a0e763670745a5ef7c04b54da23114a013f47075cf36cceef0218bae9b82ea2f"},{"bytes":7123,"interface_lines":[{"line":23,"text":"KEEP=\"${10:?keep}\""},{"line":132,"text":"    [[ \"$(complete_count)\" == \"$KEEP\" ]]"},{"line":138,"text":"  plan)"},{"line":146,"text":"    printf 'REMOTE_PLAN_STATUS=OK\\n'"},{"line":154,"text":"    [[ \"$(complete_count)\" == \"$KEEP\" ]]"},{"line":167,"text":"    [[ \"$(complete_count)\" == \"$KEEP\" ]]"},{"line":184,"text":"    [[ \"$(complete_count)\" == \"$KEEP\" ]]"},{"line":206,"text":"    [[ \"$(complete_count)\" == \"$KEEP\" ]]"}],"path":"<PATH>","sha256":"ca25a48b00c26e0eb5e64ac7d5e1d8f3805c200e30d9f87c5ef7c8da90402e54"},{"bytes":4296,"interface_lines":[{"line":3,"text":"KEEP=\"${1:-7}\""},{"line":4,"text":"MODE=\"${2:-dry-run}\""},{"line":6,"text":"[[ \"$KEEP\" =~ ^[0-9]+$ ]] || { echo \"BAD KEEP\"; exit 2; }"},{"line":7,"text":"(( KEEP >= 2 )) || { echo \"REFUSE keep<2\"; exit 2; }"},{"line":8,"text":"[[ \"$MODE\" == dry-run || \"$MODE\" == apply ]] || { echo \"BAD MODE\"; exit 2; }"},{"line":31,"text":"WORK=\"$(mktemp -d <PATH>""},{"line":71,"text":"  echo \"remote_index=$INDEX app=$APP canonical=$CANONICAL total=$TOTAL legacy=$LEGACY_TOTAL short=$SHORT_TOTAL keep=$KEEP mode=$MODE latest=${LATEST:-none}\""},{"line":76,"text":"    [[ \"$FOUND_LATEST\" -eq 1 ]] || { echo \"REFUSE latest not in retention set remote_index=$INDEX\"; exit 6; }"},{"line":78,"text":"  if (( TOTAL <= KEEP )); then echo \"nothing to delete\"; continue; fi"},{"line":79,"text":"  DELETE_COUNT=$((TOTAL-KEEP))"},{"line":80,"text":"  for ((I=0; I<DELETE_COUNT; I++)); do"},{"line":83,"text":"    [[ -n \"$LATEST_REL\" && \"$REL\" == \"$LATEST_REL\" ]] && { echo \"REFUSE delete latest ${REL}\"; exit 7; }"},{"line":85,"text":"    if [[ \"$MODE\" == apply ]]; then echo \"DELETE schema=dual path=$REL\"; rclone purge \"$TARGET\"; else echo \"WOULD_DELETE schema=dual path=$REL\"; fi"},{"line":88,"text":"[[ \"$MODE\" == apply ]] && echo \"OK app retention apply finished\" || echo \"OK app retention dry-run finished\""}],"path":"<PATH>","sha256":"31144fc51f5f0806faf9c96d5ed05957061a88b25be7f4896eb6b6a86cee0fda"},{"bytes":1675,"interface_lines":[{"line":3,"text":"KEEP=\"${1:-7}\""},{"line":4,"text":"MODE=\"${2:-dry-run}\""},{"line":5,"text":"[[ \"$KEEP\" =~ ^[0-9]+$ ]] || { echo \"BAD KEEP\"; exit 2; }"},{"line":6,"text":"(( KEEP >= 2 )) || { echo \"REFUSE keep<2\"; exit 2; }"},{"line":7,"text":"[[ \"$MODE\" == \"dry-run\" || \"$MODE\" == \"apply\" ]] || { echo \"BAD MODE\"; exit 2; }"},{"line":21,"text":"  echo \"total=$TOTAL keep=$KEEP mode=$MODE latest=${LATEST:-none}\""},{"line":22,"text":"  if (( TOTAL <= KEEP )); then echo \"nothing to delete\"; continue; fi"},{"line":23,"text":"  DELETE_COUNT=$((TOTAL-KEEP))"},{"line":24,"text":"  for ((i=0; i<DELETE_COUNT; i++)); do TARGET_NAME=\"${DIRS[$i]}\"; TARGET=\"$BASE<PATH>"; [[ -n \"$LATEST\" && \"$TARGET_NAME\" == \"$LATEST\" ]] && { echo \"REFUSE delete latest $TARGET\"; exit 5; }; if [[ \"$MODE\" == \"apply\" ]]; then echo \"DELETE $TARGET\"; rclone purge \"$TARGET\"; else echo \"WOULD_DELETE $TARGET\"; fi; done"},{"line":26,"text":"[[ \"$MODE\" == \"apply\" ]] && echo \"OK retention apply finished\" || echo \"OK retention dry-run finished\""}],"path":"<PATH>","sha256":"910d22765b49f05ddf72bb9cb6ea4fe10d2e8df9c9aa5f82b0d1bc115233a3c7"},{"bytes":32975,"interface_lines":[{"line":5,"text":"TASK_ID=backup-retention-safe-gc-v1"},{"line":8,"text":"RETENTION_ROOT=<PATH>"},{"line":9,"text":"HEALTH=<PATH>"},{"line":10,"text":"LOCK=<PATH>"},{"line":25,"text":"GFS_POLICY=\"${HOMELAB_BACKUP_GFS_POLICY:-<PATH>""},{"line":27,"text":"[[ -x \"$REGISTRY_HELPER\" && ! -L \"$REGISTRY_HELPER\" ]] || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=TARGET_REGISTRY_HELPER_MISSING\\n' >&2; exit 69; }"},{"line":28,"text":"[[ \"$(sha256sum \"$REGISTRY_HELPER\"|awk '{print $1}')\" == \"$REGISTRY_HELPER_SHA_EXPECTED\" ]] || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=TARGET_REGISTRY_HELPER_SHA_DRIFT\\n' >&2; exit 65; }"},{"line":29,"text":"\"$REGISTRY_HELPER\" validate ><PATH> || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=TARGET_REGISTRY_INVALID\\n' >&2; exit 66; }"},{"line":30,"text":"[[ -x \"$GFS_HELPER\" && ! -L \"$GFS_HELPER\" ]] || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=GFS_POLICY_HELPER_MISSING\\n' >&2; exit 69; }"},{"line":31,"text":"[[ \"$(sha256sum \"$GFS_HELPER\"|awk '{print $1}')\" == \"$GFS_HELPER_SHA_EXPECTED\" ]] || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=GFS_POLICY_HELPER_SHA_DRIFT\\n' >&2; exit 65; }"},{"line":32,"text":"HOMELAB_BACKUP_GFS_POLICY=\"$GFS_POLICY\" \"$GFS_HELPER\" validate ><PATH> || { printf 'GC_STATUS=ERROR|ROOT_CAUSE=GFS_POLICY_INVALID\\n' >&2; exit 66; }"},{"line":35,"text":"GFS_CRITICAL_COUNT=\"$(HOMELAB_BACKUP_GFS_POLICY=\"$GFS_POLICY\" \"$GFS_HELPER\" critical-logicals | wc -l)\""},{"line":36,"text":"VM_KEEP=\"$(\"$REGISTRY_HELPER\" policy-keep VM)\""},{"line":37,"text":"APP_KEEP=\"$(\"$REGISTRY_HELPER\" policy-keep APP)\""},{"line":38,"text":"CONTROL_KEEP=\"$(\"$REGISTRY_HELPER\" policy-keep CONTROL)\""},{"line":39,"text":"MIN_DELETE_AGE_SECONDS=86400"},{"line":42,"text":"die(){ local msg=\"$1\" rc=\"${2:-65}\"; trap - ERR; printf 'GC_STATUS=ERROR|ROOT_CAUSE=%s\\n' \"$msg\" >&2; exit \"$rc\"; }"},{"line":44,"text":"stable_delete_set(){ sed -E 's<PATH>'; }"},{"line":50,"text":"keep_for(){ \"$REGISTRY_HELPER\" retention-keep \"$1\" 2><PATH> }"},{"line":51,"text":"logical_list(){ \"$REGISTRY_HELPER\" retention-logicals; }"},{"line":58,"text":"  TMPROOT=\"<PATH>""},{"line":74,"text":"  jq -e --arg l \"$logical\" --arg g \"$generation\" '.schema==\"homelab-cloud-quorum-payload-v1\" and .logical_id==$l and .generation==$g and .status==\"SEALED\" and .cloud_quorum==2 and .cloud_a_verified==true and .cloud_b_verified==true and .part_hashes_verified==true and .seal_written==true and .cloud_a_seal_verified==true and .cloud_b_seal_verified==true and .local_delete_allowed==true and .local_payload_present==false and .local_cleanup==\"OK\"' <<<\"$json\" ><PATH>"},{"line":106,"text":"  f=\"$RETENTION_ROOT<PATH>""},{"line":111,"text":"  f=\"$RETENTION_ROOT<PATH>""},{"line":117,"text":"  [[ -d \"$RETENTION_ROOT<PATH>" ]] || { printf '0\\n'; return 0; }"},{"line":123,"text":"      PLANNED|B_DELETED) count=$((count+1)) ;;"},{"line":126,"text":"  done < <(find \"$RETENTION_ROOT<PATH>" -type f -name '*.json' -print | LC_ALL=C sort)"},{"line":130,"text":"pinned_delete_contract_enabled(){"},{"line":131,"text":"  [[ -n \"${HOMELAB_RETENTION_PINNED_DELETE_FILE:-}\" || -n \"${HOMELAB_RETENTION_PINNED_DELETE_SHA256:-}\" ]]"},{"line":133,"text":"pinned_delete_assert_file(){"},{"line":134,"text":"  local f=\"${HOMELAB_RETENTION_PINNED_DELETE_FILE:-}\" expected=\"${HOMELAB_RETENTION_PINNED_DELETE_SHA256:-}\" actual line logical generation owner state_file state_sha count=0"},{"line":135,"text":"  [[ -n \"$f\" && -n \"$expected\" ]] || die PINNED_DELETE_CONTRACT_INCOMPLETE 64"},{"line":136,"text":"  [[ \"$expected\" =~ ^[0-9a-f]{64}$ ]] || die PINNED_DELETE_SHA_INVALID 64"},{"line":137,"text":"  [[ -f \"$f\" && ! -L \"$f\" ]] || die PINNED_DELETE_FILE_UNSAFE 64"},{"line":139,"text":"  [[ \"$actual\" == \"$expected\" ]] || die PINNED_DELETE_FILE_SHA_MISMATCH 66"},{"line":141,"text":"    [[ -n \"$line\" ]] || die PINNED_DELETE_EMPTY_LINE 66"},{"line":147,"text":"    [[ \"$line\" == \"DELETE|logical=$logical|generation=$generation|owner=$owner|state_file=$state_file|state_sha256=$state_sha\" ]] || die PINNED_DELETE_LINE_FORMAT_INVALID 66"},{"line":148,"text":"    [[ \"$(node_for_logical \"$logical\")\" == \"$owner\" ]] || die \"PINNED_DELETE_OWNER_INVALID_${logical}\" 66"},{"line":149,"text":"    safe_generation \"$logical\" \"$generation\" || die \"PINNED_DELETE_GENERATION_INVALID_${logical}\" 66"},{"line":150,"text":"    [[ \"$state_file\" == \"$STATE_ROOT<PATH>" ]] || die \"PINNED_DELETE_STATE_PATH_INVALID_${logical}\" 66"},{"line":151,"text":"    [[ \"$state_sha\" =~ ^[0-9a-f]{64}$ ]] || die \"PINNED_DELETE_STATE_SHA_INVALID_${logical}\" 66"},{"line":154,"text":"  (( count > 0 )) || die PINNED_DELETE_FILE_EMPTY 66"},{"line":155,"text":"  [[ \"$(LC_ALL=C sort \"$f\" | uniq | wc -l)\" == \"$count\" ]] || die PINNED_DELETE_FILE_DUPLICATE 66"},{"line":160,"text":"  jq -e --arg task \"$TASK_ID\" --arg change \"$CHANGE_ID\" '.schema==\"homelab-backup-retention-transaction-v1\" and .task_id==$task and .change_id==$change and (.logical_id|type)==\"string\" and (.generation|type)==\"string\" and (.state_sha256|type)==\"string\" and (.status==\"PLANNED\" or .status==\"B_DELETED\" or .status==\"DONE\")' \"$f\" ><PATH> || die \"PINNED_TX_CONTENT_INVALID_$f\" 66"},{"line":165,"text":"  expected_path=\"$RETENTION_ROOT<PATH>""},{"line":167,"text":"  printf 'DELETE|logical=%s|generation=%s|owner=%s|state_file=%s|state_sha256=%s\\n' \"$logical\" \"$generation\" \"$owner\" \"$STATE_ROOT<PATH>" \"$state_sha\""},{"line":170,"text":"  local root=\"$RETENTION_ROOT<PATH>" f"},{"line":178,"text":"  local plan_file=\"$1\" line logical generation reason txf status"},{"line":183,"text":"    [[ \"$reason\" == GC_TRANSACTION_PLANNED || \"$reason\" == GC_TRANSACTION_B_DELETED ]] || die \"PINNED_PLAN_UNEXPECTED_PROTECT_${logical}_${generation}_${reason}\" 66"},{"line":184,"text":"    txf=\"$RETENTION_ROOT<PATH>""},{"line":185,"text":"    [[ -s \"$txf\" && ! -L \"$txf\" ]] || die \"PINNED_PLAN_PROTECT_TX_MISSING_${logical}_${generation}\" 66"},{"line":187,"text":"    [[ \"GC_TRANSACTION_$status\" == \"$reason\" ]] || die \"PINNED_PLAN_PROTECT_STATUS_MISMATCH_${logical}_${generation}\" 66"},{"line":188,"text":"    grep -Fqx \"$(pinned_tx_identity \"$txf\")\" \"$HOMELAB_RETENTION_PINNED_DELETE_FILE\" || die \"PINNED_PLAN_PROTECT_NOT_PINNED_${logical}_${generation}\" 66"},{"line":189,"text":"  done < <(awk '<PATH>' \"$plan_file\")"},{"line":191,"text":"pinned_assert_delete_scope(){"},{"line":192,"text":"  local plan_file=\"$1\" stage=\"$2\" actual expected f count_actual count_expected"},{"line":193,"text":"  actual=\"$TMPROOT<PATH>""},{"line":194,"text":"  expected=\"$TMPROOT<PATH>""},{"line":195,"text":"  pinned_delete_assert_file"},{"line":197,"text":"  pinned_assert_protect_scope \"$plan_file\""},{"line":198,"text":"  awk '<PATH>' \"$plan_file\" | stable_delete_set >\"$actual\""},{"line":199,"text":"  if [[ -d \"$RETENTION_ROOT<PATH>" ]]; then"},{"line":200,"text":"    while IFS= read -r f; do pinned_tx_identity \"$f\" >>\"$actual\"; done < <(find \"$RETENTION_ROOT<PATH>" -type f -name '*.json' -print | LC_ALL=C sort)"},{"line":203,"text":"  LC_ALL=C sort \"$HOMELAB_RETENTION_PINNED_DELETE_FILE\" >\"$expected\""},{"line":205,"text":"  [[ \"$count_actual\" == \"$count_expected\" ]] || die \"PINNED_DELETE_SCOPE_COUNT_MISMATCH_${stage}\" 66"},{"line":206,"text":"  [[ \"$(uniq \"$actual\" | wc -l)\" == \"$count_actual\" ]] || die \"PINNED_DELETE_SCOPE_DUPLICATE_${stage}\" 66"},{"line":207,"text":"  cmp -s \"$actual\" \"$expected\" || die \"PINNED_DELETE_SCOPE_MISMATCH_${stage}\" 66"},{"line":208,"text":"  printf 'PINNED_DELETE_SCOPE=OK|stage=%s|count=%s|sha256=%s\\n' \"$stage\" \"$count_expected\" \"$HOMELAB_RETENTION_PINNED_DELETE_SHA256\""},{"line":211,"text":"  printf 'CONTRACT|task=%s|policy=OWNER_AWARE_SAFE_GC_GFS|target_registry=CANONICAL|vm_keep=%s|app_keep=%s|control_keep=%s|min_delete_age_seconds=%s|gfs_critical=%s|gfs_weekly=%s|gfs_monthly=%s|gfs_completed_periods_only=YES|nonsealed=PROTECT|retired_preserve=PROTECT|unknown_namespace=PROTECT|owner_state_required=YES|both_clouds_required=YES|latest_restore_proven_required=YES|legacy_hb=PROTECT|legacy_pve01=PROTECT|legacy_control=PROTECT\\n' \"$TASK_ID\" \"$VM_KEEP\" \"$APP_KEEP\" \"$CONTROL_KEEP\" \"$MIN_DELETE_AGE_SECONDS\" \"$GFS_CRITICAL_COUNT\" \"$GFS_WEEKLY\" \"$GFS_MONTHLY\""},{"line":218,"text":"  if ! HOMELAB_BACKUP_GFS_POLICY=\"$GFS_POLICY\" \"$GFS_HELPER\" is-critical \"$logical\"; then return 0; fi"},{"line":236,"text":"plan(){"},{"line":240,"text":"  local now logical node keep lifecycle open_count file json schema lid gen status sha sealed_at epoch age idx tx gfs_bucket candidates=0 protected=0 kept=0 gfs_kept=0"},{"line":246,"text":"    if [[ \"$lifecycle\" == ACTIVE ]]; then keep=\"$(keep_for \"$logical\")\" || die \"KEEP_POLICY_UNKNOWN_$logical\"; else keep=0; fi"},{"line":273,"text":"      while IFS=$'\\t' read -r gen file sha age node sealed_at; do printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=LOGICAL_HAS_INCOMPLETE\\n' \"$logical\" \"$gen\" \"$node\"; kept=$((kept+1)); done < <(LC_ALL=C sort -r \"$TMPROOT<PATH>")"},{"line":277,"text":"      while IFS=$'\\t' read -r gen file sha age node sealed_at; do printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=RETIRED_PRESERVE\\n' \"$logical\" \"$gen\" \"$node\"; kept=$((kept+1)); done < <(LC_ALL=C sort -r \"$TMPROOT<PATH>")"},{"line":281,"text":"      while IFS=$'\\t' read -r gen file sha age node sealed_at; do printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=LATEST_RESTORE_NOT_PROVEN\\n' \"$logical\" \"$gen\" \"$node\"; kept=$((kept+1)); done < <(LC_ALL=C sort -r \"$TMPROOT<PATH>")"},{"line":290,"text":"        printf 'RETIRED|logical=%s|generation=%s|owner=%s|reason=GC_ALREADY_DONE\\n' \"$logical\" \"$gen\" \"$node\""},{"line":292,"text":"        printf 'PROTECT|logical=%s|generation=%s|owner=%s|reason=GC_TRANSACTION_%s\\n' \"$logical\" \"$gen\" \"$node\" \"$tx\"; protected=$((protected+1))"},{"line":293,"text":"      elif (( idx <= keep )); then"},{"line":294,"text":"        printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=POLICY_NEWEST_%s\\n' \"$logical\" \"$gen\" \"$node\" \"$keep\"; kept=$((kept+1))"},{"line":295,"text":"      elif (( age < MIN_DELETE_AGE_SECONDS )); then"},{"line":296,"text":"        printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=MIN_AGE|age_seconds=%s\\n' \"$logical\" \"$gen\" \"$node\" \"$age\"; kept=$((kept+1))"},{"line":300,"text":"        printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=GFS_WEEKLY|bucket=%s\\n' \"$logical\" \"$gen\" \"$node\" \"$gfs_bucket\"; kept=$((kept+1)); gfs_kept=$((gfs_kept+1))"},{"line":302,"text":"        printf 'KEEP|logical=%s|generation=%s|owner=%s|reason=GFS_MONTHLY|bucket=%s\\n' \"$logical\" \"$gen\" \"$node\" \"$gfs_bucket\"; kept=$((kept+1)); gfs_kept=$((gfs_kept+1))"},{"line":304,"text":"        printf 'DELETE|logical=%s|generation=%s|owner=%s|state_file=%s|state_sha256=%s|age_seconds=%s\\n' \"$logical\" \"$gen\" \"$node\" \"$file\" \"$sha\" \"$age\""},{"line":312,"text":"  printf 'PLAN_SUMMARY|delete_candidates=%s|protected=%s|kept=%s|vm_keep=%s|app_keep=%s|control_keep=%s|gfs_kept=%s|gfs_critical=%s|gfs_weekly=%s|gfs_monthly=%s\\n' \"$candidates\" \"$protected\" \"$kept\" \"$VM_KEEP\" \"$APP_KEEP\" \"$CONTROL_KEEP\" \"$gfs_kept\" \"$GFS_CRITICAL_COUNT\" \"$GFS_WEEKLY\" \"$GFS_MONTHLY\""},{"line":321,"text":"  path=\"$RETENTION_ROOT<PATH>""},{"line":324,"text":"  jq -n --arg task \"$TASK_ID\" --arg change \"$CHANGE_ID\" --arg l \"$logical\" --arg g \"$generation\" --arg s \"$state_sha\" --arg status \"$status\" --arg at \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" --argjson aa \"$a_absent\" --argjson ba \"$b_absent\" '{schem<PATH>"homelab-backup-retention-transaction-v1\",task_id:$task,change_id:$change,logical_id:$l,generation:$g,state_sha256:$s,status:$status,updated_at_utc:$at,remote_a_absent:$aa,remote_b_absent:$ba}' >\"$tmp\""},{"line":328,"text":"apply_delete_line(){"},{"line":343,"text":"  (( age >= MIN_DELETE_AGE_SECONDS )) || die \"APPLY_AGE_GUARD_${logical}_${generation}\""},{"line":346,"text":"  write_tx \"$logical\" \"$generation\" \"$state_sha\" PLANNED false false"},{"line":348,"text":"  remote_generation_present \"$REMOTE_B\" \"$logical\" \"$generation\" && die \"APPLY_REMOTE_B_DELETE_FAILED_${logical}_${generation}\""},{"line":349,"text":"  write_tx \"$logical\" \"$generation\" \"$state_sha\" B_DELETED false true"},{"line":351,"text":"  remote_generation_present \"$REMOTE_A\" \"$logical\" \"$generation\" && die \"APPLY_REMOTE_A_DELETE_FAILED_${logical}_${generation}\""},{"line":353,"text":"  printf 'GC_DELETE_DONE|logical=%s|generation=%s|owner=%s\\n' \"$logical\" \"$generation\" \"$owner\""},{"line":357,"text":"  [[ -d \"$RETENTION_ROOT<PATH>" ]] || return 0"},{"line":361,"text":"    [[ \"$status\" == PLANNED || \"$status\" == B_DELETED ]] || die \"TX_STATUS_INVALID_$f\""},{"line":372,"text":"    if [[ \"$status\" == PLANNED ]]; then"},{"line":374,"text":"      remote_generation_present \"$REMOTE_B\" \"$logical\" \"$generation\" && die \"TX_REMOTE_B_DELETE_FAILED_${logical}_${generation}\""},{"line":375,"text":"      write_tx \"$logical\" \"$generation\" \"$state_sha\" B_DELETED false true"}],"path":"<PATH>","sha256":"8adb6c10f5911f39c53775b89eac3cd1823f1ed34b4caccade5279c213e998a3"},{"bytes":3140,"interface_lines":[{"line":7,"text":"LOCK=<PATH>"},{"line":12,"text":"    local keep=\"$LOCAL_KEEP_PAIRS\""},{"line":27,"text":"        if ((${#archives[@]} <= keep)); then"},{"line":31,"text":"        for archive in \"${archives[@]:keep}\"; do"},{"line":57,"text":"         KEEP='$OFFHOST_KEEP_PAIRS'"},{"line":69,"text":"             if [ \\\"\\$count\\\" -gt \\\"\\$KEEP\\\" ]; then"},{"line":86,"text":"    local keep=$3"},{"line":99,"text":"    if ((${#dirs[@]} <= keep)); then"},{"line":103,"text":"    for dir in \"${dirs[@]:keep}\"; do"},{"line":113,"text":"    prune_cloud_tier \"$remote\" daily \"$KEEP_DAILY\""},{"line":114,"text":"    prune_cloud_tier \"$remote\" weekly \"$KEEP_WEEKLY\""},{"line":115,"text":"    prune_cloud_tier \"$remote\" monthly \"$KEEP_MONTHLY\""},{"line":116,"text":"    prune_cloud_tier \"$remote\" quarterly \"$KEEP_QUARTERLY\""},{"line":119,"text":"echo \"RETENTION_STATUS=OK\""}],"path":"<PATH>","sha256":"a3cced5263960557d3501123d57f95f12fcede45116111d3d5f02283497d4e63"},{"bytes":2081,"interface_lines":[{"line":4,"text":"MODE=\"${1:-dry-run}\""},{"line":5,"text":"KEEP=\"${KEEP:-2}\""},{"line":6,"text":"OUT=\"<PATH>""},{"line":8,"text":"REPORT=\"$ROOT<PATH>""},{"line":15,"text":"DELETED=0"},{"line":16,"text":"WOULD_DELETE=0"},{"line":21,"text":"echo \"# Homelab VM local dumps cloud retention\" >> \"$REPORT\""},{"line":25,"text":"echo \"keep=$KEEP\" >> \"$REPORT\""},{"line":36,"text":"  if [ \"$TOTAL\" -le \"$KEEP\" ]; then"},{"line":37,"text":"    echo \"nothing_to_delete\" >> \"$REPORT\""},{"line":42,"text":"  DELETE_COUNT=$((TOTAL-KEEP))"},{"line":46,"text":"    if [ \"$IDX\" -le \"$DELETE_COUNT\" ]; then"},{"line":55,"text":"        echo \"DELETE $PATH_REMOTE\" >> \"$REPORT\""},{"line":56,"text":"        rclone purge \"$PATH_REMOTE\" >> \"$REPORT\" 2>&1 && DELETED=$((DELETED+1)) || BAD=$((BAD+1))"},{"line":58,"text":"        echo \"WOULD_DELETE $PATH_REMOTE\" >> \"$REPORT\""},{"line":59,"text":"        WOULD_DELETE=$((WOULD_DELETE+1))"},{"line":62,"text":"      echo \"KEEP $BASE<PATH>" >> \"$REPORT\""},{"line":72,"text":"echo \"STATUS=$STATUS TS=$TS TYPE=vm-local-dumps-retention BAD=$BAD MODE=$MODE KEEP=$KEEP DELETED=$DELETED WOULD_DELETE=$WOULD_DELETE REPORT=$REPORT\" > \"$OUT\""}],"path":"<PATH>","sha256":"306a775325708bcdfb9df6f751c15de0635bc0cf3ab90c00dfadf5ac8220c3bb"}]
SRC|BACKUP|171|29:AUDIT_IMPLEMENTATION=[{"bytes":39160,"path":"<PATH>","relevant_lines":[{"line":12,"text":"VM_PROBE=<PATH>"},{"line":13,"text":"VM_WORKER=<PATH>"},{"line":14,"text":"APP_PROBE=<PATH>"},{"line":15,"text":"APP_WORKER=<PATH>"},{"line":16,"text":"APP_CORE=<PATH>"},{"line":18,"text":"VM_QUEUE=<PATH>"},{"line":19,"text":"APP_QUEUE=<PATH>"},{"line":22,"text":"CONTROL_BACKUP=<PATH>"},{"line":23,"text":"CONTROL_BUILDER=<PATH>"},{"line":24,"text":"CONTROL_TIMER=<PATH>"},{"line":25,"text":"CONTROL_SERVICE=<PATH>"},{"line":26,"text":"CONTROL_RUNTIME_MANIFEST=<PATH>"},{"line":27,"text":"CONTROL_SYSTEMD_MANIFEST=<PATH>"},{"line":28,"text":"VM_TIMER=<PATH>"},{"line":29,"text":"APP_TIMER=<PATH>"},{"line":30,"text":"VM_SERVICE=<PATH>"},{"line":31,"text":"APP_SERVICE=<PATH>"},{"line":47,"text":"CONTROL_BACKUP_SHA=0b3a0f685d4e67cb86250df89a4918aff2e6c67799b7d35b0e54b1bbc016ee57"},{"line":48,"text":"CONTROL_BUILDER_SHA=2e1c3935b5016c09aad21f34a36f7e1f53188bbc34a3f033e59fe964571ec3f0"},{"line":49,"text":"CONTROL_TIMER_SHA=7c4136da20b9cd9162293380f5794d93e2c6099ce7d87ec00e0e7e19b6cd44a3"},{"line":50,"text":"CONTROL_SERVICE_SHA=428d3e1f3042c3347b7c34b6f190e44fa35f7a97264eec3974239f581c9b9250"},{"line":51,"text":"CONTROL_RUNTIME_MANIFEST_SHA=6777f95159db0fa213017f286f2cee6cc51e9963a01a0578cee8586e8731b2be"},{"line":52,"text":"CONTROL_SYSTEMD_MANIFEST_SHA=7f990d6257b43f97c3c8407945ca9dae6113dc9064c6cf1f25e7fcdaf99d5163"},{"line":53,"text":"VM_TIMER_SHA=9a78c9ea507116cbb9f5645fe697e34964c905b017cc98b17977cd5006aa5050"},{"line":54,"text":"APP_TIMER_SHA=af2eedce3df53029b591d31715a3f3e6688ddb997b4823f487e70c339ce88078"},{"line":60,"text":"CONTROL_STATE_ROOT=<PATH>"},{"line":61,"text":"CONTROL_EVIDENCE_ROOT=<PATH>"},{"line":69,"text":"CONTROL_SLA_SECONDS=86400"},{"line":140,"text":"  printf 'CONTRACT|task=%s|target_registry=CANONICAL|vm_count=%s|app_count=%s|control_sla_seconds=%s|retention=ACTIVE_OWNER_AWARE|provider_worm=NOT_PROVEN_SKIPPED|dr_proof_source=EXACT_SITE_DR_FINAL_SEAL|legacy_site_dr_seal=AUTHORITATIVE|control_freshness=RECURRING_PRODUCER_12H_DUE_24H_SLA|full_site_dr=PROVEN_BY_SEAL\\n' \"$TASK_ID\" \"${#VMIDS[@]}\" \"${#APPS[@]}\" \"$CONTROL_SLA_SECONDS\""},{"line":170,"text":"stale=0"},{"line":192,"text":"source_hash_local CONTROL_BACKUP \"$CONTROL_BACKUP\" \"$CONTROL_BACKUP_SHA\""},{"line":193,"text":"source_hash_local CONTROL_BUILDER \"$CONTROL_BUILDER\" \"$CONTROL_BUILDER_SHA\""},{"line":194,"text":"source_hash_local CONTROL_TIMER \"$CONTROL_TIMER\" \"$CONTROL_TIMER_SHA\""},{"line":195,"text":"source_hash_local CONTROL_SERVICE \"$CONTROL_SERVICE\" \"$CONTROL_SERVICE_SHA\""},{"line":196,"text":"source_hash_local CONTROL_RUNTIME_MANIFEST \"$CONTROL_RUNTIME_MANIFEST\" \"$CONTROL_RUNTIME_MANIFEST_SHA\""},{"line":197,"text":"source_hash_local CONTROL_SYSTEMD_MANIFEST \"$CONTROL_SYSTEMD_MANIFEST\" \"$CONTROL_SYSTEMD_MANIFEST_SHA\""},{"line":198,"text":"source_hash_local VM_TIMER \"$VM_TIMER\" \"$VM_TIMER_SHA\""},{"line":199,"text":"source_hash_local APP_TIMER \"$APP_TIMER\" \"$APP_TIMER_SHA\""},{"line":233,"text":"          if (( age < vm_sla )); then state=FRESH; fresh=$((fresh+1)); else state=STALE; stale=$((stale+1)); fi"},{"line":253,"text":"    unverified=$((unverified+1)); printf 'TARGET|kind=VM|id=%s|owner=%s|state=UNVERIFIED|generation=UNKNOWN|age_seconds=-1|sla_seconds=%s|reason=PROBE_FAILED\\n' \"$vmid\" \"$node\" \"$vm_sla\""},{"line":273,"text":"          if (( age < app_sla )); then state=FRESH; fresh=$((fresh+1)); else state=STALE; stale=$((stale+1)); fi"},{"line":293,"text":"    unverified=$((unverified+1)); printf 'TARGET|kind=APP|id=%s|owner=pve01|state=UNVERIFIED|generation=UNKNOWN|age_seconds=-1|sla_seconds=%s|reason=PROBE_FAILED\\n' \"$app\" \"$app_sla\""},{"line":297,"text":"control_status=UNVERIFIED"},{"line":298,"text":"control_age=-1"},{"line":299,"text":"control_generation=UNKNOWN"},{"line":300,"text":"control_checked=false"},{"line":301,"text":"control_state=\"\""},{"line":302,"text":"control_degraded=0"},{"line":303,"text":"control_bad=0"},{"line":304,"text":"if control_state=\"$(find \"$CONTROL_STATE_ROOT\" -type f -name '*.json' -printf '%T@|%p\\n' 2>&1 | LC_ALL=C sort -n | tail -n 1 | cut -d'|' -f2-)\"; then :; else control_state=\"\"; fi"},{"line":305,"text":"if [[ -n \"$control_state\" && -s \"$control_state\" && ! -L \"$control_state\" ]]; then"},{"line":306,"text":"  control_generation=\"$(jq -er '.generation' \"$control_state\" 2>&1)\" || control_generation=UNKNOWN"},{"line":307,"text":"  transport_status=\"$(jq -er '.status' \"$control_state\" 2>&1)\" || transport_status=INVALID"},{"line":308,"text":"  if [[ ! \"$control_generation\" =~ ^control-bootstrap-v2-pve01-[0-9]{8}T[0-9]{6}Z$ ]]; then transport_status=INVALID; fi"},{"line":311,"text":"      control_status=RESUME"},{"line":312,"text":"      control_degraded=1"},{"line":316,"text":"      if strict=\"$(jq -er 'if .schema==\"homelab-cloud-quorum-payload-v1\" and .logical_id==\"control-bootstrap-v2\" and .status==\"SEALED\" and .cloud_quorum==2 and .cloud_a_verified==true and .cloud_b_verified==true and .part_hashes_verified==true and .seal_written==true and .cloud_a_seal_verified==true and .cloud_b_seal_verified==true and .local_payload_present==false and .local_cleanup==\"OK\" then \"OK\" else error(\"strict state invalid\") end' \"$control_state\" 2>&1)\"; then"},{"line":317,"text":"        control_updated=\"$(jq -er '.sealed_at_utc <PATH> .updated_at_utc' \"$control_state\" 2>&1)\" || control_updated=INVALID"},{"line":318,"text":"        control_sha=\"$(jq -er '.archive_sha256' \"$control_state\" 2>&1)\" || control_sha=INVALID"},{"line":319,"text":"        control_epoch=\"$(date -u -d \"$control_updated\" +%s 2>&1)\" || control_epoch=-1"},{"line":320,"text":"        control_evidence=\"$CONTROL_EVIDENCE_ROOT<PATH>""},{"line":321,"text":"        if [[ \"$control_epoch\" =~ ^[0-9]+$ && \"$control_epoch\" -le \"$now\" && -s \"$control_evidence\" && ! -L \"$control_evidence\" ]]; then"},{"line":322,"text":"          if evidence_ok=\"$(jq -er --arg g \"$control_generation\" --arg sha \"$control_sha\" 'if .result==\"OK\" and .logical_id==\"control-bootstrap-v2\" and .generation==$g and .restore_source==\"Cloud A + Cloud B\" and .payload_sha256==$sha and .payload_sha256_verified==true and .control_manifest_verified==true and .payload_checksums_verified==true and .ops_git_bundle_verified==true and .desired_git_bundle_verified==true and .secret_escrow_separate==true and .clean_machine_bootstrap_proven==false then \"OK\" else error(\"control evidence invalid\") end' \"$control_evidence\" 2>&1)\"; then"},{"line":323,"text":"            control_checked=true"},{"line":324,"text":"            control_age=$((now-control_epoch))"},{"line":325,"text":"            if (( control_age < CONTROL_SLA_SECONDS )); then control_status=FRESH_SEALED_PROVEN; else control_status=STALE_PROVEN; control_bad=1; infra_bad=$((infra_bad+1)); fi"},{"line":326,"text":"            control_payload=\"$(jq -er '.payload_path' \"$control_state\" 2>&1)\" || control_payload=INVALID"},{"line":327,"text":"            if [[ \"$control_payload\" != <PATH> ]] || [[ -e \"$control_payload\" ]]; then payload_leaks=$((payload_leaks+1)); fi"},{"line":329,"text":"            control_bad=1; infra_bad=$((infra_bad+1))"},{"line":332,"text":"          control_bad=1; infra_bad=$((infra_bad+1))"},{"line":335,"text":"        control_bad=1; infra_bad=$((infra_bad+1))"},{"line":338,"text":"    *) control_bad=1; infra_bad=$((infra_bad+1)) ;;"},{"line":341,"text":"  control_bad=1; infra_bad=$((infra_bad+1))"},{"line":343,"text":"control_archive_size=-1"},{"line":344,"text":"if [[ -n \"$control_state\" && -s \"$control_state\" && \"$control_status\" != UNVERIFIED && \"$control_status\" != RESUME ]]; then control_archive_size=\"$(jq -er '.archive_size_bytes' \"$control_state\" 2><PATH>" || control_archive_size=-1; if ! append_obs_target CONTROL control-bootstrap-v2 control-bootstrap-v2 \"$control_archive_size\"; then observability_input_bad=$((observability_input_bad+1)); fi; fi"},{"line":345,"text":"printf 'CONTROL|state=%s|CONTROL_FRESHNESS=%s|generation=%s|age_seconds=%s|sla_seconds=%s|archive_size_bytes=%s|restore_evidence_checked=%s|source_coverage=RESTORE_EVIDENCE|retention=ACTIVE_OWNER_AWARE\\n' \"$control_status\" \"$control_status\" \"$control_generation\" \"$control_age\" \"$CONTROL_SLA_SECONDS\" \"$control_archive_size\" \"$control_checked\""},{"line":410,"text":"      service=\"${unit%.timer}.service\""},{"line":412,"text":"      if [[ \"$load_state\" == loaded && \"$unit_file_state\" == enabled && \"$active_state\" == active && \"$result\" != failed && \"$service_result\" != failed ]]; then status=OK; scheduler_ok=$((scheduler_ok+1)); else status=BAD; infra_bad=$((infra_bad+1)); fi"},{"line":422,"text":"for lock in <PATH> <PATH> <PATH> <PATH> do"},{"line":466,"text":"if [[ -s \"$RETENTION_HEALTH\" && ! -L \"$RETENTION_HEALTH\" ]] && jq -e '.schema==\"homelab-backup-retention-v1\" and .status==\"OK\" and .policy.vm_keep==2 and .policy.app_keep==7 and .policy.control_keep==4 and .owner_aware_gc_proven==true and .destructive_canary_proven==true' \"$RETENTION_HEALTH\" ><PATH> then"},{"line":473,"text":"printf 'RETENTION|status=%s|historical_gc_proven=%s|owner_aware_gc_proven=%s|vm_keep=2|app_keep=7|control_keep=4\\n' \"$retention_status\" \"$( [[ \"$historical_gc_proven\" == true ]] && printf YES || printf NO )\" \"$( [[ \"$owner_aware_gc_proven\" == true ]] && printf YES || printf NO )\""},{"line":510,"text":"if (( stale > 0 || unverified > 0 || payload_leaks > 0 || infra_bad > 0 )); then backup_status=RED"},{"line":527,"text":"(( stale > 0 )) && add_risk HIGH RPO_BREACH"},{"line":536,"text":"printf 'SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=%s|RISK_SEVERITY=%s|RISK_REASONS=%s|DR_PROOF_STATUS=%s|CONTROL_FRESHNESS=%s|LIFECYCLE_STATUS=%s|VM_COUNT=%s|APP_COUNT=%s|FRESH=%s|STALE=%s|RESUME=%s|UNVERIFIED=%s|CONTROL_STATE=%s|CLOUD_OK=%s|SCHEDULER_OK=%s|SOURCE_OK=%s|SOURCE_DRIFT=%s|STAGING_BAD=%s|STAGING_WARN=%s|PAYLOAD_LEAKS=%s|RETENTION_STATUS=%s|OBSERVABILITY=%s|SIZE_ANOMALIES=%s|CAPACITY=%s|GLOBAL_DR_PROVEN=%s\\n' \"$backup_status\" \"$risk_severity\" \"$risk_reasons\" \"$dr_proof_status\" \"$control_status\" \"$lifecycle_status\" \"$vm_seen\" \"$app_seen\" \"$fresh\" \"$stale\" \"$resume\" \"$unverified\" \"$control_status\" \"$cloud_ok\" \"$scheduler_ok\" \"$source_ok\" \"$source_drift\" \"$staging_bad\" \"$staging_warn\" \"$payload_leaks\" \"$retention_status\" \"$observability_status\" \"$size_anomaly_count\" \"$capacity_status\" \"$global_dr_proven\""},{"line":541,"text":"  jq -n --arg task \"$TASK_ID\" --arg change \"$CHANGE_ID\" --arg at \"$(date -u +%Y-%m-%dT%H:%M:%SZ)\" --arg backup \"$backup_status\" --arg risk \"$risk_severity\" --arg reasons \"$risk_reasons\" --arg control \"$control_status\" --arg dr \"$dr_proof_status\" --arg lifecycle \"$lifecycle_status\" --arg escrow \"$escrow_status\" --arg staging \"$staging_status\" --arg retention \"$retention_status\" --arg observability \"$observability_status\" --arg capacity \"$capacity_status\" --argjson historical \"$historical_gc_proven\" --argjson owner_gc \"$owner_aware_gc_proven\" --argjson staging_

===== PUBLIC OUTPUT TRUNCATED; FULL RAW LOG RETAINED LOCALLY =====

E|IDX=470|BASENAME=SUPPORT-261006-PVE01-INTERPRETER-FAILURE-RCA-99664R1-20261006T033816Z.json|PATH_SHA256=e688ef31f5cd7966a33fe2ab0f13bfc70b5cf0e7d6125a8285073a543dbb4360|SHA256=2c0b21e55dfa84f1b83e7dbd9b7863a6c6aaa8a4e1ed48bc171f92fe10aa5a26|SIZE=23369|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|470|37:  "output": "PVE01_INTERPRETER_FAILURE_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_NETWORK_MUTATION=true\nNO_FIREWALL_CHANGE=true\nNO_BACKUP_EXECUTION=true\nNODE_HOSTNAME=pve01\nNODE_KERNEL=7.0.12-1-pve\nFAILED_UNIT_COUNT=3\nREC|SCRIPT_INTERPRETER|homelab-backup-v2.service|PRESENT=true|INTERPRETER=PYTHON|BYTES=1656|SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c\nPY_AST_PARSE_RC=0\nPY_IMPORT_COUNT=7\nREC|PY_IMPORT|__future__\nREC|PY_IMPORT|hashlib\nREC|PY_IMPORT|importlib\nREC|PY_IMPORT|os\nREC|PY_IMPORT|pathlib\nREC|PY_IMPORT|stat\nREC|PY_IMPORT|sys\nREC|PY_CALL_COUNT|open|1\nPY_FUNCTION_COUNT=2\nPY_EXIT_CODE_SET=NONE\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PYTHON3|1\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|BASH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|CURL|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|GETENT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|RCLONE|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|RSYNC|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|TAR|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|ZSTD|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|VZDUMP|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PVESH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|QM|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PCT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SSH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SYSTEMCTL|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|EXIT|4\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SYS_EXIT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|MANIFEST|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|BACKUP|1\nREC|SCRIPT_INTERPRETER|homelab-backup-audit.service|PRESENT=true|INTERPRETER=PYTHON|BYTES=19756|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3\nPY_AST_PARSE_RC=0\nPY_IMPORT_COUNT=9\nREC|PY_IMPORT|datetime\nREC|PY_IMPORT|hashlib\nREC|PY_IMPORT|json\nREC|PY_IMPORT|os\nREC|PY_IMPORT|pathlib\nREC|PY_IMPORT|re\nREC|PY_IMPORT|subprocess\nREC|PY_IMPORT|sys\nREC|PY_IMPORT|time\nREC|PY_CALL_COUNT|subprocess.run|1\nPY_FUNCTION_COUNT=7\nPY_EXIT_CODE_SET=0,64,69\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PYTHON3|1\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|BASH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|CURL|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|GETENT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|RCLONE|5\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|RSYNC|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|TAR|11\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|ZSTD|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|VZDUMP|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PVESH|1\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|QM|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PCT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SSH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SYSTEMCTL|4\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|EXIT|4\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SYS_EXIT|4\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|MANIFEST|3\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|BACKUP|29\nREC|SCRIPT_INTERPRETER|homelab-private-vpn-hosts-health.service|PRESENT=true|INTERPRETER=BASH|BYTES=1411|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82\nSHELL_PARSE_RC=0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|PYTHON3|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|BASH|1\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|CURL|2\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|GETENT|1\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|RCLONE|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|RSYNC|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|TAR|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|ZSTD|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|VZDUMP|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|PVESH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|QM|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|PCT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|SSH|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|SYSTEMCTL|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|EXIT|2\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|SYS_EXIT|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|MANIFEST|0\nREC|SCRIPT_SEMANTIC_TOKEN|homelab-private-vpn-hosts-health.service|BACKUP|0\nREC|GIT_CURRENT_SOURCE|homelab-backup-v2|REPO=homelab-desired-state|COMMIT=16e0d5d864f1|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=PYTHON|VALID=true|SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c|PATH_SHA=d7d9ad10d1a14efd811dac67b2e2900c7a6b6f7a7cf5c0a5216b6f8449bf3279\nREC|GIT_CURRENT_SOURCE|homelab-backup-audit|REPO=homelab-admin__homelab-desired-state|COMMIT=a8dbe95105bf|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=BASH|VALID=true|SHA256=30c601435f8b90a2c6107e5e55957781ec3be00dc0d4b89884bd11c28545db2c|PATH_SHA=1d0288e3e733d3904f1826dddea0567c33253f0b23248af5337364d90f6ebc94\nREC|GIT_CURRENT_SOURCE|homelab-backup-audit|REPO=w2-skladchik-gitea-check|COMMIT=a8dbe95105bf|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=BASH|VALID=true|SHA256=30c601435f8b90a2c6107e5e55957781ec3be00dc0d4b89884bd11c28545db2c|PATH_SHA=1d0288e3e733d3904f1826dddea0567c33253f0b23248af5337364d90f6ebc94\nREC|GIT_CURRENT_SOURCE|homelab-backup-audit|REPO=homelab-desired-state|COMMIT=16e0d5d864f1|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=PYTHON|VALID=true|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3|PATH_SHA=1d0288e3e733d3904f1826dddea0567c33253f0b23248af5337364d90f6ebc94\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-configs-worktree|COMMIT=cfab5168f800|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=227d5c5bf4e3287bc44fdcb96d1b383e7973fbca491748fabfb3b5433cccc228|PATH_SHA=935104bd8f8c0f0600d307970f2a0ce9eca005d95cacbac33df0823b868f09ff\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-configs-worktree|COMMIT=cfab5168f800|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82|PATH_SHA=ca55a68bca4570b23c29467b862f2ed9126d5d8f194d8ab5b9ac86c78a648ef4\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-admin__homelab-configs|COMMIT=cfab5168f800|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=227d5c5bf4e3287bc44fdcb96d1b383e7973fbca491748fabfb3b5433cccc228|PATH_SHA=935104bd8f8c0f0600d307970f2a0ce9eca005d95cacbac33df0823b868f09ff\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-admin__homelab-configs|COMMIT=cfab5168f800|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82|PATH_SHA=ca55a68bca4570b23c29467b862f2ed9126d5d8f194d8ab5b9ac86c78a648ef4\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-admin__homelab-desired-state|COMMIT=a8dbe95105bf|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82|PATH_SHA=3df58a44ab8893ec8b284c85f9f8e49608b6e9dbd9c68bdf0cbd951ba70528fc\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=w2-skladchik-gitea-check|COMMIT=a8dbe95105bf|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82|PATH_SHA=3df58a44ab8893ec8b284c85f9f8e49608b6e9dbd9c68bdf0cbd951ba70528fc\nREC|GIT_CURRENT_SOURCE|homelab-check-private-vpn-hosts|REPO=homelab-desired-state|COMMIT=16e0d5d864f1|PATH_CLASS=OTHER|INTERPRETER=BASH|VALID=true|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82|PATH_SHA=3df58a44ab8893ec8b284c85f9f8e49608b6e9dbd9c68bdf0cbd951ba70528fc\nREC|UNIT_RESULT|homelab-backup-v2.service|ACTIVE=failed|RESULT=exit-code|STATUS=1\nREC|JOURNAL_CLASS|homelab-backup-v2.service|SYNTAX_ERROR|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|TRACEBACK|2\nREC|JOURNAL_CLASS|homelab-backup-v2.service|EXCEPTION|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|FAILED|6\nREC|JOURNAL_CLASS|homelab-backup-v2.service|STALE|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|MISSING|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|INVALID|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|MANIFEST|5\nREC|JOURNAL_CLASS|homelab-backup-v2.service|NO_BACKUP|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|UNREACHABLE|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|REACHABLE|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|HTTP_|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|CURL_|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|COULD_NOT_RESOLVE|0\nREC|JOURNAL_CLASS|homelab-backup-v2.service|CONNECTION_REFUSED|0\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|1|  File \"PATH_REDACTED, line 908, in backup_target\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|2|    payload,meta,cleanup=capture_target(t,gen,work); meta['generation']=gen\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|3|                         ~~~~~~~~~~~~~~^^^^^^^^^^^^\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|4|  File \"PATH_REDACTED, line 873, in capture_target\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|5|    if typ=='pve_guest': return capture_pve_guest(t,gen,work)\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|6|                                ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|7|  File \"PATH_REDACTED, line 192, in capture_pve_guest\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|8|    if t.get('guest_type')!='lxc': return original(t,gen,work)\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|9|                                          ~~~~~~~~^^^^^^^^^^^^\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|10|  File \"PATH_REDACTED, line 44, in capture_pve_guest\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|11|    _need(len(rows)==1,'PVE_GUEST_NOT_UNIQUE')\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|12|    ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|13|  File \"PATH_REDACTED, line 9, in _need\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|14|    if not ok: raise QemuAdapterError(code)\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|15|               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|16|qemu_adapter.QemuAdapterError: PVE_GUEST_NOT_UNIQUE\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|17|homelab-backup-v2.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|19|Failed to start homelab-backup-v2.service - Homelab Backup V2 manifest-driven scheduler.\nREC|JOURNAL_SAFE_TAIL|homelab-backup-v2.service|20|homelab-backup-v2.service: Consumed 664ms CPU time, 170M memory peak.\nREC|UNIT_RESULT|homelab-backup-audit.service|ACTIVE=failed|RESULT=exit-code|STATUS=1\nREC|JOURNAL_CLASS|homelab-backup-audit.service|SYNTAX_ERROR|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|TRACEBACK|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|EXCEPTION|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|FAILED|10\nREC|JOURNAL_CLASS|homelab-backup-audit.service|STALE|18\nREC|JOURNAL_CLASS|homelab-backup-audit.service|MISSING|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|INVALID|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|MANIFEST|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|NO_BACKUP|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|UNREACHABLE|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|REACHABLE|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|HTTP_|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|CURL_|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|COULD_NOT_RESOLVE|0\nREC|JOURNAL_CLASS|homelab-backup-audit.service|CONNECTION_REFUSED|0\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|1|TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=80346|legacy_age_seconds=2757450|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|2|TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=78437|replica_count=2|state_id=ct111\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|3|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=64212|legacy_age_seconds=2795945|replica_count=2|state_id=ct112|generation=v2-ct112-20261005T094532Z-ee250335d44e\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|4|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=49476|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|5|TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=83889|replica_count=2|state_id=vm130\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|6|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=47372|legacy_age_seconds=65792|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|7|TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=90873|replica_count=2|state_id=vm160\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|8|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=33943|legacy_age_seconds=1702187|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|9|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=30178|legacy_age_seconds=1731719|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|10|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=45181|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|11|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=12854|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|12|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|13|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|14|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|15|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|16|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=4|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|17|homelab-backup-audit.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|19|Failed to start homelab-backup-audit.service - Homelab unified backup and DR audit.\nREC|JOURNAL_SAFE_TAIL|homelab-backup-audit.service|20|homelab-backup-audit.service: Consumed 2.712s CPU time, 148.6M memory peak.\nREC|UNIT_RESULT|homelab-private-vpn-hosts-health.service|ACTIVE=failed|RESULT=exit-code|STATUS=1\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|SYNTAX_ERROR|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|TRACEBACK|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|EXCEPTION|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|FAILED|60\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|STALE|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|MISSING|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|INVALID|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|MANIFEST|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|NO_BACKUP|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|UNREACHABLE|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|REACHABLE|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|HTTP_|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|CURL_|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|COULD_NOT_RESOLVE|0\nREC|JOURNAL_CLASS|homelab-private-vpn-hosts-health.service|CONNECTION_REFUSED|0\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|1|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|2|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|4|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|5|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|6|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|8|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|9|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|10|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|12|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|13|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|14|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|16|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|17|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|18|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|JOURNAL_SAFE_TAIL|homelab-private-vpn-hosts-health.service|20|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nVPN_ENTRY_COUNT=6\nREC|VPN_ENTRY_PROBE|1|ID=HOST_cf7d454166e8|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nREC|VPN_ENTRY_PROBE|2|ID=HOST_f5d71b390697|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nREC|VPN_ENTRY_PROBE|3|ID=HOST_5f1cb1f653ce|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nREC|VPN_ENTRY_PROBE|4|ID=HOST_237749fd7e8b|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nREC|VPN_ENTRY_PROBE|5|ID=HOST_9a1694e5d127|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nREC|VPN_ENTRY_PROBE|6|ID=HOST_10f40b1b014f|FIELD_COUNT=1|HAS_URL=false|DNS=NA\nCT112_EFFECTIVE_PORT=5335\nCT112_EFFECTIVE_PORT_SS_COUNT=4\nCT112_EFFECTIVE_PORT_TCP_PROC_COUNT=2\nCT112_EFFECTIVE_PORT_TCP6_PROC_COUNT=0\nCT112_EFFECTIVE_PORT_UDP_PROC_COUNT=2\nCT112_EFFECTIVE_PORT_UDP6_PROC_COUNT=0\nCT112_EFFECTIVE_PORT_DNS_TOOL=dig\nCT112_EFFECTIVE_PORT_DNS_RC=0\nCT112_EFFECTIVE_PORT_DNS_OUTPUT_SHA=650524f52e823c04caf68ae8301bb79b0e33bc6fcdd937bfbe5d796768219881\nUNBOUND_PORT53_ABSENCE_EXPECTED=true\nENTERPRISE_REPO_DISABLE_REQUIRED=true\nDECISION=PASS_PVE01_INTERPRETER_FAILURE_RCA\nNEXT_GATE=PVE01_REPAIR_REAL_FAILED_UNITS_AND_REPO_POLICY\nTASK_RESULT=PVE01_INTERPRETER_FAILURE_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-INTERPRETER-FAILURE-RCA-99664R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=471|BASENAME=SUPPORT-261006-PVE01-INTERPRETER-FAILURE-RCA-99664R1-20261006T033816Z-latest.txt|PATH_SHA256=0e11de16983b4bf0166b2d254c96a7aa4618da56237c99e1ed2b6a4260575ac6|SHA256=d83c7c27e218100adfda767617f89a084537302c5590952732f9205fb54c4ced|SIZE=22614|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|471|46:REC|SCRIPT_INTERPRETER|homelab-backup-v2.service|PRESENT=true|INTERPRETER=PYTHON|BYTES=1656|SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c
SRC|BACKUP|471|59:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PYTHON3|1
SRC|BACKUP|471|60:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|BASH|0
SRC|BACKUP|471|61:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|CURL|0
SRC|BACKUP|471|62:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|GETENT|0
SRC|BACKUP|471|63:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|RCLONE|0
SRC|BACKUP|471|64:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|RSYNC|0
SRC|BACKUP|471|65:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|TAR|0
SRC|BACKUP|471|66:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|ZSTD|0
SRC|BACKUP|471|67:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|VZDUMP|0
SRC|BACKUP|471|68:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PVESH|0
SRC|BACKUP|471|69:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|QM|0
SRC|BACKUP|471|70:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|PCT|0
SRC|BACKUP|471|71:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SSH|0
SRC|BACKUP|471|72:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SYSTEMCTL|0
SRC|BACKUP|471|73:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|EXIT|4
SRC|BACKUP|471|74:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|SYS_EXIT|0
SRC|BACKUP|471|75:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|MANIFEST|0
SRC|BACKUP|471|76:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-v2.service|BACKUP|1
SRC|BACKUP|471|77:REC|SCRIPT_INTERPRETER|homelab-backup-audit.service|PRESENT=true|INTERPRETER=PYTHON|BYTES=19756|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3
SRC|BACKUP|471|92:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PYTHON3|1
SRC|BACKUP|471|93:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|BASH|0
SRC|BACKUP|471|94:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|CURL|0
SRC|BACKUP|471|95:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|GETENT|0
SRC|BACKUP|471|96:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|RCLONE|5
SRC|BACKUP|471|97:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|RSYNC|0
SRC|BACKUP|471|98:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|TAR|11
SRC|BACKUP|471|99:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|ZSTD|0
SRC|BACKUP|471|100:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|VZDUMP|0
SRC|BACKUP|471|101:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PVESH|1
SRC|BACKUP|471|102:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|QM|0
SRC|BACKUP|471|103:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|PCT|0
SRC|BACKUP|471|104:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SSH|0
SRC|BACKUP|471|105:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SYSTEMCTL|4
SRC|BACKUP|471|106:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|EXIT|4
SRC|BACKUP|471|107:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|SYS_EXIT|4
SRC|BACKUP|471|108:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|MANIFEST|3
SRC|BACKUP|471|109:REC|SCRIPT_SEMANTIC_TOKEN|homelab-backup-audit.service|BACKUP|29
SRC|BACKUP|471|130:REC|GIT_CURRENT_SOURCE|homelab-backup-v2|REPO=homelab-desired-state|COMMIT=16e0d5d864f1|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=PYTHON|VALID=true|SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c|PATH_SHA=d7d9ad10d1a14efd811dac67b2e2900c7a6b6f7a7cf5c0a5216b6f8449bf3279
SRC|BACKUP|471|131:REC|GIT_CURRENT_SOURCE|homelab-backup-audit|REPO=homelab-admin__homelab-desired-state|COMMIT=a8dbe95105bf|PATH_CLASS=ARCHIVE_OR_BACKUP|INTERPRETER=BASH|VALID=true|SHA256=30c601435f8b90a2c6107e5e55957781ec3be00dc0d4b89884bd11c28545db2c|PATH_SHA=1d0288e3e733d3904f1826dddea0567c33253f0b23248af5337364d90f6ebc94
REC|BACKUP_SOURCE|IDX=472|BASENAME=SUPPORT-261006-PVE01-FAILED-UNITS-RECOVERY-RCA-99672R1-20261006T050017Z.txt|PATH_SHA256=a356a901c52ec226f0d5cab63a930de6b87409b1fe5e4f738fd480f85cb7a38e|SHA256=6ac9ff0e3cb90e523d09b3a848a7d0d45af85de8cfc3e50079599ed55add7df6|SIZE=32044|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|472|18:REC|FAILED_UNIT_STATE|homelab-backup-audit.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=1|START_EPOCH=1791261418|EXIT_EPOCH=1791261422|EXIT_AFTER_99670=false
SRC|BACKUP|472|19:REC|FAILED_UNIT_FRAGMENT|homelab-backup-audit.service|BASENAME=homelab-backup-audit.service|SHA256=7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa
SRC|BACKUP|472|20:REC|FAILED_UNIT_EXECSTART|homelab-backup-audit.service|BYTES=244|SHA256=5a28904328b20e6dbeb2f818ff18ec6005c7dbf6ed24700b96f5bd528405cd47
SRC|BACKUP|472|21:REC|FAILED_UNIT_EXEC_FILE|homelab-backup-audit.service|IDX=1|BASENAME=homelab-backup-audit|BYTES=19756|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3
SRC|BACKUP|472|22:REC|FAILED_UNIT_EXEC_FILE_COUNT|homelab-backup-audit.service|1
SRC|BACKUP|472|23:REC|FAILED_UNIT_JOURNAL|homelab-backup-audit.service|LINES=180|SHA256=9bd6eea7ef8c09f5562cd04df593419e77c0732f88a14fc88b15c7c5a3164421
SRC|BACKUP|472|24:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|PVE_GUEST_NOT_UNIQUE|0
SRC|BACKUP|472|25:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|RPO_BREACH|27
SRC|BACKUP|472|26:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_RED|7
SRC|BACKUP|472|27:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_OK|0
SRC|BACKUP|472|28:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|COULD_NOT_RESOLVE|0
SRC|BACKUP|472|29:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NAME_OR_SERVICE_NOT_KNOWN|0
SRC|BACKUP|472|30:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0
SRC|BACKUP|472|31:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|CONNECTION_REFUSED|0
SRC|BACKUP|472|32:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NO_ROUTE_TO_HOST|0
SRC|BACKUP|472|33:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMED_OUT|0
SRC|BACKUP|472|34:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMEOUT|0
SRC|BACKUP|472|35:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|FAILED|14
SRC|BACKUP|472|36:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|ERROR|0
SRC|BACKUP|472|37:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|STALE|27
SRC|BACKUP|472|38:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|1|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=14548|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9
SRC|BACKUP|472|39:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|2|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|472|40:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|3|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|472|41:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|4|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|472|42:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|5|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|472|43:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|6|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=4|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
SRC|BACKUP|472|44:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|7|HOST_a0dac0c74d36: Main process exited, code=exited, status=1<PATH>
SRC|BACKUP|472|45:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|8|HOST_a0dac0c74d36: Failed with result 'exit-code'.
SRC|BACKUP|472|46:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|9|Failed to start HOST_a0dac0c74d36 - Homelab unified backup and DR audit.
SRC|BACKUP|472|47:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|10|HOST_a0dac0c74d36: Consumed 2.707s CPU time, 147.5M memory peak.
SRC|BACKUP|472|48:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|11|Starting HOST_a0dac0c74d36 - Homelab unified backup and DR audit...
SRC|BACKUP|472|49:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|12|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=401|generation=app-filebrowser-pve01-20261006T043010Z
SRC|BACKUP|472|50:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|13|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=239|generation=app-hbarhub-pve01-20261006T043148Z
SRC|BACKUP|472|51:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|14|TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=345|generation=app-immich-pve01-20261006T043031Z
SRC|BACKUP|472|52:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|15|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29207|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z
SRC|BACKUP|472|53:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|16|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=42881|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|472|54:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|17|TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=83946|legacy_age_seconds=2761050|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
SRC|BACKUP|472|55:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|18|TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=82037|replica_count=2|state_id=ct111
SRC|BACKUP|472|56:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|19|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=67812|legacy_age_seconds=2799545|replica_count=2|state_id=ct112|generation=v2-ct112-20261005T094532Z-ee250335d44e
SRC|BACKUP|472|57:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|20|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=53076|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7
REC|BACKUP_SOURCE|IDX=473|BASENAME=SUPPORT-261006-PVE01-FAILED-UNITS-RECOVERY-RCA-99672R1-20261006T050017Z.json|PATH_SHA256=814450225a1af3f8d9fdf6277f90c4adfcece19e5acd901f4ad24244d20f03f3|SHA256=417e1b042467f2160becbe866454c3c1773040279bd63266c5b5647974293231|SIZE=33887|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|473|37:  "output": "PVE01_FAILED_UNITS_RECOVERY_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nPOLICY_REPAIR_EPOCH=1791262278\nNODE_HOSTNAME=pve01\nNODE_KERNEL=7.0.12-1-pve\nSYSTEMD_SYSTEM_STATE=degraded\nFAILED_UNIT_COUNT=4\nREC|FAILED_UNIT_STATE|homelab-backup-audit.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=1|START_EPOCH=1791261418|EXIT_EPOCH=1791261422|EXIT_AFTER_99670=false\nREC|FAILED_UNIT_FRAGMENT|homelab-backup-audit.service|BASENAME=homelab-backup-audit.service|SHA256=7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa\nREC|FAILED_UNIT_EXECSTART|homelab-backup-audit.service|BYTES=244|SHA256=5a28904328b20e6dbeb2f818ff18ec6005c7dbf6ed24700b96f5bd528405cd47\nREC|FAILED_UNIT_EXEC_FILE|homelab-backup-audit.service|IDX=1|BASENAME=homelab-backup-audit|BYTES=19756|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3\nREC|FAILED_UNIT_EXEC_FILE_COUNT|homelab-backup-audit.service|1\nREC|FAILED_UNIT_JOURNAL|homelab-backup-audit.service|LINES=180|SHA256=9bd6eea7ef8c09f5562cd04df593419e77c0732f88a14fc88b15c7c5a3164421\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|PVE_GUEST_NOT_UNIQUE|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|RPO_BREACH|27\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_RED|7\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_OK|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|COULD_NOT_RESOLVE|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NAME_OR_SERVICE_NOT_KNOWN|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|CONNECTION_REFUSED|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NO_ROUTE_TO_HOST|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMED_OUT|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMEOUT|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|FAILED|14\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|ERROR|0\nREC|FAILED_UNIT_CLASS|homelab-backup-audit.service|STALE|27\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|1|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=14548|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|2|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|3|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|4|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|5|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|6|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=4|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|7|HOST_a0dac0c74d36: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|9|Failed to start HOST_a0dac0c74d36 - Homelab unified backup and DR audit.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|10|HOST_a0dac0c74d36: Consumed 2.707s CPU time, 147.5M memory peak.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|11|Starting HOST_a0dac0c74d36 - Homelab unified backup and DR audit...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|12|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=401|generation=app-filebrowser-pve01-20261006T043010Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|13|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=239|generation=app-hbarhub-pve01-20261006T043148Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|14|TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=345|generation=app-immich-pve01-20261006T043031Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|15|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29207|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|16|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=42881|generation=control-bootstrap-v2-pve01-20260916T120057Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|17|TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=83946|legacy_age_seconds=2761050|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|18|TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=82037|replica_count=2|state_id=ct111\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|19|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=67812|legacy_age_seconds=2799545|replica_count=2|state_id=ct112|generation=v2-ct112-20261005T094532Z-ee250335d44e\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|20|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=53076|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|21|TARGET|logical_id=vm130|kind=VM|state=STALE|source=NONE|v2_age_seconds=87489|replica_count=2|state_id=vm130\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|22|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=50972|legacy_age_seconds=69392|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|23|TARGET|logical_id=vm160|kind=VM|state=STALE|source=NONE|v2_age_seconds=94473|replica_count=2|state_id=vm160\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|24|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=37543|legacy_age_seconds=1705787|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|25|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=33778|legacy_age_seconds=1735319|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|26|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=48781|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|27|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=16454|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|28|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|29|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|30|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|31|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|32|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=4|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|33|HOST_a0dac0c74d36: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|35|Failed to start HOST_a0dac0c74d36 - Homelab unified backup and DR audit.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|36|HOST_a0dac0c74d36: Consumed 2.761s CPU time, 148.4M memory peak.\nREC|FAILED_UNIT_STATE|homelab-backup-v2.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=2|START_EPOCH=1791262452|EXIT_EPOCH=1791262453|EXIT_AFTER_99670=true\nREC|FAILED_UNIT_FRAGMENT|homelab-backup-v2.service|BASENAME=homelab-backup-v2.service|SHA256=1ef3e6bc660767a1f29a6a0bfa8d1b7a2419370b2250764ca181c34c93188565\nREC|FAILED_UNIT_EXECSTART|homelab-backup-v2.service|BYTES=238|SHA256=9560de727725d1afd2a98e905f0aad5c2b1fbb1b3348ea1fdc4aa13e5038bdae\nREC|FAILED_UNIT_EXEC_FILE|homelab-backup-v2.service|IDX=1|BASENAME=homelab-backup-v2|BYTES=1656|SHA256=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c\nREC|FAILED_UNIT_EXEC_FILE_COUNT|homelab-backup-v2.service|1\nREC|FAILED_UNIT_JOURNAL|homelab-backup-v2.service|LINES=180|SHA256=d9f31b02b241f88591dbad318d411219659eff0bbb7feb44dd913e38461a507e\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|PVE_GUEST_NOT_UNIQUE|8\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|RPO_BREACH|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|BACKUP_STATUS_RED|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|BACKUP_STATUS_OK|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|COULD_NOT_RESOLVE|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|NAME_OR_SERVICE_NOT_KNOWN|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|CONNECTION_REFUSED|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|NO_ROUTE_TO_HOST|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|TIMED_OUT|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|TIMEOUT|0\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|FAILED|14\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|ERROR|8\nREC|FAILED_UNIT_CLASS|homelab-backup-v2.service|STALE|0\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|1|                         ~~~~~~~~~~~~~~^^^^^^^^^^^^\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|2|  File \"PATH_REDACTED, line 873, in capture_target\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|3|    if typ=='pve_guest': return capture_pve_guest(t,gen,work)\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|4|                                ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|5|  File \"PATH_REDACTED, line 192, in capture_pve_guest\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|6|    if HOST_4c1ea9873d5f('guest_type')!='lxc': return original(t,gen,work)\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|7|                                          ~~~~~~~~^^^^^^^^^^^^\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|8|  File \"PATH_REDACTED, line 44, in capture_pve_guest\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|9|    _need(len(rows)==1,'PVE_GUEST_NOT_UNIQUE')\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|10|    ~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|11|  File \"PATH_REDACTED, line 9, in _need\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|12|    if not ok: raise QemuAdapterError(code)\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|13|               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|14|qemu_adapter.QemuAdapterError: PVE_GUEST_NOT_UNIQUE\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|15|HOST_cf2099570f34: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|17|Failed to start HOST_cf2099570f34 - Homelab Backup V2 manifest-driven scheduler.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|18|HOST_cf2099570f34: Consumed 665ms CPU time, 169.5M memory peak.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|19|Starting HOST_cf2099570f34 - Homelab Backup V2 manifest-driven scheduler...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|20|SELFTEST_REPLACEMENT486=PASS\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|21|SCHEDULE_TARGET=guest-pve01-lxc-112\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|22|SCHEDULE_RESULT=FAIL\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|23|SCHEDULE_REASON=CT112_PIPELINE_FAILED\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|24|HOST_cf2099570f34: Main process exited, code=exited, status=2<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|26|Failed to start HOST_cf2099570f34 - Homelab Backup V2 manifest-driven scheduler.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|27|HOST_cf2099570f34: Consumed 5.092s CPU time, 173.3M memory peak.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|28|Starting HOST_cf2099570f34 - Homelab Backup V2 manifest-driven scheduler...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|29|SELFTEST_REPLACEMENT486=PASS\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|30|SCHEDULE_TARGET=xf-hkmods\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|31|SCHEDULE_RESULT=FAIL\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|32|SCHEDULE_REASON=COMMAND_FAILED\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|33|HOST_cf2099570f34: Main process exited, code=exited, status=2<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|35|Failed to start HOST_cf2099570f34 - Homelab Backup V2 manifest-driven scheduler.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-backup-v2.service|36|HOST_cf2099570f34: Consumed 224ms CPU time, 135.4M memory peak.\nREC|FAILED_UNIT_STATE|homelab-private-vpn-hosts-health.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=1|START_EPOCH=1791262774|EXIT_EPOCH=1791262776|EXIT_AFTER_99670=true\nREC|FAILED_UNIT_FRAGMENT|homelab-private-vpn-hosts-health.service|BASENAME=homelab-private-vpn-hosts-health.service|SHA256=fdab069b1e8ed92423070a8c564bfd86347de3e578a728745e9d4567031b8cad\nREC|FAILED_UNIT_EXECSTART|homelab-private-vpn-hosts-health.service|BYTES=466|SHA256=3fdf138482d43ae2496ff06e578fd2c142d6e555c269b94c7a640b824ad89f71\nREC|FAILED_UNIT_EXEC_FILE|homelab-private-vpn-hosts-health.service|IDX=1|BASENAME=bash|BYTES=1298416|SHA256=223fe8564b60636bc738b6178d3ba9a50ef7d791266b0efae6363bb716e4c47f\nREC|FAILED_UNIT_EXEC_FILE|homelab-private-vpn-hosts-health.service|IDX=2|BASENAME=homelab-check-private-vpn-hosts|BYTES=1411|SHA256=591217150ef742117f677c4db12578528b1eaa0ec69ff31122003505a4fc7a82\nREC|FAILED_UNIT_EXEC_FILE|homelab-private-vpn-hosts-health.service|IDX=3|BASENAME=private-vpn-hosts.txt|BYTES=522|SHA256=09a974d2739c76c5ebfcba8ec9c43b757a63e91570a87535c67537bf073c273d\nREC|FAILED_UNIT_EXEC_FILE_COUNT|homelab-private-vpn-hosts-health.service|3\nREC|FAILED_UNIT_JOURNAL|homelab-private-vpn-hosts-health.service|LINES=180|SHA256=ad53b326bbc251d100f99699a216e83051b3e061aa97cff85fd44f941aab9785\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|PVE_GUEST_NOT_UNIQUE|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|RPO_BREACH|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|BACKUP_STATUS_RED|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|BACKUP_STATUS_OK|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|COULD_NOT_RESOLVE|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|NAME_OR_SERVICE_NOT_KNOWN|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|CONNECTION_REFUSED|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|NO_ROUTE_TO_HOST|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|TIMED_OUT|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|TIMEOUT|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|FAILED|90\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|ERROR|0\nREC|FAILED_UNIT_CLASS|homelab-private-vpn-hosts-health.service|STALE|0\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|1|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|2|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|4|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|5|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|6|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|8|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|9|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|10|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|12|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|13|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|14|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|16|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|17|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|18|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|20|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|21|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|22|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|24|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|25|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|26|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|28|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|29|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|30|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|32|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|33|Starting HOST_bf82fe335fe6 - Homelab private VPN hosts health check...\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|34|HOST_bf82fe335fe6: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|homelab-private-vpn-hosts-health.service|36|Failed to start HOST_bf82fe335fe6 - Homelab private VPN hosts health check.\nREC|FAILED_UNIT_STATE|skladchik-reports-monitor-supervisor.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=1|START_EPOCH=1791262362|EXIT_EPOCH=1791262365|EXIT_AFTER_99670=true\nREC|FAILED_UNIT_FRAGMENT|skladchik-reports-monitor-supervisor.service|BASENAME=skladchik-reports-monitor-supervisor.service|SHA256=e874fb03573b76181f3eb812c7285848e60705923c172a2f102504a7b9100ef7\nREC|FAILED_UNIT_EXECSTART|skladchik-reports-monitor-supervisor.service|BYTES=272|SHA256=b3cf723f4bbe0d2362700a0c43d5de45b84332256e771a0c6b5844bbe30663e7\nREC|FAILED_UNIT_EXEC_FILE|skladchik-reports-monitor-supervisor.service|IDX=1|BASENAME=skladchik-reports-monitor-supervisor|BYTES=16903|SHA256=3a9bf9f3f9c28dbf670300f0851a5b7f86eb41fa41cdf44d0935337ae8ef02a2\nREC|FAILED_UNIT_EXEC_FILE_COUNT|skladchik-reports-monitor-supervisor.service|1\nREC|FAILED_UNIT_JOURNAL|skladchik-reports-monitor-supervisor.service|LINES=180|SHA256=4e6ee35c336a9b77948519e1115141083538d03dec02a4f46f30dd837d1d4d66\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|PVE_GUEST_NOT_UNIQUE|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|RPO_BREACH|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|BACKUP_STATUS_RED|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|BACKUP_STATUS_OK|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|COULD_NOT_RESOLVE|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|NAME_OR_SERVICE_NOT_KNOWN|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|CONNECTION_REFUSED|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|NO_ROUTE_TO_HOST|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|TIMED_OUT|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|TIMEOUT|0\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|FAILED|3\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|ERROR|1\nREC|FAILED_UNIT_CLASS|skladchik-reports-monitor-supervisor.service|STALE|0\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|1|HOST_f87c67064af3: Deactivated successfully.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|2|Finished HOST_f87c67064af3 - Skladchik reports monitor full supervisor.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|3|Starting HOST_f87c67064af3 - Skladchik reports monitor full supervisor...\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|4|SUPERVISOR_STATUS=OK\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|5|SUPERVISOR_MAIL_SENT=no\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|6|SUPERVISOR_PROBLEMS=none\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|7|MONITOR=OK reports=19 open=11 resolved=8\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|8|CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20261005T203005Z\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|9|REGISTRY_SOURCE=IP_REDACTED\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|10|WORKER_TARGET=debian@IP_REDACTED\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|11|NETBIRD_ROUTE=IP_REDACTED dev wt0 table 7120 src IP_REDACTED uid 0\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|12|HOST_f87c67064af3: Deactivated successfully.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|13|Finished HOST_f87c67064af3 - Skladchik reports monitor full supervisor.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|14|Starting HOST_f87c67064af3 - Skladchik reports monitor full supervisor...\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|15|SUPERVISOR_STATUS=OK\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|16|SUPERVISOR_MAIL_SENT=no\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|17|SUPERVISOR_PROBLEMS=none\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|18|MONITOR=OK reports=19 open=11 resolved=8\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|19|CANONICAL_BACKUP=SEALED_PROVEN generation=app-skladchik-reports-monitor-pve01-20261005T203005Z\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|20|REGISTRY_SOURCE=IP_REDACTED\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|21|WORKER_TARGET=debian@IP_REDACTED\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|22|NETBIRD_ROUTE=IP_REDACTED dev wt0 table 7120 src IP_REDACTED uid 0\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|23|HOST_f87c67064af3: Deactivated successfully.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|24|Finished HOST_f87c67064af3 - Skladchik reports monitor full supervisor.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|25|Starting HOST_f87c67064af3 - Skladchik reports monitor full supervisor...\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|26|SUPERVISOR_STATUS=FAIL\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|27|SUPERVISOR_MAIL_SENT=yes\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|28|SUPERVISOR_PROBLEMS=registry_source_not_core_apps,canonical_backup_probe_failed,canonical_backup_probe_status_not_ok,canonical_backup_app_identity_bad,canonical_backup_not_sealed_proven,canonical_backup_generation_bad\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|29|MONITOR=OK reports=19 open=11 resolved=8\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|30|CANONICAL_BACKUP= generation=\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|31|REGISTRY_SOURCE=TARGET_REGISTRY_ERROR=REGISTRY_SCHEMA_INVALID\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|32|WORKER_TARGET=debian@IP_REDACTED\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|33|NETBIRD_ROUTE=IP_REDACTED dev wt0 table 7120 src IP_REDACTED uid 0\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|34|HOST_f87c67064af3: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|FAILED_UNIT_SAFE_TAIL|skladchik-reports-monitor-supervisor.service|36|Failed to start HOST_f87c67064af3 - Skladchik reports monitor full supervisor.\nREC|ROLE_TIMER|homelab-backup-v2.timer|ACTIVE=active|ENABLED=enabled|LAST_EPOCH=1791262452|LAST_AFTER_99670=true|NEXT_EPOCH=0|NEXT_PRESENT=false\nREC|ROLE_TIMER|homelab-backup-audit.timer|ACTIVE=active|ENABLED=enabled|LAST_EPOCH=1791261418|LAST_AFTER_99670=false|NEXT_EPOCH=1791263168|NEXT_PRESENT=true\nREC|ROLE_TIMER|homelab-private-vpn-hosts-health.timer|ACTIVE=active|ENABLED=enabled|LAST_EPOCH=1791262774|LAST_AFTER_99670=true|NEXT_EPOCH=0|NEXT_PRESENT=false\nREC|ROLE_TIMER|skladchik-reports-monitor-supervisor.timer|ACTIVE=active|ENABLED=enabled|LAST_EPOCH=1791262362|LAST_AFTER_99670=true|NEXT_EPOCH=0|NEXT_PRESENT=false\nTARGETS_SHA_NOW=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d\nTARGET_COUNT_NOW=20\nVM160_TARGET_COUNT_NOW=0\nREC|BACKUP_TARGET_NOW|vm110|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm111|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm112|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm113|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm130|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm150|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm170|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm171|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm190|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm9130|KIND=VM|LIFECYCLE=ACTIVE\nREC|BACKUP_TARGET_NOW|vm180|KIND=VM|LIFECYCLE=RETIRED_PRESERVE\nREC|BACKUP_TARGET_NOW|vm200|KIND=VM|LIFECYCLE=RETIRED_PRESERVE\nBACKUP_V2_WRAPPER_SHA=894f8ea346b53a3d7846dbd6eeb5b89333957eb6d7a4f2f64fd4557cae176e1c\nBACKUP_V2_AST_OK=true\nREC|BACKUP_V2_SAFE_STRING|fresh_lxc_helper.py\nREC|BACKUP_V2_SAFE_STRING|producer_exec_helper.py\nBACKUP_AUDIT_LATEST_TARGET_COUNT=16\nBACKUP_AUDIT_RPO_BREACH_COUNT=6\nREC|BACKUP_RPO_BREACH|vm110|STATE=STALE|SOURCE=NONE|REPLICA_COUNT=2|V2_AGE_SECONDS=83946\nREC|BACKUP_RPO_BREACH|vm111|STATE=STALE|SOURCE=NONE|REPLICA_COUNT=2|V2_AGE_SECONDS=82037\nREC|BACKUP_RPO_BREACH|vm130|STATE=STALE|SOURCE=NONE|REPLICA_COUNT=2|V2_AGE_SECONDS=87489\nREC|BACKUP_RPO_BREACH|vm160|STATE=STALE|SOURCE=NONE|REPLICA_COUNT=2|V2_AGE_SECONDS=94473\nREC|BACKUP_RPO_BREACH|vm171|STATE=FRESH|SOURCE=V2|REPLICA_COUNT=2|V2_AGE_SECONDS=33778\nREC|BACKUP_RPO_BREACH|vm9130|STATE=FRESH|SOURCE=V2|REPLICA_COUNT=2|V2_AGE_SECONDS=16454\nBACKUP_AUDIT_SUMMARY_STATUS=OK\nBACKUP_AUDIT_SUMMARY_BACKUP_STATUS=RED\nBACKUP_AUDIT_SUMMARY_ISSUE_COUNT=4\nREC|CLUSTER_GUEST_NOW|100|TYPE=qemu|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|101|TYPE=qemu|NODE=pve01|STATUS=stopped\nREC|CLUSTER_GUEST_NOW|110|TYPE=lxc|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|111|TYPE=lxc|NODE=pve02|STATUS=running\nREC|CLUSTER_GUEST_NOW|112|TYPE=lxc|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|113|TYPE=lxc|NODE=pve02|STATUS=running\nREC|CLUSTER_GUEST_NOW|130|TYPE=qemu|NODE=pve03|STATUS=running\nREC|CLUSTER_GUEST_NOW|150|TYPE=qemu|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|170|TYPE=qemu|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|171|TYPE=qemu|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|190|TYPE=qemu|NODE=pve03|STATUS=running\nREC|CLUSTER_GUEST_NOW|210|TYPE=qemu|NODE=pve01|STATUS=running\nREC|CLUSTER_GUEST_NOW|9130|TYPE=qemu|NODE=pve02|STATUS=stopped\nCEPH_ENTERPRISE_DISABLED=true\nPVEENT_ENTERPRISE_DISABLED=true\nPVE_NO_SUBSCRIPTION_ACTIVE=true\nAPT_FULL_UPGRADE_SIM_RC=0\nAPT_FULL_UPGRADE_SIM_UPGRADE_COUNT=184\nAPT_FULL_UPGRADE_SIM_REMOVE_COUNT=0\nDECISION=PASS_PVE01_FAILED_UNITS_RECOVERY_RCA\nNEXT_GATE=PVE01_FAILED_UNIT_TARGETED_RECOVERY\nTASK_RESULT=PVE01_FAILED_UNITS_RECOVERY_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-FAILED-UNITS-RECOVERY-RCA-99672R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=474|BASENAME=SUPPORT-261006-PVE01-FAILED-UNITS-RECOVERY-RCA-99672R1-20261006T050017Z-latest.txt|PATH_SHA256=04bdfa3cf77492e79b4dc7ae3efe8e5e81ca3320e19401f2a4beea994333ff1f|SHA256=192357563db71c99d0cd6307b8b8d94ed23538ae96224a6f12992b29ef09a17e|SIZE=33074|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|474|47:REC|FAILED_UNIT_STATE|homelab-backup-audit.service|ACTIVE=failed|ENABLED=static|RESULT=exit-code|EXEC_STATUS=1|START_EPOCH=1791261418|EXIT_EPOCH=1791261422|EXIT_AFTER_99670=false
SRC|BACKUP|474|48:REC|FAILED_UNIT_FRAGMENT|homelab-backup-audit.service|BASENAME=homelab-backup-audit.service|SHA256=7b64362ef0d0d7e59f5305afd642386082a275bba359c3c9b3def97dd6c2c4aa
SRC|BACKUP|474|49:REC|FAILED_UNIT_EXECSTART|homelab-backup-audit.service|BYTES=244|SHA256=5a28904328b20e6dbeb2f818ff18ec6005c7dbf6ed24700b96f5bd528405cd47
SRC|BACKUP|474|50:REC|FAILED_UNIT_EXEC_FILE|homelab-backup-audit.service|IDX=1|BASENAME=homelab-backup-audit|BYTES=19756|SHA256=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3
SRC|BACKUP|474|51:REC|FAILED_UNIT_EXEC_FILE_COUNT|homelab-backup-audit.service|1
SRC|BACKUP|474|52:REC|FAILED_UNIT_JOURNAL|homelab-backup-audit.service|LINES=180|SHA256=9bd6eea7ef8c09f5562cd04df593419e77c0732f88a14fc88b15c7c5a3164421
SRC|BACKUP|474|53:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|PVE_GUEST_NOT_UNIQUE|0
SRC|BACKUP|474|54:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|RPO_BREACH|27
SRC|BACKUP|474|55:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_RED|7
SRC|BACKUP|474|56:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|BACKUP_STATUS_OK|0
SRC|BACKUP|474|57:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|COULD_NOT_RESOLVE|0
SRC|BACKUP|474|58:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NAME_OR_SERVICE_NOT_KNOWN|0
SRC|BACKUP|474|59:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TEMPORARY_FAILURE_IN_NAME_RESOLUTION|0
SRC|BACKUP|474|60:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|CONNECTION_REFUSED|0
SRC|BACKUP|474|61:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|NO_ROUTE_TO_HOST|0
SRC|BACKUP|474|62:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMED_OUT|0
SRC|BACKUP|474|63:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|TIMEOUT|0
SRC|BACKUP|474|64:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|FAILED|14
SRC|BACKUP|474|65:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|ERROR|0
SRC|BACKUP|474|66:REC|FAILED_UNIT_CLASS|homelab-backup-audit.service|STALE|27
SRC|BACKUP|474|67:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|1|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=14548|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9
SRC|BACKUP|474|68:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|2|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm110|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|474|69:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|3|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm111|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|474|70:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|4|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm130|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|474|71:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|5|ISSUE|severity=HIGH|code=RPO_BREACH|logical_id=vm160|root_cause=NO_FRESH_V2_OR_SEALED_QUORUM
SRC|BACKUP|474|72:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|6|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=16|ISSUE_COUNT=4|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK
SRC|BACKUP|474|73:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|7|HOST_a0dac0c74d36: Main process exited, code=exited, status=1<PATH>
SRC|BACKUP|474|74:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|8|HOST_a0dac0c74d36: Failed with result 'exit-code'.
SRC|BACKUP|474|75:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|9|Failed to start HOST_a0dac0c74d36 - Homelab unified backup and DR audit.
SRC|BACKUP|474|76:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|10|HOST_a0dac0c74d36: Consumed 2.707s CPU time, 147.5M memory peak.
SRC|BACKUP|474|77:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|11|Starting HOST_a0dac0c74d36 - Homelab unified backup and DR audit...
SRC|BACKUP|474|78:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|12|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=401|generation=app-filebrowser-pve01-20261006T043010Z
SRC|BACKUP|474|79:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|13|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=239|generation=app-hbarhub-pve01-20261006T043148Z
SRC|BACKUP|474|80:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|14|TARGET|logical_id=app-immich|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=345|generation=app-immich-pve01-20261006T043031Z
SRC|BACKUP|474|81:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|15|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|decision=SKIP_FRESH|legacy_age_seconds=29207|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z
SRC|BACKUP|474|82:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|16|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=42881|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|474|83:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|17|TARGET|logical_id=vm110|kind=VM|state=STALE|source=NONE|v2_age_seconds=83946|legacy_age_seconds=2761050|replica_count=2|state_id=ct110|generation=vm110-pve01-20260904T053821Z
SRC|BACKUP|474|84:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|18|TARGET|logical_id=vm111|kind=VM|state=STALE|source=NONE|v2_age_seconds=82037|replica_count=2|state_id=ct111
SRC|BACKUP|474|85:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|19|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=67812|legacy_age_seconds=2799545|replica_count=2|state_id=ct112|generation=v2-ct112-20261005T094532Z-ee250335d44e
SRC|BACKUP|474|86:REC|FAILED_UNIT_SAFE_TAIL|homelab-backup-audit.service|20|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=53076|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7
REC|BACKUP_SOURCE|IDX=475|BASENAME=SUPPORT-261006-PVE01-BACKUP-NEXTTARGET-SUPERVISOR-RCA-99673R1-20261006T050516Z.txt|PATH_SHA256=bb61bce6e275da11e5969a7ffc0632b90239e4466eb321a02554f22801f24b9f|SHA256=499c98a37b5ca3273d952eec879e2ae4b7e769a963999d86581352cb1f3add46|SIZE=27154|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|475|25:REC|FAILING_TARGET_DEF|guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|475|32:REC|ENGINE_FUNC_SOURCE|choose_due_target|1|last=int(state.get(t['logical_id'],{}).get('STR_SHA_604ed3967c51',0))
SRC|BACKUP|475|33:REC|ENGINE_FUNC_SOURCE|choose_due_target|2|if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|475|45:REC|ENGINE_FUNC|backup_target|FOUND=true
SRC|BACKUP|475|46:REC|ENGINE_FUNC_SOURCE|backup_target|1|def backup_target(t,green_verify=False):
SRC|BACKUP|475|47:REC|ENGINE_FUNC_SOURCE|backup_target|2|gen=generation_id(t['logical_id']); work=ensure_dir(WORK_ROOT<PATH>
SRC|BACKUP|475|48:REC|ENGINE_FUNC_SOURCE|backup_target|3|payload,meta,cleanup=capture_target(t,gen,work); meta['STR_SHA_e661f4c935e8']=gen
SRC|BACKUP|475|49:REC|ENGINE_FUNC_SOURCE|backup_target|4|write_state(t['logical_id'],'STR_SHA_e2a8aca48c5b',generation=gen,payload_sha256=manifest['STR_SHA_1b0fc57aad32'],manifest_sha256=msha,replicas=manifest['STR_SHA_3f82074c61b4'],green_verified=bool(green_verify),last_success_epoch=epoch())
SRC|BACKUP|475|50:REC|ENGINE_FUNC_SOURCE|backup_target|5|return {'logical_id':t['logical_id'],'STR_SHA_e661f4c935e8':gen,'STR_SHA_f6a214f7a5fc':'STR_SHA_e2a8aca48c5b','STR_SHA_002a1d78f6e4':manifest['STR_SHA_002a1d78f6e4'],'STR_SHA_3f82074c61b4':2,'STR_SHA_033e5c2bb2c0':alloc['STR_SHA_87695fdac817']}
SRC|BACKUP|475|51:REC|ENGINE_FUNC_SOURCE|backup_target|6|write_state(t['logical_id'],result,generation=gen,reason=e.code,sealed=sealed)
SRC|BACKUP|475|52:REC|ENGINE_FUNC_SOURCE_COUNT|backup_target|6
SRC|BACKUP|475|56:REC|ENGINE_FUNC_SOURCE|scheduled_run|3|print('STR_SHA_4c39f1c14128'+t['logical_id'])
SRC|BACKUP|475|57:REC|ENGINE_FUNC_SOURCE|scheduled_run|4|try: backup_target(t,green_verify=False)
SRC|BACKUP|475|63:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=c9ce1d4beda3e8569c472019224ffe500ece19d79ea538eef353b2f91100675e
SRC|BACKUP|475|67:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=edb685d36b5c3d5a001dd7ce8f24041cb85e35a98f561caf0073645b67f27cae
SRC|BACKUP|475|71:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=9799|SHA256=1bad56934074d19bd17ec71471d562b3f3d1d4c2d8fdfbad1897048b50c09c06|PATH_SHA=355e41038a2b1a4bd36aafd7ab5b2bdf174055ed840bde02497c65c8d4e5a8f3
SRC|BACKUP|475|79:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=9461|SHA256=5d42a45a1a21c38f71d9ae805e831d2ed8dd24b111ad5972b1fd6c01f909e689|PATH_SHA=2e2374c8bca13049427975dfaa054e86f05f5f1a8c119d269276b6f4d1b80c54
SRC|BACKUP|475|83:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=67c03cae9afa0e9bc76b7dde46d38102df33ce78f5722a43bfc3d586f9e435d8
SRC|BACKUP|475|87:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c2912ea3b1faaa7d9eba5ff23da881c38935d44e7144f34c9317431973c58107
SRC|BACKUP|475|91:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c8810e18214d02445685399bdc0d61bcf88414fc2ca864b1c68b535ab14ba366
SRC|BACKUP|475|95:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=4c34efcab9981ff7b3aacaefcfb4532cb08fa4898eb0b1e5d97698bd7d5ec1d6
SRC|BACKUP|475|100:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=7908|SHA256=1694d7ae012ed2641a80fb22cbe872ef3ec972fa630708a5544b2e8d05bbf7ef|PATH_SHA=2f008ee94cfba105b0873924e40c8c72077600c9c614f3a86b7bf26191ca9f6c
SRC|BACKUP|475|104:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=8bab47c07b84752b30b25cf4a60a7643c52ea238db95c45016e96bffe310110b
SRC|BACKUP|475|106:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry500.py|PARENT=backup-v2-overlay-500r1-a3964599e60c|INTERP=DATA|VALID=NA|BYTES=5347|SHA256=a3964599e60c3309efb23dc3b4d9b514d8f27e73d2257359c7a2e5de764b39d9|PATH_SHA=1fb7ac483153d7a1d6413ff7fcdad11bf64c51da4f4378477122faae9e0a46f5
SRC|BACKUP|475|107:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-505r1-4e39404b1ddb|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=e45dceca404d9cd9ea4aae4f87fd13c44557fc29dc07d67b62d16021777efbaa
SRC|BACKUP|475|109:REC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5|PATH_SHA=ef99ff36edb680baa62d54a0afc0e87b9212dd856c46fa825f32a2f9f12a814c
SRC|BACKUP|475|110:REC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=3e6f4fb61ea5c3d2f21d3539889e8223a04575c8cae0b69f139770f5e28a6a21
SRC|BACKUP|475|111:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=d81d7593fd74c6501fc7701f48337927344b1bc391278d79c8d9b8cfd4fe348d
SRC|BACKUP|475|112:REC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=fa7629bf6b6d134d2701c19ee57801aca5eab13a8ed300e40fd6f4971c079350
SRC|BACKUP|475|113:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry502.py|PARENT=backup-v2-overlay-502r1-9d13ea486935|INTERP=DATA|VALID=NA|BYTES=5564|SHA256=9d13ea48693554625f6a996bd8d3abbf3936642c16b56a98d752cdacd63d1f42|PATH_SHA=3c5cb50bed0723536c81575884ed634e72129b2608550c5407ef09d7a5c02975
SRC|BACKUP|475|114:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry503.py|PARENT=backup-v2-overlay-503r1-ac51fd96ec13|INTERP=DATA|VALID=NA|BYTES=6183|SHA256=ac51fd96ec13bbb38e5dbe5683794bf8ab43fab22383bb617c3506139ca5a0eb|PATH_SHA=2ca4e8af7419985f93372202c1768b951930f95e15035592f59da1caeefd7009
SRC|BACKUP|475|115:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry501.py|PARENT=backup-v2-overlay-501r1-e55e5c8c446a|INTERP=DATA|VALID=NA|BYTES=5362|SHA256=e55e5c8c446a397c51858063267e0a9af5d37b1bf59b258b1af0fbde934f59e9|PATH_SHA=633c14fcc89b6490a7d3bc25c2ddb526bc95f21fb66abe2940cc46224968fbf7
SRC|BACKUP|475|117:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-504r1-ca6876fa9c3b|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=bb5192d3436ecde7d3f42bb911dd293bb6694c45c84417bb88ab271b127acf31
SRC|BACKUP|475|128:REC|SUPERVISOR_SAFE_STRING|backup_health_stale
SRC|BACKUP|475|129:REC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_timer_bad
SRC|BACKUP|475|130:REC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_restore_check_timer_bad
SRC|BACKUP|475|133:REC|SUPERVISOR_SAFE_STRING|canonical_backup_probe_rc
SRC|BACKUP|475|134:REC|SUPERVISOR_SAFE_STRING|canonical_backup_status
SRC|BACKUP|475|135:REC|SUPERVISOR_SAFE_STRING|canonical_backup_app
SRC|BACKUP|475|136:REC|SUPERVISOR_SAFE_STRING|canonical_backup_decision
REC|BACKUP_SOURCE|IDX=476|BASENAME=SUPPORT-261006-PVE01-BACKUP-NEXTTARGET-SUPERVISOR-RCA-99673R1-20261006T050516Z.json|PATH_SHA256=8490f5d6c03c4ce85c9ceb719bbb25699f391d64ade9374ada48396804c3f18a|SHA256=da6acf67fa54a7be066aa9a4d1314faa4f797979266623152acfb11f4ca563a6|SIZE=28938|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|476|9:  "component": "pve01-backup-nexttarget-supervisor-rca",
SRC|BACKUP|476|37:  "output": "PVE01_BACKUP_NEXTTARGET_SUPERVISOR_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nPOLICY_REPAIR_EPOCH=1791262278\nNODE_HOSTNAME=pve01\nNODE_KERNEL=7.0.12-1-pve\nFAILED_UNIT_COUNT=4\nBACKUP_V2_AFTER_REPAIR_LINES=9\nBACKUP_V2_AFTER_REPAIR_SHA=87cdc4bcc1ad9cf6de0f87387602a6b111ce6fc4bfa37ca0895863338e8186d6\nBACKUP_V2_AFTER_REPAIR_SCHEDULE_BLOCKS=1\nREC|BACKUP_SCHEDULE_BLOCK|1|TARGET=xf-hkmods|RESULT=FAIL|REASON=COMMAND_FAILED\nBACKUP_V2_AFTER_REPAIR_PVE_GUEST_NOT_UNIQUE_COUNT=0\nBACKUP_V2_AFTER_REPAIR_CT112_PIPELINE_FAILED_COUNT=0\nBACKUP_V2_AFTER_REPAIR_COMMAND_FAILED_COUNT=1\nTARGETS_SHA=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d\nREC|FAILING_TARGET_DEF|guest-pve01-lxc-112|COUNT=0\nREC|FAILING_TARGET_DEF|xf-hkmods|COUNT=0\nREC|FAILING_TARGET_SOURCE_FILE|BASENAME=CONTRACT.json|PARENT=representative-validation-454r1|BYTES=2712|SHA256=67c0f9e228eaf5bc35213873f71d60b48a694cf04657aee695697ca434e16d0b|PATH_SHA=a55b8763a0762d3b5173ccb9619c9b5dc8dfc679471706031a61956d75014ac1\nBACKUP_ENGINE_FOUND=true\nBACKUP_ENGINE_BASENAME=legacy_engine.py\nBACKUP_ENGINE_SHA=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7\nREC|ENGINE_FUNC|choose_due_target|FOUND=true\nREC|ENGINE_FUNC_SOURCE|choose_due_target|1|last=int(state.get(t['logical_id'],{}).get('STR_SHA_604ed3967c51',0))\nREC|ENGINE_FUNC_SOURCE|choose_due_target|2|if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))\nREC|ENGINE_FUNC_SOURCE_COUNT|choose_due_target|2\nREC|ENGINE_FUNC|capture_target|FOUND=true\nREC|ENGINE_FUNC_SOURCE|capture_target|1|def capture_target(t,gen,work):\nREC|ENGINE_FUNC_SOURCE|capture_target|2|if typ=='pve_guest': return capture_pve_guest(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|3|if typ=='STR_SHA_c87cc484cc44': return capture_node_bundle(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|4|if typ=='STR_SHA_e3a53a5c70c9': return capture_vps_md(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|5|if typ=='STR_SHA_a236f2ec7d71': return capture_vps_spb(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|6|if typ=='STR_SHA_152f9f4f1393': return capture_vps_us(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|7|if typ=='STR_SHA_74c956040434': return capture_router(t,gen,work)\nREC|ENGINE_FUNC_SOURCE|capture_target|8|if typ=='STR_SHA_2ccba0644460': return capture_xenforo(t,gen,work)\nREC|ENGINE_FUNC_SOURCE_COUNT|capture_target|8\nREC|ENGINE_FUNC|backup_target|FOUND=true\nREC|ENGINE_FUNC_SOURCE|backup_target|1|def backup_target(t,green_verify=False):\nREC|ENGINE_FUNC_SOURCE|backup_target|2|gen=generation_id(t['logical_id']); work=ensure_dir(WORK_ROOT<PATH> meta['STR_SHA_e661f4c935e8']=gen\nREC|ENGINE_FUNC_SOURCE|backup_target|4|write_state(t['logical_id'],'STR_SHA_e2a8aca48c5b',generation=gen,payload_sha256=manifest['STR_SHA_1b0fc57aad32'],manifest_sha256=msha,replicas=manifest['STR_SHA_3f82074c61b4'],green_verified=bool(green_verify),last_success_epoch=epoch())\nREC|ENGINE_FUNC_SOURCE|backup_target|5|return {'logical_id':t['logical_id'],'STR_SHA_e661f4c935e8':gen,'STR_SHA_f6a214f7a5fc':'STR_SHA_e2a8aca48c5b','STR_SHA_002a1d78f6e4':manifest['STR_SHA_002a1d78f6e4'],'STR_SHA_3f82074c61b4':2,'STR_SHA_033e5c2bb2c0':alloc['STR_SHA_87695fdac817']}\nREC|ENGINE_FUNC_SOURCE|backup_target|6|write_state(t['logical_id'],result,generation=gen,reason=e.code,sealed=sealed)\nREC|ENGINE_FUNC_SOURCE_COUNT|backup_target|6\nREC|ENGINE_FUNC|scheduled_run|FOUND=true\nREC|ENGINE_FUNC_SOURCE|scheduled_run|1|def scheduled_run():\nREC|ENGINE_FUNC_SOURCE|scheduled_run|2|print('STR_SHA_14ec5bdd3111'); return 0\nREC|ENGINE_FUNC_SOURCE|scheduled_run|3|print('STR_SHA_4c39f1c14128'+t['logical_id'])\nREC|ENGINE_FUNC_SOURCE|scheduled_run|4|try: backup_target(t,green_verify=False)\nREC|ENGINE_FUNC_SOURCE|scheduled_run|5|print('STR_SHA_cfaea85944c0'); print('STR_SHA_dc723024abee'+e.code); return 2\nREC|ENGINE_FUNC_SOURCE|scheduled_run|6|print('STR_SHA_9590ee7c22a2'); return 0\nREC|ENGINE_FUNC_SOURCE_COUNT|scheduled_run|6\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=84d2da3fa7c8ab1d9e15db88b6f3835be9c8815bd50ea78022c67adff2f16056|PATH_SHA=970c462224cb43aeb706e9349a8548ff5e1704ddd8abdab59695af2e49ac5004\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=573948358c3788a0956d8a925bf96ab8611c479afd1855af60c180189a64b8f2\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=c9ce1d4beda3e8569c472019224ffe500ece19d79ea538eef353b2f91100675e\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=88ab68bf67a35e0d0b255725cf1d80a6bc6e1d39d0208f2cc2551fdaedd35b49\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=e5b0cd618eb7925da84255a8d7e348ae513da5953937d0bce8c3a139b965c3b2|PATH_SHA=5343a2cb3b967ba0af47b0a4ccf37c6ef8aef6e492f483660000892ea10ac2b9\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=9e26c629b215d59fb03b3a5f1beff0cd314e90d00590665fa0b15f2766508186\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=edb685d36b5c3d5a001dd7ce8f24041cb85e35a98f561caf0073645b67f27cae\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=ed37300bf21f40701d61084225758267688ee569a15a9a8f5e7e1f2d1d95a496\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=d58b8bc842ac3ba3f1f9cf3dc844dd1445c196e0e93fda8ce5f4a0fd18f2e115|PATH_SHA=e7e837977fcd9f64f48321b38262fe399397d8938ce19d7a20ae3128c6c4d8b0\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=1fdeed3d8f992cdc0d64df2e2653fa8b79f25986fe9db4f94c65465d33a8c178\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=9799|SHA256=1bad56934074d19bd17ec71471d562b3f3d1d4c2d8fdfbad1897048b50c09c06|PATH_SHA=355e41038a2b1a4bd36aafd7ab5b2bdf174055ed840bde02497c65c8d4e5a8f3\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=d3dc1d9e6926e695d76fba16c6c5ffa20cc3f5b80a7ffc4b826ec197468a1cd7\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry499.py|PARENT=overlay-499r1-45d1d34f1d29|INTERP=DATA|VALID=NA|BYTES=5347|SHA256=45d1d34f1d29ffe3e91a3ddb94453987c0740bfbbf892b2b1f2ecbc64043adb0|PATH_SHA=a57cf763441990cddc6f94aa8c9ea2521e65222f9a17586674f5d46fdbf3d0a5\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=representative-validation-454r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=9b3d2ead5f1fad42dcb5fb02e89deaa371a7639d0d4399b8a7a6a6b95daedcd5\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=CONTRACT.json|PARENT=representative-validation-454r1|INTERP=DATA|VALID=NA|BYTES=2712|SHA256=67c0f9e228eaf5bc35213873f71d60b48a694cf04657aee695697ca434e16d0b|PATH_SHA=a55b8763a0762d3b5173ccb9619c9b5dc8dfc679471706031a61956d75014ac1\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry496.py|PARENT=overlay-496r1-6d4eab82c731|INTERP=DATA|VALID=NA|BYTES=5338|SHA256=4931b27337b991f1c7fbc2d3e7599627b3f9304dc19e08c7196257c976bbf770|PATH_SHA=cc7a42167369ec95173b1c46a18f64a6ae4d6d607dd74861f7f3726f729a21c4\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=8e6ad619c39105d9c238c0a9f0bd9265dba941f65729cbe03e9f1acbd90ba6cd|PATH_SHA=b19cfe8a175ebdcafd655280b269e15df30da63a9422430bfe0bf38683210a7f\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=1cc7852fddd12e5145ff4ca3af5c89f3a508c08e9ae8d0eba41fe84d236d0fca\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=9461|SHA256=5d42a45a1a21c38f71d9ae805e831d2ed8dd24b111ad5972b1fd6c01f909e689|PATH_SHA=2e2374c8bca13049427975dfaa054e86f05f5f1a8c119d269276b6f4d1b80c54\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=68ed87fff22b735897acfc71beec8386ec9a7c7c5eab512d7fbb05e894955abf\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=4099|SHA256=ed04b2634fcba72bdf07811135aed8fd609e849afcde456d433f305be5bb956a|PATH_SHA=d1463c51c42a0558621c0f2bb3f01151d7bc3799acb08d8c24601dedd2a8f511\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=9bfafd4d543f89cdd4d040ca8d31ebcc11deffc1dba7c9cb9005e71d2a1dae4e\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=67c03cae9afa0e9bc76b7dde46d38102df33ce78f5722a43bfc3d586f9e435d8\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=be1f17db553b39644125195e460037d3e9426d0910681ba67d8e0ac2de00bea3\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=5076|SHA256=699ce999e52f15f24c63723e35dd5251992c4dfce6266073b892dd684ed3f454|PATH_SHA=e7ce6a0b75464a25ea19d0711c6494feeeff445ec91ab84a1b94964efa00e9a8\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=620da4ad267f3a405815e2ff1e45ffeedcf336ee162be1bc1d4fe3f8af4188d0\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c2912ea3b1faaa7d9eba5ff23da881c38935d44e7144f34c9317431973c58107\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=60024|SHA256=5715651655da32530df84a5a095b772d21dc0d1f92789465e9e6b5b1ff8a16e3|PATH_SHA=e4ceeb7671a8cdc119c5427c862109ecbbefb90b06c59ce1dcb68b03b8e96c95\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=5076|SHA256=2c1aea8d29cd697254a2f90a458edf9837f834b4d1f9525f478e8a8eb58cd495|PATH_SHA=6bb7090f99bbf5d715464dd8132dfe1961c09eacd937cf8d4f94d0a7c6732ccf\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=09b19535797a61bc301fb70d6e70db72f4bd0908a2b9e69a3cac000f15d5be40\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c8810e18214d02445685399bdc0d61bcf88414fc2ca864b1c68b535ab14ba366\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=59790|SHA256=ff4fbf84638ab55a8a1858558b759b3fc9d979ef5feb279132a558bcef583598|PATH_SHA=d01be8c91a53c39ac6295a389b40b6b216db5f0cce27d2482e8f29523278d1d9\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=9a80e64ef41f0c727b10983f2d26c87588231ec7056e2c2ea7c50cf8229da6f7|PATH_SHA=43c5db443685705fa4bb5e421cb1b3bbb1073be158e36ca02389b6e7ca97f966\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=dbd50790739b5354efacfce127f41589e12f5759ae8050674a703cf1c04b575c\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=4c34efcab9981ff7b3aacaefcfb4532cb08fa4898eb0b1e5d97698bd7d5ec1d6\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=9a8b05902c8db1d56dc8303ffbd6fef278b3b69b41dd4eda89a767f2a3d6bd25\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry494.py|PARENT=overlay-494r1-e235d716e6bd|INTERP=DATA|VALID=NA|BYTES=3318|SHA256=e235d716e6bdf18efd0561e9aa82afefd5e9c2aff5bf077e24602fcfb9e7e0a6|PATH_SHA=99f2418e3b5a0c024fd31633d318c52891a022416afb72cbc6a0b16830160dfb\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=3e16370b38f2f36d0d228fde59ffb05470ca56491e8abcbdcf65e6ee65bdb754|PATH_SHA=8115ff35840dca283c79a4cc0cbd20f5a50ed53db5e8562ece4f0c91f4852d5a\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=031e63461b44c8d82cfd4395d8a42d4ed41bd7cce246d918a4bdb83de38282fe\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=7908|SHA256=1694d7ae012ed2641a80fb22cbe872ef3ec972fa630708a5544b2e8d05bbf7ef|PATH_SHA=2f008ee94cfba105b0873924e40c8c72077600c9c614f3a86b7bf26191ca9f6c\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=ada28322dd44b921f815bb2cdba360506c3f4e2a58c97f1eea9a2a6d4e384c9d\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=5076|SHA256=dee410755a86ecae0fb921454109f48b9ea57d11724a3e1cc8001a87ea78dba5|PATH_SHA=91496295122dcb0bb41cb43ce8a7e1a78a5133910adee24563f446b53f30f5c0\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=e7dea74f3da085db4cc43a65d5bcd12c7569311d2e2625424f1c9c13c4f973aa\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=8bab47c07b84752b30b25cf4a60a7643c52ea238db95c45016e96bffe310110b\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=59868|SHA256=a5f1b1701a39eb22cf2f061d7daa7afa92789320c30b108371c3ee47d57f817c|PATH_SHA=b08598c199b979909827472414e9d774eed12f00ff61eb1534b9cf9ff4333d05\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry500.py|PARENT=backup-v2-overlay-500r1-a3964599e60c|INTERP=DATA|VALID=NA|BYTES=5347|SHA256=a3964599e60c3309efb23dc3b4d9b514d8f27e73d2257359c7a2e5de764b39d9|PATH_SHA=1fb7ac483153d7a1d6413ff7fcdad11bf64c51da4f4378477122faae9e0a46f5\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-505r1-4e39404b1ddb|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=e45dceca404d9cd9ea4aae4f87fd13c44557fc29dc07d67b62d16021777efbaa\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=engine394.py|PARENT=shadow-394r1|INTERP=PYTHON|VALID=true|BYTES=56245|SHA256=c201145ac029a3ca43027df292fc57f91c2fa40118e2ce8225cf5c2c070a2e0d|PATH_SHA=4e2dc451f7792d52e3fec3607ed4ce812a63e37f6a4db1314e1bc31c9bb6e04c\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5|PATH_SHA=ef99ff36edb680baa62d54a0afc0e87b9212dd856c46fa825f32a2f9f12a814c\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=3e6f4fb61ea5c3d2f21d3539889e8223a04575c8cae0b69f139770f5e28a6a21\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=d81d7593fd74c6501fc7701f48337927344b1bc391278d79c8d9b8cfd4fe348d\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=fa7629bf6b6d134d2701c19ee57801aca5eab13a8ed300e40fd6f4971c079350\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry502.py|PARENT=backup-v2-overlay-502r1-9d13ea486935|INTERP=DATA|VALID=NA|BYTES=5564|SHA256=9d13ea48693554625f6a996bd8d3abbf3936642c16b56a98d752cdacd63d1f42|PATH_SHA=3c5cb50bed0723536c81575884ed634e72129b2608550c5407ef09d7a5c02975\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry503.py|PARENT=backup-v2-overlay-503r1-ac51fd96ec13|INTERP=DATA|VALID=NA|BYTES=6183|SHA256=ac51fd96ec13bbb38e5dbe5683794bf8ab43fab22383bb617c3506139ca5a0eb|PATH_SHA=2ca4e8af7419985f93372202c1768b951930f95e15035592f59da1caeefd7009\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry501.py|PARENT=backup-v2-overlay-501r1-e55e5c8c446a|INTERP=DATA|VALID=NA|BYTES=5362|SHA256=e55e5c8c446a397c51858063267e0a9af5d37b1bf59b258b1af0fbde934f59e9|PATH_SHA=633c14fcc89b6490a7d3bc25c2ddb526bc95f21fb66abe2940cc46224968fbf7\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=engine389.py|PARENT=shadow-390r1|INTERP=PYTHON|VALID=true|BYTES=46752|SHA256=f1524bf68b0495cc4a1f1036adb5ce293465547738ce35437a22b700f51cdd35|PATH_SHA=3a8a13358314972f0ccb46d5fd21cd314cad1787869f8e94ffe414dd53ccdee8\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-504r1-ca6876fa9c3b|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=bb5192d3436ecde7d3f42bb911dd293bb6694c45c84417bb88ab271b127acf31\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=engine391.py|PARENT=shadow-391r1|INTERP=PYTHON|VALID=true|BYTES=48972|SHA256=9f5095085be09a50e5833cae7ccfb8e70e2536dd56f352676170ec466d7019b3|PATH_SHA=80bf4cf4820d512caa587b901df2a97b93c2fda191de8fe7740cd28de7aa7888\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=engine392.py|PARENT=shadow-392r1|INTERP=PYTHON|VALID=true|BYTES=49438|SHA256=7d96b9842de06277ea1be45e1f58e35c8a116a922425317954d339a333fe84f0|PATH_SHA=31ca7bcf1ab30815fb911a00d6f9a015e02724b232a64ead7c25e99bfec8d87e\nREC|BACKUP_HELPER_CANDIDATE|BASENAME=engine396.py|PARENT=shadow-396r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=3eb898a54af9d6804a1bbf0e8545bb6604e226a8104fc2c2054b3d86336b8bc5\nCT112_STATE=running\nCT112_UNBOUND_ACTIVE=active\nCT112_EFFECTIVE_PORT=5335\nCT112_PORT5335_LISTENER_COUNT=4\nSUPERVISOR_SCRIPT_PRESENT=true\nSUPERVISOR_SCRIPT_SHA=3a9bf9f3f9c28dbf670300f0851a5b7f86eb41fa41cdf44d0935337ae8ef02a2\nSUPERVISOR_AST_PARSE_RC=0\nREC|SUPERVISOR_SAFE_STRING|backup_health_stale\nREC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_timer_bad\nREC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_restore_check_timer_bad\nREC|SUPERVISOR_SAFE_STRING|SKLADCHIK_BACKUP_HEALTH_MAX_SECONDS\nREC|SUPERVISOR_SAFE_STRING|registry_source\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_probe_rc\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_status\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_app\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_decision\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_updated_at_utc\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_state_file\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_restore_evidence\nREC|SUPERVISOR_SAFE_STRING|homelab-backup-v2.timer\nREC|SUPERVISOR_STATIC_PATH|BASENAME=homelab-backup-target-registry|PATH_SHA=cd6e91b27939aee60ecf8f93a42b3c793926bfd8930593f3ae3bb95f72692162\nREC|SUPERVISOR_SAFE_STRING|registry_source_not_core_apps\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_probe_failed\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_status\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_probe_status_not_ok\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_app\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_app_identity_bad\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_decision\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_not_sealed_proven\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation_bad\nREC|SUPERVISOR_SAFE_STRING|CANONICAL_BACKUP=\nREC|SUPERVISOR_SAFE_STRING|REGISTRY_SOURCE=\nREC|SUPERVISOR_SAFE_STRING|CANONICAL_BACKUP=\nREC|SUPERVISOR_SAFE_STRING|REGISTRY_SOURCE=\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_decision\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation\nREC|SUPERVISOR_SAFE_STRING|registry_source\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_decision\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation\nREC|SUPERVISOR_SAFE_STRING|registry_source\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_decision\nREC|SUPERVISOR_SAFE_STRING|canonical_backup_generation\nREC|SUPERVISOR_SAFE_STRING|registry_source\nREC|SUPERVISOR_FUNC|main|FOUND=true\nREC|SUPERVISOR_FUNC_SOURCE|main|1|\"CANONICAL_BACKUP=\"\nREC|SUPERVISOR_FUNC_SOURCE|main|2|f\"STR_SHA_7d305636dc9d\"\nREC|SUPERVISOR_FUNC_SOURCE|main|3|\"generation=\"\nREC|SUPERVISOR_FUNC_SOURCE|main|4|f\"STR_SHA_a63af1a9f77d\"\nREC|SUPERVISOR_FUNC_SOURCE|main|5|f\"STR_SHA_640c60c2c8f5\"\nREC|SUPERVISOR_FUNC_SOURCE|main|6|\"STR_SHA_9877ce5cfd02\"\nREC|SUPERVISOR_FUNC_SOURCE|main|7|\"CANONICAL_BACKUP=\"\nREC|SUPERVISOR_FUNC_SOURCE|main|8|f\"STR_SHA_7d305636dc9d\"\nREC|SUPERVISOR_FUNC_SOURCE|main|9|\"generation=\"\nREC|SUPERVISOR_FUNC_SOURCE|main|10|f\"STR_SHA_a63af1a9f77d\"\nREC|SUPERVISOR_FUNC_SOURCE|main|11|f\"STR_SHA_640c60c2c8f5\"\nREC|SUPERVISOR_FUNC_SOURCE_COUNT|main|11\nSUPERVISOR_EXECSTART_SHA=711f8339554cc0debebfd85888bfd55238f4c949090fd8bd07e5cd68d0755c9d\nSUPERVISOR_REGISTRY_CANDIDATE_COUNT=3\nREC|SUPERVISOR_REGISTRY_FILE|IDX=1|BASENAME=targets.json|PARENT=homelab-backup|BYTES=4625|SHA256=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d|PATH_SHA=2f97838a94d9466163297d47d72c9c2e903a12cfb344abc58ff33fcbbae05528\nREC|REGISTRY_JSON_SHAPE|IDX=1|JSON_OK=true|TOP_TYPE=dict\nREC|REGISTRY_JSON_KEYS|IDX=1|policies,registry_version,schema,systemd_expectations,targets\nREC|REGISTRY_JSON_DICT|IDX=1|KEY=policies|COUNT=2\nREC|REGISTRY_JSON_LIST|IDX=1|KEY=targets|COUNT=20\nREC|REGISTRY_JSON_LIST|IDX=1|KEY=systemd_expectations|COUNT=10\nREC|SUPERVISOR_REGISTRY_FILE|IDX=2|BASENAME=targets.json|PARENT=homelab-backup-v2|BYTES=7416|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|PATH_SHA=d74784d4bb12db672527be08336f7cf5b2a86dab2d05f63990aed27a1bff9e6a\nREC|REGISTRY_JSON_SHAPE|IDX=2|JSON_OK=true|TOP_TYPE=dict\nREC|REGISTRY_JSON_KEYS|IDX=2|created_by,registry_anchor,schema,targets\nREC|REGISTRY_JSON_LIST|IDX=2|KEY=targets|COUNT=28\nREC|SUPERVISOR_REGISTRY_FILE|IDX=3|BASENAME=backup-target-lifecycle-registry-v1.json|PARENT=seals|BYTES=854|SHA256=b843b84c66c739ec42e8454b8a996eb827364fb6c938a8ce86e4e5ac7c16c0b8|PATH_SHA=faf59122a78425116bebbac4b1171f941edd003d9bcf932f41e6bfde0d9211b8\nREC|REGISTRY_JSON_SHAPE|IDX=3|JSON_OK=true|TOP_TYPE=dict\nREC|REGISTRY_JSON_KEYS|IDX=3|active_app_count,active_vm_count,backup_started,change_id,cloud_writes,expected_absent_timers,production_changed,retention_delete_set_preserved,retention_gc_started,retired_preserve_count,retired_target_delete_candidates,rollback_after_seal_allowed,sealed_at_utc,source_head,status,systemd_changed,ta\nREC|REGISTRY_GIT_SOURCE|BASENAME=targets.json|REPO=homelab-admin__homelab-ops|COMMIT=2c6929e99577|REL=changes<PATH>"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-BACKUP-NEXTTARGET-SUPERVISOR-RCA-99673R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=477|BASENAME=SUPPORT-261006-PVE01-BACKUP-NEXTTARGET-SUPERVISOR-RCA-99673R1-20261006T050516Z-latest.txt|PATH_SHA256=b40518914e53f1aacbdf627c737ef1db3b9b010a9bd95a18b994e7a73233f873|SHA256=63a79104d2def74a907f8b97107674e41ad26b98d0408dc4868401eb3a02b3ce|SIZE=28198|HAS_ALIAS_112=true|HAS_CT112=true|HAS_LAST_TARGET=true
SRC|BACKUP|477|7:COMPONENT=pve01-backup-nexttarget-supervisor-rca
SRC|BACKUP|477|54:REC|FAILING_TARGET_DEF|guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|477|61:REC|ENGINE_FUNC_SOURCE|choose_due_target|1|last=int(state.get(t['logical_id'],{}).get('STR_SHA_604ed3967c51',0))
SRC|BACKUP|477|62:REC|ENGINE_FUNC_SOURCE|choose_due_target|2|if last==0 or age>=due: c.append((-(age<PATH>'logical_id'],t))
SRC|BACKUP|477|74:REC|ENGINE_FUNC|backup_target|FOUND=true
SRC|BACKUP|477|75:REC|ENGINE_FUNC_SOURCE|backup_target|1|def backup_target(t,green_verify=False):
SRC|BACKUP|477|76:REC|ENGINE_FUNC_SOURCE|backup_target|2|gen=generation_id(t['logical_id']); work=ensure_dir(WORK_ROOT<PATH>
SRC|BACKUP|477|77:REC|ENGINE_FUNC_SOURCE|backup_target|3|payload,meta,cleanup=capture_target(t,gen,work); meta['STR_SHA_e661f4c935e8']=gen
SRC|BACKUP|477|78:REC|ENGINE_FUNC_SOURCE|backup_target|4|write_state(t['logical_id'],'STR_SHA_e2a8aca48c5b',generation=gen,payload_sha256=manifest['STR_SHA_1b0fc57aad32'],manifest_sha256=msha,replicas=manifest['STR_SHA_3f82074c61b4'],green_verified=bool(green_verify),last_success_epoch=epoch())
SRC|BACKUP|477|79:REC|ENGINE_FUNC_SOURCE|backup_target|5|return {'logical_id':t['logical_id'],'STR_SHA_e661f4c935e8':gen,'STR_SHA_f6a214f7a5fc':'STR_SHA_e2a8aca48c5b','STR_SHA_002a1d78f6e4':manifest['STR_SHA_002a1d78f6e4'],'STR_SHA_3f82074c61b4':2,'STR_SHA_033e5c2bb2c0':alloc['STR_SHA_87695fdac817']}
SRC|BACKUP|477|80:REC|ENGINE_FUNC_SOURCE|backup_target|6|write_state(t['logical_id'],result,generation=gen,reason=e.code,sealed=sealed)
SRC|BACKUP|477|81:REC|ENGINE_FUNC_SOURCE_COUNT|backup_target|6
SRC|BACKUP|477|85:REC|ENGINE_FUNC_SOURCE|scheduled_run|3|print('STR_SHA_4c39f1c14128'+t['logical_id'])
SRC|BACKUP|477|86:REC|ENGINE_FUNC_SOURCE|scheduled_run|4|try: backup_target(t,green_verify=False)
SRC|BACKUP|477|92:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-481r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=c9ce1d4beda3e8569c472019224ffe500ece19d79ea538eef353b2f91100675e
SRC|BACKUP|477|96:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-482r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=edb685d36b5c3d5a001dd7ce8f24041cb85e35a98f561caf0073645b67f27cae
SRC|BACKUP|477|100:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-485r1|INTERP=PYTHON|VALID=true|BYTES=9799|SHA256=1bad56934074d19bd17ec71471d562b3f3d1d4c2d8fdfbad1897048b50c09c06|PATH_SHA=355e41038a2b1a4bd36aafd7ab5b2bdf174055ed840bde02497c65c8d4e5a8f3
SRC|BACKUP|477|108:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-484r1|INTERP=PYTHON|VALID=true|BYTES=9461|SHA256=5d42a45a1a21c38f71d9ae805e831d2ed8dd24b111ad5972b1fd6c01f909e689|PATH_SHA=2e2374c8bca13049427975dfaa054e86f05f5f1a8c119d269276b6f4d1b80c54
SRC|BACKUP|477|112:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-477r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=67c03cae9afa0e9bc76b7dde46d38102df33ce78f5722a43bfc3d586f9e435d8
SRC|BACKUP|477|116:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-490r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c2912ea3b1faaa7d9eba5ff23da881c38935d44e7144f34c9317431973c58107
SRC|BACKUP|477|120:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-492r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=c8810e18214d02445685399bdc0d61bcf88414fc2ca864b1c68b535ab14ba366
SRC|BACKUP|477|124:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-479r1|INTERP=PYTHON|VALID=true|BYTES=7923|SHA256=e7b027de9a53d7219dd80c9d8e05f0eae0f53db90a53363c64dfa016815c0d00|PATH_SHA=4c34efcab9981ff7b3aacaefcfb4532cb08fa4898eb0b1e5d97698bd7d5ec1d6
SRC|BACKUP|477|129:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=replacement-483r1|INTERP=PYTHON|VALID=true|BYTES=7908|SHA256=1694d7ae012ed2641a80fb22cbe872ef3ec972fa630708a5544b2e8d05bbf7ef|PATH_SHA=2f008ee94cfba105b0873924e40c8c72077600c9c614f3a86b7bf26191ca9f6c
SRC|BACKUP|477|133:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=repair-491r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=8bab47c07b84752b30b25cf4a60a7643c52ea238db95c45016e96bffe310110b
SRC|BACKUP|477|135:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry500.py|PARENT=backup-v2-overlay-500r1-a3964599e60c|INTERP=DATA|VALID=NA|BYTES=5347|SHA256=a3964599e60c3309efb23dc3b4d9b514d8f27e73d2257359c7a2e5de764b39d9|PATH_SHA=1fb7ac483153d7a1d6413ff7fcdad11bf64c51da4f4378477122faae9e0a46f5
SRC|BACKUP|477|136:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-505r1-4e39404b1ddb|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=e45dceca404d9cd9ea4aae4f87fd13c44557fc29dc07d67b62d16021777efbaa
SRC|BACKUP|477|138:REC|BACKUP_HELPER_CANDIDATE|BASENAME=wrapper.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=5055|SHA256=2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5|PATH_SHA=ef99ff36edb680baa62d54a0afc0e87b9212dd856c46fa825f32a2f9f12a814c
SRC|BACKUP|477|139:REC|BACKUP_HELPER_CANDIDATE|BASENAME=representative_driver.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=4214|SHA256=b3050a8f95e6d9826a4f0786cd3ca32012b6ab10486d10e4981b50b8a0affff2|PATH_SHA=3e6f4fb61ea5c3d2f21d3539889e8223a04575c8cae0b69f139770f5e28a6a21
SRC|BACKUP|477|140:REC|BACKUP_HELPER_CANDIDATE|BASENAME=ct112_handler.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=10955|SHA256=8cac6e627d5e7abe5d3163cdd24911995a1e3f45c776f9373c2aa68784f5ec6c|PATH_SHA=d81d7593fd74c6501fc7701f48337927344b1bc391278d79c8d9b8cfd4fe348d
SRC|BACKUP|477|141:REC|BACKUP_HELPER_CANDIDATE|BASENAME=legacy_engine.py|PARENT=backup-v2-accepted-486r1|INTERP=PYTHON|VALID=true|BYTES=59719|SHA256=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7|PATH_SHA=fa7629bf6b6d134d2701c19ee57801aca5eab13a8ed300e40fd6f4971c079350
SRC|BACKUP|477|142:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry502.py|PARENT=backup-v2-overlay-502r1-9d13ea486935|INTERP=DATA|VALID=NA|BYTES=5564|SHA256=9d13ea48693554625f6a996bd8d3abbf3936642c16b56a98d752cdacd63d1f42|PATH_SHA=3c5cb50bed0723536c81575884ed634e72129b2608550c5407ef09d7a5c02975
SRC|BACKUP|477|143:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry503.py|PARENT=backup-v2-overlay-503r1-ac51fd96ec13|INTERP=DATA|VALID=NA|BYTES=6183|SHA256=ac51fd96ec13bbb38e5dbe5683794bf8ab43fab22383bb617c3506139ca5a0eb|PATH_SHA=2ca4e8af7419985f93372202c1768b951930f95e15035592f59da1caeefd7009
SRC|BACKUP|477|144:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry501.py|PARENT=backup-v2-overlay-501r1-e55e5c8c446a|INTERP=DATA|VALID=NA|BYTES=5362|SHA256=e55e5c8c446a397c51858063267e0a9af5d37b1bf59b258b1af0fbde934f59e9|PATH_SHA=633c14fcc89b6490a7d3bc25c2ddb526bc95f21fb66abe2940cc46224968fbf7
SRC|BACKUP|477|146:REC|BACKUP_HELPER_CANDIDATE|BASENAME=entry504.py|PARENT=backup-v2-overlay-504r1-ca6876fa9c3b|INTERP=DATA|VALID=NA|BYTES=10566|SHA256=ca6876fa9c3b1465b045344a8ad46962de16972c7dadc4ac6257c7d225047793|PATH_SHA=bb5192d3436ecde7d3f42bb911dd293bb6694c45c84417bb88ab271b127acf31
SRC|BACKUP|477|157:REC|SUPERVISOR_SAFE_STRING|backup_health_stale
SRC|BACKUP|477|158:REC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_timer_bad
SRC|BACKUP|477|159:REC|SUPERVISOR_SAFE_STRING|skladchik_reports_monitor_backup_restore_check_timer_bad
SRC|BACKUP|477|162:REC|SUPERVISOR_SAFE_STRING|canonical_backup_probe_rc
SRC|BACKUP|477|163:REC|SUPERVISOR_SAFE_STRING|canonical_backup_status
SRC|BACKUP|477|164:REC|SUPERVISOR_SAFE_STRING|canonical_backup_app
REC|BACKUP_SOURCE|IDX=478|BASENAME=SUPPORT-261006-PVE01-REGISTRY-XF-TARGET-SOURCE-RCA-99674R1-20261006T051120Z.txt|PATH_SHA256=7ef8bb410502776cac901ba44075b3cfe35d1a3b9c8d1d166e9671d432932360|SHA256=d5757cc1f30dead0d9a1119e543cea9e7d8353007727001bc591b97578af451c|SIZE=10632|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|478|16:REC|TARGET_REGISTRY_FILE|LABEL=homelab-backup|PRESENT=true|SHA256=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d|BYTES=4625|MTIME_EPOCH=1791262276
SRC|BACKUP|478|17:REC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup|JSON_OK=true|TOP_TYPE=dict
SRC|BACKUP|478|18:REC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup|policies,registry_version,schema,systemd_expectations,targets
SRC|BACKUP|478|19:REC|TARGET_REGISTRY_META|LABEL=homelab-backup|schema=homelab-backup-target-registry-v1
SRC|BACKUP|478|20:REC|TARGET_REGISTRY_META|LABEL=homelab-backup|registry_version=1
SRC|BACKUP|478|21:REC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup|IS_LIST=true|COUNT=20
SRC|BACKUP|478|22:REC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup|true
SRC|BACKUP|478|23:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=xf-hkmods|COUNT=0
SRC|BACKUP|478|24:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|478|25:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=vm160|COUNT=0
SRC|BACKUP|478|26:REC|TARGET_REGISTRY_FILE|LABEL=homelab-backup-v2|PRESENT=true|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|BYTES=7416|MTIME_EPOCH=1790198705
SRC|BACKUP|478|27:REC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup-v2|JSON_OK=true|TOP_TYPE=dict
SRC|BACKUP|478|28:REC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup-v2|created_by,registry_anchor,schema,targets
SRC|BACKUP|478|29:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|schema=1
SRC|BACKUP|478|30:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|created_by=SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1
SRC|BACKUP|478|31:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|registry_anchor=bd85b2081fb599bc2d8b7122640f372dde20d881
SRC|BACKUP|478|32:REC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup-v2|IS_LIST=true|COUNT=28
SRC|BACKUP|478|33:REC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup-v2|true
SRC|BACKUP|478|34:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=xf-hkmods|COUNT=1
SRC|BACKUP|478|35:REC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=xf-hkmods|app_root,db_name,due_seconds,dump_strategy,enabled,green1,logical_id,node,scope,slug,type,vmid
SRC|BACKUP|478|36:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=app_root|SHA=127c45667b0b6b6f23d20d6cc66d094b61a854801e42025ad2cb81ab5bfbc03e|BYTES=29
SRC|BACKUP|478|37:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=db_name|SHA=2a9f9bd294d33f06ec551eaaf3cf19fd2e752bbc3364feb8bc4878718f335760|BYTES=9
SRC|BACKUP|478|38:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=due_seconds|SHA=b045dd9c18caa8be1e17a4b902152cc1fd292b242b7b9dd74ba8c40896239424|BYTES=5
SRC|BACKUP|478|39:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=dump_strategy|SHA=b54d53538c1256fa5056b15b3ced27fb6c6d1db605979c5141cdf1ec15008a23|BYTES=16
SRC|BACKUP|478|40:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4
SRC|BACKUP|478|41:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5
SRC|BACKUP|478|42:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|logical_id=xf-hkmods
SRC|BACKUP|478|43:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|node=pve02
SRC|BACKUP|478|44:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=scope|SHA=2ccba0644460e0a1a5ded9f3375638c39fd7590b6d1aff4ca7e8f410b994feaf|BYTES=7
SRC|BACKUP|478|45:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=slug|SHA=f57e87c5c54127d91992b721c45afb2832917b7082d1887ae2cf03779e41669b|BYTES=6
SRC|BACKUP|478|46:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|type=xenforo
SRC|BACKUP|478|47:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|vmid=160
SRC|BACKUP|478|48:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|478|49:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=vm160|COUNT=1
SRC|BACKUP|478|50:REC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=vm160|due_seconds,enabled,green1,guest_type,logical_id,scope,type,vmid
SRC|BACKUP|478|51:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=due_seconds|SHA=03170c93d53fb0647eb0aaf279aab89e58e8b852de3a58eea96e43912cd0372b|BYTES=5
SRC|BACKUP|478|52:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4
SRC|BACKUP|478|53:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5
SRC|BACKUP|478|54:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|guest_type=qemu
SRC|BACKUP|478|55:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|logical_id=vm160
REC|BACKUP_SOURCE|IDX=479|BASENAME=SUPPORT-261006-PVE01-REGISTRY-XF-TARGET-SOURCE-RCA-99674R1-20261006T051120Z.json|PATH_SHA256=23a02b79389f7771a99e3ed4ff2415e7da08596c23b12c1c14b918ae6d1fb89f|SHA256=406ab944702ddfca3748589a19d9b2060de389cf37239b7276e68d18528b405e|SIZE=12315|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|479|37:  "output": "PVE01_REGISTRY_XF_TARGET_SOURCE_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nNODE_HOSTNAME=pve01\nNODE_KERNEL=7.0.12-1-pve\nFAILED_UNIT_COUNT=4\nREC|TARGET_REGISTRY_FILE|LABEL=homelab-backup|PRESENT=true|SHA256=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d|BYTES=4625|MTIME_EPOCH=1791262276\nREC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup|JSON_OK=true|TOP_TYPE=dict\nREC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup|policies,registry_version,schema,systemd_expectations,targets\nREC|TARGET_REGISTRY_META|LABEL=homelab-backup|schema=homelab-backup-target-registry-v1\nREC|TARGET_REGISTRY_META|LABEL=homelab-backup|registry_version=1\nREC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup|IS_LIST=true|COUNT=20\nREC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup|true\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=xf-hkmods|COUNT=0\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=guest-pve01-lxc-112|COUNT=0\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=vm160|COUNT=0\nREC|TARGET_REGISTRY_FILE|LABEL=homelab-backup-v2|PRESENT=true|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|BYTES=7416|MTIME_EPOCH=1790198705\nREC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup-v2|JSON_OK=true|TOP_TYPE=dict\nREC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup-v2|created_by,registry_anchor,schema,targets\nREC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|schema=1\nREC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|created_by=SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1\nREC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|registry_anchor=bd85b2081fb599bc2d8b7122640f372dde20d881\nREC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup-v2|IS_LIST=true|COUNT=28\nREC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup-v2|true\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=xf-hkmods|COUNT=1\nREC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=xf-hkmods|app_root,db_name,due_seconds,dump_strategy,enabled,green1,logical_id,node,scope,slug,type,vmid\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=app_root|SHA=127c45667b0b6b6f23d20d6cc66d094b61a854801e42025ad2cb81ab5bfbc03e|BYTES=29\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=db_name|SHA=2a9f9bd294d33f06ec551eaaf3cf19fd2e752bbc3364feb8bc4878718f335760|BYTES=9\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=due_seconds|SHA=b045dd9c18caa8be1e17a4b902152cc1fd292b242b7b9dd74ba8c40896239424|BYTES=5\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=dump_strategy|SHA=b54d53538c1256fa5056b15b3ced27fb6c6d1db605979c5141cdf1ec15008a23|BYTES=16\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|logical_id=xf-hkmods\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|node=pve02\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=scope|SHA=2ccba0644460e0a1a5ded9f3375638c39fd7590b6d1aff4ca7e8f410b994feaf|BYTES=7\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=slug|SHA=f57e87c5c54127d91992b721c45afb2832917b7082d1887ae2cf03779e41669b|BYTES=6\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|type=xenforo\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|vmid=160\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=guest-pve01-lxc-112|COUNT=0\nREC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=vm160|COUNT=1\nREC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=vm160|due_seconds,enabled,green1,guest_type,logical_id,scope,type,vmid\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=due_seconds|SHA=03170c93d53fb0647eb0aaf279aab89e58e8b852de3a58eea96e43912cd0372b|BYTES=5\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|guest_type=qemu\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|logical_id=vm160\nREC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=scope|SHA=168a3276263242e0833d959c79d53c345b4a39b913532fd1a70bf9ec2908f629|BYTES=3\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|type=pve_guest\nREC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|vmid=160\nBACKUP_ENGINE_FOUND=true\nBACKUP_ENGINE_BASENAME=legacy_engine.py\nBACKUP_ENGINE_PARENT=backup-v2-accepted-486r1\nBACKUP_ENGINE_SHA=b6e79f087b9f1d21dac4f77a7b46b743299bbb85bc716e80d2ea67c2e038bcd7\nREC|ENGINE_GLOBAL|STATE_ROOT|STATE_ROOT=pathlib.Path('PATH_SHA_74034fc98d8c')\nREC|ENGINE_GLOBAL|CONFIG_ROOT|CONFIG_ROOT=pathlib.Path('PATH_SHA_9465c12a2f45')\nREC|ENGINE_GLOBAL|TARGETS_PATH|TARGETS_PATH=CONFIG_ROOT<PATH>'targets.json'\nREC|ENGINE_GLOBAL|WORK_ROOT|WORK_ROOT=pathlib.Path('PATH_SHA_11315467206e')\nREC|ENGINE_STATIC_RESOLVED|CONFIG_ROOT|BASENAME=homelab-backup-v2|PARENT=etc|PATH_SHA=9465c12a2f45a8935ee8361d3b46c688623b0bcba5843b66d7f8b020c11e3296|EXISTS=true\nREC|ENGINE_STATIC_RESOLVED|TARGETS_PATH|BASENAME=targets.json|PARENT=homelab-backup-v2|PATH_SHA=d74784d4bb12db672527be08336f7cf5b2a86dab2d05f63990aed27a1bff9e6a|EXISTS=true\nREC|ENGINE_STATIC_RESOLVED|STATE_ROOT|BASENAME=homelab-backup-v2|PARENT=lib|PATH_SHA=74034fc98d8c58817f6c51e70f3f1782e3bd9e094d73f824e1eb78db5f138e9c|EXISTS=true\nREC|ENGINE_STATIC_RESOLVED|WORK_ROOT|BASENAME=homelab-backup-v2|PARENT=staging|PATH_SHA=11315467206e7d48b75f97b40f48aa441b19aa9f19d9e7190298e10aad6f9387|EXISTS=true\nCAPTURE_XENFORO_FOUND=true\nREC|CAPTURE_XENFORO_TARGET_KEY|bytes\nREC|CAPTURE_XENFORO_TARGET_KEY|db_bytes\nREC|CAPTURE_XENFORO_TARGET_KEY|path\nREC|CAPTURE_XENFORO_TARGET_KEY|sha256\nREC|CAPTURE_XENFORO_SOURCE|1|out=qga_exec(t['node'],t['vmid'],['STR_SHA_6bbff3d5b5f7'-I'STR_SHA_d03502c43d74'-B'STR_SHA_d03502c43d74'-'],xf_guest_builder(t,gen).encode(),timeout=900)\nREC|CAPTURE_XENFORO_SOURCE|2|return local,{'generation':gen,'source_class':'xenforo','site':t['slug'],'vmid':t['vmid'],'node':t['node'],'dump_strategy':t['dump_strategy'],'db_dump_bytes':j.get('db_bytes')},None\nREC|XF_STATE_FILE|ROOT=homelab-backup-v2|BASENAME=xf-hkmods.json|PARENT=state|BYTES=791|SHA256=2347cf6965df46826b64516a2e50458a048ca7fbaab9fd118f4ac3c8e6daf227|MTIME_EPOCH=1791262453|PATH_SHA=7dab479162dea368c25d0826bba263949ddd514f198acbd7aa0e3f2e32e1f796\nREC|XF_STATE_SAFE|KEY=generation|VALUE=v2-xf-hkmods-20261006T045412Z-2770c1182abd\nREC|XF_STATE_SAFE|KEY=last_attempt_epoch|VALUE=1791262453\nREC|XF_STATE_SAFE|KEY=last_success_epoch|VALUE=1791145764\nREC|XF_STATE_SAFE|KEY=logical_id|VALUE=xf-hkmods\nREC|XF_STATE_SAFE|KEY=reason|VALUE=COMMAND_FAILED\nREC|XF_STATE_SAFE|KEY=result|VALUE=FAIL\nSUPERVISOR_SHA=3a9bf9f3f9c28dbf670300f0851a5b7f86eb41fa41cdf44d0935337ae8ef02a2\nREGISTRY_HELPER_PRESENT=false\nREGISTRY_HELPER_SHA=NONE\nREC|SUPERVISOR_REGISTRY_HELPER_REF|BASENAME=homelab-backup-target-registry|PATH_SHA=cd6e91b27939aee60ecf8f93a42b3c793926bfd8930593f3ae3bb95f72692162\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=239|\"PATH_REDACTED\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=246|registry_source = reg_out.strip()\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=248|facts[\"registry_source\"] = registry_source\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=250|if reg_rc != 0 or registry_source != \"[PRIVATE_IP]\":\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=251|problems.append(\"registry_source_not_core_apps\")\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=284|facts[\"canonical_backup_probe_rc\"] = str(probe_rc)\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=312|problems.append(\"canonical_backup_probe_failed\")\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=315|problems.append(\"canonical_backup_probe_status_not_ok\")\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=373|+ str(facts.get(\"registry_source\", \"STR_SHA_e3b0c44298fc\")),\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=427|f\"STR_SHA_640c60c2c8f5\"\nREC|SUPERVISOR_REGISTRY_SOURCE|LINE=500|f\"STR_SHA_640c60c2c8f5\"\nREC|CURRENT_GIT_COPY|BASENAME=targets.json|REPO=homelab-admin__homelab-ops|COMMIT=2c6929e99577|REL=changes<PATH>"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-REGISTRY-XF-TARGET-SOURCE-RCA-99674R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=480|BASENAME=SUPPORT-261006-PVE01-REGISTRY-XF-TARGET-SOURCE-RCA-99674R1-20261006T051120Z-latest.txt|PATH_SHA256=64f468a43e90627d7263ea068524fed6a48a86058d0e139025b5a42ca4da78c6|SHA256=2a6380b53ab15a8179317774531da45f3b19ee3f1d3ab3258f5915f7c4780b0d|SIZE=11670|HAS_ALIAS_112=true|HAS_CT112=false|HAS_LAST_TARGET=true
SRC|BACKUP|480|45:REC|TARGET_REGISTRY_FILE|LABEL=homelab-backup|PRESENT=true|SHA256=21b1d1cc675e0472f05234f3cc160a43f603427a7ae6a511040ef7fb38722e5d|BYTES=4625|MTIME_EPOCH=1791262276
SRC|BACKUP|480|46:REC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup|JSON_OK=true|TOP_TYPE=dict
SRC|BACKUP|480|47:REC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup|policies,registry_version,schema,systemd_expectations,targets
SRC|BACKUP|480|48:REC|TARGET_REGISTRY_META|LABEL=homelab-backup|schema=homelab-backup-target-registry-v1
SRC|BACKUP|480|49:REC|TARGET_REGISTRY_META|LABEL=homelab-backup|registry_version=1
SRC|BACKUP|480|50:REC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup|IS_LIST=true|COUNT=20
SRC|BACKUP|480|51:REC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup|true
SRC|BACKUP|480|52:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=xf-hkmods|COUNT=0
SRC|BACKUP|480|53:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|480|54:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup|ID=vm160|COUNT=0
SRC|BACKUP|480|55:REC|TARGET_REGISTRY_FILE|LABEL=homelab-backup-v2|PRESENT=true|SHA256=89769a5564a8c208ac64a9edbcfa0942d516ec9c9c362595dd0120f091800989|BYTES=7416|MTIME_EPOCH=1790198705
SRC|BACKUP|480|56:REC|TARGET_REGISTRY_SHAPE|LABEL=homelab-backup-v2|JSON_OK=true|TOP_TYPE=dict
SRC|BACKUP|480|57:REC|TARGET_REGISTRY_KEYS|LABEL=homelab-backup-v2|created_by,registry_anchor,schema,targets
SRC|BACKUP|480|58:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|schema=1
SRC|BACKUP|480|59:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|created_by=SUPPORT-260914-INFRA-DR-BACKUPV2-SHADOW-PERSISTENT-PRODUCERS-STAGE-GREEN1-389R1
SRC|BACKUP|480|60:REC|TARGET_REGISTRY_META|LABEL=homelab-backup-v2|registry_anchor=bd85b2081fb599bc2d8b7122640f372dde20d881
SRC|BACKUP|480|61:REC|TARGET_REGISTRY_TARGETS|LABEL=homelab-backup-v2|IS_LIST=true|COUNT=28
SRC|BACKUP|480|62:REC|TARGET_REGISTRY_IDS_UNIQUE|LABEL=homelab-backup-v2|true
SRC|BACKUP|480|63:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=xf-hkmods|COUNT=1
SRC|BACKUP|480|64:REC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=xf-hkmods|app_root,db_name,due_seconds,dump_strategy,enabled,green1,logical_id,node,scope,slug,type,vmid
SRC|BACKUP|480|65:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=app_root|SHA=127c45667b0b6b6f23d20d6cc66d094b61a854801e42025ad2cb81ab5bfbc03e|BYTES=29
SRC|BACKUP|480|66:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=db_name|SHA=2a9f9bd294d33f06ec551eaaf3cf19fd2e752bbc3364feb8bc4878718f335760|BYTES=9
SRC|BACKUP|480|67:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=due_seconds|SHA=b045dd9c18caa8be1e17a4b902152cc1fd292b242b7b9dd74ba8c40896239424|BYTES=5
SRC|BACKUP|480|68:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=dump_strategy|SHA=b54d53538c1256fa5056b15b3ced27fb6c6d1db605979c5141cdf1ec15008a23|BYTES=16
SRC|BACKUP|480|69:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4
SRC|BACKUP|480|70:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5
SRC|BACKUP|480|71:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|logical_id=xf-hkmods
SRC|BACKUP|480|72:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|node=pve02
SRC|BACKUP|480|73:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=scope|SHA=2ccba0644460e0a1a5ded9f3375638c39fd7590b6d1aff4ca7e8f410b994feaf|BYTES=7
SRC|BACKUP|480|74:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=xf-hkmods|KEY=slug|SHA=f57e87c5c54127d91992b721c45afb2832917b7082d1887ae2cf03779e41669b|BYTES=6
SRC|BACKUP|480|75:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|type=xenforo
SRC|BACKUP|480|76:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=xf-hkmods|vmid=160
SRC|BACKUP|480|77:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=guest-pve01-lxc-112|COUNT=0
SRC|BACKUP|480|78:REC|TARGET_REGISTRY_WANTED|LABEL=homelab-backup-v2|ID=vm160|COUNT=1
SRC|BACKUP|480|79:REC|TARGET_REGISTRY_WANTED_KEYS|LABEL=homelab-backup-v2|ID=vm160|due_seconds,enabled,green1,guest_type,logical_id,scope,type,vmid
SRC|BACKUP|480|80:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=due_seconds|SHA=03170c93d53fb0647eb0aaf279aab89e58e8b852de3a58eea96e43912cd0372b|BYTES=5
SRC|BACKUP|480|81:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=enabled|SHA=3cbc87c7681f34db4617feaa2c8801931bc5e42d8d0f560e756dd4cd92885f18|BYTES=4
SRC|BACKUP|480|82:REC|TARGET_FIELD_SHA|LABEL=homelab-backup-v2|ID=vm160|KEY=green1|SHA=60a33e6cf5151f2d52eddae9685cfa270426aa89d8dbc7dfb854606f1d1a40fe|BYTES=5
SRC|BACKUP|480|83:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|guest_type=qemu
SRC|BACKUP|480|84:REC|TARGET_FIELD|LABEL=homelab-backup-v2|ID=vm160|logical_id=vm160
REC|BACKUP_SOURCE|IDX=481|BASENAME=SUPPORT-261006-PVE01-BACKUP-V2-CT112-RECOVERY-99693R1-20261006T082949Z.txt|PATH_SHA256=212638f93347d1bd86273d086d97e3d53b52093f1bdbc48c524742119eca5a3e|SHA256=6c2bf4b4508d61650cfd16dc40e874e6fb2907a5e72aa95001723c9d8e00e2ec|SIZE=3510|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|481|17:REC|SHA_PRE|BASENAME=homelab-backup-target-registry|SHA=66a243a207cbc5e19255fcafdb06013008d1d8c1d1205e660fdf0f236ff6a15a
SRC|BACKUP|481|24:REC|DUE_BY_DEADLINE|RANK=1|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|DUE_SECONDS=72000|DUE_AT=1791265606
SRC|BACKUP|481|26:EXPECTED_NEXT_TARGET_PRE=ct112
SRC|BACKUP|481|34:CT112_GENERATION_PRE=v2-ct112-20261005T094532Z-ee250335d44e
SRC|BACKUP|481|40:REC|BACKUP_V2_CURRENT|SCHEDULE_TARGET=ct112
SRC|BACKUP|481|42:ACTUAL_SCHEDULE_TARGET=ct112
SRC|BACKUP|481|48:CT112_GENERATION_POST=v2-ct112-20261006T082950Z-2538063ab2f8
SRC|BACKUP|481|49:Job for homelab-backup-audit.service failed because the control process exited with error code.
SRC|BACKUP|481|50:See "systemctl status homelab-backup-audit.service" and "journalctl -xeu homelab-backup-audit.service" for details.
SRC|BACKUP|481|65:REC|FAILED_UNIT_POST|homelab-backup-audit.service
REC|BACKUP_SOURCE|IDX=482|BASENAME=SUPPORT-261006-PVE01-REMAINING-FAILED-UNITS-RCA-99694R1-20261006T083635Z.json|PATH_SHA256=afec914944614bdcf979b92828f93762d3549e3e6e839118a0bd6303d03653f8|SHA256=d88354f51a5927cdf01712776f901f188ebdfa7cc7a292e7ed86be6ecc73c9f1|SIZE=25003|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|482|37:  "output": "PVE01_REMAINING_FAILED_UNITS_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nNODE_HOSTNAME=pve01\nUNIFIED_SHA=c588c4aa0c941406efcb3d24876c9262d9ec0dd4ced297d456fd2193e83afc49\nV2_SHA=7f413e4a3bc276be668ad0d7a877a0f2b2bd64bf1dead9cb929d966b25a44e25\nHELPER_SHA=66a243a207cbc5e19255fcafdb06013008d1d8c1d1205e660fdf0f236ff6a15a\nPROBE_SHA=44ea82521afb37e862ec7fb7f0e3eeb2f0f582b784506d8dec23f73ccea86050\nWORKER_SHA=a86bc027eefc37bbbcb9ad9b18c1c2c2a4f4ef9172a9cd9918a00f1d94c9e19a\nHELPER_VALIDATE_RC=0\nCANONICAL_PROBE_RC=0\nCANONICAL_PROBE_SEALED_PROVEN=true\nBACKUP_AUDIT_EXEC_PRESENT=true\nBACKUP_AUDIT_EXEC_BASENAME=homelab-backup-audit\nBACKUP_AUDIT_EXEC_SHA=1c2cd8a00859492c010ed35baf5eb67f4278544809de8c2563421a6f3e356ed3\nBACKUP_AUDIT_RESULT_NOW=exit-code\nBACKUP_AUDIT_EXEC_STATUS_NOW=1\nBACKUP_AUDIT_FRESH_LINES=48\nREC|AUDIT_FRESH|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|legacy_age_seconds=14441|generation=app-filebrowser-pve01-20261006T043010Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|legacy_age_seconds=14279|generation=app-hbarhub-pve01-20261006T043148Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-immich|kind=APP|state=FRESH|legacy_age_seconds=14385|generation=app-immich-pve01-20261006T043031Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|legacy_age_seconds=43247|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z\nREC|AUDIT_FRESH|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=370|generation=control-bootstrap-v2-pve01-20260916T120057Z\nREC|AUDIT_FRESH|TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=3875|legacy_age_seconds=2775090|replica_count=2|state_id=ct110|generation=v2-ct110-20261006T072242Z-655b3dc1c042\nREC|AUDIT_FRESH|TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=1522|replica_count=2|state_id=ct111|generation=v2-ct111-20261006T080259Z-417f9545ef1b\nREC|AUDIT_FRESH|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=1|legacy_age_seconds=2813585|replica_count=2|state_id=ct112|generation=v2-ct112-20261006T082950Z-2538063ab2f8\nREC|AUDIT_FRESH|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=67118|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7\nREC|AUDIT_FRESH|TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=5102|replica_count=2|state_id=vm130|generation=v2-vm130-20261006T064416Z-6541a84254d2\nREC|AUDIT_FRESH|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=65014|legacy_age_seconds=83432|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0\nREC|AUDIT_FRESH|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=51585|legacy_age_seconds=1719827|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94\nREC|AUDIT_FRESH|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=47820|legacy_age_seconds=1749359|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d\nREC|AUDIT_FRESH|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=62823|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9\nREC|AUDIT_FRESH|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=30496|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9\nREC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=APP_FRESHNESS_PLAN_FAILED|logical_id=-|root_cause=APP_QUEUE_RC_65\nREC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=GFS_INVALID|logical_id=-|root_cause=GFS_VALIDATE_FAILED\nREC|AUDIT_FRESH|ISSUE|severity=HIGH|code=RETENTION_CONTRACT_BAD|logical_id=-|root_cause=RETENTION_CONTRACT_RC_65\nREC|AUDIT_FRESH|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=15|ISSUE_COUNT=3|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nREC|AUDIT_FRESH|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|legacy_age_seconds=14739|generation=app-filebrowser-pve01-20261006T043010Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|legacy_age_seconds=14577|generation=app-hbarhub-pve01-20261006T043148Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-immich|kind=APP|state=FRESH|legacy_age_seconds=14683|generation=app-immich-pve01-20261006T043031Z\nREC|AUDIT_FRESH|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|legacy_age_seconds=43545|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z\nREC|AUDIT_FRESH|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=668|generation=control-bootstrap-v2-pve01-20260916T120057Z\nREC|AUDIT_FRESH|TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=4173|legacy_age_seconds=2775388|replica_count=2|state_id=ct110|generation=v2-ct110-20261006T072242Z-655b3dc1c042\nREC|AUDIT_FRESH|TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=1820|replica_count=2|state_id=ct111|generation=v2-ct111-20261006T080259Z-417f9545ef1b\nREC|AUDIT_FRESH|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=299|legacy_age_seconds=2813883|replica_count=2|state_id=ct112|generation=v2-ct112-20261006T082950Z-2538063ab2f8\nREC|AUDIT_FRESH|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=67416|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7\nREC|AUDIT_FRESH|TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=5400|replica_count=2|state_id=vm130|generation=v2-vm130-20261006T064416Z-6541a84254d2\nREC|AUDIT_FRESH|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=65312|legacy_age_seconds=83730|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0\nREC|AUDIT_FRESH|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=51883|legacy_age_seconds=1720125|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94\nREC|AUDIT_FRESH|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=48118|legacy_age_seconds=1749657|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d\nREC|AUDIT_FRESH|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=63121|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9\nREC|AUDIT_FRESH|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=30794|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9\nREC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=APP_FRESHNESS_PLAN_FAILED|logical_id=-|root_cause=APP_QUEUE_RC_65\nREC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=GFS_INVALID|logical_id=-|root_cause=GFS_VALIDATE_FAILED\nREC|AUDIT_FRESH|ISSUE|severity=HIGH|code=RETENTION_CONTRACT_BAD|logical_id=-|root_cause=RETENTION_CONTRACT_RC_65\nREC|AUDIT_FRESH|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=15|ISSUE_COUNT=3|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nAUDIT_SOURCE_APP_FRESHNESS_PLAN_FAILED_HIT_COUNT=1\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=112|resources={}\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=113|if rrc==0:\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=114|tr<PATH> x in json.loads(rout): resources[str(x.get(\"vmid\"))]=x\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=116|except Exception: pass\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=117|\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=118|qrc,qout,qerr=run([APPQ,\"freshness-plan\"],180)\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=119|app_dec=parse_app_plan(qout if qrc==0 else \"\")\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=120|if qrc!=0: issues.append({\"severity\":\"CRITICAL\",\"code\":\"APP_FRESHNESS_PLAN_FAILED\",\"logical_id\":\"-\",\"root_cause\":\"APP_QUEUE_RC_\"+str(qrc)})\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=121|\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=122|for lid,r in sorted(active.items()):\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=123|kind=r[\"kind\"]; ident=r[\"id\"]; rec={\"logical_id\":lid,\"kind\":kind,\"state\":\"UNVERIFIED\"}\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=124|if kind==\"VM\":\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=125|typ=str(resources.get(ident,{}).get(\"type\",\"qemu\"))\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=126|sid=(\"ct\"+ident) if typ==\"lxc\" else (\"vm\"+ident)\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=127|v2=None\nREC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=128|try: v2=json.loads((STATE<PATH>".json\")).read_text(encoding=\"utf-8\"))\nAUDIT_SOURCE_GFS_INVALID_HIT_COUNT=1\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=207|if lock==\"PATH_REDACTED and expected_v2_heavy_lock_owner():\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=208|pass\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=209|els<PATH>"severity\":\"HIGH\",\"code\":\"LOCK_BUSY\",\"logical_id\":lock,\"root_cause\":\"ACTIVE_OR_ORPHAN_LOCK\"})\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=211|\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=212|env=os.environ.copy(); env[\"HOMELAB_BACKUP_GFS_POLICY\"]=GFSP; env[\"HOMELAB_BACKUP_TARGET_REGISTRY\"]=str(REG)\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=213|grc,gout,_=run([GFSH,\"validate\"],20,env)\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=214|if grc!=0 or \"GFS_POLICY=OK\" not in gou<PATH>"severity\":\"CRITICAL\",\"code\":\"GFS_INVALID\",\"logical_id\":\"-\",\"root_cause\":\"GFS_VALIDATE_FAILED\"})\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=216|rr,_,_=run([RET,\"contract\"],120)\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=217|if rr!=0: issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_CONTRACT_BAD\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_CONTRACT_RC_\"+str(rr)})\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=218|rhp=pathlib.Path(\"PATH_REDACTED\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=219|if not rhp.is_file():\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=220|issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_HEALTH_MISSING\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_HEALTH_FILE_MISSING\"})\nREC|AUDIT_SOURCE|CODE=GFS_INVALID|LINE=221|els<PATH>"utf-8\"))\nAUDIT_SOURCE_RETENTION_CONTRACT_BAD_HIT_COUNT=1\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=209|els<PATH>"severity\":\"HIGH\",\"code\":\"LOCK_BUSY\",\"logical_id\":lock,\"root_cause\":\"ACTIVE_OR_ORPHAN_LOCK\"})\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=211|\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=212|env=os.environ.copy(); env[\"HOMELAB_BACKUP_GFS_POLICY\"]=GFSP; env[\"HOMELAB_BACKUP_TARGET_REGISTRY\"]=str(REG)\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=213|grc,gout,_=run([GFSH,\"validate\"],20,env)\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=214|if grc!=0 or \"GFS_POLICY=OK\" not in gou<PATH>"severity\":\"CRITICAL\",\"code\":\"GFS_INVALID\",\"logical_id\":\"-\",\"root_cause\":\"GFS_VALIDATE_FAILED\"})\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=216|rr,_,_=run([RET,\"contract\"],120)\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=217|if rr!=0: issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_CONTRACT_BAD\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_CONTRACT_RC_\"+str(rr)})\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=218|rhp=pathlib.Path(\"PATH_REDACTED\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=219|if not rhp.is_file():\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=220|issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_HEALTH_MISSING\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_HEALTH_FILE_MISSING\"})\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=221|els<PATH>"utf-8\"))\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=224|if rh.get(\"status\")!=\"OK\": issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_HEALTH_BAD\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_HEALTH_NOT_OK\"})\nREC|AUDIT_SOURCE|CODE=RETENTION_CONTRACT_BAD|LINE=225|except Exception: issues.append({\"severity\":\"HIGH\",\"code\":\"RETENTION_HEALTH_BAD\",\"logical_id\":\"-\",\"root_cause\":\"RETENTION_HEALTH_UNREADABLE\"})\nREC|AUDIT_PATH_REF|BASENAME=targets.json|PARENT=homelab-backup|TYPE=file|SHA256=c588c4aa0c941406efcb3d24876c9262d9ec0dd4ced297d456fd2193e83afc49|PATH_SHA=2f97838a94d9466163297d47d72c9c2e903a12cfb344abc58ff33fcbbae05528\nREC|AUDIT_PATH_REF|BASENAME=state|PARENT=homelab-backup-v2|TYPE=dir|SHA256=NONE|PATH_SHA=6b3144b23b95313197d83e8d55533ff96cc06062af4ae20c3d7a635cdc56145e\nREC|AUDIT_PATH_REF|BASENAME=cloud-quorum|PARENT=homelab-backup|TYPE=dir|SHA256=NONE|PATH_SHA=8757ada57c0d5e9d3c7d43ff9f4463f9cd391a8f19c6952b0c872e10a305630c\nREC|AUDIT_PATH_REF|BASENAME=vm-restore-validation|PARENT=homelab-backup|TYPE=dir|SHA256=NONE|PATH_SHA=c56996e4ea53994a88601ceeed1e5291c3e7ea79661386090cf582c3036616f8\nREC|AUDIT_PATH_REF|BASENAME=app-restore-validation|PARENT=homelab-backup|TYPE=dir|SHA256=NONE|PATH_SHA=c70a6d9e128e0f6fc7e29453ab78510eb2ff57124d19767bd88f87659063751c\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-target-registry|PARENT=libexec|TYPE=file|SHA256=66a243a207cbc5e19255fcafdb06013008d1d8c1d1205e660fdf0f236ff6a15a|PATH_SHA=cd6e91b27939aee60ecf8f93a42b3c793926bfd8930593f3ae3bb95f72692162\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-gfs-policy|PARENT=libexec|TYPE=file|SHA256=a1aed0c6039f8095bd5da7f62b47f4ee6932df98c4e0e7420d3006df86bd5c94|PATH_SHA=d731f7b73d3dd86c74980bed86852aea70b61074102fc4792f958096a43441a9\nREC|AUDIT_PATH_REF|BASENAME=gfs-retention.json|PARENT=homelab-backup|TYPE=file|SHA256=2c7674045dd5c68cc48d348d616494dbbe145df460a8e85d97a2c5c153ec792d|PATH_SHA=e76524b2cd2eff155d83a860d2ff2c65c0b54695eb6445ecc2af88cfbf32816d\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-retention-gc|PARENT=sbin|TYPE=file|SHA256=a96e607107e7b4e7762f7cb7f0e91f8c3ec6b793ed4604633c125433839ac909|PATH_SHA=68bcf5e97e4eda63f88bfee3ece5bc50ccdcbb2a089f97923534e67daf29ee4a\nREC|AUDIT_PATH_REF|BASENAME=restore-check-health.txt|PARENT=skladchik-reports-monitor-backup|TYPE=file|SHA256=08a290bea388e4ca0e1160aab1c909ff0cef9e98326b6dd32abe9f5541125ce8|PATH_SHA=c7b01e883c50df0f85e999374fa9d383932f47207b7a088028bbbd3fae148509\nREC|AUDIT_PATH_REF|BASENAME=backup-audit-v2.json|PARENT=homelab-health|TYPE=file|SHA256=2ece5343c5d732cbaa65d16feafaade791a2eb2eae465d8a6aba4e644c12e49a|PATH_SHA=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7\nREC|AUDIT_PATH_REF|BASENAME=backup-audit.json|PARENT=homelab-health|TYPE=file|SHA256=2ece5343c5d732cbaa65d16feafaade791a2eb2eae465d8a6aba4e644c12e49a|PATH_SHA=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-heavy.lock|PARENT=run|TYPE=file|SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855|PATH_SHA=2642241b0beaa7376e1362beefa000e2137478b93e8c1a5d275189b4954a6c93\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-heavy.lock|PARENT=run|TYPE=file|SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855|PATH_SHA=2642241b0beaa7376e1362beefa000e2137478b93e8c1a5d275189b4954a6c93\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-dispatcher.lock|PARENT=lock|TYPE=file|SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855|PATH_SHA=448d0e8fe73ac64db817c9df04aede92c9cea524652755a9fcdf60fbad00c1aa\nREC|AUDIT_PATH_REF|BASENAME=homelab-backup-heavy.lock|PARENT=run|TYPE=file|SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855|PATH_SHA=2642241b0beaa7376e1362beefa000e2137478b93e8c1a5d275189b4954a6c93\nREC|AUDIT_PATH_REF|BASENAME=backup-retention-safe-gc.json|PARENT=homelab-health|TYPE=file|SHA256=4260fcbc5797375b9281e9c64fec35b203fcd35110395e10b94a602a2a67b48c|PATH_SHA=9427dedc6832eded4f955d7a1b6251430298b78c17ed2970664df3370485c719\nREC|AUDIT_PATH_REF|BASENAME=app-skladchik-reports-monitor|PARENT=cloud-quorum|TYPE=dir|SHA256=NONE|PATH_SHA=dc50a937c87b10fe436df9da05826c17b7a3d17d316d87035e5571051c8358a3\nREC|AUDIT_PATH_REF|BASENAME=app-skladchik-reports-monitor|PARENT=app-restore-validation|TYPE=dir|SHA256=NONE|PATH_SHA=c75d5957fa9c11e592017a8399ae56adcdb992ade172a54162a8177c1291f45a\nBACKUP_AUDIT_DIRECT_RC=1\nREC|AUDIT_DIRECT|ISSUE|severity=CRITICAL|code=APP_FRESHNESS_PLAN_FAILED|logical_id=-|root_cause=APP_QUEUE_RC_65\nREC|AUDIT_DIRECT|ISSUE|severity=CRITICAL|code=GFS_INVALID|logical_id=-|root_cause=GFS_VALIDATE_FAILED\nREC|AUDIT_DIRECT|ISSUE|severity=HIGH|code=RETENTION_CONTRACT_BAD|logical_id=-|root_cause=RETENTION_CONTRACT_RC_65\nREC|AUDIT_DIRECT|SUMMARY|AUDIT_STATUS=OK|BACKUP_STATUS=RED|ACTIVE_COUNT=15|ISSUE_COUNT=3|CLOUD_A=OK|CLOUD_B=OK|CLOUD_B_DRILL=OK|DR_PROVEN=YES|SOURCE_OFFHOST=OK\nBACKUP_AUDIT_DIRECT_STDERR_LINES=0\nVPN_EXEC_PRESENT=true\nVPN_EXEC_BASENAME=bash\nVPN_EXEC_SHA=223fe8564b60636bc738b6178d3ba9a50ef7d791266b0efae6363bb716e4c47f\nVPN_RESULT_NOW=exit-code\nVPN_EXEC_STATUS_NOW=1\nREC|VPN_JOURNAL|1|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|2|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|4|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|5|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|6|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|8|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|9|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|10|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|12|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|13|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|14|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|16|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|17|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|18|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|20|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|21|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|22|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|24|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|25|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|26|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|28|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|29|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|30|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|32|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|33|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|34|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|36|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nREC|VPN_JOURNAL|37|Starting homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check...\nREC|VPN_JOURNAL|38|homelab-private-vpn-hosts-health.service: Main process exited, code=exited, status=1<PATH> Failed with result 'exit-code'.\nREC|VPN_JOURNAL|40|Failed to start homelab-private-vpn-hosts-health.service - Homelab private VPN hosts health check.\nVPN_EXPECTED_NAME_COUNT=0\nVPN_PVE01_RESOLV_CONF_SHA=a89871ac2938a423c74c6dfe801eab57085b4a4c869bb1f864097f5885e27a74\nVPN_PVE01_RESOLV_NAMESERVER_COUNT=1\nVPN_DIRECT_RC=0\nREC|VPN_DIRECT_OUT|1|PVE2_VPN_UNIT_EXISTS=false\nREC|VPN_DIRECT_OUT|2|PVE2_VPN_RESULT=success\nREC|VPN_DIRECT_OUT|3|PVE2_RESOLV_SHA=466da4d9381fbd060c635244fa97a800e50b77613fbd8c2ea0d2057ad4617f1f\nREC|VPN_DIRECT_OUT|4|PVE2_RESOLV_NAMESERVER_COUNT=1\nREC|VPN_DIRECT_OUT|5|FAILED_UNIT_COUNT_NOW=2\nREC|VPN_DIRECT_OUT|6|REC|FAILED_UNIT_NOW|homelab-backup-audit.service\nREC|VPN_DIRECT_OUT|7|REC|FAILED_UNIT_NOW|homelab-private-vpn-hosts-health.service\nREC|VPN_DIRECT_OUT|8|APT_FULL_UPGRADE_SIM_RC=0\nREC|VPN_DIRECT_OUT|9|APT_FULL_UPGRADE_SIM_UPGRADE_COUNT=184\nREC|VPN_DIRECT_OUT|10|APT_FULL_UPGRADE_SIM_REMOVE_COUNT=0\nREC|VPN_DIRECT_OUT|11|DECISION=PASS_PVE01_REMAINING_FAILED_UNITS_RCA\nREC|VPN_DIRECT_OUT|12|NEXT_GATE=PVE01_REMAINING_FAILED_UNITS_REPAIR\nREC|VPN_DIRECT_OUT|13|TASK_RESULT=PVE01_REMAINING_FAILED_UNITS_RCA\nREC|VPN_DIRECT_OUT|14|CHANGES_MADE=false\nREC|VPN_DIRECT_OUT|15|ROLLBACK_STARTED=false\nREC|VPN_DIRECT_OUT|16|ROLLBACK_RESTORED=null\nREC|VPN_DIRECT_OUT|17|MUTATION_OUTCOME=NO_MUTATION\nREC|VPN_DIRECT_OUT|18|HOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-REMAINING-FAILED-UNITS-RCA-99694R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=483|BASENAME=SUPPORT-261006-PVE01-CONTROL-BACKUP-FAIL-RCA-99690R1-20261006T081139Z.txt|PATH_SHA256=f2157dc7b4ad853e91f92290be0b7b78c5ae5944b49a0b0b2bb732aadc01f3c0|SHA256=0f232d18092f6f2c589cadab4858ec343a44da61c876edf70be8fabb7235dade|SIZE=3305|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|483|21:REC|FRESH_JOURNAL|3|SCHEDULE_TARGET=vm211
SRC|BACKUP|483|29:REC|FRESH_JOURNAL|23|  File "PATH_REDACTED, line 42, in backup_target
SRC|BACKUP|483|30:REC|FRESH_JOURNAL|25|  File "PATH_REDACTED, line 908, in backup_target
SRC|BACKUP|483|43:CONTROL_TARGET_KEYS=due_seconds,enabled,green1,logical_id,scope,type
SRC|BACKUP|483|51:REC|ENGINE_FUNC|backup_target|FOUND=true
SRC|BACKUP|483|52:REC|ENGINE_SOURCE|backup_target|1|def backup_target(t,green_verify=False):
SRC|BACKUP|483|53:REC|ENGINE_SOURCE|backup_target|3|return _legacy_backup_target(t,green_verify)
SRC|BACKUP|483|54:REC|ENGINE_SOURCE|backup_target|5|r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|483|60:REC|FAILED_UNIT_NOW|homelab-backup-audit.service
SRC|BACKUP|483|61:REC|FAILED_UNIT_NOW|homelab-backup-v2.service
REC|BACKUP_SOURCE|IDX=484|BASENAME=SUPPORT-261006-PVE01-CONTROL-BACKUP-FAIL-RCA-99690R1-20261006T081139Z.json|PATH_SHA256=42f2554940c98e40bc1c4455675fca1b766b6645bb03ef34e8b2cb6fe149d631|SHA256=2902ac2571dd6ae3a62ca84142488ccca934098b201eec8f50379f046a69a1a3|SIZE=4918|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|484|9:  "component": "pve01-control-backup-fail-rca",
SRC|BACKUP|484|37:  "output": "PVE01_CONTROL_BACKUP_FAIL_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nNODE_HOSTNAME=pve01\nV2_SHA=ac8fc9b95950052cd261a40992b17a485a8794dca82dbc8eb6961751fd4e9720\nCONTROL_STATE_SHA=dca9b4e1fd9a2f0b168fbbc9e21401a97336c0c17166914f59ee6e9003091e8c\nBACKUP_V2_ACTIVE_NOW=failed\nBACKUP_V2_RESULT_NOW=exit-code\nBACKUP_V2_EXEC_STATUS_NOW=1\nBACKUP_V2_FRESH_JOURNAL_LINES=44\nBACKUP_V2_FRESH_JOURNAL_SHA=238965f6b5d7aa58fd8627d253e26b4a872dd4de6e6e6a37e1e7cba4b349f781\nREC|FRESH_JOURNAL|3|SCHEDULE_TARGET=vm211\nREC|FRESH_JOURNAL|4|Traceback (most recent call last):\nREC|FRESH_JOURNAL|5|  File \"PATH_REDACTED, line 26, in <module>\nREC|FRESH_JOURNAL|8|  File \"PATH_REDACTED, line 25, in main\nREC|FRESH_JOURNAL|11|  File \"PATH_REDACTED, line 186, in main\nREC|FRESH_JOURNAL|14|  File \"PATH_REDACTED, line 94, in main\nREC|FRESH_JOURNAL|17|  File \"PATH_REDACTED, line 85, in _scheduled_locked\nREC|FRESH_JOURNAL|20|  File \"PATH_REDACTED, line 960, in scheduled_run\nREC|FRESH_JOURNAL|23|  File \"PATH_REDACTED, line 42, in backup_target\nREC|FRESH_JOURNAL|25|  File \"PATH_REDACTED, line 908, in backup_target\nREC|FRESH_JOURNAL|28|  File \"PATH_REDACTED, line 873, in capture_target\nREC|FRESH_JOURNAL|31|  File \"PATH_REDACTED, line 192, in capture_pve_guest\nREC|FRESH_JOURNAL|34|  File \"PATH_REDACTED, line 44, in capture_pve_guest\nREC|FRESH_JOURNAL|37|  File \"PATH_REDACTED, line 9, in _need\nREC|FRESH_JOURNAL|38|    if not ok: raise QemuAdapterError(code)\nREC|FRESH_JOURNAL|40|qemu_adapter.QemuAdapterError: PVE_GUEST_NOT_UNIQUE\nFRESH_COMMAND_FAILED_COUNT=0\nFRESH_TRACEBACK_COUNT=1\nCONTROL_TARGET_COUNT=1\nCONTROL_TARGET_TYPE=control\nCONTROL_TARGET_ENABLED=True\nCONTROL_TARGET_DUE_SECONDS=43200\nCONTROL_TARGET_KEYS=due_seconds,enabled,green1,logical_id,scope,type\nCONTROL_STATE_RESULT=SUCCESS\nCONTROL_STATE_REASON=MISSING\nCONTROL_STATE_LAST_SUCCESS_EPOCH=1791218537\nCONTROL_STATE_LAST_ATTEMPT_EPOCH=1791218537\nCONTROL_STATE_GENERATION=control-bootstrap-v2-pve01-20260916T120057Z\nENGINE_FOUND=true\nENGINE_SHA=2b5eb4fc0f6f466a0d3e5a007af987092b6c17baa3ff9241a6afc2c2e97df1d5\nREC|ENGINE_FUNC|backup_target|FOUND=true\nREC|ENGINE_SOURCE|backup_target|1|def backup_target(t,green_verify=False):\nREC|ENGINE_SOURCE|backup_target|3|return _legacy_backup_target(t,green_verify)\nREC|ENGINE_SOURCE|backup_target|5|r=ct112.run_target(t,state_writer=legacy.write_state)\nREC|ENGINE_FUNC|capture_control|FOUND=false\nREC|ENGINE_FUNC|capture_control_bootstrap|FOUND=false\nREC|ENGINE_FUNC|run_cmd|FOUND=false\nREC|ENGINE_FUNC|run|FOUND=false\nFAILED_UNIT_COUNT_NOW=3\nREC|FAILED_UNIT_NOW|homelab-backup-audit.service\nREC|FAILED_UNIT_NOW|homelab-backup-v2.service\nREC|FAILED_UNIT_NOW|homelab-private-vpn-hosts-health.service\nDECISION=PASS_PVE01_CONTROL_BACKUP_FAIL_RCA\nNEXT_GATE=PVE01_CONTROL_BACKUP_REPAIR_DECISION\nTASK_RESULT=PVE01_CONTROL_BACKUP_FAIL_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-CONTROL-BACKUP-FAIL-RCA-99690R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=485|BASENAME=SUPPORT-261006-PVE01-CONTROL-BACKUP-FAIL-RCA-99690R1-20261006T081139Z-latest.txt|PATH_SHA256=1c8cd4186fc7fd201b9437231012332ee08c41823b59b7955d7a4cf1cdec64fc|SHA256=b42b556978b6a0048bb71caf1101edcc5922cfac3565a3be00c54d54a67df34f|SIZE=4331|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|485|7:COMPONENT=pve01-control-backup-fail-rca
SRC|BACKUP|485|50:REC|FRESH_JOURNAL|3|SCHEDULE_TARGET=vm211
SRC|BACKUP|485|58:REC|FRESH_JOURNAL|23|  File "PATH_REDACTED, line 42, in backup_target
SRC|BACKUP|485|59:REC|FRESH_JOURNAL|25|  File "PATH_REDACTED, line 908, in backup_target
SRC|BACKUP|485|72:CONTROL_TARGET_KEYS=due_seconds,enabled,green1,logical_id,scope,type
SRC|BACKUP|485|80:REC|ENGINE_FUNC|backup_target|FOUND=true
SRC|BACKUP|485|81:REC|ENGINE_SOURCE|backup_target|1|def backup_target(t,green_verify=False):
SRC|BACKUP|485|82:REC|ENGINE_SOURCE|backup_target|3|return _legacy_backup_target(t,green_verify)
SRC|BACKUP|485|83:REC|ENGINE_SOURCE|backup_target|5|r=ct112.run_target(t,state_writer=legacy.write_state)
SRC|BACKUP|485|89:REC|FAILED_UNIT_NOW|homelab-backup-audit.service
SRC|BACKUP|485|90:REC|FAILED_UNIT_NOW|homelab-backup-v2.service
REC|BACKUP_SOURCE|IDX=486|BASENAME=SUPPORT-261006-PVE01-VM211-SCHEDULER-RCA-99691R1-20261006T081917Z.txt|PATH_SHA256=d72c98fef6fd0497ab4a32c9872554085bea3d952cf635158091884ccfa0941b|SHA256=e288f5664c0291933b43ebd4bf6463e9379c1e0635bd5cbf8a26233b50e938da|SIZE=2377|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|486|28:REC|V2_DUE_CONFIG_ORDER|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|AGE=81152|DUE=72000|RATIO=1.127111
SRC|BACKUP|486|41:REC|FAILED_UNIT_NOW|homelab-backup-audit.service
SRC|BACKUP|486|42:REC|FAILED_UNIT_NOW|homelab-backup-v2.service
REC|BACKUP_SOURCE|IDX=487|BASENAME=SUPPORT-261006-PVE01-VM211-SCHEDULER-RCA-99691R1-20261006T081917Z.json|PATH_SHA256=9be6b557706f47d02c9835562b81b7feaa19a9188198b5296bc8aba3d525bf46|SHA256=5ddd98ee174f449769e99da39a16dc741bcbed2fe10dcac6492d9bdaa0a892ab|SIZE=3951|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|487|37:  "output": "PVE01_VM211_SCHEDULER_RCA=V1\nMODE=read-only\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_SERVICE_START_STOP_RESTART=true\nNO_RESET_FAILED=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_MUTATION=true\nNO_BACKUP_EXECUTION=true\nNO_NETWORK_MUTATION=true\nNODE_HOSTNAME=pve01\nUNIFIED_SHA=c588c4aa0c941406efcb3d24876c9262d9ec0dd4ced297d456fd2193e83afc49\nV2_SHA=ac8fc9b95950052cd261a40992b17a485a8794dca82dbc8eb6961751fd4e9720\nVM211_STATE_SHA=918fc475992f338db5cf628d159e3383c09cf35703b59124fd520abba6a87281\nUNIFIED_VM211_MATCH_COUNT=0\nV2_VM211_MATCH_COUNT=1\nREC|V2_VM211|MATCH=1|INDEX=11|LOGICAL_ID=vm211|TYPE=pve_guest|ENABLED=True|NODE=|VMID=211|DUE_SECONDS=86400|GREEN1=False\nVM211_LIVE_CLUSTER_MATCH_COUNT=0\nVM211_STATE_PRESENT=true\nVM211_STATE_RESULT=SUCCESS\nVM211_STATE_REASON=MISSING\nVM211_STATE_LAST_SUCCESS_EPOCH=1791170440\nVM211_STATE_LAST_ATTEMPT_EPOCH=1791170440\nVM211_STATE_GENERATION=v2-vm211-20261005T031903Z-9d97977503b7\nV2_ENABLED_DUE_ORDER_BEGIN=true\nREC|V2_DUE_CONFIG_ORDER|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|AGE=81152|DUE=72000|RATIO=1.127111\nREC|V2_DUE_CONFIG_ORDER|INDEX=11|LOGICAL_ID=vm211|TYPE=pve_guest|VMID=211|LAST=1791170440|AGE=104318|DUE=86400|RATIO=1.207384\nREC|V2_DUE_CONFIG_ORDER|INDEX=13|LOGICAL_ID=node-pve01|TYPE=pve_node_bundle|VMID=|LAST=1790662089|AGE=612669|DUE=604800|RATIO=1.013011\nREC|V2_DUE_CONFIG_ORDER|INDEX=27|LOGICAL_ID=control-bootstrap-v2|TYPE=control|VMID=|LAST=1791218537|AGE=56221|DUE=43200|RATIO=1.301412\nV2_ENABLED_DUE_ORDER_END=true\nBACKUP_V2_ACTIVE_NOW=failed\nBACKUP_V2_RESULT_NOW=exit-code\nBACKUP_V2_EXEC_STATUS_NOW=1\nSCHEDULER_SOURCE_CANDIDATE_COUNT=0\nREC|VM211_NODE_CONFIG|NODE=pve01|COUNT=0\nREC|VM211_NODE_CONFIG|NODE=pve02|COUNT=0\nREC|VM211_NODE_CONFIG|NODE=pve03|COUNT=0\nFAILED_UNIT_COUNT_NOW=3\nREC|FAILED_UNIT_NOW|homelab-backup-audit.service\nREC|FAILED_UNIT_NOW|homelab-backup-v2.service\nREC|FAILED_UNIT_NOW|homelab-private-vpn-hosts-health.service\nDECISION=PASS_PVE01_VM211_SCHEDULER_RCA\nNEXT_GATE=PVE01_VM211_RETIRE_OR_SCHEDULER_REPAIR_DECISION\nTASK_RESULT=PVE01_VM211_SCHEDULER_RCA\nCHANGES_MADE=false\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=NO_MUTATION\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-VM211-SCHEDULER-RCA-99691R1\",\"status\":\"OK\",\"changes_made\":false,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=488|BASENAME=SUPPORT-261006-PVE01-VM211-SCHEDULER-RCA-99691R1-20261006T081917Z-latest.txt|PATH_SHA256=a9966b81738902e0acc58f5466475da508f35b123af122dd18642f861bf165d5|SHA256=4146759e44087e819e4c77b5c37cf282b66f08a9e1a6853469896835b9a72ccb|SIZE=3395|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|488|57:REC|V2_DUE_CONFIG_ORDER|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|AGE=81152|DUE=72000|RATIO=1.127111
SRC|BACKUP|488|70:REC|FAILED_UNIT_NOW|homelab-backup-audit.service
SRC|BACKUP|488|71:REC|FAILED_UNIT_NOW|homelab-backup-v2.service
REC|BACKUP_SOURCE|IDX=489|BASENAME=SUPPORT-261006-PVE01-BACKUP-V2-CT112-RECOVERY-99693R1-20261006T082949Z.json|PATH_SHA256=aca7ef09edc2f210d23ea0aa5e4e661d9bb38487e36179c58a982aabe6fc6763|SHA256=53592cafe3dfd3b17410a54fe0f93f9c6abfb2f01995b76987655b0db8c53e57|SIZE=5115|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|489|9:  "component": "pve01-backup-v2-ct112-recovery",
SRC|BACKUP|489|37:  "output": "PVE01_BACKUP_V2_CT112_RECOVERY=V1\nMODE=change\nSCOPE=ONE_REAL_SCHEDULER_CYCLE_CT112_AND_FINAL_RPO_AUDIT\nNO_REBOOT=true\nNO_APT_UPDATE=true\nNO_PACKAGE_MUTATION=true\nNO_CONFIG_WRITE=true\nNO_FILE_DELETE=true\nNO_GUEST_CONFIG_MUTATION=true\nBACKUP_EXECUTION=true\nBACKUP_CYCLE_LIMIT=1\nNO_NETWORK_CONFIG_MUTATION=true\nNO_VPN_SERVICE_EXECUTION=true\nNODE_HOSTNAME=pve01\nREC|SHA_PRE|BASENAME=targets.json|SHA=c588c4aa0c941406efcb3d24876c9262d9ec0dd4ced297d456fd2193e83afc49\nREC|SHA_PRE|BASENAME=targets.json|SHA=7f413e4a3bc276be668ad0d7a877a0f2b2bd64bf1dead9cb929d966b25a44e25\nREC|SHA_PRE|BASENAME=homelab-backup-target-registry|SHA=66a243a207cbc5e19255fcafdb06013008d1d8c1d1205e660fdf0f236ff6a15a\nREC|SHA_PRE|BASENAME=homelab-app-cloud-quorum-freshness-probe|SHA=44ea82521afb37e862ec7fb7f0e3eeb2f0f582b784506d8dec23f73ccea86050\nREC|SHA_PRE|BASENAME=homelab-app-cloud-quorum-worker|SHA=a86bc027eefc37bbbcb9ad9b18c1c2c2a4f4ef9172a9cd9918a00f1d94c9e19a\nV2_VM211_COUNT=1\nV2_VM211_DISABLED=true\nV2_DISABLED_TOTAL=11\nDUE_TARGET_COUNT_PRE=2\nREC|DUE_BY_DEADLINE|RANK=1|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|DUE_SECONDS=72000|DUE_AT=1791265606\nREC|DUE_BY_DEADLINE|RANK=2|INDEX=13|LOGICAL_ID=node-pve01|TYPE=pve_node_bundle|VMID=|LAST=1790662089|DUE_SECONDS=604800|DUE_AT=1791266889\nEXPECTED_NEXT_TARGET_PRE=ct112\nEXPECTED_NEXT_VMID_PRE=112\nEXPECTED_NEXT_LIVE_MATCH_COUNT_PRE=1\nREC|EXPECTED_NEXT_LIVE|VMID=112|TYPE=lxc|NODE=pve01|STATUS=running\nCT112_STATE_PRESENT_PRE=true\nCT112_LAST_SUCCESS_PRE=1791193606\nCT112_LAST_ATTEMPT_PRE=1791193606\nCT112_RESULT_PRE=SUCCESS\nCT112_GENERATION_PRE=v2-ct112-20261005T094532Z-ee250335d44e\nBACKUP_V2_ACTIVE_PRE=inactive\nBACKUP_V2_START_RC=0\nBACKUP_V2_RESULT_POST=success\nBACKUP_V2_EXEC_STATUS_POST=0\nBACKUP_V2_FRESH_JOURNAL_LINES=14\nREC|BACKUP_V2_CURRENT|SCHEDULE_TARGET=ct112\nREC|BACKUP_V2_CURRENT|SCHEDULE_RESULT=SUCCESS\nACTUAL_SCHEDULE_TARGET=ct112\nCT112_STATE_PRESENT_POST=true\nCT112_LAST_SUCCESS_POST=1791275459\nCT112_LAST_SUCCESS_ADVANCED=true\nCT112_RESULT_POST=SUCCESS\nCT112_REASON_POST=MISSING\nCT112_GENERATION_POST=v2-ct112-20261006T082950Z-2538063ab2f8\nJob for homelab-backup-audit.service failed because the control process exited with error code.\nSee \"systemctl status homelab-backup-audit.service\" and \"journalctl -xeu homelab-backup-audit.service\" for details.\nBACKUP_AUDIT_START_RC=1\nBACKUP_AUDIT_EXEC_STATUS_POST=1\nBACKUP_AUDIT_ISSUE_COUNT_POST=3\nBACKUP_AUDIT_RPO_BREACH_COUNT_POST=0\nBACKUP_AUDIT_RPO_BREACH_IDS_POST=\nBACKUP_AUDIT_VM112_ISSUE_COUNT_POST=0\nBACKUP_AUDIT_SUMMARY_AUDIT_STATUS=OK\nBACKUP_AUDIT_SUMMARY_BACKUP_STATUS=RED\nBACKUP_AUDIT_SUMMARY_ISSUE_COUNT=3\nBACKUP_AUDIT_SUMMARY_ACTIVE_COUNT=15\nREC|AUDIT_ISSUE_POST|LOGICAL_ID=-|CODE=APP_FRESHNESS_PLAN_FAILED\nREC|AUDIT_ISSUE_POST|LOGICAL_ID=-|CODE=GFS_INVALID\nREC|AUDIT_ISSUE_POST|LOGICAL_ID=-|CODE=RETENTION_CONTRACT_BAD\nFAILED_UNIT_COUNT_POST=2\nREC|FAILED_UNIT_POST|homelab-backup-audit.service\nREC|FAILED_UNIT_POST|homelab-private-vpn-hosts-health.service\nAPT_FULL_UPGRADE_SIM_RC=0\nAPT_FULL_UPGRADE_SIM_UPGRADE_COUNT=184\nAPT_FULL_UPGRADE_SIM_REMOVE_COUNT=0\nDECISION=PASS_PVE01_BACKUP_V2_CT112_RECOVERY\nNEXT_GATE=PVE01_VPN_HEALTH_REPAIR\nTASK_RESULT=PVE01_BACKUP_V2_CT112_RECOVERY\nCHANGES_MADE=true\nROLLBACK_STARTED=false\nROLLBACK_RESTORED=null\nMUTATION_OUTCOME=CT112_RECOVERY_AND_ZERO_RPO_COMPLETED\nHOMELAB_RESULT_CONTRACT={\"version\":1,\"command_id\":\"SUPPORT-261006-PVE01-BACKUP-V2-CT112-RECOVERY-99693R1\",\"status\":\"OK\",\"changes_made\":true,\"rollback_started\":false,\"rollback_restored\":null}\n"
REC|BACKUP_SOURCE|IDX=490|BASENAME=SUPPORT-261006-PVE01-BACKUP-V2-CT112-RECOVERY-99693R1-20261006T082949Z-latest.txt|PATH_SHA256=f71070f3bbf211fefbd3ad80590ff04b8c5fe1cb99c73fc34163fee659f30989|SHA256=6932512e513a173bad2d6319a414fb5402928ee7bd408e6af201c118673377bb|SIZE=4517|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|490|7:COMPONENT=pve01-backup-v2-ct112-recovery
SRC|BACKUP|490|46:REC|SHA_PRE|BASENAME=homelab-backup-target-registry|SHA=66a243a207cbc5e19255fcafdb06013008d1d8c1d1205e660fdf0f236ff6a15a
SRC|BACKUP|490|53:REC|DUE_BY_DEADLINE|RANK=1|INDEX=2|LOGICAL_ID=ct112|TYPE=pve_guest|VMID=112|LAST=1791193606|DUE_SECONDS=72000|DUE_AT=1791265606
SRC|BACKUP|490|55:EXPECTED_NEXT_TARGET_PRE=ct112
SRC|BACKUP|490|63:CT112_GENERATION_PRE=v2-ct112-20261005T094532Z-ee250335d44e
SRC|BACKUP|490|69:REC|BACKUP_V2_CURRENT|SCHEDULE_TARGET=ct112
SRC|BACKUP|490|71:ACTUAL_SCHEDULE_TARGET=ct112
SRC|BACKUP|490|77:CT112_GENERATION_POST=v2-ct112-20261006T082950Z-2538063ab2f8
SRC|BACKUP|490|78:Job for homelab-backup-audit.service failed because the control process exited with error code.
SRC|BACKUP|490|79:See "systemctl status homelab-backup-audit.service" and "journalctl -xeu homelab-backup-audit.service" for details.
SRC|BACKUP|490|94:REC|FAILED_UNIT_POST|homelab-backup-audit.service
REC|BACKUP_SOURCE|IDX=491|BASENAME=SUPPORT-261006-PVE01-REMAINING-FAILED-UNITS-RCA-99694R1-20261006T083635Z-latest.txt|PATH_SHA256=521e5faa0937d26ea8aef06e4f149a56e3bc1859f404774f7f153b1f59e0af1f|SHA256=63aa9c594916c9e858fb2f4bd27eeec92735462f17b68ed2f1eff3e84e4b415c|SIZE=24050|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|491|52:BACKUP_AUDIT_EXEC_BASENAME=homelab-backup-audit
SRC|BACKUP|491|57:REC|AUDIT_FRESH|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|legacy_age_seconds=14441|generation=app-filebrowser-pve01-20261006T043010Z
SRC|BACKUP|491|58:REC|AUDIT_FRESH|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|legacy_age_seconds=14279|generation=app-hbarhub-pve01-20261006T043148Z
SRC|BACKUP|491|59:REC|AUDIT_FRESH|TARGET|logical_id=app-immich|kind=APP|state=FRESH|legacy_age_seconds=14385|generation=app-immich-pve01-20261006T043031Z
SRC|BACKUP|491|60:REC|AUDIT_FRESH|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|legacy_age_seconds=43247|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z
SRC|BACKUP|491|61:REC|AUDIT_FRESH|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=370|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|491|62:REC|AUDIT_FRESH|TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=3875|legacy_age_seconds=2775090|replica_count=2|state_id=ct110|generation=v2-ct110-20261006T072242Z-655b3dc1c042
SRC|BACKUP|491|63:REC|AUDIT_FRESH|TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=1522|replica_count=2|state_id=ct111|generation=v2-ct111-20261006T080259Z-417f9545ef1b
SRC|BACKUP|491|64:REC|AUDIT_FRESH|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=1|legacy_age_seconds=2813585|replica_count=2|state_id=ct112|generation=v2-ct112-20261006T082950Z-2538063ab2f8
SRC|BACKUP|491|65:REC|AUDIT_FRESH|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=67118|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7
SRC|BACKUP|491|66:REC|AUDIT_FRESH|TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=5102|replica_count=2|state_id=vm130|generation=v2-vm130-20261006T064416Z-6541a84254d2
SRC|BACKUP|491|67:REC|AUDIT_FRESH|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=65014|legacy_age_seconds=83432|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0
SRC|BACKUP|491|68:REC|AUDIT_FRESH|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=51585|legacy_age_seconds=1719827|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94
SRC|BACKUP|491|69:REC|AUDIT_FRESH|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=47820|legacy_age_seconds=1749359|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d
SRC|BACKUP|491|70:REC|AUDIT_FRESH|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=62823|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9
SRC|BACKUP|491|71:REC|AUDIT_FRESH|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=30496|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9
SRC|BACKUP|491|72:REC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=APP_FRESHNESS_PLAN_FAILED|logical_id=-|root_cause=APP_QUEUE_RC_65
SRC|BACKUP|491|73:REC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=GFS_INVALID|logical_id=-|root_cause=GFS_VALIDATE_FAILED
SRC|BACKUP|491|74:REC|AUDIT_FRESH|ISSUE|severity=HIGH|code=RETENTION_CONTRACT_BAD|logical_id=-|root_cause=RETENTION_CONTRACT_RC_65
SRC|BACKUP|491|76:REC|AUDIT_FRESH|TARGET|logical_id=app-filebrowser|kind=APP|state=FRESH|legacy_age_seconds=14739|generation=app-filebrowser-pve01-20261006T043010Z
SRC|BACKUP|491|77:REC|AUDIT_FRESH|TARGET|logical_id=app-hbarhub|kind=APP|state=FRESH|legacy_age_seconds=14577|generation=app-hbarhub-pve01-20261006T043148Z
SRC|BACKUP|491|78:REC|AUDIT_FRESH|TARGET|logical_id=app-immich|kind=APP|state=FRESH|legacy_age_seconds=14683|generation=app-immich-pve01-20261006T043031Z
SRC|BACKUP|491|79:REC|AUDIT_FRESH|TARGET|logical_id=app-skladchik-reports-monitor|kind=APP|state=FRESH|legacy_age_seconds=43545|generation=app-skladchik-reports-monitor-pve01-20261005T203005Z
SRC|BACKUP|491|80:REC|AUDIT_FRESH|TARGET|logical_id=control-bootstrap-v2|kind=CONTROL|state=FRESH|age_seconds=668|generation=control-bootstrap-v2-pve01-20260916T120057Z
SRC|BACKUP|491|81:REC|AUDIT_FRESH|TARGET|logical_id=vm110|kind=VM|state=FRESH|source=V2|v2_age_seconds=4173|legacy_age_seconds=2775388|replica_count=2|state_id=ct110|generation=v2-ct110-20261006T072242Z-655b3dc1c042
SRC|BACKUP|491|82:REC|AUDIT_FRESH|TARGET|logical_id=vm111|kind=VM|state=FRESH|source=V2|v2_age_seconds=1820|replica_count=2|state_id=ct111|generation=v2-ct111-20261006T080259Z-417f9545ef1b
SRC|BACKUP|491|83:REC|AUDIT_FRESH|TARGET|logical_id=vm112|kind=VM|state=FRESH|source=V2|v2_age_seconds=299|legacy_age_seconds=2813883|replica_count=2|state_id=ct112|generation=v2-ct112-20261006T082950Z-2538063ab2f8
SRC|BACKUP|491|84:REC|AUDIT_FRESH|TARGET|logical_id=vm113|kind=VM|state=FRESH|source=V2|v2_age_seconds=67416|replica_count=2|state_id=ct113|generation=v2-ct113-20261005T135058Z-4ef751f00af7
SRC|BACKUP|491|85:REC|AUDIT_FRESH|TARGET|logical_id=vm130|kind=VM|state=FRESH|source=V2|v2_age_seconds=5400|replica_count=2|state_id=vm130|generation=v2-vm130-20261006T064416Z-6541a84254d2
SRC|BACKUP|491|86:REC|AUDIT_FRESH|TARGET|logical_id=vm150|kind=VM|state=FRESH|source=V2|v2_age_seconds=65312|legacy_age_seconds=83730|replica_count=2|state_id=vm150|generation=v2-vm150-20261005T142532Z-b95b67f5ddb0
SRC|BACKUP|491|87:REC|AUDIT_FRESH|TARGET|logical_id=vm170|kind=VM|state=FRESH|source=V2|v2_age_seconds=51883|legacy_age_seconds=1720125|replica_count=2|state_id=vm170|generation=v2-vm170-20261005T175552Z-16895f2ebc94
SRC|BACKUP|491|88:REC|AUDIT_FRESH|TARGET|logical_id=vm171|kind=VM|state=FRESH|source=V2|v2_age_seconds=48118|legacy_age_seconds=1749657|replica_count=2|state_id=vm171|generation=v2-vm171-20261005T191016Z-0bc9caa6fc1d
SRC|BACKUP|491|89:REC|AUDIT_FRESH|TARGET|logical_id=vm190|kind=VM|state=FRESH|source=V2|v2_age_seconds=63121|replica_count=2|state_id=vm190|generation=v2-vm190-20261005T150007Z-12d7245298b9
SRC|BACKUP|491|90:REC|AUDIT_FRESH|TARGET|logical_id=vm9130|kind=VM|state=FRESH|source=V2|v2_age_seconds=30794|replica_count=2|state_id=vm9130|generation=v2-vm9130-20261005T234232Z-c716cfa66ce9
SRC|BACKUP|491|91:REC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=APP_FRESHNESS_PLAN_FAILED|logical_id=-|root_cause=APP_QUEUE_RC_65
SRC|BACKUP|491|92:REC|AUDIT_FRESH|ISSUE|severity=CRITICAL|code=GFS_INVALID|logical_id=-|root_cause=GFS_VALIDATE_FAILED
SRC|BACKUP|491|93:REC|AUDIT_FRESH|ISSUE|severity=HIGH|code=RETENTION_CONTRACT_BAD|logical_id=-|root_cause=RETENTION_CONTRACT_RC_65
SRC|BACKUP|491|99:REC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=115|for x in json.loads(rout): resources[str(x.get("vmid"))]=x
SRC|BACKUP|491|104:REC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=120|if qrc!=0: issues.append({"severity":"CRITICAL","code":"APP_FRESHNESS_PLAN_FAILED","logical_id":"-","root_cause":"APP_QUEUE_RC_"+str(qrc)})
SRC|BACKUP|491|107:REC|AUDIT_SOURCE|CODE=APP_FRESHNESS_PLAN_FAILED|LINE=123|kind=r["kind"]; ident=r["id"]; rec={"logical_id":lid,"kind":kind,"state":"UNVERIFIED"}
REC|BACKUP_SOURCE|IDX=492|BASENAME=backup-audit-v2.json|PATH_SHA256=e520cdf4c0a133ac68165ccf96f4bec1031f4d7a3e7bddccf5c84aea2a26cad7|SHA256=b59396a20bfb121dd9d55a0cc91a6af1aeb7f99ebc9f55a16fb122da3e9a62dd|SIZE=3454|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|492|1:{"cloud":{"A":{"free":592535576731,"free_fraction":0.538908,"readable":true,"top_dirs":27,"total":1099511627776,"used":506976051045},"B":{"free":592535512872,"free_fraction":0.538908,"readable":true,"top_dirs":27,"total":1099511627776,"used":506976114904}},"cloud_b_restore_drill":true,"dr_proven":true,"generated_at_epoch":1791391569,"issues":[],"schema":"homelab-backup-audit-v3","source":{"local_head":"7c728eab77ddef3baaeafec2f1ca02f549c47c94","pushurl_disabled":true,"remote_head":"7c728eab77ddef3baaeafec2f1ca02f549c47c94"},"status":"GREEN","targets":[{"decision":"SKIP_FRESH","generation":"app-filebrowser-pve01-20261007T083007Z","kind":"APP","legacy_age_seconds":29753,"logical_id":"app-filebrowser","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-hbarhub-pve01-20261007T083154Z","kind":"APP","legacy_age_seconds":29585,"logical_id":"app-hbarhub","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-immich-pve01-20261007T083033Z","kind":"APP","legacy_age_seconds":29695,"logical_id":"app-immich","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-skladchik-reports-monitor-pve01-20261007T143012Z","kind":"APP","legacy_age_seconds":8150,"logical_id":"app-skladchik-reports-monitor","state":"FRESH"},{"age_seconds":26338,"generation":"control-bootstrap-v2-pve01-20260916T120057Z","kind":"CONTROL","logical_id":"control-bootstrap-v2","state":"FRESH"},{"generation":"v2-ct110-20261007T034527Z-5a42bcc3026c","kind":"VM","legacy_age_seconds":2891201,"logical_id":"vm110","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct110","v2_age_seconds":46620},{"generation":"v2-ct111-20261007T042007Z-9def13732321","kind":"VM","legacy_age_seconds":null,"logical_id":"vm111","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct111","v2_age_seconds":44604},{"generation":"v2-ct112-20261007T045109Z-ce9503fc59c5","kind":"VM","legacy_age_seconds":2929696,"logical_id":"vm112","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct112","v2_age_seconds":42830},{"generation":"v2-ct113-20261007T062729Z-83694880cdcb","kind":"VM","legacy_age_seconds":null,"logical_id":"vm113","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct113","v2_age_seconds":37040},{"generation":"v2-vm130-20261007T030803Z-312d5d41c53e","kind":"VM","legacy_age_seconds":null,"logical_id":"vm130","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm130","v2_age_seconds":47771},{"generation":"v2-vm150-20261007T070233Z-5f05d5cf1c1f","kind":"VM","legacy_age_seconds":199543,"logical_id":"vm150","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm150","v2_age_seconds":34898},{"generation":"v2-vm170-20261007T111403Z-a24a29be2584","kind":"VM","legacy_age_seconds":1835938,"logical_id":"vm170","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm170","v2_age_seconds":19028},{"generation":"v2-vm171-20261007T114629Z-14f28843795d","kind":"VM","legacy_age_seconds":1865470,"logical_id":"vm171","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm171","v2_age_seconds":17714},{"generation":"v2-vm190-20261007T081103Z-f09acc0aca0f","kind":"VM","legacy_age_seconds":null,"logical_id":"vm190","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm190","v2_age_seconds":30686},{"generation":"v2-vm9130-20261006T203203Z-7c190f4bd655","kind":"VM","legacy_age_seconds":null,"logical_id":"vm9130","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm9130","v2_age_seconds":71691}]}
REC|BACKUP_SOURCE|IDX=493|BASENAME=backup-audit.json|PATH_SHA256=091a828db6ee335d0272a370019f274a88f3a0fa4c9fd92d268358a3674f0b1d|SHA256=b59396a20bfb121dd9d55a0cc91a6af1aeb7f99ebc9f55a16fb122da3e9a62dd|SIZE=3454|HAS_ALIAS_112=false|HAS_CT112=true|HAS_LAST_TARGET=false
SRC|BACKUP|493|1:{"cloud":{"A":{"free":592535576731,"free_fraction":0.538908,"readable":true,"top_dirs":27,"total":1099511627776,"used":506976051045},"B":{"free":592535512872,"free_fraction":0.538908,"readable":true,"top_dirs":27,"total":1099511627776,"used":506976114904}},"cloud_b_restore_drill":true,"dr_proven":true,"generated_at_epoch":1791391569,"issues":[],"schema":"homelab-backup-audit-v3","source":{"local_head":"7c728eab77ddef3baaeafec2f1ca02f549c47c94","pushurl_disabled":true,"remote_head":"7c728eab77ddef3baaeafec2f1ca02f549c47c94"},"status":"GREEN","targets":[{"decision":"SKIP_FRESH","generation":"app-filebrowser-pve01-20261007T083007Z","kind":"APP","legacy_age_seconds":29753,"logical_id":"app-filebrowser","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-hbarhub-pve01-20261007T083154Z","kind":"APP","legacy_age_seconds":29585,"logical_id":"app-hbarhub","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-immich-pve01-20261007T083033Z","kind":"APP","legacy_age_seconds":29695,"logical_id":"app-immich","state":"FRESH"},{"decision":"SKIP_FRESH","generation":"app-skladchik-reports-monitor-pve01-20261007T143012Z","kind":"APP","legacy_age_seconds":8150,"logical_id":"app-skladchik-reports-monitor","state":"FRESH"},{"age_seconds":26338,"generation":"control-bootstrap-v2-pve01-20260916T120057Z","kind":"CONTROL","logical_id":"control-bootstrap-v2","state":"FRESH"},{"generation":"v2-ct110-20261007T034527Z-5a42bcc3026c","kind":"VM","legacy_age_seconds":2891201,"logical_id":"vm110","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct110","v2_age_seconds":46620},{"generation":"v2-ct111-20261007T042007Z-9def13732321","kind":"VM","legacy_age_seconds":null,"logical_id":"vm111","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct111","v2_age_seconds":44604},{"generation":"v2-ct112-20261007T045109Z-ce9503fc59c5","kind":"VM","legacy_age_seconds":2929696,"logical_id":"vm112","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct112","v2_age_seconds":42830},{"generation":"v2-ct113-20261007T062729Z-83694880cdcb","kind":"VM","legacy_age_seconds":null,"logical_id":"vm113","replica_count":2,"source":"V2","state":"FRESH","state_id":"ct113","v2_age_seconds":37040},{"generation":"v2-vm130-20261007T030803Z-312d5d41c53e","kind":"VM","legacy_age_seconds":null,"logical_id":"vm130","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm130","v2_age_seconds":47771},{"generation":"v2-vm150-20261007T070233Z-5f05d5cf1c1f","kind":"VM","legacy_age_seconds":199543,"logical_id":"vm150","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm150","v2_age_seconds":34898},{"generation":"v2-vm170-20261007T111403Z-a24a29be2584","kind":"VM","legacy_age_seconds":1835938,"logical_id":"vm170","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm170","v2_age_seconds":19028},{"generation":"v2-vm171-20261007T114629Z-14f28843795d","kind":"VM","legacy_age_seconds":1865470,"logical_id":"vm171","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm171","v2_age_seconds":17714},{"generation":"v2-vm190-20261007T081103Z-f09acc0aca0f","kind":"VM","legacy_age_seconds":null,"logical_id":"vm190","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm190","v2_age_seconds":30686},{"generation":"v2-vm9130-20261006T203203Z-7c190f4bd655","kind":"VM","legacy_age_seconds":null,"logical_id":"vm9130","replica_count":2,"source":"V2","state":"FRESH","state_id":"vm9130","v2_age_seconds":71691}]}
BACKUP_SOURCE_HIT_COUNT=493
BACKUP_ALIAS112_FILE_COUNT=176
BACKUP_CT112_FILE_COUNT=438
BACKUP_LAST_TARGET_FILE_COUNT=176
DNS_NS_PRESENT=true
DNS_NS_SHA256=876800f2ea41ad454f6f8fa25eac5fc4ef898632dd7f6cc6f0093c1848498853
RESOLV_CONF_REAL_BASENAME=resolv.conf
RESOLV_CONF_REAL_PATH_SHA256=95f03ffa45a7d998216b9e8338782aff0bc5793a5fc051549c62696540724d5e
DNS_NS_ROUTE_DEV=lo
DNS_NS_ROUTE_VIA_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
DNS_NS_ROUTE_SRC_SHA256=876800f2ea41ad454f6f8fa25eac5fc4ef898632dd7f6cc6f0093c1848498853
DNS_NS_MATCH_DEFAULT_GW=false
DNS_NS_NEIGH_PRESENT=false
DNS_NS_MAC_SHA256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
DNS_NS_GUEST_MAC_MATCH_COUNT=0
DNS_NS_VERSION_PRESENT=true
DNS_NS_VERSION_SHA256=74844e10a6a274835e7e7fb592c77d77ffc2834ff36210aee16afa6e52c8140e
REC|DNS_NS_CONFIG_REF|IDX=1|BASENAME=networks.json|PATH_SHA256=9b1402a0fb85944585d49b16c28a87cd48c2bbacc560368729e16549faa3275f|SHA256=643930d320a071f41235914478e0c97ad822ddfb8db6d7908a6ef96f1ff4e798
REC|DNS_NS_CONFIG_REF|IDX=2|BASENAME=dns.json|PATH_SHA256=891a4085d4a6b4075bef0ebd609e9498ad94ec792694f128dd231dd952dc1904|SHA256=0becd614be8086ded212f3ff4c41b86c0b413cb1006452f3892d99a0f819d60e
REC|DNS_NS_CONFIG_REF|IDX=3|BASENAME=networks.json|PATH_SHA256=dab272bfe7d871e62520317c15e4a753cd951b88a1a01bfa6d06f61896aa616d|SHA256=5956bdcbfd75d703aeecb92e4b2adc424906628be5f52f2f085d6a0d06437fb9
REC|DNS_NS_CONFIG_REF|IDX=4|BASENAME=dns.json|PATH_SHA256=1b46da6dcfd6eed8a96062491d5769adcb51e875a7cee12f45a01ed453718abe|SHA256=aaa264327912719fec533c8f18f6fe771287a7ab1f988a538960c63c55758f02
REC|DNS_NS_CONFIG_REF|IDX=5|BASENAME=networks.json|PATH_SHA256=c83f7f9f6ce55d6853838194b18652b32b5a798d9e491d266fcc75ffef42fa2d|SHA256=fe74037e16a686313a3c666521d0888bfdd3aebb8494417d20ec0abac1a76dab
REC|DNS_NS_CONFIG_REF|IDX=6|BASENAME=dns.json|PATH_SHA256=6383438975856e6dce4a1f1b75d41e1ed4a9cd3ba039e8761683e65041865ae6|SHA256=005668955b144e475599f4f873b19deb8ce16ca117134081a7e4a34988438070
REC|DNS_NS_CONFIG_REF|IDX=7|BASENAME=networks.json|PATH_SHA256=bf4a025a10759758c0f9513e164c34da09282d27a552f283e9bb92d8f64bd8ac|SHA256=ddd956844040823915321ac5a099c2d52ed5904ca1cf2b0338b10ad027506565
REC|DNS_NS_CONFIG_REF|IDX=8|BASENAME=dns.json|PATH_SHA256=b1640e1a9fc408eb26e980a3881e04552a2dd04fc5d638630d052ca9036b4efb|SHA256=659bf35853617e0323787ff97902a33768bdf667d8f2c2375a0d7b99c30897c7
REC|DNS_NS_CONFIG_REF|IDX=9|BASENAME=networks.json|PATH_SHA256=bd1b667d7c8fdbb3e7f8dc5e74d1df234eabe596280ecb2e561e30ed04d62afa|SHA256=2bf4288cbcd6ea772e2904ca3ba7ad8d1a065a50cf53a24c0aa0083509e99460
REC|DNS_NS_CONFIG_REF|IDX=10|BASENAME=dns.json|PATH_SHA256=9c49ec3193697f82333bb6c57147f8aa354d78d457fb7b4c90c5286e817c94b9|SHA256=05c054d9fe058583671506057acf4ede2f206efb33360cfd53054ca8f1375f0d
REC|DNS_NS_CONFIG_REF|IDX=11|BASENAME=networks.json|PATH_SHA256=f29e9ae09e5f2cce24941f5def18c423c4fd54d3c0fcc36f88b8b590d79c6485|SHA256=b656c3a863d60b2d2d6b31700e1adee6fe812375de098f2e390f5fb2ad62998d
REC|DNS_NS_CONFIG_REF|IDX=12|BASENAME=dns.json|PATH_SHA256=67fe23d3f848cbd97fa3136699cd37c444b59f0339c5b9baff0302b1ff4b8603|SHA256=63f7abcca55e4005234e1c1c655a9bf5295d0a9d063acdfc5c09e45c6c3b4d07
REC|DNS_NS_CONFIG_REF|IDX=13|BASENAME=networks.json|PATH_SHA256=f23294369f6c0e3dda829a67776cdcae9b7e79f82e348191032da4fb8f5a53bd|SHA256=3e83b96838145090fa4cd260dfe8e46a62009bdcc824afe7f4aeecf8c6fcda70
REC|DNS_NS_CONFIG_REF|IDX=14|BASENAME=dns.json|PATH_SHA256=93f15bb22cd0f810b974ffbda5a86d8102d28fa4768c2889103f3e6c4fdeb2fc|SHA256=94adf66a4331436e2686bc2bc7f9e2a385b3b6d9f93485b67ee47c0bd406cfea
REC|DNS_NS_CONFIG_REF|IDX=15|BASENAME=networks.json|PATH_SHA256=1f1afea9de04bdad1773091c008193706e5bad961129b749bcf3545edc49ef1d|SHA256=c9a8801e3b6483ee1402081f93d717ab3a8e0c36713d50350e7463ae5dd63bda
REC|DNS_NS_CONFIG_REF|IDX=16|BASENAME=dns.json|PATH_SHA256=7a4d90a503bd063049ca0d30addad51b51beaa74d5cb355d85025fa4f90dfe58|SHA256=6d8c621dbad5a9ccb82891f3b3fd6215fc2b266149a628118892cdbbfbd11f48
REC|DNS_NS_CONFIG_REF|IDX=17|BASENAME=networks.json|PATH_SHA256=ee885410ef0bcbb9abdce333caa4b8ca9bf70d534602d3e6ec5e1dd7ebcb432b|SHA256=f3eddd3a85814027b11a4784bfb9a1320f4552b07f16865265f2368f194debc6
REC|DNS_NS_CONFIG_REF|IDX=18|BASENAME=dns.json|PATH_SHA256=1479fb6bad02ccc4f79d3dc174dbe3e48713b19cee3c658b96e79a5b934aab35|SHA256=18ec3abb4fb96ac454afbcea7228576fa75e2900fad5c75a3a0a79dc69181f86
REC|DNS_NS_CONFIG_REF|IDX=19|BASENAME=networks.json|PATH_SHA256=01c01f112029a5f955ec4be3e54927c6d842e80faf2d58a22ea1da1056cd4506|SHA256=7e968af9cc79bb71f5ef9417b0d1f2d30552a4f9110e10118f69b9ae96387990
REC|DNS_NS_CONFIG_REF|IDX=20|BASENAME=dns.json|PATH_SHA256=80d6b5a4d2697f4455dbbb992fb7d60ba3f403613be1570c6e3f32424eaec3cc|SHA256=6b338b7f8f344c1321e0d007c836e2bbcab85f03ab320cccac0d5229afc7e50b
REC|DNS_NS_CONFIG_REF|IDX=21|BASENAME=networks.json|PATH_SHA256=107585e74e2906c131d1efd0a3cf66d72fef1eb6f098edacbf86e5a207185641|SHA256=8162500b27f62ba3d20aeb87356dd513efd65064540dc3b18abbdda4e5e8003f
REC|DNS_NS_CONFIG_REF|IDX=22|BASENAME=dns.json|PATH_SHA256=d42f35c8ba0652e085041a449708fda1445c6beff32e88acf16303a54a1cf75b|SHA256=2c6cfdf4dedd4b78f1a6778dd8e7a33740fa668b63d664cb8d8a2219e929a625
REC|DNS_NS_CONFIG_REF|IDX=23|BASENAME=networks.json|PATH_SHA256=1162cdca4d23203abe0361c72732c9698bbabccb4005437a2dae14bb0c14819c|SHA256=7886621027016a34fb3bbdd80e2d5b731eb23ff1cfe4d508aa059996a68fa25d
REC|DNS_NS_CONFIG_REF|IDX=24|BASENAME=dns.json|PATH_SHA256=103b8fc31b3b4b6bc1c50507e7d8473b597c49987b82a31254597a29a9716a0c|SHA256=8cd91a0705993d685a2fc6b20cd56cbe1ecf45875fb266fe163a578ddf50296b
REC|DNS_NS_CONFIG_REF|IDX=25|BASENAME=networks.json|PATH_SHA256=6fb7a70876303f95a5c90c668b472389bc97e5a55d32bec2b180a5517e7098ad|SHA256=2c5feead2d313dc0d4f5f6f82fcdcc0e031bf6fe633c490936344d878bdb6e3c
REC|DNS_NS_CONFIG_REF|IDX=26|BASENAME=dns.json|PATH_SHA256=d88398a0840d1629821e2e52634b29e5c07be2ba424ccc6c99dbaad799560179|SHA256=771ab84d5a1586f5d89e20820e768f6f30dbe021ced4cfb7199242177c0d5c68
REC|DNS_NS_CONFIG_REF|IDX=27|BASENAME=networks.json|PATH_SHA256=b0c235a42d39100e1e8389f5b18d011c3fb9113d1fcfacbe6439325bdca42e1d|SHA256=815801b35951c544ef767a51428423dcbb495ca958ce81c23ecd303a39a42c67
REC|DNS_NS_CONFIG_REF|IDX=28|BASENAME=dns.json|PATH_SHA256=3761f6698bd863dc0fae9f528c228cdacc9c5f635f374e20eb4f4f0bb11af752|SHA256=7934d0311e06c24317d3df3a35743ec2550b71119cd37e65869d58dfbea50ced
REC|DNS_NS_CONFIG_REF|IDX=29|BASENAME=networks.json|PATH_SHA256=2b55a9866b1353144edeb6461a33d602407f618791bec421c35cebd8cfb2780b|SHA256=cfbf3a255ea06e6dd901f51e97430db1dd4f7e0da529e42cf53eb25af52e4d28
REC|DNS_NS_CONFIG_REF|IDX=30|BASENAME=dns.json|PATH_SHA256=b5d48cba386e7647631d02a3e33b1975356197379ba22a237f5580ea09cdd8ea|SHA256=4da1ba28d27b420367f40fa32c65a095b2a90dcf6c35701eb99e6ed5e5fdcd19
REC|DNS_NS_CONFIG_REF|IDX=31|BASENAME=networks.json|PATH_SHA256=d0c4cfdbc8a3ddc93da8598dbdc411d615f7f428b5110956cc9dea7db220ca1d|SHA256=6288520ca1088cc5e148855a7cbd2b74fd03a05f63d1318df0142b667a20085d
REC|DNS_NS_CONFIG_REF|IDX=32|BASENAME=dns.json|PATH_SHA256=0040302665acc1233acd048c9cabe254c41f27ab3bba1c53835d310cec956b51|SHA256=67e0f2fccdecb870d8923f40578b1dfb12d9217309552743ff341df9f4dc3546
REC|DNS_NS_CONFIG_REF|IDX=33|BASENAME=networks.json|PATH_SHA256=51523b47a1499e2d488454387499aace73676341318ae8ed4797ed9c02627d05|SHA256=4ffad20909b36d361e970675e4ab555dfed2beb135eb082e8e73f143255139a3
REC|DNS_NS_CONFIG_REF|IDX=34|BASENAME=dns.json|PATH_SHA256=3efa7a55524ffd18dfc59dc28b1988853a61b00495021560885f2dec7d86947a|SHA256=172a8a6ec67ccedb9c153fa86893418cebae49e21366884516eb5f641686b2ff
REC|DNS_NS_CONFIG_REF|IDX=35|BASENAME=networks.json|PATH_SHA256=8492d9e6f4a0879ccf705a2a1f026525cb65dfd01caee6ebdb8cddba9e61d744|SHA256=b04dfa2d2aedf183dccc65f4095bc29036e9eb04b71515980d6a495e3e7ca64e
REC|DNS_NS_CONFIG_REF|IDX=36|BASENAME=dns.json|PATH_SHA256=6c1ec8790ab8eae8ef1ebd95c5edefe0ebcacff34c6d2ea9733dd978d0f33879|SHA256=1fc8e4f2c46c45192e242ac70992c7002f311b7ce667a412f808c7c117cab35b
REC|DNS_NS_CONFIG_REF|IDX=37|BASENAME=networks.json|PATH_SHA256=bd07d0730511eb8abbdb38849d8f942eeeadc8e7e568870bc85d416d6137d657|SHA256=be8a4f830488bf4fd959665e369fc525b8d2b4a1e90b1700e92a835816174843
REC|DNS_NS_CONFIG_REF|IDX=38|BASENAME=dns.json|PATH_SHA256=c8c14e2835f432c00806a713836da04c59d456ef3eb3d8f1059ca5126924ea1f|SHA256=d9d9c8c16ba66e27a5fb36d50e9d7028e49cf792a914d140f16436c50cf21d12
REC|DNS_NS_CONFIG_REF|IDX=39|BASENAME=networks.json|PATH_SHA256=0162e32d2245c3370e3eec2a2d15e598111d9d460e9abeac4fba56f3c1d7f7e6|SHA256=26870f9357bff9b52d78a9a72dd8a977b48c9f94b091306466a560b5f7a895fd
REC|DNS_NS_CONFIG_REF|IDX=40|BASENAME=dns.json|PATH_SHA256=05341bc4953bb452612b408c68fc55153958da36cf7325621cb1c0ba7ea1eb99|SHA256=83706582ef72ea97008077a0bcd373185ec8fc74cdbb13846b03a8971aa7c053
REC|DNS_NS_CONFIG_REF|IDX=41|BASENAME=networks.json|PATH_SHA256=942cdff3457ffb383ab2c21061633e3a33c2bb742055453496aa00ed5a58ff84|SHA256=c5a4e0981e74f458b63bff00d93b204f050f051081ba0dbedb841d214b5ca3f3
REC|DNS_NS_CONFIG_REF|IDX=42|BASENAME=dns.json|PATH_SHA256=e89e4d3a46eede15e5588da15c08e9083d170d2b3eba0f72351e86c557418fd1|SHA256=611867b42ff75028f4b14718b13ed723e7a0411e80e4af6406d7e67cc3595e62
REC|DNS_NS_CONFIG_REF|IDX=43|BASENAME=networks.json|PATH_SHA256=4da2ab12bd9b3f7c097750ca33ce1c243de9f75e38113f53ca64627d50393a08|SHA256=167b55204fbbda5749d2db84854e6f983287933b21096f45f901d239336088e2
REC|DNS_NS_CONFIG_REF|IDX=44|BASENAME=dns.json|PATH_SHA256=a812ac9c93e7e71392250c491b8f7a906e00c90deeb8660b5f20cf4d083bb8ed|SHA256=a87050c30d8a07bd2a8996d998fc48a154cb27cf64ee66e8d2dbddad0eeade94
REC|DNS_NS_CONFIG_REF|IDX=45|BASENAME=networks.json|PATH_SHA256=2fbd4c94bb3ff279af96d8e63b2c17d92fd75c67f49b98838ece2e3859604b57|SHA256=e24135beca68ddc2a87972e03d1d93380de9018c568ff71ea91f8794de3b80c6
REC|DNS_NS_CONFIG_REF|IDX=46|BASENAME=dns.json|PATH_SHA256=4f9933547d66a93af0c1e3f488a06236aa062a1969be45104e35ffa103ddf8d2|SHA256=c53d131a5fc1a5fa2af5530bb6db866d7fb0e880a7f44c09022c0bee0ebd4161
REC|DNS_NS_CONFIG_REF|IDX=47|BASENAME=networks.json|PATH_SHA256=4509ea1773bf1d0ba4c0a04836d07f6025e4bbf368f919059d3bbc43f4ebf104|SHA256=94fe5b16c64b2f15ef1da06c92cd68c7a1cad382778335a48a3ebee9652e4683
REC|DNS_NS_CONFIG_REF|IDX=48|BASENAME=dns.json|PATH_SHA256=91efaa739a45cf1fd5b5e563320c14125f137be3cdbd8680ae8482ed0110fa5c|SHA256=5cb92e78a121d6a2ee2e1d36cb9681debc404b75e4df4b77857d964e34590277
REC|DNS_NS_CONFIG_REF|IDX=49|BASENAME=networks.json|PATH_SHA256=74e5620a10504008686e6f414b465601b53b77dd0c4263f47dc6a93efa95385a|SHA256=29a1bb7bb7d191b87722b95dbea6be9edd5f852bfd43670d02bc38e63b223030
REC|DNS_NS_CONFIG_REF|IDX=50|BASENAME=dns.json|PATH_SHA256=4bf1bb093030dc00a384ae7b8666a33fefe02a4ff1b1cb8593c30a4654cc167e|SHA256=6f9e60dcc543d6bac481df14a48e57fbc718473545d1e73f5ff027698dc6212f
REC|DNS_NS_CONFIG_REF|IDX=51|BASENAME=networks.json|PATH_SHA256=41daabd4255559d5b427700b70b064cf4a60ca9b238735b2fb4da80975b3ee5a|SHA256=21487e4b2004444763f8b5a4b2e1685b5e758d7bdfde1441b0f0d5f14a028718
REC|DNS_NS_CONFIG_REF|IDX=52|BASENAME=dns.json|PATH_SHA256=fdede55364a4e39160d8a61b25052278bcc83ec8148a2e0185e5dc5907254a8f|SHA256=c21f9ae13387b94432c4b57c87739065ed5bc2bf82b2f9a7d0fc58e08b4c015d
REC|DNS_NS_CONFIG_REF|IDX=53|BASENAME=networks.json|PATH_SHA256=ba1f9843b04b0331da38e4986d52b73f16c1d9ced3cf3334769a71a40595e55b|SHA256=61324ef6b767d3d2e9221d55f37a33860af63c7c9cc3b47701ac75c2102e8f2d
REC|DNS_NS_CONFIG_REF|IDX=54|BASENAME=dns.json|PATH_SHA256=ff7b212d240e1441a699e5d2e766b016cb1b9c592384b310162313d9da3edee4|SHA256=80f20f6153cf930c1e3475802ffb92b8c2d084a3d51da8ce8501509570d45a4f
REC|DNS_NS_CONFIG_REF|IDX=55|BASENAME=networks.json|PATH_SHA256=1899427c5a8209517ad2fb60c373685824b8cf342020e0781682f866926611e0|SHA256=31fe9ad902d87c33e6aa23b7ab26e79c87405fcc67e0be74017a30b6406450c3
REC|DNS_NS_CONFIG_REF|IDX=56|BASENAME=dns.json|PATH_SHA256=114dd05e8b2c6470d5bfbdbb98ea3b415a776193afa8cec11dda23e197dc8b22|SHA256=7ec14ed2483af7cc2c06d1a0e36e8e8ccffcdc626166fbde2a7f2bfcaabeb263
REC|DNS_NS_CONFIG_REF|IDX=57|BASENAME=networks.json|PATH_SHA256=42624e8b29c73003992c494c28ce67d717da5285cfa0f8cfd5cfe389146710fd|SHA256=bbfcb5184cfa5a846eedcd281b25d8123b53e0d8996e4c341a41e75ebe850dda
REC|DNS_NS_CONFIG_REF|IDX=58|BASENAME=dns.json|PATH_SHA256=5b158f0d9a58afc4e99db394b2c9bfc337bd1ef8e6ef57c34fedc6e82f496509|SHA256=0e7d95aa38a4c9507d0c5f8b42bc6c07c1555a81f7a1ce7253125416d9952b07
REC|DNS_NS_CONFIG_REF|IDX=59|BASENAME=networks.json|PATH_SHA256=335aac093d27b18bfd3953d875a62feb86e81e288114ed10259fd8bcf01e2f6a|SHA256=467569786854f295aab20678791f315de7011b14a0e73da9fa5ad04ed1b97e91
REC|DNS_NS_CONFIG_REF|IDX=60|BASENAME=dns.json|PATH_SHA256=f09ff15e2a41805fc2debecba5b1776ca5b635d73d49df3e151279a967eded13|SHA256=76fac700805a60f9c71b72d606b9bdabebc0a93f7fe665dd43ce50a1fa4e85eb
REC|DNS_NS_CONFIG_REF|IDX=61|BASENAME=networks.json|PATH_SHA256=e3a972b648f42be4fc999e7a957a3c9a24ccf2294f431eb2ba02fda42bcae7be|SHA256=3745ceb7eb08796fe668a56d5896f58e195aaca760bd9b8db47a13d98b809357
REC|DNS_NS_CONFIG_REF|IDX=62|BASENAME=dns.json|PATH_SHA256=4a133e81ce19ec462c1710136b8bc0af3dc2852338cec12accec069d73efe084|SHA256=3cd214a561827132af22c8e4daddaf16579fbc4e4c037ef9792c0c7e056eae4d
REC|DNS_NS_CONFIG_REF|IDX=63|BASENAME=networks.json|PATH_SHA256=7ef8f20c8e4fd3e5669ffb4d9fcbf696da1883729c611e5e988caa1eacc8bf93|SHA256=934553bab63413f1b10e361288f1fdf2b9a7ac6f401132952698fa8ca0ac5eb5
REC|DNS_NS_CONFIG_REF|IDX=64|BASENAME=dns.json|PATH_SHA256=76dfc76020143b4df6819a450c06e2ea18ba718a193de9c52b04494da5063e1f|SHA256=8594a491ca219a3b228b1352a591714d010a2b6a4bf89a74f24fc414a3d46d1c
REC|DNS_NS_CONFIG_REF|IDX=65|BASENAME=networks.json|PATH_SHA256=0caf8f7f6370b8be235c742b868da69e1df04ecb434324757a893af8bccc2bfa|SHA256=b6bf16dd99f7e6e2bbfa19442d98570d7a234b2f988f8c7d8c826c6903b0feb4
REC|DNS_NS_CONFIG_REF|IDX=66|BASENAME=dns.json|PATH_SHA256=af6c0d8d2431eebdb18d77484a02fd791c3f83305d5bfdc12e93b9316ec8426d|SHA256=d72f59e67cadbf41d71b27e49c262e06855ccc819ee00a42cfa7d175ff1ca4dd
REC|DNS_NS_CONFIG_REF|IDX=67|BASENAME=networks.json|PATH_SHA256=e2a9a978055564647ddab323ca2223a83f2dfc161342bd3f54b72a768c59d8e0|SHA256=2c1f03cbe3ccbad9ae5dee890b4e5f1d3a96624ee2032e45301312435c82426f
REC|DNS_NS_CONFIG_REF|IDX=68|BASENAME=dns.json|PATH_SHA256=8207d6d29a2aad9bb3d9728592f9f7813455aefb52a27e86ff798387b892c9a0|SHA256=fab08e8112c9f035a50a719a7dd82bd68af9fd0945ca2624f6fd4db710899c4f
REC|DNS_NS_CONFIG_REF|IDX=69|BASENAME=networks.json|PATH_SHA256=ab3ca9aaeefcc75ce67047df5f937b5d5e7ebd24fb948b53ef3fc6ef817fe6e2|SHA256=004ba9a498693a5a262ca6a6ff17b10e76dee6caca9a7d1495911118f4e37056
REC|DNS_NS_CONFIG_REF|IDX=70|BASENAME=dns.json|PATH_SHA256=40b54e0f0bfd0b03a61cdcc5c3d7df13414d85cdb29f09d863a50b10419c5e69|SHA256=d6be735238804fcbd2958884188780f0420d48abc5573160b9ca72e8eb82735f
REC|DNS_NS_CONFIG_REF|IDX=71|BASENAME=networks.json|PATH_SHA256=bf613ab2654686e92756c9f2cfd944d95ac6168d394cc6b23878d17c77cb827b|SHA256=738b238204aca0a1f50c2d49b4e97a7f2eb35b580d36a022aa44eaee62f4a022
REC|DNS_NS_CONFIG_REF|IDX=72|BASENAME=dns.json|PATH_SHA256=29190dec60e0052c993e84045a11fcadf91d6ae67770ecb91edb3af76c2b12e6|SHA256=2e7b830f53fd07650c9267ea08fcf2a44e88e95180bec6b9651c7401210a5c1b
REC|DNS_NS_CONFIG_REF|IDX=73|BASENAME=networks.json|PATH_SHA256=e5800d0f030218d4bf95fc6eebcf291f8bc375e8c565281841567733295b0446|SHA256=c244bd7b4a7c2cc8d510698dad29a52e2bd259ca35623bb1b15937ae2cb20ced
REC|DNS_NS_CONFIG_REF|IDX=74|BASENAME=dns.json|PATH_SHA256=ad080bab99c380713c4075c0fbe8de9bdc810e577bb8abf32002b797afd34bf2|SHA256=1a6020c9bac975374b598d47eb58291a7f890fb3b200b29721e1455de8922ef3
REC|DNS_NS_CONFIG_REF|IDX=75|BASENAME=networks.json|PATH_SHA256=b5767d007d476f01e78082c4859017c92cd91b63cc010812d905e335da972c83|SHA256=7784f904d164ace40e69aaf70de6b0dc14ef9c11e49959f3f6736e52641fd1e6
REC|DNS_NS_CONFIG_REF|IDX=76|BASENAME=dns.json|PATH_SHA256=e712d82209102ba674ebd963b8de38adffc5e0c9fdc2f6ac0d168e2ce059e322|SHA256=2b11cf973064ef4bb273b36eb898ca77fe91626fca8d7638f7217d00f3cdbf15
REC|DNS_NS_CONFIG_REF|IDX=77|BASENAME=networks.json|PATH_SHA256=8d35683b8fe45161c1cfd2f0e1556a18afcea47e6fe40f0a1a300236de025bac|SHA256=b26064e093b14586e9c886ccb7995775be9393836b4f83439511564096ecce3f
REC|DNS_NS_CONFIG_REF|IDX=78|BASENAME=dns.json|PATH_SHA256=62e341d9614c2f41459ff05208c831b1172b05d18508ab1fede9ff05c6f9f2a8|SHA256=c79d589df8dee9510bcc2ba9594b5231cdfb7df7463e6ec2b8bce1744e28e3ac
REC|DNS_NS_CONFIG_REF|IDX=79|BASENAME=networks.json|PATH_SHA256=b28f74a2ef4478fcd487d8a346903ca92a2200b4706768db3343bb599fe3b63a|SHA256=0859da6edc1c10c738ba8c1b7ab64179bbcff3c1fdb59b4824663953b8f5e37e
REC|DNS_NS_CONFIG_REF|IDX=80|BASENAME=dns.json|PATH_SHA256=cd4ae14035f41a0fb0ad6d1d2a43b21abeea68de8791e63e78f1d5b4227434ea|SHA256=f935f8a3342ef71fa7117c16fc1f0dc3f635bc5154ae90e8e5d4740b49fdd8a2
REC|DNS_NS_CONFIG_REF|IDX=81|BASENAME=networks.json|PATH_SHA256=d33736422035492e3accb5eefcae5ed996c9dbedceee6024f0c104408d01f82b|SHA256=6b20e23bcb5f4407c4508431b88bab00eb78bde2080c9ecd1880b2cb88596496
REC|DNS_NS_CONFIG_REF|IDX=82|BASENAME=dns.json|PATH_SHA256=e7b1db61eced21cbb350aa80e790954b5aebb7a1478e17116aa7d718064c1df6|SHA256=2a2f4794bcf573a3af398b282a133869c39afb52c1341a2f83be825eddce4207
REC|DNS_NS_CONFIG_REF|IDX=83|BASENAME=networks.json|PATH_SHA256=6a081542dda8d2324a977498a239fb664777937c1dbe659961771b0c81cf38fe|SHA256=e69733f6fea4a97376b33d9560032d424f35473fdae56565d605e7b12560a9b1
REC|DNS_NS_CONFIG_REF|IDX=84|BASENAME=dns.json|PATH_SHA256=61b0853aac785142b564e8312b0e5b67fce6bf378703859962d571669165aa9c|SHA256=fee73aa501c7e6b4ba5f49a09acc859209841d31f1e875828c553ae52406f8d0
REC|DNS_NS_CONFIG_REF|IDX=85|BASENAME=networks.json|PATH_SHA256=79641fb796eb61256e2f7d98129191a722861640f464407cf8a8f703cbe90bdb|SHA256=d9818f2360a3afb1b73cf07225c0c7a447187a89910d2a250782e4961b30c8b1
REC|DNS_NS_CONFIG_REF|IDX=86|BASENAME=dns.json|PATH_SHA256=253ab4cdeb61e6ce7b10533a731750e8f5e678bc466d2b5b93a8b88fa8c437fa|SHA256=ab69236e9cb47ad82dcba0a5563de48a34cf4894060ddaaef32e23151348b605
REC|DNS_NS_CONFIG_REF|IDX=87|BASENAME=networks.json|PATH_SHA256=4ee03ffe83ecd1a7a13ea5d8cb904c00be983a28e56a3c23322427ada9c353e1|SHA256=72b6013bf7ce6340261d959389f5eab9b69dedaa7e361eb9d48452b0f6c35c67
REC|DNS_NS_CONFIG_REF|IDX=88|BASENAME=dns.json|PATH_SHA256=5552b6215416efa0e58332185fb942390f1b6986fa4b7f83f0327c965af985ee|SHA256=2cd20b4345f8f354395198bd054a7ba496be55661cacd12d3cd5a85576c5e08a
REC|DNS_NS_CONFIG_REF|IDX=89|BASENAME=networks.json|PATH_SHA256=ded2134155c71768b3429c231a2be2dccf5b5f242dfba151ca1d843662f74fb4|SHA256=f9913f2705f55edd2a6145f322074e67279da7e8eed6165cff36870976cce71d
REC|DNS_NS_CONFIG_REF|IDX=90|BASENAME=dns.json|PATH_SHA256=37bbb8eb18348c1aed740803b1bf16c52b2857064d33e21597410627197bb3b1|SHA256=691962ecaf439ff6722580fe9bfa0a19c10a83a2b3b672d6ed3f68b73c7e7452
REC|DNS_NS_CONFIG_REF|IDX=91|BASENAME=networks.json|PATH_SHA256=4621c903722d7b5480c9c4e5b20c70e2024f42b6b588a77f45d72c409c610f4c|SHA256=b48aa43360c7e74bf63220adba4462b8ad0dd78c0a9bf7646bccf167a4b99576
REC|DNS_NS_CONFIG_REF|IDX=92|BASENAME=dns.json|PATH_SHA256=836cf9dd1083f78be0f208da5b2016fabacfd8c6bb1d3321a04f83251cc6459b|SHA256=a3306f9430e882abe72f3ba784a3311cd427d8177416e41a2211f73ff9a869dd
REC|DNS_NS_CONFIG_REF|IDX=93|BASENAME=networks.json|PATH_SHA256=1b9fe29b2f001844f6582b03f9b743f4b8ccc671bd57043ab05c644b8ba59622|SHA256=05c830fbe52abb0fd2ac0be3b8fe8fbd545b052ce332b6b96eac852a20a1ce5f
REC|DNS_NS_CONFIG_REF|IDX=94|BASENAME=dns.json|PATH_SHA256=3873d5b862a7ac766227a551395bc73d42b0cf0e264d1ce9c128d4c2117cb5d4|SHA256=de10b50c306838897a4b2d1008e568fe94d8aeba26144457e95cfa83e4280671
REC|DNS_NS_CONFIG_REF|IDX=95|BASENAME=networks.json|PATH_SHA256=33004666629b612e63b15658b1e6321b97793cda66c87519e0606ff3e8984507|SHA256=0aa09f8c0badefda9e29f7fd81acfeda64d5075b87f318fd94a4777f62cf7944
REC|DNS_NS_CONFIG_REF|IDX=96|BASENAME=dns.json|PATH_SHA256=24f4cbf8322f981f75dc1f28832f55f0a79dc83f9870b4a680b94850353f2f84|SHA256=6357c2d2fc780a3a3ebe63d62a2a146c8fb833ff051ab1472d2a9f63684835b3
REC|DNS_NS_CONFIG_REF|IDX=97|BASENAME=networks.json|PATH_SHA256=56831aed965b917229d8ead45b0e947432be30d7235210fbf919c693f10e1a5f|SHA256=1aaffe39b74f9f6a12cbaa0be012588e9f7672fabfc13603ea0ebda01d6095d6
REC|DNS_NS_CONFIG_REF|IDX=98|BASENAME=dns.json|PATH_SHA256=2ea11e027bc57680af4c7bbb686265b3879e5f2e60a20f7778dec4f01d3c539c|SHA256=ca79f5f135fa6302cac85e10b448a722c07cc1a68ff7eea3e431b6393366df4f
REC|DNS_NS_CONFIG_REF|IDX=99|BASENAME=networks.json|PATH_SHA256=d5f90af267bd0d4d818fe623a6a7a0c13b30f8d83a09f5f2d45c9e9f81d9e8d9|SHA256=0470a5d09aab3a73b5cade1eee65d3f92ac7a4b2e3ae34ec0fa58e2589f5bee6
REC|DNS_NS_CONFIG_REF|IDX=100|BASENAME=dns.json|PATH_SHA256=1f4a9b5fba9124542fb023ae58b853d919caa52f536a80d4cbc62c2bc3fa60c0|SHA256=8052a14a07f9f2d6f3a1885b78af26f93de316e01079571c06e04350fa3a4bbe
REC|DNS_NS_CONFIG_REF|IDX=101|BASENAME=networks.json|PATH_SHA256=939e6bce0b234134b852756f51e30134b37224d9869fa2b1ecf9902ed3af3775|SHA256=2514eef31cfda678e9247e7f9b51075ca2719f24e7e2dac07d244151766d7642
REC|DNS_NS_CONFIG_REF|IDX=102|BASENAME=dns.json|PATH_SHA256=64d38e0f60b38365b880a687de30840b14cbc0a3c1f2e990d2dad059bd20c740|SHA256=0a7af9cc77fbd7b9fce7a140bb40a959659923b44e5ae4f220f88ac20f190bbf
REC|DNS_NS_CONFIG_REF|IDX=103|BASENAME=networks.json|PATH_SHA256=33b23dfb77f34d56fe6ec9a56cf7c154ac8ff28ba156232223207726d612f5eb|SHA256=9db99d7603a8e24605346e898e044c4ad6e6d9f0c7a6d3bf709b75dfa239a823
REC|DNS_NS_CONFIG_REF|IDX=104|BASENAME=dns.json|PATH_SHA256=6c372aa0658602ebed2400e6f8a0f26751f96d81071918fffdbf9c21425fc51e|SHA256=07441dc96190548138af13d46deb7d2d9e44acc24e0d2198c5f03380977d3e9c
REC|DNS_NS_CONFIG_REF|IDX=105|BASENAME=networks.json|PATH_SHA256=55531676481c49e923c5f4068f384b58120bec45bb0f443882ac94a11dca3fce|SHA256=125c63266bf0283a1aa1a830fba4b4f8330a5ae7308222858b03377de75b994a
REC|DNS_NS_CONFIG_REF|IDX=106|BASENAME=dns.json|PATH_SHA256=d87256d201fa97314b241b5e2ee669de11294802327a7b95305dacd3ff3cc692|SHA256=44ae7feb0816b8edc85ad58aca908aeb304314e4445f05023df2e2e4658c08fc
REC|DNS_NS_CONFIG_REF|IDX=107|BASENAME=networks.json|PATH_SHA256=c76bc57c61cb985313bebfae763eb9be2e4f421e73a43e15e68beb7fc8153ab9|SHA256=4d22decc3c2a4313c9c6c8e0c2d2ad6c6fad9d1e842b173ce7aa3b4d5814b1f8
REC|DNS_NS_CONFIG_REF|IDX=108|BASENAME=dns.json|PATH_SHA256=0fb4f909d570406cd03f0fb3f8cdcaf1d0ad1c8c72709519cb1a20c7a403af96|SHA256=ab5eff6521c3297f6145c4228ed45762274ac350e25ae30fb8f3e12017c1322d
REC|DNS_NS_CONFIG_REF|IDX=109|BASENAME=networks.json|PATH_SHA256=a38d7f132def893c71776d5ac2e9caabb4eabb246bd1e5da580fd8055a78124f|SHA256=b5b838e966cb690f25786b2321b0c623bded5521890082216846e89fddca7d2f
REC|DNS_NS_CONFIG_REF|IDX=110|BASENAME=dns.json|PATH_SHA256=c9154adef71cbc45bc23efa93b700b32ce21f3b0a99e012cc0a5231c06701cbe|SHA256=4e7ea4c54d8087ef58e7b726928c8a78f1f525922e49f895f8deb992741e7350
REC|DNS_NS_CONFIG_REF|IDX=111|BASENAME=networks.json|PATH_SHA256=ebaf32349719bdaecfe73db351ab66b2f007323d6d0676b33ce3f47d5c7dc93d|SHA256=0530ab6f9131824aeaf69348756229d6369ea349e6e43abd0e88d2e8fb9a7060
REC|DNS_NS_CONFIG_REF|IDX=112|BASENAME=dns.json|PATH_SHA256=15418a045d9f50ccb314132908ce9aa8f0956fefff04130845ce5fad49060ba8|SHA256=ce8f66ded3ae6eab460e1eda6e4947baae619c5d10043c23c29cac3ed162a893
REC|DNS_NS_CONFIG_REF|IDX=113|BASENAME=networks.json|PATH_SHA256=2bd018b6abfc7476172e0ce3139befb2b98a9b91e6c4f3b37b880590b562f8a7|SHA256=b0882de37c33213be9efcb04a8800ff8d44236d4a592b90f14ebcd3b80692868
REC|DNS_NS_CONFIG_REF|IDX=114|BASENAME=dns.json|PATH_SHA256=20705d25af378e602526b6c91bd1fad25485b0fac9d154d22c9e11190dd83481|SHA256=1173f6c3cb2047d7878ea1b7cf4a777bd2f738c61b3fefdc6b14df38a7615008
REC|DNS_NS_CONFIG_REF|IDX=115|BASENAME=networks.json|PATH_SHA256=4e0ed54b67ec9b18241d2a8dde5468a5c1939e43ea0ee97513b0c80dfe09b286|SHA256=b179a9239bd497416f50855f6e51556cda3152d586bad562a2ba0bd63624af26
REC|DNS_NS_CONFIG_REF|IDX=116|BASENAME=dns.json|PATH_SHA256=dbec58bdf7c82330c58e34a956f6617fdca7a9ff7c6a6e8047d5a5c93cdf84f3|SHA256=9711540e0ee45ffa776d9386e3f334f20511418d1d7bc856a602364669850e1a
REC|DNS_NS_CONFIG_REF|IDX=117|BASENAME=networks.json|PATH_SHA256=8b6c6574e8826e716d01f843404ba3deab91f928e0bb1da80e7ee0ec5bf13476|SHA256=584486dd4785579a2e61e97747dfedb2a44339227e2640667734e994a6c42ef7
REC|DNS_NS_CONFIG_REF|IDX=118|BASENAME=dns.json|PATH_SHA256=576fc98f86b89daf62e5c75219fc5893e31f3caf192001218ad663bcb722152a|SHA256=09d9eae5ceee9cafd0e9192504a058ada8c58705994d687d68faea9b4d596e38
REC|DNS_NS_CONFIG_REF|IDX=119|BASENAME=networks.json|PATH_SHA256=785a41f9f114cd9f532d7e430b0ef152c68970a7f9d6d7aac348c660bf1ac8a2|SHA256=e720a7fdde75f32791b3acf8096f0fc1c5bc3f8f9f675b5882f2009366bf2d28
REC|DNS_NS_CONFIG_REF|IDX=120|BASENAME=dns.json|PATH_SHA256=112ae903e04be8d6cf7248227e8a0110f3250940809d8f9f061d0bb7f5f37b69|SHA256=1f97f7fc3493fdbcd4fd116eb9b7c56626593b53231dd65d1ba941f231e9ae92
REC|DNS_NS_CONFIG_REF|IDX=121|BASENAME=networks.json|PATH_SHA256=b2fd45592de06548bef543048178bb68906d9eda97a8968a5af6ca1c943b48c9|SHA256=a9e295bfdb4c8cdd9a555a7a17433fc7e31eeeafaf9f152bd6313422c30636a5
REC|DNS_NS_CONFIG_REF|IDX=122|BASENAME=dns.json|PATH_SHA256=5772e93a08e979c4e865e29c443553ccb2a623f17c262499266e3ba4de596541|SHA256=5be9dfdc1d59674788c58d4270d7e3f3252f2c1170e1cad76d054d499d3ed214
REC|DNS_NS_CONFIG_REF|IDX=123|BASENAME=networks.json|PATH_SHA256=be10c938b8efde16a2318876b7bfe22dd6800699410fa72c5a43ea558a2745f4|SHA256=ed0435dc4611a08116425bd2ff71b8369f3f5410699cebec4e277b918bd71da7
REC|DNS_NS_CONFIG_REF|IDX=124|BASENAME=dns.json|PATH_SHA256=d0bce938ccc8ec8dc8e43a79973e4cbcdc90fde58891412da21e9e8968390672|SHA256=f6208eb36c8d2e6cb5ef6724d3dbddabdfad89e1297ccc01ff59fd206c397f4f
REC|DNS_NS_CONFIG_REF|IDX=125|BASENAME=networks.json|PATH_SHA256=08dfad51d016da12d40f2b996890b3f54aebd60ff578d883182289525dfee0ab|SHA256=26be490d301f7993da3bce39fac52d072ddee54720dc350a6769721c093be454
REC|DNS_NS_CONFIG_REF|IDX=126|BASENAME=dns.json|PATH_SHA256=261c5bb71b6c0dace7693ccfb330db9b58a01a84f15cce9a0cefbe75aa4e5e62|SHA256=9dfdb5b00c6618b39f8fcc807ce53ad6b050f7e44cc743e451386e4ab8cd2ecd
REC|DNS_NS_CONFIG_REF|IDX=127|BASENAME=networks.json|PATH_SHA256=ba2dd6a87d654ef3d41323387300a7f6d0a3df2c7bc2d203fbac4537be9868f4|SHA256=8a9a778dd4598cb7640bb555b65cf9d739507f8e685b3c02dddc2d8a3980e336
REC|DNS_NS_CONFIG_REF|IDX=128|BASENAME=dns.json|PATH_SHA256=4d2df6fdb2cabb6ae7b9fb8afb4300c2e573322eb9357df567b5f146b8e47b28|SHA256=98e8cf5d1f98c1d8424d53ad3bc1af2169ccfd4dbe1361e318d68894aab1ed2b
REC|DNS_NS_CONFIG_REF|IDX=129|BASENAME=networks.json|PATH_SHA256=b179e160d131376650c6b3aa708c164cf97496fec269d3497d1744b5b7343db4|SHA256=1fadad0c95b379424f694136173ec53dcf713abee45d83260defc149ec5ed7d0
REC|DNS_NS_CONFIG_REF|IDX=130|BASENAME=dns.json|PATH_SHA256=7712624a2e6ef22ff74800a63c6d541e8880661ed26051261326f2dc14faf084|SHA256=4bff3c56d2625927c963f28528ecb1e758755b5160bb7d574a796abe27c91d12
REC|DNS_NS_CONFIG_REF|IDX=131|BASENAME=networks.json|PATH_SHA256=de190408cafb96a64f46bbd56ae1dc184e9fc4dcaf0e1ae0ace54034deaf8984|SHA256=a2d1a71ee21198d2f36b3f371a0902460a2f3a510aeda7e84318296bced0a209
REC|DNS_NS_CONFIG_REF|IDX=132|BASENAME=dns.json|PATH_SHA256=aeb726b394022b83c5e09a86f4b76b94c9a3b45babb5a4a4521a1dce6cb9e605|SHA256=4e30c02d23295ff1502fae3df154ff77e3fd5542cc3f21839c9cc935e4d55a04
REC|DNS_NS_CONFIG_REF|IDX=133|BASENAME=networks.json|PATH_SHA256=5801f1fc15bc59af08c9d6cad5a281eff4cf7b29d8f5d7162f6386a1eba7504c|SHA256=b0670c0dd187d37505458d1b39df0ae468b717fb2ed0d3edc98f47c861ac9c3d
REC|DNS_NS_CONFIG_REF|IDX=134|BASENAME=dns.json|PATH_SHA256=23744b86cfe37a8feb20b39578c81e8bd03f502923de4fcc48daba1f9e47bf23|SHA256=8c2ab435cb0ba617093e1e8277dbe0d0c03991ecc694fd710c7aaf25483e84c3
REC|DNS_NS_CONFIG_REF|IDX=135|BASENAME=networks.json|PATH_SHA256=ec9e26bfad00bed10301d928793b3b24284fba895cd53f38a25513e148d5920c|SHA256=caaca4401015035a5486b5692a218c41c3b566416fe14067c1ecb2b4299c1b16
REC|DNS_NS_CONFIG_REF|IDX=136|BASENAME=dns.json|PATH_SHA256=a8b98772b660d949e8e39cc29e3382c44492d357bb1e88cf69063d0d949e4f81|SHA256=faed1d0dd3496d53b813d21a89b93836a190fd26d05a39040eabc6244f8e2085
REC|DNS_NS_CONFIG_REF|IDX=137|BASENAME=networks.json|PATH_SHA256=46ea019514a8155a22f6b46c5e95e0f8f2a012caebbcf60b7a19205cfe540794|SHA256=cc1de4acba3ae2b0a8d224705b647bead645a1d1fae34855683fc959a74b94cb
REC|DNS_NS_CONFIG_REF|IDX=138|BASENAME=dns.json|PATH_SHA256=18f09cb2151cb594925bf3656141d3a058f3a657cf9f06be5ac9dc5c378d5db2|SHA256=804eabb459b84c9d45f1adc218a82fa0b916df789691862c045e9fb25c63cb99
REC|DNS_NS_CONFIG_REF|IDX=139|BASENAME=networks.json|PATH_SHA256=c35d3530cad4173dad0dbce6c6578344946aeeab5396fefd078caca09535bcfb|SHA256=8fe3f4e00ae5bbf27d9c86e885a3131ad71e917a73a6f49ff54095e1047af7b6
REC|DNS_NS_CONFIG_REF|IDX=140|BASENAME=dns.json|PATH_SHA256=c37c12107c446a34672cb84664896fa4b91b2a4cc5cf456e288735e3d25c879d|SHA256=210371346ab1ea3ff1f08e51cb3238867594bac746aa48cbad669c5f55736913
REC|DNS_NS_CONFIG_REF|IDX=141|BASENAME=networks.json|PATH_SHA256=aae3a9b53a9f21f276eb45e85920014aac321bc816d46f556dc78a57b8c9a347|SHA256=d7334b164840b716667d6e68554af4ddb9e61f312f82d5fe43f5d5f0c777ada5
REC|DNS_NS_CONFIG_REF|IDX=142|BASENAME=dns.json|PATH_SHA256=d28091512c6a300a047313b7d70fb989ecdfc0a1e702b734829f42c3955211cc|SHA256=1f926b6fce7f0dc8559322086cde392176bf72106c457ca652fadbaf48d4c0ae
REC|DNS_NS_CONFIG_REF|IDX=143|BASENAME=networks.json|PATH_SHA256=77692343684a4d9a6e2f55f706b3da2f79b1f776bd70eed9225f413af7deafcd|SHA256=770cbbf924b9eac013c338ffb1ccd55e8ca05a39823bb16805746204eccb49bb
REC|DNS_NS_CONFIG_REF|IDX=144|BASENAME=dns.json|PATH_SHA256=532bf8e14be74cf20447da4e8414935f845573a3c7b98bd64f2cf9f13ca164b2|SHA256=f229a424a836a9402644c6ef3ce3d88496d41a84f9ffab1ee3144c5d6f4f4528
REC|DNS_NS_CONFIG_REF|IDX=145|BASENAME=networks.json|PATH_SHA256=7015bba4bb9e11eb995d36496575e8bd7f07add274040b82d2e455f4f0c79c1b|SHA256=402e0c257d68fed338c3f54c5b88c059e0f27f7a82048bf2d43e62c739970071
REC|DNS_NS_CONFIG_REF|IDX=146|BASENAME=dns.json|PATH_SHA256=7406c4e57520ace9d17ddf056738b18afe7d499e1ab30e729b1bb45194fccb2d|SHA256=a68c78a9cdae9527793bd98ab4c63265414117b9f533918e17b8d3bbb4c70016
REC|DNS_NS_CONFIG_REF|IDX=147|BASENAME=networks.json|PATH_SHA256=29f716bc81f0e0d01113c6f5aac578870cf816d68a9e49b1360f5b4e39618344|SHA256=ec9c64e754388bba2aa0b64d65e22fd15df74b0780e438ca70665af71da9a507
REC|DNS_NS_CONFIG_REF|IDX=148|BASENAME=dns.json|PATH_SHA256=3a0aae69ae8a4a4fe95b72d0b2a580665401fff7ad7bd9ba7a4f2b39cc391cf4|SHA256=74e28257b7a273ec1b1694feaa839eeac829ce3c9c2e9cb94905ca3c427b24f6
REC|DNS_NS_CONFIG_REF|IDX=149|BASENAME=networks.json|PATH_SHA256=0376d7d50fb832936b21067aebec09f5ccc49cf89d741e13bc49f92d8fb1ecee|SHA256=94b661e284e77b24a10447b92f0ab3aaff3c9e5b5b12df2d8bec28ba329ff1e0
REC|DNS_NS_CONFIG_REF|IDX=150|BASENAME=dns.json|PATH_SHA256=58753840126d349afe3320ac608c17e9edeecc48c344e4ceeb234bf5fd60948c|SHA256=05743c47f901159b4f8c09ff74e98df46c612be3493e1170d4c53315f36322a3
REC|DNS_NS_CONFIG_REF|IDX=151|BASENAME=networks.json|PATH_SHA256=3541704b9d58bf97d72ce6e6ea51805c6c5ac4f478eb5fe90498f1748de21fb8|SHA256=efce4f8598e84a6588383c3b760ab03f7d4990b4fcf71c67555bc8d6c9f96285
REC|DNS_NS_CONFIG_REF|IDX=152|BASENAME=dns.json|PATH_SHA256=f0d02e851db16413a886631ccff266c6af72f987c8b513e9a04eae7a5e28a105|SHA256=9b70c674c7c2d02fe15aeeb4052f793723ffa08a752b4c4d08b794b47e85f832
REC|DNS_NS_CONFIG_REF|IDX=153|BASENAME=networks.json|PATH_SHA256=a0b8e7d0f0848a5b70a410f9c879dd734fead0fee50d206cfcfd4ce476d5433f|SHA256=59db8d862a012db9b389c0fbda4af2d09c727ea4a046102cfbe3b9a19481a26d
REC|DNS_NS_CONFIG_REF|IDX=154|BASENAME=dns.json|PATH_SHA256=c182f004373bd894eccf8652b191aef2152ce189a35a589edc62aa30fcdfcc81|SHA256=5948c22b6701d64b7144a6e61c5a02861eeae3cde17c810d97d6e3324ecbf4d5
REC|DNS_NS_CONFIG_REF|IDX=155|BASENAME=networks.json|PATH_SHA256=cebbe7039f5127900288eff9d6996a62baaf71c45aa190fbd2b9077d46abc266|SHA256=f1367a0c719d129ef4720b722ee5425590c8d39281772af81ad268ffc8b606d0
REC|DNS_NS_CONFIG_REF|IDX=156|BASENAME=dns.json|PATH_SHA256=9a1ce4c5d3c22432b783a576131f9760f07224fa2dc3a6f36ab1a505e951a78a|SHA256=f4a901b136aa251b00d0291acd6b11bcf0439494d77162c5b82466a1552b2c7f
REC|DNS_NS_CONFIG_REF|IDX=157|BASENAME=networks.json|PATH_SHA256=e30c047a7b9a526f0d65415eb4e302c886c74cb9db475f91510d88164d65996d|SHA256=da422322e0e427fe2cb1b7f8685b1d74d0100057650400b0228182aa81ee68df
REC|DNS_NS_CONFIG_REF|IDX=158|BASENAME=dns.json|PATH_SHA256=bbf426e4a958ac5d1b96ad1bd303ac6480c141c804a4e77212101b65a6fa0f95|SHA256=4f97ab4539d8e1c556cb1a189c9fde502e4ff3a3e8a833740b3bdddd500b2e84
REC|DNS_NS_CONFIG_REF|IDX=159|BASENAME=networks.json|PATH_SHA256=1088d81a256831fb1cdc3026d5344097d649d78d53f1ed57601ab5d5b9de04cc|SHA256=4724421e8a21ef048465b92b9ffe523c97a90745378537bd4a9ba52edd2a9b93
REC|DNS_NS_CONFIG_REF|IDX=160|BASENAME=dns.json|PATH_SHA256=32218dffc487bce0048a6475c03e25b2ab4e37a0aa7aff62b73bb6f79436f861|SHA256=a93f19d5a76a9cefe94191012e1fe5b6a0502e0c96c4d70f29e996218057145f
REC|DNS_NS_CONFIG_REF|IDX=161|BASENAME=networks.json|PATH_SHA256=95618b715ccf69561ec152042d1001a6b2d7a506d17df00d37ffab7fe3ce09bf|SHA256=088976bf7d2e8d13afcbc767458e5b36c5331ceae798f736c17e88d74d52ed04
REC|DNS_NS_CONFIG_REF|IDX=162|BASENAME=dns.json|PATH_SHA256=147279a6391d6d7983d970c3fd4182fc81bdff4706df691822390aa33991228c|SHA256=bbc17b8a25b11606458ca65abc3577f480ed7274e538a547255b0aa26668b2d4
REC|DNS_NS_CONFIG_REF|IDX=163|BASENAME=networks.json|PATH_SHA256=2242dba60f55f5d56f5fe4587a29e675d8d87291b4be018ba87e24e4778afab0|SHA256=097a62cd2a7e9b415ff0dd35c4aa87f39d51b47e8e978eb80c320e9aad637825
REC|DNS_NS_CONFIG_REF|IDX=164|BASENAME=dns.json|PATH_SHA256=28f34d6fdb5ec61eb822c6f6f9439a79d284aab714d394eea54ea6f8c9f9926c|SHA256=d521e0776ce35165ef0f44e662ca580f7ba7e09ad2fa8e8096ed80eb8873c9c8
REC|DNS_NS_CONFIG_REF|IDX=165|BASENAME=networks.json|PATH_SHA256=e92e8f2c1ac5e973d8a913dc856fd66eb561326a972b8ac64120bb910dd0d8c6|SHA256=10c967dc39efc5e4635ee57094bd5d03c570686aaedc9c0a4f0de35d767ad8e7
REC|DNS_NS_CONFIG_REF|IDX=166|BASENAME=dns.json|PATH_SHA256=9fc3601f99e335f18d0d023dd69bd655961a3f9ad28ba32f2ef96292a4afbf36|SHA256=c4c63171b0be04c4c843418e32121514facecbaa3c26a9d61d123b4187bc012d
REC|DNS_NS_CONFIG_REF|IDX=167|BASENAME=networks.json|PATH_SHA256=69e84e987ca7720d9f966303c5171942c6ea6cfee986f9a8c13cb3bd8489ba20|SHA256=85c81bd45030bc232a5cb03e57955fe4c85e7aa7a00d2bc51a76b502351873b1
REC|DNS_NS_CONFIG_REF|IDX=168|BASENAME=dns.json|PATH_SHA256=072e78f56eff25c7500a30ee65c0aa70767284f513ad3ecc535b797ca05c0e49|SHA256=e8b3188c7df64375fc842187a16c26ce9691449d6a0e4a45f161ad802e44aaff
REC|DNS_NS_CONFIG_REF|IDX=169|BASENAME=networks.json|PATH_SHA256=fbd9688dab7afc0f8b5eca613e516f140b8f41eb277a668e81a7d246bac44ad4|SHA256=bfda6efcb85c94400f7c585d96df09cb778f6688cebe4054022f1ae5160e9df5
REC|DNS_NS_CONFIG_REF|IDX=170|BASENAME=dns.json|PATH_SHA256=2861bf8fca3fcf8afdf77e1999939d026166e887229dbec97df7ed98b4c84185|SHA256=e9a1dc02678d29d8837cb6c2a0f2686b9944c54e748f2966614352279d2053ac
REC|DNS_NS_CONFIG_REF|IDX=171|BASENAME=networks.json|PATH_SHA256=e7bb64cf5c2c18f1d8b0a58b9c9b0ce02c518f74d83745d15e69d4bc1d8eaf34|SHA256=9838190be7e29283372fe675ddc2c099cb720e7bfc145b951f88b34aa3b97f9b
REC|DNS_NS_CONFIG_REF|IDX=172|BASENAME=dns.json|PATH_SHA256=fb20357bbeff6598fd24a09736f6fe1a268a3016471c136ad359bfc73745e85d|SHA256=2fdec86d3f1c6014b1a78f80254d8044f10a0362919ab3c195b3fe1388123e9d
REC|DNS_NS_CONFIG_REF|IDX=173|BASENAME=networks.json|PATH_SHA256=a76d15bca53392945dd5092da9f89c72241373217cfa8b430c7971f11e789185|SHA256=3ce03dc803ed57f64b3b375ec24ab6493eb72d8246590c4f3ccdf85ca0487dcb
REC|DNS_NS_CONFIG_REF|IDX=174|BASENAME=dns.json|PATH_SHA256=d6995e852c8e7fe76246d2ddbb1ec9884e44d2b4fc37be882fda1d0c9e3271e0|SHA256=904ee564aa8f6b5d17641de53abf4e38cc71d42e154b8db020c358fbdaae8ca1
REC|DNS_NS_CONFIG_REF|IDX=175|BASENAME=networks.json|PATH_SHA256=54b4af52cfc21de41d353510aff9bcb075dbb13e5c7fd209260ee75c6ae0869d|SHA256=446749dcf6ba639b2d70fd60c596a2f5e8e818f8fcc79e90da0b176dcfe2c45c
REC|DNS_NS_CONFIG_REF|IDX=176|BASENAME=dns.json|PATH_SHA256=f05e1806892ab946cb72c721c3095f1a42fdaf4e6e86ae7b49c2a975e62b4448|SHA256=fa87f6dd4d63db8e44469f2a5d9e855d35b3a448e095aff263a2254b6b88b557
REC|DNS_NS_CONFIG_REF|IDX=177|BASENAME=networks.json|PATH_SHA256=b00b6d742d7f808da5da61cf28bd44ad0901805acdc7077ca339f3cbab1ef650|SHA256=7cced44beb81cc48e75af658c27eca3f1ef7169cdc4fd6aa63f41e8dedd6e082
REC|DNS_NS_CONFIG_REF|IDX=178|BASENAME=dns.json|PATH_SHA256=3601427d903b21417a89795844bd1605123471dfd5f9b094cbde05b76a2a0dde|SHA256=b594db5a1154ca5717c43f054bd64cb10369566ebd1f1ef34e269c9bf91e8888
REC|DNS_NS_CONFIG_REF|IDX=179|BASENAME=networks.json|PATH_SHA256=b4c908ad34a39afa89640c35fa1211c28e71897a16a58e05df5dfb95a3a01816|SHA256=27373078ff9e5beb1ad92fe84010e7cc7b2d1bc2a31731f3830b3c58d67866af
REC|DNS_NS_CONFIG_REF|IDX=180|BASENAME=dns.json|PATH_SHA256=45d60c8b4cc3140ce4c7ea21e4e7ec616485d77b5b410761183f1b9684469bef|SHA256=61feb89c76a44a9b50c3a99abfa2a514c77d3f9da4431641de3321ada08426ee
REC|DNS_NS_CONFIG_REF|IDX=181|BASENAME=networks.json|PATH_SHA256=28b44ee037d0e33577c1f61bf12b4144ae41fd6bfaa9dcd634cd4595ab49fc2f|SHA256=fd15f2e50e2fd07aa1fb3b5ec773b860b3ddac98c4211cbf554093fb915fc6be
REC|DNS_NS_CONFIG_REF|IDX=182|BASENAME=dns.json|PATH_SHA256=11452624a2cef2b3a2638bbfbfbd987e30592641743243b303da146d0dfb7c09|SHA256=c87d7321d29b2a8ca00706d0c73c1b68bc30c9cc477fca971087846476b84a3c
REC|DNS_NS_CONFIG_REF|IDX=183|BASENAME=networks.json|PATH_SHA256=42dbf7c73a75d8617937d1c10d75bc77bc8937e40abc398d2961c4849bd056ff|SHA256=5a4de03416ddc2b48255b35171991a46ba263e62b35d8ae0a0a4d45d25548acf
REC|DNS_NS_CONFIG_REF|IDX=184|BASENAME=dns.json|PATH_SHA256=e7b1ad1fcf05579af5a544b646451651acf94df0c6fde24a49f01ca5a4c456a3|SHA256=aa95028b89d2c38288e3763fe9611f6416fe841fa95d9515f452e9ef45de9473
REC|DNS_NS_CONFIG_REF|IDX=185|BASENAME=networks.json|PATH_SHA256=ee2c21ee65da9b040e2efea564ccc6a85ec94f3979499914bbc273355d0eab67|SHA256=64c9bb7db35d4f5b72322c936b0a7ef14ec98dd364ae17a33e3790a2c97870ec
REC|DNS_NS_CONFIG_REF|IDX=186|BASENAME=dns.json|PATH_SHA256=7959c536fe141aa950c74691db22aa56f8612df9592e562913ffe947dfbca193|SHA256=1e26f440306d5bf7903a98395e3ff691e35efe4acefd9a9e5cf76279e7cde87e
REC|DNS_NS_CONFIG_REF|IDX=187|BASENAME=networks.json|PATH_SHA256=6987bac41b266d22c406c9fa2b1925b3dd9ddbd45e3fa067ff9c06eb5e1d6530|SHA256=8bde609e0f0d3d2ee25e74b45a4b8038260c3fc173da1774d4b0dcaac0681b95
REC|DNS_NS_CONFIG_REF|IDX=188|BASENAME=dns.json|PATH_SHA256=4c62b579571525e33c3bf7a9565808991f84722f0bd7c68469bf47c11a3187f4|SHA256=9624b6f895dfb05b8f6a09015744759231c00cea4b1c94c4ad17a50f34bc75f0
REC|DNS_NS_CONFIG_REF|IDX=189|BASENAME=networks.json|PATH_SHA256=b673f578688be01ceb96d45824148af9c39cae1c9f4e94928505c1662201a801|SHA256=5b2ff9205bd4df060113f884320eb9840066d5e7e754e7b5a81086df12b89193
REC|DNS_NS_CONFIG_REF|IDX=190|BASENAME=dns.json|PATH_SHA256=9ed23916cf02eee1d7fb1051bf0d44316a09a765019d7b8df43c9122d4649ba9|SHA256=f01dd4355d2ed73d2a88c082805c6e21d59a797f0e0faf3f302f36d3c39715ec
REC|DNS_NS_CONFIG_REF|IDX=191|BASENAME=networks.json|PATH_SHA256=09f791d8cdf42fbea7317327d7540d3ce6965755223eb4c2e277d44d5589a8d6|SHA256=3ae4006e12d5bf58ca637e727238bf086c950f161110049c75cc75be4887e111
REC|DNS_NS_CONFIG_REF|IDX=192|BASENAME=dns.json|PATH_SHA256=7cdc2d5f04ef39ae1e4ea34ded5a846be75f1f850a47af4756e744ada8f1eafd|SHA256=9d5a013bd70c83f950a6bdca6379d7747a6023bfe1f4645943758866057c198c
REC|DNS_NS_CONFIG_REF|IDX=193|BASENAME=networks.json|PATH_SHA256=7803e812224da4c7c88fe5380eb4ac72175dbee6cf64699445c7cd7daa7ccc2f|SHA256=e2b8de0a0b586e7c620e11e5503af1e0bdd9826f9ef79c4e260757d0642f0dbb
REC|DNS_NS_CONFIG_REF|IDX=194|BASENAME=dns.json|PATH_SHA256=31d6858c45209337df75368e907781654b9987fdde9fca4b5a38fde8198de4d0|SHA256=ecdadd082a924bafe734efdc427c8c6a8b18ae71ebbd7d66cb15e496ef5c40fd
REC|DNS_NS_CONFIG_REF|IDX=195|BASENAME=networks.json|PATH_SHA256=c682f6be05df9ec1b137c29108f478a6a73a1de2df6d7fb6a701189484dbe15c|SHA256=cfb575c8b5a65df74d115de875ae9519a8c22a4adcb0d34339c433d51a2f285b
REC|DNS_NS_CONFIG_REF|IDX=196|BASENAME=dns.json|PATH_SHA256=ff245395ddb0697ca2c5159164377cc8cae99293679e0cba620253e15eb1fd27|SHA256=75100e16236831b08433daf250149b620eba12d0a5b0a82995ed10fd3f3a6433
REC|DNS_NS_CONFIG_REF|IDX=197|BASENAME=networks.json|PATH_SHA256=f156f7066c3578b838d6ac15b2863b3b02ce5093445a32d0259511e0061e3f96|SHA256=874d8e76c18c58eb273544a3c9ba6d5aeca4e8c812a403d3410763005a826444
REC|DNS_NS_CONFIG_REF|IDX=198|BASENAME=dns.json|PATH_SHA256=8de64ebb01245c6c02a3b225e995db1232933d424f8bc19223478b3891ea6b87|SHA256=8d67af627e21ed11c687fa8f294b090f562ad5a0db1a25bd56c0ccc7740c9ca4
REC|DNS_NS_CONFIG_REF|IDX=199|BASENAME=networks.json|PATH_SHA256=1f0bc26aad83411e53f1e9f5d4b6675530ab87a187a34a21bf7d1aa2db8605a0|SHA256=2d50cc2b0813fcf5e1a6e6b9f6ba073a8cef59428ad4bb72f66013883cf90876
REC|DNS_NS_CONFIG_REF|IDX=200|BASENAME=dns.json|PATH_SHA256=9275e437d8352a11273bf6666bead35ca43cdb6c86e039751c482d1724e024d2|SHA256=15c708478290850601b41f382fe6f2580abdc424afaa57eb580596243c0ca7b7
REC|DNS_NS_CONFIG_REF|IDX=201|BASENAME=networks.json|PATH_SHA256=8727e4bbe101f2549b6de74665b156d7695779957cb21f381cd151b308f2779a|SHA256=751c960761c230d41fdf97949cdc7c1e3000bc43b0dab7504062a2f663d161df
REC|DNS_NS_CONFIG_REF|IDX=202|BASENAME=dns.json|PATH_SHA256=b51927d8638f2e47ea1410a28e961ca28d3c909137d0f3d6dd88d332bafff535|SHA256=6f582be7dac0c0d978e730a697ba2a0b24e236c2011b69a7400b63fa534053de
REC|DNS_NS_CONFIG_REF|IDX=203|BASENAME=networks.json|PATH_SHA256=240a930b956fd9617cf0f1997f17279b688c69c5ec0122a4108d165d57f11a44|SHA256=60b2dfde89687a0d3d9623fb6bc1f95e4651db7d496d7b8d85e2a992595965be
REC|DNS_NS_CONFIG_REF|IDX=204|BASENAME=dns.json|PATH_SHA256=7dbe5759aabed72842725fde072a476173eeff88117b8c8c9e3f6d1cacf2aad7|SHA256=ccc116d41e7be2f935e096c9f3639792c13ae57d0825dc1c45dc932b5b2c00c3
REC|DNS_NS_CONFIG_REF|IDX=205|BASENAME=networks.json|PATH_SHA256=d0abfd60c73c4e914c8170566cbc233941c593cbf6c9ab4e638cfdba235dbeaa|SHA256=ed761e4cf8f58b8106c97179f8f790967dd2d946683a3bcfa6eb8804d5395d0a
REC|DNS_NS_CONFIG_REF|IDX=206|BASENAME=dns.json|PATH_SHA256=41386b9c15c7f334f7e4ef6ecef8d49814d1a3f3302f63bcbde724c73db10b25|SHA256=ea6110bdac3060b09da9dd43fe2550a2dbdf0b28a81cb5af16e7706fba13eb6f
REC|DNS_NS_CONFIG_REF|IDX=207|BASENAME=networks.json|PATH_SHA256=5da961d7ba4f33272fbf030888bdbcdf812f35e953ca3239fecf9db13a06219e|SHA256=f14db2b4d821b6e01e0250c7c39e9cfbc9f6c89347de704181d3bccc4f85fb2e
REC|DNS_NS_CONFIG_REF|IDX=208|BASENAME=dns.json|PATH_SHA256=9751f573bbf9efcde85979f966e38c1175aaec5f15a54d950802e3d29fc0d243|SHA256=2d62d4c042d215ea0d6840c621cdd2b155ce7dde62e4eaa42d9eda110c9dd3a3
REC|DNS_NS_CONFIG_REF|IDX=209|BASENAME=networks.json|PATH_SHA256=d0e8f3d24410aaf6a8e5ebfdc143b8026a10d5118611845aef912c6de447c6bc|SHA256=f0fefe9836612234e4fcd644cc68917abe3e60aa9cfd13645617610388cf5885
REC|DNS_NS_CONFIG_REF|IDX=210|BASENAME=dns.json|PATH_SHA256=8191b779ee2b892fd09a0d96f2cb5c207c6a0e9c55d31bec076e990706e1a850|SHA256=c8c5d18c9d1701f651452007c924e3fefaee0c97c9dfea76600432d258bd74ff
REC|DNS_NS_CONFIG_REF|IDX=211|BASENAME=networks.json|PATH_SHA256=3e3fdf61673f594ac77fd713d40cf14d6e04afbf5f4d075fb994fac2fac9c293|SHA256=8c01bd9adba3f303c949c0c4cc36dd62c13caaf03e1c3c51eb3980dd97a21044
REC|DNS_NS_CONFIG_REF|IDX=212|BASENAME=dns.json|PATH_SHA256=99f7b0269791cf78e8e4b4118bb2b12c944d07797f8688b4e5a03b178c61e889|SHA256=cb82b307193558ef2dddb676c3d8b3571719c26071492d4fe6a853e9ec44d220
REC|DNS_NS_CONFIG_REF|IDX=213|BASENAME=networks.json|PATH_SHA256=7a4ac31e882247be652e0c70b938544a9c6d0fa9ea48f14ae58517196cdf1321|SHA256=ef9e3fa40632d8ba0d115cc333f79786a0fe02987bc7961a08aa464bdc89676b
REC|DNS_NS_CONFIG_REF|IDX=214|BASENAME=dns.json|PATH_SHA256=ba27834e2608c3f0b17298437f07231becf86ec20cb5d01aebedd0475886a64b|SHA256=ca1d381d085c44e420807a6f4ce8ec317a343d4e9c250c6b1e23d4eedb7d58fc
REC|DNS_NS_CONFIG_REF|IDX=215|BASENAME=networks.json|PATH_SHA256=ef5566ac2f36b684e4ecad9dba7542a99f45cc7e8a33c8829608c3dfbb3ef816|SHA256=a1701cbb55cdf1ba2c8f151649fe00137b35d9bb6f80480d3273c11588fe34fa
REC|DNS_NS_CONFIG_REF|IDX=216|BASENAME=dns.json|PATH_SHA256=76dd6bee6f9debe62173df487eee831908832504a7394d402dcfc08c4ff3ca64|SHA256=8658763ee9efc4588814d9e5d0b6287b0b947d9a0db85f04a72ef74c34572f1e
REC|DNS_NS_CONFIG_REF|IDX=217|BASENAME=networks.json|PATH_SHA256=33d526a311f4c3853bd73aa77f31ea1d03c120ad6bc34b9b4dc79a0a741ba8f6|SHA256=795b12bdf8d259eb939624eb073b3d5f618c042687a027229ab469e495bca771
REC|DNS_NS_CONFIG_REF|IDX=218|BASENAME=dns.json|PATH_SHA256=76cfd69388650a3e9b1a45943984153082e384ca56022c8c5fca9483305e946f|SHA256=cb4cc9a0a7ae9b02e6aef9d268b05f0070657da085e99b80a0076a875909ae6f
REC|DNS_NS_CONFIG_REF|IDX=219|BASENAME=networks.json|PATH_SHA256=4ae3171fc7b9a60195417d13fdf681910f872259ee9f4795ec9908afc6e5c6b9|SHA256=b6f4ebf0cf9a0a5d3620d77c3790660e547deca2d25e7b6af6901394a2246211
REC|DNS_NS_CONFIG_REF|IDX=220|BASENAME=dns.json|PATH_SHA256=0292e1b928cc9bd2adcbdb972771a17ed32734a8176466baca9cd615f4567290|SHA256=e4e3901e1c6b944e6bd5ecbc00447af1a0b81d15324689c311f7ce9b44b24167
REC|DNS_NS_CONFIG_REF|IDX=221|BASENAME=networks.json|PATH_SHA256=72d8d668328f651998ad5f76caa5b0ced26dee221c4a1f24c22191c505383d46|SHA256=4950d17caa679b26f8affdc4e84259e7b847b95f88c86cc7d18876f1e3449121
REC|DNS_NS_CONFIG_REF|IDX=222|BASENAME=dns.json|PATH_SHA256=17fff041b89842c338557506269438be3b5ef4a768cdfd73385d2b65d418c5f9|SHA256=f2631112e39818140dbab6d51d57da1e9211a0836a00650a9933c60127fdce45
REC|DNS_NS_CONFIG_REF|IDX=223|BASENAME=networks.json|PATH_SHA256=cf4e7e7453d9e7b97a222221641854ece156b3e45578a5ddcedd18e1facd213b|SHA256=ec87eb9728f87fa3af9c5314caf47ac24df2105df7a794483a588af38395a2ad
REC|DNS_NS_CONFIG_REF|IDX=224|BASENAME=dns.json|PATH_SHA256=363664312793b2fbbdc94e0826e92e3bf2f420e4368e0a5e4164f3b24eb31f28|SHA256=848851b74d0f284c35806b4257fdc01b579a962996154cdd79584b1ed559c10a
REC|DNS_NS_CONFIG_REF|IDX=225|BASENAME=networks.json|PATH_SHA256=2be3a97f972085456d31ab6c5a391e3d03e266a99497de30fe01e458d3054e34|SHA256=afa083660c7b242da43b61e7b42abbe778a7cf0fbcc569883598766956620b92
REC|DNS_NS_CONFIG_REF|IDX=226|BASENAME=dns.json|PATH_SHA256=982f2471bde05a96de734305406729563273b5951f45e607db63af8aaa5ab0e1|SHA256=9e36f5e5744abbbe9e6f061e0455cff6a040a3f0ce638b4fd8646f4871b4ca8f
REC|DNS_NS_CONFIG_REF|IDX=227|BASENAME=networks.json|PATH_SHA256=3db79111e21b2580b5d2595777a84e384bbf58adee385d536b94c60ef7098943|SHA256=0b72930d4e39c75c3148a06cc23d3e946a1957f35624e0b8ab71b73a278b88bf
REC|DNS_NS_CONFIG_REF|IDX=228|BASENAME=dns.json|PATH_SHA256=9744db7686301731313be07c7ec20a1bf4914d414dd19da21f50e3f3e9e4766a|SHA256=e0037fbfd9a33a9c990c5a37c3465804fc21fb14610b929051ba3689b5f20ccf
REC|DNS_NS_CONFIG_REF|IDX=229|BASENAME=networks.json|PATH_SHA256=87a27a93e0f101797e4c86655f29bad85596711720d49ed0cf8f41e257c7b9a5|SHA256=3fd7658a0dfb2573f07207a4cf29bdfd51aa91d291ff00ad0ba8bcb61bf5559c
REC|DNS_NS_CONFIG_REF|IDX=230|BASENAME=dns.json|PATH_SHA256=ce35f431af0177c452de1711de4d40c77883040c74e884745b5c56eb7f46808b|SHA256=b1975555c0ebc8994475906c9e39c22e1e4109b77f9b7d63befe67429ebf0e02
REC|DNS_NS_CONFIG_REF|IDX=231|BASENAME=networks.json|PATH_SHA256=70ab125ce3666812dd6cd4b1443ccf83d480c1621268a63a9bde69f5f6189775|SHA256=8df61ccaa8a74774fe17b9c65628ae9668f97f674913d76dcfb0b2a04421e57a
REC|DNS_NS_CONFIG_REF|IDX=232|BASENAME=dns.json|PATH_SHA256=537ef95b8e2eb2a00c0707c3f30d042f99a07212deef3ba250743bc73c22d9b1|SHA256=a0702d6133768e826c3abf1e492108224fceced5344669a3a6781f7a353ba931
REC|DNS_NS_CONFIG_REF|IDX=233|BASENAME=networks.json|PATH_SHA256=fb72f5700773fef19450f9c474de19c26081021084f49e5ee870141591fbc737|SHA256=f7638585258d3a1d0c52391cf420444bfe19485db518f55815e312613553da3a
REC|DNS_NS_CONFIG_REF|IDX=234|BASENAME=dns.json|PATH_SHA256=fb74cd2c5d84888461cfc594e0226c695e559ea8610dcc630ef50c2a0ca8a5db|SHA256=ec2a2a18574c1161121b56e7a2abe9ff2114b76ac927b8c8d7c841315fd08747
REC|DNS_NS_CONFIG_REF|IDX=235|BASENAME=networks.json|PATH_SHA256=56e115882fdf8e3ad5a3eb8e7d070d8739b34870ac0af33fe6df179dda723d01|SHA256=3247710fa8a3b6613e7a56f61708379cc88229e6e02dfa61d414ee532f28733f
REC|DNS_NS_CONFIG_REF|IDX=236|BASENAME=dns.json|PATH_SHA256=cab435a4ae43f0e38e96d8c434210c8cadba3d217606a2a742ea56b408472e99|SHA256=04956a9ffa30eafbb395ae0d657f85565d5a9698db4e206a2892575b7506d4b1
REC|DNS_NS_CONFIG_REF|IDX=237|BASENAME=networks.json|PATH_SHA256=4096f06c38b27855ffcdb71f287a11c15646b21680f20f5ba66024bb9fa9c2d2|SHA256=81cf3e5e82797370ea1d2be784b990c062f99ec9ce8b5c8bae11c1d42c8f023e
REC|DNS_NS_CONFIG_REF|IDX=238|BASENAME=dns.json|PATH_SHA256=d06acd1ebd1e960e893df0e76290f5c16a314591a467fcc76199a38ad1811f61|SHA256=25eeb33efebad77e60ecdb05aab19d772cd77fed580e73450c6fc8a397f80adb
REC|DNS_NS_CONFIG_REF|IDX=239|BASENAME=networks.json|PATH_SHA256=502713c9bf126fb0ca1a524a3725f73069cd5b66735f521f1fe20ed065217b4a|SHA256=f816ef0aa88ec8ef07254118b0c241afb91e6fdc81a2f42340c96840da496d2c
REC|DNS_NS_CONFIG_REF|IDX=240|BASENAME=dns.json|PATH_SHA256=ec151022acbcf2e76a521ef4fb0cf5381a6cc787a34886f034a733201b3e9f0a|SHA256=5d123caa9adde6f8be8c7f8f1bcd9630b1b1481433f16c61d905ae9be6c23d3c
REC|DNS_NS_CONFIG_REF|IDX=241|BASENAME=networks.json|PATH_SHA256=76d03337dd8e5b9b62ff3e826012a4ed37f2f4e8152b99a7670a025da0ddd1ea|SHA256=b18b112a8f7f36b85367f90840828277fe76ecc1699fdd70f49b9d60162acde9
REC|DNS_NS_CONFIG_REF|IDX=242|BASENAME=dns.json|PATH_SHA256=cea6049a11eba74801334a43f01b3be8d952be0465cffa8561fa971b85c4a076|SHA256=7d6000867d6ebf6668837fda0e9fb6f70b45a2b589e248602165559ba55dddfe
REC|DNS_NS_CONFIG_REF|IDX=243|BASENAME=networks.json|PATH_SHA256=e78f95a180f1fc1e73ceee473215c64d54275fafbabf33f3eebc6b761ba8357c|SHA256=9242665bbb87e602563095d7d2323102dd1b8b9013cff057d52d29189a21f2ff
REC|DNS_NS_CONFIG_REF|IDX=244|BASENAME=dns.json|PATH_SHA256=ecded7719da3401b25be315f687543b658da9f318a047bbfc4e3368c396cf3a8|SHA256=5669fa1d2af33c9a55c6ac38bf230a87eca95d8d83eef2e81018977a4c73b25b
REC|DNS_NS_CONFIG_REF|IDX=245|BASENAME=networks.json|PATH_SHA256=e04b9dff2b68e46685a5af1380ff1f99385d872f47440701b8639b111a7ddb9a|SHA256=173f57c2547ba05ec8b9be0543d72362b616a5995b9585669cfefa47abce058d
REC|DNS_NS_CONFIG_REF|IDX=246|BASENAME=dns.json|PATH_SHA256=2c0d07b6d5a81f5a2fdc1e6a9451b53f4348d44d811e90b56831bfefbe699198|SHA256=87485a7034d29b41f7d4379ebc3dace9f99af20d37364e93670b983d885fd526
REC|DNS_NS_CONFIG_REF|IDX=247|BASENAME=networks.json|PATH_SHA256=6d7288339a009d3576ab0865b690d935e0709e807e99e7e852da1442775b9bfe|SHA256=b41073af38e42b2e9bb42f52b82dbd1ca44e223454243dfaf24c76e2637972a0
REC|DNS_NS_CONFIG_REF|IDX=248|BASENAME=dns.json|PATH_SHA256=65bc55ab06ecae5693f3cfcb6bc24248bdde195275e5e2874cc88c2bed8943c2|SHA256=fba3c487d4a05ff637a2406594d04ce324048e11a54b981afb970ab2fe272d6f
REC|DNS_NS_CONFIG_REF|IDX=249|BASENAME=networks.json|PATH_SHA256=95bbdfab4fdc0554494ce7737cf7326fdb4beee7cf134cb184b73d3e847f5249|SHA256=d4b465d2d5ddb8d297bce66ef02cc39e13ca89bda3cd24608d3705b0e6ab3959
REC|DNS_NS_CONFIG_REF|IDX=250|BASENAME=dns.json|PATH_SHA256=fed3940c750d9c4c938868bb62b170c763bd47b158c035af6011098253159ec6|SHA256=c84bafd191b9497a91da63f51946ff849dac5978dcd880fdcdce656fbfcd6f9d
REC|DNS_NS_CONFIG_REF|IDX=251|BASENAME=networks.json|PATH_SHA256=23a4c008cbb0601fbff83307a8619c9f7adbe4ea52ff7e13aae10c6201162027|SHA256=77cbdf96aeb0b9acb8049440a192be10cba4a29cf1dc522fe7ea7b8ad17cb6bc
REC|DNS_NS_CONFIG_REF|IDX=252|BASENAME=dns.json|PATH_SHA256=03b30477524315be3094d685852c5c5a5592b1a40141932df8d4d58cf5707790|SHA256=a2f583120c2bb87dac75779eb80125cec0753ac24b8da11ff9fb5e198ad4e0a8
REC|DNS_NS_CONFIG_REF|IDX=253|BASENAME=networks.json|PATH_SHA256=6f9a5cb2bd1821a27f30ceeada85d2c7a998219bf48113f0a671ae09ea901f9a|SHA256=0ee18565be977351861855ff0dac8e1030cc2f19ed3e48352fb559124eaca355
REC|DNS_NS_CONFIG_REF|IDX=254|BASENAME=dns.json|PATH_SHA256=9e27a11f1f231caefdb65472a507bf450a8888e18b1a3088757d7a81f0dce7f5|SHA256=bf4173a70be0614aaa01f01625e628b6dcb54db9c159e9230452f67f636a5b83
REC|DNS_NS_CONFIG_REF|IDX=255|BASENAME=networks.json|PATH_SHA256=737139a0b503a60126ad66572412c736dbd336fabb7ed9808701baefd99aaf1d|SHA256=3174d1c302df0c81cb112e7c57c21d8b56a511715b6b403bea13e18620a6c1b9
REC|DNS_NS_CONFIG_REF|IDX=256|BASENAME=dns.json|PATH_SHA256=11542151911dfbb403ca68aef44b2d1d920a957b243fa165823e3b5244f65c65|SHA256=da461134ba6a6a8792c07c99220f4ed000dfa71a6a96f096afb96d8b414e7ee8
REC|DNS_NS_CONFIG_REF|IDX=257|BASENAME=networks.json|PATH_SHA256=0738e43db9737fbebf1ad6d64cba4fef59ee7029efa33d2b0a38d2d4afe1b940|SHA256=06b4c562cea9afc5520776448e905d1d2659a9e7dc78e2882e40f652ddcdd064
REC|DNS_NS_CONFIG_REF|IDX=258|BASENAME=dns.json|PATH_SHA256=dee76021a2e130f4051dfceb697eff6557ef83c5ea5bd37b0ab9d499c6bbeb80|SHA256=d22c323451469d4b0ea6671cc6bda169fba374b420433799907b1aadd43f8f70
REC|DNS_NS_CONFIG_REF|IDX=259|BASENAME=networks.json|PATH_SHA256=555ae2f6216f1dfe20547c2ed1b0517365c6d99637ce374c1d6e562c5a065ed8|SHA256=74f09d84f9d62a417f94c258b803e46109595692113427b1c2cb6f6801ce2682
REC|DNS_NS_CONFIG_REF|IDX=260|BASENAME=dns.json|PATH_SHA256=54be548f75be4c0618c15bf71fed0baccf67cc3c5046f71d056ab5b0dbaedc21|SHA256=345706416756e305dd328f845f0a128f46100478561a89a6a2d79a764936b2e5
REC|DNS_NS_CONFIG_REF|IDX=261|BASENAME=networks.json|PATH_SHA256=147a4080067437965111e5ad888533e85d0001a9e2d8a7fbc09c559dbcd0ae17|SHA256=dc90d92b214b40e6dd459362a73e455f543abeaa87b9d7edbd2e15946f12ccb7
REC|DNS_NS_CONFIG_REF|IDX=262|BASENAME=dns.json|PATH_SHA256=b01f8f08f167a6d0997f447e2054fd2cc9fc34f9951656fe517d2fd6c6845819|SHA256=c108fb3541689a7770d63c57ccbb84de8786b966af362450cae24b0cdecb9d0f
REC|DNS_NS_CONFIG_REF|IDX=263|BASENAME=networks.json|PATH_SHA256=4cff25414f1d9a42dbb162dc1f4759eb25bb6ef0e85b01bf65130b7a52cbb3af|SHA256=5c412186cf930c7630950e5439c5be383de4bc312c89f394df294e138ea2d09e
REC|DNS_NS_CONFIG_REF|IDX=264|BASENAME=dns.json|PATH_SHA256=577d70e86581c945a91c141576485ea878429d857dcd742867373fa19df09ddc|SHA256=e1119b8298aa42c659a4842ec2525c87803597bc06788c02035dfe1d74648a79
REC|DNS_NS_CONFIG_REF|IDX=265|BASENAME=networks.json|PATH_SHA256=c78283e15f57e0b8306b989fa0f7bf516bc1ff742521ad2704f1dd4c9ad6ef88|SHA256=aaabd586119d3e02a89bf7afbdc1043e43a36b2493f168c5e78ad119ddfd0c39
REC|DNS_NS_CONFIG_REF|IDX=266|BASENAME=dns.json|PATH_SHA256=29a1834043109f3c8d618e1c3c25fbee9b11cc88b4346b5869b7f89a78f75d44|SHA256=7339a1df21bdd1dea20ba7d6f298900c34ddd8d549ce3586343087be87ca29ad
REC|DNS_NS_CONFIG_REF|IDX=267|BASENAME=networks.json|PATH_SHA256=670c5f55d96ba1215bc04b089bc05da6523cf0ce1e538436a06ebf813f63122c|SHA256=b0b81765b8d33f252198ba434beb91301a750ed50ecac7d73837b543eccb0e79
REC|DNS_NS_CONFIG_REF|IDX=268|BASENAME=dns.json|PATH_SHA256=bfd3cedaabef29fb5344c06d549cebbf667788c09b2aba1ee6edd2e02f509b33|SHA256=d589782c63f3d42295fc962e5c9a3695f4285310ad6ac8c5941164d5de6322f5
REC|DNS_NS_CONFIG_REF|IDX=269|BASENAME=networks.json|PATH_SHA256=1ee2e286944eb938a7a38e0c012006e05ecf39227aa95ad8cc0258f2ca39376b|SHA256=800928ffd086d15d2d2df4eed61823f42920d5bd25c78a780830ae2d9d8b28a6
REC|DNS_NS_CONFIG_REF|IDX=270|BASENAME=dns.json|PATH_SHA256=ba80ae35213fdedb98aa58c6923fb4b079853776faf1564b2198e1693c92a41e|SHA256=9f2da7faf30f925f67fd5dac8ff40179ebc2b5ae86565cc5727d8cca82e4e4be
REC|DNS_NS_CONFIG_REF|IDX=271|BASENAME=networks.json|PATH_SHA256=7babeb892b28e12b4eb990e22ad065f7080286119e891164b118b3bef2fcd4bb|SHA256=67ba41452c0593b94ed6784d16a4a47dd3188f2f4e7524212b11ae2950a9b674
REC|DNS_NS_CONFIG_REF|IDX=272|BASENAME=dns.json|PATH_SHA256=fb7c63e12ee0d7c8ba44918ce3008542196f22af032a5589dea382e0ccc00549|SHA256=568c70400672a99d30034993260d0954bc2d0643b1e41299c619382d19ddaef5
REC|DNS_NS_CONFIG_REF|IDX=273|BASENAME=networks.json|PATH_SHA256=07bda7dc4be3ba76cb510247ff441ca7cf815a87bb8ea32fb3b4a289ecb0e70c|SHA256=46244ac075a5be566b526667664d5ebeac896cd0b7503177336104884e864071
REC|DNS_NS_CONFIG_REF|IDX=274|BASENAME=dns.json|PATH_SHA256=74ce47cb3d9abd8b853daff9dd4465dae5bb2738299924dacbaca52e5b0d0238|SHA256=a8dc4005ec5e0585e6b263baf04c13cc3c36eca1f957c2e250f20cec5e9178c6
REC|DNS_NS_CONFIG_REF|IDX=275|BASENAME=networks.json|PATH_SHA256=87493ad00adebb977498bfbd6ed2617e8e8b43f837aa2a7e69046bd8b20de03e|SHA256=fe490b2592e7864c404a1fd0803c643c406e64a9609cb1e6fb78d3ddd3b7d315
REC|DNS_NS_CONFIG_REF|IDX=276|BASENAME=dns.json|PATH_SHA256=a1548d2590c583b1f905c4f10526c639beeb7edaacc21dbd06f9331d912bd8b0|SHA256=51cec571f03c871fdd48187d1319b0508cd753d9441a69f9a0325c00b0916ef4
REC|DNS_NS_CONFIG_REF|IDX=277|BASENAME=networks.json|PATH_SHA256=3ab9114cb38085b1d6553abe5aa08a02ef055c80c313e352e209f32dcbf653f8|SHA256=d78c074f02c239a1828f594626e0833c595e128795c147a4df184969c6740350
REC|DNS_NS_CONFIG_REF|IDX=278|BASENAME=dns.json|PATH_SHA256=4d49ca3fc746f046693919e275f661e61e21cd32679b3b7318b4025f653bd1fe|SHA256=3e461b1beb1b3837f04d3adaded7242c91529e94e2317cd7c8cd98d76d1607f1
REC|DNS_NS_CONFIG_REF|IDX=279|BASENAME=networks.json|PATH_SHA256=a34291ba3f5ad8f67b829555dbad7625aa22edd2ba92073a2c1fad5caca8efd6|SHA256=bcbbbb0907045174c946a39206278a5a7b73f3adc87b1af18ae32030273a45d3
REC|DNS_NS_CONFIG_REF|IDX=280|BASENAME=dns.json|PATH_SHA256=061e0d2e720d939420d3d0f4f11d7bfde01b5a08af1befc9f7d8b93cceb55d1e|SHA256=98642c36665694513f2a7cf358721ad4f92caf981110377c640bcf39efd1fbba
REC|DNS_NS_CONFIG_REF|IDX=281|BASENAME=networks.json|PATH_SHA256=33e52e27213bb53a922ed098f4f14d347e3cf1870d14a8a259cf119cd7c27889|SHA256=90c7ddf7371210b1c411ed06be1b6fc1b2cb642867d80ec9b60345e3407e3366
REC|DNS_NS_CONFIG_REF|IDX=282|BASENAME=dns.json|PATH_SHA256=e87170e46084c91e0d63a7a154fe3a82c4697f614e1ecfd9205699e0164ef45b|SHA256=28d5bc420924adc020f65cfe74b1aff61b6248b1c59008b578fd068fabfe30f5
REC|DNS_NS_CONFIG_REF|IDX=283|BASENAME=networks.json|PATH_SHA256=b99d85546f955d98b1bad57fe9f803584fc540fb67a70e426b4723560c3c62a1|SHA256=7dcc5b28e0c51c114281cfe529e0117dd92401caa0f3f46972515c69e6a8aeea
REC|DNS_NS_CONFIG_REF|IDX=284|BASENAME=dns.json|PATH_SHA256=4539a9304a000bcc03276f6885d85a668bc626920e053e26d23f491d09d5f4f4|SHA256=9404352a23a707e449164eb3ab7a2bf79d64a3c9e803bf30bd9f607ca2b69e0a
REC|DNS_NS_CONFIG_REF|IDX=285|BASENAME=networks.json|PATH_SHA256=833846e35d13135a9fd13c30fae629c699b9b6ca831829f2294e96a57d4e8c72|SHA256=d3c00e2b476bddf036a1087dc782ea1d2d41105570622fcf45be44c005c8f74c
REC|DNS_NS_CONFIG_REF|IDX=286|BASENAME=dns.json|PATH_SHA256=1a400b23106571a6212fc5ca8e1eb7d3222b21f23aaf97920c65987ba1564c88|SHA256=178cebb193989c4729c23ed40217d20898db3c05970314b4d66671a83fdbbc22
REC|DNS_NS_CONFIG_REF|IDX=287|BASENAME=networks.json|PATH_SHA256=db88b10d16d49db73b97faffc4f853488d3bd9a732db284b9795bc256c0c4faf|SHA256=255f82ae4fcba8c80376b3f37af6280a586e63fb177da38c3b1a39c7b22fb1a4
REC|DNS_NS_CONFIG_REF|IDX=288|BASENAME=dns.json|PATH_SHA256=f418c433976efd1146ef2011c0d85cfc7528d48e1b7a61f2adb39180ba680f80|SHA256=96dfca20f7047ac61baeb3d2667cb6b1bcd08480b4566b8bce85153323ac40d5
REC|DNS_NS_CONFIG_REF|IDX=289|BASENAME=networks.json|PATH_SHA256=f86009145abff9645b4800c561c0de3e52526d7910f7770ad5476d3b6856801a|SHA256=fd25d556fdfb8057f990dbc82083551cf354ba3c1bb81b0ffbf639336ba7d38b
REC|DNS_NS_CONFIG_REF|IDX=290|BASENAME=dns.json|PATH_SHA256=f8bff05bd57b8696be2755abc2de5190234d3a1090cabcc6f9918edd17956602|SHA256=aecb758176a1c75ce8317df98dda91dba2d6c24c0560d135ef5c67bfad510612
REC|DNS_NS_CONFIG_REF|IDX=291|BASENAME=networks.json|PATH_SHA256=91a774f03f68de10e132a0c3f3de4dd148b51903090f7576586ca0d47b13c3cb|SHA256=5451d8eb5c0053edb3b16f50a2761244c088856d970eb344b7ffeb60c5747c0a
REC|DNS_NS_CONFIG_REF|IDX=292|BASENAME=dns.json|PATH_SHA256=7dc56ddb4a7ba8469bde2cf8522aa7383f62aa56dcedb8d6db73199b13c9b6d0|SHA256=3c2c9c2e664a1ac5445e3a36b5702e39012f948d502ae045599a8cc5b1ae4d93
REC|DNS_NS_CONFIG_REF|IDX=293|BASENAME=networks.json|PATH_SHA256=bf95c7aabfc00aa6bb5d9b64e93f63e332e02bb5edff141c4bac8e9cb1db8d9f|SHA256=54e4b467026ad1bbb6d8917c0ebc7c9c1d3f34d5dcbd9cd05d52add1a4f7372e
REC|DNS_NS_CONFIG_REF|IDX=294|BASENAME=dns.json|PATH_SHA256=54f2a32cb6beeccb27bb7f3e41e33e698953d6f18c38e70f13b72e9ae1f20b39|SHA256=e4ea39c6b0bcb6ec15d4e8e7ed96cab1013f6a81fd9c9b14589ef07c9b878533
REC|DNS_NS_CONFIG_REF|IDX=295|BASENAME=networks.json|PATH_SHA256=56eb6bea4b1e71ea52160016f5a156c232baea386c8807a476b67131a23994b2|SHA256=f107c3bf5ff3539090d1f345039a42e66743c068b0e1f9b2fafe4173b9c0eed5
REC|DNS_NS_CONFIG_REF|IDX=296|BASENAME=dns.json|PATH_SHA256=2ce4247388657e4ed2ab5b054dc394e7a46626fba6c45f61cfc5b7157a4ac088|SHA256=00fff9869afee6e919e23a8e66d6cee3bd898966406156048a8401fcb24b302b
REC|DNS_NS_CONFIG_REF|IDX=297|BASENAME=networks.json|PATH_SHA256=0e4c8fa867a1cb04b86c09820e47ccccb27c4545d0ebdeabbe3b7219eb0a4cf8|SHA256=2e83e1764e8078faccae28c6a2cdafdc6d2e04bf9daeb1e5c8da86d324a3888b
REC|DNS_NS_CONFIG_REF|IDX=298|BASENAME=dns.json|PATH_SHA256=6e14ed05ec7db1cc45c43c47b0f4e18152794a8d39fc73282ad04e467266b164|SHA256=b1297fde21f8d439553b2193b52fe8735e6c8aa227cf7705383cd892817b0384
REC|DNS_NS_CONFIG_REF|IDX=299|BASENAME=networks.json|PATH_SHA256=a11fe17f38c47ab0a069d126e0cdd4e38f1dd63ef3571a23a33eeb5192b9ca29|SHA256=04d618a80f911d47278d0002b2a02b51093d36569b9baf3fbab0e2d2390027db
REC|DNS_NS_CONFIG_REF|IDX=300|BASENAME=dns.json|PATH_SHA256=b60a7343ef7e1c52f5e8454ba85534291c99f6090721f83bc8e35937463c000f|SHA256=33a82004ed2a5b3685f176d3f9b2f0b3f03a0779ebd5146bed433debf1dd8add
REC|DNS_NS_CONFIG_REF|IDX=301|BASENAME=networks.json|PATH_SHA256=5d94fd4caf256c8b42caf53ff33d4e3d49282e8ca72b7edf4bf5972e6bd2cf59|SHA256=a49881d87b17ca0bb8daf4ed6abc74992eda2a461b719be0c37ac536b5d52a99
REC|DNS_NS_CONFIG_REF|IDX=302|BASENAME=dns.json|PATH_SHA256=876839c7a5330527eb98c21660bde2ba0081d4649cb83e1e0c283acedcc77338|SHA256=b9cffc99496f969a4bb8ae433448f5acea255482edad52bd4d7249519192e0af
REC|DNS_NS_CONFIG_REF|IDX=303|BASENAME=networks.json|PATH_SHA256=86bd8ebb6ff7799e0d8a539f179e040e39a4703a9abc2127cc25727b7d0b908e|SHA256=ed5af58ffc70c4b0beab00a668cf14a63c152ff6cbc981d47126a1ac0bc17f2d
REC|DNS_NS_CONFIG_REF|IDX=304|BASENAME=dns.json|PATH_SHA256=13705f7b18ef4a5a19d9a3d9330334806fa15c7e55592d8e2ca6c70c5ab89e47|SHA256=b20999a806e77ae9f9914e2246387e1eaad2ad12f78a51021195c1122504f547
REC|DNS_NS_CONFIG_REF|IDX=305|BASENAME=networks.json|PATH_SHA256=6cd33b6fd06e6f0d353af230b4e02eed9375ce5c5ab5392c7c2ff67d2dd0f063|SHA256=7fea5ac0796886088227ac6f0ba46be5aa28f110cddb8fbdd5d9f033e462acc6
REC|DNS_NS_CONFIG_REF|IDX=306|BASENAME=dns.json|PATH_SHA256=6d343fabbad609a2400476bf50e1ddd0433b360a548dcfe4c897b573311171bb|SHA256=23fa31c8a3cd527ff9c5e16a44f6a5b02ba0ceb5220e974a3182e5bd81f427d1
REC|DNS_NS_CONFIG_REF|IDX=307|BASENAME=networks.json|PATH_SHA256=f3ae36c3f2f82006bf17b78dd6773bf0795f8e46ff37a2fce9326915ac4e4624|SHA256=9b6d5388b52a2622f8f325cc55b838e5267d434415347f1ea7875f89b2fd2b68
REC|DNS_NS_CONFIG_REF|IDX=308|BASENAME=dns.json|PATH_SHA256=419898b4c7c933b426a50188fb16d0f9e1eb121c5e49d88673e26a0ea4ba458c|SHA256=48c4d062017c4238b8d6e88050bf02dea1733e3cadf15a28f72ebad92897d9db
REC|DNS_NS_CONFIG_REF|IDX=309|BASENAME=networks.json|PATH_SHA256=fbc453d05a3b08a8fda0863f7469812a5504c021359cf3d1904cdc6023230900|SHA256=ed9aca0198f1af492850f195d46cccab6027612f85b26d241cf42ff9605cf9cc
REC|DNS_NS_CONFIG_REF|IDX=310|BASENAME=dns.json|PATH_SHA256=ac85339f0c50ef485758ceb4bc17ea75fc0949ea4c4c0bed5c0a40b0940d0b92|SHA256=8c258c44ecccc24e2761401a33913a1c5a9f01cbeccffbc3949761364ebafec0
REC|DNS_NS_CONFIG_REF|IDX=311|BASENAME=networks.json|PATH_SHA256=1550878cfc9454b6e6582f251e6118a440e99135836a153e4af8edd6145e6483|SHA256=207c7813d95ed4b1d81b8532a0f8dacb5e32753d960c2be8e916239849a2aae7
REC|DNS_NS_CONFIG_REF|IDX=312|BASENAME=dns.json|PATH_SHA256=1a32b49a21d57df8e56fa2b803cafd9a70c7e24bd28bcc61abdf10b13a4f09cd|SHA256=e2ba2fe3e2ab6f5277ed838ebac67cca8650850a90699d580b19ca0cf75b13de
REC|DNS_NS_CONFIG_REF|IDX=313|BASENAME=networks.json|PATH_SHA256=e37563a139bcd787d1b98dde694348ead3bf4f1d43af32e5b49f888b34a3c743|SHA256=7dcd0e73d4eca99b9a6bddfd301138bc741b6c7eb3c81abdff06597883a3fb79
REC|DNS_NS_CONFIG_REF|IDX=314|BASENAME=dns.json|PATH_SHA256=068354d60740507e559d8115707982af0160d07264e890b000da21885236dd87|SHA256=f190bf89bc5d97bb62d011ca7d4bf885c0d3fb05153fd5ecae018e6454c3c20e
REC|DNS_NS_CONFIG_REF|IDX=315|BASENAME=networks.json|PATH_SHA256=c8a61af99d59f3f23fd92b8f92891e212b5b1fca953bbe0257b1eb07c7665a29|SHA256=8f39882a0e611bcb3aaf53cb8cc4ac1a072972e94788566aa415bab825d49d15
REC|DNS_NS_CONFIG_REF|IDX=316|BASENAME=dns.json|PATH_SHA256=bd30f550c3984a2565c636817b0fe409c6334556fdcb590464f4f5c0e1b2b705|SHA256=157008c3af7d8fd972fb9d187b0f33ea1d2a6da7b077ba6efb7e553aacadd396
REC|DNS_NS_CONFIG_REF|IDX=317|BASENAME=networks.json|PATH_SHA256=c19591dc5fe7a499533810e9e8cece97b6eab21c69d2a9f77e146ce12486c584|SHA256=8369381a4950da62c77ee18287af32c0d568c1b746f967620457324d13d45a32
REC|DNS_NS_CONFIG_REF|IDX=318|BASENAME=dns.json|PATH_SHA256=0aa87c2b3498c9eaaae161123e527afdf7328268f97870032a2666bf918fa689|SHA256=f9b7ed233553451f2939c179c768b63adabe643c4a1895b4de8932d4586e322d
REC|DNS_NS_CONFIG_REF|IDX=319|BASENAME=networks.json|PATH_SHA256=53b61217f1ebd6edab2dda64889a5f078c3a3e17e2ac0271c4f348c8073d7ec7|SHA256=2b2f609e086cac7eb25aee7a0a53091e4fbfe897b049354b6b5c5935ff2e081a
REC|DNS_NS_CONFIG_REF|IDX=320|BASENAME=dns.json|PATH_SHA256=9a97b58750c40fa9164b38efba653dfda96612b56511378975b20793afb455c7|SHA256=9625ce339715965fe7fc99113047e84e94454c09646bc3c196d0df0d4536a0f7
REC|DNS_NS_CONFIG_REF|IDX=321|BASENAME=networks.json|PATH_SHA256=46de1ab3739eec98c7491c59bfcd0959223b71938e9ec0b47cbd6dda8237d751|SHA256=6f14e54de604860c68319cd7bff063ed8aaafab26c89389e531f8a2dbf0e9a3d
REC|DNS_NS_CONFIG_REF|IDX=322|BASENAME=dns.json|PATH_SHA256=d59e9a7c126ef6475994da816018240ca1dc4feb990915cc98bcd2d3d88bf24d|SHA256=df5cc1c23368e9c6913a5b452dac1f032c15918c6549823fbfefda748a79caeb
REC|DNS_NS_CONFIG_REF|IDX=323|BASENAME=networks.json|PATH_SHA256=0d6fb186ba077034b8c99a215d75e629918a8400b8e141018738451210e3c7e2|SHA256=26c5cae9139b16bed1e4606a45ea4dd80da720173225a3a6234c7f434120149f
REC|DNS_NS_CONFIG_REF|IDX=324|BASENAME=dns.json|PATH_SHA256=33dd4682e27b9acf03abb2de0025d3da08bec5822c770c91512d0ce721aba30b|SHA256=5ae0104bce0f21e1aef3a9ea5a76b33de6a87a94f10f977bdba32a74064de18a
REC|DNS_NS_CONFIG_REF|IDX=325|BASENAME=networks.json|PATH_SHA256=93514b291202e34d1dd19b48418f3e27ec664750dc5e944c3bd219d2cc67970b|SHA256=8a9ab118aa24979697300c7bc3f7c40213f222a3e61c18afb97224f2bb6d1546
REC|DNS_NS_CONFIG_REF|IDX=326|BASENAME=dns.json|PATH_SHA256=c2f69007b3b1bac51725cebbdf2665747d230b318e5ab5b3702b7d7e683db269|SHA256=11c867eda9c9d8187b4f99137064cbf0443dcce15f19542709b35f8e3360eb2f
REC|DNS_NS_CONFIG_REF|IDX=327|BASENAME=networks.json|PATH_SHA256=a75090f6254459fa784111a21045627ab067f107bb59d582e74c9fdce4deba94|SHA256=6c0b47e64b07e7938837c8cf1449496cecdf1ae94455c2f6ae21b2f0feec3240
REC|DNS_NS_CONFIG_REF|IDX=328|BASENAME=dns.json|PATH_SHA256=4f567c7441ebe049a90cd63fff86ff03420f237f6e3419e187acfc3a5b03b4ec|SHA256=45b25ad05d39439a847f39ac94e87bf18ce5784f52cc716917f91348f56eb7c3
REC|DNS_NS_CONFIG_REF|IDX=329|BASENAME=networks.json|PATH_SHA256=8122ed37b7f46d0c2ad1dfb70a626187b591d9d9a8fa9b5a1a4d60c508679e02|SHA256=92bf5a83c31b84f6e8778e66db580caf345a3993e9fe56be58df7a7402e17fa2
REC|DNS_NS_CONFIG_REF|IDX=330|BASENAME=dns.json|PATH_SHA256=9bd2a239c3f47c4bf489aec384e1d2e3b7333201e7e63bc0f26555a51d50d8d8|SHA256=57920569604a920fe29816eb4475d1103a2f2374b27c53fdb6e1dc4cadbff406
REC|DNS_NS_CONFIG_REF|IDX=331|BASENAME=networks.json|PATH_SHA256=6b261275f5375f6f784181b80969fef00ef048bc4d1d202af369c558f88f1285|SHA256=2a0e8ff0ee12452bb54d4eb8e1b9576f51ed341fe90612267b7900c1d0a8a8fa
REC|DNS_NS_CONFIG_REF|IDX=332|BASENAME=dns.json|PATH_SHA256=3729a98843c7efadc55a3aa154f8229b0de9923ebfdd8a74970c5f122dc6c4b2|SHA256=f9b03a43c1b5d530da54e1b833c661015b4e026e03d3aa401f77b3e0a95e16aa
REC|DNS_NS_CONFIG_REF|IDX=333|BASENAME=networks.json|PATH_SHA256=fc5540793283c90bb2f89a4debce357acc782b66673474616800bddf622cc6a7|SHA256=fecb45db1c1e6b96dadccd4a354e5da8142d1008bd5f40c6c1318b1c900af589
REC|DNS_NS_CONFIG_REF|IDX=334|BASENAME=dns.json|PATH_SHA256=26ae05f85c503d45a64301f0e94e6a381029dce11b9b261af9d6a0aa4bfedb00|SHA256=0fbbb950865d6724641b99a31e506e3995c7c3322313799fe9b29950a73a2e5d
REC|DNS_NS_CONFIG_REF|IDX=335|BASENAME=networks.json|PATH_SHA256=56a1ec600e5700fb414d7ca445d8660064967ed92d51bc97ff1c18593cdbf779|SHA256=c91673be13deb463f166fa92060f297c1e00b471489146cab89b08e930748e40
REC|DNS_NS_CONFIG_REF|IDX=336|BASENAME=dns.json|PATH_SHA256=9d467b72a914f1691def1abc49633f7d6654b765a98d7ba39ccbaf2d789389e7|SHA256=67fd1eaed4db8c48121a4d78661bffc0e8e7312a7d35e9c670aa8cc2371995f4
REC|DNS_NS_CONFIG_REF|IDX=337|BASENAME=networks.json|PATH_SHA256=edb8b8dc5e91ebd0754390de39e7cf63ec711f03922d2c04d0ce3e38f42f2565|SHA256=93553ba9e732b0614529d6ecb36d2cca8dd329f284204432ce74a61b22199c47
REC|DNS_NS_CONFIG_REF|IDX=338|BASENAME=dns.json|PATH_SHA256=6c59e1b485d750ad4737e8d369dcd7c42bd1f901c73be19b15ab84977ea33238|SHA256=66851af0763af5bac8120e336f0dd5d81a8d88a87718d276ccfa6bf1e79eadaf
REC|DNS_NS_CONFIG_REF|IDX=339|BASENAME=networks.json|PATH_SHA256=cbe23787e8ad25c349c83eb0aa1d1aa52c2a0ffb4140e0536946a7247d4259ed|SHA256=fff696c46e5f6db89323a6080995397e5f84e56085d3b73688a30aefc610c41f
REC|DNS_NS_CONFIG_REF|IDX=340|BASENAME=dns.json|PATH_SHA256=37cce23dbe3e8a62f8f41a5f2dc8d23aac18ce12d5208044b643d4b48eece05f|SHA256=51d714f10908080e85e310a2adae487cf6895a9c7b6c51c704dde85f2e99877a
REC|DNS_NS_CONFIG_REF|IDX=341|BASENAME=networks.json|PATH_SHA256=a5dea1bc11662397b7fa9c5e4b2a81d4847b0368572d04d64695a7f1bbf8196c|SHA256=2b7b88a5eb2a3bc2ee77750a09fb8989c407f5965359d5a74ffabf3050f03adc
REC|DNS_NS_CONFIG_REF|IDX=342|BASENAME=dns.json|PATH_SHA256=f6529affddf633c7d10882fe07ccd9c73e1bdc9bfe8940188feb3baa93883551|SHA256=3a333bc7bc5738c79d830b2221c9e5a407a7e19eb6846c2d4fe8859d1851ae39
REC|DNS_NS_CONFIG_REF|IDX=343|BASENAME=networks.json|PATH_SHA256=a7ebb31c59a3ca550873e4eccfb05c95f5e625b89f3b6c2d1c19fed28b8be2ce|SHA256=c597ac8c988eb7252ca24245f5535f030eaa1c994dd96480c3f50e9b393307a4
REC|DNS_NS_CONFIG_REF|IDX=344|BASENAME=dns.json|PATH_SHA256=2f83ac2ee14c68299e2f4e6d8985a7cd33faf790173cad52efd3d8f3c8e06851|SHA256=8e83094fecd15db08d5ecf3f745703fdd76a2954afae9bc11be974b71acea53a
REC|DNS_NS_CONFIG_REF|IDX=345|BASENAME=networks.json|PATH_SHA256=054996a69c0b102b39581771c2ef8dd3ec635b119adf260bbb45f43f1a60a189|SHA256=70da03a308cd75bcb8398e00612dc0efa72a012777c6bc7ab2e4a6b8fd071ad5
REC|DNS_NS_CONFIG_REF|IDX=346|BASENAME=dns.json|PATH_SHA256=5c290dc69081e00c1675e9676f86c65aa3a862849d2b5e9c2047b90de60e9f29|SHA256=30e1613df00515076d04b26a8572d1e73fe3d2ad9651782586839e8e102a2101
REC|DNS_NS_CONFIG_REF|IDX=347|BASENAME=networks.json|PATH_SHA256=50eaa854343879a75ebe87891ea22906a33bced6371719879a6c33e590d712e2|SHA256=d15fc16b1c6cbc1950a3f3f0517a88fb16b1ae152d436573061af0652f31c7ee
REC|DNS_NS_CONFIG_REF|IDX=348|BASENAME=dns.json|PATH_SHA256=591529f7de777c29ba283452a8fa62ad4f45e5f3b98903f10dea6f7f521a1e3e|SHA256=b1ffd1ba119aa4821acb5a41a2700e36cff6b2375d0b5b5bae6255032c65f792
REC|DNS_NS_CONFIG_REF|IDX=349|BASENAME=networks.json|PATH_SHA256=d3d81e9b4647e145afbaf64631d47b6cb76214d6f2db4119e67e45cc6b706f84|SHA256=dee1b1f2ddd55ba14426af3ef783c86ea1228e4e6a41e1ac1abbac8f94803f28
REC|DNS_NS_CONFIG_REF|IDX=350|BASENAME=dns.json|PATH_SHA256=f4cb6c1f3f2d6048b94b02703700b766426a81efa86566e4f6d2148dae4458f9|SHA256=d70e91f09b50c1ed404733a240ddc0bdb80b8898086e54b2813326dce4095522
REC|DNS_NS_CONFIG_REF|IDX=351|BASENAME=networks.json|PATH_SHA256=51094c2768d0cb11477c66a19e70eab3647c45e47b8ef9f8df670d0dbb979acf|SHA256=6efb74414b1dd722d3e2099fe8eb50648de6791b00b4fb886d7d801a59520402
REC|DNS_NS_CONFIG_REF|IDX=352|BASENAME=dns.json|PATH_SHA256=42ab79cef7ea28d27604d123264ca154fc435eed4405c13eb93a529dca3cfe44|SHA256=fbb49a54a6679bcc91f53a427b711b36b89547cde7dfce37f812dc5c77b96663
REC|DNS_NS_CONFIG_REF|IDX=353|BASENAME=networks.json|PATH_SHA256=1ad6f767569cb1adb528891238df762d6db39926309b9e0a97687a5a10e9a2fb|SHA256=4e79ad845888ed5f84c351dacd6171898e7a2b16d2352c361cdea1fec62b7245
REC|DNS_NS_CONFIG_REF|IDX=354|BASENAME=dns.json|PATH_SHA256=181cb5dbe3ca5ccb0ee853070e88ac348e1e9ad9a3aac3126e292d9d801f4bd0|SHA256=7b11d32e55816ce591bbdff4277e9117190242fb894fa63b6a339933759729d3
REC|DNS_NS_CONFIG_REF|IDX=355|BASENAME=networks.json|PATH_SHA256=bc1059dfb3d26122a10b96889c85c628e5b33dc43672a4b3d6443f47d060cdf0|SHA256=10832646609fc90bf13b68c1f3b4796a52261dbe71746712cccf8b8b5b962fb1
REC|DNS_NS_CONFIG_REF|IDX=356|BASENAME=dns.json|PATH_SHA256=ab636d92fda2a7de0f06ece8e6b966e1f631ca4d5ff7ffaa7048d1210fa8191b|SHA256=304eebb61138c5404ce1f83571b736077250f10cbd4fff8b687361d2ecf12743
REC|DNS_NS_CONFIG_REF|IDX=357|BASENAME=networks.json|PATH_SHA256=6b88bcf4fcffa8f8f4f5130d09fcc72365324b65d2ce145185cf67896dbe4174|SHA256=fdf51212640e883a6ca978f88377ba0e0d056f2fac33fe95e0f147425362f037
REC|DNS_NS_CONFIG_REF|IDX=358|BASENAME=dns.json|PATH_SHA256=da3fb6851eb4dc87faf4ccf3afa1f3394bb416f9cc7d2d554872051e8b086429|SHA256=b88ad93fa1cd770cdc733aead11d0cd438a6b419af8d9a193e0684525a506d5f
REC|DNS_NS_CONFIG_REF|IDX=359|BASENAME=networks.json|PATH_SHA256=a1774705f7141b1276a96b1805ba5e750716621ed1832d236eedff26a1a25a79|SHA256=0c2982dc6433f6a53add17f3bf6844b2fd4efa0cf9ab71a5cb56ab49186977b3
REC|DNS_NS_CONFIG_REF|IDX=360|BASENAME=dns.json|PATH_SHA256=3878c27be151226e797c0ee8aaa9c1559d7efec85e8549e7c1c659497b2b903b|SHA256=81e32b2fc713cf9acd4c5716aa4dfdb8823ab7172a950f80beaf705fe398ddee
REC|DNS_NS_CONFIG_REF|IDX=361|BASENAME=networks.json|PATH_SHA256=6fbf2f41475686d9bf1375dd8cd7915e8ee23e2fdd095b84f29e2d386a020cc4|SHA256=4eb2f10bc83d8dbb40613f6821c0c8f5a230ea7f4ab0e4cd6e1d4ed7da43f450
REC|DNS_NS_CONFIG_REF|IDX=362|BASENAME=dns.json|PATH_SHA256=bed404818459b18b131365dea8d5f5ec94f98be5c0bacb17e84f915cffabdfad|SHA256=46b889d26149f1077427b782b23203701800cb4027e078ecd8dd41bf1b31c3f7
REC|DNS_NS_CONFIG_REF|IDX=363|BASENAME=networks.json|PATH_SHA256=d1a2f8541cf7b906ca2a53c7b1b138c005bec37488795f6c24867fc0b1bf1076|SHA256=0a9b9c11b2f8c81810f6c014625372f021804e7eba27c2008e2cbfaace166783
REC|DNS_NS_CONFIG_REF|IDX=364|BASENAME=dns.json|PATH_SHA256=0130c4f66bbde4bee11ffb30bd92662078e648205efbdeaa7b0f0f4746a54040|SHA256=65c1335c4ef747a10c80759810957e3cb46366e53b62ee20187761a4b102ad2e
REC|DNS_NS_CONFIG_REF|IDX=365|BASENAME=networks.json|PATH_SHA256=60768d695116f783e211b298b9a4f3275869f86898da6a19da94f682026a1926|SHA256=66955e62a5751f7eca1e52e5d382c04b77603833700a803f0257e2a425993399
REC|DNS_NS_CONFIG_REF|IDX=366|BASENAME=dns.json|PATH_SHA256=f25253be26eef9711ae841eaf3914605a945d0b767af6f4bb840007db1310e34|SHA256=c448c7429df08bdeef4ba2e2cf9c78ea9160f892ea894cb2d2c7851c7551f43a
REC|DNS_NS_CONFIG_REF|IDX=367|BASENAME=networks.json|PATH_SHA256=cc4e0e11ee22b0fc5b68db9e4921aaf12212692f2e7813906554519d305b2317|SHA256=c13ef2985b0b18a58436a9ee34d111120c1e25f6b8dce67442e4a22bc778a0a3
REC|DNS_NS_CONFIG_REF|IDX=368|BASENAME=dns.json|PATH_SHA256=f2bce9ec4c4ea10ee794485b54d007734fa94d973a22634ab8d6fe28f47f7794|SHA256=209d4a1409f38e8af078017acb7dcdb8903475ec87fab91c7372dedc46f62e18
REC|DNS_NS_CONFIG_REF|IDX=369|BASENAME=networks.json|PATH_SHA256=4ae6898c12a46565cb7d7cd7f3362610e5ce4879bb7fa48c703f115b1ca49420|SHA256=6515337b3cfe3e4fb5a43d2110ac00c39594f63e17cf134239d72f46be8e7f66
REC|DNS_NS_CONFIG_REF|IDX=370|BASENAME=dns.json|PATH_SHA256=00b1afd0ee775df39be489fbe13581a7f97dbd208ae72b8e18b2a4af658bccb1|SHA256=18763310842132bea2f9dbe68b853281e3c818c8d6c3df1babffc611ca82f288
REC|DNS_NS_CONFIG_REF|IDX=371|BASENAME=networks.json|PATH_SHA256=ab5eba4d28b3ad10a07f4d3bb851ff25ffb2dece48769312baddd2edc4c3e45c|SHA256=c5e7ce82bce5849e5b479bfcc07481618e28bb1059d889b32c9a3f1ac64e3e18
REC|DNS_NS_CONFIG_REF|IDX=372|BASENAME=dns.json|PATH_SHA256=f2a6893062d331e4b943faad926930f4e042fa5e1e56a756b84392a73b2f91ae|SHA256=f1ea6fd912db43fab198641e9aeda8a50a848ce616b9809fc28ac78f1049e5e2
REC|DNS_NS_CONFIG_REF|IDX=373|BASENAME=networks.json|PATH_SHA256=806e901eecfba15d3209900bb53bfd2c7af5df0ee6f150c0815d5d9e48501f27|SHA256=6da5ea66302ab4e726cba132684730d6a53b2fc4319af036e4e5585d61f48f81
REC|DNS_NS_CONFIG_REF|IDX=374|BASENAME=dns.json|PATH_SHA256=d58c04f34cea15c0bde505179b84eb94f096b83271393d2fe8b8b8ab3e430939|SHA256=3733c96fcea742977b6a916af8ca0a1e431acf1d58259e08f4368f69b31d8cc0
REC|DNS_NS_CONFIG_REF|IDX=375|BASENAME=networks.json|PATH_SHA256=15d2efa0f1d5915e70f6bfd561043eaedcf4a8cd82bd86b0b3effdbe5dc88d94|SHA256=055778c164f4d7d50c2fe71fce96ea3ac6f4a69bd596d9f0c5c3d4a5110143cb
REC|DNS_NS_CONFIG_REF|IDX=376|BASENAME=dns.json|PATH_SHA256=e1c9fdc1e1ba433c7ff29897dcff7d8ba363d6025d27ac7b7846f39e7ec45244|SHA256=4992ccba1137c3e2bd4fb011510a2ce82d27bcae2f9d133da6ebb3cf00bbd42b
REC|DNS_NS_CONFIG_REF|IDX=377|BASENAME=networks.json|PATH_SHA256=649834c570783d9ef957eb1beb6c8b6fa1c2ce09f0b16fa76373593ee51c90b1|SHA256=78906863b6010fd87b20f991b5a4da5cc44e1b15c9c5971417d56508f3f5af0e
REC|DNS_NS_CONFIG_REF|IDX=378|BASENAME=dns.json|PATH_SHA256=93380165f45e792074bba6fa3f926904e55ad9910a47868b401080dcfb496b17|SHA256=402732a90302b3c0755eb7ad8894582d0962e5380fff08d4be0d719953e039e9
REC|DNS_NS_CONFIG_REF|IDX=379|BASENAME=networks.json|PATH_SHA256=920a1aec2cc4f4a6dafe07e4f32d8154b0cd5ddd26e938ed72b30f06e5687cab|SHA256=d47de4c605309bbba9dc73cbc4d9a308598710fd7d1b8eb73d67e06d4bde955c
REC|DNS_NS_CONFIG_REF|IDX=380|BASENAME=dns.json|PATH_SHA256=a0d3ece1e13b5cdb5eb6a493df0bbe7610f82729da6ddd2898555559df0fb5a2|SHA256=c5d6c35467125520d03a008233085aaa6c05c3c4c25ad63735cba365a98e415c
REC|DNS_NS_CONFIG_REF|IDX=381|BASENAME=networks.json|PATH_SHA256=31843e39e5bee7a975c0b042dc75f69fa38b092a4db0a2af70117745fd67ed49|SHA256=c70a5c03bb68954d90e5ac995fb3438f452074037739a903a0323db0de3df6d1
REC|DNS_NS_CONFIG_REF|IDX=382|BASENAME=dns.json|PATH_SHA256=5e05256bc7cac12ae6f83c572cdd4e7d92ab0e0500ca85082043818be9581ce7|SHA256=fe73bf7d32b8740e44cbb9faa5559959566cd1c080e41df1fa7d09dd387bc6a5
REC|DNS_NS_CONFIG_REF|IDX=383|BASENAME=networks.json|PATH_SHA256=36a9c0d72f378b452c09fced1b8304ebad394a1699ad8f27823d9045fc9bf916|SHA256=f946a357e306732b662bb48315496674acad6cb2d81845636773a12f1dd62837
REC|DNS_NS_CONFIG_REF|IDX=384|BASENAME=dns.json|PATH_SHA256=f20d222a08fa29f70b55c24aebe2bd7748d6c3c92c9a1bba4eff15c088f0ff1a|SHA256=4bb35606654a3b99ad9103426cd7cb19c41faea528a4dc0af35f5ea5780da2d7
REC|DNS_NS_CONFIG_REF|IDX=385|BASENAME=networks.json|PATH_SHA256=ebde0a41185abf77edb71ff94c5722618a88d8f72850cb219c61c49fc96b4dd7|SHA256=1adb81c61d0db918e41309e08cbcf6da6b9a7c5e30208581eb11a014ac0daeb8
REC|DNS_NS_CONFIG_REF|IDX=386|BASENAME=dns.json|PATH_SHA256=391db8c6c1eed49b535928123347f27d1edde9946ed29f195903b54b6555cf63|SHA256=023d23b4179d50890abd1db576b90d21e5a399ee98f72cb042247053289e1735
REC|DNS_NS_CONFIG_REF|IDX=387|BASENAME=networks.json|PATH_SHA256=8e727f07a655f6356a7f82d8dc9cca4cee93000c9e4cefcf58875c501e85c883|SHA256=6dd0fa9653bf12baacc61ab0ea58dc89e091f8df047ff134b3ff72b94fee1005
REC|DNS_NS_CONFIG_REF|IDX=388|BASENAME=dns.json|PATH_SHA256=5afaf73757b9fbf4a8ab75447f13820c7e569c4dbfbc7cae2eda76e6603dd460|SHA256=2fb0601bf199668b761cc271ef4782ab476983ab17d59562b714bf50743b7346
REC|DNS_NS_CONFIG_REF|IDX=389|BASENAME=networks.json|PATH_SHA256=dc11c91fe37c178ed4e3309fabd3e0381bfcae97a8b9e5f6f6e79264bb998540|SHA256=471205a5f879e3eb180f302969d0fe0d3a9e5199f7cd4c73e1fec717121c47e0
REC|DNS_NS_CONFIG_REF|IDX=390|BASENAME=dns.json|PATH_SHA256=816c2d6dae4019faaa7c70e9bc42253851da00e7700d394d3579532a6dd29896|SHA256=ffd71bf155cbf8a22a63e5494e6b1e66c6061bbd1b401a4b841330e973eb9cab
REC|DNS_NS_CONFIG_REF|IDX=391|BASENAME=networks.json|PATH_SHA256=0a581691061122f2dc7fc53fc1e434b9181ef3cef8038c736060041beac1ba17|SHA256=574ba358fb7fff5fabba403fb8601c56a78a4b2379fb2292e9c099c959bda111
REC|DNS_NS_CONFIG_REF|IDX=392|BASENAME=dns.json|PATH_SHA256=3965bc4560a9e97cca27a00a8a6e84ebd90b66d84aec13f3c80b9dfb0b0fd3db|SHA256=78bebfb91f0401b582bf1ceaa7ee9b0b955d1cd1613b14112fb18916bdb572e7
REC|DNS_NS_CONFIG_REF|IDX=393|BASENAME=networks.json|PATH_SHA256=443fce244794639d67a445d6177c26d4c4946f9a2e536a5b113e311a88b2b668|SHA256=f11a7c69aa85457ad152dc103e3311caec08fbe35c760e78386964deea844311
REC|DNS_NS_CONFIG_REF|IDX=394|BASENAME=dns.json|PATH_SHA256=46a18336484682943929680619edea4f59f6b76d08e8f8255158367f9f10ac24|SHA256=fbd3a2d39646f7d68779a292822b24c59b24949c8a434cca78a7634f3ee04a7a
REC|DNS_NS_CONFIG_REF|IDX=395|BASENAME=networks.json|PATH_SHA256=a4696bdd3ef7de3c5f0d7537f81e9efd81094af53e6f5819e6b137da69758f77|SHA256=9b87e1bbf4d2d617e8f9afa4731dfa71ab02a1b175ecb50f7feeaf44b869e0d8
REC|DNS_NS_CONFIG_REF|IDX=396|BASENAME=dns.json|PATH_SHA256=e9fc832dcfce412a24e2803fbd31a78912e1b2b340e8745523e435aa2a83c1f8|SHA256=34b44b4f67239c09f2ca4b968c13863e991389edebba8364bc97c96b8ddac6ab
REC|DNS_NS_CONFIG_REF|IDX=397|BASENAME=networks.json|PATH_SHA256=293886d20552f2bcf8a9131d129eb352349c7d7dd325cc7510b060e1fe676c70|SHA256=93c4db20256e731f11c96a6ebd01c3a1f363b7f987ee79a6c6cb3255eb56f177
REC|DNS_NS_CONFIG_REF|IDX=398|BASENAME=dns.json|PATH_SHA256=887ab8e63f62189e1d8f842d5e11e27e4364f919b11ebeb9a85f303116f43536|SHA256=39a7d8139169a1c831a4ba0a496b5081949ba225e6f03aeb70c4b621692f4729
REC|DNS_NS_CONFIG_REF|IDX=399|BASENAME=networks.json|PATH_SHA256=bde7acf779bff92c3d9912c1f2e47820b145e91f931c13fc36a453815a534c43|SHA256=f1bc80765ec8924d27a098f07cd9313b3bac1f3ae9d3450ec904703c6dcced8b
REC|DNS_NS_CONFIG_REF|IDX=400|BASENAME=dns.json|PATH_SHA256=e758d97825653fa6448c5b4a3002222db24afc311ce36756229ae7895d48eebe|SHA256=49591876a7f20009d93cb5278061f33d0ac7bc2d5cd7aea74d4a38cff1257f1a
REC|DNS_NS_CONFIG_REF|IDX=401|BASENAME=networks.json|PATH_SHA256=6c7494ee2755942730d0bf1a58ba617a49d8915148001c47f920658c388a27d6|SHA256=16bca353df018d0602f464767dfb4cb159cfd11356321afcc2f6233358918cba
REC|DNS_NS_CONFIG_REF|IDX=402|BASENAME=dns.json|PATH_SHA256=7852749754378b4d6126da06fdee78160a4df20a0a8457a8b728832bbefaffea|SHA256=7102290afe946f9f04d145500f6a9f7670c45451cfc54f87ba5826798f018682
REC|DNS_NS_CONFIG_REF|IDX=403|BASENAME=networks.json|PATH_SHA256=a772399b937a05e00aa0a44cc650d1ccdf42297f7c426addf76db341015da6b3|SHA256=4f33f0a419248c96523f14d9c292bd5144c72ad620b4c8337323a98b38bf92d8
REC|DNS_NS_CONFIG_REF|IDX=404|BASENAME=dns.json|PATH_SHA256=17791490b73a05c56dbcc89fe39507e5f674c7a97efbeaa2531ec5336416d573|SHA256=15cb7f06feb40495175cd205518e34629f69dc2b955e19b3ab62f9684565f61a
REC|DNS_NS_CONFIG_REF|IDX=405|BASENAME=networks.json|PATH_SHA256=bd9db4d6129336eac0840d9377b37eb22ab5f3117e253ec247e1a49c1a332a5f|SHA256=48d7ec7b7fb1716f262e6339897f70c1e19d18a55e6c1d68d921da0bb790affd
REC|DNS_NS_CONFIG_REF|IDX=406|BASENAME=dns.json|PATH_SHA256=288c027bf478f5dbf031cb877f0b48c7a35db456bbd7b1c2b96c6a2f31c667c1|SHA256=9f0596c73849fef15972f59f3a4cf0314bbf88038b5cad880f3c91c1defef139
REC|DNS_NS_CONFIG_REF|IDX=407|BASENAME=networks.json|PATH_SHA256=3969cc96ff32615479748a251838530ade4811251d13a9bf4d4a2d377db7c367|SHA256=33d43c7c114aa57c8a5679463ef6ececa33eb6cae56bc76913a5a3e310ca6527
REC|DNS_NS_CONFIG_REF|IDX=408|BASENAME=dns.json|PATH_SHA256=dbb965ba0ef5fef48d847630b52010c291b31a00daa410af798953c1ca110139|SHA256=d070e10b4c78a66264267d9406f270d42dcb7a2e59b199411221b86e07586c49
REC|DNS_NS_CONFIG_REF|IDX=409|BASENAME=networks.json|PATH_SHA256=a7ae11010c5f022df9b3c1ad9517a7364d26ac54a8d78f0c66c4836620fcd16c|SHA256=4a2b71600fa0eea428e7dce8a411fc7411048a2d0f4ffe74a9aeca9c99b44da1
REC|DNS_NS_CONFIG_REF|IDX=410|BASENAME=dns.json|PATH_SHA256=d4597bc73f572b2abd879266c5a457edd2070a58659741ffb361f5e52fa3c12c|SHA256=ea26fa12a6f24a2623173514ed045c24c2f97e5498e27e5090483656d9987812
REC|DNS_NS_CONFIG_REF|IDX=411|BASENAME=networks.json|PATH_SHA256=7a7f46badbc8050e90d20fd51b380181685f5c59579402e8ac848113b2c29eb1|SHA256=552fb2568cb6a7c9f8d0d450ba43f4d53a6e9e85f5483cada28640a4790a0086
REC|DNS_NS_CONFIG_REF|IDX=412|BASENAME=dns.json|PATH_SHA256=527d1ea4dbebf79b8847872e5ecd84bd2e05f287e80491c4b3730248ef2405d7|SHA256=4c3e6d727cfa23cccc16659b964d0b62117717dd5a1d6f721e4f0516dc126d25
REC|DNS_NS_CONFIG_REF|IDX=413|BASENAME=networks.json|PATH_SHA256=34f781bc731a2502fefd6e6a9d8d585a07e812ce746f7e0be6fb055c834013f6|SHA256=a26adcd64108f9ad1e03f275e632d519ddd2f250f466fb82503f818b2e9f68a3
REC|DNS_NS_CONFIG_REF|IDX=414|BASENAME=dns.json|PATH_SHA256=d4e8566b9d2f2c510594b7759394eeb060723151444dc1e049a2ab84dc522286|SHA256=2e04e5025193a1f54afe3a141baf911a18d7abf6019a56ee45cc57ab7bcfe47e
REC|DNS_NS_CONFIG_REF|IDX=415|BASENAME=networks.json|PATH_SHA256=8dbb18d0c612e8ab98b9a2e20c15f35fc67c76a76f743537d63d45138dd537e0|SHA256=955703d4b559b324f3bf63ef432f3e144ddacfd2f7d5371fb113d1b5eb58d25f
REC|DNS_NS_CONFIG_REF|IDX=416|BASENAME=dns.json|PATH_SHA256=d29cfff2d530616d43e137db333a7cb3cecc238a8abd7a48179e7af3121a2d4a|SHA256=e4eafd9375ac84d3a79aafd2a600d25eeec9c014785418e75f0e919bd848d628
REC|DNS_NS_CONFIG_REF|IDX=417|BASENAME=networks.json|PATH_SHA256=46b984fd269f52c4fde605937a2a9cfcfe161332f1eb92a5a3ecefe641498187|SHA256=73473037caaff8f7cbe2c16f881bc6208fb97f0c3094dbe136765fa9890a7328
REC|DNS_NS_CONFIG_REF|IDX=418|BASENAME=dns.json|PATH_SHA256=c2ad95673a6049b855732af4f32daf3ae10f0da221e044ece0737a13927ff65e|SHA256=56d76539348997d8c0f3b820fcc997ee547a7de02614f00348808acc49d0f9f1
REC|DNS_NS_CONFIG_REF|IDX=419|BASENAME=networks.json|PATH_SHA256=728e703510e3a5ecb4c796dd281c577fb2c54aa0ca18fc1e8ad1915eaa4b9c76|SHA256=78831af6abe959b705467240e275534b1dc54e94e37ed1ed72ff1ab7f865fa99
REC|DNS_NS_CONFIG_REF|IDX=420|BASENAME=dns.json|PATH_SHA256=84d241a12aebaadbea6a592d1f47d4d6a153393573d2cdb502d6a3a1c7692e26|SHA256=50c223e5004869d87e63f760bba39f5b46f0c2aa51e1e3b35217f56fce2fc57a
REC|DNS_NS_CONFIG_REF|IDX=421|BASENAME=networks.json|PATH_SHA256=cad7d019ad96474e057ed423765ebaec0e360a706089a38fd02b79cfd97992d7|SHA256=660bae9512ad1540c974b170767487a06c4cfb4df195957fff57f0ff6a199640
REC|DNS_NS_CONFIG_REF|IDX=422|BASENAME=dns.json|PATH_SHA256=3231f5e2c1f695dd4cc6f0adea03a16a85d8e52d32c17bee27e9f6cc63878308|SHA256=9e5335244d152d4e8b8c460a90aca6c6feb5090a488e610364b6ce37765beb43
REC|DNS_NS_CONFIG_REF|IDX=423|BASENAME=networks.json|PATH_SHA256=d7677d9073fc8141d02399421ba871b893557ad332c45fcefe0052eabfd7ab03|SHA256=ac8e92ca2c3e24ea4596c26f6ac98de2ffb7049e1394c8b7d5f577abe4d5a9ed
REC|DNS_NS_CONFIG_REF|IDX=424|BASENAME=dns.json|PATH_SHA256=238813c31bc722c171fad4f2ba25f2249871da8f5679734e610ec79035fba989|SHA256=18a465ef8f8e4ed3b5847ce55b96d74d6f04faac413dafc7aceb82f8c4bfe6f4
REC|DNS_NS_CONFIG_REF|IDX=425|BASENAME=networks.json|PATH_SHA256=09d45dc089bd793e903c71d1ea85daa1415312769e2c5b88a233301e310609f0|SHA256=915e80f79f4dd3cf9aaefdafd04090b94062629494f6d00e257a678bcab1dc84
REC|DNS_NS_CONFIG_REF|IDX=426|BASENAME=dns.json|PATH_SHA256=0bf7c0319fae6c15b786dfe77170d77fe34f5b6d0fb52e5c8cb361b82e3de3a4|SHA256=de6a321a3c59d4e6ff20bb533e327b6103a31e629b0cbdfa176de6cd1b1b7047
REC|DNS_NS_CONFIG_REF|IDX=427|BASENAME=networks.json|PATH_SHA256=d106853f7ff1fbb1fc6cfc1c1b6aedb8e1dba8e78839a0cc11c00f117deff12c|SHA256=340f070dc600c6f5c0cc9f83753a41b60ab48fa066791266ed216d3609057206
REC|DNS_NS_CONFIG_REF|IDX=428|BASENAME=dns.json|PATH_SHA256=90549917380b8085fedbddcc04f631d91e7329fb8d3a9912e847c513828487de|SHA256=5590aafc030f2416cb802000e9c6f4a535aa091c044e637b8e4ca6e8119810c1
REC|DNS_NS_CONFIG_REF|IDX=429|BASENAME=networks.json|PATH_SHA256=7b93b0d2b788fe0fcf91b9c04ddfab367460b13b6cc4d92cbb8fce9d7232b107|SHA256=d5962546c738e35b90c8bbcc1dd3d0c5568aa79539d5953820e468ffa9f5b37a
REC|DNS_NS_CONFIG_REF|IDX=430|BASENAME=dns.json|PATH_SHA256=c6b2981cd4fb7d47d509d9aaeb4497b635fbeedff20ddbdac2bd6a296fdb7bc1|SHA256=0dc50bad396b5efe1f92e87083f0e46184593f9d12bae231282812158b71249f
REC|DNS_NS_CONFIG_REF|IDX=431|BASENAME=networks.json|PATH_SHA256=b899339e6a2ce31722b09e9fa0905df3e77b182d573d7a67568c79b33286d36a|SHA256=78677c63ecef3d76dc5bc923cee38f5f58973e05bef96500da9c5e4661f2e585
REC|DNS_NS_CONFIG_REF|IDX=432|BASENAME=dns.json|PATH_SHA256=dc3a6d8e6d1fd755530ece1abc7a2ac2670fcda253dc46d39205c5e5abf6a83c|SHA256=4174c3849f3a3239768d46b28461edd2f8771d53efa0d020c865d770a5242b48
REC|DNS_NS_CONFIG_REF|IDX=433|BASENAME=networks.json|PATH_SHA256=2156f845e76eba6dbb9e7ced3fb6735db99d2ceb52ddb288b6354b9581692fca|SHA256=d88df9b35eb499835458303c756b3b8fcb4e36fedf9866c7d7e1f5b15f62eb83
REC|DNS_NS_CONFIG_REF|IDX=434|BASENAME=dns.json|PATH_SHA256=a645883b85e239d492d2397197007b297f5beaa77cac13ff084b10bd86de554a|SHA256=fbfabab03d21203bcd107ed717311996945a4fa8dfdec461c3e9be4e79950919
REC|DNS_NS_CONFIG_REF|IDX=435|BASENAME=networks.json|PATH_SHA256=e06b5fb9753a794fd7e8f7c2f44da5877326f0cea73b7b821ce8ae1bad47ca2b|SHA256=0a577f3cdb32b54b38f95424164457cb6ef883c740c155a7e0af5f8f2ff49990
REC|DNS_NS_CONFIG_REF|IDX=436|BASENAME=dns.json|PATH_SHA256=67306e53431855135e25dbbbe9e4db933f0269b99077cfef125a6cf1ba653eb3|SHA256=5563a017ac59c63eb0f751d2119910fc9bb81f84a6f4909b114457b1955f3d10
REC|DNS_NS_CONFIG_REF|IDX=437|BASENAME=networks.json|PATH_SHA256=f090d284ae043c87af2ac5646a1efd912d2f1482205e837cabc32b7cb442a7a6|SHA256=a30170658f8cbe0fd2959a5cedd7c020d8b3a409de61fa12caf1b11cec18d21e
REC|DNS_NS_CONFIG_REF|IDX=438|BASENAME=dns.json|PATH_SHA256=a6e1ef84c1848b711bd84c2cabbcd51aa4a08f4f65e45d4ee52b05e83aa06b1f|SHA256=bbe871489aab8eec57b4f864d8e87b9946c4c3d320d3dafaa981153032b995fb
REC|DNS_NS_CONFIG_REF|IDX=439|BASENAME=networks.json|PATH_SHA256=3684d2cab4c11e99db333bb83b45a7131b947c8f099b1ead694699e4dbfb4ad9|SHA256=2d43ee49b6c18650af9235b7daebdcd944b011f62ad91f88655aeebc057cd51a
REC|DNS_NS_CONFIG_REF|IDX=440|BASENAME=dns.json|PATH_SHA256=ba808966bb172897f0d083c055ce9c7e2ba1e973af99997e6224ba6ddc0f51b2|SHA256=eed1d2df9e6c564e819a77b54cf60446bbd67a980616b40a9a313ee0689a8c8f
REC|DNS_NS_CONFIG_REF|IDX=441|BASENAME=networks.json|PATH_SHA256=7dad65a383bc8d336826531d67e7769ed9e273dbf2df658f765a356752027269|SHA256=27eafcaee693ce0c497eea30553e0c1dde106f59d6ee8f3a72989ac76ff0438e
REC|DNS_NS_CONFIG_REF|IDX=442|BASENAME=dns.json|PATH_SHA256=edec0a9855bae52886578174c9b12c6b58845f2e379c6ad055e203ae6091bf0b|SHA256=bec816df9214c464c55d8b014d53c477f9fda43fc4aa9cb213a9cc331ab4e898
REC|DNS_NS_CONFIG_REF|IDX=443|BASENAME=networks.json|PATH_SHA256=4b8f419e5fe4d85ab5c442bf2f27ac886af4a8583e77b23a6d4fea459b09a5c6|SHA256=352d71416291f383b8d354b8b56795d884a3935eba85e826fac4639829ce2ae9
REC|DNS_NS_CONFIG_REF|IDX=444|BASENAME=dns.json|PATH_SHA256=6a8bbac154c9a7e22768b40afa4067fa3b7630da2c8e97a41cfbd2e95523b6aa|SHA256=7324b649d5fd56e0df74e3071478238aac93501bd024b202134747a96a2bbc60
REC|DNS_NS_CONFIG_REF|IDX=445|BASENAME=networks.json|PATH_SHA256=1dd6f6335260ce4405c693cea9fa44b7f79999b3d0f036354659f7dec5ca463e|SHA256=590bb198855c6ad475581053fbef785d7585494543daafe7c2c79fb44cbc940c
REC|DNS_NS_CONFIG_REF|IDX=446|BASENAME=dns.json|PATH_SHA256=44dfe1284f7666891c6cc61ce402954e54ce4bab00266531bd344ef060c1499b|SHA256=dc781e01dfa3bd0da7984efae1295749d22bbbe9d3c73f342bd6a873e3bfbe46
REC|DNS_NS_CONFIG_REF|IDX=447|BASENAME=networks.json|PATH_SHA256=e451563e312bfae56b09028259faa9a6811815c6da066451309466cd79af9e68|SHA256=bb1187f91474091f3c642738df12d45d044d209fa146d2e2077cbd5432e39203
REC|DNS_NS_CONFIG_REF|IDX=448|BASENAME=dns.json|PATH_SHA256=621884c1a00f59536ba27a69a86e9a57b9b029dc97deb2256fe21299bf851de7|SHA256=12cc9304edb6504e4c454570b673cf6e37b93b5323acc1673f48bb8029c3aff0
REC|DNS_NS_CONFIG_REF|IDX=449|BASENAME=networks.json|PATH_SHA256=64a3b7995d2cb4194669a5780a224fea42d765acb8faaff2ab232020c782ccce|SHA256=de5e25d316f57e400d34f5f06cb65123d6fcdb07ac5c8d9b492bb26a3a63b2fa
REC|DNS_NS_CONFIG_REF|IDX=450|BASENAME=dns.json|PATH_SHA256=8131a9ec319c75bcbea135d50f38b577e9a7a45850f412603b05bcd8a39ad4cc|SHA256=ee5442ab8c11decaf8cb0faa545caeb4c0309668cab596503612dd8903fe50c9
REC|DNS_NS_CONFIG_REF|IDX=451|BASENAME=networks.json|PATH_SHA256=3ddb499a5c932720355f63647653e14bdf1f6ac868a6f516402e882e6fbda3f1|SHA256=901e1afcff0a933d73df90d621653f71d430675103711d2e1d1936c66f07bf25
REC|DNS_NS_CONFIG_REF|IDX=452|BASENAME=dns.json|PATH_SHA256=a029b1332805adca6fd8361b66a338ede763d3299831f87ce4000d05bb8c6685|SHA256=08ba8c3f9ea8fa6b8fbd967f560d4cd1749b6c6a62f2787d30a74ee9a7c7709e
REC|DNS_NS_CONFIG_REF|IDX=453|BASENAME=networks.json|PATH_SHA256=bfebdc602ed98f40d1a6ecaf034aab275fc9d3f1b7a28819470024860417f81b|SHA256=e92d6bd05a98d0432d04ed5bdec43ead11dc4a18e37fba47fd0e7c82f969f25f
REC|DNS_NS_CONFIG_REF|IDX=454|BASENAME=dns.json|PATH_SHA256=8cc4b9e5efdd6aeed08c2b0f5ced64581e1be5c3cc8c608eacf223e440ffb0d9|SHA256=e7fcbccd2fe81555437941968e76e93bc5334ff684ef2ff1bef3db44a487373a
REC|DNS_NS_CONFIG_REF|IDX=455|BASENAME=networks.json|PATH_SHA256=835ac6371a033769ca729c8e6252823e30fcb9c4b2c9df9cb3fcf65fe14e928f|SHA256=55d428c810976892a11a662e1dc0a93c4a80d4528c81d5f6a8ea46d82d1e314b
REC|DNS_NS_CONFIG_REF|IDX=456|BASENAME=dns.json|PATH_SHA256=439d470d8962bbda0d12f5e6a5e0839df9afb8bced2dae96860a543d2495ba6a|SHA256=1a369c71ccfa4ce978a51abb62f78afac7b05d38229f87382a56973506b8c976
REC|DNS_NS_CONFIG_REF|IDX=457|BASENAME=networks.json|PATH_SHA256=c7cc6d33ea785fa4fc24a5b756c399fd44caf7c44415a297d4f35fb95f01d419|SHA256=82c4ba1ab1ec328aa8d102d777ea1300f2b85c464c4252fd255f110f175a7c54
REC|DNS_NS_CONFIG_REF|IDX=458|BASENAME=dns.json|PATH_SHA256=4e1fbece165a10934fb8215d622d0afdbf3a24e5a70fa52b324048284a174427|SHA256=5fb4082914a10eb86ae6f786ea75771ad4ee018198f1bef774801438e7f88677
REC|DNS_NS_CONFIG_REF|IDX=459|BASENAME=networks.json|PATH_SHA256=b2b7c5bbe6aaeff95ffc4ad0ddc382a7b3533e1a5e19dfd9ae7795459d3ae42c|SHA256=633b09e78ee6b4880e5ac41d3f3e391775d67a2e8b8d13cd3db05e6ed2559c19
REC|DNS_NS_CONFIG_REF|IDX=460|BASENAME=dns.json|PATH_SHA256=1963e9f68df1add87e6cf3d39ef42e6b1727f3e551732df67a7cb33706bd858a|SHA256=b914a6c5d952623e7211438a8616a85eeb88c4d384372892da2ec60f4421c96a
REC|DNS_NS_CONFIG_REF|IDX=461|BASENAME=networks.json|PATH_SHA256=b59f00b63e9aa960682eaec283e0771e9fb7a43f30f700e0f797ec15e3ab8d7a|SHA256=183fdbedf1e9868b6e87010dd70eaf05b66812c0426488705970d38ffdf9a954
REC|DNS_NS_CONFIG_REF|IDX=462|BASENAME=dns.json|PATH_SHA256=d3c87293ea58cfaaa2cc3dae0d4b77d93dd5b7ede2a80092810c74789dce3bc5|SHA256=68a07ba607accfc343e444d19154e866cf4742883ec3b6af559e42f83079f01e
REC|DNS_NS_CONFIG_REF|IDX=463|BASENAME=networks.json|PATH_SHA256=c61e82c0bf40f6757ff6ee6107fd342204c39c29ad99d8a8e1cd7c5eb9fc8a36|SHA256=6be31c4a26b589107453c40c18268c09760d0d02846428128e87affc8b709ee5
REC|DNS_NS_CONFIG_REF|IDX=464|BASENAME=dns.json|PATH_SHA256=eb46c44b67fee3878416b0b4802e548eab8379e005294a4f20bd82c4e2d8e2c2|SHA256=f5ad18c360f2be236c1a4174fdeafc50e1905d6a5d0f77e25b611f7a7d323dcc
REC|DNS_NS_CONFIG_REF|IDX=465|BASENAME=networks.json|PATH_SHA256=638aaf58bac73e70d68f4e976f338b38a9164f5cdf047809f2a33d462134d5c1|SHA256=b35baa062ed82b0498e3f7e4fefa0c1694d8b21d98b7d665341b688aaca52736
REC|DNS_NS_CONFIG_REF|IDX=466|BASENAME=dns.json|PATH_SHA256=d0a217a6cc898613db5590e0de748ac8addca786cef38a785c0828d78663e9a0|SHA256=e190300b99e4643d0948ed503b159057c6fd31ad9f1006dafdc848894e9dd35c
REC|DNS_NS_CONFIG_REF|IDX=467|BASENAME=networks.json|PATH_SHA256=93a088be796ffd51d48dadfea255872869d7052024c2b7db97468d57f3a4a05b|SHA256=c60a2afb24e01b074f9d40627ea9dc9a8bf88e80ab2c027db955f4de199ccb97
REC|DNS_NS_CONFIG_REF|IDX=468|BASENAME=dns.json|PATH_SHA256=fa0fdf91883962881eeac3d6fc241f80a4a7b01a7fc50b83986d1676d113ea1f|SHA256=21856be86bf30ce7522e2da4cab44a57ecb516b9b20fcd45ef942b0fb1b85ef8
REC|DNS_NS_CONFIG_REF|IDX=469|BASENAME=networks.json|PATH_SHA256=b897193ea74e0744bade1540b26edda2c84ebbcd91abb11ca560af0cbf2309c7|SHA256=4c69564c7b03ec45c8d3a2e4efad9bc81106c40f87a92bd6c5debfba1ad13b9a
REC|DNS_NS_CONFIG_REF|IDX=470|BASENAME=dns.json|PATH_SHA256=ff1cf1e2f50730bba30d96f59b66a7b7b062ae963b6862d0daed6dab6f0fc867|SHA256=4444db1ec4daa863f56194db32970073f40de6876a1e518cfb4c62ec945abb14
REC|DNS_NS_CONFIG_REF|IDX=471|BASENAME=networks.json|PATH_SHA256=1a22ba4d4565cb3c4780f659da6ee77375b854e1c4ff91987a03c1a77d1b9526|SHA256=9f0bcaaa458ac8217c5641ea787f26eefd9da0208ac03ce3f0f8ff0738cb3f8b
REC|DNS_NS_CONFIG_REF|IDX=472|BASENAME=dns.json|PATH_SHA256=f5961f6fbd66760717cb9fd4c9cf670c364c1a887a8df9cb49c8e042bcb0dbcb|SHA256=0f5ba36669baf2a341bcd6df6e157ce9b1915c41a078c4ad5ec7de74d57541dc
REC|DNS_NS_CONFIG_REF|IDX=473|BASENAME=networks.json|PATH_SHA256=131200156ac5a389ab09f3367153e52288a2be3b782cbb1f66cb281a2d7108ff|SHA256=1bf9535331f04715f0cd97a5321745f118446da84f9b84a1b18fce9395526c71
REC|DNS_NS_CONFIG_REF|IDX=474|BASENAME=dns.json|PATH_SHA256=7f661ea3f8f7a03885e1ab3b2ce77445d91ab4b09aaece794dc50d394fe9db3b|SHA256=dec39efed2cc54d99edd5e02331edc3fbcdf7a40c6c41e5e102c8a32dde408c6
REC|DNS_NS_CONFIG_REF|IDX=475|BASENAME=networks.json|PATH_SHA256=5abb9e7fdcbdc7667404fefe61a568c6154f1df96d049b540730de1a00caf5fb|SHA256=f07de80f441e00f33bee85ba7f658e30019f4acbe0ed6d2f3bf6993d00269346
REC|DNS_NS_CONFIG_REF|IDX=476|BASENAME=dns.json|PATH_SHA256=d852b8e4197d49f54aaa62fadfea6e05882e6f82044834ce018382b0fbdb8f72|SHA256=9c39f4da83fe755f8e7cbaae611495d1e1aef4d66fcf9864fbb8b1315fc57871
REC|DNS_NS_CONFIG_REF|IDX=477|BASENAME=networks.json|PATH_SHA256=bb73f53f7f84a1b6e63b9019cf9528b81f10e1171cfa0070deb77539f902b15c|SHA256=5436971e6cad67f4fbf5a5aec541b38426ec3b6a424f9bc2c53afe7fc9037457
REC|DNS_NS_CONFIG_REF|IDX=478|BASENAME=dns.json|PATH_SHA256=7f4ed18cad27e872310494cdd442a6cb75b97bd979454b492331162289d7529d|SHA256=50865b2b59a924a2d2ac473a06233b003b7e5c0c47c4ff4939ef3202ac3b5883
REC|DNS_NS_CONFIG_REF|IDX=479|BASENAME=networks.json|PATH_SHA256=433bf0d4b602d0779ea4760ebc3dec965712e954504980076a8e59a1e1c78e8c|SHA256=401d91221948e5ef757b29b804dabcf68494a16418ed301a5234212cfe0e14b3
REC|DNS_NS_CONFIG_REF|IDX=480|BASENAME=dns.json|PATH_SHA256=81304b977daaa7085063723a6ca51c0e89cbe9162254aa7afae182f9bb281128|SHA256=84070c1136cd1727777f46881f2d6b7a631bf2433c94530df36d602adae5d340
REC|DNS_NS_CONFIG_REF|IDX=481|BASENAME=networks.json|PATH_SHA256=952251dbb64b5b0899fcccde7395a6b2a0d09f6a2360beb01f601a059233717a|SHA256=1f25db3aab23914643b3cde63652424d0d4769711bc47819b92030434566b127
REC|DNS_NS_CONFIG_REF|IDX=482|BASENAME=dns.json|PATH_SHA256=02fd09e970af23034c5116b0b2ca9f5c5f368e4769d488cff3820b78661a1a1b|SHA256=bb4e6ebb57bc3f6d42c173f97c16dfc27cff2b2e9620a58b1bdd732b0fe92f46
REC|DNS_NS_CONFIG_REF|IDX=483|BASENAME=networks.json|PATH_SHA256=674b56b7e21f40e6f89404f24633e017a8e3aebc7157951898d7b720e3e27060|SHA256=b7fb14b3f37113c00e2c8e4ed29b0810c8c24fd85a8359f3dc4273e07ff0898b
REC|DNS_NS_CONFIG_REF|IDX=484|BASENAME=dns.json|PATH_SHA256=14918d33b004c541205ecda54cfc9895118920b9bc1c06e2605df24a9e9b8507|SHA256=abebdf0f9bfd16002b2a9bab10d1db62f2a3965de5603d5a838b9bfe4e02dc33
REC|DNS_NS_CONFIG_REF|IDX=485|BASENAME=networks.json|PATH_SHA256=01bc715c3ef991b59296318037f2d4e8bf1c120ed18469b3a6f73a3b9778b2dd|SHA256=fd3894e02f7901ddeb14d593feafa59681023c6250ff33fa35b572f830d9e7a7
REC|DNS_NS_CONFIG_REF|IDX=486|BASENAME=dns.json|PATH_SHA256=c56e0b40f60d03755cb1e8da380a5971dcfbaa4a4bc52df70ede7d54f65b7296|SHA256=7ca6a9ec0221eb51f721747124693055eda0263c71a745131f790768e9f0b031
REC|DNS_NS_CONFIG_REF|IDX=487|BASENAME=networks.json|PATH_SHA256=3036b54ee2106c4afd7bbec946b6df5205d4b69c6bc0c97484723f080146f70a|SHA256=1cbb26ecb7bf76820f489547d8cce2e3d270efc3ccaa729985f5146c7a7bf8b0
REC|DNS_NS_CONFIG_REF|IDX=488|BASENAME=dns.json|PATH_SHA256=39e18529c48c3ef9153eec25d6706ea27248ea721156ac69e74e26a8d02857ea|SHA256=c6ddb16b3158ec3287d728c1b6c425dfe6c5ff73382377336b828b0adb38c3ef
REC|DNS_NS_CONFIG_REF|IDX=489|BASENAME=networks.json|PATH_SHA256=a9d5988cfffa9f2163677cfceb82425a25d179a93c38f35507a18ea24b031ff9|SHA256=0167adcb1377ca5ca00dc5935b386b1fff31ad420a31de49b963cb3857e4cd99
REC|DNS_NS_CONFIG_REF|IDX=490|BASENAME=dns.json|PATH_SHA256=5ac7d4db4c6ac4d9419187c171274bace4eb638cd34140d53df21ed7cb1dde8a|SHA256=47435c9af0311749ba249baab7554f19d50d5649db8a67aa6d784676d37772aa
REC|DNS_NS_CONFIG_REF|IDX=491|BASENAME=networks.json|PATH_SHA256=5cf3be1d461bebf78db7f159cf772e220d2901e0d4681bbe0fbd1c222fd06b85|SHA256=2a6e43791734455c3deeece85e879fcf63cc23b592f52cc28468e867940df7f9
REC|DNS_NS_CONFIG_REF|IDX=492|BASENAME=dns.json|PATH_SHA256=d1c79e7e29690e0d64650d90a16f1864cf6014fe5f3ca3b742c96a818d49bbca|SHA256=68ed196a9ab2ea0465018973392088db5b159ee6540a8ad9792721bcf44b7363
REC|DNS_NS_CONFIG_REF|IDX=493|BASENAME=networks.json|PATH_SHA256=adcb2e23040ddf268260ff499b5b45f4b36619541c8a119c2e83997f0098875f|SHA256=4beb9bc045e8a4700c90c5df97d0cef8be061c59d31d35cc4e84fc07c6bec39f
REC|DNS_NS_CONFIG_REF|IDX=494|BASENAME=dns.json|PATH_SHA256=1a1fc3d509f84f0ad2f58d5d6b4bfe13f205c265a451eb5b84ea0d150cbad514|SHA256=1e47286cd8f46eff1dac8e9c57aa993fea613b37a4d5d19d1c8557aadefaf697
REC|DNS_NS_CONFIG_REF|IDX=495|BASENAME=networks.json|PATH_SHA256=8cf193edd4ed4097798851c92fcf33926f48a6e3d3093c5bb86063de863f8369|SHA256=3864a900d59f760606a6596e2eaccf516f96a05d6752fd36c1ef0aa15722db6b
REC|DNS_NS_CONFIG_REF|IDX=496|BASENAME=dns.json|PATH_SHA256=39f8bad695142933b38fafaaac8bddef865ce1157ae788ad097101056ed8c81e|SHA256=4622ee361768cdb536bd4c5d0f7c30547d58ef462567f6e21ebc851c5e246b02
REC|DNS_NS_CONFIG_REF|IDX=497|BASENAME=networks.json|PATH_SHA256=f650a69c2ec8c560d085c91a742aa8e882e216031952692249f3a99d12b89033|SHA256=2bb91236e21f15f4f8038ebee4ef7d55828926aef5639291930ff81a2ff03eaa
REC|DNS_NS_CONFIG_REF|IDX=498|BASENAME=dns.json|PATH_SHA256=ddb2685632b8277f308e0ae5a94b90ede853ca4f465d753a4a84794b658a760e|SHA256=a1a339dcff5bfc811eb1d95e5cc8497988daa750a9b7ea7366d205e4ef5bd8e9
REC|DNS_NS_CONFIG_REF|IDX=499|BASENAME=networks.json|PATH_SHA256=24d0fd07848227f7c1894544f919a3e3f7cd6e9ce07a86b24886911c478b678c|SHA256=1eb44178beeeb658a48123f0beeca0d2bb0ce303fc5d5b5f7a177942c7db1bc0
REC|DNS_NS_CONFIG_REF|IDX=500|BASENAME=dns.json|PATH_SHA256=39ca014872eed36ea6be0aa80cf0fee32d74a238153b46e187c72c716c61e143|SHA256=42a02e8788d749e59216d22caa93f0f2caf8cc3f3c6856fbe0a3fd6d1c3c26bb
REC|DNS_NS_CONFIG_REF|IDX=501|BASENAME=networks.json|PATH_SHA256=afec260ff13a265b09127da6565c746d481f1a1c7d90caeaa63853fe24c96ee2|SHA256=cb64d368a8af84c55ea6e8bb3e28cf4dda5a486326c8f1f81149a9e8533955bd
REC|DNS_NS_CONFIG_REF|IDX=502|BASENAME=dns.json|PATH_SHA256=fa7b74a92f55b82c8d1c840c6d6752084156356ca1b920592518854bc3d8cbcc|SHA256=32c768438c8806b13c8c0439d36cea533a58bac1d82e95d9cb6887423c00d6b8
REC|DNS_NS_CONFIG_REF|IDX=503|BASENAME=networks.json|PATH_SHA256=cfc9691fa07db2719f2715806cf98224bf6b7b93c2c1dedd6952a54d886d1310|SHA256=9dbcbab96522c0ccdf2b1375a2997b0642aa20c36cfc0f089b76c982fa0cc100
REC|DNS_NS_CONFIG_REF|IDX=504|BASENAME=dns.json|PATH_SHA256=c87e1db48c74fa11c843116800e36744107dd2820e1f348332fbab1b7bf27b8b|SHA256=0585f47041ce64878420bd723d09256ee34066fbab431fca6a94af07089dba7c
REC|DNS_NS_CONFIG_REF|IDX=505|BASENAME=networks.json|PATH_SHA256=3314bcba556f5a735b312e2f7f56f7d04b4d1a84bba47e5121d5468ea0aaf29f|SHA256=48acc26a8b8860d6b513e7f439f4dcd6e043f018fc02c91769819083a7a58735
REC|DNS_NS_CONFIG_REF|IDX=506|BASENAME=dns.json|PATH_SHA256=c82e123c49b19e03d1290703f18683cddb6932dc0c5089346ccb24c702ac7939|SHA256=98761d02f31707dc3038aaa7ca6486f28ad68e4ec48fa0f9ad1dd48716c55dc2
REC|DNS_NS_CONFIG_REF|IDX=507|BASENAME=networks.json|PATH_SHA256=cba57649a82f52b537815972ee5857018ace9d10b53e518139e1e825f3128351|SHA256=b627912f05f5703e735db01b015e7c2790ceb17659c4c055b55a20e1d2c10b21
REC|DNS_NS_CONFIG_REF|IDX=508|BASENAME=dns.json|PATH_SHA256=933eefc7db5adf5f11151ec347b0c1a14261105cdea6be6ad2bc7cfcbc8869ff|SHA256=bf474024eb8cf5d349aca23dc1e172043756aacd7ea531974cbb7c5432c86894
REC|DNS_NS_CONFIG_REF|IDX=509|BASENAME=networks.json|PATH_SHA256=1c0006f31dca5d14ba9709eef11e564983611e5f831069ddbba152cf250c1146|SHA256=1b1bb717e696e432b29264f1872194fcb6c76106e1607eefa5bc1b72d64703dc
REC|DNS_NS_CONFIG_REF|IDX=510|BASENAME=dns.json|PATH_SHA256=dd6d0944a8dac30473cf455b4b5893c3d89cded2002a0e016e18b83d537aa04a|SHA256=0fc418c7ce12832a3cca77c0d5453a6f31c7daaf5fb8891159ffc08041a6e3b2
REC|DNS_NS_CONFIG_REF|IDX=511|BASENAME=networks.json|PATH_SHA256=a9fbb87ff637222dc559bce76ea15a43e74cc0e1b903637bd038413c621833f5|SHA256=4546f05f2ca8464be1fa417878e5d7a25b4260ddb4eac9723efb1fe3784f9ce3
REC|DNS_NS_CONFIG_REF|IDX=512|BASENAME=dns.json|PATH_SHA256=294c9e6df749067e25f5b8a47b0060220cded85b34fa8e838d85cb98fce6d346|SHA256=bcd4e3adcef8dd30cd0b58d84d97350aabea8f5dd8da54e4ec17ee9e80c1d74f
REC|DNS_NS_CONFIG_REF|IDX=513|BASENAME=networks.json|PATH_SHA256=89dfe4cc3d357ca245de18f8e6f69a961c13f119b8306296238babb2ff1d84c8|SHA256=3cec0c50919fdbe23b429762bfa039f7c1bc8003508451cb492f29a8c02ff64e
REC|DNS_NS_CONFIG_REF|IDX=514|BASENAME=dns.json|PATH_SHA256=57e8b44f3ae6cabe8005c5d1571877499ca9e706251d9bd37349bc28ec0e3fb7|SHA256=bef928d342012a90a48512d43f5b3c958cf1658b0068cbc70a5ae04ff7d7d04d
REC|DNS_NS_CONFIG_REF|IDX=515|BASENAME=networks.json|PATH_SHA256=537a45e1ab3f1c3eacad540345f802c497cb6cc6915c5fe045695d510663fb00|SHA256=86863e9ef43b934eac4c83fe302865d0cbffdd3844dfed933ef0941f285381f4
REC|DNS_NS_CONFIG_REF|IDX=516|BASENAME=dns.json|PATH_SHA256=fcf95e309e98df62b1e25e779c842eb15af10aac53b89626cba5dff7d342f42d|SHA256=b18e74b7beb941b708718125ab0330d696479e50ed2370af3afe0543ec7cf05d
REC|DNS_NS_CONFIG_REF|IDX=517|BASENAME=networks.json|PATH_SHA256=57a9047df27d2c7adbe80f10afca7e66aef571b3227d499e33f51427d0124c1a|SHA256=e4487dffbe78884ba02e5414832de8dbf0c63e5eb6201d0407a14918e969e020
REC|DNS_NS_CONFIG_REF|IDX=518|BASENAME=dns.json|PATH_SHA256=85da88bd16d546a9dc081dbc31a9a61aca6116fb98fab2c457cca798f07974b3|SHA256=23542c10ab6dfbd9bd33a7f58e86ca6f5a30ec0f734ed137c3b3a8a8a996e582
REC|DNS_NS_CONFIG_REF|IDX=519|BASENAME=networks.json|PATH_SHA256=d67a255bc9e2f1aa0b755d0e993e2bff799f40037b8e32df0d839162418a4386|SHA256=816a72e37b7e3d0670bf0378b703cd426cad2d2514458f6649da905c64c7692a
REC|DNS_NS_CONFIG_REF|IDX=520|BASENAME=dns.json|PATH_SHA256=cc96cb52769ccbc28ecb5fecc012538594e32f16953aabcdfdc480dc4266df12|SHA256=1bd4cec44055c0939b2150531080a031aa71b4d20b9daea3c8b4cfaf51f6e48c
REC|DNS_NS_CONFIG_REF|IDX=521|BASENAME=networks.json|PATH_SHA256=4955e75b59027f60a9e6c431b9ac6d0c5b1b8498dd0247c50e341906a71e7b58|SHA256=8ada58a5dc6e698925052c839d5ac1e5e85ba3d0621b1085006f07e29f80180a
REC|DNS_NS_CONFIG_REF|IDX=522|BASENAME=dns.json|PATH_SHA256=a26dcac3f0a812e6f9a6902cfec68a65dd64a423f5fbcd5d211ed34a10eec213|SHA256=4725122bedfe61043725ae254d23f5e0b0e3a04c29bb2787f56054ddfc8ccdec
REC|DNS_NS_CONFIG_REF|IDX=523|BASENAME=networks.json|PATH_SHA256=5abe4a81f5d983c0f2e6f0cfc59839345100825c35a51ff2158a4834732125c8|SHA256=aa47de2fd8f22b55911b3042a92f433fd36f118a204725dcbd9e18e981267ca2
REC|DNS_NS_CONFIG_REF|IDX=524|BASENAME=dns.json|PATH_SHA256=62bdb02dfa11b86e2420badd58f066121721ee911db9eb514f3015348a1ed363|SHA256=2397befc4c9a6f13072f90ce1013dc97fa32bde259ae78c3a7597855dbec7df3
REC|DNS_NS_CONFIG_REF|IDX=525|BASENAME=networks.json|PATH_SHA256=037b9a2378634783ac60bb9a608142c5b9bd6bd23c8061c8c94061f4b8266a91|SHA256=bf40a1ed155c88fea5cd813008b5e2341607cb116088cddca7a4fce5a03809d0
REC|DNS_NS_CONFIG_REF|IDX=526|BASENAME=dns.json|PATH_SHA256=697de3e1342e10aaaeda4ff7f6da633b9cace86d73f0166971ca996b4acae149|SHA256=862a2d3803545f3b6a5cd79f1965f1c41803ffa3788f7ee94e9d40b9971eb25e
REC|DNS_NS_CONFIG_REF|IDX=527|BASENAME=networks.json|PATH_SHA256=71bfc021fce7a212a7be903316db0f338d802ef60066b9c8820e3a9d35ce98ef|SHA256=a1a618d86bc73e3bf4489a0ad4f21a576b88a95845954bd10316449f9864f62d
REC|DNS_NS_CONFIG_REF|IDX=528|BASENAME=dns.json|PATH_SHA256=60bcad3b8b7af5183ad185cc8444e22afab3964270f7645fb2e57f8135662510|SHA256=45508aacf36e1201ca82db2c086ec8cfb9accf43bffc1737c80ef01cf9a9968f
REC|DNS_NS_CONFIG_REF|IDX=529|BASENAME=networks.json|PATH_SHA256=dedaa68bd51f947dbac34a66e8b942bce9d8efb81fc0aec143f5b9c1f084373f|SHA256=ec811edf1e180b586e3a4e3d328482ec9bdfdd334f8afd3785a2c42e4f064748
REC|DNS_NS_CONFIG_REF|IDX=530|BASENAME=dns.json|PATH_SHA256=a1f8f68fcf0f3df3c5b4abbc24746c6f087db2da7d45f9f50df41f86da78dbd9|SHA256=c188c612c18661da08b9cec0136cf3bb8980dd261e2423d99cdd8f75dd892be6
REC|DNS_NS_CONFIG_REF|IDX=531|BASENAME=networks.json|PATH_SHA256=76946ec7739b9dffdf5382ff3001a9fbd3d327619cf8083e5cb3ea8124bac131|SHA256=e7e818459314943000bdeb6acdd5a59d383589aab3e23f15cec8528a4e9f833a
REC|DNS_NS_CONFIG_REF|IDX=532|BASENAME=dns.json|PATH_SHA256=d45db4caf991093461eb758b80e39e6bbad9fbeb44f9b180d58519cf64bbeed5|SHA256=f73af2bcf0795f04bc87796591e1339024cf8a429d1e6fce64798f2aed977a17
REC|DNS_NS_CONFIG_REF|IDX=533|BASENAME=networks.json|PATH_SHA256=1be3c1e7060745ee091809de06accff3504700aec19a7708b06e5145f5d6460b|SHA256=8cf92e67ab1a2e3f6d32da3cf8bb54d515b7e95c9eed0febf7921e297aa27ebd
REC|DNS_NS_CONFIG_REF|IDX=534|BASENAME=dns.json|PATH_SHA256=d1ec587363f881537bbb64c6bb8b4fbdd56c552b171899d26c30e297b20aba9d|SHA256=0c3b160dce08c065a95af9a2e2cf30064c8e2f27cd522a73c009d540d2a0d465
REC|DNS_NS_CONFIG_REF|IDX=535|BASENAME=networks.json|PATH_SHA256=f7e0eedd292e1168d908972f29f5242e79ab13a921c1f460342219c83bb0f758|SHA256=2b0631f05d68046862920df3d0fde5b2a5f4ad3c8d98a731c53e17b3686e263c
REC|DNS_NS_CONFIG_REF|IDX=536|BASENAME=dns.json|PATH_SHA256=a5a2d0cf5dc00de56f6d946b62e777bf72a51663d7adf14b1df9591543a24a9b|SHA256=aeaeff3d12d9c6fdae08b6f69d722291750103516a69de908962bf05878bf366
REC|DNS_NS_CONFIG_REF|IDX=537|BASENAME=networks.json|PATH_SHA256=bdd4a08490e415481a33df4eebde8fdb1bb1c2bb8781820d838258315bc641ba|SHA256=6b561d55645d13b270ce973861702411ac87412e5050d0bad001e58df5557997
REC|DNS_NS_CONFIG_REF|IDX=538|BASENAME=dns.json|PATH_SHA256=6711a855f4c1bb5fdd1b27026f7b2976df4b420471d7f55026566bffe8d7af7c|SHA256=409c47a0cc0a732a68b9a1bd8a3859d5a647439238783cd2cb91c5572df12e1f
REC|DNS_NS_CONFIG_REF|IDX=539|BASENAME=networks.json|PATH_SHA256=d0986543b56d9e700bd9bf20f1aaaebee8db01b74c5c6b9a99f320770cf46bca|SHA256=bf56ba80e6c52917ad8677532786a82e4a2653065731772cecdd891183a5c5e8
REC|DNS_NS_CONFIG_REF|IDX=540|BASENAME=dns.json|PATH_SHA256=893c8a12ffb18acbcb4d0f7f66723d1bc4fe0d13575e2a36eecb966eb7c9b95c|SHA256=da860e8716f9e04e38b0caa7ee34773f59439ac8ebc6921926ca34f1df12376d
REC|DNS_NS_CONFIG_REF|IDX=541|BASENAME=networks.json|PATH_SHA256=b81123e322d929276b70a76a7b363bd6a4e7b1b9c58f1f5a9f2ea93fd57decbe|SHA256=c8be92d4412fb5bf30d58f379e4e224ab94cf76916714d0aeb1abb0b5edbd0f7
REC|DNS_NS_CONFIG_REF|IDX=542|BASENAME=dns.json|PATH_SHA256=f81c6d10b1f78a2e069bc01c73a14aed0d2786ee1dc2feefb30748b792022c2b|SHA256=ad258385a2b4e2bcfffd0d9b2be2acd2751fc73990aa867610571343f4394d94
REC|DNS_NS_CONFIG_REF|IDX=543|BASENAME=networks.json|PATH_SHA256=c6e03a40d0b191759e3163a8f83ecbebd1c9df70973594d0752bebd4fc0f69b3|SHA256=ba1b05b216e9cc0562839d8478bbd2a6bd288e770f202e7c5e33351a48f95746
REC|DNS_NS_CONFIG_REF|IDX=544|BASENAME=dns.json|PATH_SHA256=dacdac2d19287bfa1dfc2237f6922df688c6472accb8cb77cad3587af1fdd5c3|SHA256=84475dce29e99593ded1f39c10fae8091cf7fcdf09ad0b07b40a20e0ee8eee52
REC|DNS_NS_CONFIG_REF|IDX=545|BASENAME=networks.json|PATH_SHA256=2c3d6b2cdd7787f7e7fe4e11b1d645900a70216f79128760eca5307ad6388d47|SHA256=29fd4f923466da38616589370e191aab988a0dc51b63e2ebd840a91d69daf19e
REC|DNS_NS_CONFIG_REF|IDX=546|BASENAME=dns.json|PATH_SHA256=151b595b3dfd5f420c83d61840d44b5ca246fc515b569577bfde028fb6519051|SHA256=78a4fe98ea0601b6c2f6a924bcb18f00132dc7bd2cdfa2c15c18b3be5f1090a2
REC|DNS_NS_CONFIG_REF|IDX=547|BASENAME=networks.json|PATH_SHA256=1f47f4193a3fbf391a721fbdf4c321437d1285669b6cc028a18a8ee12686e01d|SHA256=5d13d440d04e91f0165e42d77129a965b055ee4b21a6a78788567716c1fea4c7
REC|DNS_NS_CONFIG_REF|IDX=548|BASENAME=dns.json|PATH_SHA256=e7da1596bf41bd4d1e6cadcc37f8b34f7fb8bfb04a20031d76103503e35e874e|SHA256=6f1677631176342bc76c0afc34fa6aa0699e1b7fcd89938c7c8bde11c0ba16b2
REC|DNS_NS_CONFIG_REF|IDX=549|BASENAME=networks.json|PATH_SHA256=ad8a2e5c16afef44220543beb1cbe9c05a6c567e0f23ac1c14daf475adba4a3c|SHA256=3604cbbf9f11457ec36a726d40e2284be2443ee7067ca311c2bbd0b1bf83af22
REC|DNS_NS_CONFIG_REF|IDX=550|BASENAME=dns.json|PATH_SHA256=7df34a11ee7eb7a3d4fa24d1f4691b25cc21a9654a8fbba0f29a3c628bd9f0a4|SHA256=50ca9fc0d7def64727e22195c4dc3cff9997c60226c5b68f9ade6968f0d66814
REC|DNS_NS_CONFIG_REF|IDX=551|BASENAME=networks.json|PATH_SHA256=1295420b06e26dadf238c3056d9c575c776bf0f307b71ac84d0c6d614bba60ce|SHA256=6fee0bec73782ea80ae153a38ebb1d099f94d1de3cb026dcfa9fb3f4a9196906
REC|DNS_NS_CONFIG_REF|IDX=552|BASENAME=dns.json|PATH_SHA256=aca7d68fad56eaa7ee5e886fdcdbeb8b49d5099fade8360656ce3766796121af|SHA256=0cc1b71a65d20a0fee2ac7a5208419ca9f7484169c7dc1107ebc33716eb13793
REC|DNS_NS_CONFIG_REF|IDX=553|BASENAME=networks.json|PATH_SHA256=9dc0298f6c5d7bcea42e7b6f634f811845b57043e333cbfca9f706afc3ecabf4|SHA256=e909791f8ce845fe161608e94982b721968853623a926ac589afac440bbcffaa
REC|DNS_NS_CONFIG_REF|IDX=554|BASENAME=dns.json|PATH_SHA256=57c77c4834900189d2768b2407e2ab08db297d8734c995965c6216964dd1941b|SHA256=0f6683b5cc4552f58c7374912e530c2cd2e5734a16e40f97bc05b51ebafc33e2
REC|DNS_NS_CONFIG_REF|IDX=555|BASENAME=networks.json|PATH_SHA256=2d41e53ad923f51f1cf5c5b85d02836488be88ef8d61e33e8a8d63fcdabec584|SHA256=8d0886e50b950f51265411106a97299717b76dc9a86a22a195c0e08cc4e60538
REC|DNS_NS_CONFIG_REF|IDX=556|BASENAME=dns.json|PATH_SHA256=e1e74ae6653947a23b2c9c77cc9aa709b0fca3cc47c2a55b2cf9f7d91d51c7e0|SHA256=796b958e33a24c08185d06919333abb3757b25cc498a156cc49daa34b1ddf521
REC|DNS_NS_CONFIG_REF|IDX=557|BASENAME=networks.json|PATH_SHA256=d86f28d049eada16f6102a3f28bdbf6b592e02758362e0fc91f68db2aeafd851|SHA256=05602547276e1f3949d629bed40735ae9d192b0bc71a4d0ce480254fa4aff06a
REC|DNS_NS_CONFIG_REF|IDX=558|BASENAME=dns.json|PATH_SHA256=58b26cf525cbdc50bddedaa7f188865ac5cb0f8e91b55cfa98298514f4aeab49|SHA256=7806e6ba0cb2216b00371fd0d8af88f8648b967f08c8c89ff5a4e45fe6fc211a
REC|DNS_NS_CONFIG_REF|IDX=559|BASENAME=networks.json|PATH_SHA256=96041c08f5811460b3989fbb9b41aa09163c9cf027047a5acad552464c0aa158|SHA256=3dff374b1501a09d7936147477c7dba6ea50d4d1dff36b0d4702b0ed9a8f0219
REC|DNS_NS_CONFIG_REF|IDX=560|BASENAME=dns.json|PATH_SHA256=87c574f751d2a25dbbfe737f45c10830ae5df0a2e00e3ceb5adf596f681eb777|SHA256=b1ca2d48492a016ffab452a9cca65b293ccb847eb7b028e64a566d2e0c0074d5
REC|DNS_NS_CONFIG_REF|IDX=561|BASENAME=networks.json|PATH_SHA256=cecefca84ad4bcdf96f4d82e377bf47d18369ad3434abeebdf2768036b9071e3|SHA256=002c40991de62ba611bbc2df76b32b2793781af5b195bd4b038f7822e9e57213
REC|DNS_NS_CONFIG_REF|IDX=562|BASENAME=dns.json|PATH_SHA256=56c8414e75015dc1df4eb73e38ca52a54c7f035856aad1373719cb9939b7a6e6|SHA256=7c44bf0cf1229694c86ad86007fb90805e9f2c0d85ffbd917f993808a7affe06
REC|DNS_NS_CONFIG_REF|IDX=563|BASENAME=networks.json|PATH_SHA256=a6b067533a45f343ab0e4c2760aa519a192c3bd720fac47d69bc46d4053858b7|SHA256=07e21c44665579546e630728b3587884d372adb22e168f5007ed742c3aa5c1e8
REC|DNS_NS_CONFIG_REF|IDX=564|BASENAME=dns.json|PATH_SHA256=ce5b2dd989fdf6cf1edab77f1c988fa511e9e3e6a5ab26b5f39e3f3001f299d1|SHA256=02f7e45d09a66adec823c97ba203c0b2324ddd7b023d44540b6de6bc0e546e27
REC|DNS_NS_CONFIG_REF|IDX=565|BASENAME=networks.json|PATH_SHA256=6ada661759b0529e3e16bd925e1327d6d2a2c1c5b3449ce6a65753f5b42cccf1|SHA256=1b76e96effc1bfaf4d7a9ba9d8d988b6a150c205980f1cb9499e04e0812f3183
REC|DNS_NS_CONFIG_REF|IDX=566|BASENAME=dns.json|PATH_SHA256=6eadd5c5d2e7cd40e57b618c1e3fbea0e6e5974463ad403529b54600c35f6cc5|SHA256=894e98d5d6f1d73f39bf68189835c97a6c06a3b49afa274e9138d0f9085a9eed
REC|DNS_NS_CONFIG_REF|IDX=567|BASENAME=networks.json|PATH_SHA256=2d36a7ed0c09ea0de9ab9dc3e39cdd632aaf0c42636a8b74cf5c7d1618a00d2d|SHA256=9711b619e1bec43faeda8dc3740cd5b335739a62074a92abe7bd3be4e1991ad8
REC|DNS_NS_CONFIG_REF|IDX=568|BASENAME=dns.json|PATH_SHA256=deddd197e4a64b7f300bb81be3a216bb0212437d78348160c021d3e2376a3be3|SHA256=e4ee973276a3c1f935798aea5241f380f8e9e4c76cd59ed30f16cbced37b69f6
REC|DNS_NS_CONFIG_REF|IDX=569|BASENAME=networks.json|PATH_SHA256=6494297e578d1d01f9d4e2802a0f4576f8bd0c200cc8a9a9e49536592eb18485|SHA256=ef081b41c47371fe2dfdadd95e04926c8299e2262f2c925b1d5b529cf1cb85a3
REC|DNS_NS_CONFIG_REF|IDX=570|BASENAME=dns.json|PATH_SHA256=940d9513b23e46704a315413799f7ace1c170ec2bb8eacd9ebf1d0d682b20a68|SHA256=a5050afb7b365e09f136222c69cb1cc3a76d13f5b7c1a1d68db0f7dc2225012e
REC|DNS_NS_CONFIG_REF|IDX=571|BASENAME=networks.json|PATH_SHA256=223417ab1317b5a5fa5381e3b4c9c075bc97bf4c6b5c724c26c39c1b31b74671|SHA256=2da8256af29e6f65ce433012b0a482cffc30c6602d1d406af9cec68033857448
REC|DNS_NS_CONFIG_REF|IDX=572|BASENAME=dns.json|PATH_SHA256=1e7b0ce2430298827e46341c29e883ca4ae965e34013df00f65963c00e5001a5|SHA256=d0dbdf72df8cfcd603d4bc6db59a7ec145deb44b6f8e46ae0bfb88f61aabdbf6
REC|DNS_NS_CONFIG_REF|IDX=573|BASENAME=networks.json|PATH_SHA256=37f388aae22c531916404f4cc75ffb2c808df94ca622a10b9c6a72afb0b61520|SHA256=bd59e8377c00fa54e0591c606765d63247291e37cc10d1b76def529da1bc0f16
REC|DNS_NS_CONFIG_REF|IDX=574|BASENAME=dns.json|PATH_SHA256=eb844fe2a9f464f60b0023b8fa6a3f69bb0e23d7c2f09a695747ccac1cc865ef|SHA256=ab31fdf2e21632fe895c6b1ffaae5d575dad3d17b67469f96d0ebce3c30ba86b
REC|DNS_NS_CONFIG_REF|IDX=575|BASENAME=networks.json|PATH_SHA256=665d66a981e6ee302beac23722550f679837bbc8bcb399e722ffd602170631f1|SHA256=3c55c0d1c28762a6d6b6873af842a38139db00de0f14e74b97c35bc80679aa53
REC|DNS_NS_CONFIG_REF|IDX=576|BASENAME=dns.json|PATH_SHA256=db548fa1f1c3b931a2a1575a4ee2e1a814ad3f5f1ae2df2213908fcbaa39743e|SHA256=54426a4d9d564ca1640ed357cd4005b6362a10b9f5636f758a10fda8d998102e
REC|DNS_NS_CONFIG_REF|IDX=577|BASENAME=networks.json|PATH_SHA256=2fcafa8fe9e9775a38aed31f8807fe196387319682eab743c6649fa0ed16fe28|SHA256=68bbc7806b0c4b4e478b73b8b327ef061295de5780ff1ef9277281a3df9ad44a
REC|DNS_NS_CONFIG_REF|IDX=578|BASENAME=dns.json|PATH_SHA256=9c01f7cc46f2ee5313c3faaef8bff2c3f96371ab73fc27f08df9b6ea375372de|SHA256=2b7aee80e0192572a5ee22626f0aa77577008c4f9f8048e5f3f336472adfaf0b
REC|DNS_NS_CONFIG_REF|IDX=579|BASENAME=networks.json|PATH_SHA256=276cb3bb63ca0411e54c8aee644945427c8fe25a3103d845b004d5d1b7c9e1e9|SHA256=8856da8f00b597be2f0dc2363d9d7072d0cec9ed0844e5e005b599241af65261
REC|DNS_NS_CONFIG_REF|IDX=580|BASENAME=dns.json|PATH_SHA256=2b219a861f1a813a2d5440edc81bb19c7063cf9620620014af4c999a46ec80a7|SHA256=1ed4d844f6c5b640e95d86dd2baada818acd9bd1f1ee24ee10ea323e15fc07d0
REC|DNS_NS_CONFIG_REF|IDX=581|BASENAME=networks.json|PATH_SHA256=8c879b0f6b1ce93d2a9d320c0d01c115aed26fa039af2db6c7844e6f2862c043|SHA256=ebe4c6199ab171f52ac8e502a917e0649b5dc685f568ae3c2fd136bf2a08fe1a
REC|DNS_NS_CONFIG_REF|IDX=582|BASENAME=dns.json|PATH_SHA256=f0c45bd0354d91b02b99cefa0083fa8842b88e2dd4949a0bc1836c8dc319f31c|SHA256=e1f98607a341e2255d3b4030f9fc91640a2006b8f1559382e1440d406049e586
REC|DNS_NS_CONFIG_REF|IDX=583|BASENAME=networks.json|PATH_SHA256=72df4ee82c7ade1933fa354fcf8bbfbf680c03a237e8d5563dc197a24b76b0d6|SHA256=e0620777bde861c697812c4017ecb4df38ecf07392f19fd4ae5178d6c3aea0b1
REC|DNS_NS_CONFIG_REF|IDX=584|BASENAME=dns.json|PATH_SHA256=0f37d410b0056d445afa162738f36618bcf99abbccc3368d4e4762f1978f94b4|SHA256=0f6f5da60018ee0d313664306da9a5c543ba6f94c822337714f288ce901644de
REC|DNS_NS_CONFIG_REF|IDX=585|BASENAME=networks.json|PATH_SHA256=048be84ff3ae20fb380b05d816ca1956577c60e084d66f18c5ff1a8b933c4137|SHA256=791afa63911fc3897ccf80072ce1c76c40edd869bcc717253044c8843950e8af
REC|DNS_NS_CONFIG_REF|IDX=586|BASENAME=dns.json|PATH_SHA256=b5ec50ca0fd441676732269712da1af774bee7460fa8f86d08629e9b49dbd2d4|SHA256=268e7e32e0d666ec5e0e694afe5e21808a211516e0d5b1bda17d88cf54b65a8d
REC|DNS_NS_CONFIG_REF|IDX=587|BASENAME=networks.json|PATH_SHA256=45ae02fa2e4f1bbfe573e4b69fcf5af06c05379616fa39c46e428f558cabc3ec|SHA256=e955dc4310d085f16708f0a7970968bcbe9dbe1085be5c002bddb98b7beb92f7
REC|DNS_NS_CONFIG_REF|IDX=588|BASENAME=dns.json|PATH_SHA256=5ac2446e763b06aa004dd5c4b00428837c6ced9f4b58de6490168aa7db117031|SHA256=c48c5883a880ff952de2ac96b28fa1d7ab6f2ce2dc82a184a3143ef61759c228
REC|DNS_NS_CONFIG_REF|IDX=589|BASENAME=networks.json|PATH_SHA256=a1a9a086de01bf6139804340240077ea02d5d88e621502b326f99e4c1ad283c0|SHA256=a238ad4883baa9cc11ccceff16b68547085aba0945c70ae5ded716ecccc5d965
REC|DNS_NS_CONFIG_REF|IDX=590|BASENAME=dns.json|PATH_SHA256=0c2a1bae7c278c3f6fa2e09a7b4cd79e7f9326f10e71e919c7aee61eaa17a721|SHA256=4d14a5dccf08e893a81b2a48f1ef6fb474e92c28429ba8a775a6e1f8f4e7c23b
REC|DNS_NS_CONFIG_REF|IDX=591|BASENAME=networks.json|PATH_SHA256=b1453617a55e1805372a1598ee8e8e066ebd3c8fc5fac96c7d93d2a6cb43b38e|SHA256=652ac89eb68a84f8605bfd46d57ad2a25b89131668040fdda40d249f23dab65d
REC|DNS_NS_CONFIG_REF|IDX=592|BASENAME=dns.json|PATH_SHA256=402f3bf1acabe27993b422f1167b23a64766fcecff1c0f6501288b1f6f00fdac|SHA256=7366601b34c7d2a6960d1308cc23ea17c110089d5977af93ada480fca37b9444
REC|DNS_NS_CONFIG_REF|IDX=593|BASENAME=networks.json|PATH_SHA256=76cba9bc98118b64cf684071922d0b77255e712c1c6f6b95765687f9a2a1c8b3|SHA256=783a14167558b0bdcc8819c4f812c446302fdbef15f23b544a7af44276d2634a
REC|DNS_NS_CONFIG_REF|IDX=594|BASENAME=dns.json|PATH_SHA256=953c5efdcaf3e01f47ba128906bc38ce4bacd6744ab203557c05562d119aff6b|SHA256=c3a5e8641601414b91d8923f64f01bf9dd596eb4b1d98d545c7df5cc88bc57c3
REC|DNS_NS_CONFIG_REF|IDX=595|BASENAME=networks.json|PATH_SHA256=886e2681a4de00b8275b3bed2c05f8439fa4fe52694017721dda42cd82cbb83a|SHA256=b430a07c7f48516432888036d99f41939f194da49f207a2fb249ed54e26987c2
REC|DNS_NS_CONFIG_REF|IDX=596|BASENAME=dns.json|PATH_SHA256=b4dd2b5e26a67f5fcda04fb2d5322de90e4fcb5777411488bbbbacdba688da05|SHA256=91eb2265b39e64d0dc38908c88de1a8ec4e61d862ade7d3ac8bed6896745e727
REC|DNS_NS_CONFIG_REF|IDX=597|BASENAME=networks.json|PATH_SHA256=698b15c96f8db21148abf7b68ddf8a2dcccaf9793bf09b733b93d986123fa22e|SHA256=cf4492b6b54dd28793e54235cb0f64be4db2f0d6cedc760d6e235b72225d98f4
REC|DNS_NS_CONFIG_REF|IDX=598|BASENAME=dns.json|PATH_SHA256=119c1a0eddc04479fda317b686f3363b00e7ab4a19a36d0c5e8aa8db4ce79819|SHA256=8cb3a3fa0ce3cd6b4f5cbf27a022cea4ce61d40ab0a9bf50cdbf307bcf7da00d
REC|DNS_NS_CONFIG_REF|IDX=599|BASENAME=networks.json|PATH_SHA256=aba4d7943a20c8bdbac1ba63832b3717aef05c518e99dd31a6e3de71ec28f384|SHA256=e62c3fddf121672a5aa0781e8b2940151e0468c6e7f0b7ea96dd826456dab6f4
REC|DNS_NS_CONFIG_REF|IDX=600|BASENAME=dns.json|PATH_SHA256=1d38a56862788c8e60a5c140bb1d801304fbcfe494d03c73658084c48e78c0ee|SHA256=8191990fa9ce68eae6d20b647b49c61253ab914685c954bce9c5cb5c686471d6
REC|DNS_NS_CONFIG_REF|IDX=601|BASENAME=networks.json|PATH_SHA256=a84aa874b045d72029581431228924f0d47fe742d01a02fdc8f3d7c70cb1fa11|SHA256=c1fabcde579bf035cea550c843de4f78e253da66909a9b6c9496d6379f809068
REC|DNS_NS_CONFIG_REF|IDX=602|BASENAME=dns.json|PATH_SHA256=56a5ea0c9a83684252ab602172e757f81cb48c2648a908141d94a59ed0890ca6|SHA256=45794895ab8a85c26dd06e030ee1a0bf30ad47520b94e4c3f68a14c6cfca2726
REC|DNS_NS_CONFIG_REF|IDX=603|BASENAME=networks.json|PATH_SHA256=5e54b9243c7d89a2bca24c1fe7898dc1825c6de3dabf5fa1910dbf784693ab7f|SHA256=903d3449dbe66525c6731c3832fe5c32210426c23894dd6afe6e4a1d882ec2b7
REC|DNS_NS_CONFIG_REF|IDX=604|BASENAME=dns.json|PATH_SHA256=c386e2c3d7957e7b41f76d53044598d572c77e1e9b0b9290c7e0c1e1f139bc7a|SHA256=f11ddfaa322cc21d1e14c5ce4c197cf82c82c7d1009a5cba02965b4062037c18
REC|DNS_NS_CONFIG_REF|IDX=605|BASENAME=networks.json|PATH_SHA256=7e4edbf4e694ea6634d205fd66b9fe4a0e057604ddf94e13f35921a6e3d3897e|SHA256=8324b7e145adeb98da820e16ad6192aca9692e6ef49275176ddb3d4e8a33835a
REC|DNS_NS_CONFIG_REF|IDX=606|BASENAME=dns.json|PATH_SHA256=c815fd05d545f6a6661b7ed35941be59330711366955ecbd6da7f82e0b7cbfae|SHA256=38e8f459b16522ad28d5388babe5def7ccc0f09782799068c2c3d17c5f08c306
REC|DNS_NS_CONFIG_REF|IDX=607|BASENAME=networks.json|PATH_SHA256=b616a846a1f0a502c5ba2770732ae29360fe7c8a6d4822c3b723bef516d198f0|SHA256=217b089a573df0a42ba31ccba9b857a7139be10c8460efc9857e3551d12fba9e
REC|DNS_NS_CONFIG_REF|IDX=608|BASENAME=dns.json|PATH_SHA256=b98c6f06bce634cf577ac4f22abb9916fe5aa85cdaba12cb068a92e198c23cfe|SHA256=f7578d7c5bccb5e79140928ac7371bf508ebb0c8875913107d5cf00c5c912f46
REC|DNS_NS_CONFIG_REF|IDX=609|BASENAME=networks.json|PATH_SHA256=9c1797c7ff6d55c58383e2c26c70284a33d6c7d659d31686de9424ca6608a04b|SHA256=fcd60accd088977c5890a62fb5b791a58432b68ed2d79dfffea7b509c91ad34f
REC|DNS_NS_CONFIG_REF|IDX=610|BASENAME=dns.json|PATH_SHA256=a3c22e0f68787d0c7e1a1e49534938ded663eca39ba939ab3562731d492cb9db|SHA256=74bfa09250413d541a52c17a11ab3835fb0219e7ed5d93f5c729599045e6aa02
REC|DNS_NS_CONFIG_REF|IDX=611|BASENAME=networks.json|PATH_SHA256=d0fc0f8bdc2281f702506cba5e9ab10204b79fc140fae0feca355e587018455d|SHA256=8dd157c5e6ba769530b1364b0d2102eab3c3fc43c9055c1d2bee81436c3c15ed
REC|DNS_NS_CONFIG_REF|IDX=612|BASENAME=dns.json|PATH_SHA256=09ef68db66a230c9229e1d519646ba129c045b867ec04d50e7760bf2e2085f09|SHA256=8525bbe1e1e821270c377202021e83643d7c689bcf1190f1233251608a21a429
REC|DNS_NS_CONFIG_REF|IDX=613|BASENAME=networks.json|PATH_SHA256=1a8c86c738d4621a36766b4e7cd193a5ce67f9c2489306eebbbff6ba984787ee|SHA256=0e65456e33e94f9a1a35358e69b27f0d4364cf4277a0bc06d605387f983ccffc
REC|DNS_NS_CONFIG_REF|IDX=614|BASENAME=dns.json|PATH_SHA256=a09653bed5e3c4d4e0e2461685d0cad34ab57754bfe3a12034eeac63758ad9ac|SHA256=4af6c29ee20ede54065dfc014acd955d1035994b51e4dcbba5b7c196a6007ca8
REC|DNS_NS_CONFIG_REF|IDX=615|BASENAME=networks.json|PATH_SHA256=f727f190ffdb96e23397ff78341e4a9d50e75a89a37c1d38c46596f2ba3bb007|SHA256=ee7cfe3397782d07b0463b50896c8b188da89ca2c1f4f81269b4462df27781bd
REC|DNS_NS_CONFIG_REF|IDX=616|BASENAME=dns.json|PATH_SHA256=da2fa54bebc6a74d0e6d0f957826d490fcce50303904258f25d8e3ab824c52e6|SHA256=7792c92c1f0a0d941ff2c717c25cdc6b79aff567076e57bd20a37f4c63fadacd
REC|DNS_NS_CONFIG_REF|IDX=617|BASENAME=networks.json|PATH_SHA256=0a673f75038252eaa7ec78b386a8c872373bbd1e96ce80a02227d3adba990190|SHA256=e52dcd1ef03d839949389dadda4ff8c99cc1402adab8b78d58603f45deb36b91
REC|DNS_NS_CONFIG_REF|IDX=618|BASENAME=dns.json|PATH_SHA256=b59111094b6ad74c43d942ae778956808d79980245a28c88d211aa778a3bb9c8|SHA256=7c7ef375556650e5f6b3353cc8814ad17682ac30fcb5d257851356d1ac4b2c81
REC|DNS_NS_CONFIG_REF|IDX=619|BASENAME=networks.json|PATH_SHA256=e7486cf045e74634a3ceadf8aa908ac8a0cd4b9b740153510c5e5dba0602c90d|SHA256=7aeb8042a8371c08b6a2284b2b8a5a2f7ce9d8fc2b82fdc7bb399df122c9aa49
REC|DNS_NS_CONFIG_REF|IDX=620|BASENAME=dns.json|PATH_SHA256=3a4ff5f7b6d7e64ac2378f33f7eb2c976b55c5be1c6b6628b685a4d2b8c686c2|SHA256=2038dac7dad04781027d20ebf4ebc4d9470e09ce9ad91d99cda3a01180226a96
REC|DNS_NS_CONFIG_REF|IDX=621|BASENAME=networks.json|PATH_SHA256=0ae330c8bea75fb50a31eab9da11ad99f9e54c16ae4890e4c1647b97d8aad9b2|SHA256=8678133d4cd1fb9fab01ffcba9843068a34ced8c96ee269a81ec522e463007c5
REC|DNS_NS_CONFIG_REF|IDX=622|BASENAME=dns.json|PATH_SHA256=c5d9287e07817687a42913189ac0442983e39617873b1fbf150241b2a4c620a3|SHA256=8ac2e30a46b4b0de00f427b86e99ee7895de5a5efad9e85b4d6e56aee9885165
REC|DNS_NS_CONFIG_REF|IDX=623|BASENAME=networks.json|PATH_SHA256=88c738fbd5f586bf1252755d2f9e33fe19b3f5315082db869567b21ff149d014|SHA256=262d067d1727fd4ca2a5c62baa64bff2707458dd180b51a1d2bd4d8f57c46865
REC|DNS_NS_CONFIG_REF|IDX=624|BASENAME=dns.json|PATH_SHA256=e76f6874d812143b4b42a68950d9b53afa3d3195027b6dce0e77b53e15c9b604|SHA256=7f522c17fb9d467fc044f74257bef8db7bdbf9f9bc3b29e67bffa7baa955be04
REC|DNS_NS_CONFIG_REF|IDX=625|BASENAME=networks.json|PATH_SHA256=3daa65e0a5906be6f03c8fd34b76378a7a48e3c54eb4344cf6ee6cce57fbbd9c|SHA256=4a5a80e57c241d5fdca49d26ebf3b7b0b9026e6fe304fe82f336b54e2e703251
REC|DNS_NS_CONFIG_REF|IDX=626|BASENAME=dns.json|PATH_SHA256=4cd7ea64d5c3e31c2ca50c4e0a8a8615667dea4c24ddf22a7b534876987ddc84|SHA256=a954699d827007aa8ec4c42195d19046ce55fb4d4244de9f96ee1b93472d859e
REC|DNS_NS_CONFIG_REF|IDX=627|BASENAME=networks.json|PATH_SHA256=96f92412413ddc226f5b26a80a1e80c04eef978ce879a4391d436573c3179bf4|SHA256=199c30f1931d3a012e0a71f06f59f74cd36d13ada8219aecb604b3256b962ab9
REC|DNS_NS_CONFIG_REF|IDX=628|BASENAME=dns.json|PATH_SHA256=1a2e7f7e1a4446800e71d905741a8ce479fabb3f218768c2a3fbca221a68b8e4|SHA256=edeb15dd41c0b15ca386f9bdad0a39b67bc6bcae1f9b7eef2babbb8eb1a7e253
REC|DNS_NS_CONFIG_REF|IDX=629|BASENAME=networks.json|PATH_SHA256=591382ce8d8d3554447b1fa4f7c5d95f621ec87611bc3889f8f4e41712275871|SHA256=8ed8bf4a0cbd4773a1137cc74097f59e31950818b9d5aba91aca12d12febbdbb
REC|DNS_NS_CONFIG_REF|IDX=630|BASENAME=dns.json|PATH_SHA256=b42ab425b6ffee35d9a65f80cb5850088255e15dc13104f4edd05fa3116251c5|SHA256=d0ab8e63452349022c3c14321d44aa7974997743b15ef198deee25dd4ff54a98
REC|DNS_NS_CONFIG_REF|IDX=631|BASENAME=networks.json|PATH_SHA256=a33dbcafda9ef9d4eeb0e4f33ae2c535dee41270b4bf2ddfd826656927a0d134|SHA256=f977c5eeefd1f1d41bb08f874655f48f7ffc2e7d9bddc4852234367d4d7f650d
REC|DNS_NS_CONFIG_REF|IDX=632|BASENAME=dns.json|PATH_SHA256=566dd752335ea27421af5210db156ebf75c2853b838c07231035b452c1594d48|SHA256=233c4d819ffcec1c381342c3fd721f91480f56e5b89f833cf7a5c201832fddb9
REC|DNS_NS_CONFIG_REF|IDX=633|BASENAME=networks.json|PATH_SHA256=07fb6c81790b5d1b3bf4e54d84ecb22aef07e1c0220fea8339ce013a87570416|SHA256=2df3fcd328eb3465e3be24e9772199d164e9685ce9ccc5aa664181565776852c
REC|DNS_NS_CONFIG_REF|IDX=634|BASENAME=dns.json|PATH_SHA256=f21241313d5ec83fe9cab5485cea18517a18b3277eb98ee26db554910a6d0ebb|SHA256=856cc28e93dcdf87634f0227425697eae53f28d9399aaf3f57abe68e77fe968c
REC|DNS_NS_CONFIG_REF|IDX=635|BASENAME=networks.json|PATH_SHA256=39364c5230d0b12848f154f310286126f1977e87130a8fd2d1c756db3ee71a28|SHA256=fe533a9708ba32739aa5215614bb016754371247342916a8fe743a84fe949a41
REC|DNS_NS_CONFIG_REF|IDX=636|BASENAME=dns.json|PATH_SHA256=2b3c0ddbfd0c142b8dcaa1172c9324bb37bfb0b242357bc953349c215e2a7461|SHA256=a9087d7921c939c6bdbc8e0ec9016d158bfa5bad717f839b909dbf01fe18544d
REC|DNS_NS_CONFIG_REF|IDX=637|BASENAME=networks.json|PATH_SHA256=3689dfbd5952a312f04240ef7bbef0392e7c18b3b8ac1f19db27d514614e02f7|SHA256=c781f435875affc80705ce0d2cc6136a3454d4d8104e54160e24f9d388419b75
REC|DNS_NS_CONFIG_REF|IDX=638|BASENAME=dns.json|PATH_SHA256=ebdcfe89463a5a4127d4c92fa4064b8908ef73544ff7f19e9575321748953ced|SHA256=c2ceee8c1063f5905285ee13f3b19b08dcbdb1ad41109c69249c5607739cf0cb
REC|DNS_NS_CONFIG_REF|IDX=639|BASENAME=networks.json|PATH_SHA256=420c11c7684d73cf49265033671b8df85bb6960b8b723de9fa4104e38afe97d9|SHA256=b5b2ecece4860ede66ac686631f9e96a7d6550cc6a44d44fa0dd0d1bbb4bd2df
REC|DNS_NS_CONFIG_REF|IDX=640|BASENAME=dns.json|PATH_SHA256=6d348a07ef7f907947e15c4fc7f42f13d02e2e965513aa4d3398a76ae86c6933|SHA256=9017f904ab9990a93dd4bc143bb1f2fb95ae23cea3a1cd6b5102bccacf3c88bc
REC|DNS_NS_CONFIG_REF|IDX=641|BASENAME=networks.json|PATH_SHA256=c04c2592dd8b6b4a2e0b2a9bcd98a558c51961baa408ed4afebe3cb45c523154|SHA256=f44958ff0e9e84532777953e600bc6c163019145218247f5af1c15d8cec29b30
REC|DNS_NS_CONFIG_REF|IDX=642|BASENAME=dns.json|PATH_SHA256=2c16042c95a63bc75c32ef370f46b5a220f9777cf137c20fa84361a93bb38822|SHA256=e3a895c4266efc6b042ab7eab2080ee2cd05daf8cd929c10ec0c80b6e60186d0
REC|DNS_NS_CONFIG_REF|IDX=643|BASENAME=networks.json|PATH_SHA256=6bbf56071f8411a065bfe25ba491f69f8c88227f7e62da22cc1f5574d3def0ad|SHA256=b83094fa048843e0e1465f230565f7d415ff694633c666250d33ce4df80f81ae
REC|DNS_NS_CONFIG_REF|IDX=644|BASENAME=dns.json|PATH_SHA256=6bdde4e98fdd23c820d239f133ef70b3d611c1eceef7fad232dddc92ee8038a1|SHA256=13b6b07034bfb2d7fac6f8a2931b7c1746795992134b32c4f2ea3dc2fbd4a69b
REC|DNS_NS_CONFIG_REF|IDX=645|BASENAME=networks.json|PATH_SHA256=1e9c717aaab3d5be9df24a088867578259c46cf7963b374e16279893e37a1fcc|SHA256=a7cfce869c5421bc8b252907b5136d436dcc7ee68265d73a3a1c520aaf5d42c7
REC|DNS_NS_CONFIG_REF|IDX=646|BASENAME=dns.json|PATH_SHA256=bd4ce0bab5304bc326d968c72d150d63c933021a2aa30d23ff5a1cacc3cd813c|SHA256=48f6702ebe774c40403cc6c2a7f7f15db7c4b0d408bfb1dcc07fa6ef02972052
REC|DNS_NS_CONFIG_REF|IDX=647|BASENAME=networks.json|PATH_SHA256=4516655cd95ef18a3d7d05e35ba5b86a723d090778137ec2cf186f655989aab1|SHA256=2e887f58214994f6ec1886440ad324935bcd324611bc86a10bd3549935b1e3a7
REC|DNS_NS_CONFIG_REF|IDX=648|BASENAME=dns.json|PATH_SHA256=f28220b79d843c611a421cade34c0eded517a2bce99bb8f6116e273b8e5b3ee8|SHA256=e2d4d8aaa1537a7bb93eac142ba14ea0aedb1fba27618c26945188199f9ba1b9
REC|DNS_NS_CONFIG_REF|IDX=649|BASENAME=networks.json|PATH_SHA256=9de6e4da04e877095b3d5ab5cbc0cab5eb32eb5c4db04fc57aedc95ee5ec128d|SHA256=18414da1c00a9aae8ea8d1f1bfa5bdd5a40d0fa8e5993cdedf5957ce68800b26
REC|DNS_NS_CONFIG_REF|IDX=650|BASENAME=dns.json|PATH_SHA256=42e0d2aca9810ce1e67422b2db9347e0265064d647d202d15abc018d3c700abe|SHA256=dab9c222629369819270dc9dc6c87cdc299628b5be65be530f050b40558bdd23
REC|DNS_NS_CONFIG_REF|IDX=651|BASENAME=networks.json|PATH_SHA256=49a83d84d8e238f8d6194539e8881c48f88a5ebb118f782f40083be3fdb57e67|SHA256=811daa89453a3d0df19c723708f02ccae76e7bf48b3f6582571bcf3fc0b7975c
REC|DNS_NS_CONFIG_REF|IDX=652|BASENAME=dns.json|PATH_SHA256=d96f4b042dedb657987fa66e8d76e52f726eb60dbba6cc61a16f3569d29efab4|SHA256=a3fc40864e4cc7d6788495f1fb58758fa3a0b5371d5adabbf880b6ad51e258c6
REC|DNS_NS_CONFIG_REF|IDX=653|BASENAME=networks.json|PATH_SHA256=7da7916b9399f641c8c5547a028985639da56b1472cb0fd419c89cfd9375dc77|SHA256=488b7ae4f2294194dd2f3157883e9866ca50675c5e7877ab7a003c24f88c1cff
REC|DNS_NS_CONFIG_REF|IDX=654|BASENAME=dns.json|PATH_SHA256=9000c68b70018a3f173e4118314a890010b72ca12ee6e8d71480f3adecca0a58|SHA256=b219d645cc27c0f6837bc2a7efb9b1183fd80a5efad433978f93fef9218d3a29
REC|DNS_NS_CONFIG_REF|IDX=655|BASENAME=networks.json|PATH_SHA256=1638f1c81b2cb162a691ebfc446868ae44af753ace1deee5378ed78ca06da299|SHA256=6c1f1b414b9ba645c1f0006dd22f91d9bb5d2ee453720732d890b8a2330ec5d5
REC|DNS_NS_CONFIG_REF|IDX=656|BASENAME=dns.json|PATH_SHA256=bf916609ed42a23163fe5511a1baf36cffdba340d8767af76e13b370944279c8|SHA256=940248fa6ad1efca3ec1d1d09c1c8b2e3a1f148b81abbce3b8ba9937919db415
REC|DNS_NS_CONFIG_REF|IDX=657|BASENAME=networks.json|PATH_SHA256=864fb5e732dffe475240f6718ffe4f22d662c1a0ebb47bff0942f646f475ce03|SHA256=7dc385ec7041864373178fa42e5fe270795739f8352a01d23b6be18d238ec5d5
REC|DNS_NS_CONFIG_REF|IDX=658|BASENAME=dns.json|PATH_SHA256=a3c9bd16a1fdd292f8013bf01482b4eb0242647c71b354fb9f53dd5bcbb26bbc|SHA256=418225f2c366f6190d8f502b9cc726e93aaa63cfe26cba56a97f2a3d078b1246
REC|DNS_NS_CONFIG_REF|IDX=659|BASENAME=networks.json|PATH_SHA256=727f096c1ce00ce756d378cc6f13355a7a4af060f5c92591ef7d3fce57b73263|SHA256=9537115ba6013dd1f1caf685878add45d2be0c3d76389b43aeb6e4dffb1f15a1
REC|DNS_NS_CONFIG_REF|IDX=660|BASENAME=dns.json|PATH_SHA256=0dc8d6faf146599b6c273e4a96457bf5d1379f95551533fc8125cf5f15ef8ec3|SHA256=23e2b939ced9a548bf73f6a9d71315a00ff9077ad4a54aa60f314e824eaaa241
REC|DNS_NS_CONFIG_REF|IDX=661|BASENAME=networks.json|PATH_SHA256=2259519bd5f4a40d0f184f21843bcf1b8f33d3880a1aace95e4e5ef24c006d80|SHA256=8e88107ce7f35a6e737a37377803d7d4adb06e79da3cd66d67f674b391f3937a
REC|DNS_NS_CONFIG_REF|IDX=662|BASENAME=dns.json|PATH_SHA256=9814b1641f9ab7bda7b482a470ca4ddb122e58f55b32f4aa1a16e88ff521d706|SHA256=df6ef54079e62a0cee64d4a21558648d21fa6ce527e332c14d62208828113bc2
REC|DNS_NS_CONFIG_REF|IDX=663|BASENAME=networks.json|PATH_SHA256=77e0519e4c2aafc5d2d6ad455122ee98c02c6f7c1adfc3f7702ecaad7d429ddf|SHA256=e30f9f726d5add74da7815111e761c6671917babe1e06cbcd09f99dd3fd560b4
REC|DNS_NS_CONFIG_REF|IDX=664|BASENAME=dns.json|PATH_SHA256=060031a04438c59df720a04d0968a725a50285c3159ff51b8c5621e6879af3ba|SHA256=c957d90fac6c90984cf42b65214028d89269a28991be47ace6a15ac7a22dad75
REC|DNS_NS_CONFIG_REF|IDX=665|BASENAME=networks.json|PATH_SHA256=40b8f00f50c87eb3616669ff68dec1430a82bfab2e6e07819dacca42ee9f0e39|SHA256=2574141ec18761a4d730170ec3962e0e8bee7d233cc3d1fb5a2bf07bb6811533
REC|DNS_NS_CONFIG_REF|IDX=666|BASENAME=dns.json|PATH_SHA256=c2560de635b27b8b8b588a55c3a3615b8a4de4cf81728b17d699c7105691a81c|SHA256=037beac404f1f354be835e7d4a6b544a682c2dac41dc2df738a573e56e3aca5a
REC|DNS_NS_CONFIG_REF|IDX=667|BASENAME=networks.json|PATH_SHA256=f2a65cd4e3db50d807239553e58248ab611d60a71aac101049bbb1f9bc17cbd0|SHA256=c63de49f8bde94ba1190dcc9a62c29aa9dc303d7b9a8384f4261ef2ff0eac7ab
REC|DNS_NS_CONFIG_REF|IDX=668|BASENAME=dns.json|PATH_SHA256=9dec0835647181d00531179e37d5f3298ff9a41168c109a75e1db76007f99ab0|SHA256=59d6d2ecd8fe6b416de3d6f6088037426a85f67b9a98c44f05e1048a6f54c1b3
REC|DNS_NS_CONFIG_REF|IDX=669|BASENAME=networks.json|PATH_SHA256=139a340b32c3d9d4e5c3a7b5bc02309c8a38a3a3ff8119da9cb7e822d706970b|SHA256=4ab0f2002913771169fc9a142cf2dad26c17f7ad0d61554191bdaf0d1f64f14d
REC|DNS_NS_CONFIG_REF|IDX=670|BASENAME=dns.json|PATH_SHA256=96c33559b5f496499db77f211ca964041362015c36a4a523a01ef37544952c71|SHA256=a50dcc6cdec03d7589b509be6e35374662ae5c25f47b7a645035aee17f91cbe2
REC|DNS_NS_CONFIG_REF|IDX=671|BASENAME=networks.json|PATH_SHA256=4d969379f4932601867bd39ebdd5e60a13868014d44305818c8562f0be10e58d|SHA256=4fb8afec9ac85a36ad321ec33e6793a0f8276c20f9440691a9987507494f3471
REC|DNS_NS_CONFIG_REF|IDX=672|BASENAME=dns.json|PATH_SHA256=fcbb9d9ae2de69e6e40d76c1a3668adc563dadddacda714d1737bf36ad4b40e2|SHA256=408460c1c3f410c99bde9b8ee0669bcf7f0ba4034c9cbff57f6d5410f9b31d5f
REC|DNS_NS_CONFIG_REF|IDX=673|BASENAME=networks.json|PATH_SHA256=0352f471d2bf6b258ad150907c8ef9a1746c4391684cdf4bf1d4003c15ee0a47|SHA256=75e7e713b74c58df3915e4a5bf9752c4d711734c4509acbcf3014dc5020c48f3
REC|DNS_NS_CONFIG_REF|IDX=674|BASENAME=dns.json|PATH_SHA256=426f93729e8c0d273b4bb0798bb7b1d23279f93b33dd201e2056deccd9049067|SHA256=8d4056ad1124ac5c1adb2eb6a88324294f80aa5079e664a0cad9ceac33e46ddb
REC|DNS_NS_CONFIG_REF|IDX=675|BASENAME=networks.json|PATH_SHA256=1a5f31bed1b3d4ac7b1d52e4d3ad1f9c43b23e0165627a559d90e8473f7544c2|SHA256=c9bd31297258546e33c5be3077a12df704ffcffb16603827c8242b72f0f90861
REC|DNS_NS_CONFIG_REF|IDX=676|BASENAME=dns.json|PATH_SHA256=fbbd4ca310d1aa812c8db18c8e0a3b64d25fac8df7bdc4e7c61f5c8fb81906b8|SHA256=2ade14475341cb2264b8d4343ef117769aa28841da5f238a1871007b35226f76
REC|DNS_NS_CONFIG_REF|IDX=677|BASENAME=networks.json|PATH_SHA256=aeffd75b766d18d5087153cc4754596825c00388dd6ef8ab60bd0e58d2d8ff0c|SHA256=c94fa0113e4c5b4caa0c0a601a2b3bc1b3e60248ffae468bcbd228760939c41d
REC|DNS_NS_CONFIG_REF|IDX=678|BASENAME=dns.json|PATH_SHA256=6a5d14026622e080a18001dde7ecfb07f6204777ff2141f7aa3a97ed4069833f|SHA256=340670e3f5108d17cec09979bd6d8d321ba8c97d50c8d4fbec6a9ce24133d343
REC|DNS_NS_CONFIG_REF|IDX=679|BASENAME=networks.json|PATH_SHA256=2f6d1c92b6134a533486f418076fefdfdc4cae82fb8a54abbec5937c2f1a69a5|SHA256=8c7208047171f3044b1d5b644c37821d97d9a0fe7e546ed899f3e0deafab1eca
REC|DNS_NS_CONFIG_REF|IDX=680|BASENAME=dns.json|PATH_SHA256=1f5bb03925467bc4705be26212f56ccacc90b2c98f56f8d697fd38bea1b823ba|SHA256=4a04a1ef3a5ea1573246b1e4412ebd5a8ccd8f6996e3a4bc3d44e9f57f9031b9
REC|DNS_NS_CONFIG_REF|IDX=681|BASENAME=networks.json|PATH_SHA256=9a96c9f07db4602dfaf32e28e104664a0e83ce961e3b9cf896fc4e821a40b04f|SHA256=0dac9e055c3b998b73d5742184bd9c94ff848baca9e568e06589b6073d88dd51
REC|DNS_NS_CONFIG_REF|IDX=682|BASENAME=dns.json|PATH_SHA256=93e4c61424e564b01aefd40011b933056c4ef9102841d913d6ffaf62fa26e3c4|SHA256=5176175da1cb3021c2ab2f6905ebf708e2e506f71dce0283cf15266c278b9033
REC|DNS_NS_CONFIG_REF|IDX=683|BASENAME=networks.json|PATH_SHA256=94769195dcbfaa9e8923386830351a9fa176087e56e8af2a880e37104da6e70f|SHA256=1e7fe7fb88c2d82cc716d8295c40d0e72ce2602d9e029e2943fd9964ad174fc6
REC|DNS_NS_CONFIG_REF|IDX=684|BASENAME=dns.json|PATH_SHA256=45670bfebfc591f64de287931167758324cc5ed5b329c24d14c5a5b48b30a180|SHA256=1363c8f6db7b14e8b747ac6720091ca8d8a6f8e41ce088e7079f27b53d1308c2
REC|DNS_NS_CONFIG_REF|IDX=685|BASENAME=networks.json|PATH_SHA256=1895ed279675b14c113670610366218f8934ff2bb9f708c21bc9410a4957b9f6|SHA256=2b24588538a111e8f1999e2d7c393a36e298b6ad54ba506ed8b753fbff1d683a
REC|DNS_NS_CONFIG_REF|IDX=686|BASENAME=dns.json|PATH_SHA256=dd822eb3d4811fa96fe437672cecf1ce260d327af60ea3e5b2f62633a715be5a|SHA256=6a80e052c11751b305e75443b2d187812f821c5e325470babdf5dbb2e8378635
REC|DNS_NS_CONFIG_REF|IDX=687|BASENAME=networks.json|PATH_SHA256=70d006db45545d3cad3af9d51dec836ded10f04cffcc97192109043e4a292e25|SHA256=8af3b339b1d5d48f6e994f0481dec4b82fbb7dce1de4b87cb81185fe5d228178
REC|DNS_NS_CONFIG_REF|IDX=688|BASENAME=dns.json|PATH_SHA256=3eb5b159846afaf1d02ba7b1e92685aabf7f9bced59d48ac4e7bccf6184591f7|SHA256=77f4272d8ad6c380ecd39df00f93630d42b73b3b4f2348b99566297d229e6948
REC|DNS_NS_CONFIG_REF|IDX=689|BASENAME=networks.json|PATH_SHA256=83ab95097cf2bced299470bfce2976030b7f993fce7c020fa02573bbfde0d14e|SHA256=3f43d4e5bab40818f4cec5bb5461fb5336ecabe9950efcc4eb1f457d3c434adb
REC|DNS_NS_CONFIG_REF|IDX=690|BASENAME=dns.json|PATH_SHA256=0f83ae9fba7c52b2ee51c3c12086df1bb461f11b4ecfc72214df6d8dced208f4|SHA256=5e660ae6eef311b53636b23254d8c8a5f0ddfbb518157b851402f899742876fb
REC|DNS_NS_CONFIG_REF|IDX=691|BASENAME=networks.json|PATH_SHA256=9247669e88985bb68dd99643f8f0fea47e2d08ac92944e0eb40022ad70ecc542|SHA256=cf14ca5858ba087fe37402fdea3c2d0af1c0a8e4fa1e2d582d1ac03c09364991
REC|DNS_NS_CONFIG_REF|IDX=692|BASENAME=dns.json|PATH_SHA256=a5658f006823704dd9ecb97955cd54d00326bdd2ef124d5e8bc4d04c8fe26bed|SHA256=54648c7267890b02fb4ebea3cf2558014e75fae4b8b35c59b5af73b01b9aa1a3
REC|DNS_NS_CONFIG_REF|IDX=693|BASENAME=networks.json|PATH_SHA256=f7f99545326a61db7e23b600bfa6f11a9bb7803ed49033e22f38775670b52d7f|SHA256=27caecc47267b774fc2739c8df46f541d9b919fffc8523a88bf42ea88fa2b51c
REC|DNS_NS_CONFIG_REF|IDX=694|BASENAME=dns.json|PATH_SHA256=dadd3ccd2c797a82b712058e179c89ae8d91b5597c4e00adff681314770965ee|SHA256=ea2a3597a78cc6f60e7f883f9788cc85fe32d7500bed184e79ed6c2e0654be42
REC|DNS_NS_CONFIG_REF|IDX=695|BASENAME=networks.json|PATH_SHA256=3f83fe4d107e60cd51a47bb6654c58937ec5b1373250cea0b79ad4d610c424fd|SHA256=7e7109d17337f4a14703be5a6e29ee3621f09cdffa10f3da4d1faf1ca849c452
REC|DNS_NS_CONFIG_REF|IDX=696|BASENAME=dns.json|PATH_SHA256=f23e4ec0a9ef04f3123b282a666c9ff01d261269478bd519d001b776b848f0e0|SHA256=cc204f1ece28969e2d286453f1802c4f160a096b5df295bb0b7ffca856aec2f3
REC|DNS_NS_CONFIG_REF|IDX=697|BASENAME=networks.json|PATH_SHA256=7eb3295365c09382133e86725bee77f0665d327bb9ae6a33b884c878df5cf408|SHA256=3629f8b5a6b2ba6ce4ac134011c9afe7c927d8e027b50208d70c1e8d63261aab
REC|DNS_NS_CONFIG_REF|IDX=698|BASENAME=dns.json|PATH_SHA256=5cd1f26c7ebf70f2fde81387364c8b2f20702a25444824001708728a19b98c6d|SHA256=07d29929ceb224ca1e07a368154700537b431e53a7ca4b872293b28dd300d2b2
REC|DNS_NS_CONFIG_REF|IDX=699|BASENAME=networks.json|PATH_SHA256=cec0c603d881987327b71c226af1f626f7f23f0b473861ed7e76b92fae0b63e1|SHA256=b4a938ca00f57f145d10bceb540c32e91c4549b37c25a0fbc129affc9fa3409d
REC|DNS_NS_CONFIG_REF|IDX=700|BASENAME=dns.json|PATH_SHA256=bdfdaae4a3898b578e8c870cb9422d7988396cf5aafdc4200dd8b32debf41f1d|SHA256=f1403835e1d12c9330b58e7a11f2b1a53837b45734753771b2cd69414802bd5c
REC|DNS_NS_CONFIG_REF|IDX=701|BASENAME=networks.json|PATH_SHA256=b7105650665b99618c87ad0705fecfd188001e54d2ec372c9246264d6c4a42f8|SHA256=de35fd52795c01a1fd79fec9bd072ffc331cf0774488fa33be11c1fc1289779a
REC|DNS_NS_CONFIG_REF|IDX=702|BASENAME=dns.json|PATH_SHA256=1669eeb17007e794102c3f34ae25f44859cd2bb7d34d4efbc894074f07993989|SHA256=815d61530e1fc8578ec26fc260448ebc56ae5a40622342ce78b4ac496a41b3ad
REC|DNS_NS_CONFIG_REF|IDX=703|BASENAME=networks.json|PATH_SHA256=2dc8715fe8b15e2acf5f75f20d14328dde64e9b6f2536309f3e4370c3cad49e5|SHA256=22830141d4f823cbcd3c2b4e1ca686989d1f96a7dbc7b0859c3d7472be8297fa
REC|DNS_NS_CONFIG_REF|IDX=704|BASENAME=dns.json|PATH_SHA256=1995ff549595abe34c8d776fc4e9465c7d79cb8d20e6228ec65dbbdb4875214e|SHA256=2f28f4045fd6f21c60be18b6122549efc1527ae3a3dbf4cdf734a1220fd4c763
REC|DNS_NS_CONFIG_REF|IDX=705|BASENAME=networks.json|PATH_SHA256=0e4239f0fd5c0f11afb83057b64d8be14c411b20b3edfb841c219adf6c6893d0|SHA256=9e9f9bc2e69510c8ba6bd7f7820e6dfd551a77ebb71a48c12c875d443c308e9f
REC|DNS_NS_CONFIG_REF|IDX=706|BASENAME=dns.json|PATH_SHA256=731a557a188b44ba8431ccafa3db587fefabec2d17c90e6a6639f99da1e4103a|SHA256=3bc22f0345d57a1960fcc352c94da281cae80ceadac2efd999d6aad144a1ebc8
REC|DNS_NS_CONFIG_REF|IDX=707|BASENAME=networks.json|PATH_SHA256=512db689df732e4343770a82e1270864f21a44a7844185eef821c9ebfb1c1b9b|SHA256=bfa1917d543399a77ce937ae341978b2f055dbdc3bcae5cc30ce71be0df8fc1a
REC|DNS_NS_CONFIG_REF|IDX=708|BASENAME=dns.json|PATH_SHA256=9599f1cc83f31e0f51d28f2a6afd86c04918a8e259ba8a3f82dea969f3773688|SHA256=07dc35625a912421a241ff9584851d10f6ba9bba08b68bc7ef5605c5c34ef4b7
REC|DNS_NS_CONFIG_REF|IDX=709|BASENAME=networks.json|PATH_SHA256=9f94c13a5a7dc83c421b7d1a17fdea787b7a6e2b7c91f393f6e5c564d53b41bc|SHA256=718efd5982fe92da85ad1c9926503888e8bc273499dbb163196a792b679baea5
REC|DNS_NS_CONFIG_REF|IDX=710|BASENAME=dns.json|PATH_SHA256=9b8975067b11b14ca1819103598122bc0cf070fee6b3e871a2f300b9e663a9fa|SHA256=471f47f85da60349205e2c522e89194d481451b5c5ba7901b46d3b4c4440a628
REC|DNS_NS_CONFIG_REF|IDX=711|BASENAME=networks.json|PATH_SHA256=c6cb15c0c96b8bf14df3c13e2d217588e156673299d97b67b5de71457cdd1f76|SHA256=66f1c6f2553c4b1cdc7e678f18ff3d85d446a301ea8d2ab8d6d679bf7ae89c0e
REC|DNS_NS_CONFIG_REF|IDX=712|BASENAME=dns.json|PATH_SHA256=fb089292ab4e55da50627f58740afc35879edc2852304a1bb7e8bea0bb5e3330|SHA256=390e908efcc8205c25fb8e04169387c8eedca728cd387750b091a132e01b4bc5
REC|DNS_NS_CONFIG_REF|IDX=713|BASENAME=networks.json|PATH_SHA256=1f583998ec96380d8635b401f71d7b8d72b9deb157a8d0f9336aaf47214f1a96|SHA256=f15bfbbf4754fa63e4b5ad2692be5b14acea20ac93f4279fbb6f44be91d581d1
REC|DNS_NS_CONFIG_REF|IDX=714|BASENAME=dns.json|PATH_SHA256=d3ee6f2ae927c1568e82a518602b60471e35c7c3d68d9d2805966e1b79cedd98|SHA256=3f03d6e00ba934daca9d7365e511e146d2a3521c7ae972eea0fdcb78a87b628d
REC|DNS_NS_CONFIG_REF|IDX=715|BASENAME=networks.json|PATH_SHA256=5909de6c3f4edcf012836ba84b8ad6548200b260bd1f973a7fdde963e522cc5c|SHA256=90fd4e15a6c03479f0b7bdb6c40306c8bf22f8ccfc1c63253972498cdd5d8a55
REC|DNS_NS_CONFIG_REF|IDX=716|BASENAME=dns.json|PATH_SHA256=db1d8e6b3ee4eabccfdb81750d990816a4a3637adee01e40561086a924776435|SHA256=15b4e949419a34926046571a319dfdeaac6475a4d60038e9b8499929053077d6
REC|DNS_NS_CONFIG_REF|IDX=717|BASENAME=networks.json|PATH_SHA256=a3c77f4210d784fdfeacf87061b77e5f384bd2eadd2a4289b656837a43db4ebd|SHA256=e6485c6b8f35bdeb2499259e1b0c44b798d3a528095d6106c80f35a8cce0be5a
REC|DNS_NS_CONFIG_REF|IDX=718|BASENAME=dns.json|PATH_SHA256=ee3431b1e1c6ce1238def9122154c98aaa479fe1e4cf5b0b9fa726012d6e1fd9|SHA256=0d11d3e6cf29cffed4d104d71d090dfa5291fcad2598eeafffb84ad8736d0dd4
REC|DNS_NS_CONFIG_REF|IDX=719|BASENAME=networks.json|PATH_SHA256=c8064aed5456e15dc01ecc78c0943e953da27a193f711297f7a62ee092e8e646|SHA256=05536416826f1b55ae8380b74c02f5bfa1d3a7de4c28db5b009b2ba3abc32712
REC|DNS_NS_CONFIG_REF|IDX=720|BASENAME=dns.json|PATH_SHA256=0160d862f0b76aee160e92005bce98c93a337efcaa4415db1be26d49f62cddc5|SHA256=5ecb8bf374e80fcb3c8ce1d7e41aa79d1288953cb11f7bd69ddcfbfd2dc9997b
REC|DNS_NS_CONFIG_REF|IDX=721|BASENAME=networks.json|PATH_SHA256=8cbcb78df8d4d018a7b9ea157746f5c23f762084b4e0362024e609143930e78a|SHA256=a287c22972cf393bcb843ea905f45e4d5995d4632411aff52b3b187ff06a9b2f
REC|DNS_NS_CONFIG_REF|IDX=722|BASENAME=dns.json|PATH_SHA256=09b37e20f2f0e6e886bc4bce6e1fdcd7483f82ba15d69d81e022c1d1a0ec67b3|SHA256=d326f7b7ec937a4194d423a6a50214cd924e2a9f6fd30dab816e989195d5383d
REC|DNS_NS_CONFIG_REF|IDX=723|BASENAME=networks.json|PATH_SHA256=db228ba331f7e3e19bd29a685466b5d89e693f2228bd261f985dbd9ade62ff7c|SHA256=b00956b75341dc9e8f97be13240c5afcd5e21c770f32a91f80edc21a720b20b4
REC|DNS_NS_CONFIG_REF|IDX=724|BASENAME=dns.json|PATH_SHA256=0144bb464288433cbeaaecee85bd4ed4dbb3d21bc42ad2c165fba7b4f4438a12|SHA256=e28781e28eaee8f4f1add14410d09a75494eae0fbd6d1e9ffbd40f58f1f7e194
REC|DNS_NS_CONFIG_REF|IDX=725|BASENAME=networks.json|PATH_SHA256=226b9523f77ef5901d82420b2e77bf66e59388a72f6a92f91844383b010e6963|SHA256=9df5169f8bcb202470c2d9faccb6cfdaab78a29e547d6f32bc5b1b79a6728d34
REC|DNS_NS_CONFIG_REF|IDX=726|BASENAME=dns.json|PATH_SHA256=e5b4c10e465394c935c5d4b20e3e1613de84fd455cc7af88108ecd1fd3858d4c|SHA256=7091b941e24800df6ffd0bd475ed4a547570ef37f48f9e4ece732865acdef8b3
REC|DNS_NS_CONFIG_REF|IDX=727|BASENAME=networks.json|PATH_SHA256=89acfc5f34c31f6806aaf5989ccdd3523a5342e8adbc99543c31b3647294d6d2|SHA256=5880ffa23be9c394d04d5ec8ecd27d965d8a0257efae18b4c5a113991311a1c9
REC|DNS_NS_CONFIG_REF|IDX=728|BASENAME=dns.json|PATH_SHA256=35a303c37d25514066b1bcacb68a11930c4f908aa40592bb4553471e2dc3a165|SHA256=3990ec175b6fbf1c63313d9b9efe8fca5f542ee677427a0e7bb35a7fefcd8e32
REC|DNS_NS_CONFIG_REF|IDX=729|BASENAME=networks.json|PATH_SHA256=48723c4a1709d831a64b832482ee0ddc70948c1790791b4516b41afd9dea5772|SHA256=0343d59af00a337dbbb7f407a28d6c7a520e07ecd23267392eb6c9e5651097a8
REC|DNS_NS_CONFIG_REF|IDX=730|BASENAME=dns.json|PATH_SHA256=2b357e7c6fc4064788c27ff272d96e72f11e70343e3d172d094fdff5b9fc1dbf|SHA256=26e933c5e562200d4d3d5f0824643fb95f1ec4ca108f35c00313d6a5eacf09a2
REC|DNS_NS_CONFIG_REF|IDX=731|BASENAME=networks.json|PATH_SHA256=3d81014f2a7a195682b60cbac05085654a41ed0627257018097dbb3231045440|SHA256=7d020b432284a499c5efb87d7d2d08dce50f8caf8063c7276e3c91902fceb7a5
REC|DNS_NS_CONFIG_REF|IDX=732|BASENAME=dns.json|PATH_SHA256=9558af249fe62810cccd96ad41b356a6771e26623db63105de3a5e34d98cd166|SHA256=91e8b9303276ab36ed5c9e1919697fd79b286c85adcec7ff184e8d6631415936
REC|DNS_NS_CONFIG_REF|IDX=733|BASENAME=networks.json|PATH_SHA256=4d746cc15d6b9c9269b4d5dc8e98bb92dae90566f7271c819fb1034fa957d348|SHA256=99bd3c5d23c376a1d07439dd9393e93edcad105fd9f8aef38276c4f06f52e28d
REC|DNS_NS_CONFIG_REF|IDX=734|BASENAME=dns.json|PATH_SHA256=25186789250b56fe5f5fe2ad8612d5a8a5bc5d0ea181fbc17b60832836371892|SHA256=8e34e235343dca34d4ffc11cd525d025bedecb8558217a10cfcafca0185f81a7
REC|DNS_NS_CONFIG_REF|IDX=735|BASENAME=networks.json|PATH_SHA256=85d35cbc3a8ccd7c513e7cefc4a26046f5077bf37c6fcece55bffe44b3b6e64d|SHA256=0abbd80621f5ad019143910428fee238e06082b70320e0316c1faef09516eab0
REC|DNS_NS_CONFIG_REF|IDX=736|BASENAME=dns.json|PATH_SHA256=e06505c50a95a5698b6cd592405712bd71efc76cded5f4c3182f36cc787af7fe|SHA256=5279521b6f3c72ce7f3d13ef6289ff62ef390a0d1942896248841769eaaa071e
REC|DNS_NS_CONFIG_REF|IDX=737|BASENAME=networks.json|PATH_SHA256=301048905ee01067e4ad9085a9a8c68581a9ed949f4700cb72d51ce2ce9279ac|SHA256=3c1e33f991d988381d9a1dd8ed93aeb13b18f0d28b7fde0291a0581e54343b8a
REC|DNS_NS_CONFIG_REF|IDX=738|BASENAME=dns.json|PATH_SHA256=ec877be521b5f7df514c86337d5f17f4b5d4d965efe4fe5de0be19778e0e6ec5|SHA256=6af3c599cfc4d5c71f777c08b44a83de589e58bd83e8698282c12aabf19d7d10
REC|DNS_NS_CONFIG_REF|IDX=739|BASENAME=networks.json|PATH_SHA256=357aee96d4325891ded4105102b621cd5486fd41f084dd6297bbdd93c954db3a|SHA256=2b0311c81a44a63ae0d77225bfc14524e76bef9fef7bea97e9f26948b64e9dc7
REC|DNS_NS_CONFIG_REF|IDX=740|BASENAME=dns.json|PATH_SHA256=a32e4d4567ff5be2a166757b4b502a5541e28a91157e9515ec6c0f6268868e63|SHA256=266453219fd183ff433985562ac81a2b08ddb2fc4e8412167398f36a03ac6126
REC|DNS_NS_CONFIG_REF|IDX=741|BASENAME=networks.json|PATH_SHA256=92f1a54d070373bd6af14e53244aedcb9b380b20170339214e0f5614c7ad7242|SHA256=d7048a6ffadc646fcbcd4e2aaf96f93cba155f892d11aee6f46b83ca80f90812
REC|DNS_NS_CONFIG_REF|IDX=742|BASENAME=dns.json|PATH_SHA256=a63abc6aed4d8bbf78fbd0aca32e954f28db9a97092c2fa92bde2066f03b7496|SHA256=4df3ad651a0d90cf2deea411eec5024022b8bf6de386ca75ae79ba0700039ccd
REC|DNS_NS_CONFIG_REF|IDX=743|BASENAME=networks.json|PATH_SHA256=df2ff1ec10cdb804581917c33a0bfd8dffb626e5a1627ee28ca9f18aca3ea16b|SHA256=99a73988d6c66d8c34075a0ffe2334c0d0b1fe4aa1aed620643874c2b95ce90a
REC|DNS_NS_CONFIG_REF|IDX=744|BASENAME=dns.json|PATH_SHA256=a1c3648ad5ccee837bf279e46a2f5d3b9a2d3aed615855e4c9e1bd664088ce1f|SHA256=55d7f5cd9f832931e32c2700940a343d895c2805c109e701e2abc4d0c3a48239
REC|DNS_NS_CONFIG_REF|IDX=745|BASENAME=networks.json|PATH_SHA256=d3e91e6539914c005a89bbfe303f5066cd47ac1ff2c1f02d8f1c1143eca37c1e|SHA256=afae4488dfbcb4587e60b914f27b9c0a0959b61284bbaf4545e389810b6b3ae2
REC|DNS_NS_CONFIG_REF|IDX=746|BASENAME=dns.json|PATH_SHA256=80a604c2bb6992e9023fb83e93231b574100ee96640c29956d7b92789828e654|SHA256=5306eb1a8a6b138f3c3608e7764c29d82e9dd5151390992108bdbf3e26eb2ffb
REC|DNS_NS_CONFIG_REF|IDX=747|BASENAME=networks.json|PATH_SHA256=80c42e756ce011d8d78c28f134b14f24854601cb01f8787a16bd9f76d8706b78|SHA256=cb8d20ed2a272b0fdc3d6fd1409c2d3e20724e8b0fda326b1de6f81cdad36436
REC|DNS_NS_CONFIG_REF|IDX=748|BASENAME=dns.json|PATH_SHA256=c290d1b0d58355ee6bcd7f3ecd05a3417e62e2dd0788c114fda5c9fa9eabbc33|SHA256=74b8379b67b343084cf4afa2051e2dfa4ca206483d5a5d8c32de1c75b2933dcc
REC|DNS_NS_CONFIG_REF|IDX=749|BASENAME=networks.json|PATH_SHA256=92e73d002302514e6746ac185a422c4caf57b73327981bbfb82c372273719a9c|SHA256=08ff054da5c9914918d6e91e3efecec973fb2a68e520318e7cccd874dc8b8974
REC|DNS_NS_CONFIG_REF|IDX=750|BASENAME=dns.json|PATH_SHA256=55b0ece67f6029b744ec4a2c3359b757d8f86c9152d0d0e15722a828f7437c4a|SHA256=c5936a158336815d4ee182b58d1b34fb934bb8a55769e742e6b09196005e66eb
REC|DNS_NS_CONFIG_REF|IDX=751|BASENAME=networks.json|PATH_SHA256=a774b5e5c67132d7e482fc4cf45ca4aa23eafbeabd52d2f50a300c3517ed2b6f|SHA256=e0f24c34bba709b4fe1cca3a1bd4f727165d38538d8007d7f017f06baa7ac0ed
REC|DNS_NS_CONFIG_REF|IDX=752|BASENAME=dns.json|PATH_SHA256=69842bf4ead9f2e96b662c2c19484e49dabd24e1f3c8ed5a31224f795ad427ad|SHA256=6e89494cb2cd493e69997da5499f437ad251b5fec1e8051b1e1b51b8dbf3f956
REC|DNS_NS_CONFIG_REF|IDX=753|BASENAME=networks.json|PATH_SHA256=f1fdae51bf3c5ad46adddb915e1f88af6428ee8669aec74c817fe3151446b5d7|SHA256=e7c4bfa334e2c1b33e17c6d81120d33f46165a7d39fdc7b821bee845729d11f7
REC|DNS_NS_CONFIG_REF|IDX=754|BASENAME=dns.json|PATH_SHA256=5ceead4234e7d632ad4fb3e6a41ab209fc3c33f32a0fc9fc5b337a668a049dfc|SHA256=ce46574b99427e9c5fed4e423b7a60fc06a393b31af58e9da9f696cbadaf9b4d
REC|DNS_NS_CONFIG_REF|IDX=755|BASENAME=networks.json|PATH_SHA256=d4372cc9a860305f8c11c3bb994a2ecaccce511b649d0814509f974a1e5012ff|SHA256=daa7023401b07647af572f852ddf841e8d5e7700f0836c878f0cb71bc79b1243
REC|DNS_NS_CONFIG_REF|IDX=756|BASENAME=dns.json|PATH_SHA256=5e65618a22c2ace30c6e893558e57d8394455916c8e32ab7dd7d3464eab263fb|SHA256=1512fe4ad863dc61b808aab069f81ebf4a48c90d3a66734f3fed361749bcee95
REC|DNS_NS_CONFIG_REF|IDX=757|BASENAME=networks.json|PATH_SHA256=52d1c7e6aee3ad4e8fd62514dbf86864220f7e8795107dd318670281fad9110e|SHA256=820be88d1ba7571fac53fbc7095ce3e219f972c12f04d267d8b7c8940447f521
REC|DNS_NS_CONFIG_REF|IDX=758|BASENAME=dns.json|PATH_SHA256=e8f805c2830531ee5ea43ccdd8d9ae909e77afd3c2db4fa72fb76063e65cb0b3|SHA256=0c122ec47a025a61146e33b8a0666d059b7a022b08b63ebc820835760d87b8b1
REC|DNS_NS_CONFIG_REF|IDX=759|BASENAME=networks.json|PATH_SHA256=c3f5960df57d690c4c33e8787fac004b82d5bd6ba53a7ba03fd3e7eca9ee6c96|SHA256=8810b7fc4b76540a8fe6b9f833500a67b52aeb7e8a8add20363748788952e827
REC|DNS_NS_CONFIG_REF|IDX=760|BASENAME=dns.json|PATH_SHA256=5a342c7ced4635ca9b9bdab5c47f29b36fa24b4abb6d4df927c1eba454a661df|SHA256=befef66c9626e69f00c15c8b59efa574856a851012e14a26487e4058f7c37868
REC|DNS_NS_CONFIG_REF|IDX=761|BASENAME=networks.json|PATH_SHA256=05928ee2b034eb6b00206911ab97f06ee59bb9b5a1c99e101a79eca0ed64a25c|SHA256=1ba6451813937b9a39a41f3b0f51c487f8bea91cb7c4aafcab1e4975d562d229
REC|DNS_NS_CONFIG_REF|IDX=762|BASENAME=dns.json|PATH_SHA256=922defb6c5b9d9d17357a6e33346eabb7c576a73ebcd658abf9125dc76baf441|SHA256=25a03b6780588321a31d1fd0103c69548fe935d238cdf33ec2c873dc1cec4b69
REC|DNS_NS_CONFIG_REF|IDX=763|BASENAME=networks.json|PATH_SHA256=88ea4033a462bc8408c1f4a63073859655f28d6398a10dd0609bda42220c96c2|SHA256=ba49ada739ec2e8ba05a97faabd1842fd37f3f637f0efea4bce2cd97c247a5d7
REC|DNS_NS_CONFIG_REF|IDX=764|BASENAME=dns.json|PATH_SHA256=a91eb4d22ce844e73159f0de5a7824cfdf2296ad4e941551cfb3ba8df8575009|SHA256=5859efbbc149b7709b9a488a19d8908b97920a73545b6e1a037de962b566dea8
REC|DNS_NS_CONFIG_REF|IDX=765|BASENAME=networks.json|PATH_SHA256=187fc065766024e17705af76de994ba060558a5baf39f258be592adbd95c4977|SHA256=a9102ba5b49e01c0d914886e3858bb501fb28870811ebf5448d7d77d5cdefd50
REC|DNS_NS_CONFIG_REF|IDX=766|BASENAME=dns.json|PATH_SHA256=4219c8fb1d856f1661c71c17eda909a2c9bc73f2c3dbf483f3100d647b7b7e5b|SHA256=a31b938fbaf82917bf336fa3b15ceb4b69e8b351e938296e45b3aeb7e4a0c32c
REC|DNS_NS_CONFIG_REF|IDX=767|BASENAME=networks.json|PATH_SHA256=4768d5c901f1e27913714ad43ec5fe5a5b9e3aa50abf499e7606f177fbdab277|SHA256=ad7deb4bf47f5281ac543eeaad58245e5f246a166fc04475defabb1d614d34f8
REC|DNS_NS_CONFIG_REF|IDX=768|BASENAME=dns.json|PATH_SHA256=86ddb9774159d33c7fae1c9b757fc15908eca2169b3999dcbadbe320b6415a1f|SHA256=ff8ee2d9ce8ba8ac56ea99db50800136fa6524f9525dd26d5d766be59ab46de0
REC|DNS_NS_CONFIG_REF|IDX=769|BASENAME=networks.json|PATH_SHA256=640049a82d6aedf716795685f110a06c9b794615ec98d4878f66eb3b2a6a63a3|SHA256=cf1f2a1da1a599715dfe4bae08fd9c8654b0e22db08ce41a9ce713637b824673
REC|DNS_NS_CONFIG_REF|IDX=770|BASENAME=dns.json|PATH_SHA256=c52206178a7644cb1d7a06390a818f27e80bde107a9b3e18334c787953d7107f|SHA256=a4ba98af2c868f0d9462b478f0c2e672c85f328043d38ebc950dd6046898d352
REC|DNS_NS_CONFIG_REF|IDX=771|BASENAME=networks.json|PATH_SHA256=f04922171a6edda8a290505f06dc34840186a7c1b38760b66f24f0e89237cfc6|SHA256=abaeae06ed3eed9be525dd22309058ca4231dd261768cfe666c853e0819a82e5
REC|DNS_NS_CONFIG_REF|IDX=772|BASENAME=dns.json|PATH_SHA256=b6354c91643b74bc54f54577ee52890d35fced3d9498d0e87058a68ea35143cf|SHA256=f2b923a9e07eff1159dd6a4c533c1772a187bf89f8b03c8be7c25a0aab0d6fad
REC|DNS_NS_CONFIG_REF|IDX=773|BASENAME=networks.json|PATH_SHA256=58c4c951d17403bb3dc847bdacac8683fad8ec01f1c6bdffe13029d4ff652ad6|SHA256=3cf0730d70795236cab8eaa087743769cc73575bbaa51dcdd4e276d383999f2d
REC|DNS_NS_CONFIG_REF|IDX=774|BASENAME=dns.json|PATH_SHA256=5839c4b655f159b659d79052008ed8eab5716209bde83998a2fe222226f8879e|SHA256=3cea977f1795df4628b235beb36a5ee70a31115e8a4e83e8b8f364ccb3b97721
REC|DNS_NS_CONFIG_REF|IDX=775|BASENAME=networks.json|PATH_SHA256=b8c29584de0895bf6f77138404e8e7b0aec344b749797d41e4d9991f3a6b3e66|SHA256=a90c3a905cb73ddc999df358b4095ca1c1169231047aa4dd4be1cf967362a00c
REC|DNS_NS_CONFIG_REF|IDX=776|BASENAME=dns.json|PATH_SHA256=44ae9a6e18aae91e9b09720eb7c3f2ae696f0f7732118201eaa11eac7d788a00|SHA256=20637c4503f135a88afa2856c1bf292b0806a3399f0f1606430c07994fb5f9fd
REC|DNS_NS_CONFIG_REF|IDX=777|BASENAME=networks.json|PATH_SHA256=7074947a6437892f7c6874ee9c6a70907e285457c54abca2c549aabc1113d1af|SHA256=57fbedc56febe14d4c7c1338b45bcbfc273427c71c68e03c7f2b38d7b1468262
REC|DNS_NS_CONFIG_REF|IDX=778|BASENAME=dns.json|PATH_SHA256=5ef2b72e74bbe3c9f67fca376a388e81ee1e49d0e5bc961977a76cc0ebcf7e65|SHA256=19f7bb787b8157a25dd337aa06d9ef22204c058f0b2a9efb14d702cf83cd0803
REC|DNS_NS_CONFIG_REF|IDX=779|BASENAME=networks.json|PATH_SHA256=62ab0ead1f4fedeaeaa7a5347cee8d8851828388a5a5bbeece1bc669c7121f4b|SHA256=e7431af7420068c7aefb3811531f6a23c979ba0eb98c3e5441d942a606741ef2
REC|DNS_NS_CONFIG_REF|IDX=780|BASENAME=dns.json|PATH_SHA256=f9fa8d467137a09ff52891c82f168a092142abd4b51dc9ce30f856dac5adb1c2|SHA256=ffcb893223c756c5ebd6c6e53b443cc912595e4e1fffd1a75dcd5163935696b1
REC|DNS_NS_CONFIG_REF|IDX=781|BASENAME=networks.json|PATH_SHA256=ca46859988fe6391bf4ec4a4e8d7bbde0cfa9853d06214ba8cf347c6199ba8d9|SHA256=18f848cab0c3bcc9bebf141ebee09b2fca2ac791890850676076df6706c34307
REC|DNS_NS_CONFIG_REF|IDX=782|BASENAME=dns.json|PATH_SHA256=93e57ce671075b34295e495890cab055ccfa6e4323dd51229f086447104a03b0|SHA256=71b962a63866cfc60ad60b49fa754a659fc4f24b6bd98b6c760a9f60425ed8f2
REC|DNS_NS_CONFIG_REF|IDX=783|BASENAME=networks.json|PATH_SHA256=d5bf265407dfc8cece1ff2883fb58ba7752ec70d8e98c25e8905a1dd97e77675|SHA256=537f65d3dfa898e127e1fd16acb4cb859703634f9fed1fd5c803c77419e621c7
REC|DNS_NS_CONFIG_REF|IDX=784|BASENAME=dns.json|PATH_SHA256=e6e17d30880d34d2cda76fe7b6f0dae6b9f588e5c703a5ca06ca62b042357cc9|SHA256=a645922d692ee3e6cb433106f494e9c10cf1a39bcded1cb33188a5a09ea3cc1a
REC|DNS_NS_CONFIG_REF|IDX=785|BASENAME=networks.json|PATH_SHA256=74f9022f3fb095c529bae83edc73ec51d5fbf90008efa9e0e45485dee85fbc4d|SHA256=c115a539b6d6ff758e96b76e03ab27d0678af1e9a72e03731b15786d85561e1f
REC|DNS_NS_CONFIG_REF|IDX=786|BASENAME=dns.json|PATH_SHA256=2d8be101d3ba215a45491c140a80dc7b7216daa646c208bf5ed564a6a504cd1e|SHA256=9dcf86cdf9b29c0393f1d9aa7a86c8b2fe66ce1c6d543e48dc34cbfdbddad3e6
REC|DNS_NS_CONFIG_REF|IDX=787|BASENAME=networks.json|PATH_SHA256=c6d1f2ae700844fc8b0168c308959309541be5318debabd00d158bc71facef5b|SHA256=e32c2c7fd290112b62ed20a905bde7fa06e34de4082e686c1f0d62dbec8e2dd7
REC|DNS_NS_CONFIG_REF|IDX=788|BASENAME=dns.json|PATH_SHA256=daa54c6b72692c2ece2ca6136e857a390b9498133b85a1fb17a05c590731f03e|SHA256=9aebfacac3672037a062802d4119a03862b831ba45f696faeb0de041a0d26049
REC|DNS_NS_CONFIG_REF|IDX=789|BASENAME=networks.json|PATH_SHA256=886ed550f4bae412643a8197b8fe2a1461ea8d7b5b9df341c06446acfb845984|SHA256=6ecec1244c89ce06d3078e23e82b1b359a3b23bfcbe14b32f58ae380f5bc639c
REC|DNS_NS_CONFIG_REF|IDX=790|BASENAME=dns.json|PATH_SHA256=1689559d698bda4f56d2922fc3af68ff0b6fa85f920f0ee60f44d73a2acb3abc|SHA256=9b3ad6dc9ce4b7984149ed0e1abc2d9053aeaaeb2dbad1f687863054ac0e6138
REC|DNS_NS_CONFIG_REF|IDX=791|BASENAME=networks.json|PATH_SHA256=2f6032c9153c660817c0965c28a80b89465cf11ca0bba0a2391ff7e66a75135b|SHA256=5ae54a33156b0383700d5bf5c9280cde1e29a8d89b472fbcebcb5831e7a0e7a7
REC|DNS_NS_CONFIG_REF|IDX=792|BASENAME=dns.json|PATH_SHA256=8eee1b60ac4d09700e558fc663bab0311ac0c4679be39cf3fa7f33addaccd5af|SHA256=66cd9911a15430bf7a0b97158fa645871eed831f64d64e5e669bec07103a7ccd
REC|DNS_NS_CONFIG_REF|IDX=793|BASENAME=networks.json|PATH_SHA256=dff15079126d99c907a183ff029622ea0b4cb59efaf78beef6962fed325819ba|SHA256=f78ac0e1c2dcc547682dc113befc8dec7d0f5ba629be2b29c02d14895d277236
REC|DNS_NS_CONFIG_REF|IDX=794|BASENAME=dns.json|PATH_SHA256=28db9ac6056efd5f35e1bcadc5cc3e7df594ef212c5cab5a252a3668f6718140|SHA256=10c088ac8748ef0ad153e7ab2bf6e7fceb81585e47596defb8c513c8c6a5b1bc
REC|DNS_NS_CONFIG_REF|IDX=795|BASENAME=networks.json|PATH_SHA256=5bb6f6504d73bf13f9a3a8bc1003a9e7758126ce8023909028947805c8583ca1|SHA256=345a930bbdaea9d185f0ef582ba218e68024be90213e80a88dc23c71ab218b6f
REC|DNS_NS_CONFIG_REF|IDX=796|BASENAME=dns.json|PATH_SHA256=2132d7db7a36c2472af5ae41d82bb2b6456631ca259383098e1e29593abcdd7b|SHA256=1845a25d4c9b0a3e380bf406f4e7e155e7f6c0824c3d4153a67b898eb5d511bb
REC|DNS_NS_CONFIG_REF|IDX=797|BASENAME=networks.json|PATH_SHA256=03726a5627ffb30273302055b9ed4f6e3a442c2007aca9ad585cbb77bd6a3929|SHA256=c4220aa0e03143001b1ad2f207dff414a73a4e77ac5d453afd0217204e683c8f
REC|DNS_NS_CONFIG_REF|IDX=798|BASENAME=dns.json|PATH_SHA256=f0723fadfa5044d5dae4947baf5971f5d6502a82f37c777b7db809467408b7cb|SHA256=4f105693550d6a4f061a419b57b39ba2aebc568e25250cfbc2535e3b3042f625
REC|DNS_NS_CONFIG_REF|IDX=799|BASENAME=networks.json|PATH_SHA256=a0b8ef944b91126dbb5a7b4bea96a2fa189c6dbcf0678dae7181d84e8945ae76|SHA256=a13f28c19e0acb490e27bd70f34a24d2178d8981054143bf33c7330faff651f7
REC|DNS_NS_CONFIG_REF|IDX=800|BASENAME=dns.json|PATH_SHA256=fb956ade0e0a01e544440f729580d5b6cf66668725ae3ad532c4204972ebdb36|SHA256=d7354ab56cba736fcc004f51cc8edc6071ec82fc16eecda8e528aa677dfe7a57
REC|DNS_NS_CONFIG_REF|IDX=801|BASENAME=networks.json|PATH_SHA256=ffe70038816ce6ad447221d99db631f75e62d89c96cf78bcda1a224bf166a4f9|SHA256=6521d24c8b096be426c111eb63c360953cbace5caf681f61d15bc1baf533f455
REC|DNS_NS_CONFIG_REF|IDX=802|BASENAME=dns.json|PATH_SHA256=263ca32bb71ff264af74e4544ed73c66ad3fe605b44ee2b7ab3fca2ec83aae4e|SHA256=dd580b109436bfbf314b24f642fcaf695478926558af882e83ec6ed32f06016e
REC|DNS_NS_CONFIG_REF|IDX=803|BASENAME=networks.json|PATH_SHA256=34bf85450fe495ab2196b4d653217c94278702e56a91bd7f71d591c10540c59f|SHA256=674156a2c14c45cc8660234d03edbc6c3de9d1d42e1023999d63a1ac8d6edf8a
REC|DNS_NS_CONFIG_REF|IDX=804|BASENAME=dns.json|PATH_SHA256=bfe1ec6b6dda31336197e816a44e190ff6bc25f84f9a20e8d71c02112252ca2c|SHA256=ea4361224b4b5a00bc73166a50e47f52ee94b02984f2de1f53c13ec4b0c85c74
REC|DNS_NS_CONFIG_REF|IDX=805|BASENAME=networks.json|PATH_SHA256=066fae262e6ac0e4531a211a4bdd27627746ddd70fc2591c8fbbffce457bcd44|SHA256=2c2bd780c88ae5a338c26b16d37bd37473db37720dd46a87517373154530cd04
REC|DNS_NS_CONFIG_REF|IDX=806|BASENAME=dns.json|PATH_SHA256=f4096395883111e076065f4c37411037ebfcf20ec283baa4de83852eb58e6aa2|SHA256=eb38ae5a9775079b41be38d93e5b93580e9b4f4af3d5e0aebddcbd887c417417
REC|DNS_NS_CONFIG_REF|IDX=807|BASENAME=networks.json|PATH_SHA256=d3b3f80122dde3f5b0a1eb571af9a86319c0b1b729999864743d0facedc75d87|SHA256=a182020e1a23e74a83c04054145cd0972919a88d3b862610ff08262b07fb616e
REC|DNS_NS_CONFIG_REF|IDX=808|BASENAME=dns.json|PATH_SHA256=4ea5bb8760387d73a0715dc805610b9bd5b2c65ebee5fd53a5d70cf791424106|SHA256=68977a048317b9723ece48452b9c51674ec286abb475f7e677d90e912fc97da4
REC|DNS_NS_CONFIG_REF|IDX=809|BASENAME=networks.json|PATH_SHA256=aa36c71fbb2cd6f3523aff4209113c422a3fcba34319f5cae657f511098a6a15|SHA256=255285fb369e8e8b8668a03db541bb4a2b793a54b89135d919c1f91c500c0d19
REC|DNS_NS_CONFIG_REF|IDX=810|BASENAME=dns.json|PATH_SHA256=ba490c2efeaac2aad248358b3c5b5a169e2cf56ffc6331247c0e923f416e6ba4|SHA256=154b351e35ab24b2e9b883bfe639e65179bc3c05257b8db6934a4e25956c0855
REC|DNS_NS_CONFIG_REF|IDX=811|BASENAME=networks.json|PATH_SHA256=5ceb274f82a2ddc26c772a24a641ebd6dfc4684d37711f5682d46b00398f2c1b|SHA256=c5fc164cba11467cb8262efd53edd808a07bb3fef5fd4275822ffffe2ef7f9ef
REC|DNS_NS_CONFIG_REF|IDX=812|BASENAME=dns.json|PATH_SHA256=c4c66a64529b6517856ffb25dfb3f08b15ccbb9f8aecd7248744fcd80fdcd45e|SHA256=60ba79c3d97442aea5c271bb0863a4b8de1c9fd891e35231fd058295ff8e8ebd
REC|DNS_NS_CONFIG_REF|IDX=813|BASENAME=networks.json|PATH_SHA256=dfdabb3694a0e63d4c2e4173a092547cb7fd9729cea303a6c96f89d20ae1c5a7|SHA256=31661a004a67e0a974cbc5e0f98160d1575ccf62e0f817f1d2d2fb278d71e1d9
REC|DNS_NS_CONFIG_REF|IDX=814|BASENAME=dns.json|PATH_SHA256=28be0385b7837597afe53df4c8836840d9e32536bcb18cbe06aacaac90fdfa1f|SHA256=82fd40aaf6fdbdc04b9eff006c9c84e54787864bab23700abc7cdde69194ada1
REC|DNS_NS_CONFIG_REF|IDX=815|BASENAME=networks.json|PATH_SHA256=58a658379fcc92e10379fedc6f02f32d34af8890b53d24a02be3c232e5c41c1b|SHA256=8faf2998262c86c89c102eefa9165ebfb7c83a906967b9957cc7a870b88ff5ba
REC|DNS_NS_CONFIG_REF|IDX=816|BASENAME=dns.json|PATH_SHA256=b553b2b4424dd4e9e495b23df8f93988e27b3adf723a059ce4680d5d1aba99f3|SHA256=f80ea1a1380ceca8ddc6eeef22fb3ea5bc6215fe3e0109631cdac2ea5c5bcea7
REC|DNS_NS_CONFIG_REF|IDX=817|BASENAME=networks.json|PATH_SHA256=448d3be039d307f5ad9665e59e163ebc7341f5f8bb5f6b2b005c3cbce495f8d1|SHA256=1122375c3f0e4378b8fb6aea3e1786ed69bfaded71a1b99dd166316aedbb039a
REC|DNS_NS_CONFIG_REF|IDX=818|BASENAME=dns.json|PATH_SHA256=abec176cd9f703868e92a6f56fd619d5ab0c9630c1ec0c23c6d9cc80487aad1f|SHA256=229352d8642ea86039b2ad7c0484e1adc603e83dcf3714f03f668f13aa54ab54
REC|DNS_NS_CONFIG_REF|IDX=819|BASENAME=networks.json|PATH_SHA256=8252c071a1868c656fe196365d177c3746f2ef42491477d76dc82f0435ab5b6f|SHA256=9c281010ffdcd29f2f354199ccaa030e56ec5c91ca343d93107252db4eede0b3
REC|DNS_NS_CONFIG_REF|IDX=820|BASENAME=dns.json|PATH_SHA256=19f75d056cd2ba83334f39980b56550c18b3eb5251ae0f5d7d336a0604dbf666|SHA256=97fecd59fd9fa5a31830b0a9d853bc47ddd92682a13a19a7d306ab801e4faa83
REC|DNS_NS_CONFIG_REF|IDX=821|BASENAME=networks.json|PATH_SHA256=f38e2d2ca62dc728254e76db6c9fad385cb7643b2aa93c0bef470b70aba0a80c|SHA256=5cc6d68e53e1c933d15a7cd0521a3b6e861a51b2ad9b282b748c5259f97e86bc
REC|DNS_NS_CONFIG_REF|IDX=822|BASENAME=dns.json|PATH_SHA256=c5e3d1d4d06dd5179693c29b2ee397b4d9b00860f0629dc0a108bf51a4844b38|SHA256=4e0b0cf16ad9c47c15fc5f836afb7345a03761be58c14eff87d0bbc50b864fce
REC|DNS_NS_CONFIG_REF|IDX=823|BASENAME=networks.json|PATH_SHA256=637af596e60948aa564f7d7107984c6e4ab5596a9edf620b9d5b8f66097b5235|SHA256=a317d2ee2d238eef38ee0163dc5378f2c6faea71ee3463460dbdc57dc88d89ac
REC|DNS_NS_CONFIG_REF|IDX=824|BASENAME=dns.json|PATH_SHA256=9d8b5ce973fd8a09e4e29d9137b6bdad0e1e7f0e1245b3e53ed3f5985d8e19af|SHA256=1555da06ef8482888df1e3f1f367be2591194bcbbb5feb2c5c95be07e8c03fa2
REC|DNS_NS_CONFIG_REF|IDX=825|BASENAME=networks.json|PATH_SHA256=89500272d1c9912318837a3be9496cdf6ae3144d3ea9689fd35ad71d8b4975f6|SHA256=e6aee129510e9336e2208e7478443bcdb058c39a77bce97fe28b8714b8b34e70
REC|DNS_NS_CONFIG_REF|IDX=826|BASENAME=dns.json|PATH_SHA256=6b372d4295314e82b57efeab17a90f1c78e1589942b3517ef1b2b4bd643fdf14|SHA256=d41be437d75f5aca341f4bfa4f659d7f91e90be5c2dec2cbe2448a7e743be720
REC|DNS_NS_CONFIG_REF|IDX=827|BASENAME=networks.json|PATH_SHA256=8582f154d7061e6feb2bd62cadf4b2d10629a954c11a7d8ef0c4d7edcc90e8c2|SHA256=2549d04e28e6bede341a870299a8ad5f3330f8bc09c96355e6902747330e2ce5
REC|DNS_NS_CONFIG_REF|IDX=828|BASENAME=dns.json|PATH_SHA256=a23ed0164d8b0daeb15493e557084c34920fa840c3229e66d3498ace279ac510|SHA256=ec9e572e648910f5594a972b56d8cee331aeeafdc6b854a13d2435574cfaffaf
REC|DNS_NS_CONFIG_REF|IDX=829|BASENAME=networks.json|PATH_SHA256=b6ca1996da63c7a1bc48da155267b8336d1a1f13783f5e6c352a9a3b7ad79fd0|SHA256=16007f43859f99054343545a86c4ab9ca1222cdbe8f1a4facf6c4c25b5a5e2da
REC|DNS_NS_CONFIG_REF|IDX=830|BASENAME=dns.json|PATH_SHA256=0b65d7add951821a642b548b0c47b38c62225cd32aec315851f988ca3d5aa805|SHA256=a46f4a5ba213caceab57e523634b570b35648d159d0dab6e5b18f5c6839eea95
REC|DNS_NS_CONFIG_REF|IDX=831|BASENAME=networks.json|PATH_SHA256=8a6cb363e09d0df9d37cfbf5fbfa9284c764f5fcb4bb393ceeb5d0bdad9068aa|SHA256=397c9d1eca77c38bd1848506b5fa56d1712f686b502c006ac343a2aa627f2df5
REC|DNS_NS_CONFIG_REF|IDX=832|BASENAME=dns.json|PATH_SHA256=4bf71ab44e30ae94dbf8e5c1d9c26ea18d83a5b2841b3d6ddff879b0eeebb267|SHA256=e6a04eeb2fd39d8543ef37742ecb2424aa4a015461d9332ed36b2142d0ca7c09
REC|DNS_NS_CONFIG_REF|IDX=833|BASENAME=networks.json|PATH_SHA256=89f2d061abec581b2fc85abba207e1e50026ef9b461a115d0dea0c34dffbb36f|SHA256=52e1c1eab206b59c0974db124e4aa52262dfd77e2c1a822cc2b5c4a3efa82a23
REC|DNS_NS_CONFIG_REF|IDX=834|BASENAME=dns.json|PATH_SHA256=e926338840166d95b9b78da0fdab045df950bdbc2f32ae10493978c0cb7df316|SHA256=ea302fefb0b33c8c321a2e56e241697aedf6d464291090b90f32c7e6ac9464ee
REC|DNS_NS_CONFIG_REF|IDX=835|BASENAME=networks.json|PATH_SHA256=ca2a1a7b77ba456a83de27611c0c02ee2f012bbc560dcae2f7ac85c630716850|SHA256=7c3a006807787bb3ceaddf99783ea6f7ea46d903fb1eae27b295ed1ccce25063
REC|DNS_NS_CONFIG_REF|IDX=836|BASENAME=dns.json|PATH_SHA256=1dde2dd344042b1ee3b40eb9684359c069178e140cbab765e56cc482b9e8d414|SHA256=0a196fd51eac10d4eba2136fb6d458687d785a0a608b35f5211ec946a651c0d6
REC|DNS_NS_CONFIG_REF|IDX=837|BASENAME=networks.json|PATH_SHA256=8c76bf132b09bd5f2fecaeccbda0f94505ffdbf62f57b19a3a518ccd67e50d4c|SHA256=d1ec7c6a5a3ae943460e630797f35026be6a41992e9fe229a074d205746f95f2
REC|DNS_NS_CONFIG_REF|IDX=838|BASENAME=dns.json|PATH_SHA256=d65740b0105af87dd80a0cfd564a499ba93f4e688f436cd81bdf1c6511132bf1|SHA256=589583a5d9de5339ce3edd38d56e08e1cc9260332cb53509b847602cec1f4b69
REC|DNS_NS_CONFIG_REF|IDX=839|BASENAME=networks.json|PATH_SHA256=80c878e79242302f3e0073b2076e4c8781ff77e0b6fec50d0f4a4c124f8941ab|SHA256=d3dbfcc4cd5401ee9368cc181ffccbf59a24efe717736e42414f6e56b5a9d801
REC|DNS_NS_CONFIG_REF|IDX=840|BASENAME=dns.json|PATH_SHA256=8226d94054d08dd002a51eb042c4f0fd4139a3995f97b61e70fa6b604c82519e|SHA256=6c2756a4cb83b9df62aa6867f77c1789303b01cd82145bb33d5fd065f740924d
REC|DNS_NS_CONFIG_REF|IDX=841|BASENAME=networks.json|PATH_SHA256=b292d6bbbbb6b6bdf61392f896c429e1d8fb6036541cc70d8500d3fb4635ab96|SHA256=c5160cadd1412467f2187035a191ac1c8e87241b70da1bec6cebdd39833cde62
REC|DNS_NS_CONFIG_REF|IDX=842|BASENAME=dns.json|PATH_SHA256=79d2bf276e64e67cfb1b2046a3595e0fd5ab0faa6d917aa31eb131598af6cc09|SHA256=443c22f997330d5b424ae7b20d91ff2ca65376e385ccea270bb59b5ec7439933
REC|DNS_NS_CONFIG_REF|IDX=843|BASENAME=networks.json|PATH_SHA256=28ada36eeb2ea962ed6a35d68e97762e33f6312acdc599f109de947c6ba0eb70|SHA256=fff0aab28ecd38de331aa7f21cfaaf5f4fa4de3faafe25abbd1c5debd6b8e3ff
REC|DNS_NS_CONFIG_REF|IDX=844|BASENAME=dns.json|PATH_SHA256=0ea14eba22e98b7084734a7d9763828b378ddde5a03a2548791280ca361c2ac2|SHA256=ae6b8830b27b28bc0c2915e15588e831dcd7e13655d46e3eaa6082b957fd66a4
REC|DNS_NS_CONFIG_REF|IDX=845|BASENAME=networks.json|PATH_SHA256=3b341dd7c388f2d415933ee5f0e20caf65105e29a15ab392c472657ce616759a|SHA256=2c5354fc3f5845c9318688e4e6a640bad3fc8b94697a84822f9f64ff33fe87a5
REC|DNS_NS_CONFIG_REF|IDX=846|BASENAME=dns.json|PATH_SHA256=c7e2596bb82e4fe0b2f91d79565aadd1971cee0d2ff99fc55a4c356adc72af8b|SHA256=2c1fa5dd0a342f5dbd833bcb23ef3eb95e48b38644a640fb463646a7d9a66022
REC|DNS_NS_CONFIG_REF|IDX=847|BASENAME=networks.json|PATH_SHA256=e2d54a814ca2b9ae7ecbf65a07ba7ba8badc8448a6c0e1b7b0a57b03ee3212e6|SHA256=8cba419f2e1877342b40dc01dbf648d85625243829b815acd4ebd0fe739b7adb
REC|DNS_NS_CONFIG_REF|IDX=848|BASENAME=dns.json|PATH_SHA256=0e23c8654dac98b3b918768875f361499b9337b8b25d674e98cbf2124408f1e4|SHA256=37240036bf117f77de6a3ebfbb22ff04e3ee9dfac6733cfc243d9d3de158230a
REC|DNS_NS_CONFIG_REF|IDX=849|BASENAME=networks.json|PATH_SHA256=daac5007415dc9ff4a33740b1c6dc4c6c6deabbd0f4c814fc50e59661ae05b89|SHA256=7b83d019177f3e56e459ad463ab7c0218e8de45dcf80778c951ea7a2cbb71ac2
REC|DNS_NS_CONFIG_REF|IDX=850|BASENAME=dns.json|PATH_SHA256=39cd3e2b9560caa35727172b39dd8fdb7ae561a217f815799dc2676495782c91|SHA256=eba4083bf425568b643e892061677ae385d72b0b068ca88c18623af03c814853
REC|DNS_NS_CONFIG_REF|IDX=851|BASENAME=networks.json|PATH_SHA256=62feade76566af8909b783e08f320eff89135ad7932ada8c0bdd3883067b7c9a|SHA256=78420e25ba6c85539ef69e6ca970bb15ba47f3481c1732b1d772c912fab0a8b4
REC|DNS_NS_CONFIG_REF|IDX=852|BASENAME=dns.json|PATH_SHA256=30279cfe861106ce76c4efb68da219f38e6395cf5b5b32de50321b3c9c915b54|SHA256=4c6a308115fa0a5eb141311c4563e9dd53628693ab645135fc6eebf35f65b6cb
REC|DNS_NS_CONFIG_REF|IDX=853|BASENAME=networks.json|PATH_SHA256=40f462d001bcf9969c7c28cb349e5245c52f7d6ec12e7bb6982a8e538e083c2f|SHA256=26c0951fd8ad7d787d8405b7df48f2496dc1853b7af33bc1a687fb89e5ba8f48
REC|DNS_NS_CONFIG_REF|IDX=854|BASENAME=dns.json|PATH_SHA256=3b06a0fb80a23159d815210a197194753acedaa26f90b927b0a66cde7fdfa96e|SHA256=b1ed378438065c852e8bb039a2663a83b6968cc3f70e914ed832a7630d5aedc4
REC|DNS_NS_CONFIG_REF|IDX=855|BASENAME=networks.json|PATH_SHA256=3d97b1de3c60668a666cbaedae924164a54a6f9c546729a289c667fd9d12f312|SHA256=6b1f55a79803ddfdb7e70832e75e40343e43bd3b776f855f3e20416ae2271f21
REC|DNS_NS_CONFIG_REF|IDX=856|BASENAME=dns.json|PATH_SHA256=7c91be289850674e714da26338c47bee9bdb10138478b535d2900d0777145694|SHA256=f52633a3959de2b0b8b3de22b63852bbdd390724bf33d5bedba872919f5e4afb
REC|DNS_NS_CONFIG_REF|IDX=857|BASENAME=networks.json|PATH_SHA256=fb55912ef05bc06ff0e760830f3cc86c7c6c82b9b1aed77a57ec34b3c9faef65|SHA256=6736d7c8875d302e1b78c8607f47047b8a84b0b895349fe8738a38b95ac716ba
REC|DNS_NS_CONFIG_REF|IDX=858|BASENAME=dns.json|PATH_SHA256=e33d3489e9f1c1c991f2d0c25cf8d07945c55ff045fd6f3f2907b6256dd9dd5e|SHA256=5caf1140d969f86870f9f4c95bb8ba8adccb474264f544efc141794349def058
REC|DNS_NS_CONFIG_REF|IDX=859|BASENAME=networks.json|PATH_SHA256=a0d8e361a9201d3c322285eb09ae9547fbdd99509fffbf07acc555905edfd2ea|SHA256=68398bf7247db9f5bb87ff8141a734211d0168972347b47c91a68ae58d0a08d3
REC|DNS_NS_CONFIG_REF|IDX=860|BASENAME=dns.json|PATH_SHA256=4019df814d12b09f4f74dfb22edeefdb06fe43d976da343b5c07f6f748911c1a|SHA256=d209b1c183b625955adb3a18dd006a3810c4697955c97cad175ee2451850a957
REC|DNS_NS_CONFIG_REF|IDX=861|BASENAME=networks.json|PATH_SHA256=0d566dcc9bc2a606b5b4d97ec679e458480eaba8d1b4c6e8a8f921e5e3ccfcdc|SHA256=e788699181357bcb870a0af01ad70db903e5594894fad43c80147ae76a491312
REC|DNS_NS_CONFIG_REF|IDX=862|BASENAME=dns.json|PATH_SHA256=c7a4f8156a4974d5f3d083bfa2111a4029f7b049f1c5e743826671c5f7d2fa90|SHA256=ec42988c47a571bdf2a90679a52cea70c1019c95b383aafb85ace2e308b01c51
REC|DNS_NS_CONFIG_REF|IDX=863|BASENAME=networks.json|PATH_SHA256=2117d47145f164ebc15c21a6ed85c1415714643ddc6259da79edd4013f66c4c0|SHA256=40bc0b8c688c12d93f3432ba217e7b03df77bab1b05f310726f41ec6137ffd44
REC|DNS_NS_CONFIG_REF|IDX=864|BASENAME=dns.json|PATH_SHA256=5375ef34dd7e987fb4aa7b7f1197da8e1c31ce8f91c27fcabb4933f74708c0d0|SHA256=0491af9bc8602828ae3e9e7767d9e4038e7eeb7fdab370ec1f534aedddb30e0b
REC|DNS_NS_CONFIG_REF|IDX=865|BASENAME=networks.json|PATH_SHA256=951052b6d848e56ddd4960aaa0223b3b7fd52ac562f7666590d18c4ee6a61a39|SHA256=32560fc9796636acb32dfc83724d5e7b99740aefd0c72b36b782d3b53358a4b7
REC|DNS_NS_CONFIG_REF|IDX=866|BASENAME=dns.json|PATH_SHA256=bf6357ccc02027dd7e9cc298bf6411555d711005b69235adf279a21f7975b796|SHA256=976f44d1b581aa0b7dbd441ef3b5a4885876ae38647983a14cbda3d78d8a2b0b
REC|DNS_NS_CONFIG_REF|IDX=867|BASENAME=networks.json|PATH_SHA256=361bfd2dd879aaf23f81a047d3210833e0a2966fc0a9a9bca18d245a113d41ae|SHA256=fb3c6c303f5a515b6d7a0d1e41118e20bfbca3d1c428dcadc8680db9e1c131bf
REC|DNS_NS_CONFIG_REF|IDX=868|BASENAME=dns.json|PATH_SHA256=acbf2622038bc52eb6f20768dd62acb48adde25ba20fd646d82d7d90e8bcc62e|SHA256=b7dfe48d18d61eace7655ebd0a745df6a777a4713f786c9e6288f0d3474f7af9
REC|DNS_NS_CONFIG_REF|IDX=869|BASENAME=networks.json|PATH_SHA256=d16b4c73b045ffbfd87deb9c41d029bcd689f14482743e03c982b04c28144077|SHA256=e558fb69b0f083dad74a401ef65cc1aa3db94c43353ecccd7350a0f29159fa34
REC|DNS_NS_CONFIG_REF|IDX=870|BASENAME=dns.json|PATH_SHA256=ec9ddd630b410780edf8c3c4d4bf5b83497b2069a816af16018fbc7119081e9e|SHA256=397849597c0297391f39fc136a7eba03ea2f2956e9204103516a6544c6e6fca7
REC|DNS_NS_CONFIG_REF|IDX=871|BASENAME=networks.json|PATH_SHA256=1066d11451f6d44e62d935dfa000b87ba1bb3716c24ae763fa79b22e5ca9acea|SHA256=3f8bd6470c1fc980f551d70366400735982e6c002507bf3596321ed1cbcdaf4c
REC|DNS_NS_CONFIG_REF|IDX=872|BASENAME=dns.json|PATH_SHA256=9c2c87b3098f16a13077ee0525cadd28e8f097a864838d28360a98edc75fbcd9|SHA256=bf9b4ba8fab6d1da2be4ccc4901b28690cad7225c32d555b304b63dbf45fdb71
REC|DNS_NS_CONFIG_REF|IDX=873|BASENAME=networks.json|PATH_SHA256=5c6d44fb4c24b9dec86e4beabda07a04df581a9cdeab6b9771f47de5511f67b6|SHA256=fcff7af202b95a68afc225738e1e747b0a35bd64ac6bf7bb00be727ff3e3dcc7
REC|DNS_NS_CONFIG_REF|IDX=874|BASENAME=dns.json|PATH_SHA256=d4f5715d4664c2d3de3e289e113861ed02a6730a4d82b7c201520c300de03176|SHA256=1a212d7f7f84be68f4cd425d9f3e84c566dd1fc44e7597d661243f8e2cdf8019
REC|DNS_NS_CONFIG_REF|IDX=875|BASENAME=networks.json|PATH_SHA256=a588c1b1ac7bfbbba74d028f32229fccb2b13650a31fc0adfba004d16ca396f0|SHA256=4fcb1bbbc6213309201dea6e563ef2219605ee3f7d8964172ac843ce0af3306a
REC|DNS_NS_CONFIG_REF|IDX=876|BASENAME=dns.json|PATH_SHA256=81739fe41ef1f9828a39609476683f006a486115d70e56fd5f2546b5da9cdc46|SHA256=8ffd2077d84204bab19b6014944dc068d04836f5dfe6ac2ed79b694edd811991
REC|DNS_NS_CONFIG_REF|IDX=877|BASENAME=networks.json|PATH_SHA256=b80034d62625fc9a3bf4c2a0b70313a5d82beb15e0f88b0ead8b20e577735f58|SHA256=9d28a53598bdb6d559b47444cd863073e054398adf6706da21468bb3827985d6
REC|DNS_NS_CONFIG_REF|IDX=878|BASENAME=dns.json|PATH_SHA256=ea2207ba5bcfd6442122fac12f3d2b1155d5294b2c29a3235b109c5268c1b701|SHA256=71e583fcfdc136bd2884e7c711d8bd201b8e0b65c7280aa9efe27648742f9296
REC|DNS_NS_CONFIG_REF|IDX=879|BASENAME=networks.json|PATH_SHA256=134b4844ceba836474eac85d01fbebba3da6b7a03432a8960633d9ed3c59eb7b|SHA256=4f14265393289d82f1cbee373f961d157d033f52e7fdf6e22cfad683f54c179f
REC|DNS_NS_CONFIG_REF|IDX=880|BASENAME=dns.json|PATH_SHA256=666c59844202eef752cae88161521335baa070505e65382705b2e1e86bb64baa|SHA256=15c3243247326d270fbfd609cf72dc26215392719ee2da24a0ad51e279134d90
REC|DNS_NS_CONFIG_REF|IDX=881|BASENAME=networks.json|PATH_SHA256=1cc7254ce8b7eedc7d8cf4657a37d524101c46b0ba4e79537eaa03b6b6bc9ef4|SHA256=c634b96790be5c9e1b0962a6fe4e6f3ceadacc661ae5cddea51734400feb334e
REC|DNS_NS_CONFIG_REF|IDX=882|BASENAME=dns.json|PATH_SHA256=6637fe2531256d0a5f4794181768440a6416d5d1649366509567482789c23ec9|SHA256=a973991b541a91544d812a2b2c4172fe437d907165975974fd1677b902b0d8d0
REC|DNS_NS_CONFIG_REF|IDX=883|BASENAME=networks.json|PATH_SHA256=7821a442d549f1b9f8237ae01f69338c66cabd9ba57acafa3fabbbb223eb3ad2|SHA256=d438c713041f4868032d6126209b180b36116f9ab172c86e9807d7b1c0ef3d18
REC|DNS_NS_CONFIG_REF|IDX=884|BASENAME=dns.json|PATH_SHA256=6d93348a1f8fdfe3f26a25e1fb174bb719ad3d8e293189a5750190bedb7987a1|SHA256=2ea9aa636ecae923654b99920d0599f4fa91605436c57c444de3b46f28cdef84
REC|DNS_NS_CONFIG_REF|IDX=885|BASENAME=networks.json|PATH_SHA256=6104d79dfdb1fc07405eff8970f0da19d27558ea0df3f68720df94ba40bbbb33|SHA256=47f131ed8030a464369fd3a2d954c2d3d0587c07f87f357115257c2de94e7c98
REC|DNS_NS_CONFIG_REF|IDX=886|BASENAME=dns.json|PATH_SHA256=ffbbfaa13a113deb2c557ccbd1138e1be5068fd1e9e8adce0d6604971881530e|SHA256=a30e0c0de6ad893a3c092c51919308db7201b2b6adbd7b6533f532783ac96b60
REC|DNS_NS_CONFIG_REF|IDX=887|BASENAME=networks.json|PATH_SHA256=ac97be42415d9031a0c8bd792172c8897d7da2050b9cf74ee088fa19a4555270|SHA256=d278d9c478fe3bb4776ad8647d92f4e5f85897d9a2d85081b6609205c97190b5
REC|DNS_NS_CONFIG_REF|IDX=888|BASENAME=dns.json|PATH_SHA256=8325e30ee61718d8adfa42a64349832e71dbcc4a0cd3b7ca2a5c617d22851d53|SHA256=dae21a6a5655bd9512b38eb3d190ab64fb9b6a8110c2a7784d5f33f85891f4c8
REC|DNS_NS_CONFIG_REF|IDX=889|BASENAME=networks.json|PATH_SHA256=de00af6434d223c6b5ba08525c0c29114239ea43605b216ccfca5fa86e333e6a|SHA256=3e16794ccc96d7414b1c4df36d1d49980aea92bd76a94e06d1bc724eb34c6355
REC|DNS_NS_CONFIG_REF|IDX=890|BASENAME=dns.json|PATH_SHA256=5ab15ed9c136ed26ff40bd1ace8387df313de6d0704b40d82203817c55d7882b|SHA256=173c239b121bda2d1a0d85fac3b6acb365e12af58a7e7f2acfeae182a07494ea
REC|DNS_NS_CONFIG_REF|IDX=891|BASENAME=networks.json|PATH_SHA256=0f192f72c142ba34192e527b6630c0d8dd43f1ab8cbc51348687e3fda807bbe2|SHA256=e563a25539d5f938c73b0b40291181dc2c6da3ac4570a5d75d10d6702f33d9c3
REC|DNS_NS_CONFIG_REF|IDX=892|BASENAME=dns.json|PATH_SHA256=de26e23480dde21a6605aba31d0b70b88e779aeffdff8d56fef5f706b174dac0|SHA256=a7ecb304e08493483ce2fe7209663780150ad3bb61ba01bc5c1f847764cf0549
REC|DNS_NS_CONFIG_REF|IDX=893|BASENAME=networks.json|PATH_SHA256=fae8d6f6e6de6ac723ee0ba1115dbe70847fb810413c38bb75420ba5b53111c9|SHA256=19a69cc6f02328ecbcf8fef2c44775f73c3364420cb381db892198400ca411a2
REC|DNS_NS_CONFIG_REF|IDX=894|BASENAME=dns.json|PATH_SHA256=6123b7e17a763f5734cc8761e9bf96db9a62de1528432f012f8509748312bb03|SHA256=ae7bcb0d59e7b6f18bf7395efebd939ab5832a15d2ae22d68a9d5df9871de8a5
REC|DNS_NS_CONFIG_REF|IDX=895|BASENAME=networks.json|PATH_SHA256=c3491e3c53e9ec838e46b74305d651c01d22969b06a136533a6b6eece0bb2038|SHA256=a5113dd826b4f58e969b45a9878b0c991fe4a209ac243b229453d9a704de8b85
REC|DNS_NS_CONFIG_REF|IDX=896|BASENAME=dns.json|PATH_SHA256=769bf4d726ecba1971425c67462fd91596eb43a83e6fb8046936290c71b337da|SHA256=ab56e9bb5270d0b14d64113e8542c2d791aa8b897928ea017e584e5bef9c0c7e
REC|DNS_NS_CONFIG_REF|IDX=897|BASENAME=networks.json|PATH_SHA256=d12059e76b9ec42b49279ba5ea0f9a6ecc85144fd441817155c9a43ac6230ef5|SHA256=768740931f0463eb0cc0fef8dfa41567517acfd3dcaec8740ac9c104b1689f1c
REC|DNS_NS_CONFIG_REF|IDX=898|BASENAME=dns.json|PATH_SHA256=d9e44cace9bc45180d5b46a36a18658d3fd0fce9c4ed09cbae5c2868e31cbc61|SHA256=bcf0d8228c98526f056d6205ed25e584bf6e58463594e58c7582d760d4879a94
REC|DNS_NS_CONFIG_REF|IDX=899|BASENAME=networks.json|PATH_SHA256=82dcb5abb8025c0819ef1664c7aaa15413488eb59731053cac0916313f0c585d|SHA256=27b80ff227f2e92588313afb4752783cca5de8c50a9e293d710c2616db912a4c
REC|DNS_NS_CONFIG_REF|IDX=900|BASENAME=dns.json|PATH_SHA256=32fca19eb5475055087cce732ac7f6bf17b7c233f5bc140be523384a7eb57f30|SHA256=c3eacb8d0d4db6a2cacd7431194262278cccb2ee51a7e6eae664685eff8fdedf
REC|DNS_NS_CONFIG_REF|IDX=901|BASENAME=networks.json|PATH_SHA256=79452e1fbda08b5d35ac4e64fa2cb4131aaefd8393711b61694fdb3107892479|SHA256=e4ef671babd54043a67081c9e860fde82ae4758083eafbea3fcd11d1ccf45310
REC|DNS_NS_CONFIG_REF|IDX=902|BASENAME=dns.json|PATH_SHA256=24cf0a1eb69adb487effa238f81366c13a84e8524d76a2b6eb06a3a7f4660419|SHA256=a9fb6b2c574dc7cc0958ea67dd3ccc2171f215776e2492c0ecd816490a745e50
REC|DNS_NS_CONFIG_REF|IDX=903|BASENAME=networks.json|PATH_SHA256=656d83f38654ea1906d7d1a45e474d10013bc2aacd0cde86a97b276079b4cdca|SHA256=ca6ab0ec433144ec1cc1d62770bc48e8ce303217d5ca9f9eb02a484fa283c866
REC|DNS_NS_CONFIG_REF|IDX=904|BASENAME=dns.json|PATH_SHA256=58ae2ed28f4ebb0981a7b0848520bfb257c475c8f784dca03cfb68d65ad5369d|SHA256=4606c3aaa835f7e0568711c20646b8ecf73bd87a8a3487890a12e09fc5d6f4dc
REC|DNS_NS_CONFIG_REF|IDX=905|BASENAME=networks.json|PATH_SHA256=95adb74c8466f666d8825b341fc8354e50ef630c19f9142028de0be112a429a6|SHA256=6b2a81c0081ee668f478d6945a30d1f627c540ff4074320ffb8a1792762b811e
REC|DNS_NS_CONFIG_REF|IDX=906|BASENAME=dns.json|PATH_SHA256=01977967b03777af0bdfd25334b4dc29c8b8186ce21799237b10626e96a386a4|SHA256=f3e5c5950dde8d4a580933972d6a6e3c38dfb5a845fea9ad69dd6c3a7eeb6225
REC|DNS_NS_CONFIG_REF|IDX=907|BASENAME=networks.json|PATH_SHA256=21f322d0ad08f446dfccd0515d101cd597d35f38b285de7c17d97111320aaa36|SHA256=56c2839bc3a28e628906877202a9a82b82502c6adae0aef66cbc85fef04b0b53
REC|DNS_NS_CONFIG_REF|IDX=908|BASENAME=dns.json|PATH_SHA256=640212fe2fb3367c827127760c9c684075b27e2621a87075317016a0ac9b7f5d|SHA256=5915120a13f97ed95fefb3a6abdeff32db93cb128aa1791ef954f9071318d0c8
REC|DNS_NS_CONFIG_REF|IDX=909|BASENAME=networks.json|PATH_SHA256=e8fea5c9c75012bf2f252cd41a8dadcc1150770504be024e028dd56131f50e90|SHA256=3b6629570a5c27228e0f5f59bb720c8935b07505c69fb7c17b43a4d2e2b1ed05
REC|DNS_NS_CONFIG_REF|IDX=910|BASENAME=dns.json|PATH_SHA256=37baad8b0fef2f4784d8cb3d9a8312de481364bf5f5e3593a4f04576ff4969f8|SHA256=ae8cfa34e7498029730d933c1e4690a2eb29c3b91479937b3e60e8f726fc5d3d
REC|DNS_NS_CONFIG_REF|IDX=911|BASENAME=networks.json|PATH_SHA256=15c57b74f5771d32b43f4aead4a03813b0b467dae48f7e387658fa27cd1a6d8e|SHA256=c182199dbb77ba23336db24e2ddaf78456a9491a388c1dee01e602b62706f9ae
REC|DNS_NS_CONFIG_REF|IDX=912|BASENAME=dns.json|PATH_SHA256=486b740ac12fe95b00f768d5eb974953ba157cb22edc0b19d78270ff5c4dda03|SHA256=ea766d810d6d71d27ba32f8d696011103198bdcd928958100ca5c6cd21da010c
REC|DNS_NS_CONFIG_REF|IDX=913|BASENAME=networks.json|PATH_SHA256=5ba1fa10c0e1023c01f5bc44470b91860657fb35868fad03f4b09b7dc8b75fa9|SHA256=0e5ef2b271704de7ed6c071ebd6b58abb5a9cbb36cb8ea8b2447e90c8d7d31b2
REC|DNS_NS_CONFIG_REF|IDX=914|BASENAME=dns.json|PATH_SHA256=7e20623c7cfb0cb48c56ef548b95bfa4800fe46502bad011f6b36b7f399429c1|SHA256=92ad005f423d0a1fd27ba90c1604d30a384a4d8c2aad9e8f16b1f2886e998990
REC|DNS_NS_CONFIG_REF|IDX=915|BASENAME=networks.json|PATH_SHA256=929088fba1467de43892389c872d0d5e15a66b0c1c67c8dcd0d547a86ce4b06c|SHA256=2f70d7d6840fd1a283f0ead2e536525e3e294524115b8c649682e692a128d982
REC|DNS_NS_CONFIG_REF|IDX=916|BASENAME=dns.json|PATH_SHA256=51bd372220a0e5e4ef38a0c4e128f6c301aae6cf82eb058e3a777cf974140733|SHA256=7396cfc2fe4e0a15dd8a137b7c494adead5ecf16bf9edc3da7cee10f38c152f6
REC|DNS_NS_CONFIG_REF|IDX=917|BASENAME=networks.json|PATH_SHA256=ea4851e93b67192856a132bf945ff67bee948d43b2708972934b9c85f001607f|SHA256=480855653f0e556cb53e38cc3ddc737f83e0ab09da77cd6329f354b1f78a20f8
REC|DNS_NS_CONFIG_REF|IDX=918|BASENAME=dns.json|PATH_SHA256=6ff567cf17987458427536a52054d89d77c21a979e421c1ee71feec7cfd5155d|SHA256=413d40a5470eaf58ba622ed4e652afdb76ac919af820541de80d57345c5df38d
REC|DNS_NS_CONFIG_REF|IDX=919|BASENAME=networks.json|PATH_SHA256=e10d08bab8ab379475ab7fb8aef48830736221024aa595f73ccb0e5a1eeefbde|SHA256=cfb7012d0ab5378f81b6f1f92062d7638eb605dcb1f48ab9812905d28d7537d0
REC|DNS_NS_CONFIG_REF|IDX=920|BASENAME=dns.json|PATH_SHA256=08baa255797964fd2a3d4a0b39b42af199d7abab5eb305fa755c37165cf8c41d|SHA256=3fef3141dcb79c15c93b5a0747c72ec51aa672bd22c6ceaa9cec29178551ffc8
REC|DNS_NS_CONFIG_REF|IDX=921|BASENAME=networks.json|PATH_SHA256=194d8b9ae7a09c0b1119523c2c42cb22cdc6f4155690b72eb4f1c2270fb1171d|SHA256=ce89f8274a5e39f78b54f76e73f54ea43ba8bc537cedc86af736172c8ff89a18
REC|DNS_NS_CONFIG_REF|IDX=922|BASENAME=dns.json|PATH_SHA256=68ad95f5dbaff72874cef9da2e5ae9c73c54584e6914ab29092f441a98e96f85|SHA256=60d586cc73f471e158f94b731927d32fe9d105e343975eb8f37a7e83ec46f103
REC|DNS_NS_CONFIG_REF|IDX=923|BASENAME=networks.json|PATH_SHA256=bd29b143442a7c1d21c425bdb7d6f28f3eed648e4bf72ad39f2d1184c2704329|SHA256=470ba094e5c16700557c18ab5149f6bae129ae22b3928dfc58b22f96f0f02923
REC|DNS_NS_CONFIG_REF|IDX=924|BASENAME=dns.json|PATH_SHA256=a8a896a8fe5f8c54123cda1afcb138045dc435df68c46007ef9df4dd2298e56f|SHA256=2eadd39b21d8d79da384712378daac58fc6693f90378cf90eed27514075c5dee
REC|DNS_NS_CONFIG_REF|IDX=925|BASENAME=networks.json|PATH_SHA256=367c67186a31c6f8bc0c806a3f7465191b7585680783f458f38e81b9d6e8241c|SHA256=3f6f28b2279c9d9152c4a06850cb2b3358fa778014cf8bb209ebc91b5c4cb5e4
REC|DNS_NS_CONFIG_REF|IDX=926|BASENAME=dns.json|PATH_SHA256=03b180e87656121a5b43591f8f0c43b5fe2bff2ebf99b079c6002558ff28184f|SHA256=2a5a4508d9f735228787137d0c254693484cf71bfc9fe060af3e8c2bd0346e89
REC|DNS_NS_CONFIG_REF|IDX=927|BASENAME=networks.json|PATH_SHA256=1e0ef84c65b48c6dce4c09560812385820d4079d1afe6414c8a7b693000f05fb|SHA256=0b739947928156377075e937591b83fb4e360f239a78ea8eba757ed10aaf5cf7
REC|DNS_NS_CONFIG_REF|IDX=928|BASENAME=dns.json|PATH_SHA256=eba17846aa6b30ef995c0da0bfa5ad22d1aae0e49369145028c06832af78215b|SHA256=cff18656246a0739ed93011f72b3fd3058c1d7e370d0cfe4513efd5442e3a9a2
REC|DNS_NS_CONFIG_REF|IDX=929|BASENAME=networks.json|PATH_SHA256=ccfa194bc9435e89585ce91059e7454a93cecbcf8f6a52b0b9f102592b3b8368|SHA256=1c77ef07937563703826a987642e73a16bcf000dee0d1aae3be198b2fd9d67eb
REC|DNS_NS_CONFIG_REF|IDX=930|BASENAME=dns.json|PATH_SHA256=2593574141e47ac8df283ee4c8d674392fb98e3a346dba3ed891e83a3a3aed57|SHA256=6b7135496355d47918b8e7b6e09c501178d9aaecb1a10190213437d71aa39238
REC|DNS_NS_CONFIG_REF|IDX=931|BASENAME=networks.json|PATH_SHA256=0b6e99d27bf4bf1afa6e2e9f9ee3fe150a4796c3f5415a174741b34664752d44|SHA256=b3ed8d016b2fb683299a5f19848bd0b5f726f4128909f98f945695f3a9129ccb
REC|DNS_NS_CONFIG_REF|IDX=932|BASENAME=dns.json|PATH_SHA256=aa96e728fa20584c78e57e3946256d863270922f20b759d5756c7878a9210e26|SHA256=d02a4843bd34cd72b0730eecadb647b40783a97e93a3afadc3bdf2241a84494b
REC|DNS_NS_CONFIG_REF|IDX=933|BASENAME=networks.json|PATH_SHA256=26c24a51e3ce1585ec3bee7429ecde0682539e1a2a6e208e5b0b2b3575ee9f63|SHA256=552cc5127abd6219f10e2ccd5f15733e2a753d1536106923cb537adda71d6e89
REC|DNS_NS_CONFIG_REF|IDX=934|BASENAME=dns.json|PATH_SHA256=ac353f9801dd48fd49bb04e14f7a10e669cd05c0cecd5c17f10111bd1e9f9108|SHA256=35aa0947e5502d0c87674da4977dd50fcce36aece6bb644e2e9e6244a748f079
REC|DNS_NS_CONFIG_REF|IDX=935|BASENAME=networks.json|PATH_SHA256=897468f4ebf565187a55b62f326e4a6711662e231d71c52b12b13daed0aba9e9|SHA256=e5dc7f7252343d6c64d470f4e3bc48ed6d1a9f830d14ab4d3495634ebeaba9c9
REC|DNS_NS_CONFIG_REF|IDX=936|BASENAME=dns.json|PATH_SHA256=b5268a51c4557b7cea82db758933951ee5e08d1ae04363d3890393c29c607507|SHA256=612cd9032427d3d9106f7b10c0d03c023a221d2cc0ed4e8beff275ab34b9ee4b
REC|DNS_NS_CONFIG_REF|IDX=937|BASENAME=networks.json|PATH_SHA256=e09934abd6048db773b4d808b617da65cadab44801f797d464c0c5a77335b005|SHA256=2a0b13d983438e035d2b2a7e42f030b596425f430728a13f2e28a21f1b46bf8a
REC|DNS_NS_CONFIG_REF|IDX=938|BASENAME=dns.json|PATH_SHA256=71fdc7ae25d4f072e6f3a074e0a2e31f6b8c916364c1f76fbc56900cd0b27f90|SHA256=6c8a0802bcb65e046f6aa5b428bd8d0883e63c31e4c98330443bdac328c6114e
REC|DNS_NS_CONFIG_REF|IDX=939|BASENAME=networks.json|PATH_SHA256=7df431aa17815a7d1013c0872a56600b7271af39ad5c1ae0f372b8f341b589bb|SHA256=d74918d2896b1280cffe04e6a3d18a100e142b7ddb318200c0d0e6f5a9b06ca2
REC|DNS_NS_CONFIG_REF|IDX=940|BASENAME=dns.json|PATH_SHA256=fc3f63cc54eb35ed73b3f7cacd881bb796e1f781b0ac855c311fae8d4da42367|SHA256=fda2db89a30ac17ea85dba47a39dbc5324593a266d6b530619cdc05c8344c061
REC|DNS_NS_CONFIG_REF|IDX=941|BASENAME=networks.json|PATH_SHA256=17972fd27740d1f2741f0d036248035ce8205da2e236ab8966a2389f85d90b61|SHA256=16f9483bd01408ebd22535ce66f975f945489f9188eacc35c221bac4546359bc
REC|DNS_NS_CONFIG_REF|IDX=942|BASENAME=dns.json|PATH_SHA256=75f69b10d9a6720f62159518f62763e0e2b2cda99012d4f190b1569eff5e1b5c|SHA256=5f4b98351dfdcf27b0e2000e771ea524eb5790361e2478c2feb747a674552cfe
REC|DNS_NS_CONFIG_REF|IDX=943|BASENAME=networks.json|PATH_SHA256=a7c950f0c62be0381546062ef8b2c8d9f6dc872b699caaa26038071723cf989b|SHA256=6d01764d530c0f87135eab3faf29c1c7e73eb156f1c0293e8fcdaf3cdccc5324
REC|DNS_NS_CONFIG_REF|IDX=944|BASENAME=dns.json|PATH_SHA256=cb5d64e76837b8b6650507c829fc991d9bdbf816aa5dc6a287e1b0fa05e7157e|SHA256=1f2a2fbe656f99ed7b8c7d994e9ca3f310747de34b57548dd96ce573cdc5702e
REC|DNS_NS_CONFIG_REF|IDX=945|BASENAME=networks.json|PATH_SHA256=a2f4a652da04a3e6b36f0f0d52a095e204386f70b50d6aef1cb68308e3cc9ec3|SHA256=c8cf5ca9bf56f2618776a13abd4113c1fa8c8cc7afac9589378effc401ec841d
REC|DNS_NS_CONFIG_REF|IDX=946|BASENAME=dns.json|PATH_SHA256=f84a7279887ea6a775f236b381d250d8fe960ff79d95d4e7e652c4c21280845d|SHA256=f12882fc9f04cd71042752d0a1b0722bbda411413dc70bb068a1f97b42ab5d53
REC|DNS_NS_CONFIG_REF|IDX=947|BASENAME=networks.json|PATH_SHA256=9e5f5f17536fb5f8df04c707b68845cb9d46723db62e5a7a71eb6521051601ad|SHA256=bb67e64353b8a3d8b7178db38bdce9b2afcfb01c0814e0369b1c22d17280ec80
REC|DNS_NS_CONFIG_REF|IDX=948|BASENAME=dns.json|PATH_SHA256=c8d44dca96f21957a42601edb79e332202bfe80db72c52a0436b9b41e7b9ae9c|SHA256=e74686d9a35a93f7d5a7df831e8c9bc5e4a2df0ee6b16b3df5779bfcc8ebd622
REC|DNS_NS_CONFIG_REF|IDX=949|BASENAME=networks.json|PATH_SHA256=3afdb699566046fff96850f39023972dbf6ef3ce953f28ce71be0f64556fb104|SHA256=25baadc3cbef0633f3a159b3af3c8914bb3a188c073d3e4c15d9575c8657d6a8
REC|DNS_NS_CONFIG_REF|IDX=950|BASENAME=dns.json|PATH_SHA256=77fdd1b9ce40f12459702e24a99854e8af307ec92042c5b8f9bae31109ce3ef1|SHA256=e63164ebf7c3ad1bc4a610c855a7181c59f111285a2eaa1241a19ae82cf772a5
REC|DNS_NS_CONFIG_REF|IDX=951|BASENAME=networks.json|PATH_SHA256=e563bfdd6cf8e23ed450d950a3da021579f0a923560efb2db209ab4636ad4449|SHA256=1b0e7226ada2335cb648142ab9fea1ca059236daadba3190fe81cbd4554dcce4
REC|DNS_NS_CONFIG_REF|IDX=952|BASENAME=dns.json|PATH_SHA256=9990d741c5804d0d0afcfe2b1482c027d6eda3b5bdc434fd660e8da610c5bf82|SHA256=bffa67d260496f22c725e40a32e89fb4cdc71a6004eeb5bddb76dc3d894a8b4b
REC|DNS_NS_CONFIG_REF|IDX=953|BASENAME=networks.json|PATH_SHA256=584030bd2f1a8dd0ee0c5cfc7ffb3a3a2737cf9fbc76dd593bb60f5cdd33682b|SHA256=569751ddcb6717d3398b85d21f9a9c8c10bba5b43c4b3d1e6643925ba14e4538
REC|DNS_NS_CONFIG_REF|IDX=954|BASENAME=dns.json|PATH_SHA256=0c114c87ac45d779e840b5f483225d01179f4a4cd6d38912a571b6ee7339c33a|SHA256=7ddd4bcfe48203a7d282aafb669e7c1576fe740de6b52351be0ff1717bcfc73a
REC|DNS_NS_CONFIG_REF|IDX=955|BASENAME=networks.json|PATH_SHA256=e0fc71b7005cb13d90fb4fae9342514fff5ccf985c7060b08b6faa79a977a5af|SHA256=6b9924c407125ad25966ee6b9ef6b7cabf3388dfc0ad3861181e36f9e49bea5b
REC|DNS_NS_CONFIG_REF|IDX=956|BASENAME=dns.json|PATH_SHA256=62f29ff74a57f8839d1052a864ee31987ad00cf06fa009c6a0908bf7be556126|SHA256=8c9fff2991ae8b6b3175df0de74eff310853c62febfb102ab98f60da40ab2b35
REC|DNS_NS_CONFIG_REF|IDX=957|BASENAME=networks.json|PATH_SHA256=9624ed677e27f2da846ef01cf1e142a226beaac9245401ceace78a76d3af71dc|SHA256=2f451d4459465b673b89424993e1058537bef012f65ffe0687f4b975a3075811
REC|DNS_NS_CONFIG_REF|IDX=958|BASENAME=dns.json|PATH_SHA256=58b6ae94bc3bd0723a7eff84e9173a5aa4807d15e7428f0b5dab7630435af929|SHA256=1d59c430ef5d69a94ee1f44352294c73506eef9c336a7f29140e13bd87cc3321
REC|DNS_NS_CONFIG_REF|IDX=959|BASENAME=networks.json|PATH_SHA256=7621ccfaad3a29514ae4fb4d56a23de918d2bdb9888f0bd87bf5382d9276e5ca|SHA256=20156888544c4069792bcf364c76e6c7b9098090aaa76b69f1504efb28f254f2
REC|DNS_NS_CONFIG_REF|IDX=960|BASENAME=dns.json|PATH_SHA256=31299dd35ed67aaa7e22ed99c645025c323ec49bb1fd3a3483124b9e3ed2a875|SHA256=9493a7eaa8f417c9069c3e98add77d80f891a58cea9e7d8cbb5f3ec8c2e41f12
REC|DNS_NS_CONFIG_REF|IDX=961|BASENAME=networks.json|PATH_SHA256=62e87bf89fcc8957d405b0637c22c606f5fad6060f8ec30a2e80a27d1ddcf1d1|SHA256=2df88a9cf88a2e3f8b9b171f879be2c7a89db97b126e027142e723a6d7b5af90
REC|DNS_NS_CONFIG_REF|IDX=962|BASENAME=dns.json|PATH_SHA256=4e3d99efd2ee28a21f1e91e9a7670aa7c040da2c83a6fe6e3896680e931724ec|SHA256=b73c681f548cb0b9468888289c4a285e239e8204b8d3b0a11d5c043129df114f
REC|DNS_NS_CONFIG_REF|IDX=963|BASENAME=networks.json|PATH_SHA256=1e92e53c6acc963da79610b3cefc84cc64421e59d4a28350cc9dd56dca7fb575|SHA256=8c6ea52ccf07a76bd918d7ab48bcd090a230ea8ca30f1fa4ff652394606f3035
REC|DNS_NS_CONFIG_REF|IDX=964|BASENAME=dns.json|PATH_SHA256=b93f9a15ce8ed18fdc3b1ffa407cc2a7cce61bb6b84cde2d8d964c8191f58952|SHA256=483c0046cd04512005328470589b475969056a96fae5142bbdeaa9bd57dfc829
REC|DNS_NS_CONFIG_REF|IDX=965|BASENAME=networks.json|PATH_SHA256=a48c6cdf4084e7b36486fb9d776cbfd88b2d62f33eb1785d9e2823b1dab3f94e|SHA256=7ee98f1620711d27a24b78f5786493f58ef68a7a3a2ce47afb2f127f258f153e
REC|DNS_NS_CONFIG_REF|IDX=966|BASENAME=dns.json|PATH_SHA256=358b6d94535a2e43daaaad8afb36c5e6acef06814d39c709756d3cbcfc1dd0fd|SHA256=7702876a025e49bcd7e7ad57aae05b91c11454bce145840ec219ac65f343110a
REC|DNS_NS_CONFIG_REF|IDX=967|BASENAME=networks.json|PATH_SHA256=56fe480ea4b3a07eba6470c2457a59dedf7469d6ace3b2c578bd0bd2034efc78|SHA256=cd3f79bcac4de8adae01842b9c267ab9a38559b660911272b48e64bffadc1da7
REC|DNS_NS_CONFIG_REF|IDX=968|BASENAME=dns.json|PATH_SHA256=d68541d12ff475d651eacbe5fa2d8faca24eb2656998e48c0edd6d0d85e3115e|SHA256=c542573b7755573e78f2cf4616a2cb1531d129c411c930628d76b0d27b585e18
REC|DNS_NS_CONFIG_REF|IDX=969|BASENAME=networks.json|PATH_SHA256=ff9ee5f4b2dae09057fb587c725525e07fd7d722b6c10d7600421ddce97f051f|SHA256=5377e14f096293f485ad29500805b083fdef8c849f5ee4b650dafca2cbb4035d
REC|DNS_NS_CONFIG_REF|IDX=970|BASENAME=dns.json|PATH_SHA256=bd7ec5f9013f2c4669b7cad4cb2d7dd49c309880d1361dd8618223fe5de810fa|SHA256=a4815dfd0306ab0ae7b987a8d216ec8477ed86a80e8d538af7897c378d21a626
REC|DNS_NS_CONFIG_REF|IDX=971|BASENAME=networks.json|PATH_SHA256=0663ef93ef801335910b25ea9ba42211646564aa2368cef2c6f0e4e40044d3ad|SHA256=ccdca54f237f57991d1978363444b0734460b102a146dc96a6118f5e5fc534c3
REC|DNS_NS_CONFIG_REF|IDX=972|BASENAME=dns.json|PATH_SHA256=f20d04e2bf89bcce2bee857e0d5bff82ef7f3027002c29618af6101839f594a1|SHA256=184d215f33714f0604da0a9717d08fab980dfd5b1acfe8baf4a8205571d725d0
REC|DNS_NS_CONFIG_REF|IDX=973|BASENAME=networks.json|PATH_SHA256=f4ea889b584d78acdbb5cba09b7716d4b8eb97bb91ede8c92a9c67d7d99b8d6d|SHA256=d71d697665fb9f475b9c103d9572466ef3c797f42297755b9adf6bf66591e970
REC|DNS_NS_CONFIG_REF|IDX=974|BASENAME=dns.json|PATH_SHA256=22d1f3d32db41af73f487fc5cfbaafa56a5aa80a5062b615047328ff08ff4325|SHA256=03e78ad6a9d1a9136a6df382808e80096d0c88102f04687de4159779a8bfa6ae
REC|DNS_NS_CONFIG_REF|IDX=975|BASENAME=networks.json|PATH_SHA256=5e9bf022bc08343831ab0518495f95bd29cead23ab661208072b394d19c1dba3|SHA256=bf78d600cb3779c739bc500d0d4e21a749b193ed50d07f09e63437dc56fd6504
REC|DNS_NS_CONFIG_REF|IDX=976|BASENAME=dns.json|PATH_SHA256=0d121f987091fa4db8c2ddb708af2f198ce71e9dd54400452093e64a4d7f4091|SHA256=1ffcaf73e3567498d25b029c2f2bf86b3e8624280c906a49feb160abe6cf5b7e
REC|DNS_NS_CONFIG_REF|IDX=977|BASENAME=networks.json|PATH_SHA256=e938905e05a03a3ae1f2dadde09f7880e9c1d579a7d3dfef01365021d3f96db4|SHA256=7d234015c34bd04c763acaa67256474439c09883ecdc5a49eda9316920a9ab4c
REC|DNS_NS_CONFIG_REF|IDX=978|BASENAME=dns.json|PATH_SHA256=6fadfc6b5fcba11f8d110f760bc023b17df3dcbae80216b6e18554931cf9e4c2|SHA256=272551c9b519983a2919db0f228d2ee99b64f947ce7421ee1afc3b605ecaa412
REC|DNS_NS_CONFIG_REF|IDX=979|BASENAME=networks.json|PATH_SHA256=84ed9fe77de014d91828f87eb66b18d06811e9de608276ca1a80320a0496d0bf|SHA256=9406eb9229d5a032278274b252b9936cfb62ffae2d3fc9917eda644ce9f67961
REC|DNS_NS_CONFIG_REF|IDX=980|BASENAME=dns.json|PATH_SHA256=5be962b1e80c171cd2de12a5b54e45f1274dbddeea7c095f2b0597b6403e2063|SHA256=2a7166219fe202e446aef1d009150a7bf5ec97937b4498f1d25d623aa5b8b08b
REC|DNS_NS_CONFIG_REF|IDX=981|BASENAME=networks.json|PATH_SHA256=2af05fc2bcd724717d6bf037bd9bcb05ce2fa584ca67f8d145ac75be0f3f75c7|SHA256=a48aa232c0d47f8cd633be263dfdab458f6a4458aa46ff067e63f9aff84a8e0d
REC|DNS_NS_CONFIG_REF|IDX=982|BASENAME=dns.json|PATH_SHA256=d7c6371b756261509541c49d9cf307aa6a4638ce932d270dae59e24f65505fbd|SHA256=9958d5e097973d2263d80e23c9156d9cbe529667c5c242cfaf1613f3ddaff02b
REC|DNS_NS_CONFIG_REF|IDX=983|BASENAME=networks.json|PATH_SHA256=73852053d404a1c617f7a9d2851e4d27bd49c4f6a316cf79de10b0653d63c0de|SHA256=21dd331a2ea95ca41db2aa532ef5f421fdb872f83ae1d169150d1fb99aacf695
REC|DNS_NS_CONFIG_REF|IDX=984|BASENAME=dns.json|PATH_SHA256=2a137946486a6c5b0ff9bd85c936004b5107c12eadd9db3060db0e73baf8848e|SHA256=1167473670fb778ac7954545487b082e06df7e60a39b66438f6d79e92c45c363
REC|DNS_NS_CONFIG_REF|IDX=985|BASENAME=networks.json|PATH_SHA256=768a062d4fa858ced6944b1812fcc3225d707be7f5c4958919bc82e3e8e69207|SHA256=8a33385497384a7012c791d64fe2f7c2203eb8ec95ddcea37cb233d2bf1d57d1
REC|DNS_NS_CONFIG_REF|IDX=986|BASENAME=dns.json|PATH_SHA256=6ecf5457b72b4875813315065537c103f432a13bd34c30d6bd0cc82922c2df72|SHA256=47a65dee16bf581d762a9bb325e397217ff7f028a767b070592cf80ef5990c15
REC|DNS_NS_CONFIG_REF|IDX=987|BASENAME=networks.json|PATH_SHA256=b01f622b62866067b7e8c546a8fef7e5e3c3bbb2656f138cc91d9629666b4ab4|SHA256=856e82f28bd44f7f2ddcee7f76c0f60cbc9b79a6d245cf5869d6a4d627a4dc72
REC|DNS_NS_CONFIG_REF|IDX=988|BASENAME=dns.json|PATH_SHA256=cafb1772715fe99b335987f86e81114358f892581d5ddde6e563dbea96965464|SHA256=582eaf7ee55fd331693fa0ba1a2682c621d653322d147ea7fb64620ae2fc08f9
REC|DNS_NS_CONFIG_REF|IDX=989|BASENAME=networks.json|PATH_SHA256=4d2bb04f95aa9964c541bba2eacd4bb15cd6ba2a9df6276db8422df2c0d4be3b|SHA256=f5755c84f0cb7b5c68cf35463090609ae3af100f88adc8e5a87c8e6311bbe77e
REC|DNS_NS_CONFIG_REF|IDX=990|BASENAME=dns.json|PATH_SHA256=908c1d8499bc96f2c0cc77274d1b0fea49a59cb493ec5580a59674b91a5cdedc|SHA256=9b679387732698318beea912760e17eb4b275488ea165d4f429fd7aeb5951cbd
REC|DNS_NS_CONFIG_REF|IDX=991|BASENAME=networks.json|PATH_SHA256=9acc5473021372bd2929c09a469eecf212cafd8f11a6a77a6ff214fecbaaec08|SHA256=7466f6affce5ead0c82dc14cda815dd052fca6f2f0dead8f09873fadf96fe27b
REC|DNS_NS_CONFIG_REF|IDX=992|BASENAME=dns.json|PATH_SHA256=a9c30cc41a98a03537a4503a5f284921f55818628301a31dcf1710229378b1fc|SHA256=929c23e6f10a11fa7f80b17c48eeae380e9e7f8458f63b1b64ba2d5a27724d45
REC|DNS_NS_CONFIG_REF|IDX=993|BASENAME=networks.json|PATH_SHA256=604ee32d1a133b94dbdf82e7861deb1dd77aab3118d7c7f0624555cff732e61c|SHA256=a9fc599bc661beceed1cb10561fbfa8fd40a370eb0fac64e94f638d9a843876e
REC|DNS_NS_CONFIG_REF|IDX=994|BASENAME=dns.json|PATH_SHA256=9ecdc41541984755aabe1c5e2e306806e32d96a28c9cabfa1cf8922d4589045c|SHA256=d4334ad2f5ff449d8caf671cdc2c831fa688c1ac29b2759b031f6180e0e743c3
REC|DNS_NS_CONFIG_REF|IDX=995|BASENAME=networks.json|PATH_SHA256=108e5d88e40469631ef4c3dbcf68d260d8e04737374e3e1de5e88c5ae0e13bc6|SHA256=938bb4e00aa137e5c57ba65efe02165c2d03c601ef3fb67a4eb8fc8b47427792
REC|DNS_NS_CONFIG_REF|IDX=996|BASENAME=dns.json|PATH_SHA256=412bbddeceb965d2df96cfab4a84f0b3aaca2657f1a7b144d1b98fe53a2a0bc3|SHA256=75bddf91bb30c94d9466d4c838496206de2b3e26065a27bc234e2332d3ebebf3
REC|DNS_NS_CONFIG_REF|IDX=997|BASENAME=networks.json|PATH_SHA256=ccd1785bf7e725801ed6dbfbd585c30c29b12c19f59c84f4941939f0afaaab96|SHA256=a24af9515eaf4d719b13be7e30caeb3470c57faad7a8b8b3c2e3596633f1dd97
REC|DNS_NS_CONFIG_REF|IDX=998|BASENAME=dns.json|PATH_SHA256=733831382c3f49e8500da8a8542f8e6baf355d3ebf561349ce6415a62731ed6a|SHA256=652998ad96d0a273afe2b503ddaa8567bc60f1d99412b7170a29a7dc82b3d467
REC|DNS_NS_CONFIG_REF|IDX=999|BASENAME=networks.json|PATH_SHA256=c56e76aaa1bf17434e6862e8196b412a12ed7a5ca430cf6dc13ae8d38254d1d3|SHA256=e9bdf057ec83f59a7ff424e3277a99f91b7fe74c300be52a8384b74571593a06
REC|DNS_NS_CONFIG_REF|IDX=1000|BASENAME=dns.json|PATH_SHA256=8a8e5e3e9b38fbd5c43e1bbd09db7789fd29d140e5e08c4ce00bb9bbda393d30|SHA256=4eb955eda918d411af25bf0666d18abfe096602a430ee469810e03f7261c5856
REC|DNS_NS_CONFIG_REF|IDX=1001|BASENAME=networks.json|PATH_SHA256=0b8630d699ad8576e731e316696aff928486f1c5de74e346ccc53faac6b15640|SHA256=06efb37633dc1e1b9c56dfe417f6feb27a047bfcd0e3d01142fc4e2f58c0d836
REC|DNS_NS_CONFIG_REF|IDX=1002|BASENAME=dns.json|PATH_SHA256=8e3fc2778b4491a59cc768d113eecaad0d34d4f03fdda589666e3c3fe57a2b53|SHA256=fa9487e869f3628eeb39b4c17a3facd70e34a06ed55a001b4dd4ea5fe15bbc34
REC|DNS_NS_CONFIG_REF|IDX=1003|BASENAME=networks.json|PATH_SHA256=29e07f7ff59ebe1a360f5dc1f341a2a23e2f1126a71a50aa80274ba3798e52b0|SHA256=8b13aaaa333c8a2c64d54b4e1dace01ecb2025e0f9a99b7ce7cbc3daa13704e6
REC|DNS_NS_CONFIG_REF|IDX=1004|BASENAME=dns.json|PATH_SHA256=7d6b5a89c4ecd90bfd5d39451a32fa10d7e961f87190d62c90dd31e11d45a2e9|SHA256=01fb1d7c75a469c604eb07f417d6a227c01fc4eb2b33ecc9263b7325642dc5b2
REC|DNS_NS_CONFIG_REF|IDX=1005|BASENAME=networks.json|PATH_SHA256=9bcb32e882acefb1257d82fdee610dc2fd1aa05a7d3b436713f6606ea241d8ce|SHA256=eb3a9faa1b2a9cd64e299f85100595097aa883c3d66e0196fcb314bfa7a3baf3
REC|DNS_NS_CONFIG_REF|IDX=1006|BASENAME=dns.json|PATH_SHA256=c890170750cbc633fa031e53e2a18d20f83b2289f8fceee5c596d504bf0a15b8|SHA256=7e6d55fd64c94ce13d77bacb4ed214ef120482736d04851df83cff01cff3cbf0
REC|DNS_NS_CONFIG_REF|IDX=1007|BASENAME=networks.json|PATH_SHA256=3c6c00fac7bd1bca0c36049b42ab436fd1b4822f10a62cedaa53c1cb17f11083|SHA256=b2fb562b7be73d1d170a3740df20f6bde73ceeb07848c1d9bc2118492de66a6a
REC|DNS_NS_CONFIG_REF|IDX=1008|BASENAME=dns.json|PATH_SHA256=cb57057fd998ceedfc8d042fa49e1b2e51338b88113d4214b7f31861c3177287|SHA256=f7e5b6004633fcb0bceef4f7359720651e11089083b091222e1077de335f06c0
REC|DNS_NS_CONFIG_REF|IDX=1009|BASENAME=networks.json|PATH_SHA256=19631aa2fb2e85279185d2b97950f2eeed8e1135e4240e4c23cb61490259d78a|SHA256=80cb0ea2c02e5abfd48baacd0a628860cad2551a652d4b38d47f27ab0726ef27
REC|DNS_NS_CONFIG_REF|IDX=1010|BASENAME=dns.json|PATH_SHA256=247312010a12740fb42b9832191d241796f35a48937e55f3d04d477f8a4d7a79|SHA256=48097d79ec21d20cebd100baf9394a42fbbbd00e9fba08f9fb21d9927099dfab
REC|DNS_NS_CONFIG_REF|IDX=1011|BASENAME=networks.json|PATH_SHA256=5f54197df7e0888ec861bf8b04fe9617a3a36b80afc3c805724b9eebbf754429|SHA256=57b131dda2ad0442ae7758362d6cf549c5be13e31fc32744bda0d2d0eb4011ef
REC|DNS_NS_CONFIG_REF|IDX=1012|BASENAME=dns.json|PATH_SHA256=8bc6d30a95225fe5f606a641b49d4a3b47bde156fcbb82ed8cefcda1a283d35d|SHA256=8b61e2d1483c1e9d1725b4d33bf21bc1fd505d88a3a446fccf34f56a5a3a1e9c
REC|DNS_NS_CONFIG_REF|IDX=1013|BASENAME=networks.json|PATH_SHA256=f246bfc29d58f091ad4ef98d50d2830c81f64a99d9b01c07e5665b3e9c9f1e4f|SHA256=e4e3adf540f4a9d884d7d9608b00184b1b7e4f4ed210e290b078583bc8133cb1
REC|DNS_NS_CONFIG_REF|IDX=1014|BASENAME=dns.json|PATH_SHA256=e012fc3677d39aabacc8f231513e6173f695a101f265065259bae98b4a7ca74f|SHA256=a6d8ac2ff194d095b88224745f853bbeb3e60b71badc019f179d89c1e051da0a
REC|DNS_NS_CONFIG_REF|IDX=1015|BASENAME=networks.json|PATH_SHA256=af6a27d151ab19213d9108e553749c7ff826ff6dfad66967a0a76ff18be2d124|SHA256=28ca129c64f2b73389eb7cd4170e559985d8e5ec1b9844e4d3b597ea6e4714c4
REC|DNS_NS_CONFIG_REF|IDX=1016|BASENAME=dns.json|PATH_SHA256=0640ab0052578ce01c19bf7f1fb70936a7fadb9c6f9b9ec1d7283aa10aec1cbb|SHA256=103450ceb73b01e741003c210034e1b332289b82f880729ee0b037b91d7f670f
REC|DNS_NS_CONFIG_REF|IDX=1017|BASENAME=networks.json|PATH_SHA256=dae145fa98bd249cde3d21f2dbfd91cb65e01a724a980fd96ba6c94c927359f7|SHA256=81f122e01d9550fd01fb896a6e74c6ab233550d742dedc139a4186c9afde57b4
REC|DNS_NS_CONFIG_REF|IDX=1018|BASENAME=dns.json|PATH_SHA256=ab42d74d0e411cc2e1f97cc1d07388dbdd3733089c3e946101d4274f0e1a6f48|SHA256=4ee9aa70b151303477035f5ebf88c1b4c30a54bb790aff3d62613f830bf77c90
REC|DNS_NS_CONFIG_REF|IDX=1019|BASENAME=networks.json|PATH_SHA256=f05bf7bbdf4ddda008c158ed592f9385761214a409131f8ff3f9e24727ed8411|SHA256=12768e0a15893f13ba36c1d5f511464b902f02014c37487f0cecf96e1845c317
REC|DNS_NS_CONFIG_REF|IDX=1020|BASENAME=dns.json|PATH_SHA256=1cf046743e77039f81ac377292810ff479e91aabefcbf3d58382581b45dc4943|SHA256=fbd57eff96c7d7a26040044702da192e912d520fa0c22456c9fb50b38a867a59
REC|DNS_NS_CONFIG_REF|IDX=1021|BASENAME=networks.json|PATH_SHA256=a57754a036248f94a4c078b651fc72aa402acd04c4942d2a464fbd42ffbb453e|SHA256=80c2878713179aac7956fcfa98d53fb2d86cff00a88566d265a761bd764de704
REC|DNS_NS_CONFIG_REF|IDX=1022|BASENAME=dns.json|PATH_SHA256=b83a30e871e1825987d573a064d7e9912f8e2c3bdb60698e842df9577cb462fe|SHA256=d3c5aedf90741eac806771625e51baa828e4f01ed8ebac556eb5f6a28ead8082
REC|DNS_NS_CONFIG_REF|IDX=1023|BASENAME=networks.json|PATH_SHA256=b8868939528c2b4c2208b382368177230f0103148c7b67d811041943da7b21f0|SHA256=5b6f1b01ed8b7bf00974b34f0bf50c28e22a3f1401207bf16ad7e41a55a5dbec
REC|DNS_NS_CONFIG_REF|IDX=1024|BASENAME=dns.json|PATH_SHA256=aca0dbb72abf305cbac4a52d0a8b6923649b9c030a9d414b18bcb6477382d782|SHA256=8b6618f5ca5895fc83a735c4dd8c529eaa9c31755040e6940803e7e1af387bd7
REC|DNS_NS_CONFIG_REF|IDX=1025|BASENAME=networks.json|PATH_SHA256=0d51e3b89905c24a4f9b8e2a4c04b9b51406d5f8eef2632ca26239890a8bc59e|SHA256=5a72ee37c7b07850b733dadc1ddcd234dd23f070b029cd751330f29895aba942
REC|DNS_NS_CONFIG_REF|IDX=1026|BASENAME=dns.json|PATH_SHA256=5da7b6a6fec20fa2fcd7f019ef4022e6dd758ee17f244dc0679278abbb7d241c|SHA256=001d069a4efc64ef773e92e30cbe24b419049ddee903e1035787a57133c2080f
REC|DNS_NS_CONFIG_REF|IDX=1027|BASENAME=networks.json|PATH_SHA256=a1c5304a1863ad908c2eec7bedad4b6c1bde7134b11c92ee8a430422a17323cb|SHA256=88a80e5896fbb3e8b25136269133deef903726abc03d3d343813494fbe5adac1
REC|DNS_NS_CONFIG_REF|IDX=1028|BASENAME=dns.json|PATH_SHA256=3c56f3ad1a16e836c3bc3d701a988bc82782781044714e4842b8b9f0883dff0c|SHA256=cf89a1bf81560f36bcaec1f3204772e5c1895935349b6482f0edbcd691ebd3ab
REC|DNS_NS_CONFIG_REF|IDX=1029|BASENAME=networks.json|PATH_SHA256=da96aec3135f8b1f407eb562d53fdb92f6680382fe6800c542b95eae4343be01|SHA256=82fd17eb145e61fb06cf2532b0c249f0635b33f69236c51287971752b34f86e3
REC|DNS_NS_CONFIG_REF|IDX=1030|BASENAME=dns.json|PATH_SHA256=1657521c9004c43edea3a99923df930d56ee0bf96655a5eb68b4f5f4890e2915|SHA256=a02b06fad9b7ce889a1ae9e79cfde9736f3b4f35fc8a24778a89b171792f989d
REC|DNS_NS_CONFIG_REF|IDX=1031|BASENAME=networks.json|PATH_SHA256=0615cfa0010309f07638e0c3eff035b9720c8d62ba4f090e7ee30473f980df5d|SHA256=c3126afbbc5a532dec08fdcf669ca7751d4b887e147491388fdf40914d3d9a1d
REC|DNS_NS_CONFIG_REF|IDX=1032|BASENAME=dns.json|PATH_SHA256=206b70d30375cb61d2b720a55ef9e971cc50fbe8d557ae96d84d75bacfeb3645|SHA256=fc595fa66ca38487ebe5b805bc89b638d9869b4ae57f29f7de3dafa8ffdaa95c
REC|DNS_NS_CONFIG_REF|IDX=1033|BASENAME=networks.json|PATH_SHA256=632fbbf57d6d5f7c01179a815bbddb3ecaa7f3bd0346113b5f1346dd06db5732|SHA256=acf4dbfe0800c1b4fb75382375b8cc433651a2ed92830042c7040a12215c646f
REC|DNS_NS_CONFIG_REF|IDX=1034|BASENAME=dns.json|PATH_SHA256=1d5da40be355ad24ba26d44b95b6c038baf51e667359070cbd5b16eb79ce10ce|SHA256=d29bd47fc093771faf2c528285dac2355ed4a00648c3bb511e24bb47cab07419
REC|DNS_NS_CONFIG_REF|IDX=1035|BASENAME=networks.json|PATH_SHA256=bf8f113930478fe4bbd57c10e32eaaec9a5c79599a646a6a5cb703b5161a7459|SHA256=fbe8943285652d7ad462b6dcc6ffd0539277f9eec76ba45c39c33b6c33c0fc74
REC|DNS_NS_CONFIG_REF|IDX=1036|BASENAME=dns.json|PATH_SHA256=c88ef6198b9b2a53c29f34d21125bf0ebad25674f3a973d43a46c97071be7bf5|SHA256=fa96c87e2446a7b2be51ec7481c48eb02c8a639042610836b06f4aa4abd6a320
REC|DNS_NS_CONFIG_REF|IDX=1037|BASENAME=networks.json|PATH_SHA256=dad775332a572a1e2f9be725f8423894a98f56c9589a087d5a5ff0df735e6e46|SHA256=dd2c6440592b0a4559a4959732679ca7226ec9e8e77ad9572f34495e1726bb2e
REC|DNS_NS_CONFIG_REF|IDX=1038|BASENAME=dns.json|PATH_SHA256=5566ea407803cb4ba61a046c5478c164e2a14369e2c88e622d8ba056e124eec9|SHA256=c7391ffb4d8f3ef213b98c993017e36bedafec62abff82a7f20eb8bad606b474
REC|DNS_NS_CONFIG_REF|IDX=1039|BASENAME=networks.json|PATH_SHA256=6c32d5204bbe1f461ea7094af2886d4c66ae5df8e7012e2594a46aac9c64d256|SHA256=a0d30d295f1e0400d1521524a218f744987b19df9af470393d73b33628d8bd88
REC|DNS_NS_CONFIG_REF|IDX=1040|BASENAME=dns.json|PATH_SHA256=83502b30c5a0f207c5c71469f6198904b8e5287e4cad13bdd93015c31da668e3|SHA256=6aa439a39929612ca5395272fd862ed86626c9c27c4105ab6ccf6b35a159b9ef
REC|DNS_NS_CONFIG_REF|IDX=1041|BASENAME=networks.json|PATH_SHA256=8949ed670cc98993690b66077223ab8359c36ed0aa16d9013ff3a67a502c73e0|SHA256=ef7938cf9f7eef01248917dc4694b1226417b60edeb2125c75e337b1b0553bee
REC|DNS_NS_CONFIG_REF|IDX=1042|BASENAME=dns.json|PATH_SHA256=669de1edff7be90db79ecf0b30ba904ac38aa3244905584c2e576f432dbdbd3f|SHA256=85b292ec6865c6036c135ea3219a77e8d8410ea9c0bd27e8dc24b72db83fe83c
REC|DNS_NS_CONFIG_REF|IDX=1043|BASENAME=networks.json|PATH_SHA256=da549be86cb4d529439c93d251fdacacd0f1df8528f470649d54bf38b899fc3d|SHA256=a6b33aeb0d34e681acca8682e5948db03610360311ae6f44cce1b3bc66132af9
REC|DNS_NS_CONFIG_REF|IDX=1044|BASENAME=dns.json|PATH_SHA256=76a9d539e2c09011d432a5f3dedbc3e13d4d8f4a525d95da09a9384a40ae9ffc|SHA256=3e2aaed6f410ca16325e2d0c5743588ed2ddf2a69a5cff1107491bc67d61769f
REC|DNS_NS_CONFIG_REF|IDX=1045|BASENAME=networks.json|PATH_SHA256=e82068746b61e7c1e7b11483a83afaf1b6d580fce7393c9a0c7c1af9062dda85|SHA256=32b752ac1af512aeb8e9db1599f53c7cdd168bd031399887b26ed6e5ee448a46
REC|DNS_NS_CONFIG_REF|IDX=1046|BASENAME=dns.json|PATH_SHA256=e8ced976f85b736bbee0dccfdb17f58978f14623a6233c9c584589e91ba1b57c|SHA256=15163f9e4007bcf87d16a131b5a92ca8451392992566f7afa49714ace078ee8f
REC|DNS_NS_CONFIG_REF|IDX=1047|BASENAME=networks.json|PATH_SHA256=9d634f0fc42b3e9dbcb85dd9e00b6a837ba620de4460cd6a70d0f3764db9cf12|SHA256=fe3be371a1724752f9aef9f49d97987fdb0530cb787e6e0fcc300231e7fb895a
REC|DNS_NS_CONFIG_REF|IDX=1048|BASENAME=dns.json|PATH_SHA256=96e01a9fb3853d4877d036729f3bb9aeaae17f6e6baca4b67fbd81836d42d9f2|SHA256=13fda00fe6cc141dcad19da362304836cad175b54921fc7c55d9c86263617760
REC|DNS_NS_CONFIG_REF|IDX=1049|BASENAME=networks.json|PATH_SHA256=42cab1de5e1e90ee1be860b7c488661d257c0addee706f6a0097a64feb875311|SHA256=25b8335762d4acd06d7380e6a3f487a2b2e9d634c5df1a98bb81fddcfa3e06f9
REC|DNS_NS_CONFIG_REF|IDX=1050|BASENAME=dns.json|PATH_SHA256=114d61eb9d07d9828789447b931955e0159189fd4bb2316bc84f30a5dcfa5036|SHA256=f0dea9a8a69b294030f384830d8bd58f50c301368a89daab4d8b0e4b363c84fb
REC|DNS_NS_CONFIG_REF|IDX=1051|BASENAME=networks.json|PATH_SHA256=608feede5d8ca9a8b61dc74a505aca3a36016b403823bb5d69500e70bfb24bde|SHA256=766ad274c430b1fbaf2b0d6825a6f010ee031ff219100786e449be1b9e1c1c60
REC|DNS_NS_CONFIG_REF|IDX=1052|BASENAME=dns.json|PATH_SHA256=19bd0b6a5190fb159176b91b1a35e727a6b98769d1107b7a392066b8db21818f|SHA256=9bad8863053101aa7251e8f230b0e25aed44cbeff7fb7f073cf4aa95c395a776
REC|DNS_NS_CONFIG_REF|IDX=1053|BASENAME=networks.json|PATH_SHA256=1cc826a46c3a89ad4517199a1f05359a0adea115b6387145e78259383a3f3788|SHA256=40adf22eb1b6c2459352db4b54cda8182bcbb05cc89bfbaef0b7b72214977927
REC|DNS_NS_CONFIG_REF|IDX=1054|BASENAME=dns.json|PATH_SHA256=59cf3a5a1ed42161f2cdb8b8d6dcc94fc5da5435ac08533053b4b799ece81bf0|SHA256=35d03aa347eabaafb2a67166ed56744c7ee9ddc56e45ed2bfbfc2f4757f22173
REC|DNS_NS_CONFIG_REF|IDX=1055|BASENAME=networks.json|PATH_SHA256=5300ec753198d7cc4da29f7c9a3a31ca7bc509bf8611fb7b67f03354eeeaea63|SHA256=fa5c298d11d8d1ebe0ce6da968979d664c61caf5b317d132de456cebb51ed1a6
REC|DNS_NS_CONFIG_REF|IDX=1056|BASENAME=dns.json|PATH_SHA256=936f67655a9f2686e07be6f5917cccad2d55be7296bf1a19fc24bbe203468962|SHA256=3b257712dfb67a7035b91f8238fefd27f6ca2c2c678e3220bc744613f2b6465c
REC|DNS_NS_CONFIG_REF|IDX=1057|BASENAME=networks.json|PATH_SHA256=fe10ce00437ebe12002637518d37faf925f42ff18200f47a52f4a4e287e74ef1|SHA256=9a6506fe095c971cb5cfeccd273acd194f623ef7cada057ab07c36f33d2f9185
REC|DNS_NS_CONFIG_REF|IDX=1058|BASENAME=dns.json|PATH_SHA256=838194f1c218affd7ab9a996752f61b94f6e75a573d3b2cca31d1ad658ac4623|SHA256=c4b595ee2bcfb2ebbab068d4cbe53df2ac5469fb18c074d33761a23331d2c221
REC|DNS_NS_CONFIG_REF|IDX=1059|BASENAME=networks.json|PATH_SHA256=cf420411f9ed8bd39e26636fd75cbaf6bbcc7e31644035050c41fa7ca2b52e99|SHA256=3837e6a4ce5ab2a12168fd7e264e51692dcd17852ede1a1575618bf0f1aec74f
REC|DNS_NS_CONFIG_REF|IDX=1060|BASENAME=dns.json|PATH_SHA256=42bf32f9317d5e6e3545eb9833c374d8ea88d7f5db513b4f721df1c8c8cfe095|SHA256=49d794f91608e6ca276a8c8419b5d36c863f524501856a740f0218cb66a8ad1f
REC|DNS_NS_CONFIG_REF|IDX=1061|BASENAME=networks.json|PATH_SHA256=8459a10bc4e22cb5539ce05d8039d629ae3a82f2d26002311375529dabc2d876|SHA256=72e0724335d47da15925931d7ad0d58e0722563335f281fad18ddba88c042c63
REC|DNS_NS_CONFIG_REF|IDX=1062|BASENAME=dns.json|PATH_SHA256=60c3997b856a1e24056697c539a780615003db361290e34f76cbcc3dd3c14522|SHA256=fcbd59dd7e6dde7a1145f4ac9b19d3a8c227192c332f8d77a8171461c6f5427c
REC|DNS_NS_CONFIG_REF|IDX=1063|BASENAME=networks.json|PATH_SHA256=1e16a3dc118ffaeba3ef45799bae33b47876edd62a91a405cd9f34ae4af9512f|SHA256=740c2dcdff09767e0b8c33d4151c427cc190768ff1d1836b9e85a2965edbd29a
REC|DNS_NS_CONFIG_REF|IDX=1064|BASENAME=dns.json|PATH_SHA256=4d30947a880491494f2836ece23a28efd6d9fc40a24988f0dedf8a2bc1ee4ad5|SHA256=26fad366aa1307ad5fe20400801a24c9a3d5fa41b17d2fd2fc665e4b1726692e
REC|DNS_NS_CONFIG_REF|IDX=1065|BASENAME=networks.json|PATH_SHA256=ba4d80c7777f2c73e3bfe22ae35af9d782ffd3745d34a2d2c28d2d585ad5df52|SHA256=700747ac979813568028e2a5a34f71574e4c3465f6202f846e193a1a6dba4e6b
REC|DNS_NS_CONFIG_REF|IDX=1066|BASENAME=dns.json|PATH_SHA256=aae9795a66a68de1c8fa1b685e728acd0ff090f4cd3f93b8c589d1c31e1d6665|SHA256=7956f0896926b03719d1adce6bea802d1ca8d72327d8c1270a71e6a4be384e35
REC|DNS_NS_CONFIG_REF|IDX=1067|BASENAME=networks.json|PATH_SHA256=38ef7357004e9976aae5114a1c4c9d231ed789c65575eee06f916a83bd703a64|SHA256=a9b216d6546a8e9c9ed92855c8ddd6aef6c254e03495b78d37ac167fe39e415b
REC|DNS_NS_CONFIG_REF|IDX=1068|BASENAME=dns.json|PATH_SHA256=2e2b07180317eae364ebc3bfcd6c01b269587a1d652a9821142423fb33145fe4|SHA256=c8b3f571b41ae47a5d7b2f892f2c987da302633686a598a2c3841eee60367f9e
REC|DNS_NS_CONFIG_REF|IDX=1069|BASENAME=networks.json|PATH_SHA256=cbdebe4640f7af0def7c1641809ca35fc7494beb6364a17eaa423a5d09448a11|SHA256=cbcad9c6e561e37c032a4b1de9bb748f69beb41241c50fbbc63f1b96c5d3e6bb
REC|DNS_NS_CONFIG_REF|IDX=1070|BASENAME=dns.json|PATH_SHA256=d75525824e8755a4b9439857a23b635a59eb3ae47c2da55df0562ecd764ddfeb|SHA256=34ee84a1d8918ea3a5adbc1ca8705c6e289f8c76b77e9bf057176a37995fb4fb
REC|DNS_NS_CONFIG_REF|IDX=1071|BASENAME=networks.json|PATH_SHA256=e374a121193a1982512da3f2edef1f7c3a318abbc75a70761072754d7a17f6bf|SHA256=b2047b23465b85563ec2bb33b439c41fb12b8f6e6cdb8fb67563c0a599078302
REC|DNS_NS_CONFIG_REF|IDX=1072|BASENAME=dns.json|PATH_SHA256=f6417a24005b754c0ba84854d2242615aec6beeb870a3b16cadce9ca9ab3c62c|SHA256=fb0a2ebe26bd24a64de596833bd72067a8cd4f04df3819eb3b4c9f4591fd3653
REC|DNS_NS_CONFIG_REF|IDX=1073|BASENAME=networks.json|PATH_SHA256=d38b0e106e1a44a79771329eb3dc770d023dbf0411de9f76158d88ccec28e43e|SHA256=cafea4c2bb19c535290720ed64d0e5be9c982623b8803989a4a4bf049ead4176
REC|DNS_NS_CONFIG_REF|IDX=1074|BASENAME=dns.json|PATH_SHA256=111d41faf04484decb8b1914e3ad98824859665d6a2d7b32c25c9e3342d2e03c|SHA256=21d27b493896f5aeed7958e781b516190121052be2dcebc2daccb4f64eb47118
REC|DNS_NS_CONFIG_REF|IDX=1075|BASENAME=networks.json|PATH_SHA256=ad515b9240fec4d1d9dd162b20ceedf9035333390ca2cd426d4ce683ec4ebe9f|SHA256=8e8866858f1990f5f2da1754e3a39d5dd3cb196097f2830305ce20fac16deca0
REC|DNS_NS_CONFIG_REF|IDX=1076|BASENAME=dns.json|PATH_SHA256=097439b4836a14ffaeb728350c68e8d1b1393738ae5034639b56344095828773|SHA256=d464fc13e130961d2c9f1e23ecdd83c47ccbfa0f9db72ddb8757a04b5916788b
REC|DNS_NS_CONFIG_REF|IDX=1077|BASENAME=networks.json|PATH_SHA256=059d5d88e734db30f67501f64ba02e2614c85244f4585defa5b39ee99b13fa07|SHA256=6e67ca90d092fecf5832c6c4ca1c59299236e706a50ab0ae4a5bf4d8b619dc10
REC|DNS_NS_CONFIG_REF|IDX=1078|BASENAME=dns.json|PATH_SHA256=84bcda2391d53eebecdc647e938c2af8b7a487e89435876d8cdead58a103a17f|SHA256=a7ca1850bf6e2f917a98d093cc3eba1c09495ef58db09a6c821eec9c51bd0c23
REC|DNS_NS_CONFIG_REF|IDX=1079|BASENAME=networks.json|PATH_SHA256=bf22de50b750c55750067987ad0b7829c290e62c6c18318defe64e35a83ace78|SHA256=8ef17e20bce4755d2d29894e387ad1086ec7feb75651d8802aa06dc75e69815f
REC|DNS_NS_CONFIG_REF|IDX=1080|BASENAME=dns.json|PATH_SHA256=b6b90168140ce3699c165274e51b4717900114e7be0853cf47bbb9577964cbc5|SHA256=561777efa8bd0a7c84c506c284a7070f1026da0b2e4230605c90c8188f618b34
REC|DNS_NS_CONFIG_REF|IDX=1081|BASENAME=networks.json|PATH_SHA256=7a91ba6063d00826fd6de0b8a63962f2c3059cac8e0b9707c7255c363605bbfe|SHA256=85239c4116d36f840f7425e5f6606276f3758b60ec51f9e803704c38690ad072
REC|DNS_NS_CONFIG_REF|IDX=1082|BASENAME=dns.json|PATH_SHA256=40aca584a00385c0dffee8ad2393dbdd02c56f9db0895baeebf8d58e989c7577|SHA256=17bd9c4de946026ca3dabc9f35e3c6976d8df56172e1680a185d04371ec9f255
REC|DNS_NS_CONFIG_REF|IDX=1083|BASENAME=networks.json|PATH_SHA256=99dcfc2cd5d114bf8b44529d1f2f1ab9b0cb99aaeb365ecbb440907e05a32496|SHA256=f742e0f4b8b0879a526c900f1e4ef9026d68c0993c774b8fd218456a5cfd89b1
REC|DNS_NS_CONFIG_REF|IDX=1084|BASENAME=dns.json|PATH_SHA256=1f6dbcebed72852862ea3165c5e77f0d8861b4eafddec9b69e4ea887be7cfba2|SHA256=52ee917fbdcccd0274868bb0d57305f6fe8556a9d24d2ba6b8f360932ffb45da
REC|DNS_NS_CONFIG_REF|IDX=1085|BASENAME=networks.json|PATH_SHA256=ea1d558a36cb08ef61f23e81d7a4439020a72e5e2440a7264731d4aab7eea266|SHA256=874ee7d84b4634da135f25666f895b7a8bcad08bf777adf0c059ef18752c1eab
REC|DNS_NS_CONFIG_REF|IDX=1086|BASENAME=dns.json|PATH_SHA256=13a510bb2f58ae74b520b43c307a7574f4dad6d80e4e2249f33bfa1933ecb3a4|SHA256=ca1f3331eb1dcbb04dd4231f1c429b59a20ecf706c00fbe0ec5b762f4555fb97
REC|DNS_NS_CONFIG_REF|IDX=1087|BASENAME=networks.json|PATH_SHA256=dd1e18989e859def86a4dd3893033d5ae66a23fda2871e42bad8aeeca1d4cf1e|SHA256=68bc3b0c5b725aa704f32bb99f4ba6be165911b6f26a9b588ceb7a0432853195
REC|DNS_NS_CONFIG_REF|IDX=1088|BASENAME=dns.json|PATH_SHA256=9352e75c93c9085726f1b52a35a608e40d2e619ba028bd7dc8b1389dfe074546|SHA256=0fda3c7be99ee0a3ed6639742ad602c688cc6c122875dd7df9dc44ce5e6f44a4
REC|DNS_NS_CONFIG_REF|IDX=1089|BASENAME=networks.json|PATH_SHA256=e14017d697f0a5c1ea9302d53aeec9a6da345b0015741ef8ab4d3dcbe413a053|SHA256=2393dfd7705c420d22df4982ed0ed5a8ea3d3e218b7f517c0f1e0a43427226ba
REC|DNS_NS_CONFIG_REF|IDX=1090|BASENAME=dns.json|PATH_SHA256=626929dd072efdb1493c128c9e38a0e3fb60329781b30d765d31e7fe0b5807a1|SHA256=405d5de1c80edfe61ebc3931b0fc3587643a87e696594b0e6ddd56cd3cc87778
REC|DNS_NS_CONFIG_REF|IDX=1091|BASENAME=networks.json|PATH_SHA256=1605c5a662d5bd4589c28ee921940b9ce13cf95d8d22deb7d06814b70c628c2c|SHA256=7caf1709682cdb297884a3dcf28ee6dbefff234268f75c3bb2780f5e830446c1
REC|DNS_NS_CONFIG_REF|IDX=1092|BASENAME=dns.json|PATH_SHA256=bcbc9ee3f231f625fd55bbb06e8c0b3f9a6f67b6bdd5e90088d66a26972fb89e|SHA256=e58a5847b3d2d70f00c85b38e6ee330831249bdd7e9a1577c371d4ec30a2e9f7
REC|DNS_NS_CONFIG_REF|IDX=1093|BASENAME=networks.json|PATH_SHA256=2164908ad33968db7ea2a2f1a566617d36f868ef066f92114ba988cab8bab288|SHA256=f90c6b48df32caa127586e32836720aafe339243aaf687fea31b917ad0ff0c57
REC|DNS_NS_CONFIG_REF|IDX=1094|BASENAME=dns.json|PATH_SHA256=75372101e043cabfaafcd871c194a846621cc16782c5c68aba8314b31f20b21e|SHA256=acf4ed5b2279a846c717c3e9ff9f2f6607482cd223a72e8b3370af7d39cf1d40
REC|DNS_NS_CONFIG_REF|IDX=1095|BASENAME=networks.json|PATH_SHA256=b068eb93d49fd4de04345cda764dacb29f1b0e3b23137f9cad35cf115ec7f520|SHA256=9a6cef3a153b7eb40db08f7489185f1b3544ce48ecf88967a6378911ece900a6
REC|DNS_NS_CONFIG_REF|IDX=1096|BASENAME=dns.json|PATH_SHA256=e92763596cda33090f8aa091aa1489e18cdbb4f5f5a5d5f62a5c7cde351a8275|SHA256=b39d7fdff7cf7d7ca9417725fb013558b30503d1f02620a4d91ca9135c5b4f31
REC|DNS_NS_CONFIG_REF|IDX=1097|BASENAME=networks.json|PATH_SHA256=f7acc9b8365d5e7c0d84ef113c7dacc0682c69ffce6ea7634a6de3d6032596f2|SHA256=2fce2de205aab7ba8d8e7b7560226b6c718d951f8c9e416103380fa55359d096
REC|DNS_NS_CONFIG_REF|IDX=1098|BASENAME=dns.json|PATH_SHA256=c2488173e05b77591b464a4e1448499c9fca10254f8014e9c1e90ccf12d180e9|SHA256=51592758c1c4083b029c1ea996edf57aa822ad3c7f56ef13f709a57355e08ca8
REC|DNS_NS_CONFIG_REF|IDX=1099|BASENAME=networks.json|PATH_SHA256=2492c549eed98fcb74adfeed4bad863f7bb9121732d5b9d710234ece3147f66f|SHA256=a2b7934fab31cd770516c2cd8a3a77a0886d0cdefaba85533ae1bd03f2141a7e
REC|DNS_NS_CONFIG_REF|IDX=1100|BASENAME=dns.json|PATH_SHA256=0497e8c988a6c59a4fa004afca7c3950c1265cf042072d76ae6a98947b9b22f7|SHA256=26ec17f8edd69970b3724d430a2ba31071a3a13aa401f48a50ca2c1c50eba605
REC|DNS_NS_CONFIG_REF|IDX=1101|BASENAME=networks.json|PATH_SHA256=590ff6099c27829f09bcb3aec62a386af3a95f5767aeda1128ae1308a6cde956|SHA256=2eed7907618f1cfc958ada0af115de7dce57aa6844f120083880ea9a06c4fcce
REC|DNS_NS_CONFIG_REF|IDX=1102|BASENAME=dns.json|PATH_SHA256=204ce8613ea61b24006ed4fd07957a56e3c2c50cf8e0ac18ee7f90edb936d7e7|SHA256=1f146787ded61087dc6532093d7517497180708c763d00e7f9ddac2be3685753
REC|DNS_NS_CONFIG_REF|IDX=1103|BASENAME=networks.json|PATH_SHA256=0c8175f9bd9586b3db9dc504998b474d9890fdb9253078315cfe735c497c6f02|SHA256=4481d8f384f4504fab6a237d28932fc8b49c674ea17761471e71f06e55f40977
REC|DNS_NS_CONFIG_REF|IDX=1104|BASENAME=dns.json|PATH_SHA256=d2d95fc49c5e481833de1a553c448fc8c8e014921049726fdb2e062f034fcae6|SHA256=cea307d225f7a36e7de52bafeff98b6fd1b3a93f4638bc0298ce7fa7e1fba77e
REC|DNS_NS_CONFIG_REF|IDX=1105|BASENAME=networks.json|PATH_SHA256=58601125af7317295986f26d6cc929826cd77e7394316855ab468994f5d5e04e|SHA256=a73a0177c480a3e66daabc80bcd07ecd4e3c66c688794218ada1c9e267f346a2
REC|DNS_NS_CONFIG_REF|IDX=1106|BASENAME=dns.json|PATH_SHA256=8e683c9bca78e683caa4ba3876296624928d10833bd587823bd8c78af4abdcaa|SHA256=8f3e1b27a74dbe8d62c1a1ab336147a62bb1cd776a8f75471cea3d56f26503d6
REC|DNS_NS_CONFIG_REF|IDX=1107|BASENAME=networks.json|PATH_SHA256=df2d3c581733432537f21eaa4f2e0f9d3f99fe395ad9c56230b487cd7685911f|SHA256=1973ecf736ec012c58c88aa7add0a8180ddbcee10bf22328e83d810f9e9f1f5f
REC|DNS_NS_CONFIG_REF|IDX=1108|BASENAME=dns.json|PATH_SHA256=7bd6e4a0c59d533c0f098722aaee272a8da9830f58b0a4c2c1a07a846f8f0773|SHA256=08d1f138a15f42e4cf2daf13c4c5780a186797cdda1be73c79aa00a25481f19c
REC|DNS_NS_CONFIG_REF|IDX=1109|BASENAME=networks.json|PATH_SHA256=2fb80a7761060c7a510c79430a3f6218e170e4c533123022e1e5f2b7b6af9a77|SHA256=4db493a6fa7f8bee57a0cbc9810d8396b316744784a5ad00cd3d9a7201460b91
REC|DNS_NS_CONFIG_REF|IDX=1110|BASENAME=dns.json|PATH_SHA256=5ade99bae692e9db70a5dbd30a353d96e4c2bedc8dfa396ecd296c9678eb42c6|SHA256=ebb635a64868f9afe7c01f074eac1f476b17ab1e9357773924a467ed7a99b8d4
REC|DNS_NS_CONFIG_REF|IDX=1111|BASENAME=networks.json|PATH_SHA256=e63ec06c3479d665111ada0042e58b91f256daeb9458c60a3bec00b75916a352|SHA256=ef3e5c91586bb08ca700840e1b8120f701cdfaa473318c3c54bbf0974d126298
REC|DNS_NS_CONFIG_REF|IDX=1112|BASENAME=dns.json|PATH_SHA256=c5036e1fcfa6d61a284580c361a05396b7b75c0d102a818d5314db4b6caa3da1|SHA256=495d2347c520cd2513ccebb215d4fe383b66449a66a46f77ba180af29fb1b959
REC|DNS_NS_CONFIG_REF|IDX=1113|BASENAME=networks.json|PATH_SHA256=ec044685daf2fcab592e61e7bfee466548a21b7a266a50deb612fd31889c7062|SHA256=a6d3556e0640ba6d85727094d96bf7af6cb610f21e2365d788e9ea9440c57889
REC|DNS_NS_CONFIG_REF|IDX=1114|BASENAME=dns.json|PATH_SHA256=595bcba3a5b3e18353e5fca6a550b5a5304c20250b60623d88fbe1e89fc743f3|SHA256=dd441c8e3f6bb3f22821cceaac6c4b9b1a6feafd65bbfcdfec036f445d876a56
REC|DNS_NS_CONFIG_REF|IDX=1115|BASENAME=networks.json|PATH_SHA256=5b8b60487515ae4f7441a9aa10c337475d18a7c2f62e04a10ed700639fc245f6|SHA256=b45a54470490536e41fae16fbcf5d5ec366332f2c21c3d5751d0dc87ec32a334
REC|DNS_NS_CONFIG_REF|IDX=1116|BASENAME=dns.json|PATH_SHA256=9fe0ca7095592991b33ee3fefe2028518ba9254620c13b725f4a2c7ec165dfb7|SHA256=d0d47ae8a9cc4c3209c4a26b21fe7028fbc2251f70515a5eb6ec2f2f8e0028e9
REC|DNS_NS_CONFIG_REF|IDX=1117|BASENAME=networks.json|PATH_SHA256=faf707be1914d9a11c34eb7d8304ae02625a47c9f6bace659d70369d57e87f8a|SHA256=c20630681fca874bb3a10e5ad66d89b5a4f361f3d6a7b1d2a09ca887737b2bdc
REC|DNS_NS_CONFIG_REF|IDX=1118|BASENAME=dns.json|PATH_SHA256=56c44e66a1a7281a919fe7c3f564facd0c84bd9aac844a4f37405b0e22c9849b|SHA256=2bdcf569c6f134b05bc760eb4dc03e901410166be4f4d4040e654bcce4d313c0
REC|DNS_NS_CONFIG_REF|IDX=1119|BASENAME=networks.json|PATH_SHA256=1914c941d8d8c685bb6a22795acffa8bc3e69155e0005ec9d55e86393a762fc9|SHA256=83b0156480c6a89d80b80eb91f4530f5a8e96282643a60908a22e48cd7859951
REC|DNS_NS_CONFIG_REF|IDX=1120|BASENAME=dns.json|PATH_SHA256=a5c4d5ae49ce7412a4864523bea7cc4b3272eff740ca4298d9046ec251b5bcaf|SHA256=bc1f695fd1c1648b99fa67effdc508748023e35986f5d0905c58eaf001df5b94
REC|DNS_NS_CONFIG_REF|IDX=1121|BASENAME=networks.json|PATH_SHA256=234635a31aae3b7775c2a8ce0e156086386886249bc6bc764d7f4ad5671e1a22|SHA256=e26cf93f4abed54ce9e6eb2f92e41baaac78027d58f6a6d4861e9d5d2003b1e0
REC|DNS_NS_CONFIG_REF|IDX=1122|BASENAME=dns.json|PATH_SHA256=a96702610591fea22551d18524a598f176c84a3084de147ce5187b93e00270cd|SHA256=ff8aac304b8cb6e3de19c78c1b73edfff786742f1e1f0b2c3fcffe328d446842
REC|DNS_NS_CONFIG_REF|IDX=1123|BASENAME=networks.json|PATH_SHA256=7877a61835f395a6b47514ef0b542a41902faebb5ef9b1704b7b7ae4bc19e681|SHA256=4b9ae163aeabd782f3d6f8fcba62e767b88a8f47948922feefacfba5ca1bd6fe
REC|DNS_NS_CONFIG_REF|IDX=1124|BASENAME=dns.json|PATH_SHA256=6d22344f932835cdb331b7204ac9f49d15b237fe4ee8e514776593250b0ab5d2|SHA256=cabda031b630bf0857624e7a97ac7c9690c52811ac7e04ae96eec74d9c8febc4
REC|DNS_NS_CONFIG_REF|IDX=1125|BASENAME=networks.json|PATH_SHA256=df96e1e7172843e27d3b05a7062328d1e29752deb860a343d8dcfc9cec8b0387|SHA256=b6c74e294d13d42a9d405f0018c91b374bf68d219b52168fc2451201d123f0fd
REC|DNS_NS_CONFIG_REF|IDX=1126|BASENAME=dns.json|PATH_SHA256=f062dd46aa6946458ce82761a0cfc3ebe9654a1d9aad142d00fb4a0a9ae93156|SHA256=4306927410669b760b4f46cf33b4f33902dc2ebee3d173a52fed722faf64d7e4
REC|DNS_NS_CONFIG_REF|IDX=1127|BASENAME=networks.json|PATH_SHA256=149e39d7e8ef161591e112fe93d38c7135e6582ccfaae55633cfd5034eec084d|SHA256=d48a802f913f1620f5805723f078f7837b677d9a858c9e0ac1fdf227aa508c53
REC|DNS_NS_CONFIG_REF|IDX=1128|BASENAME=dns.json|PATH_SHA256=0007c00b43bc9caa96fb31ade3d42b4b79b07ee7ab342cf2ad9e855224e80dba|SHA256=b561eb99743543edce54aebec9b0cbb3fb46ec29276fb1b809e83f38ffb5b3a8
REC|DNS_NS_CONFIG_REF|IDX=1129|BASENAME=networks.json|PATH_SHA256=b3c6bc9e23d6501baa53677b5fb4d56b4b3b8264971e425342299f84f4db4790|SHA256=cff0112e30692bca4eeebdee57cfe9b4f95cb266d9f8b14e7c28fcdfa1ef7247
REC|DNS_NS_CONFIG_REF|IDX=1130|BASENAME=dns.json|PATH_SHA256=9f7b75be5c8efdee55b3c0a880486d55a0ebf6c4b72299cfcb415d781c042740|SHA256=1c648cfc51ef21ca1861e2a6db9118a4dbdccb7e6c29946918e48674fb2faa4b
REC|DNS_NS_CONFIG_REF|IDX=1131|BASENAME=networks.json|PATH_SHA256=5719bda01a945cd41de6d8faf347b7cf6221674d311aa3daa43a855a2434e4fc|SHA256=13164f4a4213e5c1175b46c881631d7295f365ffc08fa93353c24238f92a50ab
REC|DNS_NS_CONFIG_REF|IDX=1132|BASENAME=dns.json|PATH_SHA256=2e483a415fb1f19a32ef1a259ce611feb0af84283cea91045a3b41d70ad4cdc0|SHA256=91cd38f41c4502a4f72ea226c4e565a210bbfe6822537e6da9be78db314c2f62
REC|DNS_NS_CONFIG_REF|IDX=1133|BASENAME=networks.json|PATH_SHA256=c7e94ee50bb386a18e1c7ac18782a28200d38b2bfa83f4d1f71ef50ba3efb381|SHA256=60f157ac0c0a5765beb90346badce6cfa8c0348dc6cac96b20c74227787bf8f2
REC|DNS_NS_CONFIG_REF|IDX=1134|BASENAME=dns.json|PATH_SHA256=d22bcdde1f4ade5aeb85422173695a8ba6ee04ee7831dbe088dee7644e875315|SHA256=bf59b9780b04c0e190c0a2925e1d984f24329b2802e33babca3f4e829d4db436
REC|DNS_NS_CONFIG_REF|IDX=1135|BASENAME=networks.json|PATH_SHA256=c14bca4a5055ecbf7fbb3b922cf07de21fa22a9a669548b4ecc224959f838bba|SHA256=154f8b47ab2931f12593eff910b7a1d46c8b5817b4dcf4e3827f146ba457fe77
REC|DNS_NS_CONFIG_REF|IDX=1136|BASENAME=dns.json|PATH_SHA256=ccdd30f4fae9a33f9f7d9b0a185adb4a0c1384793b8b81ef7ef8c2e4ff734b9f|SHA256=92d1547e7356bb3be6de83cae7e7e8af792183545e27496e393486d4ce527a91
REC|DNS_NS_CONFIG_REF|IDX=1137|BASENAME=networks.json|PATH_SHA256=7f55b571064b2e1eed74d63e175f8fb67ef5638be01ea7acaa4921763e68dc89|SHA256=4c963077f05bf7bb70a32f23c2c3e7b640035b9356d0d8d56c06bf4804d0fdb9
REC|DNS_NS_CONFIG_REF|IDX=1138|BASENAME=dns.json|PATH_SHA256=41490e52bd4696396730d87c75c12d176e75bc54f77f39d1c6e827a03b7bf5f8|SHA256=6221d16c5937f28589220e5e403977c59b5fc0e6a2235ed93c3de0b3f59c56a0
REC|DNS_NS_CONFIG_REF|IDX=1139|BASENAME=networks.json|PATH_SHA256=0d9ea4a696a066127918aa57da5446496f9cc6629a4227f5cde173778166c1e3|SHA256=df0778f73c51ad51ddd78b651a57ccdb8afb51988ed16fc29b444fa6db3316c5
REC|DNS_NS_CONFIG_REF|IDX=1140|BASENAME=dns.json|PATH_SHA256=698976a386e3c8bae15ab17ee0b35582accaf0fb03118221e5938b9a90e7a488|SHA256=6ca0b0cf62f5e05c6b8934ef92be68861bfe030b19a44ec692ab2fe5fe189c0d
REC|DNS_NS_CONFIG_REF|IDX=1141|BASENAME=networks.json|PATH_SHA256=de7884f519e494bf866dbefb93cbff81b5baf204f3e919dcdfe857d5a53e54a5|SHA256=2d764568755fda74cbebffadf612e590dc2abd90bde26c266045e6429291beaa
REC|DNS_NS_CONFIG_REF|IDX=1142|BASENAME=dns.json|PATH_SHA256=f43860f0fe342d70b77693535ab59e956c7107c6ead8edd06b13ff2816a476c5|SHA256=e6e09d8402cb77948c53f3db9283114b7b5bce0d00a9198bcbfb664170507f61
REC|DNS_NS_CONFIG_REF|IDX=1143|BASENAME=networks.json|PATH_SHA256=ba69276597596e5cb3cfad5499ed3cef7a3c654f3d861cf17c49528fbbfa55d1|SHA256=1b4204e6154d031145222a98723b22ce462d1f43a6810d36a31380ba34e962ef
REC|DNS_NS_CONFIG_REF|IDX=1144|BASENAME=dns.json|PATH_SHA256=2e972355de209f9b82cc09adc63d6cb84c5e02f50ecee188930510bfd105950b|SHA256=08506ffec9589d56df183450a0d47efa65d268208209aa3a878009dd87b5dd24
REC|DNS_NS_CONFIG_REF|IDX=1145|BASENAME=networks.json|PATH_SHA256=9577e8d56894c33180a65c1223a851ffd5369484f8abcf771f62195b82629ffe|SHA256=597e1c6ae419038c400bae6c6b407f76816aef804619c8cf22d0b8d5ea5c1ee7
REC|DNS_NS_CONFIG_REF|IDX=1146|BASENAME=dns.json|PATH_SHA256=131720d408d681a23792ad65beca57f90d9a783f1dafa845bc92c5eea2598817|SHA256=428dffe43be9ccf13e5d0988fe69e097925fb74e0f619cd8ac6f1d1900d8a344
REC|DNS_NS_CONFIG_REF|IDX=1147|BASENAME=networks.json|PATH_SHA256=799187358c6cde8753ab9aacfb19081db2493f264241e54f05b58b3fe4eb882f|SHA256=dbbf38564c5acf452074cac62f515e098d82f3f42b48c5878c4cf369d5eef909
REC|DNS_NS_CONFIG_REF|IDX=1148|BASENAME=dns.json|PATH_SHA256=d961e710f09960853bff5150e9c02531b662ba814aa8929ee97981357efa6de9|SHA256=a5cdc6eaebf8ab62e2f71e262df97bd3c3974de553d1fcd4a06dc647d172706b
REC|DNS_NS_CONFIG_REF|IDX=1149|BASENAME=networks.json|PATH_SHA256=2776976471137693e12706bba174c2dc69a5341e9b444fbc9a0d82547154da92|SHA256=6da942478b438c254032e9404c648a76925fce0048b554b8ab0a915ea45c4456
REC|DNS_NS_CONFIG_REF|IDX=1150|BASENAME=dns.json|PATH_SHA256=41267f614e902cf3fff354413e11fe5c857b3b573273c99fa0c8f9cdbef7c29b|SHA256=b3ba337e1711a4e318e9dac20144291377523d413f353dcbbb7cdd0203a6da60
REC|DNS_NS_CONFIG_REF|IDX=1151|BASENAME=networks.json|PATH_SHA256=77b12ec8d8e8b5ed8d9729065c3d3ec08fb6c6b712046e641dcda848ef8b136f|SHA256=8b78b0e1f5110f59089f8ffd2896bb9ca72b4e97b3aa0fb6ec95e3a2aad3de29
REC|DNS_NS_CONFIG_REF|IDX=1152|BASENAME=dns.json|PATH_SHA256=eee5519eb32f8ebd3f21b8e6e3d678f84d314b281f7cc8d8ab4abb46c5e16c71|SHA256=5f664f5b191791be29ad650bc5786f4970665c3cb59341381fe9f26d5aa6f501
REC|DNS_NS_CONFIG_REF|IDX=1153|BASENAME=networks.json|PATH_SHA256=005724b5d0001922de9816d460aed97902cc2a313440870f79e2c5cb773d3390|SHA256=0618340b0f6761c0dfb37bd0bfe225150ced5497fe0ce8bb0b77a91e6308e3a4
REC|DNS_NS_CONFIG_REF|IDX=1154|BASENAME=dns.json|PATH_SHA256=79b142ded4750e40c6845a991142548bb5f3966600035ccfa21fd0366df75067|SHA256=19ea1ae7d7558d427f504939c98677488d6e3c61bda2e8f39d573232c8fbd45f
REC|DNS_NS_CONFIG_REF|IDX=1155|BASENAME=networks.json|PATH_SHA256=6bc0bd49c001053f6dde1a7d6b1e0e3d6847c3334c45d5be7f52a8a11478efe0|SHA256=6ff91ab36c9003576bdc7c1ff2714297d54b6013c6f714e81bb0f07b10dc59fb
REC|DNS_NS_CONFIG_REF|IDX=1156|BASENAME=dns.json|PATH_SHA256=f727e7aabb9c00bd5f3da565b0ed95dcc483f8582e49508f9d30ad2a9e83c8a3|SHA256=0e34eaf0e283d0b3813e94b812efe0b053f4c0e0d5cb4760c8629bf65cb731b6
REC|DNS_NS_CONFIG_REF|IDX=1157|BASENAME=networks.json|PATH_SHA256=6630f456652f1febd076946af4adb600de2518ec6ed79b6198bcaf91f55701d0|SHA256=cf8640d2a6fbb558a7fe5d640a6176c4d28e421dfe2a39ea765ab50517dbf824
REC|DNS_NS_CONFIG_REF|IDX=1158|BASENAME=dns.json|PATH_SHA256=057c958535d44f55e3aebcb245470c4cedd097b981e25d1aa55dc6360603c9c8|SHA256=a1c9147777f99d3a1671af834847baca2dbd7efa0d3d5d7e70724e9be1d8395b
REC|DNS_NS_CONFIG_REF|IDX=1159|BASENAME=networks.json|PATH_SHA256=6daf08f2d30184337f62a02c2e25768fed3f5587eb13cd2ccec22315ac52ea2c|SHA256=e8268c54e1201df937820318a0904b623429ee7f4604dd9e2910919cac49f3ec
REC|DNS_NS_CONFIG_REF|IDX=1160|BASENAME=dns.json|PATH_SHA256=53518d99170338ed40108399d06b6c0d6282e41ff3d22701ce87763e9fafae46|SHA256=2d9d829eda8b075c7959a8e638bde015d1575837ac3a60602d82077a540ef5d0
REC|DNS_NS_CONFIG_REF|IDX=1161|BASENAME=networks.json|PATH_SHA256=3a1239378717707a5c69d7757fb8a2bd42c19d8a3bcf6d157b88e6b4d8ec5e2d|SHA256=4cd1d5ded7d63fdaea3a2ad538eaae33a77d012fee7819c093a3b644f1c1d7b4
REC|DNS_NS_CONFIG_REF|IDX=1162|BASENAME=dns.json|PATH_SHA256=9259c846761cdf0ad875f3a2b70775dc97a761e9e38d0827e4514a0a6ea0adb2|SHA256=5092f2a2207c857fa486e75cd106cc11e3581e2a309fb3321ad3cf31bc854c5e
REC|DNS_NS_CONFIG_REF|IDX=1163|BASENAME=networks.json|PATH_SHA256=f44eba55352647169abfdd0997512843cfc45d4150dd61cf91ecee227fd0dc5a|SHA256=b1102710d724a707e9c59fefaabc1022d0792bf77f4f35294d203f1c7156bc57
REC|DNS_NS_CONFIG_REF|IDX=1164|BASENAME=dns.json|PATH_SHA256=ee3bc5dc34a1e9ee30c08f631c2b9439de376e5b03bc656d0d8ca74fbdfff2b8|SHA256=c12afe410173f9245cd0e10e45cc3859ebdeacde1190f59e4fa8d88f8b7810b7
REC|DNS_NS_CONFIG_REF|IDX=1165|BASENAME=networks.json|PATH_SHA256=b13d777e118eba8b267480993dd0950287bde602e64bdb6d3b297589b76656c5|SHA256=6b66760dc11cc8a365e74bc5d08be39f6ea1afda223ea5188b88f98c319bca48
REC|DNS_NS_CONFIG_REF|IDX=1166|BASENAME=dns.json|PATH_SHA256=c9990d07c77effb89ded84b05c70187d5d9224a3b39a20b97e63430ac6d0948c|SHA256=8fde8f4092938006bdee9eb57358035638471d24b75e5f029c869559371047bf
REC|DNS_NS_CONFIG_REF|IDX=1167|BASENAME=networks.json|PATH_SHA256=0b90b1bbc687afbc7406d9343efa5e62832ee1302cda74d6e30fb578f8bad234|SHA256=f8293935ebea45c31dc4dc164ae5b6168d4e6176b2dff24bca06d78682af8bb0
REC|DNS_NS_CONFIG_REF|IDX=1168|BASENAME=dns.json|PATH_SHA256=ad0b53abfbd06cb723ac651cb45c124246649eefd1bdf5dec7394b52b326cb05|SHA256=0a549fece3851dedca6f951423da4742010e4d262955e17231adf3f37fbb7ea1
REC|DNS_NS_CONFIG_REF|IDX=1169|BASENAME=networks.json|PATH_SHA256=ed7d5aa9dd3087c9887fcb7704de4fa30a32186b9c28cf85bffbf17ab59ba822|SHA256=f2beead1265619d17dc4feb1c4aa9bc8d93dc9a507e6be9b70cdb09913738731
REC|DNS_NS_CONFIG_REF|IDX=1170|BASENAME=dns.json|PATH_SHA256=6bd5ae2632f7c671eabb858836cf121c979e110538e06abaf09796c454a5be48|SHA256=c3552fe66928431f262ca89ef33ebfb117ba290f08afe706a89ccba9416e6197
REC|DNS_NS_CONFIG_REF|IDX=1171|BASENAME=networks.json|PATH_SHA256=a6fbc0a7a75be5e12c5579d6714f79fb06373442dd31e79867d4a8da4f4142df|SHA256=bba637711d205fb2cee7c2c0d3e937924ff1ee9225ad94b4859a4abd3643d203
REC|DNS_NS_CONFIG_REF|IDX=1172|BASENAME=dns.json|PATH_SHA256=b8773c27aec40e54e811c715b861b6afeea6dfd1cc752d4f0df1fe1a01cbcc11|SHA256=2c0a0b2f589144081c9d30fabf682580d2a4f6635a8d977a5699558bb0f7eb73
REC|DNS_NS_CONFIG_REF|IDX=1173|BASENAME=networks.json|PATH_SHA256=27a684291998f471a869964e3e082d7fe37b1ba8d287ba9b946ac97b681dd82a|SHA256=9baa5a54c9ca9cea05dd3075c177d3e5ed214bd28cd9dcf85c64f3b30d34909c
REC|DNS_NS_CONFIG_REF|IDX=1174|BASENAME=dns.json|PATH_SHA256=8654d8ee66003b49a1d5f6f4d4bb4d397496df025b8d2ab62c70f6c0b98ac535|SHA256=ea1e914b9a39bb2c66aceeb8d6fbb52164f419a9cfac64af06efc9d048b68a69
REC|DNS_NS_CONFIG_REF|IDX=1175|BASENAME=networks.json|PATH_SHA256=6632bc7ca672ee2e5c5cec66fa7cd048d8e09e8eecaff311c0e103a518761a62|SHA256=b3293b7665063f62ee7b84dec2fa457218eac240e1acf40de47e594cafee4ca4
REC|DNS_NS_CONFIG_REF|IDX=1176|BASENAME=dns.json|PATH_SHA256=69e3ac84c4fd4c3ec6385cf29ba69a48c988aa8a44db66acfe50b248e854f21d|SHA256=68f138a62395d42c27df94fd5f54eb536f67dd4705ce371fe42708b7274416d7
REC|DNS_NS_CONFIG_REF|IDX=1177|BASENAME=networks.json|PATH_SHA256=e08975b127879572a3566e2c660963660df4edf4925c14d34572283a07c7613c|SHA256=c7f6b0027b89a29e804099b2189c5bd1d050b15617a821338b4102badac2476b
REC|DNS_NS_CONFIG_REF|IDX=1178|BASENAME=dns.json|PATH_SHA256=12bcb61cc22f4e1b4af3fa29d021b02da02217f081606c07cae80ea550a27cdf|SHA256=b54cedd66b64572891f331a0d845fd8da54aac701351ef6c3e473799bc2b26c1
REC|DNS_NS_CONFIG_REF|IDX=1179|BASENAME=networks.json|PATH_SHA256=6d248c87cbb982620b31ba3c66b8ec00b93b3c66371bf6f64b57c2b026bbb8fa|SHA256=7f8047954bf158335a5932b72566acf42b3e510d93ea97cfdc51adbe6537aa68
REC|DNS_NS_CONFIG_REF|IDX=1180|BASENAME=dns.json|PATH_SHA256=18657258f27637ddccb5d1ee01e509fbd886fc8c97c7c9e31ce6b47fd18e4a63|SHA256=a1994fd9026825ce497e661a086050757c65d0daed606803844b5e9e1aa52ad1
REC|DNS_NS_CONFIG_REF|IDX=1181|BASENAME=networks.json|PATH_SHA256=f0ee2de27ad17aa877a06b1217caae3127e308874d848157867679d76d9e4479|SHA256=2cf5b36838037719953845a3157fe813ed4d4881f177d5acddc744fd181675d7
REC|DNS_NS_CONFIG_REF|IDX=1182|BASENAME=dns.json|PATH_SHA256=fde7da29fa23ec96ddd0cae700a6f389a17c99581d1b5402aa7a4dba9d8d3af7|SHA256=0c3e55ab1d654408b4dab56b3dcb5d778bf3aba2d834166acf46b0cbdd79fa56
REC|DNS_NS_CONFIG_REF|IDX=1183|BASENAME=networks.json|PATH_SHA256=81d0fc08ee40501f5d576a10c452733d85ab3533cf48e2f9cbf82473e44ed3a5|SHA256=d3fb4fa184d3ffdfc05c4160273120619e29a44d0740ed89f2c9fcec9a597c2e
REC|DNS_NS_CONFIG_REF|IDX=1184|BASENAME=dns.json|PATH_SHA256=cf51459c7ebd466b92413f47d4a7af44d3dd5503c17f8c2ce7c41456ab2d54b4|SHA256=e947fc9a35ec4c43142b3649b4aca228f448b5d663643ca758d3b38600cad7c0
REC|DNS_NS_CONFIG_REF|IDX=1185|BASENAME=networks.json|PATH_SHA256=a7d0789508ed7131d02cc05790f1a817e14c0886857038ba1903d9c27837b4c8|SHA256=eea248bf515f711cd81031cfca6b97b1e1bf7d0ea7e007b67a9d220a1b82c5a0
REC|DNS_NS_CONFIG_REF|IDX=1186|BASENAME=dns.json|PATH_SHA256=35766c505a56aa42fc5c7eae980acdc20d50e8d4888ef14b83df0dca7aae8984|SHA256=5445bb7462641a0e5e6500ce7ba2dbd4de3c8eb944333b261067366e82c29f98
REC|DNS_NS_CONFIG_REF|IDX=1187|BASENAME=networks.json|PATH_SHA256=ee0affd1d57df6e036c6f8ff0feb62f9506ef46378eef6c7501ef53276c6e622|SHA256=92e015702872deae85fc57e6f0bd7abd93cb09758a5d375ed0086df7899a2e9c
REC|DNS_NS_CONFIG_REF|IDX=1188|BASENAME=dns.json|PATH_SHA256=00950a213c0aca952adc5166c651562b5d884f149b0f5f4cbc4795e3ab185206|SHA256=06407d57d88e9c3573038cf10951879acaf0e9fb36c01f81a8a55f6ac431cf49
REC|DNS_NS_CONFIG_REF|IDX=1189|BASENAME=networks.json|PATH_SHA256=1776f9e5a320a72bf1343d17a6508baed851fd73c5c15a2e44ee68c48db3326b|SHA256=bae5cc160e1ce7fa67ee62a5521b5cbc911e6301929d89abb5b554bd3d8248cd
REC|DNS_NS_CONFIG_REF|IDX=1190|BASENAME=dns.json|PATH_SHA256=0f7c5402bff1cf5278958bbf023654b9982c0595fe3f9748ffa4776d1e95f5be|SHA256=1dbd0fd9fc2b13350972c5d79aa2fa92611634dc6bc8f33d3fb779fccbb70d3e
REC|DNS_NS_CONFIG_REF|IDX=1191|BASENAME=networks.json|PATH_SHA256=649bd912cffa4a92217de540ff99fcca17dc06bd729a28b2f92c87e6eb816e61|SHA256=05c6c68e970a5755bd1bc32887aa7199d217d0a768a284220c53cb6cdfe748ea
REC|DNS_NS_CONFIG_REF|IDX=1192|BASENAME=dns.json|PATH_SHA256=b5cd6213acf8c425c7b05b0125739cae10ad978643b57e76030e1798bf4c2f03|SHA256=fdc46bf43e8197f0c973aac3a6a6a684587474fa9d06cc7617d5087833c436ce
REC|DNS_NS_CONFIG_REF|IDX=1193|BASENAME=networks.json|PATH_SHA256=1a33bf36cb99979e4ba7fb1c48423dcd1b9d15c770a9dd0c9b50830ebba1bacb|SHA256=baf3516b031f55e2807002853e79186ca59e28267eb42c6445cc686a645c5e20
REC|DNS_NS_CONFIG_REF|IDX=1194|BASENAME=dns.json|PATH_SHA256=47ff49ca5472afbd5a45fd83e55c74b640b8abfafb240b9b1d484c5e062ffde9|SHA256=e662cb1dd34f8dcad897215bf3c4758c2430951e5cfca0ece2e88d8ca2d535f1
REC|DNS_NS_CONFIG_REF|IDX=1195|BASENAME=networks.json|PATH_SHA256=a4e7538ce1b37bc59d6b42487f8509f00847fc1afa764b600cb20f47fcfb433d|SHA256=1fe266524b2c957e5cc57000bde606dbb7ad8c12a8b5f36857d3b2cebf0f1de6
REC|DNS_NS_CONFIG_REF|IDX=1196|BASENAME=dns.json|PATH_SHA256=199ed0b876de15a87da4205018a9b09d94e2e1211504c985e9448a6ad4423e72|SHA256=b5113d61c79168fce92eb904db5d4510fb4b3a72297cf718a98e8c4a10c708dd
REC|DNS_NS_CONFIG_REF|IDX=1197|BASENAME=networks.json|PATH_SHA256=a491350fd957c7329c1bb3030b5cdd410c49ba1aad3872abcead6f0d728ace73|SHA256=a215a347aca8ae523b062621ccace212552180c990befa99d2a06fb67832e0f0
REC|DNS_NS_CONFIG_REF|IDX=1198|BASENAME=dns.json|PATH_SHA256=e3b8a76f5ae6636384551663a7e8bc552aee23944d67de8254a549092d4da651|SHA256=b23d2d99774d31dd337492fb2efd635f894b8b1a1fd16e572eb55291e76d8ae1
REC|DNS_NS_CONFIG_REF|IDX=1199|BASENAME=networks.json|PATH_SHA256=f48a12fe56b3876a2ccf3d99db0eafc5250dccb7f2889866abf86fce5d046f76|SHA256=749bbc80c16ea4f7253ac9dad81c9d2cc8a849e29b46152cbe36bd8649c41461
REC|DNS_NS_CONFIG_REF|IDX=1200|BASENAME=dns.json|PATH_SHA256=ffd32e5c9aac0d7ae4b35ba3c79eea0c04b327bf80b996cb67faf88415bcdfe2|SHA256=f0c2acb16c8338f63f40549be64cbbd77f3fcd82bfe0310c690ea3a0f66ec751
REC|DNS_NS_CONFIG_REF|IDX=1201|BASENAME=networks.json|PATH_SHA256=639f694c50b2d7f3f22e0fc7e37ddb304af42c124f743c99e689da969dd8bf00|SHA256=6beae0cdd7bb351b3f44bcf34b7acbbfb49609f7cd54c7b371dc163b353d6ef6
REC|DNS_NS_CONFIG_REF|IDX=1202|BASENAME=dns.json|PATH_SHA256=d981f4a89be1186e9e5baec216c3c9473383e29427bd50b6ee35b83ccbd3831b|SHA256=e1af92c99955fcbcf26a88b673001b59580ab87aaaa2e70ec50b9fa142281723
REC|DNS_NS_CONFIG_REF|IDX=1203|BASENAME=networks.json|PATH_SHA256=7f5401c469a084873fd3b05ecc759b0c26674167bc118f08e3a544b0c8caff23|SHA256=7cef41289f4e446d5f19fdc7c9a10ee3954b0b89067fd859e22e93ca01c15d6d
REC|DNS_NS_CONFIG_REF|IDX=1204|BASENAME=dns.json|PATH_SHA256=f36377931378152274e0880e2a5ca6312edc17ee915d1ea54afadda08efe47c8|SHA256=d848af07b30ccb2e5697561645d4da53d341cb04ebba382b200758fff4b2c4ea
REC|DNS_NS_CONFIG_REF|IDX=1205|BASENAME=networks.json|PATH_SHA256=9d099a1bcc1d40cd42f2bf560878031a192d9661b3690ddde2ca49da75fb0b31|SHA256=32a6809a1149f976042b047972cefcb3aeab366114737e2f92eb7301afd59415
REC|DNS_NS_CONFIG_REF|IDX=1206|BASENAME=dns.json|PATH_SHA256=b5cc7023f84543b1d148fd301a4e2e93e29519e4200754e7f2d65c5f2d486b92|SHA256=fafbe3873bee75115f1bb304635acbc3df864e658ef73c13ce193bc3a3ade361
REC|DNS_NS_CONFIG_REF|IDX=1207|BASENAME=networks.json|PATH_SHA256=499768c9bbc0481ea8606cafbd5c36232dbd4d5df0b68fef37dcbe2c1ca19afa|SHA256=9d834d06f08f26d189e57c8ea4bc98b0a5380a4cf16af73604946aee4c96f60f
REC|DNS_NS_CONFIG_REF|IDX=1208|BASENAME=dns.json|PATH_SHA256=8d6e2add88a8a922fc86c1e86c1b77f4aa6374f6174f7000da11bf1bc203a912|SHA256=17a8db27625e7c3567fbb9690e86171a3623ac78dc5c29f14f9b55a6a7ddfe66
REC|DNS_NS_CONFIG_REF|IDX=1209|BASENAME=networks.json|PATH_SHA256=34286a351cda3de746c42dfdafe50a7dc6905f26e30d87c26bdcbafb0d8c8e6f|SHA256=8197200da486dec51da2447b25dd4702c4fd5f160bc8cbf293d24a870511df17
REC|DNS_NS_CONFIG_REF|IDX=1210|BASENAME=dns.json|PATH_SHA256=e092d45043d316e036a9109f125d8bd0a2eb762f468f669064ae4b8fe38081b1|SHA256=707bcce882620ba86476d971fc94fb8d981b5ce9f41ebb2422f0b5a1eae5e3f7
REC|DNS_NS_CONFIG_REF|IDX=1211|BASENAME=networks.json|PATH_SHA256=15fb95c86f8518599554ac928fe45dcfd327e485b1f367a2c7103b606f1458f7|SHA256=f3164709020db7b1d0ebe12c0d42f5754713b882842a41fbe5973feba9fa834c
REC|DNS_NS_CONFIG_REF|IDX=1212|BASENAME=dns.json|PATH_SHA256=589e8980445d5811fd70506e00d95cf751472170a94e5226e919cce26f5504cd|SHA256=bc1f9e7c63a4f6f33d209ece0d558bd4c6833e0d5f02bd8ffea2f92d8a288306
REC|DNS_NS_CONFIG_REF|IDX=1213|BASENAME=networks.json|PATH_SHA256=00af80993d85555d9fb0394235ae3015cf1fcf5c80d38d75816e4791c7d3f761|SHA256=df34eef4cfa94b910f496393f7df28098c164af4360f17ceb90f7d8aa2db8e34
REC|DNS_NS_CONFIG_REF|IDX=1214|BASENAME=dns.json|PATH_SHA256=e034bd0d6e795eb9066f4e6dc57b21f94b6b6141832d15d169f34a4631e409da|SHA256=be4fd5e6d3604719b69748b256b77934943153470ce9188338f6538421189cdf
REC|DNS_NS_CONFIG_REF|IDX=1215|BASENAME=networks.json|PATH_SHA256=60fc45a7d3abf008ece23050e46f1996e1047e39d3b81bab9399e9c267b472b8|SHA256=8dc4b634243e97c281155920d350dd55526f556c902bc8607cf6bbf8e32ad442
REC|DNS_NS_CONFIG_REF|IDX=1216|BASENAME=dns.json|PATH_SHA256=25a958f30f557eb1c6dfc89f3665a1b9ad5863705d4a05f6452553cb279e14b2|SHA256=5872baf4d29995bdb7e16cff585930d5d23c8eb000e75777ff52ea6c7df2b004
REC|DNS_NS_CONFIG_REF|IDX=1217|BASENAME=networks.json|PATH_SHA256=62e12f82ad3f4a85ad714ce5c8f41b3c828982d36d0245479240777fce7ed683|SHA256=232a59705214fa683c61b383238811e2fe91eeb89cb806bff5a680e6da434c2e
REC|DNS_NS_CONFIG_REF|IDX=1218|BASENAME=dns.json|PATH_SHA256=4ff67fe76fd883ab32c0a66b00e733d6ea4d39a6a4d58f026f5a3689981a8ade|SHA256=41437e53246c5988babad0f7e74023e141d6ef504c4ad56a8ed8dbb6368c3561
REC|DNS_NS_CONFIG_REF|IDX=1219|BASENAME=networks.json|PATH_SHA256=a636c869916cfa70da38223a38d84162312e4b4fb317176157fe33a2cc60bece|SHA256=221d2117f3629a4c04de97f9a17584a6052fbd77e84422a38931d9bfd9980922
REC|DNS_NS_CONFIG_REF|IDX=1220|BASENAME=dns.json|PATH_SHA256=315d575de4e34c1dca0199191becd28b74bbdd8d9217260260a70b1680eabf25|SHA256=98756586a85dba8288f028699930f2236f409424a8add08d4f1b6dbb6bdea29b
REC|DNS_NS_CONFIG_REF|IDX=1221|BASENAME=networks.json|PATH_SHA256=2825c400f069528a69697aa62dbfc73c788f9e2f444ef0bbd90927385ecc741e|SHA256=da6006b86693c88dce4ce231af318bae88f4d7e8e25d602020aca50c719ca908
REC|DNS_NS_CONFIG_REF|IDX=1222|BASENAME=dns.json|PATH_SHA256=00401f14f9d8131b12a341e2d21d9638680097b86307c09789f9c345fac5951d|SHA256=899297a75afb10905af2a0a952d2f47ea4cfc85b11346b032bf03e89901cf03f
REC|DNS_NS_CONFIG_REF|IDX=1223|BASENAME=networks.json|PATH_SHA256=578da712188eb9f0fa2815d380ce0891de79385bafc0598fc5e587569bb8d670|SHA256=db9871f6e6690dde2a684695d9fb9d14d4d733b4634ed41a8c480c505c8b39aa
REC|DNS_NS_CONFIG_REF|IDX=1224|BASENAME=dns.json|PATH_SHA256=6a39fd1294ce8e6f48af290eb85eae6f66921f9d45fd1dc4f26673ee4181eaeb|SHA256=94ac4033db5059d7399074eea67229181dc172f437cbdc343e5310d52d0d93f5
REC|DNS_NS_CONFIG_REF|IDX=1225|BASENAME=networks.json|PATH_SHA256=14131bbb66a5fa5d0ff2f704ed5bbdd351a9479507807a00ddc6ee4ae06bc943|SHA256=9df5110bba1c70d60f2578c3b55b0a3a9b7377d54ab357d91e86b2cce3a570d9
REC|DNS_NS_CONFIG_REF|IDX=1226|BASENAME=dns.json|PATH_SHA256=04b87458f73a64a072abb8c0a6a29b2738d3f024ce54054faf33c4ad20bf8fae|SHA256=a7e8a4de52092e21316985c8d9dc32bd215d2fcdea994fc42ec9b8f27eea8060
REC|DNS_NS_CONFIG_REF|IDX=1227|BASENAME=networks.json|PATH_SHA256=d24eae2d7b1433ef543118f013c1b95d22f7dc5d62864f8a41bcd5840522a72f|SHA256=493f6eaa72a336c203101e394beb813c9e9af50b0908a7ae2f5af11016be3dcf
REC|DNS_NS_CONFIG_REF|IDX=1228|BASENAME=dns.json|PATH_SHA256=d2a7089fbc8e0a46dc4fec380f5e5dcf2d0889841bdca8effc287a91e475cbb6|SHA256=7f1495adc094e001382c22fd178339ef7551efb8bcf2108224ef1ebf4a31ea0f
REC|DNS_NS_CONFIG_REF|IDX=1229|BASENAME=networks.json|PATH_SHA256=ed20dd2a2c96e1fafc79308659ddbf4ded2fddfa48c6ff14dce3d18358502327|SHA256=faa379730b053b84683e1081d4e8e04e6a5702b14282c222588264a9a88e84b5
REC|DNS_NS_CONFIG_REF|IDX=1230|BASENAME=dns.json|PATH_SHA256=2479e3789cf7f89e551eb3739bf9f8c1fbb3ab5009345eb049a044b73c941263|SHA256=342123c2b7c0780ef662a6236394f68be8ad733848354c301cdf7f1968d6d78d
REC|DNS_NS_CONFIG_REF|IDX=1231|BASENAME=networks.json|PATH_SHA256=f45873695f85b7b354b3fb5052145ba61a91d6087fa586588dedf83e286a55ea|SHA256=85e972164577f694a9dd7502ce6236d80ef17dae3d7ee09cfac8d30fb6154294
REC|DNS_NS_CONFIG_REF|IDX=1232|BASENAME=dns.json|PATH_SHA256=533506ce9ad2ed88549d260e1975d1de4c4ee475bbb6129112fed3111f290b99|SHA256=bd9cb828d88fbe257641617cd2a8e10c2a19f730225360642b978af466fc48cc
REC|DNS_NS_CONFIG_REF|IDX=1233|BASENAME=networks.json|PATH_SHA256=f895858adf4956690d0a5af23740b0cda38cbf9ba5b92c3f0e3b609637ee8371|SHA256=37589fe0a18ac535faac43d729639429f97e55c40f0ff9d0ef2603c34fa856a6
REC|DNS_NS_CONFIG_REF|IDX=1234|BASENAME=dns.json|PATH_SHA256=0b6e04e2c2c9eecd85053d21b61465b59b89117b0e1160f5eeb8576dd18c2b7d|SHA256=42a4e74c3720f5599fc474d325fee490cf1a4db92203729cdf170e9a05340a59
REC|DNS_NS_CONFIG_REF|IDX=1235|BASENAME=networks.json|PATH_SHA256=63b20b56395fdf78c550989154a27a2aa13ca694c0ea060170af268af09d8b86|SHA256=a9f4b074f4518ee5f49fa6053bf5f900b2fffabe642ee854886ec4f46e750f6d
REC|DNS_NS_CONFIG_REF|IDX=1236|BASENAME=dns.json|PATH_SHA256=42f3b70a564023e71b07ee2e434bb4466d65196e052de67d017341028705fff9|SHA256=41bf813446b1179b11e000af967027a14f43d37c6490b6cc3956f97078075764
REC|DNS_NS_CONFIG_REF|IDX=1237|BASENAME=networks.json|PATH_SHA256=a569ed23cb09561631ab96296c55974fedb5ea1a15d55bd3bb88f86299236468|SHA256=90bcd1984920c05b7b03260f48f364a0990b696b2d5e7cf93d483a203a1b1fdc
REC|DNS_NS_CONFIG_REF|IDX=1238|BASENAME=dns.json|PATH_SHA256=7b3a19f3807e1f8176ec752cf5da49011b3bb240de8b357faf366102815ea4e0|SHA256=eb52860d9bd5499041b8c6f4ec496e7b6d91288383ecd68b153b7ad41755af9b
REC|DNS_NS_CONFIG_REF|IDX=1239|BASENAME=networks.json|PATH_SHA256=0187dea11ee00c72fa9ceaf92313b76ce323f680258ce43e1b507521382aa070|SHA256=7567f2d075fcd809faf401307ce3f430d3d9c4b8035399866a9950017f699c75
REC|DNS_NS_CONFIG_REF|IDX=1240|BASENAME=dns.json|PATH_SHA256=355a63cd9464d63be972824976278399cf889b7c079973622f98e327b75017ff|SHA256=abed631efdf7ab3cd2da321d02388009985a6ac4622f38bfa4667fd953ae936a
REC|DNS_NS_CONFIG_REF|IDX=1241|BASENAME=networks.json|PATH_SHA256=bdc08c0c6ef8c403cf8fb2f7b78a2c313c8b4688e3228acb76d4d75238577452|SHA256=94afdbadddd96ecb092296b761c280408f21335be8e357d059a0824a9c075bdd
REC|DNS_NS_CONFIG_REF|IDX=1242|BASENAME=dns.json|PATH_SHA256=46289394a7af6b069d6e3342847738a8c030346a08dbfb3ded915bb9a34dc85e|SHA256=a47e22ec5e4f873c0b533ab998e2a09f858b943541bd99d68fbb7954b566496c
REC|DNS_NS_CONFIG_REF|IDX=1243|BASENAME=networks.json|PATH_SHA256=4353ca63f8a4fcd2aa3b43fa13a63ca698c758fc0335af84bf964cefad34a090|SHA256=d1fcb9320e1e81a15b48cb015eed3529fc5b1cc01b1447e9a546b47689f5174e
REC|DNS_NS_CONFIG_REF|IDX=1244|BASENAME=dns.json|PATH_SHA256=df74fb217c5f2dce4a3a914e2a5ce3d9ca06c6dada8fb4ea232b900d9aedec96|SHA256=27c871d48086390a6d913b93cd296a86e60ee4e8e1766e517cde1817d48d3579
REC|DNS_NS_CONFIG_REF|IDX=1245|BASENAME=networks.json|PATH_SHA256=9100df82e94ab618f5b0c2a6ad84876579ef0897928cb059c613fbf0f11227fa|SHA256=f6c9ccaa7a4ae8b80e579a64579cd58177885a76a54e6b3762bc6e06e089d070
REC|DNS_NS_CONFIG_REF|IDX=1246|BASENAME=dns.json|PATH_SHA256=9b5411f8b9ca9dd1fd8981aaf442b0ad5cc80520666c44f1cf127df265b59941|SHA256=219da052836237858d7a1ad4273d2142ae0751cf5baffade8690d84b285ee818
REC|DNS_NS_CONFIG_REF|IDX=1247|BASENAME=networks.json|PATH_SHA256=de0e49c254ce2ea13372a2a393221cf97b1a3f3b02941ec52d86bb44d1ac19fb|SHA256=8b8f27d45c5b4e65b30555d243f9b0c15b8d0b5ecee4bee9c063a07e2f2dc14d
REC|DNS_NS_CONFIG_REF|IDX=1248|BASENAME=dns.json|PATH_SHA256=0b3a1e8ee16dbcf43f77c541551051fdfa288a308dbb3a4cdd92db37cb0d93ce|SHA256=0d3f024de93b223fc3e25b5e867a31954daf502f54188ed21796e9890927367d
REC|DNS_NS_CONFIG_REF|IDX=1249|BASENAME=networks.json|PATH_SHA256=149afb613304287f0b4fabbb9a97eaa698b8269054a3b03f79d6f4c158b8b4a7|SHA256=a1f8318e4f0af67839da5c4cc1968a7804767ca2813de3f539ab07bc44ffa081
REC|DNS_NS_CONFIG_REF|IDX=1250|BASENAME=dns.json|PATH_SHA256=da934e6b2e57cf98a6a5d7ba4f57c23168cebc03a51581b35fe29d33f989db40|SHA256=7f9fd812fe08cd854691cdb3d48752f204fecc357e08e647fccd5996611f10e1
REC|DNS_NS_CONFIG_REF|IDX=1251|BASENAME=networks.json|PATH_SHA256=5c81c233d880a4091f4aeeeecd48ec396125159b0e72e3ca1f8f955e500cbc76|SHA256=6212207301ca3825d697c330c323884c0e8c97925f4974d4c0cf01722146a4ae
REC|DNS_NS_CONFIG_REF|IDX=1252|BASENAME=dns.json|PATH_SHA256=32419ebed19e0f3979f729b7a12fe9cf7d7f29a4c4dfb1d6a7ccd831a83f4b02|SHA256=517f6aec11f213f0a35549c907edf6f170c1705732d542cb40bd699e95afac6c
REC|DNS_NS_CONFIG_REF|IDX=1253|BASENAME=networks.json|PATH_SHA256=cdf61390969a55239516b335b280d6f02a494aa9a469a46091e3013ef128b2d6|SHA256=9ba21c7d58a1b4cef6d494914dc720127cd51eeccc307a4bc43b0bbf003d46ac
REC|DNS_NS_CONFIG_REF|IDX=1254|BASENAME=dns.json|PATH_SHA256=ca669c0564fba9fb9c80a6f8143b52f8a4795522a545fca3ac047ef640eee792|SHA256=43fd3ae10b2bf34472c0a9b3e7d5bd2cfd9bcd2d0049cd4c3d1d4867c4c9e402
REC|DNS_NS_CONFIG_REF|IDX=1255|BASENAME=networks.json|PATH_SHA256=35b4fc90609ddf166ebe958b8a4eabad188ddeceabea499252d378ee928a8015|SHA256=b1a91b695d28ed86b52689bc7d4e4cd4d7a50e00b6eeb6618ce4ad575963bbd6
REC|DNS_NS_CONFIG_REF|IDX=1256|BASENAME=dns.json|PATH_SHA256=babd7b94b2dfaaefea48e0575acf0b2402a09c28c17c7a1c050e8fcfd1addec8|SHA256=02736cb629b360d0f09bba14aee0a86707cc8124329939b7c1d71683e52b757f
REC|DNS_NS_CONFIG_REF|IDX=1257|BASENAME=networks.json|PATH_SHA256=5550e322fee9dcd43e4525e65e17d704ffefd87d23a1a8a97b032605d2cc1c30|SHA256=dc3a098d45431fdc1bdd109c56d0d606d9b45a1a5f7948a1ca2e7788116604c2
REC|DNS_NS_CONFIG_REF|IDX=1258|BASENAME=dns.json|PATH_SHA256=6f0a28b0518746248c2e1ae888a99078f7045812198083ba02e6eba336fd302d|SHA256=11026e0c89ae00f417b2006c3ead137525298d1856e44b76d869f22002727409
REC|DNS_NS_CONFIG_REF|IDX=1259|BASENAME=networks.json|PATH_SHA256=5a1adec8bdc661492f828ea39a1461e345b8a2b1443d75fa701defd194870711|SHA256=4482cf06933bf6d890460a88e0dba684cffd7ff7413578cfee03eec47431cde0
REC|DNS_NS_CONFIG_REF|IDX=1260|BASENAME=dns.json|PATH_SHA256=4ece7cf9b1a409b17d22958ed62aa3dc84fe96540eac5f51d67ce4fc2edf898d|SHA256=1e08d39dd296f9bf945abd9a62ec8d1eb3739f75a2a91e17c21550c8fff26773
REC|DNS_NS_CONFIG_REF|IDX=1261|BASENAME=networks.json|PATH_SHA256=c1a2eb5e6066ea00912b74805cf53373f7bb55691b13348d76a3868700c89e4f|SHA256=99948fc5c9bba6df0cb489a43b727d086f9d03eeee576ee729bfbd46e3a532aa
REC|DNS_NS_CONFIG_REF|IDX=1262|BASENAME=dns.json|PATH_SHA256=b5be89ebf19f7050e1d01496f85abab9f2de11fbf9519020f6366c5a147f4c7c|SHA256=b6614f21fcb5f3f126499b689835aeb793f87e18094a4f23b54d65f96561f9ab
REC|DNS_NS_CONFIG_REF|IDX=1263|BASENAME=networks.json|PATH_SHA256=52ee3353b3e7eff8d92587abad62cd8080fe6a1d47a521600380618b2933548d|SHA256=19e3823d287874ee38775cebac927d7f4996b9f3ee059e56f9fa1e8075a125de
REC|DNS_NS_CONFIG_REF|IDX=1264|BASENAME=dns.json|PATH_SHA256=679b6b9d64840a482e1045d53714f402fec0c29f844d4ecc0eedfa274f48777c|SHA256=365a916647d6cab8a75dd0549eb25d505b184b057bdaa484563882d26eb8d7fc
REC|DNS_NS_CONFIG_REF|IDX=1265|BASENAME=networks.json|PATH_SHA256=6ef991e56ffea11f3b171d0fde8b5430d705c3dd8aebcfd4a9a8cdb10f0af2b2|SHA256=3cb173e537927ec4deaa93c7342304cfc81a3e27c8d49c047f01c8ee62e14658
REC|DNS_NS_CONFIG_REF|IDX=1266|BASENAME=dns.json|PATH_SHA256=b061e36d516bb63236b31b8029c5efad64f45174f7dd84d978723511733ecacd|SHA256=53e739d342a019e779aaf7cc30bcf5eea5cdad006ad78d7af69a43a2ec2b3ec5
REC|DNS_NS_CONFIG_REF|IDX=1267|BASENAME=networks.json|PATH_SHA256=5c33aefc3883cc169499ceb2716ed4e13763fe01c9a36952f850922eec165b01|SHA256=357187b89a7ff03a4f8ee0197ac78931faa7df85759d842d6dd2a17b793b5dc0
REC|DNS_NS_CONFIG_REF|IDX=1268|BASENAME=dns.json|PATH_SHA256=7963eb220d482439e07c1b3a264da82ac9cd97fc7b5a9f6e51b569988fe08698|SHA256=6d29f1d219305a5ca1768e17ce692db5ad403d8cd081d588b6c99c55aed5b676
REC|DNS_NS_CONFIG_REF|IDX=1269|BASENAME=resolv.conf|PATH_SHA256=95f03ffa45a7d998216b9e8338782aff0bc5793a5fc051549c62696540724d5e|SHA256=a89871ac2938a423c74c6dfe801eab57085b4a4c869bb1f864097f5885e27a74
DNS_NS_CONFIG_REF_COUNT=1269
VM130_NODE=pve03
VM130_QGA_INVENTORY_RC=0

OUTPUT_END
CHAT_OUTPUT_END
