CINXE.COM
Comune di Scarnafigi - sito internet istituzionale - Regione Piemonte - Provincia di Cuneo
<!DOCTYPE html> <html lang="it"> <head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta http-equiv="Content-Language" content="en" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title> Comune di Scarnafigi - sito internet istituzionale - Regione Piemonte - Provincia di Cuneo </title> <!-- FAVICONS --> <link rel="shortcut icon" href="/img/comune_iconified/favicon.ico" type="image/x-icon" /><link rel="apple-touch-icon" href="/img/comune_iconified/apple-touch-icon.png" /><link rel="apple-touch-icon" sizes="57x57" href="/img/comune_iconified/apple-touch-icon-57x57.png" /><link rel="apple-touch-icon" sizes="72x72" href="/img/comune_iconified/apple-touch-icon-72x72.png" /><link rel="apple-touch-icon" sizes="76x76" href="/img/comune_iconified/apple-touch-icon-76x76.png" /><link rel="apple-touch-icon" sizes="114x114" href="/img/comune_iconified/apple-touch-icon-114x114.png" /><link rel="apple-touch-icon" sizes="120x120" href="/img/comune_iconified/apple-touch-icon-120x120.png" /><link rel="apple-touch-icon" sizes="144x144" href="/img/comune_iconified/apple-touch-icon-144x144.png" /><link rel="apple-touch-icon" sizes="152x152" href="/img/comune_iconified/apple-touch-icon-152x152.png" /><link rel="apple-touch-icon" sizes="180x180" href="/img/comune_iconified/apple-touch-icon-180x180.png" /><meta name="viewport" content="width=device-width,initial-scale=1" /><meta name="description" content="Comune di Scarnafigi - sito internet istituzionale - Regione Piemonte - Provincia di Cuneo" /><link id="linkcsshome" rel="stylesheet" href="/assets/bootstrap-italia/dist/css/bootstrap-italia-comuni.min.css" /><link rel="stylesheet" href="/assets/css/style.css" /><link rel="stylesheet" href="/cic.css" /> <!-- Jquery - temporaneamente inline --> <script>/*! jQuery v3.6.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */ !function (e, t) { "use strict"; "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function (e) { if (!e.document) throw new Error("jQuery requires a window with a document"); return t(e) } : t(e) }("undefined" != typeof window ? window : this, function (C, e) { "use strict"; var t = [], r = Object.getPrototypeOf, s = t.slice, g = t.flat ? function (e) { return t.flat.call(e) } : function (e) { return t.concat.apply([], e) }, u = t.push, i = t.indexOf, n = {}, o = n.toString, y = n.hasOwnProperty, a = y.toString, l = a.call(Object), v = {}, m = function (e) { return "function" == typeof e && "number" != typeof e.nodeType && "function" != typeof e.item }, x = function (e) { return null != e && e === e.window }, E = C.document, c = { type: !0, src: !0, nonce: !0, noModule: !0 }; function b(e, t, n) { var r, i, o = (n = n || E).createElement("script"); if (o.text = e, t) for (r in c) (i = t[r] || t.getAttribute && t.getAttribute(r)) && o.setAttribute(r, i); n.head.appendChild(o).parentNode.removeChild(o) } function w(e) { return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? n[o.call(e)] || "object" : typeof e } var f = "3.6.1", S = function (e, t) { return new S.fn.init(e, t) }; function p(e) { var t = !!e && "length" in e && e.length, n = w(e); return !m(e) && !x(e) && ("array" === n || 0 === t || "number" == typeof t && 0 < t && t - 1 in e) } S.fn = S.prototype = { jquery: f, constructor: S, length: 0, toArray: function () { return s.call(this) }, get: function (e) { return null == e ? s.call(this) : e < 0 ? this[e + this.length] : this[e] }, pushStack: function (e) { var t = S.merge(this.constructor(), e); return t.prevObject = this, t }, each: function (e) { return S.each(this, e) }, map: function (n) { return this.pushStack(S.map(this, function (e, t) { return n.call(e, t, e) })) }, slice: function () { return this.pushStack(s.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, even: function () { return this.pushStack(S.grep(this, function (e, t) { return (t + 1) % 2 })) }, odd: function () { return this.pushStack(S.grep(this, function (e, t) { return t % 2 })) }, eq: function (e) { var t = this.length, n = +e + (e < 0 ? t : 0); return this.pushStack(0 <= n && n < t ? [this[n]] : []) }, end: function () { return this.prevObject || this.constructor() }, push: u, sort: t.sort, splice: t.splice }, S.extend = S.fn.extend = function () { var e, t, n, r, i, o, a = arguments[0] || {}, s = 1, u = arguments.length, l = !1; for ("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || m(a) || (a = {}), s === u && (a = this, s--); s < u; s++)if (null != (e = arguments[s])) for (t in e) r = e[t], "__proto__" !== t && a !== r && (l && r && (S.isPlainObject(r) || (i = Array.isArray(r))) ? (n = a[t], o = i && !Array.isArray(n) ? [] : i || S.isPlainObject(n) ? n : {}, i = !1, a[t] = S.extend(l, o, r)) : void 0 !== r && (a[t] = r)); return a }, S.extend({ expando: "jQuery" + (f + Math.random()).replace(/\D/g, ""), isReady: !0, error: function (e) { throw new Error(e) }, noop: function () { }, isPlainObject: function (e) { var t, n; return !(!e || "[object Object]" !== o.call(e)) && (!(t = r(e)) || "function" == typeof (n = y.call(t, "constructor") && t.constructor) && a.call(n) === l) }, isEmptyObject: function (e) { var t; for (t in e) return !1; return !0 }, globalEval: function (e, t, n) { b(e, { nonce: t && t.nonce }, n) }, each: function (e, t) { var n, r = 0; if (p(e)) { for (n = e.length; r < n; r++)if (!1 === t.call(e[r], r, e[r])) break } else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; return e }, makeArray: function (e, t) { var n = t || []; return null != e && (p(Object(e)) ? S.merge(n, "string" == typeof e ? [e] : e) : u.call(n, e)), n }, inArray: function (e, t, n) { return null == t ? -1 : i.call(t, e, n) }, merge: function (e, t) { for (var n = +t.length, r = 0, i = e.length; r < n; r++)e[i++] = t[r]; return e.length = i, e }, grep: function (e, t, n) { for (var r = [], i = 0, o = e.length, a = !n; i < o; i++)!t(e[i], i) !== a && r.push(e[i]); return r }, map: function (e, t, n) { var r, i, o = 0, a = []; if (p(e)) for (r = e.length; o < r; o++)null != (i = t(e[o], o, n)) && a.push(i); else for (o in e) null != (i = t(e[o], o, n)) && a.push(i); return g(a) }, guid: 1, support: v }), "function" == typeof Symbol && (S.fn[Symbol.iterator] = t[Symbol.iterator]), S.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function (e, t) { n["[object " + t + "]"] = t.toLowerCase() }); var d = function (n) { var e, d, b, o, i, h, f, g, w, u, l, T, C, a, E, y, s, c, v, S = "sizzle" + 1 * new Date, p = n.document, k = 0, r = 0, m = ue(), x = ue(), A = ue(), N = ue(), j = function (e, t) { return e === t && (l = !0), 0 }, D = {}.hasOwnProperty, t = [], q = t.pop, L = t.push, H = t.push, O = t.slice, P = function (e, t) { for (var n = 0, r = e.length; n < r; n++)if (e[n] === t) return n; return -1 }, R = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", M = "[\\x20\\t\\r\\n\\f]", I = "(?:\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", W = "\\[" + M + "*(" + I + ")(?:" + M + "*([*^$|!~]?=)" + M + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + I + "))|)" + M + "*\\]", F = ":(" + I + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + W + ")*)|.*)\\)|)", $ = new RegExp(M + "+", "g"), B = new RegExp("^" + M + "+|((?:^|[^\\\\])(?:\\\\.)*)" + M + "+$", "g"), _ = new RegExp("^" + M + "*," + M + "*"), z = new RegExp("^" + M + "*([>+~]|" + M + ")" + M + "*"), U = new RegExp(M + "|>"), X = new RegExp(F), V = new RegExp("^" + I + "$"), G = { ID: new RegExp("^#(" + I + ")"), CLASS: new RegExp("^\\.(" + I + ")"), TAG: new RegExp("^(" + I + "|[*])"), ATTR: new RegExp("^" + W), PSEUDO: new RegExp("^" + F), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + M + "*(even|odd|(([+-]|)(\\d*)n|)" + M + "*(?:([+-]|)" + M + "*(\\d+)|))" + M + "*\\)|)", "i"), bool: new RegExp("^(?:" + R + ")$", "i"), needsContext: new RegExp("^" + M + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + M + "*((?:-\\d)?\\d*)" + M + "*\\)|)(?=[^-]|$)", "i") }, Y = /HTML$/i, Q = /^(?:input|select|textarea|button)$/i, J = /^h\d$/i, K = /^[^{]+\{\s*\[native \w/, Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, ee = /[+~]/, te = new RegExp("\\\\[\\da-fA-F]{1,6}" + M + "?|\\\\([^\\r\\n\\f])", "g"), ne = function (e, t) { var n = "0x" + e.slice(1) - 65536; return t || (n < 0 ? String.fromCharCode(n + 65536) : String.fromCharCode(n >> 10 | 55296, 1023 & n | 56320)) }, re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, ie = function (e, t) { return t ? "\0" === e ? "\ufffd" : e.slice(0, -1) + "\\" + e.charCodeAt(e.length - 1).toString(16) + " " : "\\" + e }, oe = function () { T() }, ae = be(function (e) { return !0 === e.disabled && "fieldset" === e.nodeName.toLowerCase() }, { dir: "parentNode", next: "legend" }); try { H.apply(t = O.call(p.childNodes), p.childNodes), t[p.childNodes.length].nodeType } catch (e) { H = { apply: t.length ? function (e, t) { L.apply(e, O.call(t)) } : function (e, t) { var n = e.length, r = 0; while (e[n++] = t[r++]); e.length = n - 1 } } } function se(t, e, n, r) { var i, o, a, s, u, l, c, f = e && e.ownerDocument, p = e ? e.nodeType : 9; if (n = n || [], "string" != typeof t || !t || 1 !== p && 9 !== p && 11 !== p) return n; if (!r && (T(e), e = e || C, E)) { if (11 !== p && (u = Z.exec(t))) if (i = u[1]) { if (9 === p) { if (!(a = e.getElementById(i))) return n; if (a.id === i) return n.push(a), n } else if (f && (a = f.getElementById(i)) && v(e, a) && a.id === i) return n.push(a), n } else { if (u[2]) return H.apply(n, e.getElementsByTagName(t)), n; if ((i = u[3]) && d.getElementsByClassName && e.getElementsByClassName) return H.apply(n, e.getElementsByClassName(i)), n } if (d.qsa && !N[t + " "] && (!y || !y.test(t)) && (1 !== p || "object" !== e.nodeName.toLowerCase())) { if (c = t, f = e, 1 === p && (U.test(t) || z.test(t))) { (f = ee.test(t) && ve(e.parentNode) || e) === e && d.scope || ((s = e.getAttribute("id")) ? s = s.replace(re, ie) : e.setAttribute("id", s = S)), o = (l = h(t)).length; while (o--) l[o] = (s ? "#" + s : ":scope") + " " + xe(l[o]); c = l.join(",") } try { return H.apply(n, f.querySelectorAll(c)), n } catch (e) { N(t, !0) } finally { s === S && e.removeAttribute("id") } } } return g(t.replace(B, "$1"), e, n, r) } function ue() { var r = []; return function e(t, n) { return r.push(t + " ") > b.cacheLength && delete e[r.shift()], e[t + " "] = n } } function le(e) { return e[S] = !0, e } function ce(e) { var t = C.createElement("fieldset"); try { return !!e(t) } catch (e) { return !1 } finally { t.parentNode && t.parentNode.removeChild(t), t = null } } function fe(e, t) { var n = e.split("|"), r = n.length; while (r--) b.attrHandle[n[r]] = t } function pe(e, t) { var n = t && e, r = n && 1 === e.nodeType && 1 === t.nodeType && e.sourceIndex - t.sourceIndex; if (r) return r; if (n) while (n = n.nextSibling) if (n === t) return -1; return e ? 1 : -1 } function de(t) { return function (e) { return "input" === e.nodeName.toLowerCase() && e.type === t } } function he(n) { return function (e) { var t = e.nodeName.toLowerCase(); return ("input" === t || "button" === t) && e.type === n } } function ge(t) { return function (e) { return "form" in e ? e.parentNode && !1 === e.disabled ? "label" in e ? "label" in e.parentNode ? e.parentNode.disabled === t : e.disabled === t : e.isDisabled === t || e.isDisabled !== !t && ae(e) === t : e.disabled === t : "label" in e && e.disabled === t } } function ye(a) { return le(function (o) { return o = +o, le(function (e, t) { var n, r = a([], e.length, o), i = r.length; while (i--) e[n = r[i]] && (e[n] = !(t[n] = e[n])) }) }) } function ve(e) { return e && "undefined" != typeof e.getElementsByTagName && e } for (e in d = se.support = {}, i = se.isXML = function (e) { var t = e && e.namespaceURI, n = e && (e.ownerDocument || e).documentElement; return !Y.test(t || n && n.nodeName || "HTML") }, T = se.setDocument = function (e) { var t, n, r = e ? e.ownerDocument || e : p; return r != C && 9 === r.nodeType && r.documentElement && (a = (C = r).documentElement, E = !i(C), p != C && (n = C.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", oe, !1) : n.attachEvent && n.attachEvent("onunload", oe)), d.scope = ce(function (e) { return a.appendChild(e).appendChild(C.createElement("div")), "undefined" != typeof e.querySelectorAll && !e.querySelectorAll(":scope fieldset div").length }), d.attributes = ce(function (e) { return e.className = "i", !e.getAttribute("className") }), d.getElementsByTagName = ce(function (e) { return e.appendChild(C.createComment("")), !e.getElementsByTagName("*").length }), d.getElementsByClassName = K.test(C.getElementsByClassName), d.getById = ce(function (e) { return a.appendChild(e).id = S, !C.getElementsByName || !C.getElementsByName(S).length }), d.getById ? (b.filter.ID = function (e) { var t = e.replace(te, ne); return function (e) { return e.getAttribute("id") === t } }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) { var n = t.getElementById(e); return n ? [n] : [] } }) : (b.filter.ID = function (e) { var n = e.replace(te, ne); return function (e) { var t = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id"); return t && t.value === n } }, b.find.ID = function (e, t) { if ("undefined" != typeof t.getElementById && E) { var n, r, i, o = t.getElementById(e); if (o) { if ((n = o.getAttributeNode("id")) && n.value === e) return [o]; i = t.getElementsByName(e), r = 0; while (o = i[r++]) if ((n = o.getAttributeNode("id")) && n.value === e) return [o] } return [] } }), b.find.TAG = d.getElementsByTagName ? function (e, t) { return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : d.qsa ? t.querySelectorAll(e) : void 0 } : function (e, t) { var n, r = [], i = 0, o = t.getElementsByTagName(e); if ("*" === e) { while (n = o[i++]) 1 === n.nodeType && r.push(n); return r } return o }, b.find.CLASS = d.getElementsByClassName && function (e, t) { if ("undefined" != typeof t.getElementsByClassName && E) return t.getElementsByClassName(e) }, s = [], y = [], (d.qsa = K.test(C.querySelectorAll)) && (ce(function (e) { var t; a.appendChild(e).innerHTML = "<a id='" + S + "'></a><select id='" + S + "-\r\\' msallowcapture=''><option selected=''></option></select>", e.querySelectorAll("[msallowcapture^='']").length && y.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || y.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || y.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || y.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || y.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || y.push(".#.+[+~]"), e.querySelectorAll("\\\f"), y.push("[\\r\\n\\f]") }), ce(function (e) { e.innerHTML = "<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>"; var t = C.createElement("input"); t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && y.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && y.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && y.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), y.push(",.*:") })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) { d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F) }), y = y.length && new RegExp(y.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), v = t || K.test(a.contains) ? function (e, t) { var n = 9 === e.nodeType ? e.documentElement : e, r = t && t.parentNode; return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))) } : function (e, t) { if (t) while (t = t.parentNode) if (t === e) return !0; return !1 }, j = t ? function (e, t) { if (e === t) return l = !0, 0; var n = !e.compareDocumentPosition - !t.compareDocumentPosition; return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && v(p, e) ? -1 : t == C || t.ownerDocument == p && v(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1) } : function (e, t) { if (e === t) return l = !0, 0; var n, r = 0, i = e.parentNode, o = t.parentNode, a = [e], s = [t]; if (!i || !o) return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; if (i === o) return pe(e, t); n = e; while (n = n.parentNode) a.unshift(n); n = t; while (n = n.parentNode) s.unshift(n); while (a[r] === s[r]) r++; return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0 }), C }, se.matches = function (e, t) { return se(e, null, null, t) }, se.matchesSelector = function (e, t) { if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!y || !y.test(t))) try { var n = c.call(e, t); if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n } catch (e) { N(t, !0) } return 0 < se(t, C, null, [e]).length }, se.contains = function (e, t) { return (e.ownerDocument || e) != C && T(e), v(e, t) }, se.attr = function (e, t) { (e.ownerDocument || e) != C && T(e); var n = b.attrHandle[t.toLowerCase()], r = n && D.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null }, se.escape = function (e) { return (e + "").replace(re, ie) }, se.error = function (e) { throw new Error("Syntax error, unrecognized expression: " + e) }, se.uniqueSort = function (e) { var t, n = [], r = 0, i = 0; if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(j), l) { while (t = e[i++]) t === e[i] && (r = n.push(i)); while (r--) e.splice(n[r], 1) } return u = null, e }, o = se.getText = function (e) { var t, n = "", r = 0, i = e.nodeType; if (i) { if (1 === i || 9 === i || 11 === i) { if ("string" == typeof e.textContent) return e.textContent; for (e = e.firstChild; e; e = e.nextSibling)n += o(e) } else if (3 === i || 4 === i) return e.nodeValue } else while (t = e[r++]) n += o(t); return n }, (b = se.selectors = { cacheLength: 50, createPseudo: le, match: G, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (e) { return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4) }, CHILD: function (e) { return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e }, PSEUDO: function (e) { var t, n = !e[6] && e[2]; return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)) } }, filter: { TAG: function (e) { var t = e.replace(te, ne).toLowerCase(); return "*" === e ? function () { return !0 } : function (e) { return e.nodeName && e.nodeName.toLowerCase() === t } }, CLASS: function (e) { var t = m[e + " "]; return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function (e) { return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "") }) }, ATTR: function (n, r, i) { return function (e) { var t = se.attr(e, n); return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace($, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")) } }, CHILD: function (h, e, t, g, y) { var v = "nth" !== h.slice(0, 3), m = "last" !== h.slice(-4), x = "of-type" === e; return 1 === g && 0 === y ? function (e) { return !!e.parentNode } : function (e, t, n) { var r, i, o, a, s, u, l = v !== m ? "nextSibling" : "previousSibling", c = e.parentNode, f = x && e.nodeName.toLowerCase(), p = !n && !x, d = !1; if (c) { if (v) { while (l) { a = e; while (a = a[l]) if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1; u = l = "only" === h && !u && "nextSibling" } return !0 } if (u = [m ? c.firstChild : c.lastChild], m && p) { d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s]; while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) if (1 === a.nodeType && ++d && a === e) { i[h] = [k, s, d]; break } } else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d) while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e)) break; return (d -= y) === g || d % g == 0 && 0 <= d / g } } }, PSEUDO: function (e, o) { var t, a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) { var n, r = a(e, o), i = r.length; while (i--) e[n = P(e, r[i])] = !(t[n] = r[i]) }) : function (e) { return a(e, 0, t) }) : a } }, pseudos: { not: le(function (e) { var r = [], i = [], s = f(e.replace(B, "$1")); return s[S] ? le(function (e, t, n, r) { var i, o = s(e, null, r, []), a = e.length; while (a--) (i = o[a]) && (e[a] = !(t[a] = i)) }) : function (e, t, n) { return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop() } }), has: le(function (t) { return function (e) { return 0 < se(t, e).length } }), contains: le(function (t) { return t = t.replace(te, ne), function (e) { return -1 < (e.textContent || o(e)).indexOf(t) } }), lang: le(function (n) { return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), function (e) { var t; do { if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-") } while ((e = e.parentNode) && 1 === e.nodeType); return !1 } }), target: function (e) { var t = n.location && n.location.hash; return t && t.slice(1) === e.id }, root: function (e) { return e === a }, focus: function (e) { return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex) }, enabled: ge(!1), disabled: ge(!0), checked: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && !!e.checked || "option" === t && !!e.selected }, selected: function (e) { return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected }, empty: function (e) { for (e = e.firstChild; e; e = e.nextSibling)if (e.nodeType < 6) return !1; return !0 }, parent: function (e) { return !b.pseudos.empty(e) }, header: function (e) { return J.test(e.nodeName) }, input: function (e) { return Q.test(e.nodeName) }, button: function (e) { var t = e.nodeName.toLowerCase(); return "input" === t && "button" === e.type || "button" === t }, text: function (e) { var t; return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()) }, first: ye(function () { return [0] }), last: ye(function (e, t) { return [t - 1] }), eq: ye(function (e, t, n) { return [n < 0 ? n + t : n] }), even: ye(function (e, t) { for (var n = 0; n < t; n += 2)e.push(n); return e }), odd: ye(function (e, t) { for (var n = 1; n < t; n += 2)e.push(n); return e }), lt: ye(function (e, t, n) { for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;)e.push(r); return e }), gt: ye(function (e, t, n) { for (var r = n < 0 ? n + t : n; ++r < t;)e.push(r); return e }) } }).pseudos.nth = b.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) b.pseudos[e] = de(e); for (e in { submit: !0, reset: !0 }) b.pseudos[e] = he(e); function me() { } function xe(e) { for (var t = 0, n = e.length, r = ""; t < n; t++)r += e[t].value; return r } function be(s, e, t) { var u = e.dir, l = e.next, c = l || u, f = t && "parentNode" === c, p = r++; return e.first ? function (e, t, n) { while (e = e[u]) if (1 === e.nodeType || f) return s(e, t, n); return !1 } : function (e, t, n) { var r, i, o, a = [k, p]; if (n) { while (e = e[u]) if ((1 === e.nodeType || f) && s(e, t, n)) return !0 } else while (e = e[u]) if (1 === e.nodeType || f) if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e; else { if ((r = i[c]) && r[0] === k && r[1] === p) return a[2] = r[2]; if ((i[c] = a)[2] = s(e, t, n)) return !0 } return !1 } } function we(i) { return 1 < i.length ? function (e, t, n) { var r = i.length; while (r--) if (!i[r](e, t, n)) return !1; return !0 } : i[0] } function Te(e, t, n, r, i) { for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); return a } function Ce(d, h, g, y, v, e) { return y && !y[S] && (y = Ce(y)), v && !v[S] && (v = Ce(v, e)), le(function (e, t, n, r) { var i, o, a, s = [], u = [], l = t.length, c = e || function (e, t, n) { for (var r = 0, i = t.length; r < i; r++)se(e, t[r], n); return n }(h || "*", n.nodeType ? [n] : n, []), f = !d || !e && h ? c : Te(c, s, d, n, r), p = g ? v || (e ? d : l || y) ? [] : t : f; if (g && g(f, p, n, r), y) { i = Te(p, u), y(i, [], n, r), o = i.length; while (o--) (a = i[o]) && (p[u[o]] = !(f[u[o]] = a)) } if (e) { if (v || d) { if (v) { i = [], o = p.length; while (o--) (a = p[o]) && i.push(f[o] = a); v(null, p = [], i, r) } o = p.length; while (o--) (a = p[o]) && -1 < (i = v ? P(e, a) : s[o]) && (e[i] = !(t[i] = a)) } } else p = Te(p === t ? p.splice(l, p.length) : p), v ? v(null, t, p, r) : H.apply(t, p) }) } function Ee(e) { for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function (e) { return e === i }, a, !0), l = be(function (e) { return -1 < P(i, e) }, a, !0), c = [function (e, t, n) { var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); return i = null, r }]; s < r; s++)if (t = b.relative[e[s].type]) c = [be(we(c), t)]; else { if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { for (n = ++s; n < r; n++)if (b.relative[e[n].type]) break; return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ value: " " === e[s - 2].type ? "*" : "" })).replace(B, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e)) } c.push(t) } return we(c) } return me.prototype = b.filters = b.pseudos, b.setFilters = new me, h = se.tokenize = function (e, t) { var n, r, i, o, a, s, u, l = x[e + " "]; if (l) return t ? 0 : l.slice(0); a = e, s = [], u = b.preFilter; while (a) { for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ value: n, type: r[0].replace(B, " ") }), a = a.slice(n.length)), b.filter) !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ value: n, type: o, matches: r }), a = a.slice(n.length)); if (!n) break } return t ? a.length : a ? se.error(e) : x(e, s).slice(0) }, f = se.compile = function (e, t) { var n, y, v, m, x, r, i = [], o = [], a = A[e + " "]; if (!a) { t || (t = h(e)), n = t.length; while (n--) (a = Ee(t[n]))[S] ? i.push(a) : o.push(a); (a = A(e, (y = o, m = 0 < (v = i).length, x = 0 < y.length, r = function (e, t, n, r, i) { var o, a, s, u = 0, l = "0", c = e && [], f = [], p = w, d = e || x && b.find.TAG("*", i), h = k += null == p ? 1 : Math.random() || .1, g = d.length; for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) { if (x && o) { a = 0, t || o.ownerDocument == C || (T(o), n = !E); while (s = y[a++]) if (s(o, t || C, n)) { r.push(o); break } i && (k = h) } m && ((o = !s && o) && u--, e && c.push(o)) } if (u += l, m && l !== u) { a = 0; while (s = v[a++]) s(c, f, t, n); if (e) { if (0 < u) while (l--) c[l] || f[l] || (f[l] = q.call(r)); f = Te(f) } H.apply(r, f), i && !e && 0 < f.length && 1 < u + v.length && se.uniqueSort(r) } return i && (k = h, w = p), c }, m ? le(r) : r))).selector = e } return a }, g = se.select = function (e, t, n, r) { var i, o, a, s, u, l = "function" == typeof e && e, c = !r && h(e = l.selector || e); if (n = n || [], 1 === c.length) { if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) { if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n; l && (t = t.parentNode), e = e.slice(o.shift().value.length) } i = G.needsContext.test(e) ? 0 : o.length; while (i--) { if (a = o[i], b.relative[s = a.type]) break; if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ve(t.parentNode) || t))) { if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n; break } } } return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ve(t.parentNode) || t), n }, d.sortStable = S.split("").sort(j).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) { return 1 & e.compareDocumentPosition(C.createElement("fieldset")) }), ce(function (e) { return e.innerHTML = "<a href='#'></a>", "#" === e.firstChild.getAttribute("href") }) || fe("type|href|height|width", function (e, t, n) { if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2) }), d.attributes && ce(function (e) { return e.innerHTML = "<input/>", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value") }) || fe("value", function (e, t, n) { if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue }), ce(function (e) { return null == e.getAttribute("disabled") }) || fe(R, function (e, t, n) { var r; if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null }), se }(C); S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape; var h = function (e, t, n) { var r = [], i = void 0 !== n; while ((e = e[t]) && 9 !== e.nodeType) if (1 === e.nodeType) { if (i && S(e).is(n)) break; r.push(e) } return r }, T = function (e, t) { for (var n = []; e; e = e.nextSibling)1 === e.nodeType && e !== t && n.push(e); return n }, k = S.expr.match.needsContext; function A(e, t) { return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase() } var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; function j(e, n, r) { return m(n) ? S.grep(e, function (e, t) { return !!n.call(e, t, e) !== r }) : n.nodeType ? S.grep(e, function (e) { return e === n !== r }) : "string" != typeof n ? S.grep(e, function (e) { return -1 < i.call(n, e) !== r }) : S.filter(n, e, r) } S.filter = function (e, t, n) { var r = t[0]; return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function (e) { return 1 === e.nodeType })) }, S.fn.extend({ find: function (e) { var t, n, r = this.length, i = this; if ("string" != typeof e) return this.pushStack(S(e).filter(function () { for (t = 0; t < r; t++)if (S.contains(i[t], this)) return !0 })); for (n = this.pushStack([]), t = 0; t < r; t++)S.find(e, i[t], n); return 1 < r ? S.uniqueSort(n) : n }, filter: function (e) { return this.pushStack(j(this, e || [], !1)) }, not: function (e) { return this.pushStack(j(this, e || [], !0)) }, is: function (e) { return !!j(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1).length } }); var D, q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; (S.fn.init = function (e, t, n) { var r, i; if (!e) return this; if (n = n || D, "string" == typeof e) { if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); if (r[1]) { if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t)) for (r in t) m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); return this } return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this } return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this) }).prototype = S.fn, D = S(E); var L = /^(?:parents|prev(?:Until|All))/, H = { children: !0, contents: !0, next: !0, prev: !0 }; function O(e, t) { while ((e = e[t]) && 1 !== e.nodeType); return e } S.fn.extend({ has: function (e) { var t = S(e, this), n = t.length; return this.filter(function () { for (var e = 0; e < n; e++)if (S.contains(this, t[e])) return !0 }) }, closest: function (e, t) { var n, r = 0, i = this.length, o = [], a = "string" != typeof e && S(e); if (!k.test(e)) for (; r < i; r++)for (n = this[r]; n && n !== t; n = n.parentNode)if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) { o.push(n); break } return this.pushStack(1 < o.length ? S.uniqueSort(o) : o) }, index: function (e) { return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (e, t) { return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))) }, addBack: function (e) { return this.add(null == e ? this.prevObject : this.prevObject.filter(e)) } }), S.each({ parent: function (e) { var t = e.parentNode; return t && 11 !== t.nodeType ? t : null }, parents: function (e) { return h(e, "parentNode") }, parentsUntil: function (e, t, n) { return h(e, "parentNode", n) }, next: function (e) { return O(e, "nextSibling") }, prev: function (e) { return O(e, "previousSibling") }, nextAll: function (e) { return h(e, "nextSibling") }, prevAll: function (e) { return h(e, "previousSibling") }, nextUntil: function (e, t, n) { return h(e, "nextSibling", n) }, prevUntil: function (e, t, n) { return h(e, "previousSibling", n) }, siblings: function (e) { return T((e.parentNode || {}).firstChild, e) }, children: function (e) { return T(e.firstChild) }, contents: function (e) { return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)) } }, function (r, i) { S.fn[r] = function (e, t) { var n = S.map(this, i, e); return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n) } }); var P = /[^\x20\t\r\n\f]+/g; function R(e) { return e } function M(e) { throw e } function I(e, t, n, r) { var i; try { e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)) } catch (e) { n.apply(void 0, [e]) } } S.Callbacks = function (r) { var e, n; r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function (e, t) { n[t] = !0 }), n) : S.extend({}, r); var i, t, o, a, s = [], u = [], l = -1, c = function () { for (a = a || r.once, o = i = !0; u.length; l = -1) { t = u.shift(); while (++l < s.length) !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1) } r.memory || (t = !1), i = !1, a && (s = t ? [] : "") }, f = { add: function () { return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { S.each(e, function (e, t) { m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t) }) }(arguments), t && !i && c()), this }, remove: function () { return S.each(arguments, function (e, t) { var n; while (-1 < (n = S.inArray(t, s, n))) s.splice(n, 1), n <= l && l-- }), this }, has: function (e) { return e ? -1 < S.inArray(e, s) : 0 < s.length }, empty: function () { return s && (s = []), this }, disable: function () { return a = u = [], s = t = "", this }, disabled: function () { return !s }, lock: function () { return a = u = [], t || i || (s = t = ""), this }, locked: function () { return !!a }, fireWith: function (e, t) { return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this }, fire: function () { return f.fireWith(this, arguments), this }, fired: function () { return !!o } }; return f }, S.extend({ Deferred: function (e) { var o = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], i = "pending", a = { state: function () { return i }, always: function () { return s.done(arguments).fail(arguments), this }, "catch": function (e) { return a.then(null, e) }, pipe: function () { var i = arguments; return S.Deferred(function (r) { S.each(o, function (e, t) { var n = m(i[t[4]]) && i[t[4]]; s[t[1]](function () { var e = n && n.apply(this, arguments); e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments) }) }), i = null }).promise() }, then: function (t, n, r) { var u = 0; function l(i, o, a, s) { return function () { var n = this, r = arguments, e = function () { var e, t; if (!(i < u)) { if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution"); t = e && ("object" == typeof e || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r)) } }, t = s ? e : function () { try { e() } catch (e) { S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r)) } }; i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)) } } return S.Deferred(function (e) { o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)) }).promise() }, promise: function (e) { return null != e ? S.extend(e, a) : a } }, s = {}; return S.each(o, function (e, t) { var n = t[2], r = t[5]; a[t[1]] = n.add, r && n.add(function () { i = r }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () { return s[t[0] + "With"](this === s ? void 0 : this, arguments), this }, s[t[0] + "With"] = n.fireWith }), a.promise(s), e && e.call(s, s), s }, when: function (e) { var n = arguments.length, t = n, r = Array(t), i = s.call(arguments), o = S.Deferred(), a = function (t) { return function (e) { r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i) } }; if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then))) return o.then(); while (t--) I(i[t], a(t), o.reject); return o.promise() } }); var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; S.Deferred.exceptionHook = function (e, t) { C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t) }, S.readyException = function (e) { C.setTimeout(function () { throw e }) }; var F = S.Deferred(); function $() { E.removeEventListener("DOMContentLoaded", $), C.removeEventListener("load", $), S.ready() } S.fn.ready = function (e) { return F.then(e)["catch"](function (e) { S.readyException(e) }), this }, S.extend({ isReady: !1, readyWait: 1, ready: function (e) { (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]) } }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", $), C.addEventListener("load", $)); var B = function (e, t, n, r, i, o, a) { var s = 0, u = e.length, l = null == n; if ("object" === w(n)) for (s in i = !0, n) B(e, t, s, n[s], !0, o, a); else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function (e, t, n) { return l.call(S(e), n) })), t)) for (; s < u; s++)t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); return i ? e : l ? t.call(e) : u ? t(e[0], n) : o }, _ = /^-ms-/, z = /-([a-z])/g; function U(e, t) { return t.toUpperCase() } function X(e) { return e.replace(_, "ms-").replace(z, U) } var V = function (e) { return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType }; function G() { this.expando = S.expando + G.uid++ } G.uid = 1, G.prototype = { cache: function (e) { var t = e[this.expando]; return t || (t = {}, V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { value: t, configurable: !0 }))), t }, set: function (e, t, n) { var r, i = this.cache(e); if ("string" == typeof t) i[X(t)] = n; else for (r in t) i[X(r)] = t[r]; return i }, get: function (e, t) { return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)] }, access: function (e, t, n) { return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t) }, remove: function (e, t) { var n, r = e[this.expando]; if (void 0 !== r) { if (void 0 !== t) { n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length; while (n--) delete r[t[n]] } (void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]) } }, hasData: function (e) { var t = e[this.expando]; return void 0 !== t && !S.isEmptyObject(t) } }; var Y = new G, Q = new G, J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, K = /[A-Z]/g; function Z(e, t, n) { var r, i; if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { try { n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i) } catch (e) { } Q.set(e, t, n) } else n = void 0; return n } S.extend({ hasData: function (e) { return Q.hasData(e) || Y.hasData(e) }, data: function (e, t, n) { return Q.access(e, t, n) }, removeData: function (e, t) { Q.remove(e, t) }, _data: function (e, t, n) { return Y.access(e, t, n) }, _removeData: function (e, t) { Y.remove(e, t) } }), S.fn.extend({ data: function (n, e) { var t, r, i, o = this[0], a = o && o.attributes; if (void 0 === n) { if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) { t = a.length; while (t--) a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r])); Y.set(o, "hasDataAttrs", !0) } return i } return "object" == typeof n ? this.each(function () { Q.set(this, n) }) : B(this, function (e) { var t; if (o && void 0 === e) return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; this.each(function () { Q.set(this, n, e) }) }, null, e, 1 < arguments.length, null, !0) }, removeData: function (e) { return this.each(function () { Q.remove(this, e) }) } }), S.extend({ queue: function (e, t, n) { var r; if (e) return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || [] }, dequeue: function (e, t) { t = t || "fx"; var n = S.queue(e, t), r = n.length, i = n.shift(), o = S._queueHooks(e, t); "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { S.dequeue(e, t) }, o)), !r && o && o.empty.fire() }, _queueHooks: function (e, t) { var n = t + "queueHooks"; return Y.get(e, n) || Y.access(e, n, { empty: S.Callbacks("once memory").add(function () { Y.remove(e, [t + "queue", n]) }) }) } }), S.fn.extend({ queue: function (t, n) { var e = 2; return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function () { var e = S.queue(this, t, n); S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t) }) }, dequeue: function (e) { return this.each(function () { S.dequeue(this, e) }) }, clearQueue: function (e) { return this.queue(e || "fx", []) }, promise: function (e, t) { var n, r = 1, i = S.Deferred(), o = this, a = this.length, s = function () { --r || i.resolveWith(o, [o]) }; "string" != typeof e && (t = e, e = void 0), e = e || "fx"; while (a--) (n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); return s(), i.promise(t) } }); var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), ne = ["Top", "Right", "Bottom", "Left"], re = E.documentElement, ie = function (e) { return S.contains(e.ownerDocument, e) }, oe = { composed: !0 }; re.getRootNode && (ie = function (e) { return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument }); var ae = function (e, t) { return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display") }; function se(e, t, n, r) { var i, o, a = 20, s = r ? function () { return r.cur() } : function () { return S.css(e, t, "") }, u = s(), l = n && n[3] || (S.cssNumber[t] ? "" : "px"), c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); if (c && c[3] !== l) { u /= 2, l = l || c[3], c = +u || 1; while (a--) S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; c *= 2, S.style(e, t, c + l), n = n || [] } return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i } var ue = {}; function le(e, t) { for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++)(r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); for (c = 0; c < f; c++)null != l[c] && (e[c].style.display = l[c]); return e } S.fn.extend({ show: function () { return le(this, !0) }, hide: function () { return le(this) }, toggle: function (e) { return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { ae(this) ? S(this).show() : S(this).hide() }) } }); var ce, fe, pe = /^(?:checkbox|radio)$/i, de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, he = /^$|^module$|\/(?:java|ecma)script/i; ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), v.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "<textarea>x</textarea>", v.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "<option></option>", v.option = !!ce.lastChild; var ge = { thead: [1, "<table>", "</table>"], col: [2, "<table><colgroup>", "</colgroup></table>"], tr: [2, "<table><tbody>", "</tbody></table>"], td: [3, "<table><tbody><tr>", "</tr></tbody></table>"], _default: [0, "", ""] }; function ye(e, t) { var n; return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n } function ve(e, t) { for (var n = 0, r = e.length; n < r; n++)Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")) } ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, v.option || (ge.optgroup = ge.option = [1, "<select multiple='multiple'>", "</select>"]); var me = /<|&#?\w+;/; function xe(e, t, n, r, i) { for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++)if ((o = e[d]) || 0 === o) if ("object" === w(o)) S.merge(p, o.nodeType ? [o] : o); else if (me.test(o)) { a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0]; while (c--) a = a.lastChild; S.merge(p, a.childNodes), (a = f.firstChild).textContent = "" } else p.push(t.createTextNode(o)); f.textContent = "", d = 0; while (o = p[d++]) if (r && -1 < S.inArray(o, r)) i && i.push(o); else if (l = ie(o), a = ye(f.appendChild(o), "script"), l && ve(a), n) { c = 0; while (o = a[c++]) he.test(o.type || "") && n.push(o) } return f } var be = /^([^.]*)(?:\.(.+)|)/; function we() { return !0 } function Te() { return !1 } function Ce(e, t) { return e === function () { try { return E.activeElement } catch (e) { } }() == ("focus" === t) } function Ee(e, t, n, r, i, o) { var a, s; if ("object" == typeof t) { for (s in "string" != typeof n && (r = r || n, n = void 0), t) Ee(e, s, n, r, t[s], o); return e } if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Te; else if (!i) return e; return 1 === o && (a = i, (i = function (e) { return S().off(e), a.apply(this, arguments) }).guid = a.guid || (a.guid = S.guid++)), e.each(function () { S.event.add(this, t, i, r, n) }) } function Se(e, i, o) { o ? (Y.set(e, i, !1), S.event.add(e, i, { namespace: !1, handler: function (e) { var t, n, r = Y.get(this, i); if (1 & e.isTrigger && this[i]) { if (r.length) (S.event.special[i] || {}).delegateType && e.stopPropagation(); else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n && n.value } else r.length && (Y.set(this, i, { value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) }), e.stopImmediatePropagation()) } })) : void 0 === Y.get(e, i) && S.event.add(e, i, we) } S.event = { global: {}, add: function (t, e, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, y = Y.get(t); if (V(t)) { n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = y.events) || (u = y.events = Object.create(null)), (a = y.handle) || (a = y.handle = function (e) { return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0 }), l = (e = (e || "").match(P) || [""]).length; while (l--) d = g = (s = be.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ type: d, origType: g, data: r, handler: n, guid: n.guid, selector: i, needsContext: i && S.expr.match.needsContext.test(i), namespace: h.join(".") }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0) } }, remove: function (e, t, n, r, i) { var o, a, s, u, l, c, f, p, d, h, g, y = Y.hasData(e) && Y.get(e); if (y && (u = y.events)) { l = (t = (t || "").match(P) || [""]).length; while (l--) if (d = g = (s = be.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; while (o--) c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, y.handle) || S.removeEvent(e, d, y.handle), delete u[d]) } else for (d in u) S.event.remove(e, d + t[l], n, r, !0); S.isEmptyObject(u) && Y.remove(e, "handle events") } }, dispatch: function (e) { var t, n, r, i, o, a, s = new Array(arguments.length), u = S.event.fix(e), l = (Y.get(this, "events") || Object.create(null))[u.type] || [], c = S.event.special[u.type] || {}; for (s[0] = u, t = 1; t < arguments.length; t++)s[t] = arguments[t]; if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) { a = S.event.handlers.call(this, u, l), t = 0; while ((i = a[t++]) && !u.isPropagationStopped()) { u.currentTarget = i.elem, n = 0; while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation())) } return c.postDispatch && c.postDispatch.call(this, u), u.result } }, handlers: function (e, t) { var n, r, i, o, a, s = [], u = t.delegateCount, l = e.target; if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) for (; l !== this; l = l.parentNode || this)if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { for (o = [], a = {}, n = 0; n < u; n++)void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r); o.length && s.push({ elem: l, handlers: o }) } return l = this, u < t.length && s.push({ elem: l, handlers: t.slice(u) }), s }, addProp: function (t, e) { Object.defineProperty(S.Event.prototype, t, { enumerable: !0, configurable: !0, get: m(e) ? function () { if (this.originalEvent) return e(this.originalEvent) } : function () { if (this.originalEvent) return this.originalEvent[t] }, set: function (e) { Object.defineProperty(this, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) } }) }, fix: function (e) { return e[S.expando] ? e : new S.Event(e) }, special: { load: { noBubble: !0 }, click: { setup: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click", we), !1 }, trigger: function (e) { var t = this || e; return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click"), !0 }, _default: function (e) { var t = e.target; return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a") } }, beforeunload: { postDispatch: function (e) { void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result) } } } }, S.removeEvent = function (e, t, n) { e.removeEventListener && e.removeEventListener(t, n) }, S.Event = function (e, t) { if (!(this instanceof S.Event)) return new S.Event(e, t); e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? we : Te, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0 }, S.Event.prototype = { constructor: S.Event, isDefaultPrevented: Te, isPropagationStopped: Te, isImmediatePropagationStopped: Te, isSimulated: !1, preventDefault: function () { var e = this.originalEvent; this.isDefaultPrevented = we, e && !this.isSimulated && e.preventDefault() }, stopPropagation: function () { var e = this.originalEvent; this.isPropagationStopped = we, e && !this.isSimulated && e.stopPropagation() }, stopImmediatePropagation: function () { var e = this.originalEvent; this.isImmediatePropagationStopped = we, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation() } }, S.each({ altKey: !0, bubbles: !0, cancelable: !0, changedTouches: !0, ctrlKey: !0, detail: !0, eventPhase: !0, metaKey: !0, pageX: !0, pageY: !0, shiftKey: !0, view: !0, "char": !0, code: !0, charCode: !0, key: !0, keyCode: !0, button: !0, buttons: !0, clientX: !0, clientY: !0, offsetX: !0, offsetY: !0, pointerId: !0, pointerType: !0, screenX: !0, screenY: !0, targetTouches: !0, toElement: !0, touches: !0, which: !0 }, S.event.addProp), S.each({ focus: "focusin", blur: "focusout" }, function (t, e) { S.event.special[t] = { setup: function () { return Se(this, t, Ce), !1 }, trigger: function () { return Se(this, t), !0 }, _default: function (e) { return Y.get(e.target, t) }, delegateType: e } }), S.each({ mouseenter: "mouseover", mouseleave: "mouseout", pointerenter: "pointerover", pointerleave: "pointerout" }, function (e, i) { S.event.special[e] = { delegateType: i, bindType: i, handle: function (e) { var t, n = e.relatedTarget, r = e.handleObj; return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t } } }), S.fn.extend({ on: function (e, t, n, r) { return Ee(this, e, t, n, r) }, one: function (e, t, n, r) { return Ee(this, e, t, n, r, 1) }, off: function (e, t, n) { var r, i; if (e && e.preventDefault && e.handleObj) return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; if ("object" == typeof e) { for (i in e) this.off(i, t, e[i]); return this } return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Te), this.each(function () { S.event.remove(this, e, n, t) }) } }); var ke = /<script|<style|<link/i, Ae = /checked\s*(?:[^=]|=\s*.checked.)/i, Ne = /^\s*<!\[CDATA\[|\]\]>\s*$/g; function je(e, t) { return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e } function De(e) { return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e } function qe(e) { return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e } function Le(e, t) { var n, r, i, o, a, s; if (1 === t.nodeType) { if (Y.hasData(e) && (s = Y.get(e).events)) for (i in Y.remove(t, "handle events"), s) for (n = 0, r = s[i].length; n < r; n++)S.event.add(t, i, s[i][n]); Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a)) } } function He(n, r, i, o) { r = g(r); var e, t, a, s, u, l, c = 0, f = n.length, p = f - 1, d = r[0], h = m(d); if (h || 1 < f && "string" == typeof d && !v.checkClone && Ae.test(d)) return n.each(function (e) { var t = n.eq(e); h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o) }); if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) { for (s = (a = S.map(ye(e, "script"), De)).length; c < f; c++)u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ye(u, "script"))), i.call(n[c], u, c); if (s) for (l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0; c < s; c++)u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { nonce: u.nonce || u.getAttribute("nonce") }, l) : b(u.textContent.replace(Ne, ""), u, l)) } return n } function Oe(e, t, n) { for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++)n || 1 !== r.nodeType || S.cleanData(ye(r)), r.parentNode && (n && ie(r) && ve(ye(r, "script")), r.parentNode.removeChild(r)); return e } S.extend({ htmlPrefilter: function (e) { return e }, clone: function (e, t, n) { var r, i, o, a, s, u, l, c = e.cloneNode(!0), f = ie(e); if (!(v.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) for (a = ye(c), r = 0, i = (o = ye(e)).length; r < i; r++)s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); if (t) if (n) for (o = o || ye(e), a = a || ye(c), r = 0, i = o.length; r < i; r++)Le(o[r], a[r]); else Le(e, c); return 0 < (a = ye(c, "script")).length && ve(a, !f && ye(e, "script")), c }, cleanData: function (e) { for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++)if (V(n)) { if (t = n[Y.expando]) { if (t.events) for (r in t.events) i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle); n[Y.expando] = void 0 } n[Q.expando] && (n[Q.expando] = void 0) } } }), S.fn.extend({ detach: function (e) { return Oe(this, e, !0) }, remove: function (e) { return Oe(this, e) }, text: function (e) { return B(this, function (e) { return void 0 === e ? S.text(this) : this.empty().each(function () { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e) }) }, null, e, arguments.length) }, append: function () { return He(this, arguments, function (e) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || je(this, e).appendChild(e) }) }, prepend: function () { return He(this, arguments, function (e) { if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { var t = je(this, e); t.insertBefore(e, t.firstChild) } }) }, before: function () { return He(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this) }) }, after: function () { return He(this, arguments, function (e) { this.parentNode && this.parentNode.insertBefore(e, this.nextSibling) }) }, empty: function () { for (var e, t = 0; null != (e = this[t]); t++)1 === e.nodeType && (S.cleanData(ye(e, !1)), e.textContent = ""); return this }, clone: function (e, t) { return e = null != e && e, t = null == t ? e : t, this.map(function () { return S.clone(this, e, t) }) }, html: function (e) { return B(this, function (e) { var t = this[0] || {}, n = 0, r = this.length; if (void 0 === e && 1 === t.nodeType) return t.innerHTML; if ("string" == typeof e && !ke.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) { e = S.htmlPrefilter(e); try { for (; n < r; n++)1 === (t = this[n] || {}).nodeType && (S.cleanData(ye(t, !1)), t.innerHTML = e); t = 0 } catch (e) { } } t && this.empty().append(e) }, null, e, arguments.length) }, replaceWith: function () { var n = []; return He(this, arguments, function (e) { var t = this.parentNode; S.inArray(this, n) < 0 && (S.cleanData(ye(this)), t && t.replaceChild(e, this)) }, n) } }), S.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (e, a) { S.fn[e] = function (e) { for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++)t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); return this.pushStack(n) } }); var Pe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), Re = /^--/, Me = function (e) { var t = e.ownerDocument.defaultView; return t && t.opener || (t = C), t.getComputedStyle(e) }, Ie = function (e, t, n) { var r, i, o = {}; for (i in t) o[i] = e.style[i], e.style[i] = t[i]; for (i in r = n.call(e), t) e.style[i] = o[i]; return r }, We = new RegExp(ne.join("|"), "i"), Fe = "[\\x20\\t\\r\\n\\f]", $e = new RegExp("^" + Fe + "+|((?:^|[^\\\\])(?:\\\\.)*)" + Fe + "+$", "g"); function Be(e, t, n) { var r, i, o, a, s = Re.test(t), u = e.style; return (n = n || Me(e)) && (a = n.getPropertyValue(t) || n[t], s && (a = a.replace($e, "$1")), "" !== a || ie(e) || (a = S.style(e, t)), !v.pixelBoxStyles() && Pe.test(a) && We.test(t) && (r = u.width, i = u.minWidth, o = u.maxWidth, u.minWidth = u.maxWidth = u.width = a, a = n.width, u.width = r, u.minWidth = i, u.maxWidth = o)), void 0 !== a ? a + "" : a } function _e(e, t) { return { get: function () { if (!e()) return (this.get = t).apply(this, arguments); delete this.get } } } !function () { function e() { if (l) { u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l); var e = C.getComputedStyle(l); n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null } } function t(e) { return Math.round(parseFloat(e)) } var n, r, i, o, a, s, u = E.createElement("div"), l = E.createElement("div"); l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", v.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(v, { boxSizingReliable: function () { return e(), r }, pixelBoxStyles: function () { return e(), o }, pixelPosition: function () { return e(), n }, reliableMarginLeft: function () { return e(), s }, scrollboxSize: function () { return e(), i }, reliableTrDimensions: function () { var e, t, n, r; return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === t.offsetHeight, re.removeChild(e)), a } })) }(); var ze = ["Webkit", "Moz", "ms"], Ue = E.createElement("div").style, Xe = {}; function Ve(e) { var t = S.cssProps[e] || Xe[e]; return t || (e in Ue ? e : Xe[e] = function (e) { var t = e[0].toUpperCase() + e.slice(1), n = ze.length; while (n--) if ((e = ze[n] + t) in Ue) return e }(e) || e) } var Ge = /^(none|table(?!-c[ea]).+)/, Ye = { position: "absolute", visibility: "hidden", display: "block" }, Qe = { letterSpacing: "0", fontWeight: "400" }; function Je(e, t, n) { var r = te.exec(t); return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t } function Ke(e, t, n, r, i, o) { var a = "width" === t ? 1 : 0, s = 0, u = 0; if (n === (r ? "border" : "content")) return 0; for (; a < 4; a += 2)"margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u } function Ze(e, t, n) { var r = Me(e), i = (!v.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), o = i, a = Be(e, t, r), s = "offset" + t[0].toUpperCase() + t.slice(1); if (Pe.test(a)) { if (!n) return a; a = "auto" } return (!v.boxSizingReliable() && i || !v.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Ke(e, t, n || (i ? "border" : "content"), o, r, a) + "px" } function et(e, t, n, r, i) { return new et.prototype.init(e, t, n, r, i) } S.extend({ cssHooks: { opacity: { get: function (e, t) { if (t) { var n = Be(e, "opacity"); return "" === n ? "1" : n } } } }, cssNumber: { animationIterationCount: !0, columnCount: !0, fillOpacity: !0, flexGrow: !0, flexShrink: !0, fontWeight: !0, gridArea: !0, gridColumn: !0, gridColumnEnd: !0, gridColumnStart: !0, gridRow: !0, gridRowEnd: !0, gridRowStart: !0, lineHeight: !0, opacity: !0, order: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: {}, style: function (e, t, n, r) { if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { var i, o, a, s = X(t), u = Re.test(t), l = e.style; if (u || (t = Ve(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; "string" === (o = typeof n) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), v.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)) } }, css: function (e, t, n, r) { var i, o, a, s = X(t); return Re.test(t) || (t = Ve(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = Be(e, t, r)), "normal" === i && t in Qe && (i = Qe[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i } }), S.each(["height", "width"], function (e, u) { S.cssHooks[u] = { get: function (e, t, n) { if (t) return !Ge.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Ze(e, u, n) : Ie(e, Ye, function () { return Ze(e, u, n) }) }, set: function (e, t, n) { var r, i = Me(e), o = !v.scrollboxSize() && "absolute" === i.position, a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), s = n ? Ke(e, u, n, a, i) : 0; return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Ke(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Je(0, t, s) } } }), S.cssHooks.marginLeft = _e(v.reliableMarginLeft, function (e, t) { if (t) return (parseFloat(Be(e, "marginLeft")) || e.getBoundingClientRect().left - Ie(e, { marginLeft: 0 }, function () { return e.getBoundingClientRect().left })) + "px" }), S.each({ margin: "", padding: "", border: "Width" }, function (i, o) { S.cssHooks[i + o] = { expand: function (e) { for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++)n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; return n } }, "margin" !== i && (S.cssHooks[i + o].set = Je) }), S.fn.extend({ css: function (e, t) { return B(this, function (e, t, n) { var r, i, o = {}, a = 0; if (Array.isArray(t)) { for (r = Me(e), i = t.length; a < i; a++)o[t[a]] = S.css(e, t[a], !1, r); return o } return void 0 !== n ? S.style(e, t, n) : S.css(e, t) }, e, t, 1 < arguments.length) } }), ((S.Tween = et).prototype = { constructor: et, init: function (e, t, n, r, i, o) { this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px") }, cur: function () { var e = et.propHooks[this.prop]; return e && e.get ? e.get(this) : et.propHooks._default.get(this) }, run: function (e) { var t, n = et.propHooks[this.prop]; return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : et.propHooks._default.set(this), this } }).init.prototype = et.prototype, (et.propHooks = { _default: { get: function (e) { var t; return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0 }, set: function (e) { S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[Ve(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit) } } }).scrollTop = et.propHooks.scrollLeft = { set: function (e) { e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now) } }, S.easing = { linear: function (e) { return e }, swing: function (e) { return .5 - Math.cos(e * Math.PI) / 2 }, _default: "swing" }, S.fx = et.prototype.init, S.fx.step = {}; var tt, nt, rt, it, ot = /^(?:toggle|show|hide)$/, at = /queueHooks$/; function st() { nt && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(st) : C.setTimeout(st, S.fx.interval), S.fx.tick()) } function ut() { return C.setTimeout(function () { tt = void 0 }), tt = Date.now() } function lt(e, t) { var n, r = 0, i = { height: e }; for (t = t ? 1 : 0; r < 4; r += 2 - t)i["margin" + (n = ne[r])] = i["padding" + n] = e; return t && (i.opacity = i.width = e), i } function ct(e, t, n) { for (var r, i = (ft.tweeners[t] || []).concat(ft.tweeners["*"]), o = 0, a = i.length; o < a; o++)if (r = i[o].call(n, t, e)) return r } function ft(o, e, t) { var n, a, r = 0, i = ft.prefilters.length, s = S.Deferred().always(function () { delete u.elem }), u = function () { if (a) return !1; for (var e = tt || ut(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++)l.tweens[r].run(n); return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1) }, l = s.promise({ elem: o, props: S.extend({}, e), opts: S.extend(!0, { specialEasing: {}, easing: S.easing._default }, t), originalProperties: e, originalOptions: t, startTime: tt || ut(), duration: t.duration, tweens: [], createTween: function (e, t) { var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); return l.tweens.push(n), n }, stop: function (e) { var t = 0, n = e ? l.tweens.length : 0; if (a) return this; for (a = !0; t < n; t++)l.tweens[t].run(1); return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this } }), c = l.props; for (!function (e, t) { var n, r, i, o, a; for (n in e) if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && "expand" in a) for (n in o = a.expand(o), delete e[r], o) n in e || (e[n] = o[n], t[n] = i); else t[r] = i }(c, l.opts.specialEasing); r < i; r++)if (n = ft.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; return S.map(c, ct, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { elem: o, anim: l, queue: l.opts.queue })), l } S.Animation = S.extend(ft, { tweeners: { "*": [function (e, t) { var n = this.createTween(e, t); return se(n.elem, e, te.exec(t), n), n }] }, tweener: function (e, t) { m(e) ? (t = e, e = ["*"]) : e = e.match(P); for (var n, r = 0, i = e.length; r < i; r++)n = e[r], ft.tweeners[n] = ft.tweeners[n] || [], ft.tweeners[n].unshift(t) }, prefilters: [function (e, t, n) { var r, i, o, a, s, u, l, c, f = "width" in t || "height" in t, p = this, d = {}, h = e.style, g = e.nodeType && ae(e), y = Y.get(e, "fxshow"); for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { a.unqueued || s() }), a.unqueued++, p.always(function () { p.always(function () { a.unqueued--, S.queue(e, "fx").length || a.empty.fire() }) })), t) if (i = t[r], ot.test(i)) { if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { if ("show" !== i || !y || void 0 === y[r]) continue; g = !0 } d[r] = y && y[r] || S.style(e, r) } if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = y && y.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function () { h.display = l }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2] })), u = !1, d) u || (y ? "hidden" in y && (g = y.hidden) : y = Y.access(e, "fxshow", { display: l }), o && (y.hidden = !g), g && le([e], !0), p.done(function () { for (r in g || le([e]), Y.remove(e, "fxshow"), d) S.style(e, r, d[r]) })), u = ct(g ? y[r] : 0, r, p), r in y || (y[r] = u.start, g && (u.end = u.start, u.start = 0)) }], prefilter: function (e, t) { t ? ft.prefilters.unshift(e) : ft.prefilters.push(e) } }), S.speed = function (e, t, n) { var r = e && "object" == typeof e ? S.extend({}, e) : { complete: n || !n && t || m(e) && e, duration: e, easing: n && t || t && !m(t) && t }; return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue) }, r }, S.fn.extend({ fadeTo: function (e, t, n, r) { return this.filter(ae).css("opacity", 0).show().end().animate({ opacity: t }, e, n, r) }, animate: function (t, e, n, r) { var i = S.isEmptyObject(t), o = S.speed(e, n, r), a = function () { var e = ft(this, S.extend({}, t), o); (i || Y.get(this, "finish")) && e.stop(!0) }; return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) }, stop: function (i, e, o) { var a = function (e) { var t = e.stop; delete e.stop, t(o) }; return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function () { var e = !0, t = null != i && i + "queueHooks", n = S.timers, r = Y.get(this); if (t) r[t] && r[t].stop && a(r[t]); else for (t in r) r[t] && r[t].stop && at.test(t) && a(r[t]); for (t = n.length; t--;)n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); !e && o || S.dequeue(this, i) }) }, finish: function (a) { return !1 !== a && (a = a || "fx"), this.each(function () { var e, t = Y.get(this), n = t[a + "queue"], r = t[a + "queueHooks"], i = S.timers, o = n ? n.length : 0; for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;)i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); for (e = 0; e < o; e++)n[e] && n[e].finish && n[e].finish.call(this); delete t.finish }) } }), S.each(["toggle", "show", "hide"], function (e, r) { var i = S.fn[r]; S.fn[r] = function (e, t, n) { return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(lt(r, !0), e, t, n) } }), S.each({ slideDown: lt("show"), slideUp: lt("hide"), slideToggle: lt("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (e, r) { S.fn[e] = function (e, t, n) { return this.animate(r, e, t, n) } }), S.timers = [], S.fx.tick = function () { var e, t = 0, n = S.timers; for (tt = Date.now(); t < n.length; t++)(e = n[t])() || n[t] !== e || n.splice(t--, 1); n.length || S.fx.stop(), tt = void 0 }, S.fx.timer = function (e) { S.timers.push(e), S.fx.start() }, S.fx.interval = 13, S.fx.start = function () { nt || (nt = !0, st()) }, S.fx.stop = function () { nt = null }, S.fx.speeds = { slow: 600, fast: 200, _default: 400 }, S.fn.delay = function (r, e) { return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) { var n = C.setTimeout(e, r); t.stop = function () { C.clearTimeout(n) } }) }, rt = E.createElement("input"), it = E.createElement("select").appendChild(E.createElement("option")), rt.type = "checkbox", v.checkOn = "" !== rt.value, v.optSelected = it.selected, (rt = E.createElement("input")).value = "t", rt.type = "radio", v.radioValue = "t" === rt.value; var pt, dt = S.expr.attrHandle; S.fn.extend({ attr: function (e, t) { return B(this, S.attr, e, t, 1 < arguments.length) }, removeAttr: function (e) { return this.each(function () { S.removeAttr(this, e) }) } }), S.extend({ attr: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? pt : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r) }, attrHooks: { type: { set: function (e, t) { if (!v.radioValue && "radio" === t && A(e, "input")) { var n = e.value; return e.setAttribute("type", t), n && (e.value = n), t } } } }, removeAttr: function (e, t) { var n, r = 0, i = t && t.match(P); if (i && 1 === e.nodeType) while (n = i[r++]) e.removeAttribute(n) } }), pt = { set: function (e, t, n) { return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n } }, S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { var a = dt[t] || S.find.attr; dt[t] = function (e, t, n) { var r, i, o = t.toLowerCase(); return n || (i = dt[o], dt[o] = r, r = null != a(e, t, n) ? o : null, dt[o] = i), r } }); var ht = /^(?:input|select|textarea|button)$/i, gt = /^(?:a|area)$/i; function yt(e) { return (e.match(P) || []).join(" ") } function vt(e) { return e.getAttribute && e.getAttribute("class") || "" } function mt(e) { return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || [] } S.fn.extend({ prop: function (e, t) { return B(this, S.prop, e, t, 1 < arguments.length) }, removeProp: function (e) { return this.each(function () { delete this[S.propFix[e] || e] }) } }), S.extend({ prop: function (e, t, n) { var r, i, o = e.nodeType; if (3 !== o && 8 !== o && 2 !== o) return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t] }, propHooks: { tabIndex: { get: function (e) { var t = S.find.attr(e, "tabindex"); return t ? parseInt(t, 10) : ht.test(e.nodeName) || gt.test(e.nodeName) && e.href ? 0 : -1 } } }, propFix: { "for": "htmlFor", "class": "className" } }), v.optSelected || (S.propHooks.selected = { get: function (e) { var t = e.parentNode; return t && t.parentNode && t.parentNode.selectedIndex, null }, set: function (e) { var t = e.parentNode; t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex) } }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { S.propFix[this.toLowerCase()] = this }), S.fn.extend({ addClass: function (t) { var e, n, r, i, o, a; return m(t) ? this.each(function (e) { S(this).addClass(t.call(this, e, vt(this))) }) : (e = mt(t)).length ? this.each(function () { if (r = vt(this), n = 1 === this.nodeType && " " + yt(r) + " ") { for (o = 0; o < e.length; o++)i = e[o], n.indexOf(" " + i + " ") < 0 && (n += i + " "); a = yt(n), r !== a && this.setAttribute("class", a) } }) : this }, removeClass: function (t) { var e, n, r, i, o, a; return m(t) ? this.each(function (e) { S(this).removeClass(t.call(this, e, vt(this))) }) : arguments.length ? (e = mt(t)).length ? this.each(function () { if (r = vt(this), n = 1 === this.nodeType && " " + yt(r) + " ") { for (o = 0; o < e.length; o++) { i = e[o]; while (-1 < n.indexOf(" " + i + " ")) n = n.replace(" " + i + " ", " ") } a = yt(n), r !== a && this.setAttribute("class", a) } }) : this : this.attr("class", "") }, toggleClass: function (t, n) { var e, r, i, o, a = typeof t, s = "string" === a || Array.isArray(t); return m(t) ? this.each(function (e) { S(this).toggleClass(t.call(this, e, vt(this), n), n) }) : "boolean" == typeof n && s ? n ? this.addClass(t) : this.removeClass(t) : (e = mt(t), this.each(function () { if (s) for (o = S(this), i = 0; i < e.length; i++)r = e[i], o.hasClass(r) ? o.removeClass(r) : o.addClass(r); else void 0 !== t && "boolean" !== a || ((r = vt(this)) && Y.set(this, "__className__", r), this.setAttribute && this.setAttribute("class", r || !1 === t ? "" : Y.get(this, "__className__") || "")) })) }, hasClass: function (e) { var t, n, r = 0; t = " " + e + " "; while (n = this[r++]) if (1 === n.nodeType && -1 < (" " + yt(vt(n)) + " ").indexOf(t)) return !0; return !1 } }); var xt = /\r/g; S.fn.extend({ val: function (n) { var r, e, i, t = this[0]; return arguments.length ? (i = m(n), this.each(function (e) { var t; 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function (e) { return null == e ? "" : e + "" })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)) })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(xt, "") : null == e ? "" : e : void 0 } }), S.extend({ valHooks: { option: { get: function (e) { var t = S.find.attr(e, "value"); return null != t ? t : yt(S.text(e)) } }, select: { get: function (e) { var t, n, r, i = e.options, o = e.selectedIndex, a = "select-one" === e.type, s = a ? null : [], u = a ? o + 1 : i.length; for (r = o < 0 ? u : a ? o : 0; r < u; r++)if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) { if (t = S(n).val(), a) return t; s.push(t) } return s }, set: function (e, t) { var n, r, i = e.options, o = S.makeArray(t), a = i.length; while (a--) ((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); return n || (e.selectedIndex = -1), o } } } }), S.each(["radio", "checkbox"], function () { S.valHooks[this] = { set: function (e, t) { if (Array.isArray(t)) return e.checked = -1 < S.inArray(S(e).val(), t) } }, v.checkOn || (S.valHooks[this].get = function (e) { return null === e.getAttribute("value") ? "on" : e.value }) }), v.focusin = "onfocusin" in C; var bt = /^(?:focusinfocus|focusoutblur)$/, wt = function (e) { e.stopPropagation() }; S.extend(S.event, { trigger: function (e, t, n, r) { var i, o, a, s, u, l, c, f, p = [n || E], d = y.call(e, "type") ? e.type : e, h = y.call(e, "namespace") ? e.namespace.split(".") : []; if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !bt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == typeof e && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) { if (!r && !c.noBubble && !x(n)) { for (s = c.delegateType || d, bt.test(s + d) || (o = o.parentNode); o; o = o.parentNode)p.push(o), a = o; a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C) } i = 0; while ((o = p[i++]) && !e.isPropagationStopped()) f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault()); return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, wt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, wt), S.event.triggered = void 0, a && (n[u] = a)), e.result } }, simulate: function (e, t, n) { var r = S.extend(new S.Event, n, { type: e, isSimulated: !0 }); S.event.trigger(r, null, t) } }), S.fn.extend({ trigger: function (e, t) { return this.each(function () { S.event.trigger(e, t, this) }) }, triggerHandler: function (e, t) { var n = this[0]; if (n) return S.event.trigger(e, t, n, !0) } }), v.focusin || S.each({ focus: "focusin", blur: "focusout" }, function (n, r) { var i = function (e) { S.event.simulate(r, e.target, S.event.fix(e)) }; S.event.special[r] = { setup: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r); t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1) }, teardown: function () { var e = this.ownerDocument || this.document || this, t = Y.access(e, r) - 1; t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)) } } }); var Tt = C.location, Ct = { guid: Date.now() }, Et = /\?/; S.parseXML = function (e) { var t, n; if (!e || "string" != typeof e) return null; try { t = (new C.DOMParser).parseFromString(e, "text/xml") } catch (e) { } return n = t && t.getElementsByTagName("parsererror")[0], t && !n || S.error("Invalid XML: " + (n ? S.map(n.childNodes, function (e) { return e.textContent }).join("\n") : e)), t }; var St = /\[\]$/, kt = /\r?\n/g, At = /^(?:submit|button|image|reset|file)$/i, Nt = /^(?:input|select|textarea|keygen)/i; function jt(n, e, r, i) { var t; if (Array.isArray(e)) S.each(e, function (e, t) { r || St.test(n) ? i(n, t) : jt(n + "[" + ("object" == typeof t && null != t ? e : "") + "]", t, r, i) }); else if (r || "object" !== w(e)) i(n, e); else for (t in e) jt(n + "[" + t + "]", e[t], r, i) } S.param = function (e, t) { var n, r = [], i = function (e, t) { var n = m(t) ? t() : t; r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n) }; if (null == e) return ""; if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, function () { i(this.name, this.value) }); else for (n in e) jt(n, e[n], t, i); return r.join("&") }, S.fn.extend({ serialize: function () { return S.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { var e = S.prop(this, "elements"); return e ? S.makeArray(e) : this }).filter(function () { var e = this.type; return this.name && !S(this).is(":disabled") && Nt.test(this.nodeName) && !At.test(e) && (this.checked || !pe.test(e)) }).map(function (e, t) { var n = S(this).val(); return null == n ? null : Array.isArray(n) ? S.map(n, function (e) { return { name: t.name, value: e.replace(kt, "\r\n") } }) : { name: t.name, value: n.replace(kt, "\r\n") } }).get() } }); var Dt = /%20/g, qt = /#.*$/, Lt = /([?&])_=[^&]*/, Ht = /^(.*?):[ \t]*([^\r\n]*)$/gm, Ot = /^(?:GET|HEAD)$/, Pt = /^\/\//, Rt = {}, Mt = {}, It = "*/".concat("*"), Wt = E.createElement("a"); function Ft(o) { return function (e, t) { "string" != typeof e && (t = e, e = "*"); var n, r = 0, i = e.toLowerCase().match(P) || []; if (m(t)) while (n = i[r++]) "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t) } } function $t(t, i, o, a) { var s = {}, u = t === Mt; function l(e) { var r; return s[e] = !0, S.each(t[e] || [], function (e, t) { var n = t(i, o, a); return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1) }), r } return l(i.dataTypes[0]) || !s["*"] && l("*") } function Bt(e, t) { var n, r, i = S.ajaxSettings.flatOptions || {}; for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); return r && S.extend(!0, e, r), e } Wt.href = Tt.href, S.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Tt.href, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Tt.protocol), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset=UTF-8", accepts: { "*": It, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "application/json, text/javascript" }, contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, responseFields: { xml: "responseXML", text: "responseText", json: "responseJSON" }, converters: { "* text": String, "text html": !0, "text json": JSON.parse, "text xml": S.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (e, t) { return t ? Bt(Bt(e, S.ajaxSettings), t) : Bt(S.ajaxSettings, e) }, ajaxPrefilter: Ft(Rt), ajaxTransport: Ft(Mt), ajax: function (e, t) { "object" == typeof e && (t = e, e = void 0), t = t || {}; var c, f, p, n, d, r, h, g, i, o, y = S.ajaxSetup({}, t), v = y.context || y, m = y.context && (v.nodeType || v.jquery) ? S(v) : S.event, x = S.Deferred(), b = S.Callbacks("once memory"), w = y.statusCode || {}, a = {}, s = {}, u = "canceled", T = { readyState: 0, getResponseHeader: function (e) { var t; if (h) { if (!n) { n = {}; while (t = Ht.exec(p)) n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]) } t = n[e.toLowerCase() + " "] } return null == t ? null : t.join(", ") }, getAllResponseHeaders: function () { return h ? p : null }, setRequestHeader: function (e, t) { return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this }, overrideMimeType: function (e) { return null == h && (y.mimeType = e), this }, statusCode: function (e) { var t; if (e) if (h) T.always(e[T.status]); else for (t in e) w[t] = [w[t], e[t]]; return this }, abort: function (e) { var t = e || u; return c && c.abort(t), l(0, t), this } }; if (x.promise(T), y.url = ((e || y.url || Tt.href) + "").replace(Pt, Tt.protocol + "//"), y.type = t.method || t.type || y.method || y.type, y.dataTypes = (y.dataType || "*").toLowerCase().match(P) || [""], null == y.crossDomain) { r = E.createElement("a"); try { r.href = y.url, r.href = r.href, y.crossDomain = Wt.protocol + "//" + Wt.host != r.protocol + "//" + r.host } catch (e) { y.crossDomain = !0 } } if (y.data && y.processData && "string" != typeof y.data && (y.data = S.param(y.data, y.traditional)), $t(Rt, y, t, T), h) return T; for (i in (g = S.event && y.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), y.type = y.type.toUpperCase(), y.hasContent = !Ot.test(y.type), f = y.url.replace(qt, ""), y.hasContent ? y.data && y.processData && 0 === (y.contentType || "").indexOf("application/x-www-form-urlencoded") && (y.data = y.data.replace(Dt, "+")) : (o = y.url.slice(f.length), y.data && (y.processData || "string" == typeof y.data) && (f += (Et.test(f) ? "&" : "?") + y.data, delete y.data), !1 === y.cache && (f = f.replace(Lt, "$1"), o = (Et.test(f) ? "&" : "?") + "_=" + Ct.guid++ + o), y.url = f + o), y.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (y.data && y.hasContent && !1 !== y.contentType || t.contentType) && T.setRequestHeader("Content-Type", y.contentType), T.setRequestHeader("Accept", y.dataTypes[0] && y.accepts[y.dataTypes[0]] ? y.accepts[y.dataTypes[0]] + ("*" !== y.dataTypes[0] ? ", " + It + "; q=0.01" : "") : y.accepts["*"]), y.headers) T.setRequestHeader(i, y.headers[i]); if (y.beforeSend && (!1 === y.beforeSend.call(v, T, y) || h)) return T.abort(); if (u = "abort", b.add(y.complete), T.done(y.success), T.fail(y.error), c = $t(Mt, y, t, T)) { if (T.readyState = 1, g && m.trigger("ajaxSend", [T, y]), h) return T; y.async && 0 < y.timeout && (d = C.setTimeout(function () { T.abort("timeout") }, y.timeout)); try { h = !1, c.send(a, l) } catch (e) { if (h) throw e; l(-1, e) } } else l(-1, "No Transport"); function l(e, t, n, r) { var i, o, a, s, u, l = t; h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) { var r, i, o, a, s = e.contents, u = e.dataTypes; while ("*" === u[0]) u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); if (r) for (i in s) if (s[i] && s[i].test(r)) { u.unshift(i); break } if (u[0] in n) o = u[0]; else { for (i in n) { if (!u[0] || e.converters[i + " " + u[0]]) { o = i; break } a || (a = i) } o = o || a } if (o) return o !== u[0] && u.unshift(o), n[o] }(y, T, n)), !i && -1 < S.inArray("script", y.dataTypes) && S.inArray("json", y.dataTypes) < 0 && (y.converters["text script"] = function () { }), s = function (e, t, n, r) { var i, o, a, s, u, l = {}, c = e.dataTypes.slice(); if (c[1]) for (a in e.converters) l[a.toLowerCase()] = e.converters[a]; o = c.shift(); while (o) if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o) o = u; else if ("*" !== u && u !== o) { if (!(a = l[u + " " + o] || l["* " + o])) for (i in l) if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); break } if (!0 !== a) if (a && e["throws"]) t = a(t); else try { t = a(t) } catch (e) { return { state: "parsererror", error: a ? e : "No conversion from " + u + " to " + o } } } return { state: "success", data: t } }(y, s, T, i), i ? (y.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === y.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(v, [o, l, T]) : x.rejectWith(v, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, y, i ? o : a]), b.fireWith(v, [T, l]), g && (m.trigger("ajaxComplete", [T, y]), --S.active || S.event.trigger("ajaxStop"))) } return T }, getJSON: function (e, t, n) { return S.get(e, t, n, "json") }, getScript: function (e, t) { return S.get(e, void 0, t, "script") } }), S.each(["get", "post"], function (e, i) { S[i] = function (e, t, n, r) { return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ url: e, type: i, dataType: r, data: t, success: n }, S.isPlainObject(e) && e)) } }), S.ajaxPrefilter(function (e) { var t; for (t in e.headers) "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || "") }), S._evalUrl = function (e, t, n) { return S.ajax({ url: e, type: "GET", dataType: "script", cache: !0, async: !1, global: !1, converters: { "text script": function () { } }, dataFilter: function (e) { S.globalEval(e, t, n) } }) }, S.fn.extend({ wrapAll: function (e) { var t; return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { var e = this; while (e.firstElementChild) e = e.firstElementChild; return e }).append(this)), this }, wrapInner: function (n) { return m(n) ? this.each(function (e) { S(this).wrapInner(n.call(this, e)) }) : this.each(function () { var e = S(this), t = e.contents(); t.length ? t.wrapAll(n) : e.append(n) }) }, wrap: function (t) { var n = m(t); return this.each(function (e) { S(this).wrapAll(n ? t.call(this, e) : t) }) }, unwrap: function (e) { return this.parent(e).not("body").each(function () { S(this).replaceWith(this.childNodes) }), this } }), S.expr.pseudos.hidden = function (e) { return !S.expr.pseudos.visible(e) }, S.expr.pseudos.visible = function (e) { return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length) }, S.ajaxSettings.xhr = function () { try { return new C.XMLHttpRequest } catch (e) { } }; var _t = { 0: 200, 1223: 204 }, zt = S.ajaxSettings.xhr(); v.cors = !!zt && "withCredentials" in zt, v.ajax = zt = !!zt, S.ajaxTransport(function (i) { var o, a; if (v.cors || zt && !i.crossDomain) return { send: function (e, t) { var n, r = i.xhr(); if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) for (n in i.xhrFields) r[n] = i.xhrFields[n]; for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) r.setRequestHeader(n, e[n]); o = function (e) { return function () { o && (o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(_t[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { binary: r.response } : { text: r.responseText }, r.getAllResponseHeaders())) } }, r.onload = o(), a = r.onerror = r.ontimeout = o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () { 4 === r.readyState && C.setTimeout(function () { o && a() }) }, o = o("abort"); try { r.send(i.hasContent && i.data || null) } catch (e) { if (o) throw e } }, abort: function () { o && o() } } }), S.ajaxPrefilter(function (e) { e.crossDomain && (e.contents.script = !1) }), S.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /\b(?:java|ecma)script\b/ }, converters: { "text script": function (e) { return S.globalEval(e), e } } }), S.ajaxPrefilter("script", function (e) { void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET") }), S.ajaxTransport("script", function (n) { var r, i; if (n.crossDomain || n.scriptAttrs) return { send: function (e, t) { r = S("<script>").attr(n.scriptAttrs || {}).prop({ charset: n.scriptCharset, src: n.url }).on("load error", i = function (e) { r.remove(), i = null, e && t("error" === e.type ? 404 : 200, e.type) }), E.head.appendChild(r[0]) }, abort: function () { i && i() } } }); var Ut, Xt = [], Vt = /(=)\?(?=&|$)|\?\?/; S.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var e = Xt.pop() || S.expando + "_" + Ct.guid++; return this[e] = !0, e } }), S.ajaxPrefilter("json jsonp", function (e, t, n) { var r, i, o, a = !1 !== e.jsonp && (Vt.test(e.url) ? "url" : "string" == typeof e.data && 0 === (e.contentType || "").indexOf("application/x-www-form-urlencoded") && Vt.test(e.data) && "data"); if (a || "jsonp" === e.dataTypes[0]) return r = e.jsonpCallback = m(e.jsonpCallback) ? e.jsonpCallback() : e.jsonpCallback, a ? e[a] = e[a].replace(Vt, "$1" + r) : !1 !== e.jsonp && (e.url += (Et.test(e.url) ? "&" : "?") + e.jsonp + "=" + r), e.converters["script json"] = function () { return o || S.error(r + " was not called"), o[0] }, e.dataTypes[0] = "json", i = C[r], C[r] = function () { o = arguments }, n.always(function () { void 0 === i ? S(C).removeProp(r) : C[r] = i, e[r] && (e.jsonpCallback = t.jsonpCallback, Xt.push(r)), o && m(i) && i(o[0]), o = i = void 0 }), "script" }), v.createHTMLDocument = ((Ut = E.implementation.createHTMLDocument("").body).innerHTML = "<form></form><form></form>", 2 === Ut.childNodes.length), S.parseHTML = function (e, t, n) { return "string" != typeof e ? [] : ("boolean" == typeof t && (n = t, t = !1), t || (v.createHTMLDocument ? ((r = (t = E.implementation.createHTMLDocument("")).createElement("base")).href = E.location.href, t.head.appendChild(r)) : t = E), o = !n && [], (i = N.exec(e)) ? [t.createElement(i[1])] : (i = xe([e], t, o), o && o.length && S(o).remove(), S.merge([], i.childNodes))); var r, i, o }, S.fn.load = function (e, t, n) { var r, i, o, a = this, s = e.indexOf(" "); return -1 < s && (r = yt(e.slice(s)), e = e.slice(0, s)), m(t) ? (n = t, t = void 0) : t && "object" == typeof t && (i = "POST"), 0 < a.length && S.ajax({ url: e, type: i || "GET", dataType: "html", data: t }).done(function (e) { o = arguments, a.html(r ? S("<div>").append(S.parseHTML(e)).find(r) : e) }).always(n && function (e, t) { a.each(function () { n.apply(this, o || [e.responseText, t, e]) }) }), this }, S.expr.pseudos.animated = function (t) { return S.grep(S.timers, function (e) { return t === e.elem }).length }, S.offset = { setOffset: function (e, t, n) { var r, i, o, a, s, u, l = S.css(e, "position"), c = S(e), f = {}; "static" === l && (e.style.position = "relative"), s = c.offset(), o = S.css(e, "top"), u = S.css(e, "left"), ("absolute" === l || "fixed" === l) && -1 < (o + u).indexOf("auto") ? (a = (r = c.position()).top, i = r.left) : (a = parseFloat(o) || 0, i = parseFloat(u) || 0), m(t) && (t = t.call(e, n, S.extend({}, s))), null != t.top && (f.top = t.top - s.top + a), null != t.left && (f.left = t.left - s.left + i), "using" in t ? t.using.call(e, f) : c.css(f) } }, S.fn.extend({ offset: function (t) { if (arguments.length) return void 0 === t ? this : this.each(function (e) { S.offset.setOffset(this, t, e) }); var e, n, r = this[0]; return r ? r.getClientRects().length ? (e = r.getBoundingClientRect(), n = r.ownerDocument.defaultView, { top: e.top + n.pageYOffset, left: e.left + n.pageXOffset }) : { top: 0, left: 0 } : void 0 }, position: function () { if (this[0]) { var e, t, n, r = this[0], i = { top: 0, left: 0 }; if ("fixed" === S.css(r, "position")) t = r.getBoundingClientRect(); else { t = this.offset(), n = r.ownerDocument, e = r.offsetParent || n.documentElement; while (e && (e === n.body || e === n.documentElement) && "static" === S.css(e, "position")) e = e.parentNode; e && e !== r && 1 === e.nodeType && ((i = S(e).offset()).top += S.css(e, "borderTopWidth", !0), i.left += S.css(e, "borderLeftWidth", !0)) } return { top: t.top - i.top - S.css(r, "marginTop", !0), left: t.left - i.left - S.css(r, "marginLeft", !0) } } }, offsetParent: function () { return this.map(function () { var e = this.offsetParent; while (e && "static" === S.css(e, "position")) e = e.offsetParent; return e || re }) } }), S.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (t, i) { var o = "pageYOffset" === i; S.fn[t] = function (e) { return B(this, function (e, t, n) { var r; if (x(e) ? r = e : 9 === e.nodeType && (r = e.defaultView), void 0 === n) return r ? r[i] : e[t]; r ? r.scrollTo(o ? r.pageXOffset : n, o ? n : r.pageYOffset) : e[t] = n }, t, e, arguments.length) } }), S.each(["top", "left"], function (e, n) { S.cssHooks[n] = _e(v.pixelPosition, function (e, t) { if (t) return t = Be(e, n), Pe.test(t) ? S(e).position()[n] + "px" : t }) }), S.each({ Height: "height", Width: "width" }, function (a, s) { S.each({ padding: "inner" + a, content: s, "": "outer" + a }, function (r, o) { S.fn[o] = function (e, t) { var n = arguments.length && (r || "boolean" != typeof e), i = r || (!0 === e || !0 === t ? "margin" : "border"); return B(this, function (e, t, n) { var r; return x(e) ? 0 === o.indexOf("outer") ? e["inner" + a] : e.document.documentElement["client" + a] : 9 === e.nodeType ? (r = e.documentElement, Math.max(e.body["scroll" + a], r["scroll" + a], e.body["offset" + a], r["offset" + a], r["client" + a])) : void 0 === n ? S.css(e, t, i) : S.style(e, t, n, i) }, s, n ? e : void 0, n) } }) }), S.each(["ajaxStart", "ajaxStop", "ajaxComplete", "ajaxError", "ajaxSuccess", "ajaxSend"], function (e, t) { S.fn[t] = function (e) { return this.on(t, e) } }), S.fn.extend({ bind: function (e, t, n) { return this.on(e, null, t, n) }, unbind: function (e, t) { return this.off(e, null, t) }, delegate: function (e, t, n, r) { return this.on(t, e, n, r) }, undelegate: function (e, t, n) { return 1 === arguments.length ? this.off(e, "**") : this.off(t, e || "**", n) }, hover: function (e, t) { return this.mouseenter(e).mouseleave(t || e) } }), S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "), function (e, n) { S.fn[n] = function (e, t) { return 0 < arguments.length ? this.on(n, null, e, t) : this.trigger(n) } }); var Gt = /^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g; S.proxy = function (e, t) { var n, r, i; if ("string" == typeof t && (n = e[t], t = e, e = n), m(e)) return r = s.call(arguments, 2), (i = function () { return e.apply(t || this, r.concat(s.call(arguments))) }).guid = e.guid = e.guid || S.guid++, i }, S.holdReady = function (e) { e ? S.readyWait++ : S.ready(!0) }, S.isArray = Array.isArray, S.parseJSON = JSON.parse, S.nodeName = A, S.isFunction = m, S.isWindow = x, S.camelCase = X, S.type = w, S.now = Date.now, S.isNumeric = function (e) { var t = S.type(e); return ("number" === t || "string" === t) && !isNaN(e - parseFloat(e)) }, S.trim = function (e) { return null == e ? "" : (e + "").replace(Gt, "$1") }, "function" == typeof define && define.amd && define("jquery", [], function () { return S }); var Yt = C.jQuery, Qt = C.$; return S.noConflict = function (e) { return C.$ === S && (C.$ = Qt), e && C.jQuery === S && (C.jQuery = Yt), S }, "undefined" == typeof e && (C.jQuery = C.$ = S), S });</script> <meta property="og:title" content="Arte e Monumenti" /><meta property="og:url" content="/pagine/2/Arte-e-Monumenti" /><meta property="og:image" /><meta property="og:image:secure" /></head> <body> <form method="post" action="/pagine/2/Arte-e-Monumenti" id="form1"> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKLTM1NDk3MzQxNA8WAh4TVmFsaWRhdGVSZXF1ZXN0TW9kZQIBFgJmD2QWBAIBD2QWAgIRDxYCHgdjb250ZW50BVpDb211bmUgZGkgU2Nhcm5hZmlnaSAtIHNpdG8gaW50ZXJuZXQgaXN0aXR1emlvbmFsZSAtIFJlZ2lvbmUgUGllbW9udGUgLSBQcm92aW5jaWEgZGkgQ3VuZW9kAgMPFgIeBmFjdGlvbgUaL3BhZ2luZS8yL0FydGUtZS1Nb251bWVudGkWQmYPFgIeCWlubmVyaHRtbAUZQWNjZWRpIGFsbCdhcmVhIHBlcnNvbmFsZWQCAQ8WAh4HVmlzaWJsZWhkAgIPFgIfBGhkAgMPFgIfBGhkAgQPFgIfBGcWAgIBDxYCHgRocmVmBSBodHRwczovL3QubWUvVmlzaXRTY2FybmFmaWdpX2JvdGQCBQ8WAh8EaGQCBg8WAh8EZxYCAgEPFgIfBQUNL2l0YS9yc3MuYXNweGQCBw8WAh8EaGQCCA8WAh8DBfsHDQoJCQk8bGkgY2xhc3M9J25hdi1pdGVtIGQtbGctbm9uZSc+DQoJCQkJPGEgY2xhc3M9J25hdi1saW5rIHRleHQtcHJpbWFyeScgaHJlZj0nL0FkbWluL1dlYkZvcm1zL0NydXNjb3R0by5hc3B4Jz4NCgkJCQkJPHNwYW4+DQoJCQkJCQk8c3ZnIGNsYXNzPSdpY29uIGljb24tcHJpbWFyeScgYXJpYS1oaWRkZW49J3RydWUnPg0KCQkJCQkJCTx1c2UgeGxpbms6aHJlZj0nL2Fzc2V0cy9ib290c3RyYXAtaXRhbGlhL2Rpc3Qvc3ZnL3Nwcml0ZXMuc3ZnI2l0LWxvY2tlZCc+PC91c2U+DQoJCQkJCQk8L3N2Zz4NCgkJCQkJCUFjY2VkaSBhbGwnYXJlYSByaXNlcnZhdGENCgkJCQkJPC9zcGFuPg0KCQkJCTwvYT4NCgkJCTwvbGk+DQoJCTxsaSBjbGFzcz0nbmF2LWl0ZW0nPg0KCQkJCQkJICA8YSBkYXRhLWVsZW1lbnQ9J3RvcGljLWVsZW1lbnQnIGNsYXNzPSduYXYtbGluaycgaHJlZj0nL2FyZ29tZW50by80L0FjY2Vzc28tYWxsLTI3aW5mb3JtYXppb25lJz5BY2Nlc3NvIGFsbCdpbmZvcm1hemlvbmU8L2E+DQogICAgICAgICAgICAgICAgICAgICAgIDwvbGk+PGxpIGNsYXNzPSduYXYtaXRlbSc+DQogICAgICAgICAgICAgICAgICAgICAgICA8YSBjbGFzcz0nbmF2LWxpbmsnIGhyZWY9Jy9hbW1pbmlzdHJhemlvbmUvZG9jdW1lbnRpLWUtZGF0aSc+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+RG9jdW1lbnRpIGUgZGF0aTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT4NCgkJCQk8bGkgY2xhc3M9J25hdi1pdGVtJz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPSduYXYtbGluaycgaHJlZj0nL2FyZ29tZW50aScgZGF0YS1lbGVtZW50PSdhbGwtdG9waWNzJz4NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz0nZnctYm9sZCc+VHV0dGkgZ2xpIGFyZ29tZW50aTwvc3Bhbj4NCiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT4NCiAgICAgICAgICAgICAgICAgICAgPC9saT5kAgkPFgIfBGhkAgoPFgIfBGhkAgsPFgIfBGhkAgwPFgIfBGcWAgIBDxYCHwUFIGh0dHBzOi8vdC5tZS9WaXNpdFNjYXJuYWZpZ2lfYm90ZAINDxYCHwRoZAIODxYCHwRnFgICAQ8WAh8FBQ0vaXRhL3Jzcy5hc3B4ZAIPDxYCHwRoZAIQD2QWFAIBDxYCHwMFMDxhIGhyZWY9Jy92aXZlcmUtaWwtY29tdW5lJz5WaXZlcmUgaWwgQ29tdW5lPC9hPmQCAw8WAh8DBTA8c3BhbiBjbGFzcz0ic2VwYXJhdG9yIj4vPC9zcGFuPkFydGUgZSBNb251bWVudGlkAgUPFgIfAwW/RjxoMSBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIHN0eWxlPSJjb2xvcjojQjIyMjIyIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjI0cHgiPjxzdHJvbmc+QVJURSBFIE1PTlVNRU5USTwvc3Ryb25nPjwvc3Bhbj48L3NwYW4+PC9oMT4NCg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PGJyIC8+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjIycHgiPjxzcGFuIHN0eWxlPSJjb2xvcjojRkY4QzAwIj48c3Ryb25nPklsIENhc3RlbGxvPC9zdHJvbmc+PC9zcGFuPjxiciAvPg0KPGltZyBhbHQ9IklsIENhc3RlbGxvIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8wMi5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OnJpZ2h0OyBoZWlnaHQ6MTU0cHg7IG1hcmdpbjoxMHB4OyB3aWR0aDoyNTBweCIgLz5MJnJzcXVvO2Fzc2V0dG8gdG9wb2dyYWZpY28gZGkgU2Nhcm5hZmlnaSByZWxhdGl2byBhIHF1ZWwgcGVyaW9kbyBub24gJmVncmF2ZTsgZGlmZmljaWxlIGRhIHJpY29zdHJ1aXJlLCBpbmZhdHRpIGlsIGZvc3NhdG8gbHVuZ28gaWwgcGVyaW1ldHJvIGRlbGxlIG11cmEgc2kgc3BpZWdhdmEgbmVpIHByZXNzaSBkZWxsZSBhdHR1YWxpIHNlZGkgc3RyYWRhbGkgZGkgUGlhenphIFZpdHRvcmlvIEVtYW51ZWxlLENvcnNvIENhcmxvIEFsYmVydG8sIFZpY29sbyBDb3JiYSwgVmlhIFVtYmVydG8gSSwgVmlhIFBvbnRlIGUgVmlhIFNleXNzZWwgZCZyc3F1bztBaXg7IGkgcG9udGkgbGV2YXRvaSBkaSBhY2Nlc3NvIGFsIGJvcmdvIGVyYW5vIHRyZTogdmVyc28gUGlhenphIFZpdHRvcmlvIEVtYW51ZWxlLCB2ZXJzbyBQaWF6emV0dGEgTnVvdmEgZSB2ZXJzbyBWaWEgTW9uYXN0ZXJvbG8uPGJyIC8+DQpQYXJlY2NoaSB0cmF0dGkgZGVsbGUgbXVyYSBkaSBmb3J0aWZpY2F6aW9uZSBzb25vIGFuY29yYSBiZW4gdmlzaWJpbGkuPGJyIC8+DQpSaXNhbGUgcHJvYmFiaWxtZW50ZSBhdHRvcm5vIGFsICZsZHF1bzs8c3Ryb25nPk1pbGxlPC9zdHJvbmc+JnJkcXVvOyBjb21lIHBhbGF6em8gZm9ydGlmaWNhdG8sIGdvdGljbyBlIGRpIG1vZGVzdGUgcHJvcG9yemlvbmksY2hlIHJpbmNoaXVkZXZhIGFsIHN1byBpbnRlcm5vIGlsIHByaW9yaXRhcmlvIGJlbmVkZXR0aW5vIGRlbGxlIDxzdHJvbmc+bW9uYWNoZSBkaSBTYW4gUGlldHJvIGRpIFRvcmlubzwvc3Ryb25nPi48YnIgLz4NCklsIENhc3RlbGxvLCBuZWwgPHN0cm9uZz4xNjQxPC9zdHJvbmc+LCBwZXIgaW5pemlhdGl2YSBkZWwgPHN0cm9uZz5tYXJjaGVzZSBBbGVzc2FuZHJvIERlIFBvbnRlPC9zdHJvbmc+LCBjYW1iaWF2YSB2b2x0byBlIHZlbml2YSBhbXBsaWF0byBhbGxlIGZvcm1lIGUgZGltZW5zaW9uaSBhdHR1YWxpLCBhbmNoZSBzZSBsJnJzcXVvO2ludGVydmVudG8gbm9uIHBvdCZlZ3JhdmU7IGVzc2VyZSBjb21wbGV0YXRvIHNlIG5vbiBuZWxsYSBmYWNjaWF0YSBzdWQgYSByaWRvc3NvIGRlbCBjb3J0aWxldHRvIGludGVybm8uPGJyIC8+DQpMYSBmYWNjaWF0YSBub3JkIGUgcXVlbGxhIGEgcG9uZW50ZSBhcHBhaW9ubyBpbnZlY2UgYW5jb3JhIGdyZXp6ZS48L3NwYW4+PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48YnIgLz4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MjJweCI+PHNwYW4gc3R5bGU9ImNvbG9yOiNGRjhDMDAiPjxzdHJvbmc+TGEgUGFycm9jY2hpYWxlIE1hcmlhIFZlcmdpbmUgQXNzdW50YTwvc3Ryb25nPjwvc3Bhbj48YnIgLz4NCjxpbWcgYWx0PSJMYSBQYXJyb2NjaGlhbGUgTWFyaWEgVmVyZ2luZSBBc3N1bnRhIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8wMy5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OmxlZnQ7IGhlaWdodDoxODhweDsgbWFyZ2luOjEwcHg7IHdpZHRoOjI1MHB4IiAvPlNvcmdlIG5lbCBsdW9nbyBkZWxsJnJzcXVvO2FudGljYSBjYXBwZWxsYSBkaSBTYW50YSBNYXJpYSBlZCBhdHR1YWxtZW50ZSBzaSBwcmVzZW50YSBjb24gPHN0cm9uZz5mYWNjaWF0YSBkaSBmaW5lICZsc3F1bzs3MDA8L3N0cm9uZz4sIGludGVybm8gY29uIHRyZSBhbXBpZSBuYXZhdGUsIGEgc2luaXN0cmEgbGEgPHN0cm9uZz5jYXBwZWxsYSBkZWwgUy5TdWRhcmlvPC9zdHJvbmc+IGUgYSBkZXN0cmEgbGEgPHN0cm9uZz5jYXBwZWxsYSBpbnZlcm5hbGU8L3N0cm9uZz4gY29sbGVnYXRhIGFsbGEgdG9ycmUgY2FtcGFuYXJpYSBlZCBhbGxhIHNhY3Jlc3RpYS48YnIgLz4NCkZpbm8gYWxsYSBzZWNvbmRhIG1ldCZhZ3JhdmU7IGRlbCAxNTAwIGVyYSBjb3N0aXR1aXRhIGRhIHVuIHZhbm8gdW5pY28sIGxhIGZhY2NpYXRhIGFycml2YXZhIGFsbCZyc3F1bzthbHRlenphIGRlZ2xpIGFyY2hpIGNoZSBhdHR1YWxtZW50ZSBhcHJvbm8gYWxsZSBuYXZhdGUgbGF0ZXJhbGkgZWQgaWwgdGV0dG8gbGFzY2lhdmEgdmVkZXJlIGkgY29wcGk7IGFsIHBvc3RvIGRlbGwmcnNxdW87YXR0dWFsZSBjYXBwZWxsYSBkZWwgUy5TdWRhcmlvLCBmdSBjb3N0cnVpdGEgbGEgPHN0cm9uZz5jYXBwZWxsYSBkZWwgUy5TLiBTYWNyYW1lbnRvPC9zdHJvbmc+IGUgZGFsbGEgcGFydGUgb3Bwb3N0YSBsYSA8c3Ryb25nPmNhcHBlbGxhIGRlZGljYXRhIGEgUy5NaWNoZWxlPC9zdHJvbmc+OyBpbCBwcmltbyBncmFuZGUgaW50ZXJ2ZW50byB2ZW5uZSBjb21waXV0byBuZWwgPHN0cm9uZz4xNjIyLTIzPC9zdHJvbmc+IGNvbiBsJnJzcXVvO2FsbGFyZ2FtZW50byBkYSB1bmEgYSB0cmUgbmF2YXRlIGUgdW4gcmlhbHpvIGRpIGR1ZSBtZXRyaSwgdmVubmUgcmVhbGl6emF0YSBsYSBjYXBwZWxsYSBkZWwgUy5TdWRhcmlvIGUgc2kgYXJyaXYmb2dyYXZlOyBjb24gc3VjY2Vzc2l2aSBpbnRlcnZlbnRpIGFsbGEgc3RydXR0dXJhIGF0dHVhbGUuPGJyIC8+DQo8c3Ryb25nPk5lbCAxNzUzIGlsIHNhY2VyZG90ZSBDb250aSBkb25hdmEgYSBTY2FybmFmaWdpIGxlIHJlbGlxdWllIGRlaSBtYXJ0aXJpIHBhdHJvbmkgQ2FzdG8sIENsYXJhLCBPbm9yYXRvIGUgVmVyZWNvbmRvPC9zdHJvbmc+LjxiciAvPg0KSWwgY2FtcGFuaWxlLCBpbiBzdGlsZSBnb3RpY28gcm9tYW5pY28sICZlZ3JhdmU7IHN0YXRvIGFuY2gmcnNxdW87ZXNzbyBjb3N0cnVpdG8gaW4gc2V6aW9uaSBlZCBlcG9jaGUgZGl2ZXJzZTsgbCZyc3F1bzt1bHRpbW8gcHJvbHVuZ2FtZW50byBkZWxsYSB0b3JyZSwgcXVlbGxvIGNvbiBsZSBiaWZvcmUgc3VpIHF1YXR0cm8gbGF0aSBlIG9nZ2kgc2VkZSBkZWxsZSBjYW1wYW5lLCB2ZW5uZSBlZmZldHR1YXRvIHRyYSBpbCA8c3Ryb25nPjE4OTkgPC9zdHJvbmc+ZSBpbCA8c3Ryb25nPjE5MDE8L3N0cm9uZz4uPC9zcGFuPjwvcD4NCg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMnB4Ij48c3BhbiBzdHlsZT0iY29sb3I6I0ZGOEMwMCI+PHN0cm9uZz5MYSBDYXBwZWxsYSBkZWwgU2FudG8gU3VkYXJpbyAmbmJzcDsgJm5ic3A7IDwvc3Ryb25nPjwvc3Bhbj48c3Ryb25nPiZuYnNwOzwvc3Ryb25nPjxhIGhyZWY9Ii9jZ2ktYmluL3BhZ2luZS8yMDE2NDExMzQzMTUucGRmIj4vZ3VpZGFfU2FudG9fU3VkYXJpby5wZGY8L2E+PC9zcGFuPjwvcD4NCg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+PGJyIC8+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjIycHgiPjxzcGFuIHN0eWxlPSJjb2xvcjojRkY4QzAwIj48c3Ryb25nPkxhIGNhcHBlbGxhIGRlbGxhIFNhbnRpc3NpbWEgVHJpbml0JmFncmF2ZTs8L3N0cm9uZz48L3NwYW4+PGJyIC8+DQo8aW1nIGFsdD0iTGEgY2FwcGVsbGEgZGVsbGEgU2FudGlzc2ltYSBUcmluaXTDoCIgc3JjPSIvY2dpLWJpbi9wYWdpbmUvMDQuanBnIiBzdHlsZT0iYm9yZGVyLXN0eWxlOnNvbGlkOyBib3JkZXItd2lkdGg6MXB4OyBmbG9hdDpyaWdodDsgaGVpZ2h0OjE4OHB4OyBtYXJnaW46MTBweDsgd2lkdGg6MjUwcHgiIC8+RSZyc3F1bzsgaWwgbW9udW1lbnRvIHNhY3JvIHBpJnVncmF2ZTsgYW50aWNvIHN1bCB0ZXJyaXRvcmlvIGRpIFNjYXJuYWZpZ2ksIHViaWNhdGEgaW4gbWV6em8gYWkgY2FtcGkgZSBjb2xsZWdhdGEgZGEgdW4gdHJhY2NpYXRvIGNhbXBlc3RyZSBhbGxhIHN0cmFkYSBwZXIgPHN0cm9uZz5DZXJ2aWduYXNjbzwvc3Ryb25nPi4gRXNpc3RlIGZpbiBkYWxsJnJzcXVvO2luaXppbyBkZWwgPHN0cm9uZz4xMjAwIDwvc3Ryb25nPmUgYXBwYXJ0ZW5uZSBwZXIgbW9sdGkgc2Vjb2xpIGFsbGEgPHN0cm9uZz5Db21tZW5kYSBkZWkgQ2F2YWxpZXJpIGRpIE1hbHRhPC9zdHJvbmc+LCBsYSBzdWEgZm9uZGF6aW9uZSBwb3RyZWJiZSBwZXImb2dyYXZlOyBhdHRyaWJ1aXJzaSBhaSBUZW1wbGFyaS48YnIgLz4NCk5lbCA8c3Ryb25nPjE3OTggPC9zdHJvbmc+bGEgY2hpZXNhIGZ1IGFjcXVpc3RhdGEgZGFsbGEgPHN0cm9uZz5mYW1pZ2xpYSBCb3R0bzwvc3Ryb25nPiBjaGUgbGEgdXRpbGl6eiZvZ3JhdmU7Jm5ic3A7Y29tZSBkZXBvc2l0byBkZWkgZm9yYWdnaSBlIGR1cmFudGUgbGUgdmFyaWUgZ3VlcnJlIGZ1IHNlZGUgZSByaWNvdmVybyBkaSBzb2xkYXRpIGNoZSBsYSByaWR1c3Nlcm8gaW4gcGVzc2ltbyBzdGF0by4gRnUgcmVjdXBlcmF0YSBjb24gcHJlemlvc2kgaW50ZXJ2ZW50aSBuZWwgPHN0cm9uZz4xOTY3IDwvc3Ryb25nPmUgbmVsIDxzdHJvbmc+MTk4MTwvc3Ryb25nPi48L3NwYW4+PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIycHgiPjxhIGhyZWY9Ii9jZ2ktYmluL3BhZ2luZS8yMDE2NDExMzE4NC5wZGYiPi9ndWlkYV9TYW50aXNzaW1hX1RyaW5pdCZhZ3JhdmU7LnBkZjwvYT48L3NwYW4+PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48YnIgLz4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MjJweCI+PHNwYW4gc3R5bGU9ImNvbG9yOiNGRjhDMDAiPjxzdHJvbmc+TGEgQ29uZnJhdGVybml0YSBTYW50YSBDcm9jZTwvc3Ryb25nPjwvc3Bhbj48YnIgLz4NCjxpbWcgYWx0PSJMYSBDb25mcmF0ZXJuaXRhIFNhbnRhIENyb2NlIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8wNS5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OmxlZnQ7IGhlaWdodDoxNTBweDsgbWFyZ2luOjEwcHg7IHdpZHRoOjExM3B4IiAvPkZhYmJyaWNhdGEgbmVsIDxzdHJvbmc+MTcwMC0xNzAxIDwvc3Ryb25nPnBlciBpbml6aWF0aXZhIGRlZ2xpICZsZHF1bzs8c3Ryb25nPlVmZmljaWFsaSBkZWxsYSBDcm9jaWF0YTwvc3Ryb25nPiZyZHF1bzsgc3VsbGUgcm92aW5lIGRpIHVuJnJzcXVvO2FsdHJhIGNoaWVzYSBkaSBtb2Rlc3RhIHN0cnV0dHVyYTsgbGEgQ29uZnJhdGVybml0YSByZWFsaXp6YSBlc3Rlcm5hbWVudGUgdW4gcmljaGlhbW8gYSBkdWUgc3RpbGkgY2xhc3NpY2k6IGRvcmljbyBlIGlvbmljbywgbWVudHJlIGludGVybmFtZW50ZSBhbGxvIHN0aWxlIGNvcmluemlvLjwvc3Bhbj48L3A+DQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPiZuYnNwOzwvcD4NCg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+Jm5ic3A7PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij4mbmJzcDs8L3A+DQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MjJweCI+PHNwYW4gc3R5bGU9ImNvbG9yOiNGRjhDMDAiPjxzdHJvbmc+SWwgQ29sbGVnaW88L3N0cm9uZz48L3NwYW4+PGJyIC8+DQo8aW1nIGFsdD0iSWwgQ29sbGVnaW8iIHNyYz0iL2NnaS1iaW4vcGFnaW5lLzA2LmpwZyIgc3R5bGU9ImJvcmRlci1zdHlsZTpzb2xpZDsgYm9yZGVyLXdpZHRoOjFweDsgZmxvYXQ6cmlnaHQ7IGhlaWdodDoxNjZweDsgbWFyZ2luOjEwcHg7IHdpZHRoOjI1MHB4IiAvPlZlbm5lIGNvc3RydWl0byBuZWdsaSBhbm5pIDxzdHJvbmc+MTg0NC0xODQ3PC9zdHJvbmc+LCBuZSBwcmVzZXJvIHN1Y2Nlc3NpdmFtZW50ZSBwb3NzZXNzbyBpIDxzdHJvbmc+RmlnbGkgZGkgU2FuIFZpbmNlbnpvPC9zdHJvbmc+IGNoZSwgbmVsIDxzdHJvbmc+MTg0OCA8L3N0cm9uZz5pbml6aWF2YW5vIGEgcHJlZGljYXJ2aSBnbGkgZXNlcmNpemkgYWwgQ2xlcm8gZSBhZ2xpIE9yZGluYW5kaS48YnIgLz4NCk5lbCA8c3Ryb25nPjE4NTMgPC9zdHJvbmc+dmVuaXZhIGFwZXJ0byB1biBwaWNjb2xvIHNlbWluYXJpbyBwZXIgbGEgRGlvY2VzaS4gTmVsIDxzdHJvbmc+MTg3NCA8L3N0cm9uZz5pIE1pc3Npb25hcmkgZGl2ZW50YXZhbm8gcHJvcHJpZXRhcmkgaW4gbW9kbyBhc3NvbHV0byBkZWxsJnJzcXVvO2ludGVybyBjb21wbGVzc28uPGJyIC8+DQpMJnJzcXVvO3VsdGltbyBwaWFubyBkZWwgY2FzZWdnaWF0bywgYWRpYml0byBhIGRvcm1pdG9yaW8gcGVyIGNvbnZpdHRvcmksIHZlbml2YSBlcmV0dG8gbmVsIDxzdHJvbmc+MTkwNDwvc3Ryb25nPi4gRGFsIDxzdHJvbmc+MTk4MSA8L3N0cm9uZz5pbCBDb2xsZWdpbyAmZWdyYXZlOyBjaGl1c28gYSBjYXVzYSBkaSBncmF2aSBwcm9ibGVtaSBlY29ub21pY2kgcGVyIGxhIG1hbmNhbnphIGRpIHN0dWRlbnRpIHNlbWluYXJpc3RpLjxiciAvPg0KQXR0dWFsbWVudGUgc29ubyBpbiBjb3JzbyBpIGxhdm9yaSBwZXIgbGEgdHJhc2Zvcm1hemlvbmUgZGVsbCZyc3F1bztlZGlmaWNpbyBpbiBDZW50cm8gRmlzaW90ZXJhcGljby48L3NwYW4+PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48YnIgLz4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MjJweCI+PHNwYW4gc3R5bGU9ImNvbG9yOiNGRjhDMDAiPjxzdHJvbmc+SWwgUGFsYXp6byBDb211bmFsZTwvc3Ryb25nPjwvc3Bhbj48YnIgLz4NCjxpbWcgYWx0PSJJbCBQYWxhenpvIENvbXVuYWxlIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8wNy5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OmxlZnQ7IGhlaWdodDoxNTBweDsgbWFyZ2luOjEwcHg7IHdpZHRoOjIwMHB4IiAvPkxhIGZhY2NpYXRhIHJpc2FsZSBhbCA8c3Ryb25nPjE4MjQ8L3N0cm9uZz4sbWVudHJlIGdsaSBpbnRlcm5pIHNvbm8gc3RhdGkgY29tcGxldGFtZW50ZSByaWZhdHRpIG5lbCA8c3Ryb25nPjE5ODYtODg8L3N0cm9uZz4uPGJyIC8+DQpMYSBjYXNhIGNvbXVuYWxlIGhhIGNhbWJpYXRvIHBpJnVncmF2ZTsgdm9sdGUgY29sbG9jYXppb25lLCBmaW5vIGEgZ2l1bmdlcmUgYWxsYSBjb3RydXppb25lIG5lbGxlIHZpY2luYW56ZSBkZWwgcHJpb3JhdG8gYmVuZWRldHRpbm8gKGF0dHVhbGUgb3JhdG9yaW8tY2Fub25pY2EpIGUgcG9pIGFsbCZyc3F1bzthdHR1YWxlIGVkaWZpY2lvLjwvc3Bhbj48L3A+DQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPiZuYnNwOzwvcD4NCg0KPHAgc3R5bGU9InRleHQtYWxpZ246anVzdGlmeSI+Jm5ic3A7PC9wPg0KDQo8cCBzdHlsZT0idGV4dC1hbGlnbjpqdXN0aWZ5Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjIycHgiPjxzcGFuIHN0eWxlPSJjb2xvcjojRkY4QzAwIj48c3Ryb25nPklsIFNhbnR1YXJpbyBkZWwgQ3Jpc3RvPC9zdHJvbmc+PC9zcGFuPjxiciAvPg0KPGltZyBhbHQ9IklsIFNhbnR1YXJpbyBkZWwgQ3Jpc3RvIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8wOS5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OnJpZ2h0OyBoZWlnaHQ6MTUwcHg7IG1hcmdpbjoxMHB4OyB3aWR0aDoyMDBweCIgLz5MJnJzcXVvO2ltbW9iaWxlICZlZ3JhdmU7IHN0YXRvIGRlbm9taW5hdG8gPHN0cm9uZz5DaGllc2EgZGVsIENyaXN0bzwvc3Ryb25nPiB0cmEgbCZyc3F1bzt1bmRpY2VzaW1vIGVkIGlsIHRyZWRpY2VzaW1vIHNlY29sby4gTGEgem9uYSBkb3ZlIHNvcmdlLCBmYWNldmEgcGFydGUgZGVsbCZyc3F1bzthbnRpY28gYm9yZ28gZGkgJmxkcXVvOzxzdHJvbmc+VmlsbGEgUXVhZHJhY2lhbmE8L3N0cm9uZz4mcmRxdW87LCBhbmNoZSBzZSBwZXIgcmFnaW9uaSBhbmNvcmEgcG9jbyBjaGlhcmUsIG5vbiBmdSBxdWVzdG8gYm9yZ28gYSBzdmlsdXBwYXJzaSwgbWEgaWwgJmxkcXVvO2x1b2dvJnJkcXVvOyBkaSBTY2FybmFmaWdpLjxiciAvPg0KTGEgY2FwcGVsbGEgYXR0b3JubyBhbCA8c3Ryb25nPjE3MDA8L3N0cm9uZz4sIHZlbm5lIHJpY29zdHJ1aXRhIGVkIGFtcGxpYXRhLjxiciAvPg0KQWxsJnJzcXVvO2ludGVybm8gdmkgJmVncmF2ZTsgdW4gYWZmcmVzY28gZGkgaW5kdWJiaW8gdmFsb3JlIHN0b3JpY28gZSBhcnRpc3RpY28sIGNoZSBzaSBwcmVzdW1lIHJpc2FsZ2EgYWwgdGFyZG8gcXVhdHRyb2NlbnRvLCByYWZmaWd1cmFudGUgaWwgQ3Jpc3RvIGNyb2NpZmlzc28sIGUgZGkgY3VpIG5vbiBzaSAmZWdyYXZlOyBjZXJ0aSBjaGkgc2lhIGwmcnNxdW87YXV0b3JlLjwvc3Bhbj48L3A+DQoNCjxwIHN0eWxlPSJ0ZXh0LWFsaWduOmp1c3RpZnkiPjxiciAvPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToyMnB4Ij48c3BhbiBzdHlsZT0iY29sb3I6I0ZGOEMwMCI+PHN0cm9uZz5MYSBjaGllc2EgZGVsbCZyc3F1bztPc3BlZGFsZTwvc3Ryb25nPjwvc3Bhbj48YnIgLz4NCjxpbWcgYWx0PSJMYSBjaGllc2EgZGVsbOKAmU9zcGVkYWxlIiBzcmM9Ii9jZ2ktYmluL3BhZ2luZS8xMC5qcGciIHN0eWxlPSJib3JkZXItc3R5bGU6c29saWQ7IGJvcmRlci13aWR0aDoxcHg7IGZsb2F0OmxlZnQ7IGhlaWdodDoxMzNweDsgbWFyZ2luOjEwcHg7IHdpZHRoOjIwMHB4IiAvPlZlbm5lIGVkaWZpY2F0YSBuZWwgPHN0cm9uZz4xNzU3IDwvc3Ryb25nPmVkICZlZ3JhdmU7IGRlZGljYXRhIGFsbGEgPHN0cm9uZz5WZXJnaW5lIFNhbnRpc3NpbWEgZGVsbGEgQ29uY2V6aW9uZTwvc3Ryb25nPi48YnIgLz4NCkFubmVzc28gYWxsYSBjaGllc2Egc2kgdHJvdmEgbCZyc3F1bztvc3BlZGFsZS1yaWNvdmVybyBwZXIgYW56aWFuaSBkZWxsYSA8c3Ryb25nPkNvbmdyZWdhemlvbmUgZGkgQ2FyaXQmYWdyYXZlOzwvc3Ryb25nPi48L3NwYW4+PC9wPg0KZAIHDxYEHghkYXRhLXVybAVJaHR0cHM6Ly93d3cuY29tdW5lLnNjYXJuYWZpZ2kuY24uaXQvaXRhL3BhZ2luZS9kZXR0YWdsaW9fcGFnaW5hLmFzcHg/aWQ9Mh4KZGF0YS10aXRsZQUQQXJ0ZS1lLU1vbnVtZW50aWQCCQ8WBB8GBUlodHRwczovL3d3dy5jb211bmUuc2Nhcm5hZmlnaS5jbi5pdC9pdGEvcGFnaW5lL2RldHRhZ2xpb19wYWdpbmEuYXNweD9pZD0yHwcFEEFydGUtZS1Nb251bWVudGlkAgsPFgIfBgVJaHR0cHM6Ly93d3cuY29tdW5lLnNjYXJuYWZpZ2kuY24uaXQvaXRhL3BhZ2luZS9kZXR0YWdsaW9fcGFnaW5hLmFzcHg/aWQ9MmQCDQ8WAh8GBUlodHRwczovL3d3dy5jb211bmUuc2Nhcm5hZmlnaS5jbi5pdC9pdGEvcGFnaW5lL2RldHRhZ2xpb19wYWdpbmEuYXNweD9pZD0yZAIPDxYCHwYFSWh0dHBzOi8vd3d3LmNvbXVuZS5zY2FybmFmaWdpLmNuLml0L2l0YS9wYWdpbmUvZGV0dGFnbGlvX3BhZ2luYS5hc3B4P2lkPTJkAhEPFgIfAwUXPGI+Vml2ZXJlIGlsIENvbXVuZTwvYj5kAhUPFgIfBGhkAhEPFgIeBXN0eWxlBccBYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZTpjb3ZlciAhaW1wb3J0YW50O2JhY2tncm91bmQ6DQoJCQkJCQlsaW5lYXItZ3JhZGllbnQoDQoJCQkJCQkgIHJnYmEoMCwgMCwgMCwgMC4yKSwgDQoJCQkJCQkgIHJnYmEoMCwgMCwgMCwgMC4yKQ0KCQkJCQkJKSwgdXJsKCcvY2dpLWJpbi90ZXN0YXRlL2ltZzEud2VicCcpOxYCZg8WAh8FBRR0ZWw6MDE3NS43NDEwMS03NDQwMhYCAgEPFgIfAwUhQ2hpYW1hIGlsIG51bWVybyAwMTc1Ljc0MTAxLTc0NDAyZAISDxYCHwMFjwwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vMTUvQWdyaWNvbHR1cmEgZSBwZXNjYSc+QWdyaWNvbHR1cmEgZSBwZXNjYTwvYT4NCgkJCTwvbGk+PGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9zZXJ2aXppby8xMS9BbWJpZW50ZSc+QW1iaWVudGU8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vNi9BbmFncmFmZSBlIHN0YXRvIGNpdmlsZSc+QW5hZ3JhZmUgZSBzdGF0byBjaXZpbGU8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vMTQvQXBwYWx0aSBwdWJibGljaSc+QXBwYWx0aSBwdWJibGljaTwvYT4NCgkJCTwvbGk+PGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9zZXJ2aXppby8xMy9BdXRvcml6emF6aW9uaSc+QXV0b3Jpenphemlvbmk8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vNS9DYXRhc3RvIGUgdXJiYW5pc3RpY2EnPkNhdGFzdG8gZSB1cmJhbmlzdGljYTwvYT4NCgkJCTwvbGk+PGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9zZXJ2aXppby8xMC9DdWx0dXJhIGUgdGVtcG8gbGliZXJvJz5DdWx0dXJhIGUgdGVtcG8gbGliZXJvPC9hPg0KCQkJPC9saT48bGk+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nL3NlcnZpemlvLzEvRWR1Y2F6aW9uZSBlIGZvcm1hemlvbmUnPkVkdWNhemlvbmUgZSBmb3JtYXppb25lPC9hPg0KCQkJPC9saT48bGk+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nL3NlcnZpemlvLzgvR2l1c3RpemlhIGUgc2ljdXJlenphIHB1YmJsaWNhJz5HaXVzdGl6aWEgZSBzaWN1cmV6emEgcHViYmxpY2E8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vMTIvSW1wcmVzZSBlIGNvbW1lcmNpbyc+SW1wcmVzZSBlIGNvbW1lcmNpbzwvYT4NCgkJCTwvbGk+PGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9zZXJ2aXppby80L01vYmlsaXTDoCBlIHRyYXNwb3J0aSc+TW9iaWxpdMOgIGUgdHJhc3BvcnRpPC9hPg0KCQkJPC9saT48bGk+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nL3NlcnZpemlvLzIvU2FsdXRlLCBiZW5lc3NlcmUgZSBhc3Npc3RlbnphJz5TYWx1dGUsIGJlbmVzc2VyZSBlIGFzc2lzdGVuemE8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvc2Vydml6aW8vOS9UcmlidXRpLCBmaW5hbnplIGUgY29udHJhdnZlbnppb25pJz5UcmlidXRpLCBmaW5hbnplIGUgY29udHJhdnZlbnppb25pPC9hPg0KCQkJPC9saT48bGk+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0nL3NlcnZpemlvLzcvVHVyaXNtbyc+VHVyaXNtbzwvYT4NCgkJCTwvbGk+PGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9zZXJ2aXppby8zL1ZpdGEgbGF2b3JhdGl2YSc+Vml0YSBsYXZvcmF0aXZhPC9hPg0KCQkJPC9saT5kAhMPFgIfAwXwAg0KDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxpPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy9ub3ZpdGEvY2F0ZWdvcmlhLzE4L05vdGl6aWUnPk5vdGl6aWU8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvbm92aXRhL2NhdGVnb3JpYS8yMC9NRSBQQcOsUyc+TWUgcGHDrHM8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvbm92aXRhL2NhdGVnb3JpYS8xNDYvQXZ2aXNpJz5BdnZpc2k8L2E+DQoJCQk8L2xpPjxsaT4NCiAgICAgICAgICAgICAgICA8YSBocmVmPScvbm92aXRhL2NhdGVnb3JpYS8xNDcvQ29tdW5pY2F0aSc+Q29tdW5pY2F0aTwvYT4NCgkJCTwvbGk+ZAIVDxYCHwMFlwgNCiAgICAgICAgICAgICAgICBDb3JzbyBDYXJsbyBBbGJlcnRvLCAxIC0gMTIwMzAgU2Nhcm5hZmlnaSAoQ04pPGJyIC8+DQogICAgICAgICAgICAgICAgVGVsOiA8YSBocmVmPSd0ZWw6MDE3NS43NDEwMS03NDQwMic+MDE3NS43NDEwMS03NDQwMjwvYT48YnIgLz4NCiAgICAgICAgICAgICAgICBGYXg6IDxhIGhyZWY9J2ZheDowMTc1Ljc0NjE5Jz4wMTc1Ljc0NjE5PC9hPjxiciAvPg0KICAgICAgICAgICAgICAgIENvZGljZSBGaXNjYWxlOiA8c3Ryb25nPjg1MDAyMDUwMDQ2PC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgUGFydGl0YSBJVkE6IDxzdHJvbmc+MDA0NzUzNTAwNDc8L3N0cm9uZz48YnIgLz4NCiAgICAgICAgICAgICAgICBQLkUuQy46IDxhIGhyZWY9J21haWx0bzpzY2FybmFmaWdpQHBlYy5jb211bmUuc2Nhcm5hZmlnaS5jbi5pdCcgdGl0bGU9J3BlYyBub21lIGNvbXVuZSc+c2Nhcm5hZmlnaUBwZWMuY29tdW5lLnNjYXJuYWZpZ2kuY24uaXQ8L2E+PGJyIC8+DQogICAgICAgICAgICAgICAgRW1haWw6IDxhIGhyZWY9J21haWx0bzpzZWdyZXRlcmlhQGNvbXVuZS5zY2FybmFmaWdpLmNuLml0JyB0aXRsZT0nZW1haWwgbm9tZSBjb211bmUnPnNlZ3JldGVyaWFAY29tdW5lLnNjYXJuYWZpZ2kuY24uaXQ8L2E+PGJyIC8+DQogICAgICAgICAgICAgICAgRmF0dHVyYXppb25lIEVsZXR0cm9uaWNhOiA8c3Ryb25nPlVGV09JMjwvc3Ryb25nPjxiciAvPg0KICAgICAgICAgICAgICAgIENvZGljZSBJUEE6IDxzdHJvbmc+Y19pNTEyPC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgSUJBTiAocGVyIGkgdm9zdHJpIGJvbmlmaWNpIGJhbmNhcmkpOjxiciAvPjxzdHJvbmc+Q29udG8gQmFuY2EgZCdJdGFsaWE6IDMwMDQ5MTxicj5Db250byBkaSBUZXNvcmVyaWEgSUJBTjo8YnI+SVQ1MVIwNTM4NzQ2NzcwMDAwMDM4MDEyMTYwPC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgQ29udG8gQ29ycmVudGUgUG9zdGFsZTo8YnIgLz48c3Ryb25nPjE1ODc4MTI3PC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICBkAhYPFgIfAwXXCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICBDb2RpY2UgSVNUQVQ6IDxzdHJvbmc+MDA0MjE3PC9zdHJvbmc+ICZuYnNwOyZuYnNwOyZuYnNwOyANCiAgICAgICAgICAgICAgICBDb2RpY2UgQ2F0YXN0YWxlOiA8c3Ryb25nPkk1MTI8L3N0cm9uZz48YnIgLz4NCiAgICAgICAgICAgICAgICBBYml0YW50aTogPHN0cm9uZz4yLjEwMiBhbCAzMS4xMi4yMDIzPC9zdHJvbmc+ICZuYnNwOyZuYnNwOyZuYnNwOyANCiAgICAgICAgICAgICAgICBEZW5vbWluYXppb25lOiA8c3Ryb25nPlNjYXJuYWZpZ2VzaTwvc3Ryb25nPjxiciAvPg0KICAgICAgICAgICAgICAgIFN1cGVyZmljaWU6IDxzdHJvbmc+MzAsNDE8L3N0cm9uZz4gS21xLiAmbmJzcDsmbmJzcDsmbmJzcDsgDQogICAgICAgICAgICAgICAgRGVuc2l0w6A6IDxzdHJvbmc+Njk8L3N0cm9uZz4gKGFiL2ttcS4pPGJyIC8+DQogICAgICAgICAgICAgICAgU2FudG8gcGF0cm9ubzogPHN0cm9uZz5Db3JwaSBTYW50aSAtIHVsdGltYSBkb21lbmljYSBkaSBzZXR0ZW1icmU8L3N0cm9uZz48YnIgLz4NCiAgICAgICAgICAgICAgICBBbHRpdHVkaW5lIG1lZGlhOiA8c3Ryb25nPjI5Njwvc3Ryb25nPiBtLnMubC5tLjxiciAvPg0KICAgICAgICAgICAgICAgIExhdGl0dWRpbmU6IDxzdHJvbmc+NDTCsCA0MCcgNTQnJzwvc3Ryb25nPiAmbmJzcDsmbmJzcDsmbmJzcDsgDQogICAgICAgICAgICAgICAgTG9uZ2l0dWRpbmU6IDxzdHJvbmc+N8KwIDMzJyA1OScnPC9zdHJvbmc+PGJyIC8+DQogICAgICAgICAgICAgICAgQ29tdW5pIGxpbWl0cm9maTogPHN0cm9uZz5TYWx1enpvLCBMYWduYXNjbywgU2F2aWdsaWFubywgTW9uYXN0ZXJvbG8gZGkgU2F2aWdsaWFubywgUnVmZmlhLCBWaWxsYW5vdmEgU29sYXJvLCBUb3JyZSBTYW4gR2lvcmdpbzwvc3Ryb25nPjxiciAvPg0KICAgICAgICAgICAgICAgIEZyYXppb25pIGUgYm9yZ2F0ZTogPHN0cm9uZz5Gb3JuYWNhLCBMYSBHcmFuZ2lhPC9zdHJvbmc+PGJyIC8+PGJyIC8+DQogICAgICAgICAgICAgICAgPHN0cm9uZz5SZXNwb25zYWJpbGUgZGVsbGEgcHJvdGV6aW9uZSBkZWkgZGF0aSAoRC5QLk8uKTwvc3Ryb25nPjxiciAvPg0KICAgICAgICAgICAgICAgIEVtYWlsOiA8YSBocmVmPSdtYWlsdG86ZHBvQGFlc3Nlc2Vydml6aS5ldScgdGl0bGU9J3BlYyBkcG8nPmRwb0BhZXNzZXNlcnZpemkuZXU8L2E+PGJyIC8+DQogICAgICAgICAgICAgICAgUGVjOiA8YSBocmVmPSdtYWlsdG86c2VncmV0ZXJpYUBwZWMuYWVzc2VzZXJ2aXppLmV1JyB0aXRsZT0ncGVjIGxlZ2FsbWFpbCc+c2VncmV0ZXJpYUBwZWMuYWVzc2VzZXJ2aXppLmV1PC9hPjxiciAvPg0KICAgICAgICAgICAgZAIXD2QWBGYPFgIfAwWkATxhIGhyZWY9J2h0dHBzOi8vZm9ybS5hZ2lkLmdvdi5pdC92aWV3LzU4MGU3OGVlLTY1Y2EtNGYxMC04Yjc5LWRkNTM1OTIxMDgzZC8nICBkYXRhLWVsZW1lbnQ9J2FjY2Vzc2liaWxpdHktbGluaycgdGFyZ2V0PSdfYmxhbmsnPkRpY2hpYXJhemlvbmUgZGkgYWNjZXNzaWJpbGl0w6A8L2E+ZAIBDxYCHwUFHS9jZ2ktYmluL2FyY2hpdmlvL3N0YXR1dG8ucGRmZAIYDxYCHwMFjBMNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ndGV4dC10cnVuY2F0ZSc+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0naHR0cDovL3d3dy5jYXNhZGlyaXBvc29yZWdpbmFkZWxsYXBhY2UuaXQvaG9tZS8nIHRhcmdldD0nX2JsYW5rJz5DYXNhIGRpIFJpcG9zbyBSZWdpbmEgZGVsbGEgUGFjZTwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LnZpc2l0bW92ZS5pdC8nIHRhcmdldD0nX2JsYW5rJz5WaXNpdE1PVkVfTW9udmlzb09jY2l0YW5WYWxsZXlzRXVyb3BlPC9hPg0KCQkJPC9saT48bGkgY2xhc3M9J3RleHQtdHJ1bmNhdGUnPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vd3d3LnZpc2l0Y3VuZWVzZS5pdC8nIHRhcmdldD0nX2JsYW5rJz5WSVNJVCBDVU5FRVNFPC9hPg0KCQkJPC9saT48bGkgY2xhc3M9J3RleHQtdHJ1bmNhdGUnPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vYXNzb2NpYXppb25lb2N0YXZpYS5jb20vJyB0YXJnZXQ9J19ibGFuayc+QVNTT0NJQVpJT05FIE9DVEFWSUE8L2E+DQoJCQk8L2xpPjxsaSBjbGFzcz0ndGV4dC10cnVuY2F0ZSc+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0naHR0cDovL3d3dy5tb252aXNvLmV1LycgdGFyZ2V0PSdfYmxhbmsnPlJpc2VydmEgZGVsbGEgQmlvc2ZlcmEgdHJhbnNmcm9udGFsaWVyYSBkZWwgTW9udmlzbzwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LnJlZ2lvbmUucGllbW9udGUuaXQvJyB0YXJnZXQ9J19ibGFuayc+VmlzaXRhIGlsIHNpdG8gZGVsbGEgUmVnaW9uZSBQaWVtb250ZTwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LmFubmlhenp1cnJpLml0L3Jlc2lkZW56YS1hbm5pLWF6enVycmktdmlsbGEtc2FuLXZpbmNlbnpvJyB0YXJnZXQ9J19ibGFuayc+VmlsbGEgU2FuIFZpbmNlbnpvIC0gUmVzaWRlbnphIEFubmkgQXp6dXJyaTwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LnByb3ZpbmNpYS5jdW5lby5pdC8nIHRhcmdldD0nX2JsYW5rJz5WaXNpdGEgaWwgc2l0byBkZWxsYSBQcm92aW5jaWEgZGkgQ3VuZW88L2E+DQoJCQk8L2xpPjxsaSBjbGFzcz0ndGV4dC10cnVuY2F0ZSc+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0naHR0cDovL3d3dy5jb25zb3J6aW9zZWEuaXQnIHRhcmdldD0nX2JsYW5rJz5Db25zb3J6aW8gU2Vydml6aSBFY29sb2dpYSBBbWJpZW50ZTwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LmZpZXJhZGlwcmltYXZlcmEubmV0JyB0YXJnZXQ9J19ibGFuayc+RmllcmEgZGkgUHJpbWF2ZXJhPC9hPg0KCQkJPC9saT48bGkgY2xhc3M9J3RleHQtdHJ1bmNhdGUnPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9J2h0dHBzOi8vaW5kYXRhLmlzdGF0Lml0L3BkYy8nIHRhcmdldD0nX2JsYW5rJz5TY2hlZGEgSXN0YXQgUHJhdGljaGUgZWRpbGl6aWU8L2E+DQoJCQk8L2xpPjxsaSBjbGFzcz0ndGV4dC10cnVuY2F0ZSc+DQogICAgICAgICAgICAgICAgPGEgaHJlZj0naHR0cHM6Ly9jb211bmUuc2FsdXp6by5jbi5pdC91ZmZpY2ktZS1zZXJ2aXppL2FsbGEtcGVyc29uYS9pbmZvcm1hZ2lvdmFuaS8nIHRhcmdldD0nX2JsYW5rJz5JbmZvcm1hIEdpb3ZhbmkgLSBDb211bmUgZGkgU2FsdXp6bzwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3Lm1vbnZpc28uaXQnIHRhcmdldD0nX2JsYW5rJz5Db25zb3J6aW8gTW9udmlzbyBTb2xpZGFsZTwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LmFzbGNuMS5pdC8nIHRhcmdldD0nX2JsYW5rJz5BLlMuTC4gQ04xIC0gQ3VuZW8sIE1vbmRvdsOsIGUgU2F2aWdsaWFubzwvYT4NCgkJCTwvbGk+PGxpIGNsYXNzPSd0ZXh0LXRydW5jYXRlJz4NCiAgICAgICAgICAgICAgICA8YSBocmVmPSdodHRwOi8vd3d3LmZpdHdhbGtpbmcuaXQvaXRhLycgdGFyZ2V0PSdfYmxhbmsnPkwnYXJ0ZSBkZWwgY2FtbWluYXJlPC9hPg0KCQkJPC9saT48bGkgY2xhc3M9J3RleHQtdHJ1bmNhdGUnPg0KICAgICAgICAgICAgICAgIDxhIGhyZWY9J2h0dHA6Ly93d3cubGluZWFhbWljYS5nb3YuaXQvJyB0YXJnZXQ9J19ibGFuayc+TGluZWEgQW1pY2E8L2E+DQoJCQk8L2xpPmQCGQ8WBB8DZR8EaGQCGg8WAh8EaGQCGw8WAh8EaGQCHA8WAh8EaGQCHQ8WAh8EZxYCAgEPFgIfBQUgaHR0cHM6Ly90Lm1lL1Zpc2l0U2Nhcm5hZmlnaV9ib3RkAh4PFgIfBGhkAh8PFgIfBGcWAgIBDxYCHwUFDS9pdGEvcnNzLmFzcHhkAiAPFgIfBGhkAiEPFgIfAwUEMjAyNGRkxbvZxA1iFUjpDVfwKzG+QPYVAFV/Vj+tl7wMkC2oiw8=" /> </div> <div class="aspNetHidden"> <input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="8136A8F4" /> </div> <style> @media screen and (max-width: 768px){ .footer-list__media_column { column-count: 1 !important; } } </style> <!-- Header Pagina --> <header class="it-header-wrapper" data-bs-target="#header-nav-wrapper" style=""> <div class="it-header-slim-wrapper"> <div class="container"> <div class="row"> <div class="col-12"> <div class="it-header-slim-wrapper-content"> <a class="d-lg-block navbar-brand" target="_blank" href="https://www.regione.piemonte.it/web/" aria-label="Vai al portale Regione Piemonte - link esterno - apertura nuova scheda" title="Vai al portale Regione Piemonte">Regione Piemonte</a> <div class="it-header-slim-right-zone" role="navigation"> <!-- COMUNI MULTILINGUA --> <div class="nav-item dropdown"> <button type="button" class="nav-link dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="languages" aria-haspopup="true"> <span class="visually-hidden">Lingua attiva:</span> <span id="current_lang">ITA</span> <svg class="icon"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-expand"></use> </svg> </button> <div class="dropdown-menu"> <div class="row"> <div class="col-12"> <div class="link-list-wrapper"> <ul class="link-list"> <li><a class="dropdown-item list-item" onclick="SetLang('')"><span>ITA</span></a></li> </ul> </div> </div> </div> </div> </div> <a class="btn btn-primary btn-icon btn-full btn_dislessia" href="#" aria-label="Usa la font Biancoenero 庐" data-container="body" data-bs-toggle="popover" data-bs-trigger="hover" data-bs-placement="right" data-html="true" title="Biancoenero 庐" data-bs-content="biancoenero 庐 猫 la prima font italiana ad Alta Leggibilit脿, messa a disposizione gratuitamente per chi ne faccia un uso non commerciale; 猫 stata disegnata dai graphic designer Riccardo Lorusso e Umberto Mischi, con la consulenza di Alessandra Finzi (psicologa cognitiva), Daniele Zanoni (esperto di metodi di studio in disturbi dell'apprendimento) e Luciano Perondi (designer e docente di tipografia all'ISIA di Urbino)." style="box-shadow: none !important"> <span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-password-visible"></use> </svg> </span> <span class="d-none d-lg-block text-inline">Utenti con dislessia</span> </a> <a class="btn btn-primary btn-icon btn-full" href="/aree-tematiche" aria-label="Vai a Aree Tematiche" style="box-shadow: none !important"> <span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-list"></use> </svg> </span> <span class="d-none d-lg-block text-inline">Aree Tematiche</span> </a> <a class="btn btn-primary btn-icon btn-full" aria-label="Vai all'Area Personale" href="https://servizi.comune.scarnafigi.cn.it/servizi/filodiretto2/Login.Aspx?CE=scrnfg591&ACCESSO=C" data-element="personal-area-login" style="box-shadow: none !important"> <span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-user"></use> </svg> </span> <span id="areapers_label" class="d-none d-lg-block text-inline">Accedi all'area personale</span> </a> </div> </div> </div> </div> </div> </div> <div class="it-nav-wrapper"> <div class="it-header-center-wrapper"> <div class="container"> <div class="row"> <div class="col-12"> <div class="it-header-center-content-wrapper"> <div class="it-brand-wrapper"> <a href="/index.aspx" title="Vai alla homepage" aria-label="Home Scarnafigi"> <img class="logo_head" src="/images/logo_tratto.png" alt="Scarnafigi" title="Scarnafigi"/> <div class="it-brand-text"> <div class="it-brand-title">Comune di Scarnafigi</div> <!--<p class="sottotitolo_personalizz" style="margin-bottom: 0px">Medaglia d'Oro al Merito Civile</p>--> </div> </a> </div> <div class="it-right-zone"> <div class="it-socials d-none d-lg-flex"> <span>Seguici su</span> <ul> <li id="telegram_icon2"> <a href="https://t.me/VisitScarnafigi_bot" id="telegram_url2" target="_blank" title="Telegram"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-telegram"></use> </svg> <span class="visually-hidden">Telegram</span> </a> </li> <li id="rss_icon2"> <a href="/ita/rss.aspx" id="rss_url2" target="_blank" title="RSS"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-rss"></use> </svg> <span class="visually-hidden">RSS</span> </a> </li> </ul> </div> <div class="it-search-wrapper"> <span class="d-none d-md-block">Cerca</span> <button class="search-link rounded-icon" type="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="Cerca nel sito"> <svg class="icon"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-search"></use> </svg> </button> </div> </div> </div> </div> </div> </div> </div> <div class="it-header-navbar-wrapper" id="header-nav-wrapper"> <div class="container"> <div class="row"> <div class="col-12"> <nav class="navbar navbar-expand-lg has-megamenu" aria-label="Navigazione principale"> <button class="custom-navbar-toggler" type="button" aria-controls="nav4" aria-expanded="false" aria-label="Mostra/Nascondi la navigazione" data-bs-target="#nav4" data-bs-toggle="navbarcollapsible" role="navigation"> <svg class="icon"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-burger"></use> </svg> </button> <div class="navbar-collapsable" id="nav4"> <div class="overlay" style="display: none;"></div> <div class="close-div"> <button class="btn close-menu" type="button"> <span class="visually-hidden">Nascondi la navigazione</span> <svg class="icon"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-close-big"></use> </svg> </button> </div> <div class="menu-wrapper"> <a href="/index.aspx" aria-label="home Scarnafigi" class="logo-hamburger p-0 pt-4 pe-2"> <img loading='lazy' class="logo_head" src="/images/logo-trattoprimary.png" alt="Scarnafigi" title="Scarnafigi"/> <div class="it-brand-text"> <div class="it-brand-title">Comune di Scarnafigi</div> </div> </a> <ul class="navbar-nav navigazione_main" data-element="main-navigation"> <li class="nav-item"> <a class="nav-link" href="/amministrazione" data-element="management"> <span>Amministrazione</span> </a> </li> <li class="nav-item"> <a class="nav-link" href="/novita" data-element="news"> <span>Novit脿</span> </a> </li> <li class="nav-item"> <a class="nav-link" href="/servizi" data-element="all-services"> <span>Servizi</span> </a> </li> <li class="nav-item"> <a class="nav-link" href="/vivere-il-comune" data-element="live"> <span>Vivere il Comune</span> </a> </li> </ul> <ul id="barra_argomenti" class="navbar-nav navbar-secondary"> <li class='nav-item d-lg-none'> <a class='nav-link text-primary' href='/Admin/WebForms/Cruscotto.aspx'> <span> <svg class='icon icon-primary' aria-hidden='true'> <use xlink:href='/assets/bootstrap-italia/dist/svg/sprites.svg#it-locked'></use> </svg> Accedi all'area riservata </span> </a> </li> <li class='nav-item'> <a data-element='topic-element' class='nav-link' href='/argomento/4/Accesso-all-27informazione'>Accesso all'informazione</a> </li><li class='nav-item'> <a class='nav-link' href='/amministrazione/documenti-e-dati'> <span>Documenti e dati</span> </a> </li> <li class='nav-item'> <a class='nav-link' href='/argomenti' data-element='all-topics'> <span class='fw-bold'>Tutti gli argomenti</span> </a> </li></ul> <div class="it-socials"> <span>Seguici su</span> <ul> <li id="telegram_icon"> <a href="https://t.me/VisitScarnafigi_bot" id="telegram_url" target="_blank"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-telegram"></use> </svg> <span class="visually-hidden">Telegram</span> </a> </li> <li id="rss_icon"> <a href="/ita/rss.aspx" id="rss_url" target="_blank"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-rss"></use> </svg> <span class="visually-hidden">RSS</span> </a> </li> </ul> </div> </div> </div> </nav> </div> </div> </div> </div> </div> </header> <!-- Contenuto pagina --> <style> tbody, td, tfoot, th, thead, tr{ border: 1px solid; } table[border="0"] tbody, table[border="0"] td, table[border="0"] tfoot, table[border="0"] th, table[border="0"] thead, table[border="0"] tr{ border: none; } @media(max-width: 768px){ article.it-page-section > *{ max-width: 100% !important; } } .sharethis-inline-share-buttons { text-align: center !important } @media(max-width: 768px){ img { max-width: 100% !important } img { object-fit:contain } main { overflow: hidden !important } } </style> <main> <div class="container" id="main-container"> <div class="row justify-content-center"> <div class="col-12 col-lg-10"> <div class="cmp-breadcrumbs" role="navigation"> <nav class="breadcrumb-container"> <ol class="breadcrumb p-0" data-element="breadcrumb"> <li class="breadcrumb-item"><a href="/index.aspx">Home</a><span class="separator">/</span></li> <!--<li class="breadcrumb-item">Pagine Libere<span class="separator">/</span></li>--> <li id="ContentPlaceHolder1_bread_title1" class="breadcrumb-item"><a href='/vivere-il-comune'>Vivere il Comune</a></li> <li id="ContentPlaceHolder1_titolo_news" class="breadcrumb-item active" aria-current="page"><span class="separator">/</span>Arte e Monumenti</li> </ol> </nav> </div> </div> </div> </div> <div class="container"> <div class="row border-top border-light pb-80"> <section class="col-lg-8 it-page-sections-container"> <article id="ContentPlaceHolder1_descrizione_testo" class="it-page-section"><h1 style="text-align:center"><span style="color:#B22222"><span style="font-size:24px"><strong>ARTE E MONUMENTI</strong></span></span></h1> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>Il Castello</strong></span><br /> <img alt="Il Castello" src="/cgi-bin/pagine/02.jpg" style="border-style:solid; border-width:1px; float:right; height:154px; margin:10px; width:250px" />L’assetto topografico di Scarnafigi relativo a quel periodo non è difficile da ricostruire, infatti il fossato lungo il perimetro delle mura si spiegava nei pressi delle attuali sedi stradali di Piazza Vittorio Emanuele,Corso Carlo Alberto, Vicolo Corba, Via Umberto I, Via Ponte e Via Seyssel d’Aix; i ponti levatoi di accesso al borgo erano tre: verso Piazza Vittorio Emanuele, verso Piazzetta Nuova e verso Via Monasterolo.<br /> Parecchi tratti delle mura di fortificazione sono ancora ben visibili.<br /> Risale probabilmente attorno al “<strong>Mille</strong>” come palazzo fortificato, gotico e di modeste proporzioni,che rinchiudeva al suo interno il prioritario benedettino delle <strong>monache di San Pietro di Torino</strong>.<br /> Il Castello, nel <strong>1641</strong>, per iniziativa del <strong>marchese Alessandro De Ponte</strong>, cambiava volto e veniva ampliato alle forme e dimensioni attuali, anche se l’intervento non potè essere completato se non nella facciata sud a ridosso del cortiletto interno.<br /> La facciata nord e quella a ponente appaiono invece ancora grezze.</span></p> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>La Parrocchiale Maria Vergine Assunta</strong></span><br /> <img alt="La Parrocchiale Maria Vergine Assunta" src="/cgi-bin/pagine/03.jpg" style="border-style:solid; border-width:1px; float:left; height:188px; margin:10px; width:250px" />Sorge nel luogo dell’antica cappella di Santa Maria ed attualmente si presenta con <strong>facciata di fine ‘700</strong>, interno con tre ampie navate, a sinistra la <strong>cappella del S.Sudario</strong> e a destra la <strong>cappella invernale</strong> collegata alla torre campanaria ed alla sacrestia.<br /> Fino alla seconda metà del 1500 era costituita da un vano unico, la facciata arrivava all’altezza degli archi che attualmente aprono alle navate laterali ed il tetto lasciava vedere i coppi; al posto dell’attuale cappella del S.Sudario, fu costruita la <strong>cappella del S.S. Sacramento</strong> e dalla parte opposta la <strong>cappella dedicata a S.Michele</strong>; il primo grande intervento venne compiuto nel <strong>1622-23</strong> con l’allargamento da una a tre navate e un rialzo di due metri, venne realizzata la cappella del S.Sudario e si arrivò con successivi interventi alla struttura attuale.<br /> <strong>Nel 1753 il sacerdote Conti donava a Scarnafigi le reliquie dei martiri patroni Casto, Clara, Onorato e Verecondo</strong>.<br /> Il campanile, in stile gotico romanico, è stato anch’esso costruito in sezioni ed epoche diverse; l’ultimo prolungamento della torre, quello con le bifore sui quattro lati e oggi sede delle campane, venne effettuato tra il <strong>1899 </strong>e il <strong>1901</strong>.</span></p> <p style="text-align:justify"><span style="font-size:22px"><span style="color:#FF8C00"><strong>La Cappella del Santo Sudario </strong></span><strong> </strong><a href="/cgi-bin/pagine/201641134315.pdf">/guida_Santo_Sudario.pdf</a></span></p> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>La cappella della Santissima Trinità</strong></span><br /> <img alt="La cappella della Santissima Trinit脿" src="/cgi-bin/pagine/04.jpg" style="border-style:solid; border-width:1px; float:right; height:188px; margin:10px; width:250px" />E’ il monumento sacro più antico sul territorio di Scarnafigi, ubicata in mezzo ai campi e collegata da un tracciato campestre alla strada per <strong>Cervignasco</strong>. Esiste fin dall’inizio del <strong>1200 </strong>e appartenne per molti secoli alla <strong>Commenda dei Cavalieri di Malta</strong>, la sua fondazione potrebbe però attribuirsi ai Templari.<br /> Nel <strong>1798 </strong>la chiesa fu acquistata dalla <strong>famiglia Botto</strong> che la utilizzò come deposito dei foraggi e durante le varie guerre fu sede e ricovero di soldati che la ridussero in pessimo stato. Fu recuperata con preziosi interventi nel <strong>1967 </strong>e nel <strong>1981</strong>.</span></p> <p style="text-align:justify"><span style="font-size:22px"><a href="/cgi-bin/pagine/20164113184.pdf">/guida_Santissima_Trinità.pdf</a></span></p> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>La Confraternita Santa Croce</strong></span><br /> <img alt="La Confraternita Santa Croce" src="/cgi-bin/pagine/05.jpg" style="border-style:solid; border-width:1px; float:left; height:150px; margin:10px; width:113px" />Fabbricata nel <strong>1700-1701 </strong>per iniziativa degli “<strong>Ufficiali della Crociata</strong>” sulle rovine di un’altra chiesa di modesta struttura; la Confraternita realizza esternamente un richiamo a due stili classici: dorico e ionico, mentre internamente allo stile corinzio.</span></p> <p style="text-align:justify"> </p> <p style="text-align:justify"> </p> <p style="text-align:justify"> </p> <p style="text-align:justify"><span style="font-size:22px"><span style="color:#FF8C00"><strong>Il Collegio</strong></span><br /> <img alt="Il Collegio" src="/cgi-bin/pagine/06.jpg" style="border-style:solid; border-width:1px; float:right; height:166px; margin:10px; width:250px" />Venne costruito negli anni <strong>1844-1847</strong>, ne presero successivamente possesso i <strong>Figli di San Vincenzo</strong> che, nel <strong>1848 </strong>iniziavano a predicarvi gli esercizi al Clero e agli Ordinandi.<br /> Nel <strong>1853 </strong>veniva aperto un piccolo seminario per la Diocesi. Nel <strong>1874 </strong>i Missionari diventavano proprietari in modo assoluto dell’intero complesso.<br /> L’ultimo piano del caseggiato, adibito a dormitorio per convittori, veniva eretto nel <strong>1904</strong>. Dal <strong>1981 </strong>il Collegio è chiuso a causa di gravi problemi economici per la mancanza di studenti seminaristi.<br /> Attualmente sono in corso i lavori per la trasformazione dell’edificio in Centro Fisioterapico.</span></p> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>Il Palazzo Comunale</strong></span><br /> <img alt="Il Palazzo Comunale" src="/cgi-bin/pagine/07.jpg" style="border-style:solid; border-width:1px; float:left; height:150px; margin:10px; width:200px" />La facciata risale al <strong>1824</strong>,mentre gli interni sono stati completamente rifatti nel <strong>1986-88</strong>.<br /> La casa comunale ha cambiato più volte collocazione, fino a giungere alla cotruzione nelle vicinanze del priorato benedettino (attuale oratorio-canonica) e poi all’attuale edificio.</span></p> <p style="text-align:justify"> </p> <p style="text-align:justify"> </p> <p style="text-align:justify"><span style="font-size:22px"><span style="color:#FF8C00"><strong>Il Santuario del Cristo</strong></span><br /> <img alt="Il Santuario del Cristo" src="/cgi-bin/pagine/09.jpg" style="border-style:solid; border-width:1px; float:right; height:150px; margin:10px; width:200px" />L’immobile è stato denominato <strong>Chiesa del Cristo</strong> tra l’undicesimo ed il tredicesimo secolo. La zona dove sorge, faceva parte dell’antico borgo di “<strong>Villa Quadraciana</strong>”, anche se per ragioni ancora poco chiare, non fu questo borgo a svilupparsi, ma il “luogo” di Scarnafigi.<br /> La cappella attorno al <strong>1700</strong>, venne ricostruita ed ampliata.<br /> All’interno vi è un affresco di indubbio valore storico e artistico, che si presume risalga al tardo quattrocento, raffigurante il Cristo crocifisso, e di cui non si è certi chi sia l’autore.</span></p> <p style="text-align:justify"><br /> <span style="font-size:22px"><span style="color:#FF8C00"><strong>La chiesa dell’Ospedale</strong></span><br /> <img alt="La chiesa dell鈥橭spedale" src="/cgi-bin/pagine/10.jpg" style="border-style:solid; border-width:1px; float:left; height:133px; margin:10px; width:200px" />Venne edificata nel <strong>1757 </strong>ed è dedicata alla <strong>Vergine Santissima della Concezione</strong>.<br /> Annesso alla chiesa si trova l’ospedale-ricovero per anziani della <strong>Congregazione di Carità</strong>.</span></p> </article> </section> <section class="col-lg-4 it-page-sections-container"> <div class="dropdown d-inline" style="margin-top: 15px;"> <button aria-label="condividi sui social" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="shareActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-share"></use> </svg> <small>Condividi</small> </button> <div class="dropdown-menu shadow-lg" aria-labelledby="shareActions"> <div class="link-list-wrapper social_news_share"> <ul class="link-list" role="menu"> <li role="none"> <a id="social_fb" class="list-item" onclick="share_social('facebook')" role="menuitem" data-url="https://www.comune.scarnafigi.cn.it/ita/pagine/dettaglio_pagina.aspx?id=2" data-title="Arte-e-Monumenti"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-facebook"></use> </svg> <span>Facebook</span> </a> </li> <li role="none"> <a href="#" id="social_twitter" class="list-item" role="menuitem" onclick="share_social('twitter')" data-url="https://www.comune.scarnafigi.cn.it/ita/pagine/dettaglio_pagina.aspx?id=2" data-title="Arte-e-Monumenti"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-twitter"></use> </svg> <span>Twitter</span> </a> </li> <li role="none"> <a href="#" id="social_linkedin" class="list-item" role="menuitem" onclick="share_social('linkedin')" data-url="https://www.comune.scarnafigi.cn.it/ita/pagine/dettaglio_pagina.aspx?id=2"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-linkedin"></use> </svg> <span>Linkedin</span> </a> </li> <li role="none"> <a href="#" id="social_whatsapp" class="list-item" role="menuitem" onclick="share_social('whatsapp')" data-url="https://www.comune.scarnafigi.cn.it/ita/pagine/dettaglio_pagina.aspx?id=2"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-whatsapp"></use> </svg> <span style="margin-right: 0px !important;">Whatsapp</span> </a> </li> <li role="none"> <a href="#" id="social_telegram" class="list-item" role="menuitem" onclick="share_social('telegram')" data-url="https://www.comune.scarnafigi.cn.it/ita/pagine/dettaglio_pagina.aspx?id=2"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-telegram"></use> </svg> <span style="margin-right: 0px !important;">Telegram</span> </a> </li> </ul> </div> </div> </div> <div class="dropdown d-inline"> <button aria-label="vedi azioni da compiere sulla pagina" class="btn btn-dropdown dropdown-toggle text-decoration-underline d-inline-flex align-items-center fs-0" type="button" id="viewActions" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-more-items"></use> </svg> <small>Vedi azioni</small> </button> <div class="dropdown-menu shadow-lg" aria-labelledby="viewActions"> <div class="link-list-wrapper"> <ul class="link-list" role="menu"> <li role="none"> <a class="list-item" onclick="save_html()" role="menuitem"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-download"></use> </svg> <span>Scarica</span> </a> </li> <li role="none"> <a class="list-item" onclick="print()" role="menuitem"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-print"></use> </svg> <span>Stampa</span> </a> </li> <!--<li role="none"> <a class="list-item" href="#" role="menuitem"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-hearing"></use> </svg> <span>Ascolta</span> </a> </li>--> <li role="none"> <a class="list-item" onclick="send_mail()" role="menuitem"> <svg class="icon" aria-hidden="true"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-mail"></use> </svg> <span>Invia</span> </a> </li> </ul> </div> </div> </div> <!--<div class="col-12 col-lg-12" style="margin-top: 25px;margin-bottom: 25px"> <a href="/index.aspx#servizi_in_evidenza" class="hover_underlined" style="text-decoration: none; color: #191919; cursor:pointer"> <span id="ContentPlaceHolder1_arg_agid" class="subtitle-small"><b>Vivere il Comune</b></span> </a> <ul id="ContentPlaceHolder1_elenco_pagine" class="link-list t-primary"> </ul> </div>--> </section> </div> </div> </main> <script src="/assets/js/printThis.js"></script> <script src="/assets/js/azioni.js"></script> <script> $("document").ready(function () { $(".link-list-wrapper .link-sublist .list-item").eq(0).addClass("active"); $(".link-list-wrapper .link-sublist .list-item").on("click", function () { $(".link-list-wrapper .link-sublist .list-item").removeClass("active"); $(this).addClass("active"); }); if ($(window).width() <= 768) { $(".list_indici").removeClass("show"); } }) </script> <div class="bg-primary no-print"> <div class="container"> <div class="row d-flex justify-content-center bg-primary"> <div class="col-12 col-lg-6"> <div class="cmp-rating pt-lg-80 pb-lg-80" id=""> <div class="card shadow card-wrapper" data-element="feedback"> <div class="cmp-rating__card-first"> <div class="card-header border-0"> <h2 class="title-medium-2-semi-bold mb-0" id="title_valuta" data-element="feedback-title"></h2> </div> <div class="card-body"> <fieldset class="rating"> <legend class="visually-hidden">Valuta da 1 a 5 stelle la pagina</legend> <input type="radio" id="star5a" name="ratingA" value="5"> <label class="full rating-star" for="star5a" data-element="feedback-rate-5"> <svg class="icon icon-sm" role="img" aria-labelledby="first-star"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-star-full"></use> </svg> <span class="visually-hidden" id="first-star">Valuta 5 stelle su 5</span> </label> <input type="radio" id="star4a" name="ratingA" value="4"> <label class="full rating-star" for="star4a" data-element="feedback-rate-4"> <svg class="icon icon-sm" role="img" aria-labelledby="second-star"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-star-full"></use> </svg> <span class="visually-hidden" id="second-star">Valuta 4 stelle su 5</span> </label> <input type="radio" id="star3a" name="ratingA" value="3"> <label class="full rating-star" for="star3a" data-element="feedback-rate-3"> <svg class="icon icon-sm" role="img" aria-labelledby="third-star"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-star-full"></use> </svg> <span class="visually-hidden" id="third-star">Valuta 3 stelle su 5</span> </label> <input type="radio" id="star2a" name="ratingA" value="2"> <label class="full rating-star" for="star2a" data-element="feedback-rate-2"> <svg class="icon icon-sm" role="img" aria-labelledby="fourth-star" > <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-star-full"></use> </svg> <span class="visually-hidden" id="fourth-star">Valuta 2 stelle su 5</span> </label> <input type="radio" id="star1a" name="ratingA" value="1"> <label class="full rating-star" for="star1a" data-element="feedback-rate-1"> <svg class="icon icon-sm" role="img" aria-labelledby="fifth-star"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-star-full"></use> </svg> <span class="visually-hidden" id="fifth-star">Valuta 1 stelle su 5</span> </label> </fieldset> </div> </div> <div class="cmp-rating__card-second d-none" data-step="3" data-finalstep="true"> <div class="card-header border-0 mb-0"> <h2 class="title-medium-2-bold mb-0" id="rating-feedback">Grazie, il tuo parere ci aiuter脿 a migliorare il servizio!</h2> </div> </div> <div class="form-rating d-none"> <div class="d-none" data-step="1"> <div class="cmp-steps-rating"> <fieldset> <div class="iscrizioni-header w-100"> <h3 class="step-title d-flex align-items-center justify-content-between drop-shadow"> <legend class="d-block d-lg-inline" data-element="feedback-rating-positive" id="change_on_star_change_title"></legend> <span class="step">1/2</span> </h3> </div> <div class="cmp-steps-rating__body"> <div class="cmp-radio-list"> <div class="card-teaser shadow-rating"> <div class="card-body"> <div class="form-check m-0" id="change_on_star_change_options"> </div> </div> </div> </div> </div> </fieldset> </div> </div> <div class="d-none" data-step="2"> <div class="cmp-steps-rating"> <fieldset> <div class="iscrizioni-header w-100"> <h3 class="step-title d-flex align-items-center justify-content-between drop-shadow mb-5"> <legend class="d-block d-lg-inline">Vuoi aggiungere altri dettagli?</legend> <span class="step">2/2</span> </h3> </div> <div class="cmp-steps-rating__body"> <div class="form-group"> <label for="formGroupExampleInputWithHelp">Dettaglio</label> <input type="text" class="form-control" id="formGroupExampleInputWithHelp" aria-describedby="formGroupExampleInputWithHelpDescription" maxlength="200" data-element="feedback-input-text"> <small id="formGroupExampleInputWithHelpDescription" class="form-text">Inserire massimo 200 caratteri</small> </div> </div> </fieldset> </div> </div> <div class="d-flex flex-nowrap pt-4 w-100 justify-content-center button-shadow"> <button class="btn btn-outline-primary fw-bold me-4 btn-back" type="button">Indietro</button> <button class="btn btn-primary fw-bold btn-next" type="submit" onclick="" form="rating">Avanti</button> </div> </div> </div> </div> </div> </div> </div> </div> <div id="card_contatta_comune" class="bg-grey-card shadow-contacts" style="background-repeat:no-repeat;background-size:cover !important;background: linear-gradient( rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2) ), url('/cgi-bin/testate/img1.webp');"> <div class="container"> <div class="row d-flex justify-content-center p-contacts"> <div class="col-12 col-lg-6"> <div class="cmp-contacts"> <div class="card w-100"> <div class="card-body"> <h2 class="title-medium-2-semi-bold">Contatta il comune</h2> <ul class="contact-list p-0"> <li> <a class="list-item" href="/servizi/elenco-domande-frequenti" data-element="faq"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-help-circle"></use> </svg><span>Leggi le domande frequenti</span></a></li> <li><a class="list-item" href="/moduli/richiesta-assistenza" data-element="contacts"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-mail"></use> </svg><span>Richiedi assistenza</span></a></li> <li><a href="tel:0175.74101-74402" id="ncell_href" class="list-item"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-hearing"></use> </svg><span id="ncell">Chiama il numero 0175.74101-74402</span></a></li> <li><a class="list-item" href="/moduli/prenota-appuntamento-1" data-element="appointment-booking"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-calendar"></use> </svg><span>Prenota appuntamento</span></a></li> </ul> <h2 class="title-medium-2-semi-bold mt-4">Problemi in citt脿</h2> <ul class="contact-list p-0"> <li><a data-element="report-inefficiency" class="list-item" href="/moduli/segnalazione-disservizio-1"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-map-marker-circle"></use> </svg><span>Segnala disservizio </span></a></li> </ul> <!--<h2 class="title-medium-2-semi-bold mt-4">Bacheca Cittadino</h2> <ul class="contact-list p-0"> <li><a class="list-item" href="/area-personale"> <svg class="icon icon-primary icon-sm" aria-hidden="true"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-user"></use> </svg><span>Accedi alla bacheca servizi </span></a></li> </ul>--> </div> </div> </div> </div> </div> </div> </div> <!-- Footer pagina --> <footer class="it-footer" id="footer"> <div class="it-footer-main"> <div class="container"> <div class="row"> <div class="col-sm-5 footer-items-wrapper logo-wrapper"> <img loading='lazy' class="img_logo_footer" src="/assets/images/logo-eu-inverted.svg" title="Finanziato dall'Unione Europea - NextGenerationEU" alt="Finanziato dall'Unione Europea - NextGenerationEU" style="height: 56px; width: 178px; object-fit: contain;"/> <div class="it-brand-wrapper"> <a href="/index.aspx" title="Vai alla homepage"> <img class="img-fluid img_logo_footer" style="width: 43px; height: 56px; object-fit: contain;" src="/images/logo_tratto.png" alt="Scarnafigi" title="Scarnafigi"/> <div class="it-brand-text"> <h2 class="no_toc">Scarnafigi</h2> </div> </a> </div> </div> <div class="col-sm-2 footer-items-wrapper footer-pageclose justify-content-end align-middle" style="padding-top:40px; visibility: hidden"> </div> <div class="col-sm-5 footer-items-wrapper logo-wrapper justify-content-end align-middle"> <a target="_blank" href="https://padigitale2026.gov.it/" title="Vai a PaDigitale2026"> <img loading='lazy' class="img_logo_footer" src="/assets/images/padigitale2026.jpg" alt='Logo PA Digitale 2026' title="Logo PA Digitale 2026" style="width: 244px; height:45px; object-fit:contain; margin-top: 5px;"/> </a> </div> </div> <div class="row"> <div class="col-md-3 footer-items-wrapper"> <h3 class="footer-heading-title">Amministrazione</h3> <div class="row"> <div class="col-md-12"> <ul class="footer-list"> <li> <a href="/amministrazione/organi-di-governo">Organi di Governo</a> </li> <li> <a href="/amministrazione/aree-amministrative">Aree Amministrative</a> </li> <li> <a href="/amministrazione/uffici">Uffici</a> </li> <li> <a href="/amministrazione/documenti-e-dati">Documenti e Dati</a> </li> <li> <a href="/servizi/amministrazione-trasparente#interni_7">Enti e Fondazioni</a> </li> <li> <a href="/amministrazione/personale-amministrativo">Personale Amministrativo</a> </li> <li> <a href="/amministrazione/politici">Politici</a> </li> </ul> </div> </div> </div> <div class="col-md-5 footer-items-wrapper"> <h3 class="footer-heading-title">Categorie di Servizio</h3> <ul id="cat_di_servizio_list" class="footer-list footer-list__media_column" style="column-count: 2;"> <li> <a href='/servizio/15/Agricoltura e pesca'>Agricoltura e pesca</a> </li><li> <a href='/servizio/11/Ambiente'>Ambiente</a> </li><li> <a href='/servizio/6/Anagrafe e stato civile'>Anagrafe e stato civile</a> </li><li> <a href='/servizio/14/Appalti pubblici'>Appalti pubblici</a> </li><li> <a href='/servizio/13/Autorizzazioni'>Autorizzazioni</a> </li><li> <a href='/servizio/5/Catasto e urbanistica'>Catasto e urbanistica</a> </li><li> <a href='/servizio/10/Cultura e tempo libero'>Cultura e tempo libero</a> </li><li> <a href='/servizio/1/Educazione e formazione'>Educazione e formazione</a> </li><li> <a href='/servizio/8/Giustizia e sicurezza pubblica'>Giustizia e sicurezza pubblica</a> </li><li> <a href='/servizio/12/Imprese e commercio'>Imprese e commercio</a> </li><li> <a href='/servizio/4/Mobilit脿 e trasporti'>Mobilit脿 e trasporti</a> </li><li> <a href='/servizio/2/Salute, benessere e assistenza'>Salute, benessere e assistenza</a> </li><li> <a href='/servizio/9/Tributi, finanze e contravvenzioni'>Tributi, finanze e contravvenzioni</a> </li><li> <a href='/servizio/7/Turismo'>Turismo</a> </li><li> <a href='/servizio/3/Vita lavorativa'>Vita lavorativa</a> </li></ul> </div> <div class="col-md-2 footer-items-wrapper"> <h3 class="footer-heading-title">NOVIT脌</h3> <ul id="novita_list" class="footer-list"> <li> <a href='/novita/categoria/18/Notizie'>Notizie</a> </li><li> <a href='/novita/categoria/20/ME PA矛S'>Me pa矛s</a> </li><li> <a href='/novita/categoria/146/Avvisi'>Avvisi</a> </li><li> <a href='/novita/categoria/147/Comunicati'>Comunicati</a> </li></ul> </div> <div class="col-md-2 footer-items-wrapper"> <h3 class="footer-heading-title">VIVERE IL COMUNE</h3> <ul id="vivere_il_comune_list" class="footer-list"> <li><a href="/novita/eventi">Eventi</a></li> <li><a href="/vivere-il-comune#luo_append">Luoghi</a></li> <li><a href="/vivere-il-comune#p_append">Il Territorio</a></li> <li><a href="/vivere-il-comune/gallery">Galleria Fotografica</a></li> <li><a href="/vivere-il-comune/videogallery">Galleria Video</a></li> <li><a href="/vivere-il-comune#eco_append">Attivit脿 economiche e Servizi</a></li> <li><a href="/vivere-il-comune#ass_append">Associazioni e Comitati</a></li> </ul> </div> <!-- <div class="col-md-2 footer-items-wrapper"> <h3 class="footer-heading-title">Siti tematici</h3> <div class="row"> <div class="col-md-12"> <ul class="footer-list"> <li> <a href="#">Visita il sito della Regione Piemonte</a> </li> <li> <a href="#">Provincia di Cuneo</a> </li> <li> <a href="#">Pro Loco di Barbaresco</a> </li> <li> <a href="#">Azienda Sanitaria Locale CN2 Alba-Bra</a> </li> <li> <a href="#">Ente Turismo Alba Bra Langhe Roero</a> </li> <li> <a href="#">GAL Langhe Roero Leader</a> </li> <li> <a href="#">Associazione Turismo in Langa</a> </li> <li> <a href="#">Paesaggi Vitivinicoli di Langhe-Roero</a> </li> <li> <a href="#">L鈥檌tinerario BartoBar</a> </li> <li> <a href="#">Enoteca Regionale del Barbaresco</a> </li> <li> <a href="#">Langhe.Net</a> </li> </ul> </div> </div> </div> --> </div> <div class="row" style='margin-top: 25px;'> <div class="col-md-6 footer-items-wrapper"> <h3 class="footer-heading-title">Contatti e recapiti</h3> <div class="row"> <div class="col-12"> <p id="footer_info" class="footer-info"> Corso Carlo Alberto, 1 - 12030 Scarnafigi (CN)<br /> Tel: <a href='tel:0175.74101-74402'>0175.74101-74402</a><br /> Fax: <a href='fax:0175.74619'>0175.74619</a><br /> Codice Fiscale: <strong>85002050046</strong><br /> Partita IVA: <strong>00475350047</strong><br /> P.E.C.: <a href='mailto:scarnafigi@pec.comune.scarnafigi.cn.it' title='pec nome comune'>scarnafigi@pec.comune.scarnafigi.cn.it</a><br /> Email: <a href='mailto:segreteria@comune.scarnafigi.cn.it' title='email nome comune'>segreteria@comune.scarnafigi.cn.it</a><br /> Fatturazione Elettronica: <strong>UFWOI2</strong><br /> Codice IPA: <strong>c_i512</strong><br /> IBAN (per i vostri bonifici bancari):<br /><strong>Conto Banca d'Italia: 300491<br>Conto di Tesoreria IBAN:<br>IT51R0538746770000038012160</strong><br /> Conto Corrente Postale:<br /><strong>15878127</strong><br /> </p> </div> </div> </div> <div class="col-md-6 footer-items-wrapper"> <h3 class="footer-heading-title">Dati territoriali</h3> <div class="row"> <div class="col-12"> <p id="second_footer_info" class="footer-info"> Codice ISTAT: <strong>004217</strong> Codice Catastale: <strong>I512</strong><br /> Abitanti: <strong>2.102 al 31.12.2023</strong> Denominazione: <strong>Scarnafigesi</strong><br /> Superficie: <strong>30,41</strong> Kmq. Densit脿: <strong>69</strong> (ab/kmq.)<br /> Santo patrono: <strong>Corpi Santi - ultima domenica di settembre</strong><br /> Altitudine media: <strong>296</strong> m.s.l.m.<br /> Latitudine: <strong>44掳 40' 54''</strong> Longitudine: <strong>7掳 33' 59''</strong><br /> Comuni limitrofi: <strong>Saluzzo, Lagnasco, Savigliano, Monasterolo di Savigliano, Ruffia, Villanova Solaro, Torre San Giorgio</strong><br /> Frazioni e borgate: <strong>Fornaca, La Grangia</strong><br /><br /> <strong>Responsabile della protezione dei dati (D.P.O.)</strong><br /> Email: <a href='mailto:dpo@aesseservizi.eu' title='pec dpo'>dpo@aesseservizi.eu</a><br /> Pec: <a href='mailto:segreteria@pec.aesseservizi.eu' title='pec legalmail'>segreteria@pec.aesseservizi.eu</a><br /> </p> </div> </div> </div> </div> <div class="row" style='margin-top:25px;'> <div class="col-md-3 footer-items-wrapper"> <h3 class="footer-heading-title">Utilit脿</h3> <ul id="utilita_list" class="footer-list footer-list__media_column"> <li><a href="/servizi/amministrazione-trasparente">Amministrazione Trasparente</a></li> <li id="accessibilita_link"><a href='https://form.agid.gov.it/view/580e78ee-65ca-4f10-8b79-dd535921083d/' data-element='accessibility-link' target='_blank'>Dichiarazione di accessibilit脿</a></li> <li><a href="/ita/piano_miglioramento.aspx">Piano di miglioramento del sito</a></li> <li><a data-element="faq" href="/servizi/elenco-domande-frequenti">Leggi le FAQ</a></li> <li><a href="/moduli/prenota-appuntamento-1">Prenotazione Appuntamento</a></li> <li><a data-element="report-inefficiency" href="/moduli/segnalazione-disservizio-1">Segnalazione Disservizio</a></li> <li><a href="/moduli/richiesta-assistenza">Richiesta d'Assistenza</a></li> <li><a href="/area-personale">Bacheca Servizi</a></li> <li><a href="/cgi-bin/archivio/statuto.pdf" id="statuto_append" target="_blank">Statuto Comunale</a></li> <li><a data-element="privacy-policy-link" href="/amministrazione/informativa-privacy">Informativa privacy</a></li> <li><a data-element="legal-notes" href="/amministrazione/note-legali">Note legali</a></li> <li><a data-cc="c-settings" aria-haspopup="dialog">Impostazioni Cookie</a></li> <li><a href="https://www.cittaincomune.it/">Credits</a></li> <li><a href="/log">Ultimi aggiornamenti</a></li> <li><a href="/ita/statistiche.aspx">Statistiche</a></li> <li><a href="/ita/mappa_sito.aspx">Mappa del Sito</a></li> <!--<li><a data-element="service-link" href="/servizi/faq/79/a">Servizio</a></li>--> </ul> </div> <div class="col-md-6 footer-items-wrapper"> <h3 class="footer-heading-title">Siti Amici</h3> <ul id="list_siti_amici" class="footer-list footer-list__media_column" style="column-count: 2;"> <li class='text-truncate'> <a href='http://www.casadiriposoreginadellapace.it/home/' target='_blank'>Casa di Riposo Regina della Pace</a> </li><li class='text-truncate'> <a href='http://www.visitmove.it/' target='_blank'>VisitMOVE_MonvisoOccitanValleysEurope</a> </li><li class='text-truncate'> <a href='https://www.visitcuneese.it/' target='_blank'>VISIT CUNEESE</a> </li><li class='text-truncate'> <a href='https://associazioneoctavia.com/' target='_blank'>ASSOCIAZIONE OCTAVIA</a> </li><li class='text-truncate'> <a href='http://www.monviso.eu/' target='_blank'>Riserva della Biosfera transfrontaliera del Monviso</a> </li><li class='text-truncate'> <a href='http://www.regione.piemonte.it/' target='_blank'>Visita il sito della Regione Piemonte</a> </li><li class='text-truncate'> <a href='http://www.anniazzurri.it/residenza-anni-azzurri-villa-san-vincenzo' target='_blank'>Villa San Vincenzo - Residenza Anni Azzurri</a> </li><li class='text-truncate'> <a href='http://www.provincia.cuneo.it/' target='_blank'>Visita il sito della Provincia di Cuneo</a> </li><li class='text-truncate'> <a href='http://www.consorziosea.it' target='_blank'>Consorzio Servizi Ecologia Ambiente</a> </li><li class='text-truncate'> <a href='http://www.fieradiprimavera.net' target='_blank'>Fiera di Primavera</a> </li><li class='text-truncate'> <a href='https://indata.istat.it/pdc/' target='_blank'>Scheda Istat Pratiche edilizie</a> </li><li class='text-truncate'> <a href='https://comune.saluzzo.cn.it/uffici-e-servizi/alla-persona/informagiovani/' target='_blank'>Informa Giovani - Comune di Saluzzo</a> </li><li class='text-truncate'> <a href='http://www.monviso.it' target='_blank'>Consorzio Monviso Solidale</a> </li><li class='text-truncate'> <a href='http://www.aslcn1.it/' target='_blank'>A.S.L. CN1 - Cuneo, Mondov矛 e Savigliano</a> </li><li class='text-truncate'> <a href='http://www.fitwalking.it/ita/' target='_blank'>L'arte del camminare</a> </li><li class='text-truncate'> <a href='http://www.lineaamica.gov.it/' target='_blank'>Linea Amica</a> </li></ul> </div> <div class="col-md-3 footer-items-wrapper"> <h3 class="footer-heading-title">Un grazie a...</h3> </div> </div> <div class="row"> <div class="col-12 footer-items-wrapper text-center"> <div class="footer-bottom"> <div class="it-socials"> <span class="d-inline-block">Seguici su</span> <ul class="d-inline-block"> <li id="footerTelegramLi" class="d-inline-block ms-3"> <a href="https://t.me/VisitScarnafigi_bot" id="footerTelegram" target="_blank" title="Telegram"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-telegram"></use> </svg> <span class="visually-hidden">Telegram</span> </a> </li> <li id="footerRSSLi" class="d-inline-block ms-3"> <a href="/ita/rss.aspx" id="footerRSS" target="_blank" title="RSS"> <svg class="icon icon-sm icon-white align-top"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-rss"></use> </svg> <span class="visually-hidden">RSS</span> </a> </li> </ul> </div> </div> </div> <div class="row"> <div class="col-12 footer-items-wrapper text-center"> <p> 漏 <span id="anno_corrente_footer">2024</span> Comune di <strong>Scarnafigi</strong> - Tutti i diritti riservati - I contenuti del sito, testi e immagini sono di propriet脿 del Comune - CMS: <a href='https://www.cittaincomune.it/' target='_blank'>Citt脿 In Comune</a><a style="margin-left:5px" target="_blank" alt="Assistenza remota" title="Assistenza remota" href="http://www.supremocontrol.com/download.aspx?file=Supremo.exe&id_sw=7&ws=supremocontrol.com"><svg class='icon icon-white' aria-hidden='true' style='width:27px; height: 27px'><use xlink:href='/assets/bootstrap-italia/dist/svg/sprites.svg#it-settings'></use></svg></a><br /> Questo sito utilizza, nella versione per UTENTI CON DISLESSIA, <a href='http://www.biancoeneroedizioni.it/font/' target='_blank'>Biancoenero 庐</a>, una font italiana ad Alta Leggibilit脿.<br /> <a class="fw-bold" target="_blank" href="/Admin/WebForms/Cruscotto.aspx"><svg class="icon icon-white" aria-hidden='true' style='width:24px; height: 23px'><use xlink:href='/assets/bootstrap-italia/dist/svg/sprites.svg#it-locked'></use></svg>AREA RISERVATA</a> </p> </div> </div> </div> </div> </footer> <!-- Modal Ricerca --> <div class="modal fade search-modal" id="search-modal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-lg" role="document"> <div class="modal-content perfect-scrollbar"> <div class="modal-body"> <div class="container"> <div class="row variable-gutters"> <div class="col"> <div class="modal-title"> <button class="search-link d-md-none" type="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="Chiudi e torna alla pagina precedente"> <svg class="icon icon-md"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-arrow-left"></use> </svg> </button> <h2>Cerca</h2> <button class="search-link d-none d-md-block" type="button" data-bs-toggle="modal" data-bs-target="#search-modal" aria-label="Chiudi e torna alla pagina precedente"> <svg class="icon icon-md"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-close-big"></use> </svg> </button> </div> <div class="form-group autocomplete-wrapper"> <label for="autocomplete-two" class="visually-hidden">Cerca nel sito</label> <input type="text" class="autocomplete ps-5" placeholder="Cerca nel sito" id="txt_ricerca" name="autocomplete-two" > <span class="autocomplete-icon" aria-hidden="true"> <svg class="icon"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-search"></use> </svg> </span> <button onclick="avviaRicerca()" type="button" class="btn btn-primary"> <span class="">Cerca</span> </button> </div> </div> </div> <div class="row variable-gutters"> <div class="col-lg-5"> <div class="searches-list-wrapper"> <div class="other-link-title">FORSE STAVI CERCANDO</div> <ul id="elenco_servizi_random" class="searches-list" role="list"> </ul> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Modal Per le Modifiche --> <div class="modal it-dialog-scrollable fade" tabindex="-1" role="dialog" id="modalright" aria-labelledby="modalrightTitle"> <div class="modal-dialog modal-dialog-right" role="document" style="width:60vw !important;max-width:60vw !important;"> <div class="modal-content"> <div class="modal-header" style="background-color:var(--primary) !important;"> <svg class="icon icon-white"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-info-circle"></use> </svg> <h2 style="padding-left:15px; color:white !important;" class="modal-title h5 " id="modal3Title">Aggiungi / Modifica - ELEMENTO</h2> <button class="btn-close" type="button" data-bs-dismiss="modal" aria-label="Chiudi finestra modale"> <svg class="icon icon-white"> <use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-close"></use> </svg> </button> </div> <div class="modal-body overflow-hidden" style="padding:0px !important;"> <iframe id="cambia" src="/admin/webforms/frames_modifica/loader.html" class="h-100 w-100" style="border:0px solid #fff;"></iframe> </div> <div class="modal-footer align-center" style="background-color:var(--primary) !important; justify-content: center !important; color: white !important;"> <button class="salva_modal btn btn-outline-primary-white btn-sm" type="button">SALVA DATI</button> </div> </div> </div> </div> <div class="notification fade top-fix with-icon error" role="alert" aria-labelledby="errorNotify-footer-title" id="errorNotify-footer" style="z-index: 99999999999999999999999999999999999999999999999999999 !important; margin-top:10px;"> <h2 id="errorNotify-footer-title" class="h5"><svg class="icon"><use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-close-circle"></use></svg>PARAMETRI ERRATI</h2> <p>Hai dimenticato di selezionare una voce!</p> </div> <div class="notification fade top-fix with-icon error" role="alert" aria-labelledby="dbNotify-footer-title" id="dbNotify-footer" style="z-index: 99999999999999999999999999999999999999999999999999999 !important; margin-top:10px;"> <h2 id="dbNotify-footer-title" class="h5"><svg class="icon"><use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-close-circle"></use></svg>PARAMETRI ERRATI</h2> <p>Qualcosa 猫 andato storto nel salvataggio dei dati... Contattare l'assistenza</p> </div> <div class="notification fade top-fix with-icon success" role="alert" data-bs-timeout="2000" aria-labelledby="successNotify-footer-title" id="successNotify-footer" style="z-index: 99999999999999999999999999999999999999999999999999999 !important; margin-top:10px;"> <h2 id="successNotify-footer-title" class="h5"><svg class="icon"><use href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-check-circle"></use></svg>VALUTAZIONE INVIATA CON SUCCESSO</h2> </div> <div id="topcontrol" title="Torna su" style="border-radius: 5px;"> <svg class='icon icon-md' aria-hidden='true'> <use xlink:href='/assets/bootstrap-italia/dist/svg/sprites.svg#it-collapse'></use> </svg> </div> <input type="hidden" name="ctl00$hdnColore" id="hdnColore" /> <input type="hidden" name="ctl00$hdnLatitude" id="hdnLatitude" value="44.68174358668843" /> <input type="hidden" name="ctl00$hdnLongitude" id="hdnLongitude" value="7.566821934814769" /> <input type="hidden" name="ctl00$hdnAbsoluteUrl" id="hdnAbsoluteUrl" value="/ita/pagine/dettaglio_pagina.aspx" /> <!-- Scripts --> <script>window.__PUBLIC_PATH__ = "/assets/bootstrap-italia/dist/fonts"</script> <script defer src="/assets/bootstrap-italia/dist/js/bootstrap-italia.bundle.min.js"></script> <!-- defer --> <script defer src="/assets/script/scripts.js"></script> <script defer src="/assets/js/jquery.fancybox.min.js"></script> <script defer src="/assets/js/mark.min.js"></script> <script async> /*ELENCO PAGINE CON FRASE VALUTAZIONE MODIFICATA (Servizi)*/ var elencoServizi = [ "/ita/moduli/richieste/citta_in_ordine1.aspx", "/ita/moduli/richieste/citta_in_ordine2.aspx", "/ita/moduli/richieste/citta_in_ordine3.aspx", "/ita/moduli/richieste/citta_in_ordine4.aspx", "/ita/moduli/richieste/citta_in_ordine5.aspx", "/ita/moduli/richieste/mappa_segnalazioni.aspx", "/ita/moduli/richieste/prenota_appuntamento1.aspx", "/ita/moduli/richieste/prenota_appuntamento2.aspx", "/ita/moduli/richieste/prenota_appuntamento3.aspx", "/ita/moduli/richieste/prenota_appuntamento4.aspx", "/ita/moduli/richieste/prenota_appuntamento5.aspx", "/ita/moduli/richieste/prenota_appuntamento6.aspx", "/ita/moduli/richieste/richiesta_assistenza.aspx", "/ita/moduli/richieste/richiesta_assistenza_finalizzata.aspx" ]; function rgb2hex(rgb) { if (rgb.search("rgb") == -1) { return rgb; } else { rgb = rgb.match(/^rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+))?\)$/); function hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2); } return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]); } } $("#hdnColore").val(rgb2hex($("#header-nav-wrapper").css('background-color'))); function SetLang(lng) { $.ajax({ type: "POST", url: "/services/v1/ServiceMethod.aspx/SetLingua",//?lingua=" + lng, data: JSON.stringify({ "lingua": lng }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { window.location.reload(); }, error: function (e) { alert("Attenzione, Errore durante il cambiamento della lingua!"); } }); } $("document").ready(function () { var evidenzia = localStorage.getItem("evidenzia"); if (evidenzia != null) { var markInstance = $(".cmp-heading, section.it-page-sections-container"); try { for (let item of markInstance) { var myItem = new Mark(item); myItem.unmark(); myItem.mark(evidenzia, { separateWordSearch: false, each: function (item) { $(item).css("background-color", "orange").css("color", "black"); } }); var regex = new RegExp("\\b(" + evidenzia.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&').split(" ").join("|") + ")\\b", "gi"); myItem.markRegExp(regex, { each: function (item) { $(item).css("background-color", "yellow").css("color", "black"); } }); } } catch (ex) { console.warn("MarkJs error. Message: " + ex.message) } localStorage.removeItem("evidenzia"); } $("#current_lang").html("ITA"); $("body").removeClass("dislessia"); $(".btn_dislessia").html(`<span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-password-visible"></use> </svg> </span> <span class="d-none d-lg-block text-inline">Utenti con dislessia</span`); //--------------------------------// //On change stelline change testo & options CaricaRandomRicerca(); if (!elencoServizi.includes($("#hdnAbsoluteUrl").val())) { $("#title_valuta").html(""); $("#title_valuta").html("Quanto sono chiare le informazioni su questa pagina?"); } else { $("#title_valuta").html(""); $("#title_valuta").html("Quanto 猫 stato facile usare questo servizio?"); } $('input[type=radio][name=ratingA]').change(function () { let valutazione; for (let i = 1; i < 6; i++) { if (($("#star" + i + "a").is(':checked'))) { valutazione = $("#star" + i + "a").val(); } } if (!elencoServizi.includes($("#hdnAbsoluteUrl").val())) { if (valutazione < 4) { $("#change_on_star_change_title").html(""); $("#change_on_star_change_title").html("Dove hai incontrato le maggiori difficolt脿?"); $("#change_on_star_change_title").data("element", "feedback-rating-negative"); $("#change_on_star_change_options").empty() let stringaoptions = ` <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-1"> <label for="radio-1" data-element="feedback-rating-answer">Alcune indicazioni non erano chiare</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-2"> <label for="radio-2" data-element="feedback-rating-answer">Alcune indicazioni non erano corrette</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-3"> <label for="radio-3" data-element="feedback-rating-answer">Non capivo se quello che facevo era corretto</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-4"> <label for="radio-4" data-element="feedback-rating-answer">Ho avuto problemi tecnici</label> </div> `; $("#change_on_star_change_options").html(stringaoptions) } else { $("#change_on_star_change_title").html(""); $("#change_on_star_change_title").html("Quali sono stati gli aspetti che hai preferito?"); $("#change_on_star_change_options").empty() let stringaoptions = ` <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-1"> <label for="radio-1" data-element="feedback-rating-answer">Le indicazioni erano chiare</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-2"> <label for="radio-2" data-element="feedback-rating-answer">Le indicazioni erano complete</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-3"> <label for="radio-3" data-element="feedback-rating-answer">Capivo sempre che stavo procedendo correttamente</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-4"> <label for="radio-4" data-element="feedback-rating-answer">Non ho avuto problemi tecnici</label> </div> `; $("#change_on_star_change_options").html(stringaoptions) } } else if (valutazione < 4) { $("#change_on_star_change_title").html(""); $("#change_on_star_change_title").html("Dove hai incontrato le maggiori difficolt脿?"); $("#change_on_star_change_options").empty() let stringaoptions = ` <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-1"> <label for="radio-1" data-element="feedback-rating-answer">A volte le indicazioni non erano chiare</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-2"> <label for="radio-2" data-element="feedback-rating-answer">A volte le indicazioni non erano complete</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-3"> <label for="radio-3" data-element="feedback-rating-answer">A volte non capivo se stavo precedendo correttamente</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-4"> <label for="radio-4" data-element="feedback-rating-answer">Ho avuto problemi tecnici</label> </div> `; $("#change_on_star_change_options").html(stringaoptions) } else { $("#change_on_star_change_title").html(""); $("#change_on_star_change_title").html("Quali sono stati gli aspetti che hai preferito?"); $("#change_on_star_change_options").empty() let stringaoptions = ` <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-1"> <label for="radio-1" data-element="feedback-rating-answer">Le indicazioni erano chiare</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-2"> <label for="radio-2" data-element="feedback-rating-answer">Le indicazioni erano complete</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-3"> <label for="radio-3" data-element="feedback-rating-answer">Capivo sempre che stavo precedendo correttamente</label> </div> <div class="radio-body border-bottom border-light cmp-radio-list__item"> <input name="rating" type="radio" id="radio-4"> <label for="radio-4" data-element="feedback-rating-answer">Non ho avuto problemi tecnici</label> </div> `; $("#change_on_star_change_options").html(stringaoptions) } }); /*for (let i = 1; i < 6; i++) { if (($("#star" + i + "a").is(':checked'))) { valutazione = $("#star" + i + "a").val(); } }*/ //--------------------------------// $("#final_valuta").on('classChange', function () { console.log("Cambiato"); }); //===== MODAL DELLE MODIFICHE ======= $(".salva_modal").click(function () { $("#cambia").contents().find("#btn_salva").click(); //$("#cambia").contents().find(".main_content").addClass("blurred"); //$("#cambia").contents().find("#loading_overlay").fadeIn("500"); }); $("#modalright").on("hidden.bs.modal", function () { location.reload(); }); $(".modifica_frontend").click(function () { var src = $(this).data("iframe"); $("#cambia").attr('src', src); $("#modalright").modal("toggle"); }); $(".elimina_frontend").click(function () { if (confirm("Sei sicuro di voler eliminare l'elemento selezionato? L'azione sar脿 irreversibile!")) { var src = $(this).data("iframe"); $("#cambia").attr('src', src); $("#modalright").modal("toggle"); } }); $(".aggiungi_frontend").click(function () { var src = $(this).data("iframe"); $("#cambia").attr('src', src); $("#modalright").modal("toggle"); }); //===== MODAL DELLE MODIFICHE ======= $("#topcontrol").hide(); //Popover solo su grandi schermi, su smartphone "ingombra" troppo if(window.screen.width > 768) var popover = new bootstrap.Popover($(".btn_dislessia"), {}); $(".btn_dislessia").on("click", function () { $.ajax({ type: "POST", url: "/services/v1/ServiceMethod.aspx/SetDislessia", contentType: "application/json; charset=utf-8", data: "", dataType: "json", success: function (data) { console.log(data); if (data.d == 'disattiva') { $("body").removeClass("dislessia"); $(".btn_dislessia").html(`<span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-password-visible"></use> </svg> </span> <span class="d-none d-lg-block text-inline">Utenti con dislessia</span`); } else { $("body").addClass("dislessia"); $(".btn_dislessia").html(`<span class="rounded-icon" aria-hidden="true"> <svg class="icon icon-primary"> <use xlink:href="/assets/bootstrap-italia/dist/svg/sprites.svg#it-password-visible"></use> </svg> </span> <span class="d-none d-lg-block text-inline">Versione standard</span`); } }, error: function (request, error) { console.log("Request: " + JSON.stringify(request)); } }); }); //Fix del problema che su ios devi cliccare i links due volte if (hasTouch()) { // remove all the :hover stylesheets try { // prevent exception on browsers not supporting DOM styleSheets properly for (var si in document.styleSheets) { var styleSheet = document.styleSheets[si]; if (!styleSheet.rules) continue; for (var ri = styleSheet.rules.length - 1; ri >= 0; ri--) { if (!styleSheet.rules[ri].selectorText) continue; if (styleSheet.rules[ri].selectorText.match(':hover')) { styleSheet.deleteRule(ri); } } } } catch (ex) { } } $('#txt_ricerca').keypress(function (e) { var key = e.which; if (key == 13) // the enter key code { avviaRicerca(); } }); $(".btn_ricerca_interna").on("click", function () { let searched = $(this).parent().parent().children(".txt_ricerca_interna").val(); let page = $(this).data("page"); if (searched == "") { alert("Inserire almeno un termine di ricerca!"); return false; } let ricerca = `/ita/risultati_ricerca.aspx?q=${searched}&page=${page}`; window.location.href = ricerca; }) }) function CaricaRandomRicerca() { $.ajax({ type: "GET", url: "/services/v1/ashx_master/carica_random_ricerca.ashx", contentType: "text/html; charset=utf-8", data: {}, success: function (data) { $("#elenco_servizi_random").html(data); }, error: function (request, error) { console.log("Request: " + JSON.stringify(request)); } }); } function close_edit_frame() { $("#cambia").attr('src', ""); $("#modalright").modal("toggle"); //location.reload(); setTimeout(function () { window.location.reload(); }); } function avviaRicerca() { if ($("#txt_ricerca").val() == "") { alert("Inserisci un termine di ricerca!"); return false; } let ricerca = $("#txt_ricerca").val(); window.location.href = "/ita/risultati_ricerca.aspx?q=" + encodeURIComponent(ricerca); } function hasTouch() { return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0; } $(window).scroll(function () { if ($(window).scrollTop() > 300) { $("#topcontrol").show(); } else { $("#topcontrol").hide(); } }); $("#topcontrol").on('click', function (e) { e.preventDefault(); $('html, body').animate({ scrollTop: 0 }, '300'); }); function ValutaPassaggioFinale() { let valutazione = null; for (let i = 1; i < 6; i++) { if (($("#star" + i + "a").is(':checked'))) { valutazione = $("#star" + i + "a").val(); } } let Descrizione = null; for (let i = 1; i < 5; i++) { if (($("#radio-" + i).is(':checked'))) { Descrizione = $("label[for|='" + "radio-" + i + "']").text(); } } var valutazioneServizio = { Valutazione: valutazione, Descrizione: Descrizione, Dettagli: $("#formGroupExampleInputWithHelp").val(), URL: document.URL } if (valutazioneServizio.Valutazione != null && valutazioneServizio.Descrizione != null) { let stringURL = "/services/v1/valutazione/valutazione.ashx?valutazione=" + valutazioneServizio.Valutazione + " &descrizione=" + valutazioneServizio.Descrizione + "&URL=" + valutazioneServizio.URL; if (valutazioneServizio.Dettagli != null) { stringURL += "&dettagli=" + valutazioneServizio.Dettagli } $.ajax({ type: "POST", url: stringURL, contentType: "application/json; charset=utf-8", dataType: "json", success: function (data) { if (data = "ok") { const successNotificationFooter = new bootstrap.Notification(document.getElementById('successNotify-footer'), { timeout: 5000, }) successNotificationFooter.show(); return true; } else if (data = "nok") { const dbNotificationFooter = new bootstrap.Notification(document.getElementById('dbNotify-footer'), { timeout: 5000, }) dbNotificationFooter.show(); return false; } }, error: function (request, error) { console.log("Request: " + JSON.stringify(request)); return false; } }); } else { const errorNotificationFooter = new bootstrap.Notification(document.getElementById('errorNotify-footer'), { timeout: 5000, }) errorNotificationFooter.show(); return false; } } </script> <link rel="preload" href="/assets/css/font-awesome/css/font-awesome.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="/assets/css/font-awesome/css/font-awesome.min.css"></noscript> <link rel="preload" href="/assets/css/jquery.fancybox.min.css" as="style" onload="this.onload=null;this.rel='stylesheet'"> <noscript><link rel="stylesheet" href="/assets/css/jquery.fancybox.min.css"></noscript> </form> <style> .nascondi{display:none !important;} </style> <script type="text/javascript"> function doDemoThings(cookie) { $("iframe").each(function () { var src = $(this).attr('src'); if (src.indexOf('youtube') > -1) { if (src.indexOf("youtube-nocookie") == -1) { src.replace("www.youtube.com", "www.youtube-nocookie.com"); } $(this).addClass("nascondi"); } }); // Delete line below //cookie && (document.getElementById('cookie_val').innerHTML = JSON.stringify(cookie, null, 2)); //*** Scorrere qui il json per impostare i cookie desiderati... if (cookie != null) { //############# TERZE PARTI (You tube + Share) if (cookie.level.indexOf('Terze') == -1)//Disattivo Cookie { $("iframe").each(function () { var src = $(this).attr('src'); if (src != undefined && src.indexOf('youtube') > -1) { if (src.indexOf("youtube-nocookie") == -1) { src.replace("www.youtube.com", "www.youtube-nocookie.com"); } $(this).addClass("nascondi"); } }); $(".sharethis-inline-share-buttons").each(function () { $(this).addClass("nascondi"); }); } else { $("iframe").each(function () { var src = $(this).attr('src'); if (src != undefined && src.indexOf('youtube') > -1) { if (src != undefined && src.indexOf("youtube-nocookie") > -1) { src.replace("www.youtube-nocookie.com", "www.youtube.com"); } $(this).removeClass("nascondi"); } }); $(".sharethis-inline-share-buttons").each(function () { $(this).removeClass("nascondi"); }); } //############# MATOMO (Cookie Analitici) if (cookie.level.indexOf('matomo') == -1) //Disattivo Cookie { _paq.push(['disableCookies']); _paq.push(['trackPageView']); } else { var _paq = window._paq = window._paq || []; /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ _paq.push(['trackPageView']); _paq.push(['enableLinkTracking']); (function () { var u = "//www.pwstats.leonardoweb.eu/"; _paq.push(['setTrackerUrl', u + 'matomo.php']); _paq.push(['setSiteId', '18']); var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0]; g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s); })(); } } } $(document).ready(function () { doDemoThings(); var setting_cookies = ""; $(".footer-pageclose").append("<a style='cursor:pointer;font-size:20px;' data-cc='c-settings'>Impostazione cookie</a>"); }); </script> <script defer src="/mdg/cookies/cookieconsent.js"></script> <script defer src="/mdg/cookies/app.js"></script> </body> </html>