39 lines
210 KiB
JSON
39 lines
210 KiB
JSON
{
|
|
"schema_version": 1,
|
|
"channel": "homelab-runtime",
|
|
"command_id": "NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171",
|
|
"status": "OK",
|
|
"rc": 0,
|
|
"host": "pve01",
|
|
"mode": "read-only",
|
|
"component": "newfi-newfdom-notify213-xenforo-alert-push-contract-readonly",
|
|
"started_at_utc": "2026-09-19T21:38:07Z",
|
|
"finished_at_utc": "2026-09-19T21:38:10Z",
|
|
"reference_register_checked": true,
|
|
"reference_sha256": "5a3d8e5154c41cb582a4e0aca68090be1f0138918bf82131a948df326f9d8d66",
|
|
"error_register_checked": true,
|
|
"error_register_sha256": "3b09a553ec0f527ed3afeed4753f52a74ee3036045bbfb3c685e9f8af4ba7ba0",
|
|
"command_sha256": "c263a21ba533a05176ca6a52559628095df424d4edac189fe188176f8333894e",
|
|
"duplicate_failed_command_blocked": false,
|
|
"block_reason": null,
|
|
"execution_started": true,
|
|
"change_declared": false,
|
|
"result_contract_valid": true,
|
|
"result_contract_status": null,
|
|
"result_contract_error": null,
|
|
"command_rc": 0,
|
|
"changes_made": false,
|
|
"rollback_started": false,
|
|
"rollback_restored": null,
|
|
"mutation_outcome": "NO_MUTATION",
|
|
"sanitized": true,
|
|
"secrets_included": false,
|
|
"private_addresses_included": false,
|
|
"raw_evidence_retained_locally": true,
|
|
"raw_evidence_sha256": "788c33605da51d3a968984b95b4cc5a8f394a11e22d6105b9cfa73dcfd7aebea",
|
|
"sanitized_output_sha256": "788c33605da51d3a968984b95b4cc5a8f394a11e22d6105b9cfa73dcfd7aebea",
|
|
"output_truncated_in_json": false,
|
|
"full_sanitized_output_url": "https://git.gram1.ru/.well-known/homelab-runtime/latest.txt",
|
|
"output": "NEWFI171_BEGIN=true\nCOMMAND_ID=NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171\nNEWFI171_GIT={\"branch\":\"implementation/newfi-closed-mvp-20260906\",\"clean\":true,\"head\":\"92de706841be89597b4b6d9738c64780e9f940e5\",\"remote_head\":\"92de706841be89597b4b6d9738c64780e9f940e5\"}\nNEWFI171_GIT_SOURCE={\"src/addons/Newfi/AutoContent/Entity/EditorialItem.php\":{\"bytes\":1677,\"sha256\":\"57ef31a09736773b1ce05394f741145b0290b1e58be5e25e2605802e4fa140ab\",\"text\":\"<?php\\nnamespace Newfi\\\\AutoContent\\\\Entity;\\nuse XF\\\\Mvc\\\\Entity\\\\Entity;\\nuse XF\\\\Mvc\\\\Entity\\\\Structure;\\n\\nclass EditorialItem extends Entity\\n{\\n public static function getStructure(Structure $s)\\n {\\n $s->table='xf_newfi_autocontent_item';\\n $s->shortName='Newfi\\\\AutoContent:EditorialItem';\\n $s->primaryKey='item_id';\\n $s->columns=[\\n 'item_id'=>['type'=>self::UINT,'autoIncrement'=>true,'nullable'=>true],\\n 'source_id'=>['type'=>self::UINT,'required'=>true],\\n 'source_identity'=>['type'=>self::BINARY,'maxLength'=>190,'required'=>true],\\n 'fingerprint'=>['type'=>self::BINARY,'maxLength'=>64,'required'=>true],\\n 'event_id'=>['type'=>self::UINT,'default'=>0],\\n 'editorial_state'=>['type'=>self::BINARY,'maxLength'=>25,'default'=>'draft','allowedValues'=>['draft','review','published','rejected']],\\n 'title'=>['type'=>self::STR,'maxLength'=>100,'required'=>true],\\n 'starts_at'=>['type'=>self::UINT,'required'=>true],\\n 'ends_at'=>['type'=>self::UINT,'default'=>0],\\n 'region'=>['type'=>self::STR,'maxLength'=>100,'default'=>''],\\n 'location'=>['type'=>self::STR,'maxLength'=>255,'default'=>''],\\n 'description'=>['type'=>self::STR,'default'=>''],\\n 'source_url'=>['type'=>self::STR,'maxLength'=>500,'required'=>true],\\n 'cancelled'=>['type'=>self::BOOL,'default'=>false],\\n 'first_seen_at'=>['type'=>self::UINT,'required'=>true],\\n 'last_seen_at'=>['type'=>self::UINT,'required'=>true],\\n 'updated_at'=>['type'=>self::UINT,'required'=>true],\\n ];\\n return $s;\\n }\\n}\\n\"},\"src/addons/Newfi/AutoContent/Service/Monitor.php\":{\"bytes\":8213,\"sha256\":\"af8a30b1bb0dd53bd9e8283fb515ed2b336288354227080e4bc504b4c0751754\",\"text\":\"<?php\\nnamespace Newfi\\\\AutoContent\\\\Service;\\nuse Newfi\\\\AutoContent\\\\Entity\\\\MonitorState;\\nuse Newfi\\\\AutoContent\\\\Entity\\\\Observation;\\nuse Newfi\\\\AutoContent\\\\Entity\\\\SourceState;\\nuse Newfi\\\\AutoContent\\\\Job\\\\MonitorSource;\\nuse Newfi\\\\AutoContent\\\\MonitorPolicy;\\nuse Newfi\\\\AutoContent\\\\Policy;\\nuse Newfi\\\\AutoContent\\\\Parser\\\\FciShowSchedule;\\nuse Newfi\\\\AutoContent\\\\Parser\\\\RkfExhibitionActivity;\\nuse Newfi\\\\Events\\\\Entity\\\\SourceRegistry;\\nclass Monitor extends \\\\XF\\\\Service\\\\AbstractService\\n{\\n private function enabled(): bool{return $this->app->service(Collector::class)->isEnabled();}\\n private function lock(int $id): bool{return (int)$this->db()->fetchOne('SELECT GET_LOCK(?, 0)',Policy::monitorJobKey($id))===1;}\\n private function unlock(int $id): void{$this->db()->fetchOne('SELECT RELEASE_LOCK(?)',Policy::monitorJobKey($id));}\\n public function scheduleDue(): int\\n {\\n if(!$this->enabled())return 0;$queued=0;$now=time();\\n foreach($this->finder(MonitorState::class)->order('source_id')->fetch() as $m){$id=(int)$m->source_id;if((int)$m->next_attempt_at>$now)continue;$state=$this->em()->find(SourceState::class,$id);$source=$this->em()->find(SourceRegistry::class,$id);if(!$state||!$source||!$source->enabled)continue;try{$policy=Policy::source($source->toArray());}catch(\\\\InvalidArgumentException $e){continue;}if((string)$state->snapshot_url!==$policy['url']||(string)$state->body_sha256===''||(string)$m->last_snapshot_sha256===(string)$state->body_sha256)continue;\\n $jobs=$this->app->jobManager();$key=Policy::monitorJobKey($id);if($jobs->getUniqueJob($key))continue;if($jobs->enqueueUnique($key,MonitorSource::class,['source_id'=>$id],false)!==null)++$queued;\\n }return $queued;\\n }\\n public function runSource(int $id,float $budgetSeconds): string\\n {\\n $start=microtime(true);if(!$this->enabled())return 'disabled';if($budgetSeconds<3)return 'budget';if(!$this->lock($id))return 'busy';\\n try{$source=$this->em()->find(SourceRegistry::class,$id);$state=$this->em()->find(SourceState::class,$id);$monitor=$this->em()->find(MonitorState::class,$id);if(!$source||!$state||!$monitor)return 'disabled';$policy=Policy::source($source->toArray());if((string)$state->snapshot_url!==$policy['url']||(string)$state->body_sha256==='')return 'no_snapshot';if((string)$monitor->last_snapshot_sha256===(string)$state->body_sha256)return 'current';if($budgetSeconds-(microtime(true)-$start)<2)return 'budget';\\n try{$parsed=$this->parse((string)$source->parser_strategy,(string)$state->snapshot,$id);$records=MonitorPolicy::window($parsed['events']??[],time());$this->apply($source,$state,$monitor,$records,count($parsed['discoveries']??[]));return 'ok';}\\n catch(\\\\Throwable $e){$this->failed($monitor,$this->code($e),time());return 'retry';}\\n }finally{$this->unlock($id);}\\n }\\n private function parse(string $strategy,string $body,int $id): array\\n {\\n if($strategy==='html_fci_show_schedule_v1')return (new FciShowSchedule())->parse($body,$id);\\n if($strategy==='html_rkf_exhibition_activity_v1')return (new RkfExhibitionActivity())->parse($body);\\n throw new \\\\RuntimeException('MONITOR_PARSER');\\n }\\n private function apply(SourceRegistry $source,SourceState $state,MonitorState $monitor,array $records,int $discoveries): void\\n {\\n $now=time();$db=$this->db();$oldFailures=(int)$monitor->failures;$db->beginTransaction();\\n try{$existing=[];foreach($this->finder(Observation::class)->where('source_id',(int)$source->source_id)->fetch() as $o)$existing[]=$this->obsArray($o);\\n if(!$monitor->baseline_ready){foreach($records as $r)$this->createObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);$counts=['new'=>0,'changed'=>0,'cancelled'=>0];}\\n else{$plan=MonitorPolicy::plan($existing,$records,$now);$ingestor=$this->app->service(Ingestor::class);foreach($plan['unchanged'] as $r)$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);foreach($plan['changed'] as $r){$ingestor->ingest($r,$now);$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);}foreach($plan['new'] as $r){$ingestor->ingest($r,$now);$this->createObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256);}foreach($plan['missing'] as $r)$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256,false);foreach($plan['cancelled'] as $r){$ingestor->ingest($r,$now);$this->upsertObservation((int)$source->source_id,$r,$now,(string)$state->body_sha256,false);}$counts=['new'=>count($plan['new']),'changed'=>count($plan['changed']),'cancelled'=>count($plan['cancelled'])];}\\n $history=is_array($monitor->history)?$monitor->history:[];$history[]=['checked_at'=>$now,'snapshot_sha256'=>(string)$state->body_sha256,'observed'=>count($records),'discoveries'=>$discoveries,'new'=>$counts['new'],'changed'=>$counts['changed'],'cancelled'=>$counts['cancelled'],'status'=>'OK'];$monitor->bulkSet(['baseline_ready'=>true,'last_snapshot_sha256'=>(string)$state->body_sha256,'last_run_at'=>$now,'last_success_at'=>$now,'next_attempt_at'=>0,'failures'=>0,'last_error'=>'','observed_count'=>count($records),'new_count'=>$counts['new'],'changed_count'=>$counts['changed'],'cancelled_count'=>$counts['cancelled'],'history'=>array_slice($history,-32)]);$monitor->save();$db->commit();\\n }catch(\\\\Throwable $e){$db->rollback();throw $e;}\\n }\\n private function failed(MonitorState $m,string $code,int $now): void\\n {\\n $fail=min(1000000,(int)$m->failures+1);$history=is_array($m->history)?$m->history:[];$history[]=['checked_at'=>$now,'snapshot_sha256'=>(string)$m->last_snapshot_sha256,'observed'=>0,'discoveries'=>0,'new'=>0,'changed'=>0,'cancelled'=>0,'status'=>$code];$alert=in_array($fail,[1,3,6],true);$m->bulkSet(['last_run_at'=>$now,'last_failure_at'=>$now,'next_attempt_at'=>$now+MonitorPolicy::retryDelay($fail),'failures'=>$fail,'last_error'=>$code,'last_alert_at'=>$alert?$now:(int)$m->last_alert_at,'history'=>array_slice($history,-32)]);$m->save();if($alert)$this->alert((int)$m->source_id,$code,$fail);\\n }\\n private function alert(int $id,string $code,int $count): void{\\\\XF::logError('[Newfi EventBot] source='.$id.' code='.$code.' count='.$count);}\\n private function code(\\\\Throwable $e): string{$c=$e->getMessage();return in_array($c,['DOM_EXTENSION','FCI_HTML','RKF_HTML','MONITOR_RECORD_LIMIT','MONITOR_RECORD','MONITOR_PARSER','INGEST_REQUIRED','INGEST_ENDS_BEFORE_START','INGEST_LENGTH','INGEST_SOURCE_URL'],true)?$c:'MONITOR_ERROR';}\\n private function createObservation(int $sourceId,array $r,int $now,string $sha): Observation{$o=$this->em()->create(Observation::class);$o->bulkSet($this->obsData($sourceId,$r)+['first_seen_at'=>$now,'last_seen_at'=>$now,'evidence_sha256'=>$sha]);$o->save();return $o;}\\n private function upsertObservation(int $sourceId,array $r,int $now,string $sha,bool $seen=true): Observation{$o=$this->finder(Observation::class)->where('source_id',$sourceId)->where('source_identity',$r['source_identity'])->fetchOne();if(!$o)return $this->createObservation($sourceId,$r,$now,$sha);$o->bulkSet($this->obsData($sourceId,$r));if($seen)$o->last_seen_at=$now;$o->evidence_sha256=$sha;$o->save();return $o;}\\n private function obsData(int $sourceId,array $r): array{return ['source_id'=>$sourceId,'source_identity'=>$r['source_identity'],'match_key'=>$r['match_key'],'fingerprint'=>$r['fingerprint'],'title'=>$r['title'],'starts_at'=>$r['starts_at'],'ends_at'=>$r['ends_at']??0,'region'=>$r['region'],'location'=>$r['location'],'source_url'=>$r['source_url'],'cancelled'=>!empty($r['cancelled']),'missing_count'=>(int)($r['missing_count']??0)];}\\n private function obsArray(Observation $o): array{return ['source_id'=>(int)$o->source_id,'source_identity'=>(string)$o->source_identity,'match_key'=>(string)$o->match_key,'fingerprint'=>(string)$o->fingerprint,'title'=>(string)$o->title,'starts_at'=>(int)$o->starts_at,'ends_at'=>(int)$o->ends_at,'region'=>(string)$o->region,'location'=>(string)$o->location,'source_url'=>(string)$o->source_url,'cancelled'=>(bool)$o->cancelled,'missing_count'=>(int)$o->missing_count];}\\n}\\n\"},\"src/addons/Newfi/Events/Entity/Event.php\":{\"bytes\":1449,\"sha256\":\"8c2c6caf42390df552e64c7d95d225c394a27005ebcaaf7f8ebe2cb7f2e7bdf0\",\"text\":\"<?php\\n\\nnamespace Newfi\\\\Events\\\\Entity;\\n\\nuse XF\\\\Mvc\\\\Entity\\\\Entity;\\nuse XF\\\\Mvc\\\\Entity\\\\Structure;\\n\\nclass Event extends Entity\\n{\\n public static function getStructure(Structure $structure)\\n {\\n $structure->table = 'xf_newfi_event';\\n $structure->shortName = 'Newfi\\\\\\\\Events:Event';\\n $structure->primaryKey = 'event_id';\\n $structure->columns = [\\n 'event_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\\n 'title' => ['type' => self::STR, 'maxLength' => 100, 'required' => true],\\n 'starts_at' => ['type' => self::UINT, 'required' => true],\\n 'ends_at' => ['type' => self::UINT, 'default' => 0],\\n 'region' => ['type' => self::STR, 'maxLength' => 100, 'default' => ''],\\n 'location' => ['type' => self::STR, 'maxLength' => 255, 'default' => ''],\\n 'description' => ['type' => self::STR, 'maxLength' => 10000, 'default' => ''],\\n 'state' => [\\n 'type' => self::STR,\\n 'maxLength' => 25,\\n 'default' => 'draft',\\n 'allowedValues' => ['draft', 'published', 'cancelled']\\n ],\\n 'fingerprint' => ['type' => self::STR, 'maxLength' => 64, 'required' => true],\\n 'created_at' => ['type' => self::UINT, 'required' => true],\\n 'updated_at' => ['type' => self::UINT, 'required' => true]\\n ];\\n return $structure;\\n }\\n}\\n\"},\"src/addons/Newfi/Events/Entity/EventChange.php\":{\"bytes\":777,\"sha256\":\"c9743f22eedbd43a2a6231b34301d43d42fefbca9ce4898ee0d2a59eb455e602\",\"text\":\"<?php\\n\\nnamespace Newfi\\\\Events\\\\Entity;\\n\\nuse XF\\\\Mvc\\\\Entity\\\\Entity;\\nuse XF\\\\Mvc\\\\Entity\\\\Structure;\\n\\nclass EventChange extends Entity\\n{\\n public static function getStructure(Structure $structure)\\n {\\n $structure->table = 'xf_newfi_event_change';\\n $structure->shortName = 'Newfi\\\\Events:EventChange';\\n $structure->primaryKey = 'event_change_id';\\n $structure->columns = [\\n 'event_change_id' => ['type' => self::UINT, 'autoIncrement' => true, 'nullable' => true],\\n 'event_id' => ['type' => self::UINT, 'required' => true],\\n 'changed_at' => ['type' => self::UINT, 'required' => true],\\n 'change_note' => ['type' => self::STR, 'maxLength' => 1000, 'required' => true]\\n ];\\n return $structure;\\n }\\n}\\n\"},\"src/addons/Newfi/Events/Setup.php\":{\"bytes\":5005,\"sha256\":\"d644a93ec86ff75d9325564c9f0d9ecd36a8059cab4437df62e8be0c561efef0\",\"text\":\"<?php\\n\\nnamespace Newfi\\\\Events;\\n\\nuse XF\\\\AddOn\\\\AbstractSetup;\\nuse XF\\\\Db\\\\Schema\\\\Create;\\n\\nclass Setup extends AbstractSetup\\n{\\n public function install(array $stepParams = [])\\n {\\n $sm = $this->schemaManager();\\n\\n $sm->createTable('xf_newfi_event', function (Create $table)\\n {\\n $table->addColumn('event_id', 'int')->autoIncrement();\\n $table->addColumn('title', 'varchar', 100);\\n $table->addColumn('starts_at', 'int');\\n $table->addColumn('ends_at', 'int')->setDefault(0);\\n $table->addColumn('region', 'varchar', 100)->setDefault('');\\n $table->addColumn('location', 'varchar', 255)->setDefault('');\\n $table->addColumn('description', 'text');\\n $table->addColumn('state', 'varbinary', 25)->setDefault('draft');\\n $table->addColumn('fingerprint', 'varbinary', 64);\\n $table->addColumn('created_at', 'int');\\n $table->addColumn('updated_at', 'int');\\n $table->addPrimaryKey('event_id');\\n $table->addKey('starts_at');\\n $table->addKey('state');\\n $table->addKey('fingerprint');\\n $table->addKey('region');\\n });\\n\\n $sm->createTable('xf_newfi_event_source', function (Create $table)\\n {\\n $table->addColumn('event_source_id', 'int')->autoIncrement();\\n $table->addColumn('event_id', 'int');\\n $table->addColumn('source_url', 'varchar', 500);\\n $table->addColumn('checked_at', 'int');\\n $table->addPrimaryKey('event_source_id');\\n $table->addKey('event_id');\\n });\\n\\n $sm->createTable('xf_newfi_event_change', function (Create $table)\\n {\\n $table->addColumn('event_change_id', 'int')->autoIncrement();\\n $table->addColumn('event_id', 'int');\\n $table->addColumn('changed_at', 'int');\\n $table->addColumn('change_note', 'text');\\n $table->addPrimaryKey('event_change_id');\\n $table->addKey('event_id');\\n });\\n\\n\\n $sm->createTable('xf_newfi_source_registry', function (Create $table)\\n {\\n $table->addColumn('source_id', 'int')->autoIncrement();\\n $table->addColumn('source_key', 'varbinary', 64);\\n $table->addColumn('title', 'varchar', 150);\\n $table->addColumn('base_url', 'varchar', 500);\\n $table->addColumn('source_type', 'varbinary', 50);\\n $table->addColumn('locale', 'varbinary', 20);\\n $table->addColumn('region', 'varbinary', 50);\\n $table->addColumn('parser_strategy', 'varbinary', 100);\\n $table->addColumn('poll_interval_seconds', 'int')->unsigned();\\n $table->addColumn('last_success_at', 'int')->unsigned()->setDefault(0);\\n $table->addColumn('last_failure_at', 'int')->unsigned()->setDefault(0);\\n $table->addColumn('failure_count', 'int')->unsigned()->setDefault(0);\\n $table->addColumn('last_error', 'varchar', 500)->setDefault('');\\n $table->addColumn('provenance_policy', 'varchar', 500);\\n $table->addColumn('enabled', 'tinyint')->unsigned()->setDefault(1);\\n $table->addColumn('created_at', 'int')->unsigned();\\n $table->addColumn('updated_at', 'int')->unsigned();\\n $table->addPrimaryKey('source_id');\\n $table->addUniqueKey('source_key');\\n $table->addKey('enabled');\\n $table->addKey('source_type');\\n $table->addKey('region');\\n });\\n\\n $seedPath = __DIR__ . '/public_sources.json';\\n $seedRows = json_decode((string)file_get_contents($seedPath), true, 512, JSON_THROW_ON_ERROR);\\n $now = time();\\n foreach ($seedRows as $row)\\n {\\n $db = \\\\XF::db();\\n $db->insert('xf_newfi_source_registry', [\\n 'source_key' => $row['source_key'],\\n 'title' => $row['title'],\\n 'base_url' => $row['base_url'],\\n 'source_type' => $row['source_type'],\\n 'locale' => $row['locale'],\\n 'region' => $row['region'],\\n 'parser_strategy' => $row['parser_strategy'],\\n 'poll_interval_seconds' => (int)$row['poll_interval_seconds'],\\n 'last_success_at' => 0,\\n 'last_failure_at' => 0,\\n 'failure_count' => 0,\\n 'last_error' => '',\\n 'provenance_policy' => $row['provenance_policy'],\\n 'enabled' => !empty($row['enabled']) ? 1 : 0,\\n 'created_at' => $now,\\n 'updated_at' => $now\\n ]);\\n }\\n\\n return null;\\n }\\n\\n public function uninstall(array $stepParams = [])\\n {\\n $sm = $this->schemaManager();\\n $sm->dropTable('xf_newfi_source_registry');\\n $sm->dropTable('xf_newfi_event_change');\\n $sm->dropTable('xf_newfi_event_source');\\n $sm->dropTable('xf_newfi_event');\\n return null;\\n }\\n}\\n\"},\"src/addons/Newfi/Events/_data/routes.xml\":{\"bytes\":144,\"sha256\":\"7fefbb03c4c8b0bcd3e1dc1cd8f3f0e44460aa3b1fc09f5e63ee394e56c61309\",\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<routes>\\n <route route_type=\\\"public\\\" route_prefix=\\\"events\\\" controller=\\\"Newfi\\\\Events:Events\\\"/>\\n</routes>\\n\"},\"src/addons/Newfi/Events/_data/templates.xml\":{\"bytes\":12199,\"sha256\":\"7d14721613e241c5e6718c92fe035a8208364a926417a6b75264e98cf5413b4b\",\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<templates>\\n <template type=\\\"public\\\" title=\\\"newfi_events\\\" version_id=\\\"1000010\\\" version_string=\\\"1.0.0 Alpha 1\\\"><![CDATA[\\n<xf:title>\\u0421\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f</xf:title>\\n<xf:css src=\\\"newfi_events.less\\\" />\\n\\n<div class=\\\"newfiEvents\\\" data-events208=\\\"calendar-ui-v1\\\">\\n <section class=\\\"newfiEvents-hero\\\">\\n <div>\\n <span class=\\\"newfiEvents-kicker\\\">\\u041a\\u0430\\u043b\\u0435\\u043d\\u0434\\u0430\\u0440\\u044c \\u041d\\u044c\\u044e\\u0444\\u0414\\u043e\\u043c\\u0430</span>\\n <h1>\\u0421\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f \\u0441\\u043e\\u043e\\u0431\\u0449\\u0435\\u0441\\u0442\\u0432\\u0430</h1>\\n <p>\\u0412\\u044b\\u0441\\u0442\\u0430\\u0432\\u043a\\u0438, \\u0432\\u0441\\u0442\\u0440\\u0435\\u0447\\u0438, \\u0432\\u043e\\u0434\\u043d\\u044b\\u0435 \\u0442\\u0440\\u0435\\u043d\\u0438\\u0440\\u043e\\u0432\\u043a\\u0438 \\u0438 \\u0434\\u0440\\u0443\\u0433\\u0438\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f. \\u0414\\u0430\\u043d\\u043d\\u044b\\u0435 \\u043f\\u0443\\u0431\\u043b\\u0438\\u043a\\u0443\\u044e\\u0442\\u0441\\u044f \\u0442\\u043e\\u043b\\u044c\\u043a\\u043e \\u043f\\u043e\\u0441\\u043b\\u0435 \\u043f\\u0440\\u043e\\u0432\\u0435\\u0440\\u043a\\u0438 \\u0438\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a\\u0430.</p>\\n </div>\\n <nav class=\\\"newfiEvents-tabs\\\" aria-label=\\\"\\u041f\\u0435\\u0440\\u0438\\u043e\\u0434\\\">\\n <a href=\\\"{{ link('events', null, {'period':'upcoming'}) }}\\\">\\u041f\\u0440\\u0435\\u0434\\u0441\\u0442\\u043e\\u044f\\u0449\\u0438\\u0435</a>\\n <a href=\\\"{{ link('events', null, {'period':'past'}) }}\\\">\\u041f\\u0440\\u043e\\u0448\\u0435\\u0434\\u0448\\u0438\\u0435</a>\\n <a href=\\\"{{ link('events', null, {'period':'all'}) }}\\\">\\u0412\\u0441\\u0435</a>\\n </nav>\\n </section>\\n\\n <section class=\\\"newfiEvents-panel\\\">\\n <h2>\\u0424\\u0438\\u043b\\u044c\\u0442\\u0440\\u044b</h2>\\n <form action=\\\"{{ link('events') }}\\\" method=\\\"get\\\" class=\\\"newfiEvents-filters\\\">\\n <label><span>\\u041f\\u0435\\u0440\\u0438\\u043e\\u0434</span>\\n <select name=\\\"period\\\">\\n <option value=\\\"upcoming\\\">\\u041f\\u0440\\u0435\\u0434\\u0441\\u0442\\u043e\\u044f\\u0449\\u0438\\u0435</option>\\n <option value=\\\"past\\\">\\u041f\\u0440\\u043e\\u0448\\u0435\\u0434\\u0448\\u0438\\u0435</option>\\n <option value=\\\"all\\\">\\u0412\\u0441\\u0435</option>\\n </select>\\n </label>\\n <label><span>\\u0420\\u0435\\u0433\\u0438\\u043e\\u043d</span>\\n <select name=\\\"region\\\">\\n <option value=\\\"\\\">\\u0412\\u0441\\u0435 \\u0440\\u0435\\u0433\\u0438\\u043e\\u043d\\u044b</option>\\n <xf:foreach loop=\\\"$regions\\\" value=\\\"$region\\\"><option value=\\\"{$region}\\\">{$region}</option></xf:foreach>\\n </select>\\n </label>\\n <label><span>\\u041c\\u0435\\u0441\\u0442\\u043e</span><input type=\\\"search\\\" name=\\\"location\\\" value=\\\"{$filters.location}\\\" placeholder=\\\"\\u0413\\u043e\\u0440\\u043e\\u0434, \\u043f\\u043b\\u043e\\u0449\\u0430\\u0434\\u043a\\u0430 \\u0438\\u043b\\u0438 \\u0430\\u0434\\u0440\\u0435\\u0441\\\" /></label>\\n <label><span>\\u0421 \\u0434\\u0430\\u0442\\u044b</span><input type=\\\"date\\\" name=\\\"from\\\" value=\\\"{$filters.from}\\\" /></label>\\n <label><span>\\u041f\\u043e \\u0434\\u0430\\u0442\\u0443</span><input type=\\\"date\\\" name=\\\"to\\\" value=\\\"{$filters.to}\\\" /></label>\\n <input type=\\\"hidden\\\" name=\\\"month\\\" value=\\\"{$filters.month}\\\" />\\n <div class=\\\"newfiEvents-filterActions\\\">\\n <button type=\\\"submit\\\" class=\\\"button button--primary\\\">\\u041f\\u0440\\u0438\\u043c\\u0435\\u043d\\u0438\\u0442\\u044c</button>\\n <a class=\\\"button\\\" href=\\\"{{ link('events') }}\\\">\\u0421\\u0431\\u0440\\u043e\\u0441\\u0438\\u0442\\u044c</a>\\n </div>\\n </form>\\n </section>\\n\\n <section class=\\\"newfiEvents-panel\\\">\\n <header class=\\\"newfiEvents-sectionHeader\\\">\\n <div><span class=\\\"newfiEvents-kicker\\\">\\u041c\\u0435\\u0441\\u044f\\u0446</span><h2>{$calendarMonthLabel}</h2></div>\\n <div class=\\\"newfiEvents-monthNav\\\">\\n <a class=\\\"button\\\" href=\\\"{{ link('events', null, {'month':$calendarPrev,'period':$filters.period,'region':$filters.region,'location':$filters.location}) }}\\\">\\u2190</a>\\n <a class=\\\"button\\\" href=\\\"{{ link('events', null, {'month':$calendarNext,'period':$filters.period,'region':$filters.region,'location':$filters.location}) }}\\\">\\u2192</a>\\n </div>\\n </header>\\n <div class=\\\"newfiEvents-calendarWeekdays\\\" aria-hidden=\\\"true\\\"><span>\\u041f\\u043d</span><span>\\u0412\\u0442</span><span>\\u0421\\u0440</span><span>\\u0427\\u0442</span><span>\\u041f\\u0442</span><span>\\u0421\\u0431</span><span>\\u0412\\u0441</span></div>\\n <div class=\\\"newfiEvents-calendar\\\">\\n <xf:foreach loop=\\\"$calendarWeeks\\\" value=\\\"$week\\\">\\n <xf:foreach loop=\\\"$week\\\" value=\\\"$cell\\\">\\n <xf:if is=\\\"$cell\\\">\\n <div class=\\\"newfiEvents-day\\\">\\n <strong>{$cell.day}</strong>\\n <xf:foreach loop=\\\"$cell.events\\\" value=\\\"$event\\\">\\n <a class=\\\"newfiEvents-dayEvent\\\" href=\\\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\\\">{$event.title}</a>\\n </xf:foreach>\\n </div>\\n <xf:else />\\n <div class=\\\"newfiEvents-day newfiEvents-day--empty\\\"></div>\\n </xf:if>\\n </xf:foreach>\\n </xf:foreach>\\n </div>\\n </section>\\n\\n <section class=\\\"newfiEvents-panel\\\">\\n <header class=\\\"newfiEvents-sectionHeader\\\">\\n <div><span class=\\\"newfiEvents-kicker\\\">\\u0421\\u043f\\u0438\\u0441\\u043e\\u043a</span><h2><xf:if is=\\\"$filters.period == 'past'\\\">\\u041f\\u0440\\u043e\\u0448\\u0435\\u0434\\u0448\\u0438\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f<xf:elseif is=\\\"$filters.period == 'all'\\\" />\\u0412\\u0441\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f<xf:else />\\u041f\\u0440\\u0435\\u0434\\u0441\\u0442\\u043e\\u044f\\u0449\\u0438\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f</xf:if></h2></div>\\n </header>\\n <xf:if is=\\\"$events\\\">\\n <div class=\\\"newfiEvents-list\\\">\\n <xf:foreach loop=\\\"$events\\\" value=\\\"$event\\\">\\n <article class=\\\"newfiEvents-card\\\">\\n <div class=\\\"newfiEvents-cardDate\\\"><xf:date time=\\\"$event.starts_at\\\" /></div>\\n <div class=\\\"newfiEvents-cardBody\\\">\\n <div class=\\\"newfiEvents-cardMeta\\\">\\n <xf:if is=\\\"$event.state == 'cancelled'\\\"><span class=\\\"newfiEvents-status newfiEvents-status--cancelled\\\">\\u041e\\u0442\\u043c\\u0435\\u043d\\u0435\\u043d\\u043e</span></xf:if>\\n <xf:if is=\\\"$event.region\\\"><span>{$event.region}</span></xf:if>\\n <xf:if is=\\\"$event.location\\\"><span>{$event.location}</span></xf:if>\\n </div>\\n <h3><a href=\\\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\\\">{$event.title}</a></h3>\\n <xf:if is=\\\"$event.description\\\"><p>{{ snippet($event.description, 220) }}</p></xf:if>\\n </div>\\n <a class=\\\"button\\\" href=\\\"{{ link('events/view', null, {'event_id':$event.event_id}) }}\\\">\\u041f\\u043e\\u0434\\u0440\\u043e\\u0431\\u043d\\u0435\\u0435</a>\\n </article>\\n </xf:foreach>\\n </div>\\n <xf:else />\\n <div class=\\\"newfiEvents-empty\\\" data-events-empty=\\\"true\\\">\\n <strong>\\u0421\\u043e\\u0431\\u044b\\u0442\\u0438\\u0439 \\u043f\\u043e\\u043a\\u0430 \\u043d\\u0435\\u0442</strong>\\n <p>\\u041a\\u0430\\u043b\\u0435\\u043d\\u0434\\u0430\\u0440\\u044c \\u0433\\u043e\\u0442\\u043e\\u0432. \\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0435\\u043d\\u043d\\u044b\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f \\u043f\\u043e\\u044f\\u0432\\u044f\\u0442\\u0441\\u044f \\u0437\\u0434\\u0435\\u0441\\u044c \\u043f\\u043e\\u0441\\u043b\\u0435 \\u043f\\u043e\\u0434\\u043a\\u043b\\u044e\\u0447\\u0435\\u043d\\u0438\\u044f \\u0438\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a\\u043e\\u0432.</p>\\n </div>\\n </xf:if>\\n </section>\\n</div>\\n]]></template>\\n <template type=\\\"public\\\" title=\\\"newfi_event_view\\\" version_id=\\\"1000010\\\" version_string=\\\"1.0.0 Alpha 1\\\"><![CDATA[\\n<xf:title>{$event.title}</xf:title>\\n<xf:css src=\\\"newfi_events.less\\\" />\\n\\n<div class=\\\"newfiEvents newfiEvents--detail\\\" data-events208-detail=\\\"v1\\\">\\n <a class=\\\"newfiEvents-back\\\" href=\\\"{{ link('events') }}\\\">\\u2190 \\u0412\\u0441\\u0435 \\u0441\\u043e\\u0431\\u044b\\u0442\\u0438\\u044f</a>\\n <article class=\\\"newfiEvents-panel newfiEvents-detail\\\">\\n <header class=\\\"newfiEvents-detailHeader\\\">\\n <div>\\n <span class=\\\"newfiEvents-kicker\\\">\\u0421\\u043e\\u0431\\u044b\\u0442\\u0438\\u0435</span>\\n <h1>{$event.title}</h1>\\n <div class=\\\"newfiEvents-cardMeta\\\">\\n <xf:if is=\\\"$event.state == 'cancelled'\\\"><span class=\\\"newfiEvents-status newfiEvents-status--cancelled\\\">\\u041e\\u0442\\u043c\\u0435\\u043d\\u0435\\u043d\\u043e</span></xf:if>\\n <xf:if is=\\\"$event.region\\\"><span>{$event.region}</span></xf:if>\\n <xf:if is=\\\"$event.location\\\"><span>{$event.location}</span></xf:if>\\n </div>\\n </div>\\n <div class=\\\"newfiEvents-detailDate\\\">\\n <strong><xf:date time=\\\"$event.starts_at\\\" /></strong>\\n <xf:if is=\\\"$event.ends_at AND $event.ends_at > $event.starts_at\\\"><span>\\u0434\\u043e <xf:date time=\\\"$event.ends_at\\\" /></span></xf:if>\\n </div>\\n </header>\\n <xf:if is=\\\"$event.state == 'cancelled'\\\"><div class=\\\"blockMessage blockMessage--error\\\">\\u0421\\u043e\\u0431\\u044b\\u0442\\u0438\\u0435 \\u043e\\u0442\\u043c\\u0435\\u043d\\u0435\\u043d\\u043e. \\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u044c\\u0442\\u0435 \\u0438\\u0441\\u0442\\u043e\\u0440\\u0438\\u044e \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0439 \\u0438 \\u043e\\u0444\\u0438\\u0446\\u0438\\u0430\\u043b\\u044c\\u043d\\u044b\\u0439 \\u0438\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a.</div></xf:if>\\n <xf:if is=\\\"$event.description\\\"><section class=\\\"newfiEvents-detailSection\\\"><h2>\\u041e\\u043f\\u0438\\u0441\\u0430\\u043d\\u0438\\u0435</h2><div class=\\\"newfiEvents-description\\\">{$event.description}</div></section></xf:if>\\n <section class=\\\"newfiEvents-detailSection\\\">\\n <h2>\\u0418\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a\\u0438</h2>\\n <xf:if is=\\\"$sources\\\">\\n <ul class=\\\"newfiEvents-sourceList\\\">\\n <xf:foreach loop=\\\"$sources\\\" value=\\\"$source\\\"><li><a href=\\\"{$source.source_url}\\\" target=\\\"_blank\\\" rel=\\\"nofollow noopener\\\">\\u041e\\u0442\\u043a\\u0440\\u044b\\u0442\\u044c \\u0438\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a</a><small>\\u041f\\u0440\\u043e\\u0432\\u0435\\u0440\\u0435\\u043d\\u043e: <xf:date time=\\\"$source.checked_at\\\" /></small></li></xf:foreach>\\n </ul>\\n <xf:else /><p>\\u0418\\u0441\\u0442\\u043e\\u0447\\u043d\\u0438\\u043a \\u043f\\u043e\\u043a\\u0430 \\u043d\\u0435 \\u043e\\u043f\\u0443\\u0431\\u043b\\u0438\\u043a\\u043e\\u0432\\u0430\\u043d.</p></xf:if>\\n </section>\\n <section class=\\\"newfiEvents-detailSection\\\">\\n <h2>\\u0418\\u0441\\u0442\\u043e\\u0440\\u0438\\u044f \\u0438\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0439</h2>\\n <xf:if is=\\\"$changes\\\">\\n <ol class=\\\"newfiEvents-history\\\"><xf:foreach loop=\\\"$changes\\\" value=\\\"$change\\\"><li><strong><xf:date time=\\\"$change.changed_at\\\" /></strong><span>{$change.change_note}</span></li></xf:foreach></ol>\\n <xf:else /><p>\\u0418\\u0437\\u043c\\u0435\\u043d\\u0435\\u043d\\u0438\\u0439 \\u043f\\u043e\\u0441\\u043b\\u0435 \\u043f\\u0443\\u0431\\u043b\\u0438\\u043a\\u0430\\u0446\\u0438\\u0438 \\u043f\\u043e\\u043a\\u0430 \\u043d\\u0435\\u0442.</p></xf:if>\\n </section>\\n </article>\\n</div>\\n]]></template>\\n <template type=\\\"public\\\" title=\\\"newfi_events.less\\\" version_id=\\\"1000010\\\" version_string=\\\"1.0.0 Alpha 1\\\"><![CDATA[\\n.newfiEvents { max-width:1180px; margin:0 auto; display:grid; gap:20px; }\\n.newfiEvents-hero,.newfiEvents-panel { background:@xf-contentBg; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusLarge; padding:22px; }\\n.newfiEvents-hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; }\\n.newfiEvents-kicker { display:block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:@xf-textColorMuted; }\\n.newfiEvents-hero h1,.newfiEvents-sectionHeader h2,.newfiEvents-detailHeader h1 { margin:4px 0 0; }\\n.newfiEvents-tabs,.newfiEvents-monthNav,.newfiEvents-filterActions { display:flex; gap:8px; flex-wrap:wrap; }\\n.newfiEvents-tabs a { display:inline-flex; padding:8px 12px; border-radius:@xf-borderRadiusSmall; background:@xf-contentAltBg; font-weight:600; }\\n.newfiEvents-filters { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; align-items:end; }\\n.newfiEvents-filters label { display:grid; gap:5px; }\\n.newfiEvents-filters input,.newfiEvents-filters select { width:100%; padding:8px 10px; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusSmall; background:@xf-inputBg; color:@xf-textColor; }\\n.newfiEvents-sectionHeader,.newfiEvents-detailHeader { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }\\n.newfiEvents-calendarWeekdays,.newfiEvents-calendar { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }\\n.newfiEvents-calendarWeekdays span { text-align:center; padding:8px 4px; font-weight:700; color:@xf-textColorMuted; }\\n.newfiEvents-day { min-height:118px; padding:9px; border:1px solid @xf-borderColor; background:@xf-contentBg; }\\n.newfiEvents-day--empty { background:@xf-contentAltBg; }\\n.newfiEvents-dayEvent { display:block; margin-top:6px; padding:5px 7px; border-radius:@xf-borderRadiusSmall; background:@xf-contentAltBg; font-size:12px; line-height:1.25; }\\n.newfiEvents-list { display:grid; gap:12px; }\\n.newfiEvents-card { display:grid; grid-template-columns:minmax(120px,170px) 1fr auto; gap:16px; align-items:center; padding:16px; border:1px solid @xf-borderColor; border-radius:@xf-borderRadiusMedium; }\\n.newfiEvents-card h3 { margin:4px 0 6px; }\\n.newfiEvents-cardDate { font-weight:700; }\\n.newfiEvents-cardMeta { display:flex; flex-wrap:wrap; gap:7px 12px; color:@xf-textColorMuted; font-size:13px; }\\n.newfiEvents-status { display:inline-flex; padding:2px 7px; border-radius:999px; font-weight:700; }\\n.newfiEvents-status--cancelled { background:@xf-errorBg; color:@xf-errorColor; }\\n.newfiEvents-empty { padding:28px; text-align:center; background:@xf-contentAltBg; border-radius:@xf-borderRadiusMedium; }\\n.newfiEvents-back { display:inline-flex; width:fit-content; }\\n.newfiEvents-detailDate { display:grid; text-align:right; gap:3px; }\\n.newfiEvents-detailSection { margin-top:22px; padding-top:18px; border-top:1px solid @xf-borderColor; }\\n.newfiEvents-description { white-space:pre-line; line-height:1.6; }\\n.newfiEvents-sourceList,.newfiEvents-history { display:grid; gap:10px; padding-left:22px; }\\n.newfiEvents-sourceList li,.newfiEvents-history li { display:grid; gap:3px; }\\n@media (max-width:@xf-responsiveMedium) {\\n .newfiEvents-hero,.newfiEvents-sectionHeader,.newfiEvents-detailHeader { display:grid; }\\n .newfiEvents-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }\\n .newfiEvents-card { grid-template-columns:1fr; }\\n .newfiEvents-detailDate { text-align:left; }\\n}\\n@media (max-width:@xf-responsiveNarrow) {\\n .newfiEvents-filters { grid-template-columns:1fr; }\\n .newfiEvents-calendarWeekdays { display:none; }\\n .newfiEvents-calendar { grid-template-columns:1fr; gap:8px; }\\n .newfiEvents-day--empty { display:none; }\\n .newfiEvents-day { min-height:0; }\\n}\\n\\n]]></template>\\n</templates>\\n\"},\"src/addons/Newfi/Events/addon.json\":{\"bytes\":397,\"sha256\":\"cc60d5f949db176004f603e42cfb160aefd7ed4d8d7fff30101f4ebb2c502dc3\",\"text\":\"{\\n \\\"title\\\": \\\"Newfi Events\\\",\\n \\\"description\\\": \\\"Minimal private-staging events/calendar component for the Newfi closed MVP.\\\",\\n \\\"version_id\\\": 1000010,\\n \\\"version_string\\\": \\\"1.0.0 Alpha 1\\\",\\n \\\"dev\\\": \\\"Newfi\\\",\\n \\\"dev_url\\\": \\\"\\\",\\n \\\"faq_url\\\": \\\"\\\",\\n \\\"support_url\\\": \\\"\\\",\\n \\\"extra_urls\\\": [],\\n \\\"require\\\": {\\n \\\"XF\\\": [\\n 2031270,\\n \\\"XenForo 2.3.12+\\\"\\n ]\\n },\\n \\\"icon\\\": \\\"\\\",\\n \\\"legacy_addon_id\\\": \\\"\\\"\\n}\\n\"}}\nNEWFI171_FRAMEWORK={\"addon_samples\":{\"addons/XFRM/Alert/ResourceItem.php\":{\"bytes\":280,\"matches\":[{\"context\":[{\"line\":2,\"text\":\"\"},{\"line\":3,\"text\":\"namespace XFRM\\\\Alert;\"},{\"line\":4,\"text\":\"\"},{\"line\":5,\"text\":\"use XF\\\\Alert\\\\AbstractHandler;\"},{\"line\":6,\"text\":\"\"}],\"line\":3,\"text\":\"namespace XFRM\\\\Alert;\"},{\"context\":[{\"line\":4,\"text\":\"\"},{\"line\":5,\"text\":\"use XF\\\\Alert\\\\AbstractHandler;\"},{\"line\":6,\"text\":\"\"},{\"line\":7,\"text\":\"class ResourceItem extends AbstractHandler\"},{\"line\":8,\"text\":\"{\"}],\"line\":5,\"text\":\"use XF\\\\Alert\\\\AbstractHandler;\"},{\"context\":[{\"line\":8,\"text\":\"{\"},{\"line\":9,\"text\":\"\\tpublic function getEntityWith(): array\"},{\"line\":10,\"text\":\"\\t{\"},{\"line\":11,\"text\":\"\\t\\t$visitor = \\\\XF::visitor();\"},{\"line\":12,\"text\":\"\"}],\"line\":9,\"text\":\"\\tpublic function getEntityWith(): array\"}],\"path\":\"/var/www/forums/newfi/public/src/addons/XFRM/Alert/ResourceItem.php\",\"present\":true,\"sha256\":\"6c57bdaba8e5fa2a943222faf41c1f7acf9ffedc36427018707944226d7225a3\"},\"addons/XFRM/Repository/ResourceWatch.php\":{\"bytes\":2771,\"matches\":[{\"context\":[{\"line\":11,\"text\":\"{\"},{\"line\":12,\"text\":\"\\tpublic function autoWatchResource(ResourceItem $resource, User $user, $onCreation = false)\"},{\"line\":13,\"text\":\"\\t{\"},{\"line\":14,\"text\":\"\\t\\t$userField = $onCreation ? 'creation_watch_state' : 'interaction_watch_state';\"},{\"line\":15,\"text\":\"\"}],\"line\":12,\"text\":\"\\tpublic function autoWatchResource(ResourceItem $resource, User $user, $onCreation = false)\"},{\"context\":[{\"line\":46,\"text\":\"\"},{\"line\":47,\"text\":\"\\tpublic function setWatchState(ResourceItem $resource, User $user, $action, array $config = [])\"},{\"line\":48,\"text\":\"\\t{\"},{\"line\":49,\"text\":\"\\t\\tif (!$resource->resource_id || !$user->user_id)\"},{\"line\":50,\"text\":\"\\t\\t{\"}],\"line\":47,\"text\":\"\\tpublic function setWatchState(ResourceItem $resource, User $user, $action, array $config = [])\"},{\"context\":[{\"line\":95,\"text\":\"\"},{\"line\":96,\"text\":\"\\tpublic function setWatchStateForAll(User $user, $action, array $updates = [])\"},{\"line\":97,\"text\":\"\\t{\"},{\"line\":98,\"text\":\"\\t\\tif (!$user->user_id)\"},{\"line\":99,\"text\":\"\\t\\t{\"}],\"line\":96,\"text\":\"\\tpublic function setWatchStateForAll(User $user, $action, array $updates = [])\"},{\"context\":[{\"line\":118,\"text\":\"\"},{\"line\":119,\"text\":\"\\tpublic function isValidWatchState($state)\"},{\"line\":120,\"text\":\"\\t{\"},{\"line\":121,\"text\":\"\\t\\tswitch ($state)\"},{\"line\":122,\"text\":\"\\t\\t{\"}],\"line\":119,\"text\":\"\\tpublic function isValidWatchState($state)\"}],\"path\":\"/var/www/forums/newfi/public/src/addons/XFRM/Repository/ResourceWatch.php\",\"present\":true,\"sha256\":\"dd9e4aabfe7a62402cec3b02df18dbecf1c21e12021930b27f176e04c75dcd76\"},\"addons/XFRM/_data/content_type_fields.xml\":{\"bytes\":6442,\"matches\":[{\"context\":[{\"line\":1,\"text\":\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\"},{\"line\":2,\"text\":\"<content_type_fields>\"},{\"line\":3,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceItemHandler</field>\"},{\"line\":4,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceItem</field>\"},{\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"}],\"line\":2,\"text\":\"<content_type_fields>\"},{\"context\":[{\"line\":2,\"text\":\"<content_type_fields>\"},{\"line\":3,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceItemHandler</field>\"},{\"line\":4,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceItem</field>\"},{\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"},{\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"}],\"line\":3,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceItemHandler</field>\"},{\"context\":[{\"line\":3,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceItemHandler</field>\"},{\"line\":4,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceItem</field>\"},{\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"},{\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"},{\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"}],\"line\":4,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceItem</field>\"},{\"context\":[{\"line\":4,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceItem</field>\"},{\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"},{\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"},{\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"},{\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"}],\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"},{\"context\":[{\"line\":5,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceItem</field>\"},{\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"},{\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"},{\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"},{\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"}],\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"},{\"context\":[{\"line\":6,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceItem</field>\"},{\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"},{\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"},{\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"},{\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"}],\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"},{\"context\":[{\"line\":7,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\ResourceItem</field>\"},{\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"},{\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"},{\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"},{\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"}],\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"},{\"context\":[{\"line\":8,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceItem</field>\"},{\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"},{\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"},{\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"},{\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"}],\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"},{\"context\":[{\"line\":9,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"entity\\\">XFRM:ResourceItem</field>\"},{\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"},{\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"},{\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"},{\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"}],\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"},{\"context\":[{\"line\":10,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"featured_content_handler_class\\\">XFRM\\\\FeaturedContent\\\\ResourceItem</field>\"},{\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"},{\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"},{\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"},{\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"}],\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"},{\"context\":[{\"line\":11,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"find_new_handler_class\\\">XFRM\\\\FindNew\\\\ResourceItem</field>\"},{\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"},{\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"},{\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"},{\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"}],\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"},{\"context\":[{\"line\":12,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"inline_mod_handler_class\\\">XFRM\\\\InlineMod\\\\ResourceItem</field>\"},{\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"},{\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"},{\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"},{\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"}],\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"},{\"context\":[{\"line\":13,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceItem</field>\"},{\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"},{\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"},{\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"},{\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"}],\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"},{\"context\":[{\"line\":14,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceItem</field>\"},{\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"},{\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"},{\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"},{\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"}],\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"},{\"context\":[{\"line\":15,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase\\\">xfrm_resource</field>\"},{\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"},{\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"},{\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"},{\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"}],\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"},{\"context\":[{\"line\":16,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"phrase_plural\\\">xfrm_resources</field>\"},{\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"},{\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"},{\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"},{\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"}],\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"},{\"context\":[{\"line\":17,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceItem</field>\"},{\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"},{\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"},{\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"},{\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"}],\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"},{\"context\":[{\"line\":18,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"sitemap_handler_class\\\">XFRM\\\\Sitemap\\\\ResourceItem</field>\"},{\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"},{\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"},{\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"},{\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"}],\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"},{\"context\":[{\"line\":19,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceItem</field>\"},{\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"},{\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"},{\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"},{\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"}],\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"},{\"context\":[{\"line\":20,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"stats_handler_class\\\">XFRM\\\\Stats\\\\ResourceItem</field>\"},{\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"},{\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"},{\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"},{\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"}],\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"},{\"context\":[{\"line\":21,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"tag_handler_class\\\">XFRM\\\\Tag\\\\ResourceItem</field>\"},{\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"},{\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"},{\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"},{\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"}],\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"},{\"context\":[{\"line\":22,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"trending_content_handler_class\\\">XFRM\\\\TrendingContent\\\\ResourceItemHandler</field>\"},{\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"},{\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"},{\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"},{\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"}],\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"},{\"context\":[{\"line\":23,\"text\":\" <field content_type=\\\"resource\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceItem</field>\"},{\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"},{\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"},{\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"},{\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"}],\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"},{\"context\":[{\"line\":24,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"email_stop_class\\\">XFRM\\\\EmailStop\\\\Category</field>\"},{\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"},{\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"},{\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"},{\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"}],\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"},{\"context\":[{\"line\":25,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"permission_handler_class\\\">XFRM\\\\Permission\\\\CategoryPermissions</field>\"},{\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"},{\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"},{\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"},{\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"}],\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"},{\"context\":[{\"line\":26,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase\\\">xfrm_resource_category</field>\"},{\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"},{\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"},{\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"},{\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"}],\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"},{\"context\":[{\"line\":27,\"text\":\" <field content_type=\\\"resource_category\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_categories</field>\"},{\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"},{\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"},{\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"},{\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"}],\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"},{\"context\":[{\"line\":28,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceRating</field>\"},{\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"},{\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"},{\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"},{\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"}],\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"},{\"context\":[{\"line\":29,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"content_vote_handler_class\\\">XFRM\\\\ContentVote\\\\ResourceRating</field>\"},{\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"},{\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"},{\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"},{\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"}],\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"},{\"context\":[{\"line\":30,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceRating</field>\"},{\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"},{\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"},{\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"},{\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"}],\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"},{\"context\":[{\"line\":31,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"entity\\\">XFRM:ResourceRating</field>\"},{\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"},{\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"},{\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"},{\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"}],\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"},{\"context\":[{\"line\":32,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceRating</field>\"},{\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"},{\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"},{\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"},{\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"}],\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"},{\"context\":[{\"line\":33,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceRating</field>\"},{\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"},{\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"},{\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"},{\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"}],\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"},{\"context\":[{\"line\":34,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"phrase\\\">xfrm_resource_rating</field>\"},{\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"},{\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"},{\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"},{\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"}],\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"},{\"context\":[{\"line\":35,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceRating</field>\"},{\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"},{\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"},{\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"},{\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"}],\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"},{\"context\":[{\"line\":36,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"spam_handler_class\\\">XFRM\\\\Spam\\\\Cleaner\\\\ResourceRating</field>\"},{\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"},{\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"},{\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"},{\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"}],\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"},{\"context\":[{\"line\":37,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceRating</field>\"},{\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"},{\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"},{\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"},{\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"}],\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"},{\"context\":[{\"line\":38,\"text\":\" <field content_type=\\\"resource_rating\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceRating</field>\"},{\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"},{\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"},{\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"},{\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"}],\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"},{\"context\":[{\"line\":39,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"activity_log_handler_class\\\">XFRM\\\\ActivityLog\\\\ResourceUpdateHandler</field>\"},{\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"},{\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"},{\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"},{\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"}],\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":40,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"alert_handler_class\\\">XFRM\\\\Alert\\\\ResourceUpdate</field>\"},{\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"},{\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"},{\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"},{\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"}],\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":41,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceUpdate</field>\"},{\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"},{\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"},{\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"},{\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"}],\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":42,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceUpdate</field>\"},{\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"},{\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"},{\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"},{\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"}],\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":43,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"bookmark_handler_class\\\">XFRM\\\\Bookmark\\\\ResourceUpdate</field>\"},{\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"},{\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"},{\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"},{\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"}],\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":44,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"edit_history_handler_class\\\">XFRM\\\\EditHistory\\\\ResourceUpdate</field>\"},{\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"},{\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"},{\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"},{\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"}],\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":45,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"embed_resolver_class\\\">XFRM\\\\EmbedResolver\\\\ResourceUpdate</field>\"},{\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"},{\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"},{\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"},{\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"}],\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"},{\"context\":[{\"line\":46,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"entity\\\">XFRM:ResourceUpdate</field>\"},{\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"},{\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"},{\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"},{\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"}],\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":47,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceUpdate</field>\"},{\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"},{\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"},{\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"},{\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"}],\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":48,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"news_feed_handler_class\\\">XFRM\\\\NewsFeed\\\\ResourceUpdate</field>\"},{\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"},{\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"},{\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"},{\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"}],\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"},{\"context\":[{\"line\":49,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase\\\">xfrm_resource_update</field>\"},{\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"},{\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"},{\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"},{\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"}],\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"},{\"context\":[{\"line\":50,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"phrase_plural\\\">xfrm_resource_updates</field>\"},{\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"},{\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"},{\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"},{\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"}],\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":51,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"reaction_handler_class\\\">XFRM\\\\Reaction\\\\ResourceUpdate</field>\"},{\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"},{\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"},{\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"},{\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"}],\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":52,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"report_handler_class\\\">XFRM\\\\Report\\\\ResourceUpdate</field>\"},{\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"},{\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"},{\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"},{\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"}],\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":53,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"search_handler_class\\\">XFRM\\\\Search\\\\Data\\\\ResourceUpdate</field>\"},{\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"},{\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"},{\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"},{\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"}],\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":54,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"warning_handler_class\\\">XFRM\\\\Warning\\\\ResourceUpdate</field>\"},{\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"},{\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"},{\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"},{\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"}],\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"},{\"context\":[{\"line\":55,\"text\":\" <field content_type=\\\"resource_update\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceUpdate</field>\"},{\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"},{\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"},{\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"},{\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"}],\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"},{\"context\":[{\"line\":56,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"approval_queue_handler_class\\\">XFRM\\\\ApprovalQueue\\\\ResourceVersion</field>\"},{\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"},{\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"},{\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"},{\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"}],\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"},{\"context\":[{\"line\":57,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"attachment_handler_class\\\">XFRM\\\\Attachment\\\\ResourceVersion</field>\"},{\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"},{\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"},{\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"},{\"line\":61,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceVersion</field>\"}],\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"},{\"context\":[{\"line\":58,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"entity\\\">XFRM:ResourceVersion</field>\"},{\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"},{\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"},{\"line\":61,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceVersion</field>\"},{\"line\":62,\"text\":\"</content_type_fields>\"}],\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"},{\"context\":[{\"line\":59,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"moderator_log_handler_class\\\">XFRM\\\\ModeratorLog\\\\ResourceVersion</field>\"},{\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"},{\"line\":61,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceVersion</field>\"},{\"line\":62,\"text\":\"</content_type_fields>\"}],\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"},{\"context\":[{\"line\":60,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"phrase\\\">xfrm_resource_version</field>\"},{\"line\":61,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceVersion</field>\"},{\"line\":62,\"text\":\"</content_type_fields>\"}],\"line\":61,\"text\":\" <field content_type=\\\"resource_version\\\" field_name=\\\"webhook_handler_class\\\">XFRM\\\\Webhook\\\\Event\\\\ResourceVersion</field>\"}],\"path\":\"/var/www/forums/newfi/public/src/addons/XFRM/_data/content_type_fields.xml\",\"present\":true,\"sha256\":\"0c55319843d04701f1f6fa7fdfeb1ae8883b6d3bb95fceb6e0cf245638543474\"},\"addons/XFRM/_data/routes.xml\":{\"bytes\":3869,\"matches\":[{\"context\":[{\"line\":2,\"text\":\"<routes>\"},{\"line\":3,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"permissions\\\" sub_name=\\\"resource-categories\\\" format=\\\"resource-categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Permission\\\" context=\\\"xfrmCategoryPermissions\\\" action_prefix=\\\"category\\\"/>\"},{\"line\":4,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":5,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrmCategories\\\"/>\"},{\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"}],\"line\":3,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"permissions\\\" sub_name=\\\"resource-categories\\\" format=\\\"resource-categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Permission\\\" context=\\\"xfrmCategoryPermissions\\\" action_prefix=\\\"category\\\"/>\"},{\"context\":[{\"line\":3,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"permissions\\\" sub_name=\\\"resource-categories\\\" format=\\\"resource-categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Permission\\\" context=\\\"xfrmCategoryPermissions\\\" action_prefix=\\\"category\\\"/>\"},{\"line\":4,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":5,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrmCategories\\\"/>\"},{\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"},{\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"}],\"line\":4,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":4,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":5,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrmCategories\\\"/>\"},{\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"},{\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"},{\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"}],\"line\":5,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrmCategories\\\"/>\"},{\"context\":[{\"line\":5,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrmCategories\\\"/>\"},{\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"},{\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"},{\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"},{\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"}],\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"},{\"context\":[{\"line\":6,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"fields\\\" format=\\\"fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceField\\\" context=\\\"xfrmFields\\\"/>\"},{\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"},{\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"},{\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"},{\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"}],\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"},{\"context\":[{\"line\":7,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes\\\" format=\\\"prefixes/:int<prefix_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\"/>\"},{\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"},{\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"},{\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"},{\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"}],\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"},{\"context\":[{\"line\":8,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"prefixes/group\\\" format=\\\"prefixes/group/:int<prefix_group_id,title>/\\\" controller=\\\"XFRM:ResourcePrefix\\\" context=\\\"xfrmPrefixes\\\" action_prefix=\\\"Group\\\"/>\"},{\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"},{\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"},{\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"},{\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"}],\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"},{\"context\":[{\"line\":9,\"text\":\" <route route_type=\\\"admin\\\" route_prefix=\\\"resource-manager\\\" sub_name=\\\"review-fields\\\" format=\\\"review-fields/:str<field_id>/\\\" controller=\\\"XFRM:ResourceReviewField\\\" context=\\\"xfrmReviewFields\\\"/>\"},{\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"},{\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"},{\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"},{\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"}],\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"},{\"context\":[{\"line\":10,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" controller=\\\"XFRM:Categories\\\"/>\"},{\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"},{\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"},{\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"},{\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"}],\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"},{\"context\":[{\"line\":11,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-categories\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_category_id>/\\\" controller=\\\"XFRM:Category\\\"/>\"},{\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"},{\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"},{\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"},{\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"}],\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"},{\"context\":[{\"line\":12,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" controller=\\\"XFRM:ResourceReviews\\\"/>\"},{\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"},{\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"},{\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"},{\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"}],\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"},{\"context\":[{\"line\":13,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-reviews\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\"/>\"},{\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"},{\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"},{\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"},{\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"}],\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"},{\"context\":[{\"line\":14,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" controller=\\\"XFRM:ResourceUpdates\\\"/>\"},{\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"},{\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"},{\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"},{\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"}],\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"},{\"context\":[{\"line\":15,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-updates\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\"/>\"},{\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"},{\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"},{\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"},{\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"}],\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"},{\"context\":[{\"line\":16,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" controller=\\\"XFRM:ResourceVersions\\\"/>\"},{\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"},{\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"},{\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"},{\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"}],\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"},{\"context\":[{\"line\":17,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resource-versions\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\"/>\"},{\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"},{\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"},{\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"}],\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"},{\"context\":[{\"line\":18,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" controller=\\\"XFRM:ResourceItems\\\"/>\"},{\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"},{\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"},{\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"}],\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"},{\"context\":[{\"line\":19,\"text\":\" <route route_type=\\\"api\\\" route_prefix=\\\"resources\\\" sub_name=\\\"-\\\" format=\\\":+int<resource_id>/\\\" controller=\\\"XFRM:ResourceItem\\\"/>\"},{\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"},{\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"},{\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"}],\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":20,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" format=\\\":int<resource_id,title>/\\\" controller=\\\"XFRM:ResourceItem\\\" context=\\\"xfrm\\\"/>\"},{\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"},{\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"},{\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"},{\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"}],\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":21,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"authors\\\" format=\\\"authors/:int<user_id,username>/\\\" controller=\\\"XFRM:Author\\\" context=\\\"xfrm\\\"/>\"},{\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"},{\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"},{\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"},{\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"}],\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":22,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"categories\\\" format=\\\"categories/:int<resource_category_id,title>/\\\" controller=\\\"XFRM:Category\\\" context=\\\"xfrm\\\"/>\"},{\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"},{\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"},{\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"},{\"line\":26,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"whats-new\\\" sub_name=\\\"resources\\\" format=\\\"resources/:int<find_new_id>/:page\\\" controller=\\\"XFRM:WhatsNewResource\\\" context=\\\"xfrm\\\"/>\"}],\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":23,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"review\\\" format=\\\":+int<resource_id,resource_title>/review/:+int<resource_rating_id>/\\\" controller=\\\"XFRM:ResourceReview\\\" context=\\\"xfrm\\\"/>\"},{\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"},{\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"},{\"line\":26,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"whats-new\\\" sub_name=\\\"resources\\\" format=\\\"resources/:int<find_new_id>/:page\\\" controller=\\\"XFRM:WhatsNewResource\\\" context=\\\"xfrm\\\"/>\"},{\"line\":27,\"text\":\"</routes>\"}],\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":24,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"update\\\" format=\\\":+int<resource_id,resource_title>/update/:+int<resource_update_id>/\\\" controller=\\\"XFRM:ResourceUpdate\\\" context=\\\"xfrm\\\"/>\"},{\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"},{\"line\":26,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"whats-new\\\" sub_name=\\\"resources\\\" format=\\\"resources/:int<find_new_id>/:page\\\" controller=\\\"XFRM:WhatsNewResource\\\" context=\\\"xfrm\\\"/>\"},{\"line\":27,\"text\":\"</routes>\"}],\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"},{\"context\":[{\"line\":25,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"resources\\\" sub_name=\\\"version\\\" format=\\\":+int<resource_id,resource_title>/version/:+int<resource_version_id>/\\\" controller=\\\"XFRM:ResourceVersion\\\" context=\\\"xfrm\\\"/>\"},{\"line\":26,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"whats-new\\\" sub_name=\\\"resources\\\" format=\\\"resources/:int<find_new_id>/:page\\\" controller=\\\"XFRM:WhatsNewResource\\\" context=\\\"xfrm\\\"/>\"},{\"line\":27,\"text\":\"</routes>\"}],\"line\":26,\"text\":\" <route route_type=\\\"public\\\" route_prefix=\\\"whats-new\\\" sub_name=\\\"resources\\\" format=\\\"resources/:int<find_new_id>/:page\\\" controller=\\\"XFRM:WhatsNewResource\\\" context=\\\"xfrm\\\"/>\"}],\"path\":\"/var/www/forums/newfi/public/src/addons/XFRM/_data/routes.xml\",\"present\":true,\"sha256\":\"254372f8f417cada060151063edda30884694a4d0a07eaca959674a80ae078be\"},\"addons/XFRM/_data/templates.xml\":{\"bytes\":244652,\"matches\":[{\"context\":[{\"line\":2,\"text\":\"<templates>\"},{\"line\":3,\"text\":\" <template type=\\\"admin\\\" title=\\\"activity_summary_options_xfrm_latest_resources\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"line\":4,\"text\":\"\"},{\"line\":5,\"text\":\"<xf:numberboxrow name=\\\"options[limit]\\\" value=\\\"{$options.limit}\\\" min=\\\"1\\\"\"},{\"line\":6,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />\"}],\"line\":3,\"text\":\" <template type=\\\"admin\\\" title=\\\"activity_summary_options_xfrm_latest_resources\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"context\":[{\"line\":42,\"text\":\"</xf:formrow>]]></template>\"},{\"line\":43,\"text\":\" <template type=\\\"admin\\\" title=\\\"activity_summary_options_xfrm_latest_reviews\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"line\":44,\"text\":\"\"},{\"line\":45,\"text\":\"<xf:numberboxrow name=\\\"options[limit]\\\" value=\\\"{$options.limit}\\\" min=\\\"1\\\"\"},{\"line\":46,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />\"}],\"line\":43,\"text\":\" <template type=\\\"admin\\\" title=\\\"activity_summary_options_xfrm_latest_reviews\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"context\":[{\"line\":57,\"text\":\"</xf:selectrow>]]></template>\"},{\"line\":58,\"text\":\" <template type=\\\"admin\\\" title=\\\"option_template_xfrmResourceDeleteThreadAction\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:formrow\"},{\"line\":59,\"text\":\"\\tlabel=\\\"{$option.title}\\\"\"},{\"line\":60,\"text\":\"\\thint=\\\"{$hintHtml}\\\"\"},{\"line\":61,\"text\":\"\\thtml=\\\"{$listedHtml}\\\">\"}],\"line\":58,\"text\":\" <template type=\\\"admin\\\" title=\\\"option_template_xfrmResourceDeleteThreadAction\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:formrow\"},{\"context\":[{\"line\":83,\"text\":\"</xf:formrow>]]></template>\"},{\"line\":84,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_latest_reviews\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"line\":85,\"text\":\"\"},{\"line\":86,\"text\":\"<xf:numberboxrow name=\\\"options[limit]\\\" value=\\\"{$options.limit}\\\" min=\\\"1\\\"\"},{\"line\":87,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />]]></template>\"}],\"line\":84,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_latest_reviews\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"context\":[{\"line\":87,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />]]></template>\"},{\"line\":88,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_new_resources\\\" version_id=\\\"2020032\\\" version_string=\\\"2.2.0 Beta 2\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"line\":89,\"text\":\"\"},{\"line\":90,\"text\":\"<xf:numberboxrow name=\\\"options[limit]\\\" value=\\\"{$options.limit}\\\" min=\\\"1\\\"\"},{\"line\":91,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />\"}],\"line\":88,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_new_resources\\\" version_id=\\\"2020032\\\" version_string=\\\"2.2.0 Beta 2\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"context\":[{\"line\":113,\"text\":\"</xf:selectrow>]]></template>\"},{\"line\":114,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_top_resources\\\" version_id=\\\"2020032\\\" version_string=\\\"2.2.0 Beta 2\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"line\":115,\"text\":\"\"},{\"line\":116,\"text\":\"<xf:numberboxrow name=\\\"options[limit]\\\" value=\\\"{$options.limit}\\\" min=\\\"1\\\"\"},{\"line\":117,\"text\":\"\\tlabel=\\\"{{ phrase('maximum_entries') }}\\\" />\"}],\"line\":114,\"text\":\" <template type=\\\"admin\\\" title=\\\"widget_def_options_xfrm_top_resources\\\" version_id=\\\"2020032\\\" version_string=\\\"2.2.0 Beta 2\\\"><![CDATA[<hr class=\\\"formRowSep\\\" />\"},{\"context\":[{\"line\":140,\"text\":\"</xf:selectrow>]]></template>\"},{\"line\":141,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_delete\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('confirm_action') }}</xf:title>\"},{\"line\":142,\"text\":\"\"},{\"line\":143,\"text\":\"<xf:macro id=\\\"category_tree_macros::category_delete_form\\\"\"},{\"line\":144,\"text\":\"\\targ-linkPrefix=\\\"resource-manager/categories\\\"\"}],\"line\":141,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_delete\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('confirm_action') }}</xf:title>\"},{\"context\":[{\"line\":145,\"text\":\"\\targ-category=\\\"{$category}\\\" />]]></template>\"},{\"line\":146,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_edit\\\" version_id=\\\"2030031\\\" version_string=\\\"2.3.0 Beta 1\\\"><![CDATA[<xf:if is=\\\"$category.isInsert()\\\">\"},{\"line\":147,\"text\":\"\\t<xf:title>{{ phrase('add_category') }}</xf:title>\"},{\"line\":148,\"text\":\"<xf:else />\"},{\"line\":149,\"text\":\"\\t<xf:title>{{ phrase('edit_category:') }} {$category.title}</xf:title>\"}],\"line\":146,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_edit\\\" version_id=\\\"2030031\\\" version_string=\\\"2.3.0 Beta 1\\\"><![CDATA[<xf:if is=\\\"$category.isInsert()\\\">\"},{\"context\":[{\"line\":282,\"text\":\"</xf:form>]]></template>\"},{\"line\":283,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_categories') }}</xf:title>\"},{\"line\":284,\"text\":\"\"},{\"line\":285,\"text\":\"<xf:macro id=\\\"category_tree_macros::page_action\\\"\"},{\"line\":286,\"text\":\"\\targ-linkPrefix=\\\"resource-manager/categories\\\" />\"}],\"line\":283,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_categories') }}</xf:title>\"},{\"context\":[{\"line\":293,\"text\":\"/>]]></template>\"},{\"line\":294,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_permission_edit\\\" version_id=\\\"2030470\\\" version_string=\\\"2.3.4\\\"><![CDATA[<xf:if is=\\\"$userGroup\\\">\"},{\"line\":295,\"text\":\"\\t<xf:title>{$userGroup.title}</xf:title>\"},{\"line\":296,\"text\":\"<xf:else />\"},{\"line\":297,\"text\":\"\\t<xf:title>{$user.username}</xf:title>\"}],\"line\":294,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_permission_edit\\\" version_id=\\\"2030470\\\" version_string=\\\"2.3.4\\\"><![CDATA[<xf:if is=\\\"$userGroup\\\">\"},{\"context\":[{\"line\":314,\"text\":\"]]></template>\"},{\"line\":315,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_permission_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('permissions:') }} {$record.title}</xf:title>\"},{\"line\":316,\"text\":\"\"},{\"line\":317,\"text\":\"<xf:macro id=\\\"permission_category_macros::list\\\"\"},{\"line\":318,\"text\":\"\\targ-category=\\\"{$record}\\\"\"}],\"line\":315,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_permission_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('permissions:') }} {$record.title}</xf:title>\"},{\"context\":[{\"line\":324,\"text\":\"]]></template>\"},{\"line\":325,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_sort\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('sort_categories') }}</xf:title>\"},{\"line\":326,\"text\":\"\"},{\"line\":327,\"text\":\"<xf:macro id=\\\"category_tree_macros::sortable_form\\\"\"},{\"line\":328,\"text\":\"\\targ-categoryTree=\\\"{$categoryTree}\\\"\"}],\"line\":325,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_category_sort\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('sort_categories') }}</xf:title>\"},{\"context\":[{\"line\":329,\"text\":\"\\targ-linkPrefix=\\\"resource-manager/categories\\\" />]]></template>\"},{\"line\":330,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_edit\\\" version_id=\\\"2030470\\\" version_string=\\\"2.3.4\\\"><![CDATA[<xf:if is=\\\"$userGroup\\\">\"},{\"line\":331,\"text\":\"\\t<xf:title>{$userGroup.title}</xf:title>\"},{\"line\":332,\"text\":\"<xf:else />\"},{\"line\":333,\"text\":\"\\t<xf:title>{$user.username}</xf:title>\"}],\"line\":330,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_edit\\\" version_id=\\\"2030470\\\" version_string=\\\"2.3.4\\\"><![CDATA[<xf:if is=\\\"$userGroup\\\">\"},{\"context\":[{\"line\":350,\"text\":\"]]></template>\"},{\"line\":351,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{$record.title}</xf:title>\"},{\"line\":352,\"text\":\"\"},{\"line\":353,\"text\":\"<xf:macro id=\\\"permission_category_macros::list\\\"\"},{\"line\":354,\"text\":\"\\targ-category=\\\"{$record}\\\"\"}],\"line\":351,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_list\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{$record.title}</xf:title>\"},{\"context\":[{\"line\":360,\"text\":\"]]></template>\"},{\"line\":361,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_overview\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_category_permissions') }}</xf:title>\"},{\"line\":362,\"text\":\"\"},{\"line\":363,\"text\":\"<xf:if is=\\\"$categoryTree.countChildren()\\\">\"},{\"line\":364,\"text\":\"\\t<div class=\\\"block\\\">\"}],\"line\":361,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_permission_category_overview\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_category_permissions') }}</xf:title>\"},{\"context\":[{\"line\":390,\"text\":\"</xf:if>]]></template>\"},{\"line\":391,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"line\":392,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"line\":393,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":394,\"text\":\"\\t\\t<xf:macro id=\\\"base_custom_field_macros::common_options\\\"\"}],\"line\":391,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"context\":[{\"line\":391,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"line\":392,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"line\":393,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":394,\"text\":\"\\t\\t<xf:macro id=\\\"base_custom_field_macros::common_options\\\"\"},{\"line\":395,\"text\":\"\\t\\t\\targ-field=\\\"{$field}\\\" />\"}],\"line\":392,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"context\":[{\"line\":413,\"text\":\"</xf:include>]]></template>\"},{\"line\":414,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_fields') }}</xf:title>\"},{\"line\":415,\"text\":\"\"},{\"line\":416,\"text\":\"<xf:include template=\\\"base_custom_field_list\\\" />]]></template>\"},{\"line\":417,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_delete\\\" />]]></template>\"}],\"line\":414,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_field_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_fields') }}</xf:title>\"},{\"context\":[{\"line\":416,\"text\":\"<xf:include template=\\\"base_custom_field_list\\\" />]]></template>\"},{\"line\":417,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_delete\\\" />]]></template>\"},{\"line\":418,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_edit\\\">\"},{\"line\":419,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":420,\"text\":\"\\t\\t<xf:macro id=\\\"xfrm_resource_prefix_edit_macros::category_ids\\\"\"}],\"line\":417,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_delete\\\" />]]></template>\"},{\"context\":[{\"line\":417,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_delete\\\" />]]></template>\"},{\"line\":418,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_edit\\\">\"},{\"line\":419,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":420,\"text\":\"\\t\\t<xf:macro id=\\\"xfrm_resource_prefix_edit_macros::category_ids\\\"\"},{\"line\":421,\"text\":\"\\t\\t\\targ-categoryIds=\\\"{$prefix.resource_category_ids}\\\"\"}],\"line\":418,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_edit\\\">\"},{\"context\":[{\"line\":424,\"text\":\"</xf:include>]]></template>\"},{\"line\":425,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_edit_macros\\\" version_id=\\\"2030031\\\" version_string=\\\"2.3.0 Beta 1\\\"><![CDATA[<xf:macro id=\\\"category_ids\\\" arg-categoryIds=\\\"!\\\" arg-categoryTree=\\\"!\\\" arg-withRow=\\\"1\\\">\"},{\"line\":426,\"text\":\"\\t<xf:set var=\\\"$inner\\\">\"},{\"line\":427,\"text\":\"\\t\\t<ul class=\\\"inputList\\\">\"},{\"line\":428,\"text\":\"\\t\\t\\t<li><xf:select name=\\\"resource_category_ids[]\\\" size=\\\"7\\\" multiple=\\\"multiple\\\" value=\\\"{$categoryIds}\\\" id=\\\"js-applicableCategories\\\">\"}],\"line\":425,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_edit_macros\\\" version_id=\\\"2030031\\\" version_string=\\\"2.3.0 Beta 1\\\"><![CDATA[<xf:macro id=\\\"category_ids\\\" arg-categoryIds=\\\"!\\\" arg-categoryTree=\\\"!\\\" arg-withRow=\\\"1\\\">\"},{\"context\":[{\"line\":464,\"text\":\"</xf:macro>]]></template>\"},{\"line\":465,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_delete\\\" />]]></template>\"},{\"line\":466,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_edit\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_edit\\\" />]]></template>\"},{\"line\":467,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>\"},{\"line\":468,\"text\":\"\"}],\"line\":465,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_delete\\\" />]]></template>\"},{\"context\":[{\"line\":465,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_delete\\\" />]]></template>\"},{\"line\":466,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_edit\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_edit\\\" />]]></template>\"},{\"line\":467,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>\"},{\"line\":468,\"text\":\"\"},{\"line\":469,\"text\":\"<xf:include template=\\\"base_prefix_list\\\" />]]></template>\"}],\"line\":466,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_edit\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_edit\\\" />]]></template>\"},{\"context\":[{\"line\":466,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_group_edit\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_group_edit\\\" />]]></template>\"},{\"line\":467,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>\"},{\"line\":468,\"text\":\"\"},{\"line\":469,\"text\":\"<xf:include template=\\\"base_prefix_list\\\" />]]></template>\"},{\"line\":470,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_chooser\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_chooser\\\">\"}],\"line\":467,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_list\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_prefixes') }}</xf:title>\"},{\"context\":[{\"line\":469,\"text\":\"<xf:include template=\\\"base_prefix_list\\\" />]]></template>\"},{\"line\":470,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_chooser\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_chooser\\\">\"},{\"line\":471,\"text\":\"\\t<xf:set var=\\\"$prefixType\\\" value=\\\"resource\\\" />\"},{\"line\":472,\"text\":\"</xf:include>]]></template>\"},{\"line\":473,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_editor\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_editor\\\">\"}],\"line\":470,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_chooser\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_chooser\\\">\"},{\"context\":[{\"line\":472,\"text\":\"</xf:include>]]></template>\"},{\"line\":473,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_editor\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_editor\\\">\"},{\"line\":474,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":475,\"text\":\"\\t\\t<xf:checkboxrow name=\\\"apply_resource_category_ids\\\"\"},{\"line\":476,\"text\":\"\\t\\t\\tlabel=\\\"{{ phrase('xfrm_applicable_categories') }}\\\">\"}],\"line\":473,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_prefix_quickset_editor\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_prefix_quickset_editor\\\">\"},{\"context\":[{\"line\":488,\"text\":\"</xf:include>]]></template>\"},{\"line\":489,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_delete\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"line\":490,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"line\":491,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":492,\"text\":\"\\t\\t<xf:macro id=\\\"base_custom_field_macros::common_options\\\"\"}],\"line\":489,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_delete\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"context\":[{\"line\":489,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_delete\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_delete\\\" />]]></template>\"},{\"line\":490,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"line\":491,\"text\":\"\\t<xf:set var=\\\"$extraOptions\\\">\"},{\"line\":492,\"text\":\"\\t\\t<xf:macro id=\\\"base_custom_field_macros::common_options\\\"\"},{\"line\":493,\"text\":\"\\t\\t\\targ-field=\\\"{$field}\\\" />\"}],\"line\":490,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_edit\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:include template=\\\"base_custom_field_edit\\\">\"},{\"context\":[{\"line\":505,\"text\":\"</xf:include>]]></template>\"},{\"line\":506,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_list\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_review_fields') }}</xf:title>\"},{\"line\":507,\"text\":\"\"},{\"line\":508,\"text\":\"<xf:include template=\\\"base_custom_field_list\\\" />]]></template>\"},{\"line\":509,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_tools_rebuild\\\" version_id=\\\"2030870\\\" version_string=\\\"2.3.8\\\"><![CDATA[<xf:macro id=\\\"tools_rebuild::rebuild_job\\\"\"}],\"line\":506,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_resource_review_field_list\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[<xf:title>{{ phrase('xfrm_resource_review_fields') }}</xf:title>\"},{\"context\":[{\"line\":508,\"text\":\"<xf:include template=\\\"base_custom_field_list\\\" />]]></template>\"},{\"line\":509,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_tools_rebuild\\\" version_id=\\\"2030870\\\" version_string=\\\"2.3.8\\\"><![CDATA[<xf:macro id=\\\"tools_rebuild::rebuild_job\\\"\"},{\"line\":510,\"text\":\"\\targ-header=\\\"XFRM: {{ phrase('xfrm_rebuild_resources') }}\\\"\"},{\"line\":511,\"text\":\"\\targ-job=\\\"XFRM:ResourceItem\\\" />\"},{\"line\":512,\"text\":\"<!--[XF:after_rm_resource]-->\"}],\"line\":509,\"text\":\" <template type=\\\"admin\\\" title=\\\"xfrm_tools_rebuild\\\" version_id=\\\"2030870\\\" version_string=\\\"2.3.8\\\"><![CDATA[<xf:macro id=\\\"tools_rebuild::rebuild_job\\\"\"},{\"context\":[{\"line\":552,\"text\":\"<!--[XF:after_rm_metadata]-->]]></template>\"},{\"line\":553,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"line\":554,\"text\":\"\"},{\"line\":555,\"text\":\"<xf:extension name=\\\"header\\\">\"},{\"line\":556,\"text\":\"\\t<h2>\"}],\"line\":553,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"context\":[{\"line\":572,\"text\":\"</xf:extension>]]></template>\"},{\"line\":573,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource_update\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"line\":574,\"text\":\"\"},{\"line\":575,\"text\":\"<xf:extension name=\\\"header\\\">\"},{\"line\":576,\"text\":\"\\t<h2>\"}],\"line\":573,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource_update\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"context\":[{\"line\":592,\"text\":\"</xf:extension>]]></template>\"},{\"line\":593,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource_version\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"line\":594,\"text\":\"\"},{\"line\":595,\"text\":\"<xf:extension name=\\\"header\\\">\"},{\"line\":596,\"text\":\"\\t<h2>\"}],\"line\":593,\"text\":\" <template type=\\\"email\\\" title=\\\"approval_item_resource_version\\\" version_id=\\\"2030170\\\" version_string=\\\"2.3.1\\\"><![CDATA[<xf:extends template=\\\"approval_item_create\\\" />\"},{\"context\":[{\"line\":603,\"text\":\"</xf:extension>]]></template>\"},{\"line\":604,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_activity_summary_latest_resources\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$resources is not empty\\\">\"},{\"line\":605,\"text\":\"\\t<xf:macro id=\\\"activity_summary_macros::outer_header\\\"\"},{\"line\":606,\"text\":\"\\t\\targ-title=\\\"{$title}\\\" />\"},{\"line\":607,\"text\":\"\"}],\"line\":604,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_activity_summary_latest_resources\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$resources is not empty\\\">\"},{\"context\":[{\"line\":629,\"text\":\"</xf:if>]]></template>\"},{\"line\":630,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_activity_summary_latest_reviews\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$reviews is not empty\\\">\"},{\"line\":631,\"text\":\"\\t<xf:macro id=\\\"activity_summary_macros::outer_header\\\"\"},{\"line\":632,\"text\":\"\\t\\targ-title=\\\"{$title}\\\" />\"},{\"line\":633,\"text\":\"\"}],\"line\":630,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_activity_summary_latest_reviews\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$reviews is not empty\\\">\"},{\"context\":[{\"line\":668,\"text\":\"</xf:if>]]></template>\"},{\"line\":669,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_resource_macros\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:macro id=\\\"go_resource_bar\\\" arg-resource=\\\"!\\\" arg-watchType=\\\"!\\\">\"},{\"line\":670,\"text\":\"\\t<table cellpadding=\\\"10\\\" cellspacing=\\\"0\\\" border=\\\"0\\\" width=\\\"100%\\\" class=\\\"linkBar\\\">\"},{\"line\":671,\"text\":\"\\t<tr>\"},{\"line\":672,\"text\":\"\\t\\t<td>\"}],\"line\":669,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_resource_macros\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<xf:macro id=\\\"go_resource_bar\\\" arg-resource=\\\"!\\\" arg-watchType=\\\"!\\\">\"},{\"context\":[{\"line\":702,\"text\":\"</xf:macro>]]></template>\"},{\"line\":703,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_category_resource\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"line\":704,\"text\":\"\\t{{ phrase('xfrm_resource_x_new_watched_category', {\"},{\"line\":705,\"text\":\"\\t\\t'resource': prefix('resource', $resource, 'escaped') . $resource.title\"},{\"line\":706,\"text\":\"\\t}) }}\"}],\"line\":703,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_category_resource\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"context\":[{\"line\":724,\"text\":\"]]></template>\"},{\"line\":725,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_category_update\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"line\":726,\"text\":\"\\t{{ phrase('xfrm_resource_x_updated_y', {\"},{\"line\":727,\"text\":\"\\t\\t'resource': prefix('resource', $resource, 'escaped') . $resource.title,\"},{\"line\":728,\"text\":\"\\t\\t'update': $update.title\"}],\"line\":725,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_category_update\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"context\":[{\"line\":751,\"text\":\"]]></template>\"},{\"line\":752,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_resource_update\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"line\":753,\"text\":\"\\t{{ phrase('xfrm_resource_x_updated_y', {\"},{\"line\":754,\"text\":\"\\t\\t'resource': prefix('resource', $resource, 'escaped') . $resource.title,\"},{\"line\":755,\"text\":\"\\t\\t'update': $update.title\"}],\"line\":752,\"text\":\" <template type=\\\"email\\\" title=\\\"xfrm_watched_resource_update\\\" version_id=\\\"2030010\\\" version_string=\\\"2.3.0 Alpha\\\"><![CDATA[<mail:subject>\"},{\"context\":[{\"line\":777,\"text\":\"<xf:macro id=\\\"xfrm_resource_macros::watched_resource_footer\\\" arg-resource=\\\"{$resource}\\\" />]]></template>\"},{\"line\":778,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_pre_reg\\\" version_id=\\\"2020270\\\" version_string=\\\"2.2.2\\\"><![CDATA[<xf:if is=\\\"$extra.welcome\\\">\"},{\"line\":779,\"text\":\"\\t{{ phrase('welcome_to_boardtitle', {'boardTitle': $xf.options.boardTitle}) }}\"},{\"line\":780,\"text\":\"</xf:if>\"},{\"line\":781,\"text\":\"{{ phrase('xfrm_your_review_to_resource_x_was_submitted', {\"}],\"line\":778,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_pre_reg\\\" version_id=\\\"2020270\\\" version_string=\\\"2.2.2\\\"><![CDATA[<xf:if is=\\\"$extra.welcome\\\">\"},{\"context\":[{\"line\":783,\"text\":\"}) }}]]></template>\"},{\"line\":784,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_reply\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {\"},{\"line\":785,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":786,\"text\":\"\\t'title': '<a href=\\\"' . link('resources/review', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":787,\"text\":\"}) }}]]></template>\"}],\"line\":784,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_reply\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {\"},{\"context\":[{\"line\":784,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_reply\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_replied_review_resource_y', {\"},{\"line\":785,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":786,\"text\":\"\\t'title': '<a href=\\\"' . link('resources/review', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":787,\"text\":\"}) }}]]></template>\"},{\"line\":788,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_review\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {\"}],\"line\":785,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":787,\"text\":\"}) }}]]></template>\"},{\"line\":788,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_review\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {\"},{\"line\":789,\"text\":\"\\t'username': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":790,\"text\":\"\\t'title': '<a href=\\\"' . link('resources/review', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":791,\"text\":\"}) }}]]></template>\"}],\"line\":788,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_review\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {\"},{\"context\":[{\"line\":788,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_rating_review\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_reviewed_resource_y', {\"},{\"line\":789,\"text\":\"\\t'username': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":790,\"text\":\"\\t'title': '<a href=\\\"' . link('resources/review', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":791,\"text\":\"}) }}]]></template>\"},{\"line\":792,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_add\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {\"}],\"line\":789,\"text\":\"\\t'username': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":791,\"text\":\"}) }}]]></template>\"},{\"line\":792,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_add\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {\"},{\"line\":793,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":794,\"text\":\"\\t'title': '<a href=\\\"' . link('resources', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content) . $content.title . '</a>'\"},{\"line\":795,\"text\":\"}) }}]]></template>\"}],\"line\":792,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_add\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {\"},{\"context\":[{\"line\":792,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_add\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_added_you_as_team_member_for_resource_y', {\"},{\"line\":793,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":794,\"text\":\"\\t'title': '<a href=\\\"' . link('resources', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content) . $content.title . '</a>'\"},{\"line\":795,\"text\":\"}) }}]]></template>\"},{\"line\":796,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_leave\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {\"}],\"line\":793,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":795,\"text\":\"}) }}]]></template>\"},{\"line\":796,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_leave\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {\"},{\"line\":797,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":798,\"text\":\"\\t'title': '<a href=\\\"' . link('resources', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content) . $content.title . '</a>'\"},{\"line\":799,\"text\":\"}) }}]]></template>\"}],\"line\":796,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_leave\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {\"},{\"context\":[{\"line\":796,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_team_member_leave\\\" version_id=\\\"2020010\\\" version_string=\\\"2.2.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_x_left_resource_team_for_resource_y', {\"},{\"line\":797,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":798,\"text\":\"\\t'title': '<a href=\\\"' . link('resources', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content) . $content.title . '</a>'\"},{\"line\":799,\"text\":\"}) }}]]></template>\"},{\"line\":800,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_insert\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"}],\"line\":797,\"text\":\"\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":799,\"text\":\"}) }}]]></template>\"},{\"line\":800,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_insert\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"line\":801,\"text\":\"\\t{{ phrase('xfrm_x_created_resource_y', {\"},{\"line\":802,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":803,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"}],\"line\":800,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_insert\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"context\":[{\"line\":801,\"text\":\"\\t{{ phrase('xfrm_x_created_resource_y', {\"},{\"line\":802,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":803,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":804,\"text\":\"\\t}) }}\"},{\"line\":805,\"text\":\"<xf:else />\"}],\"line\":802,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":806,\"text\":\"\\t{{ phrase('xfrm_x_updated_resource_y', {\"},{\"line\":807,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":808,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources/update', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":809,\"text\":\"\\t}) }}\"},{\"line\":810,\"text\":\"</xf:if>]]></template>\"}],\"line\":807,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":810,\"text\":\"</xf:if>]]></template>\"},{\"line\":811,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_mention\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"line\":812,\"text\":\"\\t{{ phrase('xfrm_x_mentioned_you_in_resource_y', {\"},{\"line\":813,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":814,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"}],\"line\":811,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_mention\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"context\":[{\"line\":812,\"text\":\"\\t{{ phrase('xfrm_x_mentioned_you_in_resource_y', {\"},{\"line\":813,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":814,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":815,\"text\":\"\\t}) }}\"},{\"line\":816,\"text\":\"<xf:else />\"}],\"line\":813,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":817,\"text\":\"\\t{{ phrase('xfrm_x_mentioned_you_in_update_resource_y', {\"},{\"line\":818,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":819,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources/update', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>'\"},{\"line\":820,\"text\":\"\\t}) }}\"},{\"line\":821,\"text\":\"</xf:if>]]></template>\"}],\"line\":818,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":821,\"text\":\"</xf:if>]]></template>\"},{\"line\":822,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_reaction\\\" version_id=\\\"2010010\\\" version_string=\\\"2.1.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"line\":823,\"text\":\"\\t{{ phrase('xfrm_x_reacted_to_your_resource_y', {\"},{\"line\":824,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":825,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',\"}],\"line\":822,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_resource_update_reaction\\\" version_id=\\\"2010010\\\" version_string=\\\"2.1.0 Alpha\\\"><![CDATA[<xf:if is=\\\"$content.isDescription()\\\">\"},{\"context\":[{\"line\":823,\"text\":\"\\t{{ phrase('xfrm_x_reacted_to_your_resource_y', {\"},{\"line\":824,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":825,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',\"},{\"line\":826,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"line\":827,\"text\":\"\\t}) }}\"}],\"line\":824,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":825,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources', $content.Resource) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',\"},{\"line\":826,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"line\":827,\"text\":\"\\t}) }}\"},{\"line\":828,\"text\":\"<xf:else />\"},{\"line\":829,\"text\":\"\\t{{ phrase('xfrm_x_reacted_to_your_update_resource_y', {\"}],\"line\":826,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"context\":[{\"line\":829,\"text\":\"\\t{{ phrase('xfrm_x_reacted_to_your_update_resource_y', {\"},{\"line\":830,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"line\":831,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources/update', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',\"},{\"line\":832,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"line\":833,\"text\":\"\\t}) }}\"}],\"line\":830,\"text\":\"\\t\\t'name': username_link($user, false, {'defaultname': $alert.username}),\"},{\"context\":[{\"line\":831,\"text\":\"\\t\\t'title': '<a href=\\\"' . link('resources/update', $content) . '\\\" class=\\\"fauxBlockLink-blockLink\\\">' . prefix('resource', $content.Resource) . $content.Resource.title . '</a>',\"},{\"line\":832,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"line\":833,\"text\":\"\\t}) }}\"},{\"line\":834,\"text\":\"</xf:if>]]></template>\"},{\"line\":835,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_user_resource_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {\"}],\"line\":832,\"text\":\"\\t\\t'reaction': alert_reaction($extra.reaction_id)|preescaped\"},{\"context\":[{\"line\":834,\"text\":\"</xf:if>]]></template>\"},{\"line\":835,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_user_resource_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {\"},{\"line\":836,\"text\":\"\\t'title': prefix('resource', $extra.prefix_id) . $extra.title\"},{\"line\":837,\"text\":\"}) }}\"},{\"line\":838,\"text\":\"<xf:if is=\\\"$extra.reason\\\">{{ phrase('reason:') }} {$extra.reason}</xf:if>]]></template>\"}],\"line\":835,\"text\":\" <template type=\\\"public\\\" title=\\\"alert_user_resource_delete\\\" version_id=\\\"2000010\\\" version_string=\\\"2.0.0 Alpha\\\"><![CDATA[{{ phrase('xfrm_your_resource_x_was_deleted', {\"}],\"path\":\"/var/www/forums/newfi/public/src/addons/XFRM/_data/templates.xml\",\"present\":true,\"sha256\":\"50950be731ba43367357081cd603c5d16caa8ba1a4155f8e4aa1cfb306d71ead\"}},\"command_id\":\"NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171\",\"framework\":{\"account_controller\":{\"bytes\":null,\"matches\":[],\"path\":\"/var/www/forums/newfi/public/src/XF/Pub/Controller/Account.php\",\"present\":false,\"sha256\":null},\"alert_abstract_handler\":{\"bytes\":4761,\"matches\":[{\"context\":[{\"line\":5,\"text\":\"use XF\\\\Entity\\\\User;\"},{\"line\":6,\"text\":\"use XF\\\\Entity\\\\UserAlert;\"},{\"line\":7,\"text\":\"use XF\\\\Mvc\\\\Entity\\\\AbstractCollection;\"},{\"line\":8,\"text\":\"use XF\\\\Mvc\\\\Entity\\\\Entity;\"},{\"line\":9,\"text\":\"\"},{\"line\":10,\"text\":\"/**\"},{\"line\":11,\"text\":\" * @template T of Entity\"},{\"line\":12,\"text\":\" */\"}],\"line\":7,\"text\":\"use XF\\\\Mvc\\\\Entity\\\\AbstractCollection;\"},{\"context\":[{\"line\":11,\"text\":\" * @template T of Entity\"},{\"line\":12,\"text\":\" */\"},{\"line\":13,\"text\":\"abstract class AbstractHandler\"},{\"line\":14,\"text\":\"{\"},{\"line\":15,\"text\":\"\\t/**\"},{\"line\":16,\"text\":\"\\t * @var string\"},{\"line\":17,\"text\":\"\\t */\"},{\"line\":18,\"text\":\"\\tprotected $contentType;\"}],\"line\":13,\"text\":\"abstract class AbstractHandler\"},{\"context\":[{\"line\":21,\"text\":\"\\t * @param string $contentType\"},{\"line\":22,\"text\":\"\\t */\"},{\"line\":23,\"text\":\"\\tpublic function __construct($contentType)\"},{\"line\":24,\"text\":\"\\t{\"},{\"line\":25,\"text\":\"\\t\\t$this->contentType = $contentType;\"},{\"line\":26,\"text\":\"\\t}\"},{\"line\":27,\"text\":\"\"},{\"line\":28,\"text\":\"\\t/**\"}],\"line\":23,\"text\":\"\\tpublic function __construct($contentType)\"},{\"context\":[{\"line\":32,\"text\":\"\\t * @return bool\"},{\"line\":33,\"text\":\"\\t */\"},{\"line\":34,\"text\":\"\\tpublic function canViewContent(Entity $entity, &$error = null)\"},{\"line\":35,\"text\":\"\\t{\"},{\"line\":36,\"text\":\"\\t\\tif (method_exists($entity, 'canView'))\"},{\"line\":37,\"text\":\"\\t\\t{\"},{\"line\":38,\"text\":\"\\t\\t\\treturn $entity->canView($error);\"},{\"line\":39,\"text\":\"\\t\\t}\"}],\"line\":34,\"text\":\"\\tpublic function canViewContent(Entity $entity, &$error = null)\"},{\"context\":[{\"line\":47,\"text\":\"\\t * @return bool\"},{\"line\":48,\"text\":\"\\t */\"},{\"line\":49,\"text\":\"\\tpublic function canViewAlert(UserAlert $alert, &$error = null)\"},{\"line\":50,\"text\":\"\\t{\"},{\"line\":51,\"text\":\"\\t\\treturn true;\"},{\"line\":52,\"text\":\"\\t}\"},{\"line\":53,\"text\":\"\"},{\"line\":54,\"text\":\"\\t/**\"}],\"line\":49,\"text\":\"\\tpublic function canViewAlert(UserAlert $alert, &$error = null)\"},{\"context\":[{\"line\":53,\"text\":\"\"},{\"line\":54,\"text\":\"\\t/**\"},{\"line\":55,\"text\":\"\\t * For alerts which are pushed, you can create a push specific template which should be text only.\"},{\"line\":56,\"text\":\"\\t * If no value is provided or the template does not exist, the push contents will come from a\"},{\"line\":57,\"text\":\"\\t * rendered version of the normal alert template with HTML tags stripped.\"},{\"line\":58,\"text\":\"\\t *\"},{\"line\":59,\"text\":\"\\t * @param string $action\"},{\"line\":60,\"text\":\"\\t *\"}],\"line\":55,\"text\":\"\\t * For alerts which are pushed, you can create a push specific template which should be text only.\"},{\"context\":[{\"line\":54,\"text\":\"\\t/**\"},{\"line\":55,\"text\":\"\\t * For alerts which are pushed, you can create a push specific template which should be text only.\"},{\"line\":56,\"text\":\"\\t * If no value is provided or the template does not exist, the push contents will come from a\"},{\"line\":57,\"text\":\"\\t * rendered version of the normal alert template with HTML tags stripped.\"},{\"line\":58,\"text\":\"\\t *\"},{\"line\":59,\"text\":\"\\t * @param string $action\"},{\"line\":60,\"text\":\"\\t *\"},{\"line\":61,\"text\":\"\\t * @return string|null\"}],\"line\":56,\"text\":\"\\t * If no value is provided or the template does not exist, the push contents will come from a\"},{\"context\":[{\"line\":55,\"text\":\"\\t * For alerts which are pushed, you can create a push specific template which should be text only.\"},{\"line\":56,\"text\":\"\\t * If no value is provided or the template does not exist, the push contents will come from a\"},{\"line\":57,\"text\":\"\\t * rendered version of the normal alert template with HTML tags stripped.\"},{\"line\":58,\"text\":\"\\t *\"},{\"line\":59,\"text\":\"\\t * @param string $action\"},{\"line\":60,\"text\":\"\\t *\"},{\"line\":61,\"text\":\"\\t * @return string|null\"},{\"line\":62,\"text\":\"\\t */\"}],\"line\":57,\"text\":\"\\t * rendered version of the normal alert template with HTML tags stripped.\"},{\"context\":[{\"line\":61,\"text\":\"\\t * @return string|null\"},{\"line\":62,\"text\":\"\\t */\"},{\"line\":63,\"text\":\"\\tpublic function getPushTemplateName($action)\"},{\"line\":64,\"text\":\"\\t{\"},{\"line\":65,\"text\":\"\\t\\treturn 'public:push_' . $this->contentType . '_' . $action;\"},{\"line\":66,\"text\":\"\\t}\"},{\"line\":67,\"text\":\"\"},{\"line\":68,\"text\":\"\\t/**\"}],\"line\":63,\"text\":\"\\tpublic function getPushTemplateName($action)\"},{\"context\":[{\"line\":63,\"text\":\"\\tpublic function getPushTemplateName($action)\"},{\"line\":64,\"text\":\"\\t{\"},{\"line\":65,\"text\":\"\\t\\treturn 'public:push_' . $this->contentType . '_' . $action;\"},{\"line\":66,\"text\":\"\\t}\"},{\"line\":67,\"text\":\"\"},{\"line\":68,\"text\":\"\\t/**\"},{\"line\":69,\"text\":\"\\t * @param string $action\"},{\"line\":70,\"text\":\"\\t *\"}],\"line\":65,\"text\":\"\\t\\treturn 'public:push_' . $this->contentType . '_' . $action;\"},{\"context\":[{\"line\":71,\"text\":\"\\t * @return string\"},{\"line\":72,\"text\":\"\\t */\"},{\"line\":73,\"text\":\"\\tpublic function getTemplateName($action)\"},{\"line\":74,\"text\":\"\\t{\"},{\"line\":75,\"text\":\"\\t\\treturn 'public:alert_' . $this->contentType . '_' . $action;\"},{\"line\":76,\"text\":\"\\t}\"},{\"line\":77,\"text\":\"\"},{\"line\":78,\"text\":\"\\t/**\"}],\"line\":73,\"text\":\"\\tpublic function getTemplateName($action)\"},{\"context\":[{\"line\":87,\"text\":\"\\t * }\"},{\"line\":88,\"text\":\"\\t */\"},{\"line\":89,\"text\":\"\\tpublic function getTemplateData($action, UserAlert $alert, ?Entity $content = null)\"},{\"line\":90,\"text\":\"\\t{\"},{\"line\":91,\"text\":\"\\t\\tif (!$content)\"},{\"line\":92,\"text\":\"\\t\\t{\"},{\"line\":93,\"text\":\"\\t\\t\\t$content = $alert->Content;\"},{\"line\":94,\"text\":\"\\t\\t}\"}],\"line\":89,\"text\":\"\\tpublic function getTemplateData($action, UserAlert $alert, ?Entity $content = null)\"},{\"context\":[{\"line\":107,\"text\":\"\\t * @return string\"},{\"line\":108,\"text\":\"\\t */\"},{\"line\":109,\"text\":\"\\tpublic function render(UserAlert $alert, ?Entity $content = null)\"},{\"line\":110,\"text\":\"\\t{\"},{\"line\":111,\"text\":\"\\t\\tif (!$content)\"},{\"line\":112,\"text\":\"\\t\\t{\"},{\"line\":113,\"text\":\"\\t\\t\\t$content = $alert->Content;\"},{\"line\":114,\"text\":\"\\t\\t\\tif (!$content)\"}],\"line\":109,\"text\":\"\\tpublic function render(UserAlert $alert, ?Entity $content = null)\"},{\"context\":[{\"line\":122,\"text\":\"\\t\\t$data = $this->getTemplateData($action, $alert, $content);\"},{\"line\":123,\"text\":\"\"},{\"line\":124,\"text\":\"\\t\\treturn \\\\XF::app()->templater()->renderTemplate($template, $data);\"},{\"line\":125,\"text\":\"\\t}\"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\"\\t/**\"},{\"line\":128,\"text\":\"\\t * @return bool\"},{\"line\":129,\"text\":\"\\t */\"}],\"line\":124,\"text\":\"\\t\\treturn \\\\XF::app()->templater()->renderTemplate($template, $data);\"},{\"context\":[{\"line\":128,\"text\":\"\\t * @return bool\"},{\"line\":129,\"text\":\"\\t */\"},{\"line\":130,\"text\":\"\\tpublic function isAlertRenderable(UserAlert $alert)\"},{\"line\":131,\"text\":\"\\t{\"},{\"line\":132,\"text\":\"\\t\\t$template = $this->getTemplateName($alert->action);\"},{\"line\":133,\"text\":\"\\t\\treturn \\\\XF::app()->templater()->isKnownTemplate($template);\"},{\"line\":134,\"text\":\"\\t}\"},{\"line\":135,\"text\":\"\"}],\"line\":130,\"text\":\"\\tpublic function isAlertRenderable(UserAlert $alert)\"},{\"context\":[{\"line\":140,\"text\":\"\\t * }\"},{\"line\":141,\"text\":\"\\t */\"},{\"line\":142,\"text\":\"\\tpublic function getApiOutput(UserAlert $alert)\"},{\"line\":143,\"text\":\"\\t{\"},{\"line\":144,\"text\":\"\\t\\t$templater = \\\\XF::app()->templater();\"},{\"line\":145,\"text\":\"\\t\\t$content = $alert->Content;\"},{\"line\":146,\"text\":\"\\t\\tif (!$content)\"},{\"line\":147,\"text\":\"\\t\\t{\"}],\"line\":142,\"text\":\"\\tpublic function getApiOutput(UserAlert $alert)\"},{\"context\":[{\"line\":149,\"text\":\"\\t\\t}\"},{\"line\":150,\"text\":\"\"},{\"line\":151,\"text\":\"\\t\\t$templateName = $this->getPushTemplateName($alert->action);\"},{\"line\":152,\"text\":\"\\t\\tif (!$templater->isKnownTemplate($templateName))\"},{\"line\":153,\"text\":\"\\t\\t{\"},{\"line\":154,\"text\":\"\\t\\t\\t$templateName = $this->getTemplateName($alert->action);\"},{\"line\":155,\"text\":\"\\t\\t}\"},{\"line\":156,\"text\":\"\\t\\t$templateData = $this->getTemplateData($alert->action, $alert, $content);\"}],\"line\":151,\"text\":\"\\t\\t$templateName = $this->getPushTemplateName($alert->action);\"},{\"context\":[{\"line\":156,\"text\":\"\\t\\t$templateData = $this->getTemplateData($alert->action, $alert, $content);\"},{\"line\":157,\"text\":\"\"},{\"line\":158,\"text\":\"\\t\\t$pushContent = $templater->renderTemplate($templateName, $templateData);\"},{\"line\":159,\"text\":\"\"},{\"line\":160,\"text\":\"\\t\\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))\"},{\"line\":161,\"text\":\"\\t\\t{\"},{\"line\":162,\"text\":\"\\t\\t\\t$alertUrl = trim(htmlspecialchars_decode($match[1], ENT_QUOTES));\"},{\"line\":163,\"text\":\"\\t\\t\\t$alertUrl = \\\\XF::canonicalizeUrl($alertUrl);\"}],\"line\":158,\"text\":\"\\t\\t$pushContent = $templater->renderTemplate($templateName, $templateData);\"},{\"context\":[{\"line\":158,\"text\":\"\\t\\t$pushContent = $templater->renderTemplate($templateName, $templateData);\"},{\"line\":159,\"text\":\"\"},{\"line\":160,\"text\":\"\\t\\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))\"},{\"line\":161,\"text\":\"\\t\\t{\"},{\"line\":162,\"text\":\"\\t\\t\\t$alertUrl = trim(htmlspecialchars_decode($match[1], ENT_QUOTES));\"},{\"line\":163,\"text\":\"\\t\\t\\t$alertUrl = \\\\XF::canonicalizeUrl($alertUrl);\"},{\"line\":164,\"text\":\"\\t\\t}\"},{\"line\":165,\"text\":\"\\t\\telse\"}],\"line\":160,\"text\":\"\\t\\tif (preg_match('#<push:url>(.*)</push:url>#siU', $pushContent, $match))\"},{\"context\":[{\"line\":168,\"text\":\"\\t\\t}\"},{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\t\\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\\\\\1>#siU', '', $pushContent);\"},{\"line\":171,\"text\":\"\\t\\t$pushContent = strip_tags($pushContent);\"},{\"line\":172,\"text\":\"\\t\\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);\"},{\"line\":173,\"text\":\"\\t\\t$pushContent = trim($pushContent);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\treturn [\"}],\"line\":170,\"text\":\"\\t\\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\\\\\1>#siU', '', $pushContent);\"},{\"context\":[{\"line\":169,\"text\":\"\"},{\"line\":170,\"text\":\"\\t\\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\\\\\1>#siU', '', $pushContent);\"},{\"line\":171,\"text\":\"\\t\\t$pushContent = strip_tags($pushContent);\"},{\"line\":172,\"text\":\"\\t\\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);\"},{\"line\":173,\"text\":\"\\t\\t$pushContent = trim($pushContent);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\treturn [\"},{\"line\":176,\"text\":\"\\t\\t\\t'text' => $pushContent,\"}],\"line\":171,\"text\":\"\\t\\t$pushContent = strip_tags($pushContent);\"},{\"context\":[{\"line\":170,\"text\":\"\\t\\t$pushContent = preg_replace('#<(push:[a-z0-9_]+)>.*</\\\\\\\\1>#siU', '', $pushContent);\"},{\"line\":171,\"text\":\"\\t\\t$pushContent = strip_tags($pushContent);\"},{\"line\":172,\"text\":\"\\t\\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);\"},{\"line\":173,\"text\":\"\\t\\t$pushContent = trim($pushContent);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\treturn [\"},{\"line\":176,\"text\":\"\\t\\t\\t'text' => $pushContent,\"},{\"line\":177,\"text\":\"\\t\\t\\t'url' => $alertUrl,\"}],\"line\":172,\"text\":\"\\t\\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);\"},{\"context\":[{\"line\":171,\"text\":\"\\t\\t$pushContent = strip_tags($pushContent);\"},{\"line\":172,\"text\":\"\\t\\t$pushContent = html_entity_decode($pushContent, ENT_QUOTES);\"},{\"line\":173,\"text\":\"\\t\\t$pushContent = trim($pushContent);\"},{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\treturn [\"},{\"line\":176,\"text\":\"\\t\\t\\t'text' => $pushContent,\"},{\"line\":177,\"text\":\"\\t\\t\\t'url' => $alertUrl,\"},{\"line\":178,\"text\":\"\\t\\t];\"}],\"line\":173,\"text\":\"\\t\\t$pushContent = trim($pushContent);\"},{\"context\":[{\"line\":174,\"text\":\"\"},{\"line\":175,\"text\":\"\\t\\treturn [\"},{\"line\":176,\"text\":\"\\t\\t\\t'text' => $pushContent,\"},{\"line\":177,\"text\":\"\\t\\t\\t'url' => $alertUrl,\"},{\"line\":178,\"text\":\"\\t\\t];\"},{\"line\":179,\"text\":\"\\t}\"},{\"line\":180,\"text\":\"\"},{\"line\":181,\"text\":\"\\t/**\"}],\"line\":176,\"text\":\"\\t\\t\\t'text' => $pushContent,\"},{\"context\":[{\"line\":182,\"text\":\"\\t * @return list<string>\"},{\"line\":183,\"text\":\"\\t */\"},{\"line\":184,\"text\":\"\\tpublic function getEntityWith()\"},{\"line\":185,\"text\":\"\\t{\"},{\"line\":186,\"text\":\"\\t\\treturn [];\"},{\"line\":187,\"text\":\"\\t}\"},{\"line\":188,\"text\":\"\"},{\"line\":189,\"text\":\"\\t/**\"}],\"line\":184,\"text\":\"\\tpublic function getEntityWith()\"},{\"context\":[{\"line\":190,\"text\":\"\\t * @param int|list<int> $id\"},{\"line\":191,\"text\":\"\\t *\"},{\"line\":192,\"text\":\"\\t * @return T|AbstractCollection<T>\"},{\"line\":193,\"text\":\"\\t */\"},{\"line\":194,\"text\":\"\\tpublic function getContent($id)\"},{\"line\":195,\"text\":\"\\t{\"},{\"line\":196,\"text\":\"\\t\\treturn \\\\XF::app()->findByContentType($this->contentType, $id, $this->getEntityWith());\"},{\"line\":197,\"text\":\"\\t}\"}],\"line\":192,\"text\":\"\\t * @return T|AbstractCollection<T>\"},{\"context\":[{\"line\":192,\"text\":\"\\t * @return T|AbstractCollection<T>\"},{\"line\":193,\"text\":\"\\t */\"},{\"line\":194,\"text\":\"\\tpublic function getContent($id)\"},{\"line\":195,\"text\":\"\\t{\"},{\"line\":196,\"text\":\"\\t\\treturn \\\\XF::app()->findByContentType($this->contentType, $id, $this->getEntityWith());\"},{\"line\":197,\"text\":\"\\t}\"},{\"line\":198,\"text\":\"\"},{\"line\":199,\"text\":\"\\t/**\"}],\"line\":194,\"text\":\"\\tpublic function getContent($id)\"},{\"context\":[{\"line\":200,\"text\":\"\\t * @return string\"},{\"line\":201,\"text\":\"\\t */\"},{\"line\":202,\"text\":\"\\tpublic function getContentType()\"},{\"line\":203,\"text\":\"\\t{\"},{\"line\":204,\"text\":\"\\t\\treturn $this->contentType;\"},{\"line\":205,\"text\":\"\\t}\"},{\"line\":206,\"text\":\"\"},{\"line\":207,\"text\":\"\\t/**\"}],\"line\":202,\"text\":\"\\tpublic function getContentType()\"},{\"context\":[{\"line\":210,\"text\":\"\\t * @return list<string>\"},{\"line\":211,\"text\":\"\\t */\"},{\"line\":212,\"text\":\"\\tpublic function getOptOutActions()\"},{\"line\":213,\"text\":\"\\t{\"},{\"line\":214,\"text\":\"\\t\\treturn [];\"},{\"line\":215,\"text\":\"\\t}\"},{\"line\":216,\"text\":\"\"},{\"line\":217,\"text\":\"\\t/**\"}],\"line\":212,\"text\":\"\\tpublic function getOptOutActions()\"},{\"context\":[{\"line\":220,\"text\":\"\\t * @return int\"},{\"line\":221,\"text\":\"\\t */\"},{\"line\":222,\"text\":\"\\tpublic function getOptOutDisplayOrder()\"},{\"line\":223,\"text\":\"\\t{\"},{\"line\":224,\"text\":\"\\t\\treturn 0;\"},{\"line\":225,\"text\":\"\\t}\"},{\"line\":226,\"text\":\"\"},{\"line\":227,\"text\":\"\\t/**\"}],\"line\":222,\"text\":\"\\tpublic function getOptOutDisplayOrder()\"},{\"context\":[{\"line\":228,\"text\":\"\\t * @return array<string, string|\\\\Stringable>\"},{\"line\":229,\"text\":\"\\t */\"},{\"line\":230,\"text\":\"\\tpublic function getOptOutsMap()\"},{\"line\":231,\"text\":\"\\t{\"},{\"line\":232,\"text\":\"\\t\\t$optOuts = $this->getOptOutActions();\"},{\"line\":233,\"text\":\"\\t\\tif (!$optOuts)\"},{\"line\":234,\"text\":\"\\t\\t{\"},{\"line\":235,\"text\":\"\\t\\t\\treturn [];\"}],\"line\":230,\"text\":\"\\tpublic function getOptOutsMap()\"},{\"context\":[{\"line\":230,\"text\":\"\\tpublic function getOptOutsMap()\"},{\"line\":231,\"text\":\"\\t{\"},{\"line\":232,\"text\":\"\\t\\t$optOuts = $this->getOptOutActions();\"},{\"line\":233,\"text\":\"\\t\\tif (!$optOuts)\"},{\"line\":234,\"text\":\"\\t\\t{\"},{\"line\":235,\"text\":\"\\t\\t\\treturn [];\"},{\"line\":236,\"text\":\"\\t\\t}\"},{\"line\":237,\"text\":\"\"}],\"line\":232,\"text\":\"\\t\\t$optOuts = $this->getOptOutActions();\"}],\"path\":\"/var/www/forums/newfi/public/src/XF/Alert/AbstractHandler.php\",\"present\":true,\"sha256\":\"1d48488be1e561809a8d53ea9f43a3de2f04e70c5cc7c7e9a334fe12abcd2992\"},\"alert_handler_scan\":[\"src/XF/Alert/ConversationMessageHandler.php\",\"src/XF/Alert/PostHandler.php\",\"src/XF/Alert/ProfilePostCommentHandler.php\",\"src/XF/Alert/ProfilePostHandler.php\",\"src/XF/Alert/ThreadHandler.php\",\"src/XF/Alert/UserHandler.php\"],\"alert_post_handler\":{\"bytes\":null,\"matches\":[],\"path\":\"/var/www/forums/newfi/public/src/XF/Alert/Post.php\",\"present\":false,\"sha256\":null},\"push_subscription_entity\":{\"bytes\":null,\"matches\":[],\"path\":\"/var/www/forums/newfi/public/src/XF/Entity/UserPushSubscription.php\",\"present\":false,\"sha256\":null},\"repository_name_scan\":[\"src/XF/Repository/UserAlertRepository.php\",\"src/XF/Repository/UserPushRepository.php\"],\"service_worker\":{\"bytes\":6000,\"matches\":[{\"context\":[{\"line\":38,\"text\":\"{\"},{\"line\":39,\"text\":\"\\tconst clientId = event.source.id\"},{\"line\":40,\"text\":\"\\tconst message = event.data\"},{\"line\":41,\"text\":\"\\tif (typeof message !== 'object' || message === null)\"},{\"line\":42,\"text\":\"\\t{\"},{\"line\":43,\"text\":\"\\t\\tconsole.error('Invalid message:', message)\"},{\"line\":44,\"text\":\"\\t\\treturn\"},{\"line\":45,\"text\":\"\\t}\"}],\"line\":40,\"text\":\"\\tconst message = event.data\"},{\"context\":[{\"line\":83,\"text\":\"})\"},{\"line\":84,\"text\":\"\"},{\"line\":85,\"text\":\"self.addEventListener('push', event =>\"},{\"line\":86,\"text\":\"{\"},{\"line\":87,\"text\":\"\\tif (!(self.Notification && self.Notification.permission === 'granted'))\"},{\"line\":88,\"text\":\"\\t{\"},{\"line\":89,\"text\":\"\\t\\treturn\"},{\"line\":90,\"text\":\"\\t}\"}],\"line\":85,\"text\":\"self.addEventListener('push', event =>\"},{\"context\":[{\"line\":94,\"text\":\"\\ttry\"},{\"line\":95,\"text\":\"\\t{\"},{\"line\":96,\"text\":\"\\t\\tdata = event.data.json()\"},{\"line\":97,\"text\":\"\\t}\"},{\"line\":98,\"text\":\"\\tcatch (e)\"},{\"line\":99,\"text\":\"\\t{\"},{\"line\":100,\"text\":\"\\t\\tconsole.warn('Received push notification but payload not in the expected format.', e)\"},{\"line\":101,\"text\":\"\\t\\tconsole.warn('Received data:', event.data.text())\"}],\"line\":96,\"text\":\"\\t\\tdata = event.data.json()\"},{\"context\":[{\"line\":98,\"text\":\"\\tcatch (e)\"},{\"line\":99,\"text\":\"\\t{\"},{\"line\":100,\"text\":\"\\t\\tconsole.warn('Received push notification but payload not in the expected format.', e)\"},{\"line\":101,\"text\":\"\\t\\tconsole.warn('Received data:', event.data.text())\"},{\"line\":102,\"text\":\"\\t\\treturn\"},{\"line\":103,\"text\":\"\\t}\"},{\"line\":104,\"text\":\"\"},{\"line\":105,\"text\":\"\\tif (!data || !data.title || !data.body)\"}],\"line\":100,\"text\":\"\\t\\tconsole.warn('Received push notification but payload not in the expected format.', e)\"},{\"context\":[{\"line\":99,\"text\":\"\\t{\"},{\"line\":100,\"text\":\"\\t\\tconsole.warn('Received push notification but payload not in the expected format.', e)\"},{\"line\":101,\"text\":\"\\t\\tconsole.warn('Received data:', event.data.text())\"},{\"line\":102,\"text\":\"\\t\\treturn\"},{\"line\":103,\"text\":\"\\t}\"},{\"line\":104,\"text\":\"\"},{\"line\":105,\"text\":\"\\tif (!data || !data.title || !data.body)\"},{\"line\":106,\"text\":\"\\t{\"}],\"line\":101,\"text\":\"\\t\\tconsole.warn('Received data:', event.data.text())\"},{\"context\":[{\"line\":105,\"text\":\"\\tif (!data || !data.title || !data.body)\"},{\"line\":106,\"text\":\"\\t{\"},{\"line\":107,\"text\":\"\\t\\tconsole.warn('Received push notification but no payload data or required fields missing.', data)\"},{\"line\":108,\"text\":\"\\t\\treturn\"},{\"line\":109,\"text\":\"\\t}\"},{\"line\":110,\"text\":\"\"},{\"line\":111,\"text\":\"\\tconst options = {\"},{\"line\":112,\"text\":\"\\t\\tbody: data.body,\"}],\"line\":107,\"text\":\"\\t\\tconsole.warn('Received push notification but no payload data or required fields missing.', data)\"},{\"context\":[{\"line\":123,\"text\":\"\\t}\"},{\"line\":124,\"text\":\"\"},{\"line\":125,\"text\":\"\\tconst notificationPromise = self.registration.showNotification(data.title, options)\"},{\"line\":126,\"text\":\"\"},{\"line\":127,\"text\":\"\\tif ('setAppBadge' in self.navigator && 'clearAppBadge' in self.navigator)\"},{\"line\":128,\"text\":\"\\t{\"},{\"line\":129,\"text\":\"\\t\\tlet newCount = parseInt(String(data.total_unread).replace(/[,. ]/g, ''))\"},{\"line\":130,\"text\":\"\"}],\"line\":125,\"text\":\"\\tconst notificationPromise = self.registration.showNotification(data.title, options)\"},{\"context\":[{\"line\":142,\"text\":\"})\"},{\"line\":143,\"text\":\"\"},{\"line\":144,\"text\":\"self.addEventListener('notificationclick', event =>\"},{\"line\":145,\"text\":\"{\"},{\"line\":146,\"text\":\"\\tconst notification = event.notification\"},{\"line\":147,\"text\":\"\\tnotification.close()\"},{\"line\":148,\"text\":\"\"},{\"line\":149,\"text\":\"\\tconst url = notification.data.url\"}],\"line\":144,\"text\":\"self.addEventListener('notificationclick', event =>\"},{\"context\":[{\"line\":286,\"text\":\"\\t\\t\\t\\tconst key = response.key || null\"},{\"line\":287,\"text\":\"\\t\\t\\t\\tconst files = response.files || []\"},{\"line\":288,\"text\":\"\\t\\t\\t\\tfiles.push(OFFLINE_ROUTE)\"},{\"line\":289,\"text\":\"\"},{\"line\":290,\"text\":\"\\t\\t\\t\\treturn cache.addAll(files)\"},{\"line\":291,\"text\":\"\\t\\t\\t\\t\\t.then(() => key)\"},{\"line\":292,\"text\":\"\\t\\t\\t}))\"},{\"line\":293,\"text\":\"\\t\\t.catch(error =>\"}],\"line\":288,\"text\":\"\\t\\t\\t\\tfiles.push(OFFLINE_ROUTE)\"}],\"path\":\"/var/www/forums/newfi/public/service_worker.js\",\"present\":true,\"sha256\":\"e422cd54e00c05c4e7a7a803894b95826f2ada4a2e3e5129eba742d95dcfa4f9\"},\"user_alert_entity\":{\"bytes\":6367,\"matches\":[{\"context\":[{\"line\":14,\"text\":\" * @property int $user_id\"},{\"line\":15,\"text\":\" * @property string $username\"},{\"line\":16,\"text\":\" * @property string $content_type\"},{\"line\":17,\"text\":\" * @property int $content_id\"},{\"line\":18,\"text\":\" * @property string $action\"},{\"line\":19,\"text\":\" * @property int $event_date\"},{\"line\":20,\"text\":\" * @property int $view_date\"},{\"line\":21,\"text\":\" * @property int $read_date\"}],\"line\":16,\"text\":\" * @property string $content_type\"},{\"context\":[{\"line\":16,\"text\":\" * @property string $content_type\"},{\"line\":17,\"text\":\" * @property int $content_id\"},{\"line\":18,\"text\":\" * @property string $action\"},{\"line\":19,\"text\":\" * @property int $event_date\"},{\"line\":20,\"text\":\" * @property int $view_date\"},{\"line\":21,\"text\":\" * @property int $read_date\"},{\"line\":22,\"text\":\" * @property bool $auto_read\"},{\"line\":23,\"text\":\" * @property array|null $extra_data\"}],\"line\":18,\"text\":\" * @property string $action\"},{\"context\":[{\"line\":21,\"text\":\" * @property int $read_date\"},{\"line\":22,\"text\":\" * @property bool $auto_read\"},{\"line\":23,\"text\":\" * @property array|null $extra_data\"},{\"line\":24,\"text\":\" * @property string $depends_on_addon_id\"},{\"line\":25,\"text\":\" *\"},{\"line\":26,\"text\":\" * GETTERS\"},{\"line\":27,\"text\":\" * @property-read Entity|null $Content\"},{\"line\":28,\"text\":\" *\"}],\"line\":23,\"text\":\" * @property array|null $extra_data\"},{\"context\":[{\"line\":34,\"text\":\"class UserAlert extends Entity implements ViewableInterface\"},{\"line\":35,\"text\":\"{\"},{\"line\":36,\"text\":\"\\tpublic function canView(&$error = null)\"},{\"line\":37,\"text\":\"\\t{\"},{\"line\":38,\"text\":\"\\t\\t$handler = $this->getHandler();\"},{\"line\":39,\"text\":\"\\t\\t$content = $this->Content;\"},{\"line\":40,\"text\":\"\"},{\"line\":41,\"text\":\"\\t\\tif ($handler && $content)\"}],\"line\":36,\"text\":\"\\tpublic function canView(&$error = null)\"},{\"context\":[{\"line\":49,\"text\":\"\\t}\"},{\"line\":50,\"text\":\"\"},{\"line\":51,\"text\":\"\\tpublic function getHandler()\"},{\"line\":52,\"text\":\"\\t{\"},{\"line\":53,\"text\":\"\\t\\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);\"},{\"line\":54,\"text\":\"\\t}\"},{\"line\":55,\"text\":\"\"},{\"line\":56,\"text\":\"\\t/**\"}],\"line\":51,\"text\":\"\\tpublic function getHandler()\"},{\"context\":[{\"line\":51,\"text\":\"\\tpublic function getHandler()\"},{\"line\":52,\"text\":\"\\t{\"},{\"line\":53,\"text\":\"\\t\\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);\"},{\"line\":54,\"text\":\"\\t}\"},{\"line\":55,\"text\":\"\"},{\"line\":56,\"text\":\"\\t/**\"},{\"line\":57,\"text\":\"\\t * @return Entity|null\"},{\"line\":58,\"text\":\"\\t */\"}],\"line\":53,\"text\":\"\\t\\treturn $this->getAlertRepo()->getAlertHandler($this->content_type);\"},{\"context\":[{\"line\":57,\"text\":\"\\t * @return Entity|null\"},{\"line\":58,\"text\":\"\\t */\"},{\"line\":59,\"text\":\"\\tpublic function getContent()\"},{\"line\":60,\"text\":\"\\t{\"},{\"line\":61,\"text\":\"\\t\\t$handler = $this->getHandler();\"},{\"line\":62,\"text\":\"\\t\\treturn $handler ? $handler->getContent($this->content_id) : null;\"},{\"line\":63,\"text\":\"\\t}\"},{\"line\":64,\"text\":\"\"}],\"line\":59,\"text\":\"\\tpublic function getContent()\"},{\"context\":[{\"line\":63,\"text\":\"\\t}\"},{\"line\":64,\"text\":\"\"},{\"line\":65,\"text\":\"\\tpublic function setContent(?Entity $content = null)\"},{\"line\":66,\"text\":\"\\t{\"},{\"line\":67,\"text\":\"\\t\\t$this->_getterCache['Content'] = $content;\"},{\"line\":68,\"text\":\"\\t}\"},{\"line\":69,\"text\":\"\"},{\"line\":70,\"text\":\"\\tpublic function render()\"}],\"line\":65,\"text\":\"\\tpublic function setContent(?Entity $content = null)\"},{\"context\":[{\"line\":68,\"text\":\"\\t}\"},{\"line\":69,\"text\":\"\"},{\"line\":70,\"text\":\"\\tpublic function render()\"},{\"line\":71,\"text\":\"\\t{\"},{\"line\":72,\"text\":\"\\t\\t$handler = $this->getHandler();\"},{\"line\":73,\"text\":\"\\t\\treturn $handler ? $handler->render($this) : '';\"},{\"line\":74,\"text\":\"\\t}\"},{\"line\":75,\"text\":\"\"}],\"line\":70,\"text\":\"\\tpublic function render()\"},{\"context\":[{\"line\":74,\"text\":\"\\t}\"},{\"line\":75,\"text\":\"\"},{\"line\":76,\"text\":\"\\tpublic function isAlertRenderable()\"},{\"line\":77,\"text\":\"\\t{\"},{\"line\":78,\"text\":\"\\t\\t$handler = $this->getHandler();\"},{\"line\":79,\"text\":\"\\t\\treturn $handler ? $handler->isAlertRenderable($this) : false;\"},{\"line\":80,\"text\":\"\\t}\"},{\"line\":81,\"text\":\"\"}],\"line\":76,\"text\":\"\\tpublic function isAlertRenderable()\"},{\"context\":[{\"line\":83,\"text\":\"\\t * @return bool\"},{\"line\":84,\"text\":\"\\t */\"},{\"line\":85,\"text\":\"\\tpublic function isUnviewed()\"},{\"line\":86,\"text\":\"\\t{\"},{\"line\":87,\"text\":\"\\t\\treturn !$this->view_date;\"},{\"line\":88,\"text\":\"\\t}\"},{\"line\":89,\"text\":\"\"},{\"line\":90,\"text\":\"\\t/**\"}],\"line\":85,\"text\":\"\\tpublic function isUnviewed()\"},{\"context\":[{\"line\":91,\"text\":\"\\t * @return bool\"},{\"line\":92,\"text\":\"\\t */\"},{\"line\":93,\"text\":\"\\tpublic function isUnread()\"},{\"line\":94,\"text\":\"\\t{\"},{\"line\":95,\"text\":\"\\t\\treturn !$this->read_date;\"},{\"line\":96,\"text\":\"\\t}\"},{\"line\":97,\"text\":\"\"},{\"line\":98,\"text\":\"\\t/**\"}],\"line\":93,\"text\":\"\\tpublic function isUnread()\"},{\"context\":[{\"line\":99,\"text\":\"\\t * @return bool\"},{\"line\":100,\"text\":\"\\t */\"},{\"line\":101,\"text\":\"\\tpublic function isUnreadInUi(): bool\"},{\"line\":102,\"text\":\"\\t{\"},{\"line\":103,\"text\":\"\\t\\tif ($this->getOption('force_unread_in_ui'))\"},{\"line\":104,\"text\":\"\\t\\t{\"},{\"line\":105,\"text\":\"\\t\\t\\treturn true;\"},{\"line\":106,\"text\":\"\\t\\t}\"}],\"line\":101,\"text\":\"\\tpublic function isUnreadInUi(): bool\"},{\"context\":[{\"line\":109,\"text\":\"\\t}\"},{\"line\":110,\"text\":\"\"},{\"line\":111,\"text\":\"\\tpublic function isRecentlyRead()\"},{\"line\":112,\"text\":\"\\t{\"},{\"line\":113,\"text\":\"\\t\\treturn ($this->read_date && $this->read_date >= \\\\XF::$time - 900);\"},{\"line\":114,\"text\":\"\\t}\"},{\"line\":115,\"text\":\"\"},{\"line\":116,\"text\":\"\\tprotected function _saveToSource()\"}],\"line\":111,\"text\":\"\\tpublic function isRecentlyRead()\"},{\"context\":[{\"line\":209,\"text\":\"\\t}\"},{\"line\":210,\"text\":\"\"},{\"line\":211,\"text\":\"\\tpublic static function getStructure(Structure $structure)\"},{\"line\":212,\"text\":\"\\t{\"},{\"line\":213,\"text\":\"\\t\\t$structure->table = 'xf_user_alert';\"},{\"line\":214,\"text\":\"\\t\\t$structure->shortName = 'XF:UserAlert';\"},{\"line\":215,\"text\":\"\\t\\t$structure->primaryKey = 'alert_id';\"},{\"line\":216,\"text\":\"\\t\\t$structure->columns = [\"}],\"line\":211,\"text\":\"\\tpublic static function getStructure(Structure $structure)\"},{\"context\":[{\"line\":219,\"text\":\"\\t\\t\\t'user_id' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"},{\"line\":220,\"text\":\"\\t\\t\\t'username' => ['type' => self::STR, 'maxLength' => 50, 'default' => '', 'api' => true],\"},{\"line\":221,\"text\":\"\\t\\t\\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],\"},{\"line\":222,\"text\":\"\\t\\t\\t'content_id' => ['type' => self::UINT, 'required' => true, 'api' => true],\"},{\"line\":223,\"text\":\"\\t\\t\\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],\"},{\"line\":224,\"text\":\"\\t\\t\\t'event_date' => ['type' => self::UINT, 'default' => \\\\XF::$time, 'api' => true],\"},{\"line\":225,\"text\":\"\\t\\t\\t'view_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"},{\"line\":226,\"text\":\"\\t\\t\\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"}],\"line\":221,\"text\":\"\\t\\t\\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],\"},{\"context\":[{\"line\":221,\"text\":\"\\t\\t\\t'content_type' => ['type' => self::STR, 'maxLength' => 25, 'required' => true, 'api' => true],\"},{\"line\":222,\"text\":\"\\t\\t\\t'content_id' => ['type' => self::UINT, 'required' => true, 'api' => true],\"},{\"line\":223,\"text\":\"\\t\\t\\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],\"},{\"line\":224,\"text\":\"\\t\\t\\t'event_date' => ['type' => self::UINT, 'default' => \\\\XF::$time, 'api' => true],\"},{\"line\":225,\"text\":\"\\t\\t\\t'view_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"},{\"line\":226,\"text\":\"\\t\\t\\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"},{\"line\":227,\"text\":\"\\t\\t\\t'auto_read' => ['type' => self::BOOL, 'default' => true, 'api' => true],\"},{\"line\":228,\"text\":\"\\t\\t\\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],\"}],\"line\":223,\"text\":\"\\t\\t\\t'action' => ['type' => self::STR, 'maxLength' => 30, 'required' => true, 'api' => true],\"},{\"context\":[{\"line\":226,\"text\":\"\\t\\t\\t'read_date' => ['type' => self::UINT, 'default' => 0, 'api' => true],\"},{\"line\":227,\"text\":\"\\t\\t\\t'auto_read' => ['type' => self::BOOL, 'default' => true, 'api' => true],\"},{\"line\":228,\"text\":\"\\t\\t\\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],\"},{\"line\":229,\"text\":\"\\t\\t\\t'depends_on_addon_id' => ['type' => self::BINARY, 'maxLength' => 50, 'default' => ''],\"},{\"line\":230,\"text\":\"\\t\\t];\"},{\"line\":231,\"text\":\"\\t\\t$structure->getters = [\"},{\"line\":232,\"text\":\"\\t\\t\\t'Content' => true,\"},{\"line\":233,\"text\":\"\\t\\t];\"}],\"line\":228,\"text\":\"\\t\\t\\t'extra_data' => ['type' => self::JSON_ARRAY, 'default' => []],\"}],\"path\":\"/var/www/forums/newfi/public/src/XF/Entity/UserAlert.php\",\"present\":true,\"sha256\":\"a749d5470269ec4fa9cc9fe419b9e4446208d8914e905ce5d8442292494a5cd2\"},\"user_alert_repo\":{\"bytes\":null,\"matches\":[],\"path\":\"/var/www/forums/newfi/public/src/XF/Repository/UserAlert.php\",\"present\":false,\"sha256\":null},\"user_entity\":{\"bytes\":65143,\"matches\":[{\"context\":[{\"line\":1051,\"text\":\"\\t}\"},{\"line\":1052,\"text\":\"\"},{\"line\":1053,\"text\":\"\\tpublic function canUsePushNotifications()\"},{\"line\":1054,\"text\":\"\\t{\"},{\"line\":1055,\"text\":\"\\t\\tif (!\\\\XF::isPushUsable())\"},{\"line\":1056,\"text\":\"\\t\\t{\"},{\"line\":1057,\"text\":\"\\t\\t\\treturn false;\"},{\"line\":1058,\"text\":\"\\t\\t}\"}],\"line\":1053,\"text\":\"\\tpublic function canUsePushNotifications()\"},{\"context\":[{\"line\":1882,\"text\":\"\\t * @api-out <perm> bool $activity_visible\"},{\"line\":1883,\"text\":\"\\t * @api-out <cond> int $age The user's current age. Only included if available.\"},{\"line\":1884,\"text\":\"\\t * @api-out <perm|verbose> array $alert_optout\"},{\"line\":1885,\"text\":\"\\t * @api-out <perm|verbose> string $allow_post_profile\"},{\"line\":1886,\"text\":\"\\t * @api-out <perm|verbose> string $allow_receive_news_feed\"},{\"line\":1887,\"text\":\"\\t * @api-out <perm|verbose> string $allow_send_personal_conversation\"},{\"line\":1888,\"text\":\"\\t * @api-out <perm|verbose> string $allow_view_identities\"},{\"line\":1889,\"text\":\"\\t * @api-out <perm|verbose> string $allow_view_profile\"}],\"line\":1884,\"text\":\"\\t * @api-out <perm|verbose> array $alert_optout\"},{\"context\":[{\"line\":1917,\"text\":\"\\t * @api-out <perm> int $last_activity Unix timestamp of user's last activity, if available.\"},{\"line\":1918,\"text\":\"\\t * @api-out str $location\"},{\"line\":1919,\"text\":\"\\t * @api-out <perm|verbose> bool $push_on_conversation\"},{\"line\":1920,\"text\":\"\\t * @api-out <perm|verbose> array $push_optout\"},{\"line\":1921,\"text\":\"\\t * @api-out <perm|verbose> bool $receive_admin_email\"},{\"line\":1922,\"text\":\"\\t * @api-out <perm> array $secondary_group_ids\"},{\"line\":1923,\"text\":\"\\t * @api-out <perm|verbose> bool $show_dob_date\"},{\"line\":1924,\"text\":\"\\t * @api-out <perm|verbose> bool $show_dob_year\"}],\"line\":1919,\"text\":\"\\t * @api-out <perm|verbose> bool $push_on_conversation\"},{\"context\":[{\"line\":1918,\"text\":\"\\t * @api-out str $location\"},{\"line\":1919,\"text\":\"\\t * @api-out <perm|verbose> bool $push_on_conversation\"},{\"line\":1920,\"text\":\"\\t * @api-out <perm|verbose> array $push_optout\"},{\"line\":1921,\"text\":\"\\t * @api-out <perm|verbose> bool $receive_admin_email\"},{\"line\":1922,\"text\":\"\\t * @api-out <perm> array $secondary_group_ids\"},{\"line\":1923,\"text\":\"\\t * @api-out <perm|verbose> bool $show_dob_date\"},{\"line\":1924,\"text\":\"\\t * @api-out <perm|verbose> bool $show_dob_year\"},{\"line\":1925,\"text\":\"\\t * @api-out str $signature\"}],\"line\":1920,\"text\":\"\\t * @api-out <perm|verbose> array $push_optout\"},{\"context\":[{\"line\":2076,\"text\":\"\\t\\t\\t\\t\\t\\t'receive_admin_email' => $option->receive_admin_email,\"},{\"line\":2077,\"text\":\"\\t\\t\\t\\t\\t\\t'email_on_conversation' => $option->email_on_conversation,\"},{\"line\":2078,\"text\":\"\\t\\t\\t\\t\\t\\t'push_on_conversation' => $option->push_on_conversation,\"},{\"line\":2079,\"text\":\"\\t\\t\\t\\t\\t\\t'creation_watch_state' => $option->creation_watch_state,\"},{\"line\":2080,\"text\":\"\\t\\t\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2081,\"text\":\"\\t\\t\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2082,\"text\":\"\\t\\t\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2083,\"text\":\"\\t\\t\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"}],\"line\":2078,\"text\":\"\\t\\t\\t\\t\\t\\t'push_on_conversation' => $option->push_on_conversation,\"},{\"context\":[{\"line\":2079,\"text\":\"\\t\\t\\t\\t\\t\\t'creation_watch_state' => $option->creation_watch_state,\"},{\"line\":2080,\"text\":\"\\t\\t\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2081,\"text\":\"\\t\\t\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2082,\"text\":\"\\t\\t\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2083,\"text\":\"\\t\\t\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"},{\"line\":2084,\"text\":\"\\t\\t\\t\\t\\t]);\"},{\"line\":2085,\"text\":\"\\t\\t\\t\\t\\t$result->includeExtra([\"},{\"line\":2086,\"text\":\"\\t\\t\\t\\t\\t\\t'allow_view_profile' => $privacy->allow_view_profile,\"}],\"line\":2081,\"text\":\"\\t\\t\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"context\":[{\"line\":2080,\"text\":\"\\t\\t\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2081,\"text\":\"\\t\\t\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2082,\"text\":\"\\t\\t\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2083,\"text\":\"\\t\\t\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"},{\"line\":2084,\"text\":\"\\t\\t\\t\\t\\t]);\"},{\"line\":2085,\"text\":\"\\t\\t\\t\\t\\t$result->includeExtra([\"},{\"line\":2086,\"text\":\"\\t\\t\\t\\t\\t\\t'allow_view_profile' => $privacy->allow_view_profile,\"},{\"line\":2087,\"text\":\"\\t\\t\\t\\t\\t\\t'allow_post_profile' => $privacy->allow_post_profile,\"}],\"line\":2082,\"text\":\"\\t\\t\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"context\":[{\"line\":2125,\"text\":\"\\t\\t\\t\\t'receive_admin_email' => $option->receive_admin_email,\"},{\"line\":2126,\"text\":\"\\t\\t\\t\\t'email_on_conversation' => $option->email_on_conversation,\"},{\"line\":2127,\"text\":\"\\t\\t\\t\\t'push_on_conversation' => $option->push_on_conversation,\"},{\"line\":2128,\"text\":\"\\t\\t\\t\\t'creation_watch_state' => $option->creation_watch_state,\"},{\"line\":2129,\"text\":\"\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2130,\"text\":\"\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2131,\"text\":\"\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2132,\"text\":\"\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"}],\"line\":2127,\"text\":\"\\t\\t\\t\\t'push_on_conversation' => $option->push_on_conversation,\"},{\"context\":[{\"line\":2128,\"text\":\"\\t\\t\\t\\t'creation_watch_state' => $option->creation_watch_state,\"},{\"line\":2129,\"text\":\"\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2130,\"text\":\"\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2131,\"text\":\"\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2132,\"text\":\"\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"},{\"line\":2133,\"text\":\"\\t\\t\\t]);\"},{\"line\":2134,\"text\":\"\"},{\"line\":2135,\"text\":\"\\t\\t\\t$fieldValues = $profile->custom_fields->getFieldValues();\"}],\"line\":2130,\"text\":\"\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"context\":[{\"line\":2129,\"text\":\"\\t\\t\\t\\t'interaction_watch_state' => $option->interaction_watch_state,\"},{\"line\":2130,\"text\":\"\\t\\t\\t\\t'alert_optout' => $option->alert_optout,\"},{\"line\":2131,\"text\":\"\\t\\t\\t\\t'push_optout' => $option->push_optout,\"},{\"line\":2132,\"text\":\"\\t\\t\\t\\t'use_tfa' => $option->use_tfa,\"},{\"line\":2133,\"text\":\"\\t\\t\\t]);\"},{\"line\":2134,\"text\":\"\"},{\"line\":2135,\"text\":\"\\t\\t\\t$fieldValues = $profile->custom_fields->getFieldValues();\"},{\"line\":2136,\"text\":\"\\t\\t\\t$result->custom_fields = (object) $fieldValues;\"}],\"line\":2131,\"text\":\"\\t\\t\\t\\t'push_optout' => $option->push_optout,\"}],\"path\":\"/var/www/forums/newfi/public/src/XF/Entity/User.php\",\"present\":true,\"sha256\":\"1ea738d44993ad4cb7f5db12e8b2ee06c37bd2b2c7ae1714b068fb64bbb82758\"}},\"role\":\"staging\",\"status\":\"OK\"}\nNEWFI171_DECISION=PASS_NOTIFY213_EXACT_FRAMEWORK_SOURCE_CONTRACT\nNEWFI171_NEXT_GATE=BUILD_NOTIFY213_STAGING_CANDIDATE_FROM_EXACT_CONTRACT\nHOMELAB_RESULT_CONTRACT={\"changes_made\":false,\"command_id\":\"NEWFI-260919-NEWFDOM-NOTIFY213-CONTRACT171\",\"rollback_restored\":null,\"rollback_started\":false,\"status\":\"OK\",\"version\":1}\n"
|
|
}
|