{"version":3,"file":"discourse-fingerprint.js","names":["define","_exports","_component","_deprecationsHelper","_templateFactory","Object","defineProperty","value","default","__COLOCATED_TEMPLATE__","createTemplateFactory","id","block","moduleName","scope","isStrictMode","setComponentTemplate","extend","hideCommon","_decorators","_dec","_obj","target","property","decorators","descriptor","context","desc","usersArray","users","values","getOwnPropertyDescriptor","keys","forEach","key","enumerable","configurable","initializer","writable","slice","reverse","reduce","decorator","call","undefined","_dModal","_i18n","_templateOnly","FingerprintDetails","_controller","_object","_service","_ajax","_helpers","_fingerprintDetails","registerHelper","_ref","a","b","_ref2","queryParams","modal","inject","username","user","matches","fingerprints","showReport","init","this","_super","arguments","update","setProperties","ajax","type","data","then","response","ignoredIdsSet","Set","ignored_ids","ignored","has","create","map","fingerprint","user_ids","flagged","o","actions","updateUsername","selected","set","firstObject","viewReportForUser","showFingerprintData","dataStr","JSON","stringify","show","model","flag","remove","ignore","otherUser","other_username","resource","path","route","_route","controllerName","templateName","setupController","controller","_runloop","_loadScript","name","initialize","container","siteSettings","lookup","fingerprint_enabled","later","FingerprintJS","load","fp","get","result","resultMap","components","visitor_id","visitorId","version"],"sources":["discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.js","discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.js","discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.js","discourse/plugins/discourse-fingerprint/discourse/components/modal/fingerprint-details.js","discourse/plugins/discourse-fingerprint/discourse/controllers/fingerprint-report.js","discourse/plugins/discourse-fingerprint/discourse/fingerprint-route-map.js","discourse/plugins/discourse-fingerprint/discourse/routes/admin-plugins-fingerprint.js","discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.js","discourse/plugins/discourse-fingerprint/initializers/fingerprint.js"],"sourcesContent":["define(\"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged\", [\"exports\", \"@ember/component\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _component, _deprecationsHelper, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n /*\n
\n
\n

{{i18n \"fingerprint.flagged\"}}

\n
\n
\n {{html-safe (i18n \"fingerprint.flagged_instructions\")}}\n \n {{#if flagged.length}}\n \n \n \n \n \n \n \n \n \n \n \n {{#each flagged as |fingerprint|}}\n \n \n \n \n \n \n \n {{/each}}\n \n
{{i18n \"fingerprint.results.hash\"}}{{i18n \"fingerprint.results.matches\"}}
\n \n {{fingerprint.name}}\n {{#if fingerprint.is_common}}\n {{d-icon \"layer-group\"}}\n {{/if}}\n \n
\n {{fingerprint.value}}\n
{{fingerprint.count}}\n {{#if fingerprint.hidden}}\n {{d-icon\n \"far-eye\"\n }}\n {{i18n \"js.fingerprint.unhide\"}}\n {{else}}\n {{d-icon\n \"far-eye-slash\"\n }}\n {{i18n \"js.fingerprint.hide\"}}\n {{/if}}\n \n {{#if fingerprint.silenced}}\n {{d-icon\n \"microphone\"\n }}\n {{i18n \"js.fingerprint.unsilence\"}}\n {{else}}\n {{d-icon \"microphone-slash\"}}\n {{i18n \"js.fingerprint.silence\"}}\n {{/if}}\n \n {{#if fingerprint.data}}\n {{d-icon \"info\"}} {{i18n \"js.fingerprint.details\"}}\n {{/if}}\n
\n {{else}}\n {{i18n \"fingerprint.flagged_not_found\"}}\n {{/if}}\n
\n
\n */\n {\n \"id\": \"ZZj+ENHW\",\n \"block\": \"[[[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-title\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.flagged\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-body\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[35,1],[[28,[37,0],[\\\"fingerprint.flagged_instructions\\\"],null]],null]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"flagged\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.hash\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.matches\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,4],[[28,[37,4],[[30,0,[\\\"flagged\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"small\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"is_common\\\"]],[[[1,\\\" \\\"],[10,1],[15,\\\"data-tooltip\\\",[28,[37,0],[\\\"fingerprint.common_device\\\"],null]],[12],[1,[28,[35,5],[\\\"layer-group\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"value\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,[30,1,[\\\"count\\\"]]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"hidden\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,1],\\\"yes\\\"],null],[12],[1,[28,[35,5],[\\\"far-eye\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.unhide\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,1]],null],[12],[1,[28,[35,5],[\\\"far-eye-slash\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.hide\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"silenced\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,1],\\\"yes\\\"],null],[12],[1,[28,[35,5],[\\\"microphone\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.unsilence\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[24,0,\\\"silence\\\"],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,1]],null],[12],[1,[28,[35,5],[\\\"microphone-slash\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.silence\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"data\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"showFingerprintData\\\"]],[30,1,[\\\"data\\\"]]],null],[12],[1,[28,[35,5],[\\\"info\\\"],null]],[1,\\\" \\\"],[1,[28,[35,0],[\\\"js.fingerprint.details\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[35,0],[\\\"fingerprint.flagged_not_found\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,[28,[32,0],[\\\"[[\\\\\\\"The `flagged` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flagged}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flagged` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flagged}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `showFingerprintData` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.showFingerprintData}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[\\\"fingerprint\\\"],false,[\\\"i18n\\\",\\\"html-safe\\\",\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"d-icon\\\",\\\"action\\\"]]\",\n \"moduleName\": \"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-flagged.hbs\",\n \"scope\": () => [_deprecationsHelper.default],\n \"isStrictMode\": false\n });\n var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, _component.default.extend({}));\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches\", [\"exports\", \"@ember/component\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _component, _deprecationsHelper, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n /*\n
\n
\n

{{i18n \"fingerprint.latest_matches\"}}

\n
\n
\n {{html-safe\n (i18n\n \"fingerprint.latest_matches_instructions\"\n algorithm=\"Fingeprintjs2\"\n )\n }}\n \n {{#if fingerprints.length}}\n \n \n \n \n \n \n \n \n \n \n {{#each fingerprints as |fingerprint|}}\n {{#if (not (and hideCommon fingerprint.is_common))}}\n \n \n \n \n \n \n \n \n {{/if}}\n {{/each}}\n \n
{{i18n \"fingerprint.results.hash\"}}{{i18n \"fingerprint.results.matches\"}}\n {{input type=\"checkbox\" id=\"hide-common\" checked=hideCommon}}\n \n
{{d-icon fingerprint.device_type}}\n \n {{fingerprint.name}}\n {{#if fingerprint.is_common}}\n {{d-icon \"layer-group\"}}\n {{/if}}\n \n
\n {{fingerprint.value}}\n
\n {{fingerprint.user_ids.length}}\n {{#each fingerprint.users as |u|}}\n \n {{avatar u imageSize=\"small\"}}\n \n {{/each}}\n \n {{#if fingerprint.hidden}}\n {{d-icon\n \"far-eye\"\n }}\n {{i18n \"js.fingerprint.unhide\"}}\n {{else}}\n {{d-icon\n \"far-eye-slash\"\n }}\n {{i18n \"js.fingerprint.hide\"}}\n {{/if}}\n \n {{#if fingerprint.silenced}}\n {{d-icon\n \"microphone\"\n }}\n {{i18n \"js.fingerprint.unsilence\"}}\n {{else}}\n {{d-icon \"microphone-slash\"}}\n {{i18n \"js.fingerprint.silence\"}}\n {{/if}}\n \n {{#if fingerprint.data}}\n {{d-icon \"info\"}} {{i18n \"js.fingerprint.details\"}}\n {{/if}}\n
\n {{else}}\n {{i18n \"fingerprint.matches_not_found\"}}\n {{/if}}\n
\n
\n */\n {\n \"id\": \"z3V6hoeB\",\n \"block\": \"[[[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-title\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.latest_matches\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-body\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[35,1],[[28,[37,0],[\\\"fingerprint.latest_matches_instructions\\\"],[[\\\"algorithm\\\"],[\\\"Fingeprintjs2\\\"]]]],null]],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"fingerprints\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.hash\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.matches\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[14,\\\"colspan\\\",\\\"3\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[35,3],null,[[\\\"type\\\",\\\"id\\\",\\\"checked\\\"],[\\\"checkbox\\\",\\\"hide-common\\\",[30,0,[\\\"hideCommon\\\"]]]]]],[1,\\\"\\\\n \\\"],[10,\\\"label\\\"],[14,\\\"for\\\",\\\"hide-common\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.hide_common\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,0,[\\\"fingerprints\\\"]]],null]],null],null,[[[41,[28,[37,6],[[28,[37,7],[[30,0,[\\\"hideCommon\\\"]],[30,1,[\\\"is_common\\\"]]],null]],null],[[[1,\\\" \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,8],[[30,1,[\\\"device_type\\\"]]],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"small\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"name\\\"]]],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"is_common\\\"]],[[[1,\\\" \\\"],[10,1],[15,\\\"data-tooltip\\\",[28,[37,0],[\\\"fingerprint.common_device\\\"],null]],[12],[1,[28,[35,8],[\\\"layer-group\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"value\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"small\\\"],[12],[1,[30,1,[\\\"user_ids\\\",\\\"length\\\"]]],[13],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,1,[\\\"users\\\"]]],null]],null],null,[[[1,\\\" \\\"],[8,[39,9],null,[[\\\"@user\\\"],[[30,2]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[35,10],[[30,2]],[[\\\"imageSize\\\"],[\\\"small\\\"]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"hidden\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,11],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,1],\\\"yes\\\"],null],[12],[1,[28,[35,8],[\\\"far-eye\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.unhide\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,11],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,1]],null],[12],[1,[28,[35,8],[\\\"far-eye-slash\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.hide\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"silenced\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,11],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,1],\\\"yes\\\"],null],[12],[1,[28,[35,8],[\\\"microphone\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.unsilence\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[24,0,\\\"silence\\\"],[4,[38,11],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,1]],null],[12],[1,[28,[35,8],[\\\"microphone-slash\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.silence\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"data\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,11],[[30,0],[30,0,[\\\"showFingerprintData\\\"]],[30,1,[\\\"data\\\"]]],null],[12],[1,[28,[35,8],[\\\"info\\\"],null]],[1,\\\" \\\"],[1,[28,[35,0],[\\\"js.fingerprint.details\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],null]],[1]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[35,0],[\\\"fingerprint.matches_not_found\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,[28,[32,0],[\\\"[[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `hideCommon` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.hideCommon}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `hideCommon` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.hideCommon}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `showFingerprintData` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.showFingerprintData}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[\\\"fingerprint\\\",\\\"u\\\"],false,[\\\"i18n\\\",\\\"html-safe\\\",\\\"if\\\",\\\"input\\\",\\\"each\\\",\\\"-track-array\\\",\\\"not\\\",\\\"and\\\",\\\"d-icon\\\",\\\"user-link\\\",\\\"avatar\\\",\\\"action\\\"]]\",\n \"moduleName\": \"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-latest-matches.hbs\",\n \"scope\": () => [_deprecationsHelper.default],\n \"isStrictMode\": false\n });\n var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, _component.default.extend({\n hideCommon: true\n }));\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report\", [\"exports\", \"@ember/component\", \"discourse-common/utils/decorators\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _component, _decorators, _deprecationsHelper, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _dec, _obj;\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n const __COLOCATED_TEMPLATE__ = (0, _templateFactory.createTemplateFactory)(\n /*\n
\n
\n

\n {{i18n \"fingerprint.matches_for\"}}\n \n {{avatar user imageSize=\"medium\"}}\n {{user.username}}\n \n

\n
\n
\n {{#if usersArray.length}}\n

{{i18n \"fingerprint.matches_found\" count=usersArray.length}}

\n \n \n \n \n \n \n \n \n \n {{#each usersArray as |user|}}\n \n \n \n \n {{/each}}\n \n
{{i18n \"fingerprint.results.matching_user\"}}
\n \n {{avatar user imageSize=\"small\"}}\n {{user.username}}\n \n \n {{#if user.ignored}}\n {{d-icon \"user\"}}\n {{i18n \"js.fingerprint.unignore\"}}\n {{else}}\n {{d-icon \"user-slash\"}}\n {{i18n \"js.fingerprint.ignore\"}}\n {{/if}}\n
\n {{else}}\n {{i18n \"fingerprint.matches_not_found\"}}\n {{/if}}\n
\n
\n \n
\n
\n

{{i18n \"fingerprint.details\"}}

\n
\n
\n {{#if fingerprints.length}}\n \n \n \n \n \n \n \n \n \n \n \n \n {{#each fingerprints as |fingerprint|}}\n \n \n \n \n \n \n \n \n {{/each}}\n \n
{{i18n \"fingerprint.results.hash\"}}{{i18n \"fingerprint.results.first_seen\"}}{{i18n \"fingerprint.results.last_seen\"}}{{i18n \"fingerprint.results.matches\"}}
{{d-icon fingerprint.device_type}}\n \n {{fingerprint.name}}\n {{#if fingerprint.is_common}}\n {{d-icon \"layer-group\"}}\n {{/if}}\n \n
\n {{fingerprint.value}}\n
{{format-date fingerprint.created_at}}{{format-date fingerprint.updated_at}}\n

\n {{#each fingerprint.users as |u|}}\n {{#unless u.ignored}}\n \n {{avatar u imageSize=\"small\"}}\n \n {{/unless}}\n {{/each}}\n

\n
\n {{#if fingerprint.hidden}}\n {{d-icon \"far-eye\"}}\n {{else}}\n {{d-icon \"eye-slash\"}}\n {{/if}}\n {{#if fingerprint.silenced}}\n {{d-icon \"microphone\"}}\n {{else}}\n {{d-icon \"microphone-slash\"}}\n {{/if}}\n {{#if fingerprint.data}}\n {{d-icon \"info\"}}\n {{/if}}\n
\n {{else}}\n {{i18n \"fingerprint.none\"}}\n {{/if}}\n
\n
\n */\n {\n \"id\": \"HKE73vbb\",\n \"block\": \"[[[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-title\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"fingerprint.matches_for\\\"],null]],[1,\\\"\\\\n \\\"],[8,[39,1],null,[[\\\"@user\\\"],[[30,0,[\\\"user\\\"]]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[35,2],[[30,0,[\\\"user\\\"]]],[[\\\"imageSize\\\"],[\\\"medium\\\"]]]],[1,\\\"\\\\n \\\"],[1,[30,0,[\\\"user\\\",\\\"username\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-body\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"usersArray\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[10,2],[12],[1,[28,[35,0],[\\\"fingerprint.matches_found\\\"],[[\\\"count\\\"],[[30,0,[\\\"usersArray\\\",\\\"length\\\"]]]]]],[13],[1,\\\"\\\\n\\\\n \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.matching_user\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,0,[\\\"usersArray\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[8,[39,1],null,[[\\\"@user\\\"],[[30,1]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[35,2],[[30,1]],[[\\\"imageSize\\\"],[\\\"small\\\"]]]],[1,\\\"\\\\n \\\"],[1,[30,1,[\\\"username\\\"]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,1,[\\\"ignored\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"ignore\\\"]],[30,1],\\\"yes\\\"],null],[12],[1,[28,[35,7],[\\\"user\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.unignore\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[4,[38,6],[[30,0],[30,0,[\\\"ignore\\\"]],[30,1]],null],[12],[1,[28,[35,7],[\\\"user-slash\\\"],null]],[1,\\\"\\\\n \\\"],[1,[28,[35,0],[\\\"js.fingerprint.ignore\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[1]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[35,0],[\\\"fingerprint.matches_not_found\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-title\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.details\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-body\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,0,[\\\"fingerprints\\\",\\\"length\\\"]],[[[1,\\\" \\\"],[10,\\\"table\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"thead\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.hash\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.first_seen\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.last_seen\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.results.matches\\\"],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"th\\\"],[12],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,0,[\\\"fingerprints\\\"]]],null]],null],null,[[[1,\\\" \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,7],[[30,2,[\\\"device_type\\\"]]],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"small\\\"],[12],[1,\\\"\\\\n \\\"],[1,[30,2,[\\\"name\\\"]]],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"is_common\\\"]],[[[1,\\\" \\\"],[10,1],[15,\\\"data-tooltip\\\",[28,[37,0],[\\\"fingerprint.common_device\\\"],null]],[12],[1,[28,[35,7],[\\\"layer-group\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"br\\\"],[12],[13],[1,\\\"\\\\n \\\"],[1,[30,2,[\\\"value\\\"]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,8],[[30,2,[\\\"created_at\\\"]]],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,[28,[35,8],[[30,2,[\\\"updated_at\\\"]]],null]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[12],[1,\\\"\\\\n \\\"],[10,2],[12],[1,\\\"\\\\n\\\"],[42,[28,[37,5],[[28,[37,5],[[30,2,[\\\"users\\\"]]],null]],null],null,[[[41,[51,[30,3,[\\\"ignored\\\"]]],[[[1,\\\" \\\"],[8,[39,1],null,[[\\\"@user\\\"],[[30,3]]],[[\\\"default\\\"],[[[[1,\\\"\\\\n \\\"],[1,[28,[35,2],[[30,3]],[[\\\"imageSize\\\"],[\\\"small\\\"]]]],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[]],null]],[3]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"details-col\\\"],[12],[1,\\\"\\\\n\\\"],[41,[30,2,[\\\"hidden\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[16,\\\"title\\\",[28,[37,0],[\\\"js.fingerprint.unhide\\\"],null]],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,2],\\\"yes\\\"],null],[12],[1,[28,[35,7],[\\\"far-eye\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[16,\\\"title\\\",[28,[37,0],[\\\"js.fingerprint.hide\\\"],null]],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"hide\\\",[30,2]],null],[12],[1,[28,[35,7],[\\\"eye-slash\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[41,[30,2,[\\\"silenced\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[16,\\\"title\\\",[28,[37,0],[\\\"js.fingerprint.unsilence\\\"],null]],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,2],\\\"yes\\\"],null],[12],[1,[28,[35,7],[\\\"microphone\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[24,0,\\\"silence\\\"],[16,\\\"title\\\",[28,[37,0],[\\\"js.fingerprint.silence\\\"],null]],[4,[38,6],[[30,0],[30,0,[\\\"flag\\\"]],\\\"silence\\\",[30,2]],null],[12],[1,[28,[35,7],[\\\"microphone-slash\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]]],[41,[30,2,[\\\"data\\\"]],[[[1,\\\" \\\"],[11,3],[24,6,\\\"\\\"],[16,\\\"title\\\",[28,[37,0],[\\\"js.fingerprint.details\\\"],null]],[4,[38,6],[[30,0],[30,0,[\\\"showFingerprintData\\\"]],[30,2,[\\\"data\\\"]]],null],[12],[1,[28,[35,7],[\\\"info\\\"],null]],[13],[1,\\\"\\\\n\\\"]],[]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[2]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[35,0],[\\\"fingerprint.none\\\"],null]],[1,\\\"\\\\n\\\"]],[]]],[1,\\\" \\\"],[13],[1,\\\"\\\\n\\\"],[13],[1,[28,[32,0],[\\\"[[\\\\\\\"The `user` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.user}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `user` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.user}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `user` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.user}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `usersArray` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.usersArray}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `usersArray` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.usersArray}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `usersArray` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.usersArray}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `ignore` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.ignore}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `ignore` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.ignore}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flag` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flag}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `showFingerprintData` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.showFingerprintData}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[\\\"user\\\",\\\"fingerprint\\\",\\\"u\\\"],false,[\\\"i18n\\\",\\\"user-link\\\",\\\"avatar\\\",\\\"if\\\",\\\"each\\\",\\\"-track-array\\\",\\\"action\\\",\\\"d-icon\\\",\\\"format-date\\\",\\\"unless\\\"]]\",\n \"moduleName\": \"discourse/plugins/discourse-fingerprint/discourse/components/fingerprint-user-report.hbs\",\n \"scope\": () => [_deprecationsHelper.default],\n \"isStrictMode\": false\n });\n var _default = _exports.default = (0, _component.setComponentTemplate)(__COLOCATED_TEMPLATE__, _component.default.extend((_dec = (0, _decorators.default)(\"users\"), (_obj = {\n usersArray(users) {\n return Object.values(users);\n }\n }, (_applyDecoratedDescriptor(_obj, \"usersArray\", [_dec], Object.getOwnPropertyDescriptor(_obj, \"usersArray\"), _obj)), _obj))));\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/components/modal/fingerprint-details\", [\"exports\", \"discourse/components/d-modal\", \"discourse-common/helpers/i18n\", \"@ember/template-factory\", \"@ember/component\", \"@ember/component/template-only\"], function (_exports, _dModal, _i18n, _templateFactory, _component, _templateOnly) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const FingerprintDetails = (0, _component.setComponentTemplate)((0, _templateFactory.createTemplateFactory)(\n /*\n \n \n <:body>\n \n \n {{#each-in @model.data as |key value|}}\n \n \n \n \n {{/each-in}}\n \n
{{key}}{{value}}
\n \n
\n \n */\n {\n \"id\": \"3eIhwxKh\",\n \"block\": \"[[[1,\\\"\\\\n \\\"],[8,[32,0],null,[[\\\"@title\\\",\\\"@closeModal\\\"],[[28,[32,1],[\\\"fingerprint.details\\\"],null],[30,1]]],[[\\\"body\\\"],[[[[1,\\\"\\\\n \\\"],[10,\\\"table\\\"],[14,0,\\\"fingerprint\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"tbody\\\"],[12],[1,\\\"\\\\n\\\"],[42,[28,[31,1],[[30,2,[\\\"data\\\"]]],null],null,[[[1,\\\" \\\"],[10,\\\"tr\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"key\\\"],[12],[1,[30,4]],[13],[1,\\\"\\\\n \\\"],[10,\\\"td\\\"],[14,0,\\\"value\\\"],[12],[1,[30,3]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\"]],[3,4]],null],[1,\\\" \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"]],[]]]]],[1,\\\"\\\\n\\\"]],[\\\"@closeModal\\\",\\\"@model\\\",\\\"value\\\",\\\"key\\\"],false,[\\\"each\\\",\\\"-each-in\\\"]]\",\n \"moduleName\": \"/var/www/discourse/app/assets/javascripts/discourse/discourse/plugins/discourse-fingerprint/discourse/components/modal/fingerprint-details.js\",\n \"scope\": () => [_dModal.default, _i18n.default],\n \"isStrictMode\": true\n }), (0, _templateOnly.default)());\n var _default = _exports.default = FingerprintDetails;\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/controllers/fingerprint-report\", [\"exports\", \"@ember/controller\", \"@ember/object\", \"@ember/service\", \"discourse/lib/ajax\", \"discourse-common/lib/helpers\", \"discourse-common/utils/decorators\", \"discourse/plugins/discourse-fingerprint/discourse/components/modal/fingerprint-details\"], function (_exports, _controller, _object, _service, _ajax, _helpers, _decorators, _fingerprintDetails) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _dec, _obj;\n function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }\n (0, _helpers.registerHelper)(\"and\", _ref => {\n let [a, b] = _ref;\n return a && b;\n });\n (0, _helpers.registerHelper)(\"not\", _ref2 => {\n let [a] = _ref2;\n return !a;\n });\n var _default = _exports.default = _controller.default.extend((_dec = (0, _decorators.default)(\"user\", \"username\"), (_obj = {\n queryParams: [\"username\"],\n modal: (0, _service.inject)(),\n username: null,\n user: null,\n matches: [],\n fingerprints: [],\n showReport(user, username) {\n return user && username;\n },\n init() {\n this._super(...arguments);\n this.update();\n },\n update(username) {\n this.setProperties({\n fingerprints: []\n });\n if (username) {\n return (0, _ajax.ajax)(\"/admin/plugins/fingerprint/user_report\", {\n type: \"GET\",\n data: {\n username\n }\n }).then(response => {\n const ignoredIdsSet = new Set(response.ignored_ids);\n const users = {};\n Object.values(response.users).forEach(user => {\n user.ignored = ignoredIdsSet.has(user.id);\n users[user.id] = _object.default.create(user);\n });\n const fingerprints = response.fingerprints.map(fingerprint => {\n fingerprint.user_ids = fingerprint.user_ids || [];\n fingerprint.users = fingerprint.user_ids.map(id => users[id]);\n return _object.default.create(fingerprint);\n });\n this.setProperties({\n user: response.user,\n users,\n fingerprints\n });\n });\n } else {\n return (0, _ajax.ajax)(\"/admin/plugins/fingerprint\").then(response => {\n const users = {};\n Object.values(response.users).forEach(user => {\n users[user.id] = _object.default.create(user);\n });\n const fingerprints = response.fingerprints.map(fingerprint => {\n fingerprint.user_ids = fingerprint.user_ids || [];\n fingerprint.users = fingerprint.user_ids.map(id => users[id]);\n return _object.default.create(fingerprint);\n });\n this.setProperties({\n fingerprints,\n flagged: response.flagged.map(o => _object.default.create(o))\n });\n });\n }\n },\n actions: {\n updateUsername(selected) {\n this.set(\"username\", selected.firstObject);\n this.update(selected.firstObject);\n },\n viewReportForUser(user) {\n this.set(\"username\", user.username);\n return this.update(user.username);\n },\n showFingerprintData(data) {\n const dataStr = {};\n Object.keys(data).forEach(key => {\n dataStr[key] = data[key] !== null && typeof data[key] === \"object\" ? JSON.stringify(data[key]) : data[key];\n });\n this.modal.show(_fingerprintDetails.default, {\n model: {\n data: dataStr\n }\n });\n },\n flag(type, fingerprint, remove) {\n return (0, _ajax.ajax)(\"/admin/plugins/fingerprint/flag\", {\n type: \"PUT\",\n data: {\n type,\n value: fingerprint.value,\n remove\n }\n }).then(() => {\n if (type === \"hide\") {\n fingerprint.set(\"hidden\", !remove);\n } else if (type === \"silence\") {\n fingerprint.set(\"silenced\", !remove);\n }\n });\n },\n ignore(otherUser, remove) {\n return (0, _ajax.ajax)(\"/admin/plugins/fingerprint/ignore\", {\n type: \"POST\",\n data: {\n username: this.username,\n other_username: otherUser.username,\n remove\n }\n }).then(() => {\n otherUser.set(\"ignored\", !remove);\n });\n }\n }\n }, (_applyDecoratedDescriptor(_obj, \"showReport\", [_dec], Object.getOwnPropertyDescriptor(_obj, \"showReport\"), _obj)), _obj)));\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/fingerprint-route-map\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n resource: \"admin.adminPlugins\",\n path: \"/plugins\",\n map() {\n this.route(\"fingerprint\");\n }\n };\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/routes/admin-plugins-fingerprint\", [\"exports\", \"@ember/routing/route\"], function (_exports, _route) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = _route.default.extend({\n controllerName: \"fingerprintReport\",\n templateName: \"fingerprintReport\",\n setupController(controller) {\n controller.update(controller.username);\n }\n });\n});","define(\"discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report\", [\"exports\", \"ember-this-fallback/deprecations-helper\", \"@ember/template-factory\"], function (_exports, _deprecationsHelper, _templateFactory) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = (0, _templateFactory.createTemplateFactory)(\n /*\n
\n
\n
\n
\n

{{i18n \"fingerprint.title\"}}

\n
\n \n
\n {{email-group-user-chooser\n value=username\n onChange=(action \"updateUsername\")\n options=(hash maximum=1 filterPlaceholder=\"user.username.title\")\n }}\n
\n
\n
\n \n {{#if showReport}}\n {{fingerprint-user-report\n user=user\n users=users\n fingerprints=fingerprints\n ignore=(action \"ignore\")\n flag=(action \"flag\")\n showFingerprintData=(action \"showFingerprintData\")\n }}\n {{else}}\n {{fingerprint-latest-matches\n fingerprints=fingerprints\n viewReportForUser=(action \"viewReportForUser\")\n flag=(action \"flag\")\n showFingerprintData=(action \"showFingerprintData\")\n }}\n \n {{fingerprint-flagged\n flagged=flagged\n flag=(action \"flag\")\n showFingerprintData=(action \"showFingerprintData\")\n }}\n {{/if}}\n
\n */\n {\n \"id\": \"NOGi31zb\",\n \"block\": \"[[[10,0],[14,0,\\\"dashboard-next dashboard-fingerprint\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section\\\"],[12],[1,\\\"\\\\n \\\"],[10,0],[14,0,\\\"section-title\\\"],[12],[1,\\\"\\\\n \\\"],[10,\\\"h2\\\"],[12],[1,[28,[35,0],[\\\"fingerprint.title\\\"],null]],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n \\\"],[10,0],[14,0,\\\"section-body\\\"],[12],[1,\\\"\\\\n \\\"],[1,[28,[35,1],null,[[\\\"value\\\",\\\"onChange\\\",\\\"options\\\"],[[30,0,[\\\"username\\\"]],[28,[37,2],[[30,0],\\\"updateUsername\\\"],null],[28,[37,3],null,[[\\\"maximum\\\",\\\"filterPlaceholder\\\"],[1,\\\"user.username.title\\\"]]]]]]],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n \\\"],[13],[1,\\\"\\\\n\\\\n\\\"],[41,[30,0,[\\\"showReport\\\"]],[[[1,\\\" \\\"],[1,[28,[35,5],null,[[\\\"user\\\",\\\"users\\\",\\\"fingerprints\\\",\\\"ignore\\\",\\\"flag\\\",\\\"showFingerprintData\\\"],[[30,0,[\\\"user\\\"]],[30,0,[\\\"users\\\"]],[30,0,[\\\"fingerprints\\\"]],[28,[37,2],[[30,0],\\\"ignore\\\"],null],[28,[37,2],[[30,0],\\\"flag\\\"],null],[28,[37,2],[[30,0],\\\"showFingerprintData\\\"],null]]]]],[1,\\\"\\\\n\\\"]],[]],[[[1,\\\" \\\"],[1,[28,[35,6],null,[[\\\"fingerprints\\\",\\\"viewReportForUser\\\",\\\"flag\\\",\\\"showFingerprintData\\\"],[[30,0,[\\\"fingerprints\\\"]],[28,[37,2],[[30,0],\\\"viewReportForUser\\\"],null],[28,[37,2],[[30,0],\\\"flag\\\"],null],[28,[37,2],[[30,0],\\\"showFingerprintData\\\"],null]]]]],[1,\\\"\\\\n\\\\n \\\"],[1,[28,[35,7],null,[[\\\"flagged\\\",\\\"flag\\\",\\\"showFingerprintData\\\"],[[30,0,[\\\"flagged\\\"]],[28,[37,2],[[30,0],\\\"flag\\\"],null],[28,[37,2],[[30,0],\\\"showFingerprintData\\\"],null]]]]],[1,\\\"\\\\n\\\"]],[]]],[13],[1,[28,[32,0],[\\\"[[\\\\\\\"The `username` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.username}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `showReport` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.showReport}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `user` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.user}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `users` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.users}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `fingerprints` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.fingerprints}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}],[\\\\\\\"The `flagged` property path was used in the `discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs` template without using `this`. This fallback behavior has been deprecated, all properties must be looked up on `this` when used in the template: {{this.flagged}}\\\\\\\",false,{\\\\\\\"id\\\\\\\":\\\\\\\"ember-this-fallback.this-property-fallback\\\\\\\",\\\\\\\"until\\\\\\\":\\\\\\\"n/a\\\\\\\",\\\\\\\"for\\\\\\\":\\\\\\\"ember-this-fallback\\\\\\\",\\\\\\\"url\\\\\\\":\\\\\\\"https://deprecations.emberjs.com/v3.x#toc_this-property-fallback\\\\\\\",\\\\\\\"since\\\\\\\":{\\\\\\\"available\\\\\\\":\\\\\\\"0.2.0\\\\\\\"}}]]\\\"],null]]],[],false,[\\\"i18n\\\",\\\"email-group-user-chooser\\\",\\\"action\\\",\\\"hash\\\",\\\"if\\\",\\\"fingerprint-user-report\\\",\\\"fingerprint-latest-matches\\\",\\\"fingerprint-flagged\\\"]]\",\n \"moduleName\": \"discourse/plugins/discourse-fingerprint/discourse/templates/fingerprint-report.hbs\",\n \"scope\": () => [_deprecationsHelper.default],\n \"isStrictMode\": false\n });\n});","define(\"discourse/plugins/discourse-fingerprint/initializers/fingerprint\", [\"exports\", \"@ember/runloop\", \"discourse/lib/ajax\", \"discourse/lib/load-script\"], function (_exports, _runloop, _ajax, _loadScript) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = _exports.default = {\n name: \"fingerprint\",\n initialize(container) {\n const siteSettings = container.lookup(\"service:site-settings\");\n const user = container.lookup(\"service:current-user\");\n if (!siteSettings.fingerprint_enabled || !user) {\n return;\n }\n\n // Wait for 3 seconds before fingerprinting user to let the browser use\n // resources for more important tasks (i.e. resource loading, rendering).\n (0, _runloop.later)(() => {\n (0, _loadScript.default)(\"/plugins/discourse-fingerprint/javascripts/fp.js\").then(() => {\n /* global FingerprintJS */\n FingerprintJS.load().then(fp => fp.get()).then(result => {\n const resultMap = {};\n Object.keys(result.components).forEach(key => resultMap[key] = result.components[key].value);\n (0, _ajax.ajax)(\"/fingerprint\", {\n type: \"POST\",\n data: {\n visitor_id: result.visitorId,\n version: result.version,\n data: JSON.stringify(resultMap)\n }\n });\n });\n });\n }, 3000);\n }\n };\n});"],"mappings":"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"}