text: $.extend({
    showReport: function(e) {
      var i, c, n, r = {
        ANTIFRAUD: "贷前反欺诈",
        AUTHENTICATION: "信息核验",
        CREDIT: "授信定价",
        WITHDRAWALS: "提现",
        PREFILTER: "预筛",
        REGISTER: "注册",
        LOGIN: "登录",
        PRECREDIT: "预授信",
        LOANINGQUERY: "贷中检查",
        ADJUSTAMOUNT: "调额",
        CREDITTRADE: "信用交易",
        INFOANALYSIS: "信息解析",
        ENTPRELOAN: "企业贷前审核",
        RENT: "租赁",
        SURETY: "担保",
        ACCOUNT: "开户",
        INSURE: "投保",
        BACKGROUNDCHECK: "员工背调",
        MERCHANTPERMISSION: "商户准入",
        DEBTASSESS: "债权评估",
        ACTIVATE: "激活"
      }, t = (i = e,
        c = {},
        n = [],
        $.each(i, function(e, i) {
          if (!c.id && i.id && (c.id = i.id),
              i.result_desc)
            for (var t in i.result_desc)
              if ("INFOANALYSIS" == t)
                $.extend(c, {
                  INFOANALYSIS: i.result_desc.INFOANALYSIS
                });
              else if (r[t] && i.result_desc[t].final_decision) {
                var s = {};
                if ("PASS" == i.result_desc[t].final_decision && (s.final_score = 0),
                    s.report_name = t,
                    s.report_display_name = r[t],
                    $.extend(s, i.result_desc[t]),
                    i.result_desc[t].output_fields) {
                  var a = []
                    , d = i.result_desc[t].output_fields;
                  if (Array.isArray(d))
                    $.each(d, function(e, i) {
                      for (var t in i)
                        a.push({
                          field_name: vFiled,
                          field_value: i[vFiled]
                        })
                    });
                  else
                    for (var l in d)
                      a.push({
                        field_name: l,
                        field_value: d[l]
                      });
                  $.extend(s, {
                    output_fields: a
                  })
                }
                n.push(s)
              }
        }),
        $.extend(c, {
          module_report: n
        }),
        c);
      !function() {
        var t = !1;
        if ($.each($("link"), function(e, i) {
            -1 < $(i).prop("href").indexOf("css/tdstyle.1.0.css") && (t = !0)
          }),
            !t) {
          var s;
          $.each($("script"), function(e, i) {
            var t = $(i).prop("src").indexOf("tdreportv4");
            -1 < t && (s = $(i).prop("src").substring(0, t) + "css/tdstyle.1.0.css?r=" + (new Date).getTime())
          }),
            $("head").append('<link rel="stylesheet" href="' + s + '"/>')
        }
      }();
      template.helper("dealDisplay", function(e) {
        return "boolean" == typeof e ? e ? "是" : "否" : e || "-"
      }),
        template.helper("dealTime", function(e) {
          var i;
          if (e) {
            var t = (e = e.toString()).substr(0, e.length - 3)
              , s = new Date(parseInt(t))
              , a = s.getFullYear()
              , d = s.getMonth() + 1
              , l = s.getDate()
              , c = s.getHours()
              , n = s.getMinutes()
              , r = s.getSeconds();
            i = a + "-" + (1 == d.toString().length ? "0" + d : d) + "-" + (1 == l.toString().length ? "0" + l : l) + " " + (1 == c.toString().length ? "0" + c : c) + ":" + (1 == n.toString().length ? "0" + n : n) + ":" + (1 == r.toString().length ? "0" + r : r)
          } else
            i = "-";
          return i
        }),
        template.helper("dealTimeLong", function(e) {
          var i;
          if (e) {
            var t = e / 1e3 / 60 / 60 / 24
              , s = Math.floor(t)
              , a = e / 1e3 / 60 / 60 - 24 * s
              , d = Math.floor(a)
              , l = e / 1e3 / 60 - 1440 * s - 60 * d
              , c = Math.floor(l)
              , n = e / 1e3 - 86400 * s - 3600 * d - 60 * c;
            i = s + "天" + d + "时" + c + "分" + Math.floor(n) + "秒"
          } else
            i = "-";
          return i
        }),
        template.helper("dealMemory", function(e) {
          return e ? (e / 1024 / 1024 / 1024).toFixed(2) + "GB" : "-"
        }),
        template.helper("riskDetailDisplay", function(e) {
          return e ? template.compile('{{if risk_details && risk_details.length>0}} {{each risk_details as risk_detail risk_detail_index}} {{if risk_detail.type=="discredit_count"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark overdue-ul"> {{if risk_detail.discredit_times}} <li>逾期次数: {{risk_detail.discredit_times}}</li> {{if risk_detail.overdue_details && risk_detail.overdue_details.length>0}} {{each risk_detail.overdue_details as overdue overdue_index}} <li>逾期金额: {{overdue.overdue_amount_range}} 逾期笔数: {{overdue.overdue_count}} 逾期天数: {{overdue.overdue_day_range}} 逾期入库时间: {{overdue.overdue_time}} </li> {{/each}} {{/if}} {{/if}} </ul> {{/if}} {{if risk_detail.type=="custom_list"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark"> {{if risk_detail.high_risk_areas && risk_detail.high_risk_areas.length>0}} <li>高风险较为集中地区:{{#risk_detail.high_risk_areas | dealArray}} </li> {{else if risk_detail.hit_list_datas && risk_detail.hit_list_datas.length>0}} <li>命中列表数据:{{#risk_detail.hit_list_datas | dealArray}} </li> {{/if}} </ul> {{/if}} {{if risk_detail.type=="platform_detail"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark platform-ul"> {{if risk_detail.platform_detail}} <li style="list-style: none; margin-left: -16px;"> 总个数：{{risk_detail.platform_count}} </li> {{each risk_detail.platform_detail as platform platform_index}} <li>{{platform.industry_display_name}}：{{platform.count}}</li> {{/each}} {{/if}} {{if risk_detail.platform_detail_dimension && risk_detail.platform_detail_dimension.length>0}} <div class="dimension-section"><span class="dimension-title">各维度多头详情</span><ul class="dimension-list"> {{each risk_detail.platform_detail_dimension as dimension dimension_index}} <li class="dimension-item"><span class="dimension-item-title">{{dimension.dimension}}：</span><ul class="dimension-sub-list"><li>总个数：{{dimension.count}}</li> {{each dimension.detail as item item_index}} <li class="dimension-sub-item"> {{item.industry_display_name}}：{{item.count}} </li> {{/each}} </ul></li> {{/each}} </ul></div> {{/if}} </ul> {{/if}} {{if risk_detail.type==\'frequency_detail\'}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark"> {{if risk_detail.frequency_detail_list && risk_detail.frequency_detail_list.length>0}} <div class="risk-detail-section"><span class="risk-detail-title">频度规则详情</span><ul class="risk-detail-list"> {{each risk_detail.frequency_detail_list as detail detail_index}} <li class="risk-detail-item"><span class="risk-detail-item-title"> {{detail.detail}} </span><ul class="risk-detail-sub-list"> {{each detail.data as data data_index}} <li class="risk-detail-sub-item">{{data}}</li> {{/each}} </ul></li> {{/each}} </ul></div> {{/if}} </ul> {{/if}} {{if risk_detail.type=="cross_frequency_detail"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark"> {{if risk_detail.cross_frequency_detail_list && risk_detail.cross_frequency_detail_list.length>0}} <div class="risk-detail-section"><span class="risk-detail-title">跨事件频度规则详情</span><ul class="risk-detail-list"> {{each risk_detail.cross_frequency_detail_list as detail defail_index}} <li class="risk-detail-item"><span class="risk-detail-item-title"> {{detail.detail}} </span></li><ul class="risk-detail-sub-list"> {{each detail.data as data data_index}} <li class="risk-detail-sub-item">{{data}}</li> {{/each}} </ul> {{/each}} </ul></div> {{/if}} </ul> {{/if}} {{if risk_detail.type=="suspected_team"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark"> {{if risk_detail.suspect_team_detail_list && risk_detail.suspect_team_detail_list.length>0}} <div class="dimension-section"><span class="dimension-title">复杂网络各维度详情</span> {{each risk_detail.suspect_team_detail_list as suspect_team_detail s_t_d_index}} <ul class="dimension-list"> {{if suspect_team_detail.dim_value}} <li class="dimension-item"><span><span class="dimension-item-title">匹配字段值:</span><span class="dimension-sub-item"> {{suspect_team_detail.dim_value}} </span></span></li> {{/if}} {{if suspect_team_detail.group_id}} <li class="dimension-item"><span class="dimension-item-title">疑似风险群体编号：</span><span class="dimension-sub-item"> {{suspect_team_detail.group_id}} </span></li> {{/if}} {{if suspect_team_detail.total_cnt}} <li class="dimension-item"><span class="dimension-item-title">疑似风险群体成员数：</span><span class="dimension-sub-item"> {{suspect_team_detail.total_cnt}} </span></li> {{/if}} {{if suspect_team_detail.node_dist}} <li class="dimension-item"><span class="dimension-item-title">成员分布:</span><span class="dimension-sub-item"> {{suspect_team_detail.node_dist}} </span></li> {{/if}} {{if suspect_team_detail.black_cnt}} <li class="dimension-item"><span class="dimension-item-title">风险名单成员数:</span><span class="dimension-sub-item"> {{suspect_team_detail.black_cnt}} </span></li> {{/if}} {{if suspect_team_detail.black_rat}} <li class="dimension-item"><span class="dimension-item-title">风险名单占比:</span><span class="dimension-sub-item"> {{suspect_team_detail.black_rat}} </span></li> {{/if}} {{if suspect_team_detail.fraud_dist}} <li class="dimension-item"><span class="dimension-item-title">风险名单分布:</span><span class="dimension-sub-item"> {{suspect_team_detail.fraud_dist}} </span></li> {{/if}} {{if suspect_team_detail.grey_cnt}} <li class="dimension-item"><span class="dimension-item-title">关注名单成员数:</span><span class="dimension-sub-item"> {{suspect_team_detail.grey_cnt}} </span></li> {{/if}} {{if suspect_team_detail.grey_rat}} <li class="dimension-item"><span class="dimension-item-title">关注名单占比:</span><span class="dimension-sub-item"> {{suspect_team_detail.grey_rat}} </span></li> {{/if}} {{if suspect_team_detail.degree}} <li class="dimension-item"><span class="dimension-item-title">一度关联节点个数:</span><span class="dimension-sub-item"> {{suspect_team_detail.degree}} </span></li> {{/if}} {{if suspect_team_detail.total_cnt_two}} <li class="dimension-item"><span class="dimension-item-title">二度关联节点个数:</span><span class="dimension-sub-item"> {{suspect_team_detail.total_cnt_two}} </span></li> {{/if}} {{if suspect_team_detail.black_cnt_one}} <li class="dimension-item"><span class="dimension-item-title">一度风险名单个数:</span><span class="dimension-sub-item"> {{suspect_team_detail.black_cnt_one}} </span></li> {{/if}} {{if suspect_team_detail.fraud_dist_one}} <li class="dimension-item"><span class="dimension-item-title">一度风险名单分布:</span><span class="dimension-sub-item"> {{suspect_team_detail.fraud_dist_one}} </span></li> {{/if}} {{if suspect_team_detail.black_cnt_two}} <li class="dimension-item"><span class="dimension-item-title">二度风险名单个数:</span><span class="dimension-sub-item"> {{suspect_team_detail.black_cnt_two}} </span></li> {{/if}} {{if suspect_team_detail.fraud_dist_two}} <li class="dimension-item"><span class="dimension-item-title">二度风险名单分布:</span><span class="dimension-sub-item"> {{suspect_team_detail.fraud_dist_two}} </span></li> {{/if}} {{if suspect_team_detail.black_dst}} <li class="dimension-item"><span class="dimension-item-title">风险节点距离:</span><span class="dimension-sub-item"> {{suspect_team_detail.black_dst}} </span></li> {{/if}} {{if suspect_team_detail.core_dst}} <li class="dimension-item"><span class="dimension-item-title">核心节点距离:</span><span class="dimension-sub-item"> {{suspect_team_detail.core_dst}} </span></li> {{/if}} {{if suspect_team_detail.node_score}}<li class="dimension-item"><span><span class="dimension-item-title">关联风险分:</span><span class="dimension-sub-item">{{suspect_team_detail.node_score}}</span></span></li>{{/if}}</ul><br/> {{/each}} </div> {{/if}} </ul> {{/if}} {{if risk_detail.type=="cross_event_detail"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="table-mark"> {{if risk_detail.cross_event_detail_list && risk_detail.cross_event_detail_list.length>0}} <div class="dimension-section"><span class="dimension-title">各维度详情</span><ul class="dimension-list"> {{each risk_detail.cross_event_detail_list as fieldDetail fieldDetail_index}} <li class="dimension-item"><span class="dimension-sub-item"> {{fieldDetail.detail}} </span></li> {{/each}} </ul></div> {{/if}} </ul> {{/if}} {{if risk_detail.type==\'grey_list\'}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="name-list-ul"> {{if risk_detail.fraud_type_display_name}} <li><span>风险类型：</span><span class="name-list-value">{{risk_detail.fraud_type_display_name}}</span></li> {{/if}} {{if risk_detail.hit_type_display_name}} <li><span class="name-detail-em">匹配字段：</span><span class="name-list-value">{{risk_detail.hit_type_display_name}}</span></li> {{/if}} </ul> {{/if}} {{if risk_detail.type==\'black_list\'}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="name-list-ul"> {{if risk_detail.fraud_type_display_name}} <li><span class="name-detail-em">风险类型：</span><span class="name-list-value">{{risk_detail.fraud_type_display_name}}</span></li> {{/if}} {{if risk_detail.hit_type_display_name}} <li><span class="name-detail-em">匹配字段：</span><span class="name-list-value">{{risk_detail.hit_type_display_name}}</span></li> {{/if}} {{if risk_detail.court_details && risk_detail.court_details.length>0}} <li style="color: #2ea5ff;"><a class=\'table-href\' href=\'javascript:void(0)\'> 法院详情(点击查看) </a><div class="a-detail"><div class="detail-a-close"><a href="javascript:void(0)" class="detail-close-x" id="detail-close"> X </a></div><div class="detail-table"> {{each risk_detail.court_details as court_detail court_detail_index}} <table> {{if court_detail.executed_name}} <tr><td class="col1">被执行人姓名:</td><td class="col2"> {{#court_detail.executed_name | dealDisplay}} </td></tr> {{/if}} {{if court_detail.gender}} <tr><td class="col1">性别:</td><td class="col2"> {{#court_detail.gender | dealDisplay}} </td></tr> {{/if}} {{if court_detail.age}} <tr><td class="col1">年龄:</td><td class="col2"> {{#court_detail.age | dealDisplay}} </td></tr> {{/if}} {{if court_detail.fraud_type_display_name}} <tr><td class="col1">风险类型:</td><td class="col2"> {{#court_detail.fraud_type_display_name | dealDisplay}} </td></tr> {{/if}} {{if court_detail.value}} <tr><td class="col1">命中的属性值:</td><td class="col2"> {{#court_detail.value | dealDisplay}} </td></tr> {{/if}} {{if court_detail.execute_court}} <tr><td class="col1">执行法院:</td><td class="col2"> {{#court_detail.execute_court | dealDisplay}} </td></tr> {{/if}} {{if court_detail.province}} <tr><td class="col1">省份:</td><td class="col2"> {{#court_detail.province | dealDisplay}} </td></tr> {{/if}} {{if court_detail.execute_code}} <tr><td class="col1">执行依据文号:</td><td class="col2"> {{#court_detail.execute_code | dealDisplay}} </td></tr> {{/if}} {{if court_detail.case_date}} <tr><td class="col1">立案时间:</td><td class="col2"> {{#court_detail.case_date | dealDisplay}} </td></tr> {{/if}} {{if court_detail.case_code}} <tr><td class="col1">案号:</td><td class="col2"> {{#court_detail.case_code | dealDisplay}} </td></tr> {{/if}} {{if court_detail.execute_subject}} <tr><td class="col1">执行标的:</td><td class="col2"> {{#court_detail.execute_subject | dealDisplay}} </td></tr> {{/if}} {{if court_detail.execute_status}} <tr><td class="col1">执行状态:</td><td class="col2"> {{#court_detail.execute_status | dealDisplay}} </td></tr> {{/if}} {{if court_detail.evidence_court}} <tr><td class="col1">做出依据执行法院:</td><td class="col2"> {{#court_detail.evidence_court | dealDisplay}} </td></tr> {{/if}} {{if court_detail.term_duty}} <tr><td class="col1">生效法律文书确定的义务:</td><td class="col2"> {{#court_detail.term_duty | dealDisplay}} </td></tr> {{/if}} {{if court_detail.carry_out}} <tr><td class="col1">被执行人履行情况:</td><td class="col2"> {{#court_detail.carry_out | dealDisplay}} </td></tr> {{/if}} {{if court_detail.specific_circumstances}} <tr><td class="col1">信贷逾期被执行人行为具体情形:</td><td class="col2"> {{#court_detail.specific_circumstances | dealDisplay}} </td></tr> {{/if}} </table> {{/each}} </div></div></li> {{/if}} </ul> {{/if}} {{if risk_detail.type=="fuzzy_black_list"}} {{if risk_detail.description}} <div class="description"><span class="rule-desc">规则描述</span><span>{{risk_detail.description}}</span></div> {{/if}} <ul class="name-list-ul"> {{if risk_detail.fuzzy_list_details && risk_detail.fuzzy_list_details.length>0}} {{each risk_detail.fuzzy_list_details as fuzzy_list fuzzy_list_index}} {{if fuzzy_list.fraud_type_display_name}} <li><span class="name-detail-em">风险类型：</span><span class="name-list-value"> {{fuzzy_list.fraud_type_display_name}} </span></li> {{/if}} {{if fuzzy_list.fuzzy_name}} <li><span class="name-detail-em">姓名：</span><span class="name-list-value"> {{fuzzy_list.fuzzy_name}} </span></li> {{/if}} {{if fuzzy_list.fuzzy_id_number}} <li><span class="name-detail-em">模糊身份证：</span><span class="name-list-value"> {{fuzzy_list.fuzzy_id_number}} </span></li> {{/if}} {{/each}} {{/if}} </ul> {{/if}} {{if (risk_detail_index+1) < risk_details.length}} <hr class="split-line"></hr> {{/if}} {{/each}} {{/if}}')({
            risk_details: e
          }) : ""
        }),
        template.helper("dealArray", function(e) {
          return e.join("，")
        });
      var s = template.compile('<div class="report-mask"></div><div class="msk-detail"></div><div class="report-container" style="z-index: 1000;top:70px"><div class="container"><div class="left-nav"> {{if INFOANALYSIS}} <div class="nav-tab person-info-nav"><span data-report="person-info-div"><a>个人报告</a></span></div> {{/if}} {{each module_report as sub_report sub_report_nav_index}} <div class="nav-tab"><span data-report="{{sub_report.report_name}}"><a>{{sub_report.report_display_name}}报告</a></span></div> {{/each}} </div><div class="report-a-close" style="top:70px;" id="report-a-close"><a href="javascript:void(0)">X</a></div><div class="header"><h1 class="header-title"></h1><div class="header-report-application"><span>保镖ID:</span><span>{{id}}</span></div></div> {{if INFOANALYSIS}} <div class="inner person-info-div"> {{if INFOANALYSIS.address_detect}} <div class="module"><div class="address-analysis"><div class="module-title"><h2>归属地解析</h2></div><div class="rpi-subitem"> {{if INFOANALYSIS.address_detect.id_card_address}} <p class="p-hidden"><span class="label">身份证所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.id_card_address}} </span></span></p> {{/if}} {{if INFOANALYSIS.address_detect.mobile_address}} <p class="p-hidden"><span class="label">手机所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.mobile_address}} </span></span></p> {{/if}} {{if INFOANALYSIS.address_detect.true_ip_address}} <p class="p-hidden"><span class="label">ip所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.true_ip_address}} </span></span></p> {{/if}} {{if INFOANALYSIS.address_detect.wifi_address}} <p class="p-hidden"><span class="label">wifi所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.wifi_address}} </span></span></p> {{/if}} {{if INFOANALYSIS.address_detect.cell_address}} <p class="p-hidden"><span class="label">基站所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.cell_address}} </span></span></p> {{/if}} {{if INFOANALYSIS.address_detect.bank_card_address}} <p class="p-hidden"><span class="label">银行卡所属地: <span class="label-span"> {{INFOANALYSIS.address_detect.bank_card_address}} </span></span></p> {{/if}} </div></div></div> {{/if}} {{if INFOANALYSIS.geoip_info}} <div class="module"><div class="address-analysis"><div class="module-title"><h2>IP解析</h2></div><div class="rpi-subitem"> {{if INFOANALYSIS.geoip_info.position}} <p class="p-hidden"><span class="label">地址: <span class="label-span"> {{INFOANALYSIS.geoip_info.position}} </span></span></p> {{/if}} {{if INFOANALYSIS.geoip_info.longitude}} <p class="p-hidden"><span class="label">经度: <span class="label-span">{{INFOANALYSIS.geoip_info.longitude}}</span></span></p> {{/if}} {{if INFOANALYSIS.geoip_info.isp}} <p class="p-hidden"><span class="label">互联网提供商: <span class="label-span">{{INFOANALYSIS.geoip_info.isp}}</span></span></p> {{/if}} {{if INFOANALYSIS.geoip_info.latitude}} <p class="p-hidden"><span class="label">纬度: <span class="label-span">{{INFOANALYSIS.geoip_info.latitude}}</span></span></p> {{/if}} {{each INFOANALYSIS.geoip_info.proxy_info as proxyInfo proxyIndex}} {{if proxyInfo.port}} <p class="p-hidden"><span class="label">代理端口: <span class="label-span">{{proxyInfo.port}}</span></span></p> {{/if}} {{if proxyInfo.proxyProtocol}} <p class="p-hidden"><span class="label">代理协议: <span class="label-span">{{proxyInfo.proxyProtocol}}</span></span></p> {{/if}} {{if proxyInfo.proxyType}} <p class="p-hidden "><span class="label">代理类型: <span class="label-span">{{proxyInfo.proxyType}}</span></span></p> {{/if}} {{/each}} </div></div></div> {{/if}} {{if INFOANALYSIS.geotrueip_info}} <div class="module"><div class="address-analysis"><div class="module-title"><h2>真实IP解析</h2></div><div class="rpi-subitem"> {{if INFOANALYSIS.geotrueip_info.position}} <p class="p-hidden"><span class="label">地址: <span class="label-span"> {{INFOANALYSIS.geotrueip_info.position}}</span></span></p> {{/if}} {{if INFOANALYSIS.geotrueip_info.longitude}} <p class="p-hidden"><span class="label">经度: <span class="label-span"> {{INFOANALYSIS.geotrueip_info.longitude}}</span></span></p> {{/if}} {{if INFOANALYSIS.geotrueip_info.isp}} <p class="p-hidden"><span class="label">互联网提供商: <span class="label-span">{{INFOANALYSIS.geotrueip_info.isp}}</span></span></p> {{/if}} {{if INFOANALYSIS.geotrueip_info.latitude}} <p class="p-hidden"><span class="label">纬度: <span class="label-span"> {{INFOANALYSIS.geotrueip_info.latitude}}</span></span></p> {{/if}} </div></div></div> {{/if}} {{if INFOANALYSIS.device_info && !INFOANALYSIS.device_info.error}} <div class="module"><div id="rp-device-info" class="rp-item rp-device-info"><div class="module-title"><h2>设备信息</h2></div><div style="margin: 20px 0px 20px 24px;"><a href="javascript:void(0)" class="jz">详情 (点击查看)</a></div><div class="table-wrap j-rpi-toggle-target"><table class="device-info"> {{if INFOANALYSIS.device_info.appOs.toLowerCase() == \'web\'}} <tr><td class="device-title">启用Cookie</td><td class="device-value"> {{#INFOANALYSIS.device_info.cookieEnabled | dealDisplay }} </td><td class="device-title">操作系统</td><td class="device-value"> {{#INFOANALYSIS.device_info.os | dealDisplay}} </td></tr><tr><td class="device-title">真实IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.trueIp | dealDisplay}} </td><td class="device-title">集成sdk版本号</td><td class="device-value"> {{#INFOANALYSIS.device_info.fpVersion | dealDisplay}} </td></tr><tr><td class="device-title">tokenId</td><td class="device-value"> {{#INFOANALYSIS.device_info.tokenId | dealDisplay}}</td><td class="device-title">设备ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceId | dealDisplay}}</td></tr><tr><td class="device-title">浏览器</td><td class="device-value"> {{#INFOANALYSIS.device_info.userAgent | dealDisplay}}</td><td class="device-title">智能ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.smartId | dealDisplay}}</td></tr><tr><td class="device-title">帆布指纹</td><td class="device-value"> {{#INFOANALYSIS.device_info.canvas | dealDisplay}}</td><td class="device-title">计算机语言</td><td class="device-value"> {{#INFOANALYSIS.device_info.languageRes | dealDisplay}}</td></tr><tr><td class="device-title">屏幕分辨率</td><td class="device-value"> {{#INFOANALYSIS.device_info.screenRes | dealDisplay}}</td><td class="device-title">插件列表</td><td class="device-value"> {{#INFOANALYSIS.device_info.pluginListHash | dealDisplay}}</td></tr><tr><td class="device-title">启用Flash</td><td class="device-value"> {{#INFOANALYSIS.device_info.flashEnabled | dealDisplay}}</td><td class="device-title">请求来源</td><td class="device-value"> {{#INFOANALYSIS.device_info.referer | dealDisplay}}</td></tr><tr><td class="device-title">浏览器类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.browserType | dealDisplay}}</td><td class="device-title">TCP协议栈特征对应的操作系统</td><td class="device-value"> {{#INFOANALYSIS.device_info.tcpOs | dealDisplay}}</td></tr><tr><td class="device-title">浏览器版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.browserVersion | dealDisplay}}</td><td class="device-title">字体</td><td class="device-value"> {{#INFOANALYSIS.device_info.fontListHash | dealDisplay}}</td></tr><tr><td class="device-title">浏览器header</td><td class="device-value"> {{#INFOANALYSIS.device_info.accept | dealDisplay}}</td><td class="device-title">浏览器header编码类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.acceptEncoding | dealDisplay}}</td></tr><tr><td class="device-title">浏览器header语言</td><td class="device-value"> {{#INFOANALYSIS.device_info.acceptLanguage | dealDisplay}}</td><td class="device-title">时区</td><td class="device-value"> {{#INFOANALYSIS.device_info.timeZone | dealDisplay}}</td></tr><tr><td class="device-title">开启Debug模式</td><td class="device-value"> {{#INFOANALYSIS.device_info.webDebuggerStatus | dealDisplay}}</td><td class="device-title">启用js</td><td class="device-value"> {{#INFOANALYSIS.device_info.enabledJs | dealDisplay}}</td></tr><tr><td class="device-title">错误原因</td><td class="device-value"> {{#INFOANALYSIS.device_info.error | dealDisplay}}</td><td></td><td></td></tr> {{else if INFOANALYSIS.device_info.appOs.toLowerCase() == \'ios\'}} <tr><td class="device-title">集成sdk版本号</td><td class="device-value"> {{#INFOANALYSIS.device_info.fpVersion | dealDisplay}}</td><td class="device-title">tokenId</td><td class="device-value"> {{#INFOANALYSIS.device_info.tokenId | dealDisplay}}</td></tr><tr><td class="device-title">设备ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceId | dealDisplay}}</td><td class="device-title">操作系统</td><td class="device-value"> {{#INFOANALYSIS.device_info.os | dealDisplay}}</td></tr><tr><td class="device-title">iOS系统版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.osVersion | dealDisplay}}</td><td class="device-title">广告追踪标识</td><td class="device-value"> {{#INFOANALYSIS.device_info.idfa | dealDisplay}}</td></tr><tr><td class="device-title">厂商追踪标识</td><td class="device-value"> {{#INFOANALYSIS.device_info.idfv | dealDisplay}}</td><td class="device-title">生效客户端ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.uuid | dealDisplay}}</td></tr><tr><td class="device-title">开机时刻</td><td class="device-value"> {{#INFOANALYSIS.device_info.bootTime | dealTime}}</td><td class="device-title">当前时间戳</td><td class="device-value"> {{#INFOANALYSIS.device_info.currentTime | dealTime}}</td></tr><tr><td class="device-title">运行时间</td><td class="device-value"> {{#INFOANALYSIS.device_info.upTime | dealTimeLong}}</td><td class="device-title">存储空间</td><td class="device-value"> {{#INFOANALYSIS.device_info.totalSpace | dealMemory}}</td></tr><tr><td class="device-title">可用空间</td><td class="device-value"> {{#INFOANALYSIS.device_info.freeSpace | dealMemory}}</td><td class="device-title">内存大小</td><td class="device-value"> {{#INFOANALYSIS.device_info.memory | dealMemory}}</td></tr><tr><td class="device-title">蜂窝网络ip</td><td class="device-value"> {{#INFOANALYSIS.device_info.cellIp | dealDisplay}}</td><td class="device-title">wifi IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.wifiIp | dealDisplay}}</td></tr><tr><td class="device-title">wifi 子网掩码</td><td class="device-value"> {{#INFOANALYSIS.device_info.wifiNetmask | dealDisplay}}</td><td class="device-title">wifi mac</td><td class="device-value"> {{#INFOANALYSIS.device_info.mac | dealDisplay}}</td></tr><tr><td class="device-title">wifi</td><td class="device-value"> {{#INFOANALYSIS.device_info.ssid | dealDisplay}}</td><td class="device-title">wifi BSSID</td><td class="device-value"> {{#INFOANALYSIS.device_info.bssid | dealDisplay}}</td></tr><tr><td class="device-title">VPN IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.vpnIp | dealDisplay}}</td><td class="device-title">VPN 子网掩码</td><td class="device-value"> {{#INFOANALYSIS.device_info.vpnNetmask | dealDisplay}}</td></tr><tr><td class="device-title">网络类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.networkType | dealDisplay}}</td><td class="device-title">Wifi代理类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.proxyType | dealDisplay}}</td></tr><tr><td class="device-title">Wifi代理地址</td><td class="device-value"> {{#INFOANALYSIS.device_info.proxyUrl | dealDisplay}}</td><td class="device-title">设备型号</td><td class="device-value"> {{#INFOANALYSIS.device_info.platform | dealDisplay}}</td></tr><tr><td class="device-title">设备名称</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceName | dealDisplay}}</td><td class="device-title">屏幕亮度</td><td class="device-value"> {{#INFOANALYSIS.device_info.brightness | dealDisplay}}</td></tr><tr><td class="device-title">运营商</td><td class="device-value"> {{#INFOANALYSIS.device_info.carrier | dealDisplay}}</td><td class="device-title">ISO标准国家码</td><td class="device-value"> {{#INFOANALYSIS.device_info.countryIso | dealDisplay}}</td></tr><tr><td class="device-title">移动网络码</td><td class="device-value"> {{#INFOANALYSIS.device_info.mnc | dealDisplay}}</td><td class="device-title">移动国家码</td><td class="device-value"> {{#INFOANALYSIS.device_info.mcc | dealDisplay}}</td></tr><tr><td class="device-title">网络通讯制式</td><td class="device-value"> {{#INFOANALYSIS.device_info.radioType | dealDisplay}}</td><td class="device-title">应用的BundleId</td><td class="device-value"> {{#INFOANALYSIS.device_info.bundleId | dealDisplay}}</td></tr><tr><td class="device-title">应用的版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.appVersion | dealDisplay}}</td><td class="device-title">时区</td><td class="device-value"> {{#INFOANALYSIS.device_info.timeZone | dealDisplay}}</td></tr><tr><td class="device-title">_CodeSignature MD5</td><td class="device-value"> {{#INFOANALYSIS.device_info.signMd5 | dealDisplay}}</td><td class="device-title">采集信息耗时</td><td class="device-value"> {{#INFOANALYSIS.device_info.timeCost | dealDisplay}}</td></tr><tr><td class="device-title">语言列表</td><td class="device-value"> {{#INFOANALYSIS.device_info.languages | dealDisplay}}</td><td class="device-title">充电状态</td><td class="device-value"> {{#INFOANALYSIS.device_info.batteryStatus | dealDisplay}}</td></tr><tr><td class="device-title">电量</td><td class="device-value"> {{#INFOANALYSIS.device_info.batteryLevel | dealDisplay}}</td><td class="device-title">内核版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.kernelVersion | dealDisplay}}</td></tr><tr><td class="device-title">最近一次定位</td><td class="device-value"> {{#INFOANALYSIS.device_info.gpsLocation | dealDisplay}}</td><td class="device-title">GPS开关状态</td><td class="device-value"> {{#INFOANALYSIS.device_info.gpsSwitch | dealDisplay}}</td></tr><tr><td class="device-title">GPS授权状态</td><td class="device-value"> {{#INFOANALYSIS.device_info.gpsAuthStatus | dealDisplay}}</td><td class="device-title">通过环境变量注入的动态库</td><td class="device-value"> {{#INFOANALYSIS.device_info.env | dealDisplay}}</td></tr><tr><td class="device-title">越狱后注入进程的插件库</td><td class="device-value"> {{#INFOANALYSIS.device_info.attached | dealDisplay}} </td><td class="device-title">真实IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.trueIp | dealDisplay}}</td></tr><tr><td class="device-title">错误原因</td><td class="device-value"> {{#INFOANALYSIS.device_info.error | dealDisplay}} </td><td class="device-title"></td><td class="device-value"></td></tr> {{else if INFOANALYSIS.device_info.appOs.toLowerCase() == \'android\'}} <tr><td class="device-title">集成sdk版本号</td><td class="device-value"> {{#INFOANALYSIS.device_info.fpVersion | dealDisplay}}</td><td class="device-title">tokenId</td><td class="device-value"> {{#INFOANALYSIS.device_info.tokenId | dealDisplay}} </td></tr><tr><td class="device-title">设备ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceId | dealDisplay}}</td><td class="device-title">操作系统</td><td class="device-value"> {{#INFOANALYSIS.device_info.os | dealDisplay}} </td></tr><tr><td class="device-title">系统版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.sdkVersion | dealDisplay}}</td><td class="device-title">发行版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.releaseVersion | dealDisplay}}</td></tr><tr><td class="device-title">设备型号</td><td class="device-value"> {{#INFOANALYSIS.device_info.model | dealDisplay}}</td><td class="device-title">产品内部代码</td><td class="device-value"> {{#INFOANALYSIS.device_info.product | dealDisplay}}</td></tr><tr><td class="device-title">品牌</td><td class="device-value"> {{#INFOANALYSIS.device_info.brand | dealDisplay}}</td><td class="device-title">序列号</td><td class="device-value"> {{#INFOANALYSIS.device_info.serialNo | dealDisplay}}</td></tr><tr><td class="device-title">固件编号</td><td class="device-value"> {{#INFOANALYSIS.device_info.display | dealDisplay}}</td><td class="device-title">编译ROM的主机</td><td class="device-value"> {{#INFOANALYSIS.device_info.host | dealDisplay}}</td></tr><tr><td class="device-title">设备名称</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceName | dealDisplay}}</td><td class="device-title">硬件平台名称或者代号</td><td class="device-value"> {{#INFOANALYSIS.device_info.hardware | dealDisplay}}</td></tr><tr><td class="device-title">ROM标签</td><td class="device-value"> {{#INFOANALYSIS.device_info.tags | dealDisplay}}</td><td class="device-title">多个信息</td><td class="device-value"> {{#INFOANALYSIS.device_info.telephonyInfo | dealDisplay}}</td></tr><tr><td class="device-title">SVN号</td><td class="device-value"> {{#INFOANALYSIS.device_info.deviceSVN | dealDisplay}}</td><td class="device-title">wifi IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.wifiIp | dealDisplay}}</td></tr><tr><td class="device-title">wifi mac地址</td><td class="device-value"> {{#INFOANALYSIS.device_info.wifiMac | dealDisplay}}</td><td class="device-title">wifi</td><td class="device-value"> {{#INFOANALYSIS.device_info.ssid | dealDisplay}}</td></tr><tr><td class="device-title">wifi BSSID</td><td class="device-value"> {{#INFOANALYSIS.device_info.bssid | dealDisplay}}</td><td class="device-title">网关</td><td class="device-value"> {{#INFOANALYSIS.device_info.gateway | dealDisplay}}</td></tr><tr><td class="device-title">子网掩码</td><td class="device-value"> {{#INFOANALYSIS.device_info.wifiNetmask | dealDisplay}}</td><td class="device-title">HTTP代理IP和端口</td><td class="device-value"> {{#INFOANALYSIS.device_info.proxyInfo | dealDisplay}}</td></tr><tr><td class="device-title">DNS</td><td class="device-value"> {{#INFOANALYSIS.device_info.dnsAddress | dealDisplay}}</td><td class="device-title">VPN IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.vpnIp | dealDisplay}}</td></tr><tr><td class="device-title">VPN 子网掩码</td><td class="device-value"> {{#INFOANALYSIS.device_info.vpnNetmask | dealDisplay}}</td><td class="device-title">数据网络IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.cellIp | dealDisplay}}</td></tr><tr><td class="device-title">网络类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.networkType | dealDisplay}}</td><td class="device-title">当前时间</td><td class="device-value"> {{#INFOANALYSIS.device_info.currentTime | dealTime}}</td></tr><tr><td class="device-title">运行时间</td><td class="device-value"> {{#INFOANALYSIS.device_info.upTime | dealTimeLong}}</td><td class="device-title">开机时刻</td><td class="device-value"> {{#INFOANALYSIS.device_info.bootTime | dealTime}}</td></tr><tr><td class="device-title">是否ROOT</td><td class="device-value"> {{#INFOANALYSIS.device_info.root | dealDisplay}}</td><td class="device-title">应用包名</td><td class="device-value"> {{#INFOANALYSIS.device_info.packageName | dealDisplay}}</td></tr><tr><td class="device-title">应用版本号</td><td class="device-value"> {{#INFOANALYSIS.device_info.apkVersion | dealDisplay}}</td><td class="device-title">SDK core文件的md5</td><td class="device-value"> {{#INFOANALYSIS.device_info.sdkMd5 | dealDisplay}}</td></tr><tr><td class="device-title">APK签名文件的md5</td><td class="device-value"> {{#INFOANALYSIS.device_info.signMD5 | dealDisplay}}</td><td class="device-title">APK文件的md5</td><td class="device-value"> {{#INFOANALYSIS.device_info.apkMD5 | dealDisplay}}</td></tr><tr><td class="device-title">时区</td><td class="device-value"> {{#INFOANALYSIS.device_info.timeZone | dealDisplay}}</td><td class="device-title">语言</td><td class="device-value"> {{#INFOANALYSIS.device_info.language | dealDisplay}}</td></tr><tr><td class="device-title">屏幕亮度</td><td class="device-value"> {{#INFOANALYSIS.device_info.brightness | dealDisplay}}</td><td class="device-title">充电状态</td><td class="device-value"> {{#INFOANALYSIS.device_info.batteryStatus | dealDisplay}}</td></tr><tr><td class="device-title">电量</td><td class="device-value"> {{#INFOANALYSIS.device_info.batteryLevel | dealDisplay}}</td><td class="device-title">电池温度</td><td class="device-value"> {{#INFOANALYSIS.device_info.batteryTemp | dealDisplay}}</td></tr><tr><td class="device-title">屏幕分辨率</td><td class="device-value"> {{#INFOANALYSIS.device_info.screenRes | dealDisplay}}</td><td class="device-title">字体列表HASH</td><td class="device-value"> {{#INFOANALYSIS.device_info.fontHash | dealDisplay}}</td></tr><tr><td class="device-title">蓝牙MAC地址</td><td class="device-value"> {{#INFOANALYSIS.device_info.blueMac | dealDisplay}}</td><td class="device-title">系统初始化ID</td><td class="device-value"> {{#INFOANALYSIS.device_info.andriodId | dealDisplay}}</td></tr><tr><td class="device-title">CPU最大频率</td><td class="device-value"> {{#INFOANALYSIS.device_info.cpuFrequency | dealDisplay}}</td><td class="device-title">CPU硬件架构</td><td class="device-value"> {{#INFOANALYSIS.device_info.cpuHardware | dealDisplay}}</td></tr><tr><td class="device-title">CPU型号或者平台</td><td class="device-value"> {{#INFOANALYSIS.device_info.cpuType | dealDisplay}}</td><td class="device-title">内存大小</td><td class="device-value"> {{#INFOANALYSIS.device_info.totalMemory | dealMemory}}</td></tr><tr><td class="device-title">可用内存大小</td><td class="device-value"> {{#INFOANALYSIS.device_info.availableMemory | dealMemory}}</td><td class="device-title">基带版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.basebandVersion | dealDisplay}}</td></tr><tr><td class="device-title">底层Linux内核版本</td><td class="device-value"> {{#INFOANALYSIS.device_info.kernelVersion | dealDisplay}}</td><td class="device-title">GPS坐标</td><td class="device-value"> {{#INFOANALYSIS.device_info.gpsLocation | dealDisplay}}</td></tr><tr><td class="device-title">启用位置模拟</td><td class="device-value"> {{#INFOANALYSIS.device_info.allowMockLocation | dealDisplay}}</td><td class="device-title">真实IP</td><td class="device-value"> {{#INFOANALYSIS.device_info.trueIp | dealDisplay}}</td></tr><tr><td class="device-title">设备类型</td><td class="device-value"> {{#INFOANALYSIS.device_info.appOs | dealDisplay}}</td><td class="device-title">错误原因</td><td class="device-value"> {{#INFOANALYSIS.device_info.error | dealDisplay}}</td></tr> {{/if}} </table></div></div></div> {{/if}} </div> {{/if}} {{each module_report as sub_report sub_report_index}} <div class="inner {{sub_report.report_name}}"><div class="module"><div class="risk-score"><div class="fl result-score-wrap"><div class="result-score-canvas-main"><canvas class="canvas-main"></canvas></div><div class="result-score-canvas-bg"><canvas class="canvas-bg"></canvas></div><div class="result-score-text"><div id="result-score" class="result-score"> {{sub_report.final_score}} </div><div class="result-cat"> {{if sub_report.final_decision =="PASS"}} 建议通过 {{else if sub_report.final_decision == "REJECT"}} 建议拒绝 {{else if sub_report.final_decision == "REVIEW"}} 建议审核 {{/if}} </div></div></div><div class="fl result-text"> {{if sub_report.final_decision == "PASS"}} <p class="tip">申请用户未检出高危风险，建议通过</p> {{else if sub_report.final_decision == "REJECT"}} <p class="tip">申请用户检测出高危风险，建议拒绝</p> {{else if sub_report.final_decision == "REVIEW"}} <p class="tip">申请用户存在较大风险，建议进行人工审核</p> {{/if}} <p class="result">共发现<a class="risk-count" href="javascript:void(0)"> {{if sub_report.risk_items}} {{sub_report.risk_items.length}} {{else}}0{{/if}}</a>异常信息 </p></div></div></div> {{if sub_report.output_fields}} <div class="module"><div class="output-field"><div class="module-title"><h2>自定义指标</h2></div><div class="rpi-subitem"> {{each sub_report.output_fields as output_field output_field_index}} <p class="p-field"><span class="p-field-title">{{output_field.field_name}}：</span><span class="p-field-value">{{output_field.field_value}}</span></p> {{/each}} </div></div></div> {{/if}} <div class="module"><div class="rp-item risk-items"><div class="module-title"><h2>{{sub_report.report_display_name}}风险情况</h2></div> {{if sub_report.risk_items && sub_report.risk_items.length>0}} <div class="table-wrap"><table class="risk-table"><thead><tr><th class="risk-col1">规则名称</th><th class="risk-col2">规则详情</th></tr></thead><tbody> {{each sub_report.risk_items as risk_item risk_item_index}} {{if risk_item}} <tr class="risk-items-flag border-bottom-2"><td class="risk-col1">{{risk_item.risk_name}}</td><td class="risk-col2"> {{#risk_item.risk_detail | riskDetailDisplay}} </td></tr> {{/if}} {{/each}} </tbody></table></div> {{else}} <div class="table-wrap" style="padding-left: 20px;">无风险</div> {{/if}} </div></div></div> {{/each}} </div></div>')(t);
      0 == $("body #tdReportContainer").length && $("body").append('<div id="tdReportContainer"></div>'),
        $("#tdReportContainer").html(s),
        function() {
          $(".nav-tab").on("click", function() {
            $(".report-container").animate({
              scrollTop: "0"
            }, 0);
            var e = $(this)
              , i = e.siblings(".nav-tab")
              , t = e.children("span")
              , s = t.data("report");
            if ($(".header-title").text(t.text()),
                i.removeClass("current-tab"),
                e.addClass("current-tab"),
                $("." + s).css("display", "inline-block"),
                $('.inner:not(".' + s + '")').css("display", "none"),
              0 < $("." + s + " .canvas-main").length) {
              var a = $("." + s + " .canvas-main")[0]
                , d = a.getContext("2d")
                , l = parseInt($("." + s + " .result-score").text(), 10)
                , c = $("." + s + " .result-cat").text()
                , n = 1;
              0 < l && l < 100 && (n = (100 - l) / 100),
              0 === l && (n = 1),
                d.rotate(-Math.PI / 2),
                d.lineWidth = 8,
                -1 < c.indexOf("拒绝") ? ($("." + s + " .result-cat").addClass("reject"),
                  d.strokeStyle = "#ff6c5c") : -1 < c.indexOf("通过") ? ($("." + s + " .result-cat").addClass("accept"),
                  d.strokeStyle = "#8cdb65") : -1 < c.indexOf("审核") && ($("." + s + " .result-cat").addClass("review"),
                  d.strokeStyle = "#f8d436"),
                d.beginPath(),
                d.arc(-75, 75, 69, 0, Math.PI * (2 * n), !0),
                d.stroke();
              var r = $("." + s + " .canvas-bg")[0]
                , o = r.getContext("2d");
              o.fillStyle = "#fafafa",
                o.beginPath(),
                o.arc(61, 61, 52, 0, 2 * Math.PI, !0),
                o.closePath(),
                o.fill()
            }
          }),
            $(".left-nav").children(":first").addClass("current-tab");
          var e = $(".current-tab").children("span");
          $(".header-title").text(e.text());
          var i = e.data("report");
          $('.inner:not(".' + i + '")').css("display", "none"),
            $(".left-nav").children(".nav-tab:first").trigger("click"),
            $(".jz").on("click", function() {
              $(".j-rpi-toggle-target").toggle(200)
            }),
            $(".risk-count").on("click", function() {
              var e = $(this)
                , i = e.parents(".inner")
                , t = i.find(".risk-items");
              0 < t.length && ($(".report-container").animate({
                scrollTop: 0
              }, 0),
                $(".report-container").animate({
                  scrollTop: t.offset().top
                }, 300))
            }),
            $("#report-a-close").on("click", function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                $("#tdReportContainer").hide(200)
            }),
            $(".report-container").on("click", function() {
              $("#report-a-close").trigger("click")
            }),
            $(".container").on("click", function(e) {
              e.preventDefault(),
                e.stopPropagation()
            }),
            $(".dimension-title").on("click", function() {
              var e = $(this).next(".dimension-list");
              e.length && e.slideToggle(200)
            }),
            $(".risk-table").on("click", ".table-href", function() {
              $(".a-detail").hide(),
                $(this).parents("ul").find(".a-detail").show(100),
                $(".msk-detail").show()
            }),
            $(".risk-detail-title").on("click", function() {
              var e = $(this).next(".risk-detail-list");
              e.length && e.slideToggle(200);
              var i = $(this).next(".risk-detail-list").find(".risk-detail-sub-list").children("li");
              $.each(i, function(e, i) {
                var t = $(i).text().replace(/[※]/g, "*");
                $(i).text(t)
              })
            }),
            $(".detail-close-x").on("click", function(e) {
              $(this).parent().parent().hide(100),
                $(".msk-detail").hide()
            }),
            $(".msk-detail").on("click", function() {
              $(".detail-close-x").trigger("click"),
                $(".msk-detail").hide()
            })
        }(),
        $("#tdReportContainer").show(200)
    }
  }),
    function() {
      function h(e) {
        return "'" + e.replace(/('|\\)/g, "\\$1").replace(/\r/g, "\\r").replace(/\n/g, "\\n") + "'"
      }
      function l(e, a) {
        function s(e) {
          return o += e.split(/\n/).length - 1,
          t && (e = e.replace(/\s+/g, " ").replace(/<!--[\w\W]*?-->/g, "")),
          e && (e = u[1] + h(e) + u[2] + "\n"),
            e
        }
        function d(e) {
          var i = o;
          if (n ? e = n(e, a) : l && (e = e.replace(/\n/g, function() {
              return "$line=" + ++o + ";"
            })),
            0 === e.indexOf("=")) {
            var t = r && !/^=[=#]/.test(e);
            if (e = e.replace(/^=[=#]?|[\s;]*$/g, ""),
                t) {
              var s = e.replace(/\s*\([^\)]+\)/, "");
              k[s] || /^(include|print)$/.test(s) || (e = "$escape(" + e + ")")
            } else
              e = "$string(" + e + ")";
            e = u[1] + e + u[2]
          }
          return l && (e = "$line=" + i + ";" + e),
            O(e.replace(L, "").replace(g, ",").replace(F, "").replace(Y, "").replace(D, "").split($), function(e) {
              var i;
              e && !p[e] && (i = "print" === e ? f : "include" === e ? I : k[e] ? "$utils." + e : b[e] ? "$helpers." + e : "$data." + e,
                m += e + "=" + i + ",",
                p[e] = !0)
            }),
          e + "\n"
        }
        var l = a.debug
          , i = a.openTag
          , c = a.closeTag
          , n = a.parser
          , t = a.compress
          , r = a.escape
          , o = 1
          , p = {
          $data: 1,
          $filename: 1,
          $utils: 1,
          $helpers: 1,
          $out: 1,
          $line: 1
        }
          , v = "".trim
          , u = v ? ["$out='';", "$out+=", ";", "$out"] : ["$out=[];", "$out.push(", ");", "$out.join('')"]
          , _ = v ? "$out+=text;return $out;" : "$out.push(text);"
          , f = "function(){var text=''.concat.apply('',arguments);" + _ + "}"
          , I = "function(filename,data){data=data||$data;var text=$utils.$include(filename,data,$filename);" + _ + "}"
          , m = "'use strict';var $utils=this,$helpers=$utils.$helpers," + (l ? "$line=0," : "")
          , S = u[0]
          , A = "return new String(" + u[3] + ");";
        O(e.split(i), function(e) {
          var i = (e = e.split(c))[0]
            , t = e[1];
          1 === e.length ? S += s(i) : (S += d(i),
          t && (S += s(t)))
        });
        var N = m + S + A;
        l && (N = "try{" + N + "}catch(e){throw {filename:$filename,name:'Render Error',message:e.message,line:$line,source:" + h(e) + ".split(/\\n/)[$line-1].replace(/^\\s+/,'')};}");
        try {
          var y = new Function("$data","$filename",N);
          return y.prototype = k,
            y
        } catch (e) {
          throw e.temp = "function anonymous($data,$filename) {" + N + "}",
            e
        }
      }
      var f = function(e, i) {
        return "string" == typeof i ? o(i, {
          filename: e
        }) : t(e, i)
      };
      f.version = "3.0.0",
        f.config = function(e, i) {
          c[e] = i
        }
      ;
      var c = f.defaults = {
        openTag: "<%",
        closeTag: "%>",
        escape: !0,
        cache: !0,
        compress: !1,
        parser: null
      }
        , n = f.cache = {};
      f.render = function(e, i) {
        return o(e, i)
      }
      ;
      var t = f.renderFile = function(e, i) {
          var t = f.get(e) || r({
            filename: e,
            name: "Render Error",
            message: "Template not found"
          });
          return i ? t(i) : t
        }
      ;
      f.get = function(e) {
        var i;
        if (n[e])
          i = n[e];
        else if ("object" == typeof document) {
          var t = document.getElementById(e);
          if (t) {
            var s = (t.value || t.innerHTML).replace(/^\s*|\s*$/g, "");
            i = o(s, {
              filename: e
            })
          }
        }
        return i
      }
      ;
      var s = function(e, i) {
        return "string" != typeof e && ("number" === (i = typeof e) ? e += "" : e = "function" === i ? s(e.call(e)) : ""),
          e
      }
        , i = {
        "<": "&#60;",
        ">": "&#62;",
        '"': "&#34;",
        "'": "&#39;",
        "&": "&#38;"
      }
        , a = function(e) {
        return i[e]
      }
        , d = Array.isArray || function(e) {
        return "[object Array]" === {}.toString.call(e)
      }
        , k = f.utils = {
        $helpers: {},
        $include: t,
        $string: s,
        $escape: function(e) {
          return s(e).replace(/&(?![\w#]+;)|[<>"']/g, a)
        },
        $each: function(e, i) {
          var t, s;
          if (d(e))
            for (t = 0,
                   s = e.length; t < s; t++)
              i.call(e, e[t], t, e);
          else
            for (t in e)
              i.call(e, e[t], t)
        }
      };
      f.helper = function(e, i) {
        b[e] = i
      }
      ;
      var b = f.helpers = k.$helpers;
      f.onerror = function(e) {
        var i = "Template Error\n\n";
        for (var t in e)
          i += "<" + t + ">\n" + e[t] + "\n\n";
        "object" == typeof console && console.error(i)
      }
      ;
      var r = function(e) {
        return f.onerror(e),
          function() {
            return "{Template Error}"
          }
      }
        , o = f.compile = function(t, s) {
        function e(i) {
          try {
            return new d(i,a) + ""
          } catch (e) {
            return s.debug ? r(e)() : (s.debug = !0,
              o(t, s)(i))
          }
        }
        for (var i in s = s || {},
          c)
          void 0 === s[i] && (s[i] = c[i]);
        var a = s.filename;
        try {
          var d = l(t, s)
        } catch (e) {
          return e.filename = a || "anonymous",
            e.name = "Syntax Error",
            r(e)
        }
        return e.prototype = d.prototype,
          e.toString = function() {
            return d.toString()
          }
          ,
        a && s.cache && (n[a] = e),
          e
      }
        , O = k.$each
        , L = /\/\*[\w\W]*?\*\/|\/\/[^\n]*\n|\/\/[^\n]*$|"(?:[^"\\]|\\[\w\W])*"|'(?:[^'\\]|\\[\w\W])*'|\s*\.\s*[$\w\.]+/g
        , g = /[^\w$]+/g
        , F = new RegExp(["\\b" + "break,case,catch,continue,debugger,default,delete,do,else,false,finally,for,function,if,in,instanceof,new,null,return,switch,this,throw,true,try,typeof,var,void,while,with,abstract,boolean,byte,char,class,const,double,enum,export,extends,final,float,goto,implements,import,int,interface,long,native,package,private,protected,public,short,static,super,synchronized,throws,transient,volatile,arguments,let,yield,undefined".replace(/,/g, "\\b|\\b") + "\\b"].join("|"),"g")
        , Y = /^\d[^,]*|,\d[^,]*/g
        , D = /^,+|,+$/g
        , $ = /^$|,+/;
      c.openTag = "{{",
        c.closeTag = "}}";
      c.parser = function(e) {
        var i, t, s, a, d, l = (e = e.replace(/^\s/, "")).split(" "), c = l.shift(), n = l.join(" ");
        switch (c) {
          case "if":
            e = "if(" + n + "){";
            break;
          case "else":
            e = "}else" + (l = "if" === l.shift() ? " if(" + l.join(" ") + ")" : "") + "{";
            break;
          case "/if":
            e = "}";
            break;
          case "each":
            var r = l[0] || "$data";
            "as" !== (l[1] || "as") && (r = "[]"),
              e = "$each(" + r + ",function(" + ((l[2] || "$value") + "," + (l[3] || "$index")) + "){";
            break;
          case "/each":
            e = "});";
            break;
          case "echo":
            e = "print(" + n + ");";
            break;
          case "print":
          case "include":
            e = c + "(" + l.join(",") + ");";
            break;
          default:
            if (/^\s*\|\s*[\w\$]/.test(n)) {
              var o = !0;
              0 === e.indexOf("#") && (e = e.substr(1),
                o = !1);
              for (var p = 0, v = e.split("|"), u = v.length, _ = v[p++]; p < u; p++)
                i = _,
                  t = v[p],
                  d = s = void 0,
                  s = t.split(":"),
                  a = s.shift(),
                (d = s.join(":") || "") && (d = ", " + d),
                  _ = "$helpers." + a + "(" + i + d + ")";
              e = (o ? "=" : "=#") + _
            } else
              e = f.helpers[c] ? "=#" + c + "(" + l.join(",") + ");" : "=" + e
        }
        return e
      }
        ,
        "function" == typeof define ? define(function() {
          return f
        }) : "undefined" != typeof exports ? module.exports = f : this.template = f
    }();
  