6 Commits

Author SHA1 Message Date
ldxw 56874ddf6e 更改版本号 2020-03-12 23:42:11 +08:00
ldxw 38b48dce76 添加 map 2020-03-12 23:29:04 +08:00
ldxw bdd475010b 添加logo 2020-03-12 23:01:10 +08:00
ldxw e4d835c963 更新路径 2020-03-12 22:44:18 +08:00
ldxw f6236107a8 Tmail v4.3.6 2020-03-12 22:08:19 +08:00
ldxw 183d9865c1 Tmail 2020-03-12 21:52:29 +08:00
55 changed files with 20016 additions and 76 deletions
-73
View File
@@ -1,73 +0,0 @@
/**
* Created by Noisky on 17/05/13.
* Revised by Noisky on 19/09/10.
*/
$(document).ready(function () {
/**
* 随机获取背景图片
*/
var bgNum = 10; // 定义随机数范围 1-10 和图片数量保持一致
var randomNum = Math.floor(Math.random() * bgNum) + 1;
// 拼接图片地址
var imgUrl = './Noisky_files/img/background-image/bg-' + randomNum + '.jpg';
// 替换页面中的背景图片地址
$("header").css("background-image", "url(" + imgUrl + ")");
/**
* 移动端下拉菜单栏
*/
var nw = $('.navigation-wrapper');
// 定义菜单关闭事件
function bounceOutUp() {
nw.on(function () {
nw.toggleClass('visible animated bounceOutUp');
});
nw.toggleClass('animated bounceInDown animated bounceOutUp');
}
// 根据菜单状态定义单击的操作
$('.btn-mobile-menu').click(function () {
if (nw.css('display') === "block") {
bounceOutUp();
} else {
nw.toggleClass('visible animated bounceInDown');
}
$('.btn-mobile-menu_icon').toggleClass('fa fa-list fa fa-angle-up animated fadeIn');
});
// 点击下拉菜单以外的其他标签区域收起菜单生效
$(".panel-main").on('click', ':not(.mobile,.btn-mobile-menu,.navigation-wrapper)', function () {
if (nw.hasClass("bounceInDown")) {
bounceOutUp();
$('.btn-mobile-menu_icon').toggleClass('fa fa-list fa fa-angle-up animated fadeIn');
}
});
// 阻止冒泡事件执行
nw.click(function (event) {
event.stopPropagation();
});
/**
* 底部年份动态化
*/
$('.year').html(new Date().getFullYear());
/**
* 异步加载一言
*/
(function getHitokoto() {
$.ajax({
//url: "https://api.imjad.cn/hitokoto/?encode=jsc&charset=utf-8&length=50",
url: "https://v1.hitokoto.cn/?encode=json&charset=utf-8",
dataType: "jsonp",
async: true,
jsonp: "callback",
jsonpCallback: "hitokoto",
success: function (result) {
$('#hitokoto').html("<p>" + result.hitokoto + "</p>")
},
error: function () {
$('#hitokoto').html("<p>读取数据失败了的说……_(:з」∠)_</p>")
}
});
})();
});
+7
View File
@@ -0,0 +1,7 @@
/*!
* Hasher <http://github.com/millermedeiros/hasher>
* @author Miller Medeiros
* @version 1.2.0 (2013/11/11 03:18 PM)
* Released under the MIT License
*/
(function(){var a=function(b){var c=(function(k){var p=25,r=k.document,n=k.history,x=b.Signal,f,v,m,F,d,D,t=/#(.*)$/,j=/(\?.*)|(\#.*)/,g=/^\#/,i=(!+"\v1"),B=("onhashchange" in k)&&r.documentMode!==7,e=i&&!B,s=(location.protocol==="file:");function o(G){return String(G||"").replace(/\W/g,"\\$&")}function u(H){if(!H){return""}var G=new RegExp("^"+o(f.prependHash)+"|"+o(f.appendHash)+"$","g");return H.replace(G,"")}function E(){var G=t.exec(f.getURL());var I=(G&&G[1])||"";try{return f.raw?I:decodeURIComponent(I)}catch(H){return I}}function A(){return(d)?d.contentWindow.frameHash:null}function z(){d=r.createElement("iframe");d.src="about:blank";d.style.display="none";r.body.appendChild(d)}function h(){if(d&&v!==A()){var G=d.contentWindow.document;G.open();G.write("<html><head><title>"+r.title+'</title><script type="text/javascript">var frameHash="'+v+'";<\/script></head><body>&nbsp;</body></html>');G.close()}}function l(G,H){if(v!==G){var I=v;v=G;if(e){if(!H){h()}else{d.contentWindow.frameHash=G}}f.changed.dispatch(u(G),u(I))}}if(e){D=function(){var H=E(),G=A();if(G!==v&&G!==H){f.setHash(u(G))}else{if(H!==v){l(H)}}}}else{D=function(){var G=E();if(G!==v){l(G)}}}function C(I,G,H){if(I.addEventListener){I.addEventListener(G,H,false)}else{if(I.attachEvent){I.attachEvent("on"+G,H)}}}function y(I,G,H){if(I.removeEventListener){I.removeEventListener(G,H,false)}else{if(I.detachEvent){I.detachEvent("on"+G,H)}}}function q(H){H=Array.prototype.slice.call(arguments);var G=H.join(f.separator);G=G?f.prependHash+G.replace(g,"")+f.appendHash:G;return G}function w(G){G=encodeURI(G);if(i&&s){G=G.replace(/\?/,"%3F")}return G}f={VERSION:"1.2.0",raw:false,appendHash:"",prependHash:"/",separator:"/",changed:new x(),stopped:new x(),initialized:new x(),init:function(){if(F){return}v=E();if(B){C(k,"hashchange",D)}else{if(e){if(!d){z()}h()}m=setInterval(D,p)}F=true;f.initialized.dispatch(u(v))},stop:function(){if(!F){return}if(B){y(k,"hashchange",D)}else{clearInterval(m);m=null}F=false;f.stopped.dispatch(u(v))},isActive:function(){return F},getURL:function(){return k.location.href},getBaseURL:function(){return f.getURL().replace(j,"")},setHash:function(G){G=q.apply(null,arguments);if(G!==v){l(G);if(G===v){if(!f.raw){G=w(G)}k.location.hash="#"+G}}},replaceHash:function(G){G=q.apply(null,arguments);if(G!==v){l(G,true);if(G===v){if(!f.raw){G=w(G)}k.location.replace("#"+G)}}},getHash:function(){return u(v)},getHashAsArray:function(){return f.getHash().split(f.separator)},dispose:function(){f.stop();f.initialized.dispose();f.stopped.dispose();f.changed.dispose();d=f=k.hasher=null},toString:function(){return'[hasher version="'+f.VERSION+'" hash="'+f.getHash()+'"]'}};f.initialized.memorize=true;return f}(window));return c};if(typeof define==="function"&&define.amd){define(["signals"],a)}else{if(typeof exports==="object"){module.exports=a(require("signals"))}else{window.hasher=a(window.signals)}}}());
+367
View File
@@ -0,0 +1,367 @@
/*jslint onevar:true, undef:true, newcap:true, regexp:true, bitwise:true, maxerr:50, indent:4, white:false, nomen:false, plusplus:false */
/*global window:false, global:false*/
/*!!
* JS Signals <http://millermedeiros.github.com/js-signals/>
* Released under the MIT license <http://www.opensource.org/licenses/mit-license.php>
* @author Miller Medeiros <http://millermedeiros.com/>
* @version 0.6.3
* @build 187 (07/11/2011 10:14 AM)
*/
(function(global){
/**
* @namespace Signals Namespace - Custom event/messaging system based on AS3 Signals
* @name signals
*/
var signals = /** @lends signals */{
/**
* Signals Version Number
* @type String
* @const
*/
VERSION : '0.6.3'
};
// SignalBinding -------------------------------------------------
//================================================================
/**
* Object that represents a binding between a Signal and a listener function.
* <br />- <strong>This is an internal constructor and shouldn't be called by regular users.</strong>
* <br />- inspired by Joa Ebert AS3 SignalBinding and Robert Penner's Slot classes.
* @author Miller Medeiros
* @constructor
* @internal
* @name signals.SignalBinding
* @param {signals.Signal} signal Reference to Signal object that listener is currently bound to.
* @param {Function} listener Handler function bound to the signal.
* @param {boolean} isOnce If binding should be executed just once.
* @param {Object} [listenerContext] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. (default = 0).
*/
function SignalBinding(signal, listener, isOnce, listenerContext, priority) {
/**
* Handler function bound to the signal.
* @type Function
* @private
*/
this._listener = listener;
/**
* If binding should be executed just once.
* @type boolean
* @private
*/
this._isOnce = isOnce;
/**
* Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @memberOf signals.SignalBinding.prototype
* @name context
* @type Object|undefined|null
*/
this.context = listenerContext;
/**
* Reference to Signal object that listener is currently bound to.
* @type signals.Signal
* @private
*/
this._signal = signal;
/**
* Listener priority
* @type Number
* @private
*/
this._priority = priority || 0;
}
SignalBinding.prototype = /** @lends signals.SignalBinding.prototype */ {
/**
* If binding is active and should be executed.
* @type boolean
*/
active : true,
/**
* Default parameters passed to listener during `Signal.dispatch` and `SignalBinding.execute`. (curried parameters)
* @type Array|null
*/
params : null,
/**
* Call listener passing arbitrary parameters.
* <p>If binding was added using `Signal.addOnce()` it will be automatically removed from signal dispatch queue, this method is used internally for the signal dispatch.</p>
* @param {Array} [paramsArr] Array of parameters that should be passed to the listener
* @return {*} Value returned by the listener.
*/
execute : function (paramsArr) {
var handlerReturn, params;
if (this.active && !!this._listener) {
params = this.params? this.params.concat(paramsArr) : paramsArr;
handlerReturn = this._listener.apply(this.context, params);
if (this._isOnce) {
this.detach();
}
}
return handlerReturn;
},
/**
* Detach binding from signal.
* - alias to: mySignal.remove(myBinding.getListener());
* @return {Function|null} Handler function bound to the signal or `null` if binding was previously detached.
*/
detach : function () {
return this.isBound()? this._signal.remove(this._listener) : null;
},
/**
* @return {Boolean} `true` if binding is still bound to the signal and have a listener.
*/
isBound : function () {
return (!!this._signal && !!this._listener);
},
/**
* @return {Function} Handler function bound to the signal.
*/
getListener : function () {
return this._listener;
},
/**
* Delete instance properties
* @private
*/
_destroy : function () {
delete this._signal;
delete this._listener;
delete this.context;
},
/**
* @return {boolean} If SignalBinding will only be executed once.
*/
isOnce : function () {
return this._isOnce;
},
/**
* @return {string} String representation of the object.
*/
toString : function () {
return '[SignalBinding isOnce: ' + this._isOnce +', isBound: '+ this.isBound() +', active: ' + this.active + ']';
}
};
/*global signals:true, SignalBinding:false*/
// Signal --------------------------------------------------------
//================================================================
function validateListener(listener, fnName) {
if (typeof listener !== 'function') {
throw new Error( 'listener is a required param of {fn}() and should be a Function.'.replace('{fn}', fnName) );
}
}
/**
* Custom event broadcaster
* <br />- inspired by Robert Penner's AS3 Signals.
* @author Miller Medeiros
* @constructor
*/
signals.Signal = function () {
/**
* @type Array.<SignalBinding>
* @private
*/
this._bindings = [];
};
signals.Signal.prototype = {
/**
* @type boolean
* @private
*/
_shouldPropagate : true,
/**
* If Signal is active and should broadcast events.
* <p><strong>IMPORTANT:</strong> Setting this property during a dispatch will only affect the next dispatch, if you want to stop the propagation of a signal use `halt()` instead.</p>
* @type boolean
*/
active : true,
/**
* @param {Function} listener
* @param {boolean} isOnce
* @param {Object} [scope]
* @param {Number} [priority]
* @return {SignalBinding}
* @private
*/
_registerListener : function (listener, isOnce, scope, priority) {
var prevIndex = this._indexOfListener(listener),
binding;
if (prevIndex !== -1) { //avoid creating a new Binding for same listener if already added to list
binding = this._bindings[prevIndex];
if (binding.isOnce() !== isOnce) {
throw new Error('You cannot add'+ (isOnce? '' : 'Once') +'() then add'+ (!isOnce? '' : 'Once') +'() the same listener without removing the relationship first.');
}
} else {
binding = new SignalBinding(this, listener, isOnce, scope, priority);
this._addBinding(binding);
}
return binding;
},
/**
* @param {SignalBinding} binding
* @private
*/
_addBinding : function (binding) {
//simplified insertion sort
var n = this._bindings.length;
do { --n; } while (this._bindings[n] && binding._priority <= this._bindings[n]._priority);
this._bindings.splice(n + 1, 0, binding);
},
/**
* @param {Function} listener
* @return {number}
* @private
*/
_indexOfListener : function (listener) {
var n = this._bindings.length;
while (n--) {
if (this._bindings[n]._listener === listener) {
return n;
}
}
return -1;
},
/**
* Add a listener to the signal.
* @param {Function} listener Signal handler function.
* @param {Object} [scope] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added. (default = 0)
* @return {SignalBinding} An Object representing the binding between the Signal and listener.
*/
add : function (listener, scope, priority) {
validateListener(listener, 'add');
return this._registerListener(listener, false, scope, priority);
},
/**
* Add listener to the signal that should be removed after first execution (will be executed only once).
* @param {Function} listener Signal handler function.
* @param {Object} [scope] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added. (default = 0)
* @return {SignalBinding} An Object representing the binding between the Signal and listener.
*/
addOnce : function (listener, scope, priority) {
validateListener(listener, 'addOnce');
return this._registerListener(listener, true, scope, priority);
},
/**
* Remove a single listener from the dispatch queue.
* @param {Function} listener Handler function that should be removed.
* @return {Function} Listener handler function.
*/
remove : function (listener) {
validateListener(listener, 'remove');
var i = this._indexOfListener(listener);
if (i !== -1) {
this._bindings[i]._destroy(); //no reason to a SignalBinding exist if it isn't attached to a signal
this._bindings.splice(i, 1);
}
return listener;
},
/**
* Remove all listeners from the Signal.
*/
removeAll : function () {
var n = this._bindings.length;
while (n--) {
this._bindings[n]._destroy();
}
this._bindings.length = 0;
},
/**
* @return {number} Number of listeners attached to the Signal.
*/
getNumListeners : function () {
return this._bindings.length;
},
/**
* Stop propagation of the event, blocking the dispatch to next listeners on the queue.
* <p><strong>IMPORTANT:</strong> should be called only during signal dispatch, calling it before/after dispatch won't affect signal broadcast.</p>
* @see signals.Signal.prototype.disable
*/
halt : function () {
this._shouldPropagate = false;
},
/**
* Dispatch/Broadcast Signal to all listeners added to the queue.
* @param {...*} [params] Parameters that should be passed to each handler.
*/
dispatch : function (params) {
if (! this.active) {
return;
}
var paramsArr = Array.prototype.slice.call(arguments),
bindings = this._bindings.slice(), //clone array in case add/remove items during dispatch
n = this._bindings.length;
this._shouldPropagate = true; //in case `halt` was called before dispatch or during the previous dispatch.
//execute all callbacks until end of the list or until a callback returns `false` or stops propagation
//reverse loop since listeners with higher priority will be added at the end of the list
do { n--; } while (bindings[n] && this._shouldPropagate && bindings[n].execute(paramsArr) !== false);
},
/**
* Remove all bindings from signal and destroy any reference to external objects (destroy Signal object).
* <p><strong>IMPORTANT:</strong> calling any method on the signal instance after calling dispose will throw errors.</p>
*/
dispose : function () {
this.removeAll();
delete this._bindings;
},
/**
* @return {string} String representation of the object.
*/
toString : function () {
return '[Signal active: '+ this.active +' numListeners: '+ this.getNumListeners() +']';
}
};
global.signals = signals;
}(window || this));
+122
View File
@@ -0,0 +1,122 @@
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/*
Created on : 19 Oct, 2017, 11:29:05 AM
Author : Harshit
*/
input, textarea, select {
border: none;
font-weight: 300;
font-size: 28px;
border-bottom: 1px solid #000;
}
.header h3 {
float: right;
margin: 60px 0px;
}
#adminLogin {
margin: 150px 0px;
}
#titleText {
margin: 50px;
font-size: 28px;
float: left;
}
input[type="submit"] {
background: none;
margin-top: 20px;
font-size: 24px;
}
.text-field {
width: 100%;
margin: 20px 0px;
}
.text-field span {
font-size: 20px;
}
.text-field input, .text-field textarea,.text-field select {
border-bottom: 1px solid #000;
width: 100%;
font-size: 24px;
}
.divided-text-field input.small-inner-fields {
border-bottom: 1px solid #000;
width: 19%;
font-size: 18px;
margin-right: 1%;
}
.divided-text-field input.big-inner-fields {
border-bottom: 1px solid #000;
width: 80%;
font-size: 18px;
}
.inner-fields, .small-inner-fields, .big-inner-fields {
margin-bottom: 10px;
}
h2 {
margin: 25px 0px;
}
.addIcons {
font-size: 32px;
cursor: pointer;
}
input[name="configuration"], input[name="options"] {
font-weight: 600;
float: right;
}
.success {
font-size: 24px;
font-weight: 300;
color: #0F9D58;
}
.error {
font-size: 24px;
font-weight: 300;
color: #CD0000;
}
textarea {
font-size: 16px !important;
}
#test-connection {
background: #444;
color: #fff;
padding: 5px 10px;
cursor: pointer;
font-size: 16px;
}
#test-result {
padding-left: 5px;
}
@media only screen and (max-width: 600px) {
.divided-text-field input.small-inner-fields {
width: 100%;
}
.divided-text-field input.big-inner-fields {
width: 100%;
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+16
View File
@@ -0,0 +1,16 @@
/* latin-ext https://fonts.gstatic.com/s/lato/v16/S6uyw4BMUTPHjxAwXjeu.woff2 */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Classic/fonts/S6uyw4BMUTPHjxAwXjeu.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin https://fonts.gstatic.com/s/lato/v16/S6uyw4BMUTPHjx4wXg.woff2 */
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: local('Lato Regular'), local('Lato-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Classic/fonts/S6uyw4BMUTPHjx4wXg.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
File diff suppressed because one or more lines are too long
+562
View File
@@ -0,0 +1,562 @@
/*
Created on : 20 May, 2017, 12:58:19 PM
Author : Harshit
*/
* {
font-family: "Segoe UI", 'Lato', sans-serif;;
}
#generateID {
display: none;
}
.setEmailDiv {
width: 100%;
margin: 0 auto;
}
.at {
font-weight: 300;
font-size: 28px;
}
.breakicon {
margin: 40px 0px;
padding-right: 7px;
}
.icon {
font-weight: 300;
font-size: 28px;
margin: 0px 5px 0px 10px;
}
.header {
height: 100px;
}
#logo {
float: left;
margin: 50px 0px;
cursor: pointer;
}
#logo img {
max-height: 40px;
}
.setLang {
float: right;
margin: 50px 0px;
border: none;
font-weight: 300;
font-size: 21px;
border-bottom: 1px solid #000;
padding: 0px 30px 0px 10px;
}
#aboutus {
display: none;
}
.aboutus p {
font-size: 18px;
}
#closeIcon {
float: right;
margin: 35px 0px;
font-weight: 300;
font-size: 42px;
cursor: pointer;
}
.setEmail, .setDomain {
margin: 50px 0px;
border: none;
font-weight: 300;
font-size: 28px;
border-bottom: 1px solid #000;
}
@media (min-width:961px) {
.setEmail {
width: 50%;
}
}
.setDomain {
padding: 0px 30px 0px 10px;
}
select {
-webkit-appearance: none;
-moz-appearance: none;
background: transparent;
background-image: url("data:image/svg+xml;utf8,<svg fill='black' height='24' viewBox='0 0 24 24' width='24' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
background-repeat: no-repeat;
background-position-x: 100%;
background-position-y: 10px;
}
.title {
font-weight: 300;
font-size: 28px;
text-align: center;
margin: 50px 0px;
}
#createline, #createdline, #data {
display: none;
}
.message {
text-align: center;
margin-top: 50px;
display: none;
}
.downloadButton {
float: right;
margin-left: 10px;
background-color: #777 !important;
border-color: #333333 !important;
margin-top: -8px;
}
.deleteButton {
float: right;
margin-left: 10px;
background-color: #333 !important;
border-color: #000 !important;
margin-top: -8px;
}
button.accordion {
background-color: #eee;
color: #444;
cursor: pointer;
padding: 18px 24px;
width: 100%;
border: none;
text-align: left;
outline: none;
font-size: 15px;
transition: 0.4s;
}
button.accordion.active, button.accordion:hover {
background-color: #ddd;
}
button.accordion:after {
content: '\002B';
color: #777;
font-weight: bold;
float: right;
margin-left: 5px;
margin-top: -15px;
}
button.accordion.active:after {
content: "\2212";
}
div.panel {
padding: 0px 24px;
padding-top: 15px;
background-color: #f6f6f6;
max-height: 50px;
overflow: hidden;
transition: max-height 0.2s ease-out;
}
div.panel > p {
margin-top: -62px;
}
.tmail-email-attachments {
margin-top: 30px;
margin-bottom: 30px;
border-top: 1px solid #ccc;
padding: 40px 0;
}
.tmail-email-attachments a {
text-decoration: none !important;
padding: 10px 20px;
border: 1px solid #111;
color: #111;
}
.tmail-email-attachments a:hover {
background: #111;
color: #fff;
}
.tmail-email-attachments a i {
padding-right: 5px;
}
/* Search Bar */
#search-bar-container{
position:relative;
display:none
}
#search-bar-container:after{
content:'\e003';
font-family:Glyphicons Halflings;
width:18px;
height:18px;
position:absolute;
right:19px;
bottom:19px;
color:#fff
}
#search-bar-container #search-bar{
display:block;
margin:20px auto;
width:100%;
padding:15px 20px;
border:none;
border-radius:5px;
outline:0;
background:#555;
color:#fff
}
/* Action Bar */
.action-button i, .action-list-button i{
vertical-align: bottom;
text-align: center;
}
.action-switch-email{
position: fixed;
bottom: 30px;
right: 30px;
}
.action-button {
background: #DB4437;
}
.action-list-button {
background: #333333;
}
.action-button, .action-list-button {
position: relative;
color: #fff;
}
.action-switch-email:hover .action-button i {
transform: rotate(360deg);
}
.action-button {
width: 75px;
height: 75px;
border-radius: 37.5px;
}
.action-button i {
display: inline-block;
font-size: 30px;
line-height: 75px;
color: #fff;
width: 75px;
height: 75px;
transition: all .3s;
}
.action-list-button {
width: 50px;
height: 50px;
display: block;
margin: 0 auto 20%;
border-radius: 25px;
}
.action-list-button i {
display: inline-block;
font-size: 24px;
line-height: 50px;
color: #fff;
width: 50px;
height: 50px;
font-style: normal;
font-weight: 900;
text-transform: uppercase;
}
.action-list {
display: none;
}
.action-switch-email:hover .action-list:hover {
display: block;
}
.action-button .action-info, .action-list-button .action-info {
visibility: hidden;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 5px 10px;
position: absolute;
z-index: 1;
bottom: 25%;
right: 125%;
margin-left: -60px;
opacity: 0;
transition: opacity .3s;
}
.action-button .action-info {
width: 120px;
}
.action-list-button .action-info {
bottom: 15%;
font-size: 14px;
}
.action-button:hover .action-info, .action-list-button:hover .action-info {
visibility: visible;
opacity: 1;
}
.saveEMails {
background: #9c0;
cursor: pointer;
}
.clearEMails {
background: #DB4437;
cursor: pointer;
}
.addEMail {
background: #1E90FF;
}
.action-list a {
cursor: pointer;
}
.menu {
margin: 100px 0;
text-align: center;
}
.menu ul {
padding-left: 0;
}
.menu a {
color: #222;
padding: 10px;
}
.menu a:hover {
color: #444;
}
.menu li {
display: inline-block;
border-bottom: 1px solid #222;
}
@media only screen and (max-width:500px) {
.action-list-button .action-info {
visibility:visible;
opacity:1
}
}
/* CSS Loader */
.cssload-container * {
box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
.cssload-container {
margin: 17px auto 0 auto;
max-width: 489px;
}
.cssload-container ul li {
list-style: none;
}
.cssload-flex-container {
display: flex;
display: -o-flex;
display: -ms-flex;
display: -webkit-flex;
display: -moz-flex;
flex-direction: row;
-o-flex-direction: row;
-ms-flex-direction: row;
-webkit-flex-direction: row;
-moz-flex-direction: row;
flex-wrap: wrap;
-o-flex-wrap: wrap;
-ms-flex-wrap: wrap;
-webkit-flex-wrap: wrap;
-moz-flex-wrap: wrap;
justify-content: space-around;
}
.cssload-flex-container li {
padding: 9px;
height: 87px;
width: 87px;
margin: 26px 17px 26px -20px;
position: relative;
text-align: center;
}
.cssload-loading,
.cssload-loading:after,
.cssload-loading:before {
display: inline-block;
position: relative;
width: 4px;
height: 44px;
background: rgb(0, 0, 0);
margin-top: 4px;
border-radius: 875px;
-o-border-radius: 875px;
-ms-border-radius: 875px;
-webkit-border-radius: 875px;
-moz-border-radius: 875px;
animation: cssload-upDown2 0.9s ease infinite;
-o-animation: cssload-upDown2 0.9s ease infinite;
-ms-animation: cssload-upDown2 0.9s ease infinite;
-webkit-animation: cssload-upDown2 0.9s ease infinite;
-moz-animation: cssload-upDown2 0.9s ease infinite;
animation-direction: alternate;
-o-animation-direction: alternate;
-ms-animation-direction: alternate;
-webkit-animation-direction: alternate;
-moz-animation-direction: alternate;
animation-delay: 0.2225s;
-o-animation-delay: 0.2225s;
-ms-animation-delay: 0.2225s;
-webkit-animation-delay: 0.2225s;
-moz-animation-delay: 0.2225s;
}
.cssload-loading:after,
.cssload-loading:before {
position: absolute;
content: '';
animation: cssload-upDown 0.9s ease infinite;
-o-animation: cssload-upDown 0.9s ease infinite;
-ms-animation: cssload-upDown 0.9s ease infinite;
-webkit-animation: cssload-upDown 0.9s ease infinite;
-moz-animation: cssload-upDown 0.9s ease infinite;
animation-direction: alternate;
-o-animation-direction: alternate;
-ms-animation-direction: alternate;
-webkit-animation-direction: alternate;
-moz-animation-direction: alternate;
}
.cssload-loading:before {
left: -9px;
}
.cssload-loading:after {
left: 9px;
animation-delay: 0.445s;
-o-animation-delay: 0.445s;
-ms-animation-delay: 0.445s;
-webkit-animation-delay: 0.445s;
-moz-animation-delay: 0.445s;
}
@keyframes cssload-upDown {
from {
transform: translateY(17px);
}
to {
transform: translateY(-17px);
}
}
@-o-keyframes cssload-upDown {
from {
-o-transform: translateY(17px);
}
to {
-o-transform: translateY(-17px);
}
}
@-ms-keyframes cssload-upDown {
from {
-ms-transform: translateY(17px);
}
to {
-ms-transform: translateY(-17px);
}
}
@-webkit-keyframes cssload-upDown {
from {
-webkit-transform: translateY(17px);
}
to {
-webkit-transform: translateY(-17px);
}
}
@-moz-keyframes cssload-upDown {
from {
-moz-transform: translateY(17px);
}
to {
-moz-transform: translateY(-17px);
}
}
@keyframes cssload-upDown2 {
from {
transform: translateY(26px);
}
to {
transform: translateY(-17px);
}
}
@-o-keyframes cssload-upDown2 {
from {
-o-transform: translateY(26px);
}
to {
-o-transform: translateY(-17px);
}
}
@-ms-keyframes cssload-upDown2 {
from {
-ms-transform: translateY(26px);
}
to {
-ms-transform: translateY(-17px);
}
}
@-webkit-keyframes cssload-upDown2 {
from {
-webkit-transform: translateY(26px);
}
to {
-webkit-transform: translateY(-17px);
}
}
@-moz-keyframes cssload-upDown2 {
from {
-moz-transform: translateY(26px);
}
to {
-moz-transform: translateY(-17px);
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
+11008
View File
File diff suppressed because it is too large Load Diff
+220
View File
@@ -0,0 +1,220 @@
// Copyright 2012 Google Inc. All rights reserved.
(function(){
var data = {
"resource": {
"version":"1",
"macros":[],
"tags":[],
"predicates":[],
"rules":[]
},
"runtime":[]
};
/*
Copyright The Closure Library Authors.
SPDX-License-Identifier: Apache-2.0
*/
var aa,ba="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},ea;if("function"==typeof Object.setPrototypeOf)ea=Object.setPrototypeOf;else{var fa;a:{var ha={sf:!0},ia={};try{ia.__proto__=ha;fa=ia.sf;break a}catch(a){}fa=!1}ea=fa?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ja=ea,ka=this||self,la=/^[\w+/_-]+[=]{0,2}$/,na=null;var oa=function(){},pa=function(a){return"function"==typeof a},g=function(a){return"string"==typeof a},qa=function(a){return"number"==typeof a&&!isNaN(a)},ra=function(a){return"[object Array]"==Object.prototype.toString.call(Object(a))},q=function(a,b){if(Array.prototype.indexOf){var c=a.indexOf(b);return"number"==typeof c?c:-1}for(var d=0;d<a.length;d++)if(a[d]===b)return d;return-1},va=function(a,b){if(a&&ra(a))for(var c=0;c<a.length;c++)if(a[c]&&b(a[c]))return a[c]},wa=function(a,b){if(!qa(a)||
!qa(b)||a>b)a=0,b=2147483647;return Math.floor(Math.random()*(b-a+1)+a)},ya=function(a,b){for(var c=new xa,d=0;d<a.length;d++)c.set(a[d],!0);for(var e=0;e<b.length;e++)if(c.get(b[e]))return!0;return!1},C=function(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b(c,a[c])},za=function(a){return Math.round(Number(a))||0},Aa=function(a){return"false"==String(a).toLowerCase()?!1:!!a},Ba=function(a){var b=[];if(ra(a))for(var c=0;c<a.length;c++)b.push(String(a[c]));return b},Ca=function(a){return a?
a.replace(/^\s+|\s+$/g,""):""},Ea=function(){return(new Date).getTime()},xa=function(){this.prefix="gtm.";this.values={}};xa.prototype.set=function(a,b){this.values[this.prefix+a]=b};xa.prototype.get=function(a){return this.values[this.prefix+a]};
var Fa=function(a,b,c){return a&&a.hasOwnProperty(b)?a[b]:c},Ga=function(a){var b=!1;return function(){if(!b)try{a()}catch(c){}b=!0}},Ha=function(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c])},Ia=function(a){for(var b in a)if(a.hasOwnProperty(b))return!0;return!1},Ja=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),c.push.apply(c,b[a[d]]||[]);return c},Ka=function(a,b){for(var c={},d=c,e=a.split("."),f=0;f<e.length-1;f++)d=d[e[f]]={};d[e[e.length-1]]=b;return c},La=function(a){var b=
[];C(a,function(c,d){10>c.length&&d&&b.push(c)});return b.join(",")};/*
jQuery v1.9.1 (c) 2005, 2012 jQuery Foundation, Inc. jquery.org/license. */
var Ma=/\[object (Boolean|Number|String|Function|Array|Date|RegExp)\]/,Na=function(a){if(null==a)return String(a);var b=Ma.exec(Object.prototype.toString.call(Object(a)));return b?b[1].toLowerCase():"object"},Oa=function(a,b){return Object.prototype.hasOwnProperty.call(Object(a),b)},Pa=function(a){if(!a||"object"!=Na(a)||a.nodeType||a==a.window)return!1;try{if(a.constructor&&!Oa(a,"constructor")&&!Oa(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}for(var b in a);return void 0===
b||Oa(a,b)},D=function(a,b){var c=b||("array"==Na(a)?[]:{}),d;for(d in a)if(Oa(a,d)){var e=a[d];"array"==Na(e)?("array"!=Na(c[d])&&(c[d]=[]),c[d]=D(e,c[d])):Pa(e)?(Pa(c[d])||(c[d]={}),c[d]=D(e,c[d])):c[d]=e}return c};var ob;
var pb=[],qb=[],rb=[],sb=[],tb=[],ub={},vb,xb,yb,zb=function(a,b){var c={};c["function"]="__"+a;for(var d in b)b.hasOwnProperty(d)&&(c["vtp_"+d]=b[d]);return c},Ab=function(a,b){var c=a["function"];if(!c)throw Error("Error: No function name given for function call.");var d=ub[c],e={},f;for(f in a)a.hasOwnProperty(f)&&0===f.indexOf("vtp_")&&(e[void 0!==d?f:f.substr(4)]=a[f]);return void 0!==d?d(e):ob(c,e,b)},Cb=function(a,b,c){c=c||[];var d={},e;for(e in a)a.hasOwnProperty(e)&&(d[e]=Bb(a[e],b,c));
return d},Db=function(a){var b=a["function"];if(!b)throw"Error: No function name given for function call.";var c=ub[b];return c?c.priorityOverride||0:0},Bb=function(a,b,c){if(ra(a)){var d;switch(a[0]){case "function_id":return a[1];case "list":d=[];for(var e=1;e<a.length;e++)d.push(Bb(a[e],b,c));return d;case "macro":var f=a[1];if(c[f])return;var h=pb[f];if(!h||b.Qc(h))return;c[f]=!0;try{var k=Cb(h,b,c);k.vtp_gtmEventId=b.id;d=Ab(k,b);yb&&(d=yb.Rf(d,k))}catch(y){b.xe&&b.xe(y,Number(f)),d=!1}c[f]=
!1;return d;case "map":d={};for(var l=1;l<a.length;l+=2)d[Bb(a[l],b,c)]=Bb(a[l+1],b,c);return d;case "template":d=[];for(var m=!1,n=1;n<a.length;n++){var r=Bb(a[n],b,c);xb&&(m=m||r===xb.yb);d.push(r)}return xb&&m?xb.Uf(d):d.join("");case "escape":d=Bb(a[1],b,c);if(xb&&ra(a[1])&&"macro"===a[1][0]&&xb.sg(a))return xb.Og(d);d=String(d);for(var t=2;t<a.length;t++)Qa[a[t]]&&(d=Qa[a[t]](d));return d;case "tag":var p=a[1];if(!sb[p])throw Error("Unable to resolve tag reference "+p+".");return d={ke:a[2],
index:p};case "zb":var u={arg0:a[2],arg1:a[3],ignore_case:a[5]};u["function"]=a[1];var v=Eb(u,b,c),w=!!a[4];return w||2!==v?w!==(1===v):null;default:throw Error("Attempting to expand unknown Value type: "+a[0]+".");}}return a},Eb=function(a,b,c){try{return vb(Cb(a,b,c))}catch(d){JSON.stringify(a)}return 2};var Fb=function(){var a=function(b){return{toString:function(){return b}}};return{vd:a("convert_case_to"),wd:a("convert_false_to"),xd:a("convert_null_to"),yd:a("convert_true_to"),zd:a("convert_undefined_to"),wh:a("debug_mode_metadata"),sa:a("function"),Ue:a("instance_name"),Ye:a("live_only"),$e:a("malware_disabled"),af:a("metadata"),xh:a("original_vendor_template_id"),ef:a("once_per_event"),Hd:a("once_per_load"),Pd:a("setup_tags"),Rd:a("tag_id"),Sd:a("teardown_tags")}}();var Gb=null,Kb=function(a){function b(r){for(var t=0;t<r.length;t++)d[r[t]]=!0}var c=[],d=[];Gb=Hb(a);for(var e=0;e<qb.length;e++){var f=qb[e],h=Jb(f);if(h){for(var k=f.add||[],l=0;l<k.length;l++)c[k[l]]=!0;b(f.block||[])}else null===h&&b(f.block||[])}for(var m=[],n=0;n<sb.length;n++)c[n]&&!d[n]&&(m[n]=!0);return m},Jb=function(a){for(var b=a["if"]||[],c=0;c<b.length;c++){var d=Gb(b[c]);if(0===d)return!1;if(2===d)return null}for(var e=a.unless||[],f=0;f<e.length;f++){var h=Gb(e[f]);if(2===h)return null;
if(1===h)return!1}return!0},Hb=function(a){var b=[];return function(c){void 0===b[c]&&(b[c]=Eb(rb[c],a));return b[c]}};/*
Copyright (c) 2014 Derek Brans, MIT license https://github.com/krux/postscribe/blob/master/LICENSE. Portions derived from simplehtmlparser, which is licensed under the Apache License, Version 2.0 */
var F=window,G=document,ec=navigator,fc=G.currentScript&&G.currentScript.src,gc=function(a,b){var c=F[a];F[a]=void 0===c?b:c;return F[a]},hc=function(a,b){b&&(a.addEventListener?a.onload=b:a.onreadystatechange=function(){a.readyState in{loaded:1,complete:1}&&(a.onreadystatechange=null,b())})},ic=function(a,b,c){var d=G.createElement("script");d.type="text/javascript";d.async=!0;d.src=a;hc(d,b);c&&(d.onerror=c);var e;if(null===na)b:{var f=ka.document,h=f.querySelector&&f.querySelector("script[nonce]");
if(h){var k=h.nonce||h.getAttribute("nonce");if(k&&la.test(k)){na=k;break b}}na=""}e=na;e&&d.setAttribute("nonce",e);var l=G.getElementsByTagName("script")[0]||G.body||G.head;l.parentNode.insertBefore(d,l);return d},jc=function(){if(fc){var a=fc.toLowerCase();if(0===a.indexOf("https://"))return 2;if(0===a.indexOf("http://"))return 3}return 1},kc=function(a,b){var c=G.createElement("iframe");c.height="0";c.width="0";c.style.display="none";c.style.visibility="hidden";var d=G.body&&G.body.lastChild||
G.body||G.head;d.parentNode.insertBefore(c,d);hc(c,b);void 0!==a&&(c.src=a);return c},lc=function(a,b,c){var d=new Image(1,1);d.onload=function(){d.onload=null;b&&b()};d.onerror=function(){d.onerror=null;c&&c()};d.src=a;return d},mc=function(a,b,c,d){a.addEventListener?a.addEventListener(b,c,!!d):a.attachEvent&&a.attachEvent("on"+b,c)},nc=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,!1):a.detachEvent&&a.detachEvent("on"+b,c)},I=function(a){F.setTimeout(a,0)},oc=function(a,b){return a&&
b&&a.attributes&&a.attributes[b]?a.attributes[b].value:null},pc=function(a){var b=a.innerText||a.textContent||"";b&&" "!=b&&(b=b.replace(/^[\s\xa0]+|[\s\xa0]+$/g,""));b&&(b=b.replace(/(\xa0+|\s{2,}|\n|\r\t)/g," "));return b},qc=function(a){var b=G.createElement("div");b.innerHTML="A<div>"+a+"</div>";b=b.lastChild;for(var c=[];b.firstChild;)c.push(b.removeChild(b.firstChild));return c},sc=function(a,b,c){c=c||100;for(var d={},e=0;e<b.length;e++)d[b[e]]=!0;for(var f=a,h=0;f&&h<=c;h++){if(d[String(f.tagName).toLowerCase()])return f;
f=f.parentElement}return null},tc=function(a){ec.sendBeacon&&ec.sendBeacon(a)||lc(a)},uc=function(a,b){var c=a[b];c&&"string"===typeof c.animVal&&(c=c.animVal);return c};var wc=function(a){return vc?G.querySelectorAll(a):null},xc=function(a,b){if(!vc)return null;if(Element.prototype.closest)try{return a.closest(b)}catch(e){return null}var c=Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector||Element.prototype.oMatchesSelector,d=a;if(!G.documentElement.contains(d))return null;do{try{if(c.call(d,b))return d}catch(e){break}d=d.parentElement||d.parentNode}while(null!==d&&1===d.nodeType);
return null},yc=!1;if(G.querySelectorAll)try{var zc=G.querySelectorAll(":root");zc&&1==zc.length&&zc[0]==G.documentElement&&(yc=!0)}catch(a){}var vc=yc;var J={ra:"_ee",Bh:"_uci",uc:"event_callback",xb:"event_timeout",D:"gtag.config",Y:"allow_ad_personalization_signals",vc:"restricted_data_processing",Ra:"allow_google_signals",Z:"cookie_expires",wb:"cookie_update",Sa:"session_duration",ca:"user_properties"};
J.md="page_view";J.bh="user_engagement";J.ma="purchase";J.Hb="refund";J.Ta="begin_checkout";J.Eb="add_to_cart";J.Fb="remove_from_cart";J.Hg="view_cart";J.Ed="add_to_wishlist";J.Ua="view_item";J.Vg="view_promotion";J.Ug="select_promotion";J.Mg="select_item";J.fd="view_item_list";J.Dd="add_payment_info";J.Fg="add_shipping_info";J.ih="allow_custom_scripts";J.lh="allow_display_features";J.nh="allow_enhanced_conversions";J.Zd="enhanced_conversions";J.Ib="client_id";J.P="cookie_domain";J.Kb="cookie_name";
J.Ea="cookie_path";J.Va="cookie_flags";J.ia="currency";J.Ob="custom_params";J.uh="custom_map";J.nc="groups";J.Fa="language";J.th="country";J.Ah="non_interaction";J.$a="page_location";J.ab="page_referrer";J.qc="page_title";J.cb="send_page_view";J.oa="send_to";J.sc="session_engaged";J.Tb="session_id";J.wc="session_number";J.jf="tracking_id";J.na="linker";J.Wa="accept_incoming";J.C="domains";J.Za="url_position";J.Ya="decorate_forms";J.be="phone_conversion_number";J.ae="phone_conversion_callback";J.td=
"phone_conversion_css_class";J.ee="phone_conversion_options";J.Ze="phone_conversion_ids";J.Xe="phone_conversion_country_code";J.Fd="aw_remarketing";J.Gd="aw_remarketing_only";J.X="value";J.bf="quantity";J.Me="affiliation";J.Yd="tax";J.Qe="shipping";J.nd="list_name";J.Xd="checkout_step";J.Vd="checkout_option";J.Ne="coupon";J.Pe="promotions";J.eb="transaction_id";J.fb="user_id";J.Da="conversion_linker";J.Ba="conversion_cookie_prefix";J.T="cookie_prefix";J.M="items";J.Od="aw_merchant_id";J.Kd="aw_feed_country";
J.Ld="aw_feed_language";J.Id="discount";J.Ud="disable_merchant_reported_purchases";J.oc="new_customer";J.Qd="customer_lifetime_value";J.Ke="dc_natural_search";J.vh="dc_custom_params";J.kf="trip_type";J.$d="passengers";J.Ve="method";J.hf="search_term";J.ph="content_type";J.We="optimize_id";J.Re="experiments";J.Sb="google_signals";J.rd="google_tld";J.Ub="update";J.qd="firebase_id";J.Qb="ga_restrict_domain";J.pd="event_settings";J.cf="screen_name";J.Te="_x_19";J.Se="_x_20";J.qa="transport_url";J.pe=
[J.Y,J.Ra,J.vc,J.P,J.Z,J.Va,J.Kb,J.Ea,J.T,J.wb,J.Ob,J.uc,J.pd,J.xb,J.Qb,J.Sb,J.rd,J.nc,J.na,J.oa,J.cb,J.Sa,J.Ub,J.ca,J.qa];J.ie=[J.$a,J.ab,J.qc,J.Fa,J.cf,J.fb,J.qd];J.lf=[J.ma,J.Hb,J.Ta,J.Eb,J.Fb,J.Hg,J.Ed,J.Ua,J.Vg,J.Ug,J.fd,J.Mg,J.Dd,J.Fg];J.Cd=[J.oa,J.Fd,J.Gd,J.Ob,J.cb,J.Fa,J.X,J.ia,J.eb,J.fb,J.Da,J.Ba,J.T,J.P,J.Z,J.Va,J.$a,J.ab,J.be,J.ae,J.td,J.ee,J.M,J.Od,J.Kd,J.Ld,J.Id,J.Ud,J.oc,J.Qd,J.Y,
J.vc,J.Ub,J.qd,J.Zd,J.qa];J.je=[J.Y,J.Ra,J.wb];J.qe=[J.Z,J.xb,J.Sa];var Qc=/[A-Z]+/,Rc=/\s/,Sc=function(a){if(g(a)&&(a=Ca(a),!Rc.test(a))){var b=a.indexOf("-");if(!(0>b)){var c=a.substring(0,b);if(Qc.test(c)){for(var d=a.substring(b+1).split("/"),e=0;e<d.length;e++)if(!d[e])return;return{id:a,prefix:c,containerId:c+"-"+d[0],o:d}}}}},Uc=function(a){for(var b={},c=0;c<a.length;++c){var d=Sc(a[c]);d&&(b[d.id]=d)}Tc(b);var e=[];C(b,function(f,h){e.push(h)});return e};
function Tc(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];"AW"===d.prefix&&d.o[1]&&b.push(d.containerId)}for(var e=0;e<b.length;++e)delete a[b[e]]};var Vc={},Wc=null,Xc=Math.random();Vc.s="";Vc.Cb="340";var Yc={__cl:!0,__ecl:!0,__ehl:!0,__evl:!0,__fal:!0,__fil:!0,__fsl:!0,__hl:!0,__jel:!0,__lcl:!0,__sdl:!0,__tl:!0,__ytl:!0,__paused:!0,__tg:!0},Zc="www.googletagmanager.com/gtm.js";Zc="www.googletagmanager.com/gtag/js";var $c=Zc,bd=null,cd=null,dd=null,ed="//www.googletagmanager.com/a?id="+Vc.s+"&cv=1",fd={},gd={},hd=function(){var a=Wc.sequence||0;Wc.sequence=a+1;return a};var id={},jd=function(a,b){id[a]=id[a]||[];id[a][b]=!0},kd=function(a){for(var b=[],c=id[a]||[],d=0;d<c.length;d++)c[d]&&(b[Math.floor(d/6)]^=1<<d%6);for(var e=0;e<b.length;e++)b[e]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".charAt(b[e]||0);return b.join("")};
var ld=function(){return"&tc="+sb.filter(function(a){return a}).length},od=function(){md||(md=F.setTimeout(nd,500))},nd=function(){md&&(F.clearTimeout(md),md=void 0);void 0===pd||qd[pd]&&!rd&&!sd||(td[pd]||ud.vg()||0>=vd--?(jd("GTM",1),td[pd]=!0):(ud.Xg(),lc(wd()),qd[pd]=!0,xd=yd=sd=rd=""))},wd=function(){var a=pd;if(void 0===a)return"";var b=kd("GTM"),c=kd("TAGGING");return[zd,qd[a]?"":"&es=1",Ad[a],b?"&u="+b:"",c?"&ut="+c:"",ld(),rd,sd,yd,xd,"&z=0"].join("")},Bd=function(){return[ed,"&v=3&t=t",
"&pid="+wa(),"&rv="+Vc.Cb].join("")},Cd="0.005000">Math.random(),zd=Bd(),Dd=function(){zd=Bd()},qd={},rd="",sd="",xd="",yd="",pd=void 0,Ad={},td={},md=void 0,ud=function(a,b){var c=0,d=0;return{vg:function(){if(c<a)return!1;Ea()-d>=b&&(c=0);return c>=a},Xg:function(){Ea()-d>=b&&(c=0);c++;d=Ea()}}}(2,1E3),vd=1E3,Ed=function(a,b){if(Cd&&!td[a]&&pd!==a){nd();pd=a;xd=rd="";var c;c=0===b.indexOf("gtm.")?encodeURIComponent(b):"*";Ad[a]="&e="+c+"&eid="+a;od()}},Fd=function(a,b,c){if(Cd&&
!td[a]&&b){a!==pd&&(nd(),pd=a);var d,e=String(b[Fb.sa]||"").replace(/_/g,"");0===e.indexOf("cvt")&&(e="cvt");d=e;var f=c+d;rd=rd?rd+"."+f:"&tr="+f;var h=b["function"];if(!h)throw Error("Error: No function name given for function call.");var k=(ub[h]?"1":"2")+d;xd=xd?xd+"."+k:"&ti="+k;od();2022<=wd().length&&nd()}},Gd=function(a,b,c){if(Cd&&!td[a]){a!==pd&&(nd(),pd=a);var d=c+b;sd=
sd?sd+"."+d:"&epr="+d;od();2022<=wd().length&&nd()}};var Hd={},Id=new xa,Jd={},Kd={},Nd={name:"dataLayer",set:function(a,b){D(Ka(a,b),Jd);Ld()},get:function(a){return Md(a,2)},reset:function(){Id=new xa;Jd={};Ld()}},Md=function(a,b){if(2!=b){var c=Id.get(a);if(Cd){var d=Od(a);c!==d&&jd("GTM",5)}return c}return Od(a)},Od=function(a,b,c){var d=a.split("."),e=!1,f=void 0;var h=function(k,l){for(var m=0;void 0!==k&&m<d.length;m++){if(null===k)return!1;k=k[d[m]]}return void 0!==k||1<m?k:l.length?h(Pd(l.pop()),l):Qd(d)};
e=!0;f=h(Jd.eventModel,[b,c]);return e?f:Qd(d)},Qd=function(a){for(var b=Jd,c=0;c<a.length;c++){if(null===b)return!1;if(void 0===b)break;b=b[a[c]]}return b};var Pd=function(a){if(a){var b=Qd(["gtag","targets",a]);return Pa(b)?b:void 0}},Rd=function(a,b){function c(f){f&&C(f,function(h){d[h]=null})}var d={};c(Jd);delete d.eventModel;c(Pd(a));c(Pd(b));c(Jd.eventModel);var e=[];C(d,function(f){e.push(f)});return e};
var Sd=function(a,b){Kd.hasOwnProperty(a)||(Id.set(a,b),D(Ka(a,b),Jd),Ld())},Ld=function(a){C(Kd,function(b,c){Id.set(b,c);D(Ka(b,void 0),Jd);D(Ka(b,c),Jd);a&&delete Kd[b]})},Td=function(a,b,c){Hd[a]=Hd[a]||{};var d=1!==c?Od(b):Id.get(b);"array"===Na(d)||"object"===Na(d)?Hd[a][b]=D(d):Hd[a][b]=d},Ud=function(a,b){if(Hd[a])return Hd[a][b]},Vd=function(a,b){Hd[a]&&delete Hd[a][b]};var Wd=function(){var a=!1;return a};var Q=function(a,b,c,d){return(2===Xd()||d||"http:"!=F.location.protocol?a:b)+c},Xd=function(){var a=jc(),b;if(1===a)a:{var c=$c;c=c.toLowerCase();for(var d="https://"+c,e="http://"+c,f=1,h=G.getElementsByTagName("script"),k=0;k<h.length&&100>k;k++){var l=h[k].src;if(l){l=l.toLowerCase();if(0===l.indexOf(e)){b=3;break a}1===f&&0===l.indexOf(d)&&(f=2)}}b=f}else b=a;return b};
var Zd=function(a,b,c){if(F[a.functionName])return b.Wc&&I(b.Wc),F[a.functionName];var d=Yd();F[a.functionName]=d;if(a.Gb)for(var e=0;e<a.Gb.length;e++)F[a.Gb[e]]=F[a.Gb[e]]||Yd();a.Rb&&void 0===F[a.Rb]&&(F[a.Rb]=c);ic(Q("https://","http://",a.gd),b.Wc,b.Ig);return d},Yd=function(){var a=function(){a.q=a.q||[];a.q.push(arguments)};return a},$d={functionName:"_googWcmImpl",Rb:"_googWcmAk",gd:"www.gstatic.com/wcm/loader.js"},ae={functionName:"_gaPhoneImpl",Rb:"ga_wpid",gd:"www.gstatic.com/gaphone/loader.js"},
be={Le:"",nf:"1"},ce={functionName:"_googCallTrackingImpl",Gb:[ae.functionName,$d.functionName],gd:"www.gstatic.com/call-tracking/call-tracking_"+(be.Le||be.nf)+".js"},de={},ee=function(a,b,c,d){jd("GTM",22);if(c){d=d||{};var e=Zd($d,d,a),f={ak:a,cl:b};void 0===d.da&&(f.autoreplace=c);e(2,d.da,f,c,0,new Date,d.options)}},fe=function(a,b,c){jd("GTM",23);if(b){c=c||{};var d=Zd(ae,c,a),e={};void 0!==c.da?e.receiver=c.da:e.replace=b;e.ga_wpid=a;e.destination=b;d(2,
new Date,e)}},ge=function(a,b,c,d){jd("GTM",21);if(b&&c){d=d||{};for(var e={countryNameCode:c,destinationNumber:b,retrievalTime:new Date},f=0;f<a.length;f++){var h=a[f];de[h.id]||(h&&"AW"===h.prefix&&!e.adData&&2<=h.o.length?(e.adData={ak:h.o[0],cl:h.o[1]},de[h.id]=!0):h&&"UA"===h.prefix&&!e.gaData&&(e.gaData={gaWpid:h.containerId},de[h.id]=!0))}(e.gaData||e.adData)&&Zd(ce,d)(d.da,e,d.options)}},he=function(){var a=!1;
return a},ie=function(a,b){if(a)if(Wd()){}else{if(g(a)){var c=Sc(a);if(!c)return;a=c}var d=function(x){return b?b.getWithConfig(x):Od(x,a.containerId,a.id)},e=void 0,f=!1,h=d(J.Ze);if(h&&ra(h)){e=[];for(var k=0;k<h.length;k++){var l=Sc(h[k]);l&&(e.push(l),(a.id===l.id||a.id===a.containerId&&a.containerId===l.containerId)&&(f=!0))}}if(!e||f){var m=d(J.be),n;if(m){ra(m)?n=m:n=[m];var r=d(J.ae),t=d(J.td),p=d(J.ee),u=d(J.Xe),
v=r||t,w=1;"UA"!==a.prefix||e||(w=5);for(var y=0;y<n.length;y++)y<w&&(e?ge(e,n[y],u,{da:v,options:p}):"AW"===a.prefix&&a.o[1]?he()?ge([a],n[y],u||"US",{da:v,options:p}):ee(a.o[0],a.o[1],n[y],{da:v,options:p}):"UA"===a.prefix&&(he()?ge([a],n[y],u||"US",{da:v}):fe(a.containerId,n[y],{da:v})))}}}};var le=new RegExp(/^(.*\.)?(google|youtube|blogger|withgoogle)(\.com?)?(\.[a-z]{2})?\.?$/),me={cl:["ecl"],customPixels:["nonGooglePixels"],ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],customScripts:["html","customPixels","nonGooglePixels","nonGoogleScripts","nonGoogleIframes"],nonGooglePixels:[],nonGoogleScripts:["nonGooglePixels"],nonGoogleIframes:["nonGooglePixels"]},ne={cl:["ecl"],customPixels:["customScripts","html"],
ecl:["cl"],ehl:["hl"],hl:["ehl"],html:["customScripts"],customScripts:["html"],nonGooglePixels:["customPixels","customScripts","html","nonGoogleScripts","nonGoogleIframes"],nonGoogleScripts:["customScripts","html"],nonGoogleIframes:["customScripts","html","nonGoogleScripts"]},oe="google customPixels customScripts html nonGooglePixels nonGoogleScripts nonGoogleIframes".split(" ");
var qe=function(a){var b=Md("gtm.whitelist");b&&jd("GTM",9);b="google gtagfl lcl zone oid op".split(" ");var c=b&&Ja(Ba(b),me),d=Md("gtm.blacklist");d||(d=Md("tagTypeBlacklist"))&&jd("GTM",3);
d?jd("GTM",8):d=[];pe()&&(d=Ba(d),d.push("nonGooglePixels","nonGoogleScripts","sandboxedScripts"));0<=q(Ba(d),"google")&&jd("GTM",2);var e=d&&Ja(Ba(d),ne),f={};return function(h){var k=h&&h[Fb.sa];if(!k||"string"!=typeof k)return!0;k=k.replace(/^_*/,"");if(void 0!==f[k])return f[k];var l=gd[k]||[],m=a(k,l);if(b){var n;if(n=m)a:{if(0>q(c,k))if(l&&0<l.length)for(var r=
0;r<l.length;r++){if(0>q(c,l[r])){jd("GTM",11);n=!1;break a}}else{n=!1;break a}n=!0}m=n}var t=!1;if(d){var p=0<=q(e,k);if(p)t=p;else{var u=ya(e,l||[]);u&&jd("GTM",10);t=u}}var v=!m||t;v||!(0<=q(l,"sandboxedScripts"))||c&&-1!==q(c,"sandboxedScripts")||(v=ya(e,oe));return f[k]=v}},pe=function(){return le.test(F.location&&F.location.hostname)};var re={Rf:function(a,b){b[Fb.vd]&&"string"===typeof a&&(a=1==b[Fb.vd]?a.toLowerCase():a.toUpperCase());b.hasOwnProperty(Fb.xd)&&null===a&&(a=b[Fb.xd]);b.hasOwnProperty(Fb.zd)&&void 0===a&&(a=b[Fb.zd]);b.hasOwnProperty(Fb.yd)&&!0===a&&(a=b[Fb.yd]);b.hasOwnProperty(Fb.wd)&&!1===a&&(a=b[Fb.wd]);return a}};var se={active:!0,isWhitelisted:function(){return!0}},te=function(a){var b=Wc.zones;!b&&a&&(b=Wc.zones=a());return b};var ue=function(){};var ve=!1,we=0,xe=[];function ye(a){if(!ve){var b=G.createEventObject,c="complete"==G.readyState,d="interactive"==G.readyState;if(!a||"readystatechange"!=a.type||c||!b&&d){ve=!0;for(var e=0;e<xe.length;e++)I(xe[e])}xe.push=function(){for(var f=0;f<arguments.length;f++)I(arguments[f]);return 0}}}function ze(){if(!ve&&140>we){we++;try{G.documentElement.doScroll("left"),ye()}catch(a){F.setTimeout(ze,50)}}}var Ae=function(a){ve?a():xe.push(a)};var Be={},Ce={},De=function(a,b,c,d){if(!Ce[a]||Yc[b]||"__zone"===b)return-1;var e={};Pa(d)&&(e=D(d,e));e.id=c;e.status="timeout";return Ce[a].tags.push(e)-1},Ee=function(a,b,c,d){if(Ce[a]){var e=Ce[a].tags[b];e&&(e.status=c,e.executionTime=d)}};function Fe(a){for(var b=Be[a]||[],c=0;c<b.length;c++)b[c]();Be[a]={push:function(d){d(Vc.s,Ce[a])}}}
var Ie=function(a,b,c){Ce[a]={tags:[]};pa(b)&&Ge(a,b);c&&F.setTimeout(function(){return Fe(a)},Number(c));return He(a)},Ge=function(a,b){Be[a]=Be[a]||[];Be[a].push(Ga(function(){return I(function(){b(Vc.s,Ce[a])})}))};function He(a){var b=0,c=0,d=!1;return{add:function(){c++;return Ga(function(){b++;d&&b>=c&&Fe(a)})},Df:function(){d=!0;b>=c&&Fe(a)}}};var Je=function(){function a(d){return!qa(d)||0>d?0:d}if(!Wc._li&&F.performance&&F.performance.timing){var b=F.performance.timing.navigationStart,c=qa(Nd.get("gtm.start"))?Nd.get("gtm.start"):0;Wc._li={cst:a(c-b),cbt:a(cd-b)}}};var Ne={},Oe=function(){return F.GoogleAnalyticsObject&&F[F.GoogleAnalyticsObject]},Pe=!1;
var Qe=function(a){F.GoogleAnalyticsObject||(F.GoogleAnalyticsObject=a||"ga");var b=F.GoogleAnalyticsObject;if(F[b])F.hasOwnProperty(b)||jd("GTM",12);else{var c=function(){c.q=c.q||[];c.q.push(arguments)};c.l=Number(new Date);F[b]=c}Je();return F[b]},Re=function(a,b,c,d){b=String(b).replace(/\s+/g,"").split(",");var e=Oe();e(a+"require","linker");e(a+"linker:autoLink",b,c,d)};
var Te=function(a){},Se=function(){return F.GoogleAnalyticsObject||"ga"};var Ve=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;var We=/:[0-9]+$/,Xe=function(a,b,c){for(var d=a.split("&"),e=0;e<d.length;e++){var f=d[e].split("=");if(decodeURIComponent(f[0]).replace(/\+/g," ")===b){var h=f.slice(1).join("=");return c?h:decodeURIComponent(h).replace(/\+/g," ")}}},$e=function(a,b,c,d,e){b&&(b=String(b).toLowerCase());if("protocol"===b||"port"===b)a.protocol=Ye(a.protocol)||Ye(F.location.protocol);"port"===b?a.port=String(Number(a.hostname?a.port:F.location.port)||("http"==a.protocol?80:"https"==a.protocol?443:"")):"host"===b&&
(a.hostname=(a.hostname||F.location.hostname).replace(We,"").toLowerCase());var f=b,h,k=Ye(a.protocol);f&&(f=String(f).toLowerCase());switch(f){case "url_no_fragment":h=Ze(a);break;case "protocol":h=k;break;case "host":h=a.hostname.replace(We,"").toLowerCase();if(c){var l=/^www\d*\./.exec(h);l&&l[0]&&(h=h.substr(l[0].length))}break;case "port":h=String(Number(a.port)||("http"==k?80:"https"==k?443:""));break;case "path":a.pathname||a.hostname||jd("TAGGING",1);h="/"==a.pathname.substr(0,1)?a.pathname:
"/"+a.pathname;var m=h.split("/");0<=q(d||[],m[m.length-1])&&(m[m.length-1]="");h=m.join("/");break;case "query":h=a.search.replace("?","");e&&(h=Xe(h,e,void 0));break;case "extension":var n=a.pathname.split(".");h=1<n.length?n[n.length-1]:"";h=h.split("/")[0];break;case "fragment":h=a.hash.replace("#","");break;default:h=a&&a.href}return h},Ye=function(a){return a?a.replace(":","").toLowerCase():""},Ze=function(a){var b="";if(a&&a.href){var c=a.href.indexOf("#");b=0>c?a.href:a.href.substr(0,c)}return b},
af=function(a){var b=G.createElement("a");a&&(b.href=a);var c=b.pathname;"/"!==c[0]&&(a||jd("TAGGING",1),c="/"+c);var d=b.hostname.replace(We,"");return{href:b.href,protocol:b.protocol,host:b.host,hostname:d,pathname:c,search:b.search,hash:b.hash,port:b.port}};function ff(a,b,c,d){var e=sb[a],f=gf(a,b,c,d);if(!f)return null;var h=Bb(e[Fb.Pd],c,[]);if(h&&h.length){var k=h[0];f=ff(k.index,{B:f,w:1===k.ke?b.terminate:f,terminate:b.terminate},c,d)}return f}
function gf(a,b,c,d){function e(){if(f[Fb.$e])k();else{var w=Cb(f,c,[]),y=De(c.id,String(f[Fb.sa]),Number(f[Fb.Rd]),w[Fb.af]),x=!1;w.vtp_gtmOnSuccess=function(){if(!x){x=!0;var A=Ea()-z;Fd(c.id,sb[a],"5");Ee(c.id,y,"success",A);h()}};w.vtp_gtmOnFailure=function(){if(!x){x=!0;var A=Ea()-z;Fd(c.id,sb[a],"6");Ee(c.id,y,"failure",A);k()}};w.vtp_gtmTagId=f.tag_id;
w.vtp_gtmEventId=c.id;Fd(c.id,f,"1");var B=function(){var A=Ea()-z;Fd(c.id,f,"7");Ee(c.id,y,"exception",A);x||(x=!0,k())};var z=Ea();try{Ab(w,c)}catch(A){B(A)}}}var f=sb[a],h=b.B,k=b.w,l=b.terminate;if(c.Qc(f))return null;var m=Bb(f[Fb.Sd],c,[]);if(m&&m.length){var n=m[0],r=ff(n.index,{B:h,w:k,terminate:l},c,d);if(!r)return null;h=r;k=2===n.ke?l:r}if(f[Fb.Hd]||f[Fb.ef]){var t=f[Fb.Hd]?tb:c.gh,p=h,u=k;if(!t[a]){e=Ga(e);var v=hf(a,t,e);h=v.B;k=v.w}return function(){t[a](p,u)}}return e}
function hf(a,b,c){var d=[],e=[];b[a]=jf(d,e,c);return{B:function(){b[a]=kf;for(var f=0;f<d.length;f++)d[f]()},w:function(){b[a]=lf;for(var f=0;f<e.length;f++)e[f]()}}}function jf(a,b,c){return function(d,e){a.push(d);b.push(e);c()}}function kf(a){a()}function lf(a,b){b()};var of=function(a,b){for(var c=[],d=0;d<sb.length;d++)if(a.mb[d]){var e=sb[d];var f=b.add();try{var h=ff(d,{B:f,w:f,terminate:f},a,d);h?c.push({Ie:d,De:Db(e),cg:h}):(mf(d,a),f())}catch(l){f()}}b.Df();c.sort(nf);for(var k=0;k<c.length;k++)c[k].cg();return 0<c.length};function nf(a,b){var c,d=b.De,e=a.De;c=d>e?1:d<e?-1:0;var f;if(0!==c)f=c;else{var h=a.Ie,k=b.Ie;f=h>k?1:h<k?-1:0}return f}
function mf(a,b){if(!Cd)return;var c=function(d){var e=b.Qc(sb[d])?"3":"4",f=Bb(sb[d][Fb.Pd],b,[]);f&&f.length&&c(f[0].index);Fd(b.id,sb[d],e);var h=Bb(sb[d][Fb.Sd],b,[]);h&&h.length&&c(h[0].index)};c(a);}
var pf=!1,qf=function(a,b,c,d,e){if("gtm.js"==b){if(pf)return!1;pf=!0}Ed(a,b);var f=Ie(a,d,e);Td(a,"event",1);Td(a,"ecommerce",1);Td(a,"gtm");var h={id:a,name:b,Qc:qe(c),mb:[],gh:[],xe:function(){jd("GTM",6)}};h.mb=Kb(h);var k=of(h,f);"gtm.js"!==b&&"gtm.sync"!==b||Te(Vc.s);if(!k)return k;for(var l=0;l<h.mb.length;l++)if(h.mb[l]){var m=sb[l];if(m&&!Yc[String(m[Fb.sa])])return!0}return!1};var rf=function(a,b){var c=zb(a,b);sb.push(c);return sb.length-1};var sf=/^https?:\/\/www\.googletagmanager\.com/;function tf(){var a;return a}function vf(a,b){}
function uf(a){0!==a.indexOf("http://")&&0!==a.indexOf("https://")&&(a="https://"+a);"/"===a[a.length-1]&&(a=a.substring(0,a.length-1));return a}function wf(){var a=!1;return a};var xf=function(){this.eventModel={};this.targetConfig={};this.containerConfig={};this.h={};this.globalConfig={};this.B=function(){};this.w=function(){}},yf=function(a){var b=new xf;b.eventModel=a;return b},zf=function(a,b){a.targetConfig=b;return a},Af=function(a,b){a.containerConfig=b;return a},Bf=function(a,b){a.h=b;return a},Cf=function(a,b){a.globalConfig=b;return a},Df=function(a,b){a.B=b;return a},Ef=function(a,b){a.w=b;return a};
xf.prototype.getWithConfig=function(a){if(void 0!==this.eventModel[a])return this.eventModel[a];if(void 0!==this.targetConfig[a])return this.targetConfig[a];if(void 0!==this.containerConfig[a])return this.containerConfig[a];if(void 0!==this.h[a])return this.h[a];if(void 0!==this.globalConfig[a])return this.globalConfig[a]};
var Ff=function(a){function b(e){C(e,function(f){c[f]=null})}var c={};b(a.eventModel);b(a.targetConfig);b(a.containerConfig);b(a.globalConfig);var d=[];C(c,function(e){d.push(e)});return d};var Gf=function(a,b,c){for(var d=[],e=String(b||document.cookie).split(";"),f=0;f<e.length;f++){var h=e[f].split("="),k=h[0].replace(/^\s*|\s*$/g,"");if(k&&k==a){var l=h.slice(1).join("=").replace(/^\s*|\s*$/g,"");l&&c&&(l=decodeURIComponent(l));d.push(l)}}return d},Jf=function(a,b,c,d){var e=Hf(a,d);if(1===e.length)return e[0].id;if(0!==e.length){e=If(e,function(f){return f.Mb},b);if(1===e.length)return e[0].id;e=If(e,function(f){return f.nb},c);return e[0]?e[0].id:void 0}};
function Kf(a,b,c){var d=document.cookie;document.cookie=a;var e=document.cookie;return d!=e||void 0!=c&&0<=Gf(b,e).indexOf(c)}
var Nf=function(a,b,c,d,e,f,h){d=d||"auto";var k={path:c||"/"};e&&(k.expires=e);"none"!==d&&(k.domain=d);h&&(k.flags=h);var l;a:{var m=b,n;if(void 0==m)n=a+"=deleted; expires="+(new Date(0)).toUTCString();else{f&&(m=encodeURIComponent(m));var r=m;r&&1200<r.length&&(r=r.substring(0,1200));m=r;n=a+"="+m}var t=void 0,p=void 0,u="",v;for(v in k)if(k.hasOwnProperty(v)){var w=k[v];if(null!=w)switch(v){case "secure":w&&(n+="; secure");break;case "domain":t=w;break;case "flags":u=";"+w;break;default:"path"==
v&&(p=w),"expires"==v&&w instanceof Date&&(w=w.toUTCString()),n+="; "+v+"="+w}}if("auto"===t){for(var y=Lf(),x=0;x<y.length;++x){var B="none"!=y[x]?y[x]:void 0;if(!Mf(B,p)&&Kf(n+(B?"; domain="+B:"")+u,a,m)){l=!0;break a}}l=!1}else t&&"none"!=t&&(n+="; domain="+t),l=!Mf(t,p)&&Kf(n+u,a,m)}return l};function If(a,b,c){for(var d=[],e=[],f,h=0;h<a.length;h++){var k=a[h],l=b(k);l===c?d.push(k):void 0===f||l<f?(e=[k],f=l):l===f&&e.push(k)}return 0<d.length?d:e}
function Hf(a,b){for(var c=[],d=Gf(a),e=0;e<d.length;e++){var f=d[e].split("."),h=f.shift();if(!b||-1!==b.indexOf(h)){var k=f.shift();k&&(k=k.split("-"),c.push({id:f.join("."),Mb:1*k[0]||1,nb:1*k[1]||1}))}}return c}
var Of=/^(www\.)?google(\.com?)?(\.[a-z]{2})?$/,Pf=/(^|\.)doubleclick\.net$/i,Mf=function(a,b){return Pf.test(document.location.hostname)||"/"===b&&Of.test(a)},Lf=function(){var a=[],b=document.location.hostname.split(".");if(4===b.length){var c=b[b.length-1];if(parseInt(c,10).toString()===c)return["none"]}for(var d=b.length-2;0<=d;d--)a.push(b.slice(d).join("."));var e=document.location.hostname;Pf.test(e)||Of.test(e)||a.push("none");return a};function Qf(){for(var a=Rf,b={},c=0;c<a.length;++c)b[a[c]]=c;return b}function Sf(){var a="ABCDEFGHIJKLMNOPQRSTUVWXYZ";a+=a.toLowerCase()+"0123456789-_";return a+"."}var Rf,Tf;function Uf(a){Rf=Rf||Sf();Tf=Tf||Qf();for(var b=[],c=0;c<a.length;c+=3){var d=c+1<a.length,e=c+2<a.length,f=a.charCodeAt(c),h=d?a.charCodeAt(c+1):0,k=e?a.charCodeAt(c+2):0,l=f>>2,m=(f&3)<<4|h>>4,n=(h&15)<<2|k>>6,r=k&63;e||(r=64,d||(n=64));b.push(Rf[l],Rf[m],Rf[n],Rf[r])}return b.join("")}
function Vf(a){function b(l){for(;d<a.length;){var m=a.charAt(d++),n=Tf[m];if(null!=n)return n;if(!/^[\s\xa0]*$/.test(m))throw Error("Unknown base64 encoding at char: "+m);}return l}Rf=Rf||Sf();Tf=Tf||Qf();for(var c="",d=0;;){var e=b(-1),f=b(0),h=b(64),k=b(64);if(64===k&&-1===e)return c;c+=String.fromCharCode(e<<2|f>>4);64!=h&&(c+=String.fromCharCode(f<<4&240|h>>2),64!=k&&(c+=String.fromCharCode(h<<6&192|k)))}};var Wf;var $f=function(){var a=Xf,b=Yf,c=Zf(),d=function(h){a(h.target||h.srcElement||{})},e=function(h){b(h.target||h.srcElement||{})};if(!c.init){mc(G,"mousedown",d);mc(G,"keyup",d);mc(G,"submit",e);var f=HTMLFormElement.prototype.submit;HTMLFormElement.prototype.submit=function(){b(this);f.call(this)};c.init=!0}},ag=function(a,b,c){for(var d=Zf().decorators,e={},f=0;f<d.length;++f){var h=d[f],k;if(k=!c||h.forms)a:{var l=h.domains,m=a;if(l&&(h.sameHost||m!==G.location.hostname))for(var n=0;n<l.length;n++)if(l[n]instanceof
RegExp){if(l[n].test(m)){k=!0;break a}}else if(0<=m.indexOf(l[n])){k=!0;break a}k=!1}if(k){var r=h.placement;void 0==r&&(r=h.fragment?2:1);r===b&&Ha(e,h.callback())}}return e},Zf=function(){var a=gc("google_tag_data",{}),b=a.gl;b&&b.decorators||(b={decorators:[]},a.gl=b);return b};var cg=/(.*?)\*(.*?)\*(.*)/,dg=/^https?:\/\/([^\/]*?)\.?cdn\.ampproject\.org\/?(.*)/,eg=/^(?:www\.|m\.|amp\.)+/,fg=/([^?#]+)(\?[^#]*)?(#.*)?/;function gg(a){return new RegExp("(.*?)(^|&)"+a+"=([^&]*)&?(.*)")}
var ig=function(a){var b=[],c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];void 0!==d&&d===d&&null!==d&&"[object Object]"!==d.toString()&&(b.push(c),b.push(Uf(String(d))))}var e=b.join("*");return["1",hg(e),e].join("*")},hg=function(a,b){var c=[window.navigator.userAgent,(new Date).getTimezoneOffset(),window.navigator.userLanguage||window.navigator.language,Math.floor((new Date).getTime()/60/1E3)-(void 0===b?0:b),a].join("*"),d;if(!(d=Wf)){for(var e=Array(256),f=0;256>f;f++){for(var h=f,k=0;8>k;k++)h=
h&1?h>>>1^3988292384:h>>>1;e[f]=h}d=e}Wf=d;for(var l=4294967295,m=0;m<c.length;m++)l=l>>>8^Wf[(l^c.charCodeAt(m))&255];return((l^-1)>>>0).toString(36)},kg=function(){return function(a){var b=af(F.location.href),c=b.search.replace("?",""),d=Xe(c,"_gl",!0)||"";a.query=jg(d)||{};var e=$e(b,"fragment").match(gg("_gl"));a.fragment=jg(e&&e[3]||"")||{}}},lg=function(){var a=kg(),b=Zf();b.data||(b.data={query:{},fragment:{}},a(b.data));var c={},d=b.data;d&&(Ha(c,d.query),Ha(c,d.fragment));return c},jg=function(a){var b;
b=void 0===b?3:b;try{if(a){var c;a:{for(var d=a,e=0;3>e;++e){var f=cg.exec(d);if(f){c=f;break a}d=decodeURIComponent(d)}c=void 0}var h=c;if(h&&"1"===h[1]){var k=h[3],l;a:{for(var m=h[2],n=0;n<b;++n)if(m===hg(k,n)){l=!0;break a}l=!1}if(l){for(var r={},t=k?k.split("*"):[],p=0;p<t.length;p+=2)r[t[p]]=Vf(t[p+1]);return r}}}}catch(u){}};
function mg(a,b,c,d){function e(n){var r=n,t=gg(a).exec(r),p=r;if(t){var u=t[2],v=t[4];p=t[1];v&&(p=p+u+v)}n=p;var w=n.charAt(n.length-1);n&&"&"!==w&&(n+="&");return n+m}d=void 0===d?!1:d;var f=fg.exec(c);if(!f)return"";var h=f[1],k=f[2]||"",l=f[3]||"",m=a+"="+b;d?l="#"+e(l.substring(1)):k="?"+e(k.substring(1));return""+h+k+l}
function ng(a,b){var c="FORM"===(a.tagName||"").toUpperCase(),d=ag(b,1,c),e=ag(b,2,c),f=ag(b,3,c);if(Ia(d)){var h=ig(d);c?og("_gl",h,a):pg("_gl",h,a,!1)}if(!c&&Ia(e)){var k=ig(e);pg("_gl",k,a,!0)}for(var l in f)if(f.hasOwnProperty(l))a:{var m=l,n=f[l],r=a;if(r.tagName){if("a"===r.tagName.toLowerCase()){pg(m,n,r,void 0);break a}if("form"===r.tagName.toLowerCase()){og(m,n,r);break a}}"string"==typeof r&&mg(m,n,r,void 0)}}
function pg(a,b,c,d){if(c.href){var e=mg(a,b,c.href,void 0===d?!1:d);Ve.test(e)&&(c.href=e)}}
function og(a,b,c){if(c&&c.action){var d=(c.method||"").toLowerCase();if("get"===d){for(var e=c.childNodes||[],f=!1,h=0;h<e.length;h++){var k=e[h];if(k.name===a){k.setAttribute("value",b);f=!0;break}}if(!f){var l=G.createElement("input");l.setAttribute("type","hidden");l.setAttribute("name",a);l.setAttribute("value",b);c.appendChild(l)}}else if("post"===d){var m=mg(a,b,c.action);Ve.test(m)&&(c.action=m)}}}
var Xf=function(a){try{var b;a:{for(var c=a,d=100;c&&0<d;){if(c.href&&c.nodeName.match(/^a(?:rea)?$/i)){b=c;break a}c=c.parentNode;d--}b=null}var e=b;if(e){var f=e.protocol;"http:"!==f&&"https:"!==f||ng(e,e.hostname)}}catch(h){}},Yf=function(a){try{if(a.action){var b=$e(af(a.action),"host");ng(a,b)}}catch(c){}},qg=function(a,b,c,d){$f();var e="fragment"===c?2:1,f={callback:a,domains:b,fragment:2===e,placement:e,forms:!!d,sameHost:!1};Zf().decorators.push(f)},rg=function(){var a=G.location.hostname,
b=dg.exec(G.referrer);if(!b)return!1;var c=b[2],d=b[1],e="";if(c){var f=c.split("/"),h=f[1];e="s"===h?decodeURIComponent(f[2]):decodeURIComponent(h)}else if(d){if(0===d.indexOf("xn--"))return!1;e=d.replace(/-/g,".").replace(/\.\./g,"-")}var k=a.replace(eg,""),l=e.replace(eg,""),m;if(!(m=k===l)){var n="."+l;m=k.substring(k.length-n.length,k.length)===n}return m},sg=function(a,b){return!1===a?!1:a||b||rg()};var tg={};var ug=/^\w+$/,vg=/^[\w-]+$/,wg=/^~?[\w-]+$/,xg={aw:"_aw",dc:"_dc",gf:"_gf",ha:"_ha",gp:"_gp"};function yg(a){return a&&"string"==typeof a&&a.match(ug)?a:"_gcl"}
var Ag=function(){var a=af(F.location.href),b=$e(a,"query",!1,void 0,"gclid"),c=$e(a,"query",!1,void 0,"gclsrc"),d=$e(a,"query",!1,void 0,"dclid");if(!b||!c){var e=a.hash.replace("#","");b=b||Xe(e,"gclid",void 0);c=c||Xe(e,"gclsrc",void 0)}return zg(b,c,d)},zg=function(a,b,c){var d={},e=function(f,h){d[h]||(d[h]=[]);d[h].push(f)};d.gclid=a;d.gclsrc=b;d.dclid=c;if(void 0!==a&&a.match(vg))switch(b){case void 0:e(a,"aw");break;case "aw.ds":e(a,"aw");e(a,"dc");break;case "ds":e(a,"dc");break;case "3p.ds":(void 0==
tg.gtm_3pds?0:tg.gtm_3pds)&&e(a,"dc");break;case "gf":e(a,"gf");break;case "ha":e(a,"ha");break;case "gp":e(a,"gp")}c&&e(c,"dc");return d},Cg=function(a){var b=Ag();Bg(b,a)};
function Bg(a,b,c){function d(r,t){var p=Dg(r,e);p&&Nf(p,t,h,f,l,!0)}b=b||{};var e=yg(b.prefix),f=b.domain||"auto",h=b.path||"/",k=void 0==b.La?7776E3:b.La;c=c||Ea();var l=0==k?void 0:new Date(c+1E3*k),m=Math.round(c/1E3),n=function(r){return["GCL",m,r].join(".")};a.aw&&(!0===b.Rh?d("aw",n("~"+a.aw[0])):d("aw",n(a.aw[0])));a.dc&&d("dc",n(a.dc[0]));a.gf&&d("gf",n(a.gf[0]));a.ha&&d("ha",n(a.ha[0]));a.gp&&d("gp",n(a.gp[0]))}
var Fg=function(a,b,c,d,e){for(var f=lg(),h=yg(b),k=0;k<a.length;++k){var l=a[k];if(void 0!==xg[l]){var m=Dg(l,h),n=f[m];if(n){var r=Math.min(Eg(n),Ea()),t;b:{for(var p=r,u=Gf(m,G.cookie),v=0;v<u.length;++v)if(Eg(u[v])>p){t=!0;break b}t=!1}t||Nf(m,n,c,d,0==e?void 0:new Date(r+1E3*(null==e?7776E3:e)),!0)}}}var w={prefix:b,path:c,domain:d};Bg(zg(f.gclid,f.gclsrc),w)},Dg=function(a,b){var c=xg[a];if(void 0!==c)return b+c},Eg=function(a){var b=a.split(".");return 3!==b.length||"GCL"!==b[0]?0:1E3*(Number(b[1])||
0)};function Gg(a){var b=a.split(".");if(3==b.length&&"GCL"==b[0]&&b[1])return b[2]}
var Hg=function(a,b,c,d,e){if(ra(b)){var f=yg(e);qg(function(){for(var h={},k=0;k<a.length;++k){var l=Dg(a[k],f);if(l){var m=Gf(l,G.cookie);m.length&&(h[l]=m.sort()[m.length-1])}}return h},b,c,d)}},Ig=function(a){return a.filter(function(b){return wg.test(b)})},Jg=function(a,b){for(var c=yg(b&&b.prefix),d={},e=0;e<a.length;e++)xg[a[e]]&&(d[a[e]]=xg[a[e]]);C(d,function(f,h){var k=Gf(c+h,G.cookie);if(k.length){var l=k[0],m=Eg(l),n={};n[f]=[Gg(l)];Bg(n,b,m)}})};function Kg(){var a=Ag(),b=a.gclid,c=a.gclsrc;if(b&&(!c||"aw.ds"===c)){var d;Wc.reported_gclid||(Wc.reported_gclid={});d=Wc.reported_gclid;if(!d[b]){d[b]=!0;var e="/pagead/landing?gclid="+encodeURIComponent(b);c&&(e+="&gclsrc="+encodeURIComponent(c));tc("https://www.google.com"+e)}}};var Lg;if(3===Vc.Cb.length)Lg="g";else{var Mg="G";Mg="g";Lg=Mg}
var Ng={"":"n",UA:"u",AW:"a",DC:"d",G:"e",GF:"f",HA:"h",GTM:Lg,OPT:"o"},Og=function(a){var b=Vc.s.split("-"),c=b[0].toUpperCase(),d=Ng[c]||"i",e=a&&"GTM"===c?b[1]:"OPT"===c?b[1]:"",f;if(3===Vc.Cb.length){var h=void 0;h=h||(Wd()?"s":"o");f="2"+(h||"w")}else f=
"";return f+d+Vc.Cb+e};
var Pg=function(a){var b=vf(a,"/pagead/conversion_async.js");return b?b:-1===navigator.userAgent.toLowerCase().indexOf("firefox")?Q("https://","http://","www.googleadservices.com/pagead/conversion_async.js"):"https://www.google.com/pagead/conversion_async.js"},Qg=!1,Rg=[],Sg=["aw","dc"],Tg=function(a){var b=F.google_trackConversion,c=a.gtm_onFailure;"function"==typeof b?b(a)||c():c()},Ug=function(){for(;0<Rg.length;)Tg(Rg.shift())},Vg=function(a){if(!Qg){Qg=!0;Je();var b=function(){Ug();Rg={push:Tg}};
Wd()?b():ic(a,b,function(){Ug();Qg=!1})}},Wg=function(a){if(a){for(var b=[],c=0;c<a.length;++c){var d=a[c];d&&b.push({item_id:d.id,quantity:d.quantity,value:d.price,start_date:d.start_date,end_date:d.end_date})}return b}},Xg=function(a,b,c,d){var e=Sc(a),f=b==J.D,h=e.o[0],k=e.o[1],l=void 0!==k,m=function(V){return d.getWithConfig(V)},n=!1!==m(J.Da),r=m(J.Ba)||m(J.T),t=m(J.P),p=m(J.Z),u=m(J.qa),v=Pg(u);if(f){var w=m(J.na)||{};if(n){sg(w[J.Wa],!!w[J.C])&&Fg(Sg,r,void 0,t,p);var y={prefix:r,domain:t,
La:p};Cg(y);Jg(["aw","dc"],y)}w[J.C]&&Hg(Sg,w[J.C],w[J.Za],!!w[J.Ya],r);var x=!1;x=!0;x?ie(e,d):ie(e);}var B=!1===m(J.Fd)||!1===m(J.cb);if(!f||!l&&!B)if(!0===m(J.Gd)&&(l=!1),!1!==m(J.Y)||l){var z={google_conversion_id:h,google_remarketing_only:!l,onload_callback:d.B,
gtm_onFailure:d.w,google_conversion_format:"3",google_conversion_color:"ffffff",google_conversion_domain:"",google_conversion_label:k,google_conversion_language:m(J.Fa),google_conversion_value:m(J.X),google_conversion_currency:m(J.ia),google_conversion_order_id:m(J.eb),google_user_id:m(J.fb),google_conversion_page_url:m(J.$a),google_conversion_referrer_url:m(J.ab),google_gtm:Og(),google_transport_url:vf(u,"/")};z.google_restricted_data_processing=m(J.vc);
Wd()&&(z.opt_image_generator=function(){return new Image},z.google_enable_display_cookie_match=!1);!1===m(J.Y)&&(z.google_allow_ad_personalization_signals=!1);z.google_read_gcl_cookie_opt_out=!n;n&&r&&(z.google_gcl_cookie_prefix=r);var A=function(){var V=m(J.Ob),ca={event:b};if(ra(V)){jd("GTM",26);for(var da=0;da<V.length;++da){var M=V[da],N=m(M);void 0!==N&&(ca[M]=N)}return ca}var P=d.eventModel;if(!P)return null;D(P,ca);for(var T=0;T<J.Cd.length;++T)delete ca[J.Cd[T]];
return ca}();A&&(z.google_custom_params=A);!l&&m(J.M)&&(z.google_gtag_event_data={items:m(J.M),value:m(J.X)});if(l&&b==J.ma){z.google_conversion_merchant_id=m(J.Od);z.google_basket_feed_country=m(J.Kd);z.google_basket_feed_language=m(J.Ld);z.google_basket_discount=m(J.Id);z.google_basket_transaction_type=b;z.google_disable_merchant_reported_conversions=!0===m(J.Ud);Wd()&&(z.google_disable_merchant_reported_conversions=!0);var E=Wg(m(J.M));E&&(z.google_conversion_items=E)}var H=function(V,ca){void 0!=
ca&&""!==ca&&(z.google_additional_conversion_params=z.google_additional_conversion_params||{},z.google_additional_conversion_params[V]=ca)};l&&("boolean"===typeof m(J.oc)&&H("vdnc",m(J.oc)),H("vdltv",m(J.Qd)));var K=!0;K&&Rg.push(z)}Vg(v)};var Yg=function(){for(var a=ec.userAgent+(G.cookie||"")+(G.referrer||""),b=a.length,c=F.history.length;0<c;)a+=c--^b++;var d=1,e,f,h;if(a)for(d=0,f=a.length-1;0<=f;f--)h=a.charCodeAt(f),d=(d<<6&268435455)+h+(h<<14),e=d&266338304,d=0!=e?d^e>>21:d;return[Math.round(2147483647*Math.random())^d&2147483647,Math.round(Ea()/1E3)].join(".")},ah=function(a,b,c,d){var e=Zg(b);return Jf(a,e,$g(c),d)},bh=function(a,b,c,d){var e=""+Zg(c),f=$g(d);1<f&&(e+="-"+f);return[b,e,a].join(".")},Zg=function(a){if(!a)return 1;
a=0===a.indexOf(".")?a.substr(1):a;return a.split(".").length},$g=function(a){if(!a||"/"===a)return 1;"/"!==a[0]&&(a="/"+a);"/"!==a[a.length-1]&&(a+="/");return a.split("/").length-1};var ch=["1"],dh={},hh=function(a,b,c,d){var e=eh(a);dh[e]||fh(e,b,c)||(gh(e,Yg(),b,c,d),fh(e,b,c))};function gh(a,b,c,d,e){var f=bh(b,"1",d,c);Nf(a,f,c,d,0==e?void 0:new Date(Ea()+1E3*(void 0==e?7776E3:e)))}function fh(a,b,c){var d=ah(a,b,c,ch);d&&(dh[a]=d);return d}function eh(a){return(a||"_gcl")+"_au"};var ih=function(){for(var a=[],b=G.cookie.split(";"),c=/^\s*_gac_(UA-\d+-\d+)=\s*(.+?)\s*$/,d=0;d<b.length;d++){var e=b[d].match(c);e&&a.push({jd:e[1],value:e[2]})}var f={};if(!a||!a.length)return f;for(var h=0;h<a.length;h++){var k=a[h].value.split(".");"1"==k[0]&&3==k.length&&k[1]&&(f[a[h].jd]||(f[a[h].jd]=[]),f[a[h].jd].push({timestamp:k[1],fg:k[2]}))}return f};var jh=/^\d+\.fls\.doubleclick\.net$/;function kh(a){var b=af(F.location.href),c=$e(b,"host",!1);if(c&&c.match(jh)){var d=$e(b,"path").split(a+"=");if(1<d.length)return d[1].split(";")[0].split("?")[0]}}
function lh(a,b){if("aw"==a||"dc"==a){var c=kh("gcl"+a);if(c)return c.split(".")}var d=yg(b);if("_gcl"==d){var e;e=Ag()[a]||[];if(0<e.length)return e}var f=Dg(a,d),h;if(f){var k=[];if(G.cookie){var l=Gf(f,G.cookie);if(l&&0!=l.length){for(var m=0;m<l.length;m++){var n=Gg(l[m]);n&&-1===q(k,n)&&k.push(n)}h=Ig(k)}else h=k}else h=k}else h=[];return h}
var mh=function(){var a=kh("gac");if(a)return decodeURIComponent(a);var b=ih(),c=[];C(b,function(d,e){for(var f=[],h=0;h<e.length;h++)f.push(e[h].fg);f=Ig(f);f.length&&c.push(d+":"+f.join(","))});return c.join(";")},nh=function(a,b,c,d,e){hh(b,c,d,e);var f=dh[eh(b)],h=Ag().dc||[],k=!1;if(f&&0<h.length){var l=Wc.joined_au=Wc.joined_au||{},m=b||"_gcl";if(!l[m])for(var n=0;n<h.length;n++){var r="http://ad.doubleclick.net/ddm/regclk";r=r+"?gclid="+h[n]+"&auiddc="+f;tc(r);k=l[m]=!0}}null==a&&(a=k);if(a&&f){var t=
eh(b),p=dh[t];p&&gh(t,p,c,d,e)}};
var oh=function(a){return!(void 0===a||null===a||0===(a+"").length)},ph=function(a,b){var c;if(2===b.W)return a("ord",wa(1E11,1E13)),!0;if(3===b.W)return a("ord","1"),a("num",wa(1E11,1E13)),!0;if(4===b.W)return oh(b.sessionId)&&a("ord",b.sessionId),!0;if(5===b.W)c="1";else if(6===b.W)c=b.dd;else return!1;oh(c)&&a("qty",c);oh(b.Jb)&&a("cost",b.Jb);oh(b.transactionId)&&a("ord",b.transactionId);return!0},qh=encodeURIComponent,rh=function(a,b){function c(n,r,t){f.hasOwnProperty(n)||(r+="",e+=";"+n+"="+
(t?r:qh(r)))}var d=a.Jc,e=a.protocol;e+=a.cc?"//"+d+".fls.doubleclick.net/activityi":"//ad.doubleclick.net/activity";e+=";src="+qh(d)+(";type="+qh(a.Mc))+(";cat="+qh(a.hb));var f=a.Xf||{};C(f,function(n,r){e+=";"+qh(n)+"="+qh(r+"")});if(ph(c,a)){oh(a.mc)&&c("u",a.mc);oh(a.kc)&&c("tran",a.kc);c("gtm",Og());!1===a.Af&&c("npa","1");if(a.Ic){var h=lh("dc",a.Ga);h&&h.length&&c("gcldc",h.join("."));var k=lh("aw",a.Ga);k&&k.length&&c("gclaw",k.join("."));var l=mh();l&&c("gac",l);hh(a.Ga,void 0,a.Sf,a.Tf);
var m=dh[eh(a.Ga)];m&&c("auiddc",m)}oh(a.$c)&&c("prd",a.$c,!0);C(a.ld,function(n,r){c(n,r)});e+=b||"";oh(a.Xb)&&c("~oref",a.Xb);a.cc?kc(e+"?",a.B):lc(e+"?",a.B,a.w)}else I(a.w)};
var sh=function(a,b,c,d,e,f){var h={config:a,gtm:Og()};c&&(hh(d,void 0,e,f),h.auiddc=dh[eh(d)]);b&&(h.loadInsecure=b);void 0===F.__dc_ns_processor&&(F.__dc_ns_processor=[]);F.__dc_ns_processor.push(h);ic((b?"http":"https")+"://www.googletagmanager.com/dclk/ns/v1.js")},th=function(a,b,c){var d=/^u([1-9]\d?|100)$/,e=a.getWithConfig(J.uh)||{},f=Rd(b,c);var h={},k={};if(Pa(e))for(var l in e)if(e.hasOwnProperty(l)&&
d.test(l)){var m=e[l];g(m)&&(h[l]=m)}for(var n=0;n<f.length;n++){var r=f[n];d.test(r)&&(h[r]=r)}for(var t in h)h.hasOwnProperty(t)&&(k[t]=a.getWithConfig(h[t]));return k},uh=function(a){function b(l,m,n){void 0!==n&&0!==(n+"").length&&d.push(l+m+":"+c(n+""))}var c=encodeURIComponent,d=[],e=a(J.M)||[];if(ra(e))for(var f=0;f<e.length;f++){var h=e[f],k=f+1;b("i",k,h.id);b("p",k,h.price);b("q",k,h.quantity);b("c",k,a(J.th));b("l",k,a(J.Fa))}return d.join("|")},vh=function(a){var b=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(a);
if(b){var c={standard:2,unique:3,per_session:4,transactions:5,items_sold:6,"":1}[(b[5]||"").toLowerCase()];if(c)return{containerId:"DC-"+b[1],N:b[3]?a:"",uf:b[1],tf:b[3]||"",hb:b[4]||"",W:c}}},xh=function(a,b,c,d){var e=vh(a);if(e){var f=function(K){return d.getWithConfig(K)},h=!1!==f(J.Da),k=f(J.Ba)||f(J.T),l=f(J.P),m=f(J.Z),n=f(J.Ke),r=3===Xd();if(b===J.D){var t=f(J.na)||{},p=f(J.wb),u=void 0===p?!0:!!p;if(h){if(sg(t[J.Wa],!!t[J.C])){Fg(wh,k,void 0,l,
m);}var v={prefix:k,domain:l,La:m};Cg(v);Jg(wh,v);nh(u,k,void 0,l,m)}if(t[J.C]){Hg(wh,t[J.C],t[J.Za],!!t[J.Ya],k);}if(n&&n.exclusion_parameters&&n.engines)if(Wd()){}else sh(n,r,h,k,l,m);I(d.B)}else{var w={},y=f(J.vh);if(Pa(y))for(var x in y)if(y.hasOwnProperty(x)){var B=y[x];void 0!==B&&null!==
B&&(w[x]=B)}var z="";if(5===e.W||6===e.W)z=uh(f);var A=th(d,e.containerId,e.N),E=!0===f(J.ih);if(Wd()&&E){E=!1}var H={hb:e.hb,Ic:h,Sf:l,Tf:m,Ga:k,Jb:f(J.X),W:e.W,Xf:w,Jc:e.uf,Mc:e.tf,w:d.w,B:d.B,Xb:Ze(af(F.location.href)),$c:z,protocol:r?"http:":"https:",dd:f(J.bf),cc:E,sessionId:f(J.Tb),kc:void 0,transactionId:f(J.eb),mc:void 0,ld:A,Af:!1!==f(J.Y)};rh(H)}}else I(d.w)},wh=["aw","dc"];
var zh=function(a){var b;if(a.hasOwnProperty("conversion_data"))b="conversion_data";else if(a.hasOwnProperty("price"))b="price";else return;var c=b,d=yh(JSON.stringify(a[c])),e=yh(a.conversion_id),f="https://www.googletraveladservices.com/travel/flights/clk/pagead/conversion";f="https://www.google.com/travel/flights/click/conversion";var h=f+"/"+e+"/?"+c+"="+d;if(a.conversionLinkerEnabled){var k=
lh("gf",a.cookiePrefix);if(k&&k.length)for(var l=0;l<k.length;l++)h+="&gclgf="+yh(k[l])}lc(h,a.onSuccess,a.onFailure)},yh=function(a){return null===a||void 0===a||0===String(a).length?"":encodeURIComponent(String(a))};
var Ah=/.*\.google\.com(:\d+)?\/booking\/flights.*/,Ch=function(a,b,c,d){var e=function(w){return d.getWithConfig(w)},f=Sc(a).o[0],h=!1!==e(J.Da),k=e(J.Ba)||e(J.T),l=e(J.P),m=e(J.Z);if(b===J.D){if(h){var n={prefix:k,domain:l,La:m};Cg(n);Jg(["aw","dc"],n)}I(d.B)}else{var r={conversion_id:f,onFailure:d.w,onSuccess:d.B,conversionLinkerEnabled:h,cookiePrefix:k},t=Ah.test(F.location.href);if(b!==J.ma)I(d.w);else{var u={partner_id:f,trip_type:e(J.kf),total_price:e(J.X),currency:e(J.ia),is_direct_booking:t,flight_segment:Bh(e(J.M))},v=e(J.$d);v&&"object"===typeof v&&(u.passengers_total=za(v.total),u.passengers_adult=za(v.adult),u.passengers_child=za(v.child),u.passengers_infant_in_seat=za(v.infant_in_seat),u.passengers_infant_in_lap=za(v.infant_in_lap));r.conversion_data=u;zh(r)}}},Bh=
function(a){if(a){for(var b=[],c=0,d=0;d<a.length;++d){var e=a[d];!e||void 0!==e.category&&""!==e.category&&"FlightSegment"!==e.category||(b[c]={cabin:e.travel_class,fare_product:e.fare_product,booking_code:e.booking_code,flight_number:e.flight_number,origin:e.origin,destination:e.destination,departure_date:e.start_date},c++)}return b}};
var Hh=function(a,b,c,d){var e=Sc(a),f=function(w){return d.getWithConfig(w)},h=!1!==f(J.Da),k=f(J.Ba)||f(J.T),l=f(J.P),m=f(J.Z);if(b===J.D){var n=f(J.na)||{};if(h){sg(n[J.Wa],!!n[J.C])&&Fg(Dh,k,void 0,l,m);var r={prefix:k,domain:l,La:m};Cg(r);Jg(["aw","dc"],r)}if(n[J.C]){Hg(Dh,n[J.C],n[J.Za],!!n[J.Ya],k);}I(d.B)}else{var t=e.o[0];if(/^\d+$/.test(t)){var p="https://www.googletraveladservices.com/travel/clk/pagead/conversion/"+encodeURIComponent(t)+
"/";if(b===J.ma){var u=Eh(f(J.eb),f(J.X),f(J.ia),f(J.M));u=encodeURIComponent(Fh(u));p+="?data="+u}else if(b===J.Ua){var v=Gh(t,f(J.X),f(J.Yd),f(J.ia),f(J.M));v=encodeURIComponent(Fh(v));p+="?label=FH&guid=ON&script=0&ord="+wa(0,4294967295)+("&price="+v)}else{I(d.w);return}h&&(p+=lh("ha",k).map(function(w){return"&gclha="+encodeURIComponent(w)}).join(""));lc(p,d.B,d.w)}else I(d.w)}},Eh=function(a,b,c,d){var e={};Ih(a)&&(e.hct_booking_xref=a);g(c)&&(e.hct_currency_code=c);Ih(b)&&(e.hct_total_price=
b,e.hct_base_price=b);if(!ra(d)||0===d.length)return e;var f=d[0];if(!Pa(f))return e;Ih(f[Jh.va])&&(e.hct_partner_hotel_id=f[Jh.va]);g(f[Jh.ja])&&(e.hct_checkin_date=f[Jh.ja]);g(f[Jh.Qa])&&(e.hct_checkout_date=f[Jh.Qa]);return e},Gh=function(a,b,c,d,e){function f(n){void 0===n&&(n=0);if(Ih(n))return l+n}function h(n,r,t){t(r)&&(k[n]=r)}var k={};k.partner_id=a;var l="USD";g(d)&&(l=k.currency=d);Ih(b)&&(k.base_price_value_string=f(b),k.display_price_value_string=f(b));Ih(c)&&(k.tax_price_value_string=
f(c));g("LANDING_PAGE")&&(k.page_type="LANDING_PAGE");if(!ra(e)||0==e.length)return k;var m=e[0];if(!Pa(m))return k;Ih(m[Jh.Jd])&&(k.total_price_value_string=f(m[Jh.Jd]));h("partner_hotel_id",m[Jh.va],Ih);h("check_in_date",m[Jh.ja],g);h("check_out_date",m[Jh.Qa],g);h("adults",m[Jh.df],Kh);h(Jh.Nd,m[Jh.Nd],g);h(Jh.Md,m[Jh.Md],g);return k},Fh=function(a){var b=[];C(a,function(c,d){b.push(c+"="+d)});return b.join(";")},Ih=function(a){return g(a)||Kh(a)},Kh=function(a){return"number"===typeof a},Jh={va:"id",
Jd:"price",ja:"start_date",Qa:"end_date",df:"occupancy",Nd:"room_id",Md:"rate_rule_id"},Dh=["ha"];
var Yh=function(a,b,c,d){var e="https://www.google-analytics.com/analytics.js",f=Qe();if(pa(f)){var h="gtag_"+a.split("-").join("_"),k=function(x){var B=[].slice.call(arguments,0);B[0]=h+"."+B[0];f.apply(window,B)},l=function(){var x=function(E,H){for(var K=0;H&&K<H.length;K++)k(E,H[K])},B=Ph(b,d);if(B){var z=B.action;if("impressions"===z)x("ec:addImpression",B.ng);else if("promo_click"===z||"promo_view"===z){var A=B.ad;x("ec:addPromo",B.ad);A&&0<A.length&&"promo_click"===z&&k("ec:setAction",z)}else x("ec:addProduct",
B.Ma),k("ec:setAction",z,B.gb)}},m=function(){if(Wd()){}else{var x=d.getWithConfig(J.We);x&&(k("require",x,{dataLayer:"dataLayer"}),k("require","render"))}},n=Qh(a,h,b,d);Rh(h,n.Ha)&&(f(function(){Oe()&&Oe().remove(h)}),Sh[h]=!1);f("create",a,n.Ha);(function(){var x=d.getWithConfig("custom_map");f(function(){if(Pa(x)){var B=n.ka,z=Oe().getByName(h),A;for(A in x)if(x.hasOwnProperty(A)&&/^(dimension|metric)\d+$/.test(A)&&void 0!=x[A]){var E=z.get(Th(x[A]));Uh(B,A,E)}}})})();(function(x){if(x){var B={};if(Pa(x))for(var z in Vh)Vh.hasOwnProperty(z)&&Wh(Vh[z],z,x[z],B);k("require","linkid",B)}})(n.linkAttribution);
var t=n[J.na];if(t&&t[J.C]){var p=t[J.Za];Re(h+".",t[J.C],void 0===p?!!t.use_anchor:"fragment"===p,!!t[J.Ya])}var u=function(x,B,z){z&&(B=""+B);n.ka[x]=B};if(b===J.md)m(),k("send","pageview",n.ka);else if(b===J.D){m();var v=!1;v=!0;v?ie(a,d):ie(a);0!=n.sendPageView&&k("send","pageview",n.ka)}else"screen_view"===b?k("send","screenview",n.ka):"timing_complete"===b?(u("timingCategory",
n.eventCategory,!0),u("timingVar",n.name,!0),u("timingValue",za(n.value)),void 0!==n.eventLabel&&u("timingLabel",n.eventLabel,!0),k("send","timing",n.ka)):"exception"===b?k("send","exception",n.ka):"optimize.callback"!==b&&(0<=q([J.fd,"select_content",J.Ua,J.Eb,J.Fb,J.Ta,"set_checkout_option",J.ma,J.Hb,"view_promotion","checkout_progress"],b)&&(k("require","ec","ec.js"),l()),u("eventCategory",n.eventCategory,!0),u("eventAction",n.eventAction||b,!0),void 0!==n.eventLabel&&u("eventLabel",n.eventLabel,
!0),void 0!==n.value&&u("eventValue",za(n.value)),k("send","event",n.ka));if(!Xh){Xh=!0;Je();var w=d.w,y=function(){Oe().loaded||w()};Wd()?I(y):ic(e,y,w)}}else I(d.w)},Xh,Sh={},Zh={client_id:1,client_storage:"storage",cookie_name:1,cookie_domain:1,cookie_expires:1,cookie_path:1,cookie_update:1,cookie_flags:1,sample_rate:1,site_speed_sample_rate:1,use_amp_client_id:1,store_gac:1,conversion_linker:"storeGac"},$h={anonymize_ip:1,app_id:1,app_installer_id:1,app_name:1,app_version:1,campaign:{name:"campaignName",
source:"campaignSource",medium:"campaignMedium",term:"campaignTerm",content:"campaignContent",id:"campaignId"},currency:"currencyCode",description:"exDescription",fatal:"exFatal",language:1,non_interaction:1,page_hostname:"hostname",page_referrer:"referrer",page_path:"page",page_location:"location",page_title:"title",screen_name:1,transport_type:"transport",user_id:1},ai={content_id:1,event_category:1,event_action:1,event_label:1,link_attribution:1,linker:1,method:1,name:1,send_page_view:1,value:1},
Vh={cookie_name:1,cookie_expires:"duration",levels:1},bi={anonymize_ip:1,fatal:1,non_interaction:1,use_amp_client_id:1,send_page_view:1,store_gac:1,conversion_linker:1},Wh=function(a,b,c,d){if(void 0!==c)if(bi[b]&&(c=Aa(c)),"anonymize_ip"!==b||c||(c=void 0),1===a)d[Th(b)]=c;else if(g(a))d[a]=c;else for(var e in a)a.hasOwnProperty(e)&&void 0!==c[e]&&(d[a[e]]=c[e])},Th=function(a){return a&&g(a)?a.replace(/(_[a-z])/g,function(b){return b[1].toUpperCase()}):a},ci=function(a){var b="general";0<=q([J.Dd,
J.Eb,J.Ed,J.Ta,"checkout_progress",J.ma,J.Hb,J.Fb,"set_checkout_option"],a)?b="ecommerce":0<=q("generate_lead login search select_content share sign_up view_item view_item_list view_promotion view_search_results".split(" "),a)?b="engagement":"exception"===a&&(b="error");return b},Uh=function(a,b,c){a.hasOwnProperty(b)||(a[b]=c)},di=function(a){if(ra(a)){for(var b=[],c=0;c<a.length;c++){var d=a[c];if(void 0!=d){var e=d.id,f=d.variant;void 0!=e&&void 0!=f&&b.push(String(e)+"."+String(f))}}return 0<
b.length?b.join("!"):void 0}},Qh=function(a,b,c,d){var e=function(A){return d.getWithConfig(A)},f={},h={},k={},l=di(e(J.Re));l&&Uh(h,"exp",l);var m=e("custom_map");if(Pa(m))for(var n in m)if(m.hasOwnProperty(n)&&/^(dimension|metric)\d+$/.test(n)&&void 0!=m[n]){var r=e(String(m[n]));void 0!==r&&Uh(h,n,r)}var t=Rd(a);for(var p=0;p<t.length;++p){var u=t[p],v=e(u);if(ai.hasOwnProperty(u))Wh(ai[u],
u,v,f);else if($h.hasOwnProperty(u))Wh($h[u],u,v,h);else if(Zh.hasOwnProperty(u))Wh(Zh[u],u,v,k);else if(/^(dimension|metric|content_group)\d+$/.test(u))Wh(1,u,v,h);else if("developer_id"===u){}else u===J.T&&0>q(t,J.Kb)&&(k.cookieName=v+"_ga")}Uh(k,"cookieDomain","auto");Uh(h,"forceSSL",!0);Uh(f,"eventCategory",ci(c));0<=q(["view_item","view_item_list","view_promotion",
"view_search_results"],c)&&Uh(h,"nonInteraction",!0);"login"===c||"sign_up"===c||"share"===c?Uh(f,"eventLabel",e(J.Ve)):"search"===c||"view_search_results"===c?Uh(f,"eventLabel",e(J.hf)):"select_content"===c&&Uh(f,"eventLabel",e(J.ph));var y=f[J.na]||{},x=y[J.Wa];x||0!=x&&y[J.C]?k.allowLinker=!0:!1===x&&Uh(k,"useAmpClientId",!1);if(!1===e(J.lh)||!1===e(J.Y)||!1===e(J.Ra))h.allowAdFeatures=!1;!1===e(J.Y)&&jd("GTM",27);k.name=b;h["&gtm"]=Og(!0);h.hitCallback=d.B;var B=e(J.Te)||Md("gtag.remote_config."+
a+".url",2),z=e(J.Se)||Md("gtag.remote_config."+a+".dualId",2);B&&null!=fc&&(k._x_19=B);z&&(k._x_20=z);f.ka=h;f.Ha=k;return f},Ph=function(a,b){function c(v){var w=D(v);w.list=v.list_name;w.listPosition=v.list_position;w.position=v.list_position||v.creative_slot;w.creative=v.creative_name;return w}function d(v){for(var w=[],y=0;v&&y<v.length;y++)v[y]&&w.push(c(v[y]));return w.length?w:void 0}function e(v){return{id:f(J.eb),affiliation:f(J.Me),revenue:f(J.X),tax:f(J.Yd),shipping:f(J.Qe),coupon:f(J.Ne),
list:f(J.nd)||v}}for(var f=function(v){return b.getWithConfig(v)},h=f(J.M),k,l=0;h&&l<h.length&&!(k=h[l][J.nd]);l++);var m=f("custom_map");if(Pa(m))for(var n=0;h&&n<h.length;++n){var r=h[n],t;for(t in m)m.hasOwnProperty(t)&&/^(dimension|metric)\d+$/.test(t)&&void 0!=m[t]&&Uh(r,t,r[m[t]])}var p=null,u=f(J.Pe);a===J.ma||a===J.Hb?p={action:a,gb:e(),Ma:d(h)}:a===J.Eb?p={action:"add",Ma:d(h)}:a===J.Fb?p={action:"remove",Ma:d(h)}:a===J.Ua?p={action:"detail",gb:e(k),Ma:d(h)}:a===J.fd?p={action:"impressions",
ng:d(h)}:"view_promotion"===a?p={action:"promo_view",ad:d(u)}:"select_content"===a&&u&&0<u.length?p={action:"promo_click",ad:d(u)}:"select_content"===a?p={action:"click",gb:{list:f(J.nd)||k},Ma:d(h)}:a===J.Ta||"checkout_progress"===a?p={action:"checkout",Ma:d(h),gb:{step:a===J.Ta?1:f(J.Xd),option:f(J.Vd)}}:"set_checkout_option"===a&&(p={action:"checkout_option",gb:{step:f(J.Xd),option:f(J.Vd)}});p&&(p.Vf=f(J.ia));return p},ei={},Rh=function(a,b){var c=ei[a];ei[a]=D(b);if(!c)return!1;for(var d in b)if(b.hasOwnProperty(d)&&
b[d]!==c[d])return!0;for(var e in c)if(c.hasOwnProperty(e)&&c[e]!==b[e])return!0;return!1};var fi={},gi=["G","GP"];fi.Je="";var hi=fi.Je.split(",");function ii(){var a=Wc;return a.gcq=a.gcq||new ji}
var ki=function(a,b,c){ii().register(a,b,c)},li=function(a,b,c,d){ii().push("event",[b,a],c,d)},mi=function(a,b){ii().push("config",[a],b)},ni={},oi=function(){this.status=1;this.containerConfig={};this.targetConfig={};this.i={};this.m=null;this.h=!1},pi=function(a,b,c,d,e){this.type=a;this.m=b;this.N=c||"";this.h=d;this.i=e},ji=function(){this.i={};this.m={};this.h=[]},qi=function(a,b){var c=Sc(b);return a.i[c.containerId]=a.i[c.containerId]||new oi},ri=function(a,b,c,d){if(d.N){var e=qi(a,d.N),
f=e.m;if(f){var h=D(c),k=D(e.targetConfig[d.N]),l=D(e.containerConfig),m=D(e.i),n=D(a.m),r=Md("gtm.uniqueEventId"),t=Sc(d.N).prefix,p=Ef(Df(Cf(Bf(Af(zf(yf(h),k),l),m),n),function(){Gd(r,t,"2");}),function(){Gd(r,t,"3");});try{Gd(r,t,"1");f(d.N,b,d.m,p)}catch(u){
Gd(r,t,"4");}}}};
ji.prototype.register=function(a,b,c){if(3!==qi(this,a).status){qi(this,a).m=b;qi(this,a).status=3;c&&(qi(this,a).i=c);var d=Sc(a),e=ni[d.containerId];if(void 0!==e){var f=Wc[d.containerId].bootstrap,h=d.prefix.toUpperCase();Wc[d.containerId]._spx&&(h=h.toLowerCase());var k=Md("gtm.uniqueEventId"),l=h,m=Ea()-f;if(Cd&&!td[k]){k!==pd&&(nd(),pd=k);var n=l+"."+Math.floor(f-e)+"."+Math.floor(m);yd=yd?yd+","+n:"&cl="+n}delete ni[d.containerId]}this.flush()}};
ji.prototype.push=function(a,b,c,d){var e=Math.floor(Ea()/1E3);a:if(c){var f=Sc(c),h;if(h=f){var k;if(k=1===qi(this,c).status)b:{var l=f.prefix;k=!0}h=k}if(h)if(qi(this,c).status=2,this.push("require",[],f.containerId),ni[f.containerId]=Ea(),Wd()){}else{var n=encodeURIComponent(f.containerId),r=("http:"!=F.location.protocol?"https:":"http:")+"//www.googletagmanager.com";
ic(r+"/gtag/js?id="+n+"&l=dataLayer&cx=c")}}this.h.push(new pi(a,e,c,b,d));d||this.flush()};
ji.prototype.flush=function(a){for(var b=this;this.h.length;){var c=this.h[0];if(c.i)c.i=!1,this.h.push(c);else switch(c.type){case "require":if(3!==qi(this,c.N).status&&!a)return;break;case "set":C(c.h[0],function(l,m){D(Ka(l,m),b.m)});break;case "config":var d=c.h[0],e=!!d[J.Ub];delete d[J.Ub];var f=qi(this,c.N),h=Sc(c.N),k=h.containerId===h.id;e||(k?f.containerConfig={}:f.targetConfig[c.N]={});f.h&&e||ri(this,J.D,d,c);f.h=!0;delete d[J.ra];k?D(d,f.containerConfig):D(d,f.targetConfig[c.N]);break;
case "event":ri(this,c.h[1],c.h[0],c)}this.h.shift()}};var si=["GP","G"],ti="G".split(/,/);ti.push("HA");var ui=!1;ui=!0;var vi=null,wi={},xi={},yi;function zi(a,b){var c={event:a};b&&(c.eventModel=D(b),b[J.uc]&&(c.eventCallback=b[J.uc]),b[J.xb]&&(c.eventTimeout=b[J.xb]));return c}
var Ai=function(){vi=vi||!Wc.gtagRegistered;Wc.gtagRegistered=!0;return vi},Bi=function(a){if(void 0===xi[a.id]){var b;switch(a.prefix){case "UA":b=rf("gtagua",{trackingId:a.id});break;case "AW":b=rf("gtagaw",{conversionId:a});break;case "DC":b=rf("gtagfl",{targetId:a.id});break;case "GF":b=rf("gtaggf",{conversionId:a});break;case "HA":b=rf("gtagha",{conversionId:a});break;case "GP":b=rf("gtaggp",{conversionId:a.id});break;default:return}if(!yi){var c=zb("v",{name:"send_to",dataLayerVersion:2});pb.push(c);
yi=["macro",pb.length-1]}var d={arg0:yi,arg1:a.id,ignore_case:!1};d[Fb.sa]="_lc";rb.push(d);var e={"if":[rb.length-1],add:[b]};e["if"]&&(e.add||e.block)&&qb.push(e);xi[a.id]=b}},Ci=function(a){C(wi,function(b,c){var d=q(c,a);0<=d&&c.splice(d,1)})},Di=Ga(function(){}),Ei=function(a){if(a.containerId!==Vc.s&&"G"!==a.prefix){var b;switch(a.prefix){case "UA":b=14;break;case "AW":b=15;break;case "DC":b=16;break;default:b=17}jd("GTM",b)}};
var Fi={config:function(a){var b=a[2]||{};if(2>a.length||!g(a[1])||!Pa(b))return;var c=Sc(a[1]);if(!c)return;Ci(c.id);var d=c.id,e=b[J.nc]||"default";e=e.toString().split(",");for(var f=0;f<e.length;f++)wi[e[f]]=wi[e[f]]||[],wi[e[f]].push(d);delete b[J.nc];if(Ai()){hd();D(b);if(ui&&-1!==q(ti,c.prefix)||-1!==q(si,c.prefix)){"G"===c.prefix&&(b[J.ra]=!0);mi(b,c.id);return}Bi(c);Ei(c)}else Di();Sd("gtag.targets."+c.id,void 0);Sd("gtag.targets."+c.id,D(b));var h={};h[J.oa]=
c.id;return zi(J.D,h);},event:function(a){var b=a[1];if(g(b)&&!(3<a.length)){var c;if(2<a.length){if(!Pa(a[2])&&void 0!=a[2])return;c=a[2]}var d=zi(b,c);var e;var f=c&&c[J.oa];void 0===f&&(f=Md(J.oa,2),void 0===f&&(f="default"));if(g(f)||ra(f)){for(var h=f.toString().replace(/\s+/g,"").split(","),k=[],l=0;l<h.length;l++)0<=h[l].indexOf("-")?k.push(h[l]):k=k.concat(wi[h[l]]||[]);e=Uc(k)}else e=void 0;var m=e;if(!m)return;hd();var n=Ai();n||
Di();for(var r=[],t=0;n&&t<m.length;t++){var p=m[t];Ei(p);if(ui&&-1!==q(ti,p.prefix)||-1!==q(si,p.prefix)){var u=D(c);"G"===p.prefix&&(u[J.ra]=!0);li(b,u,p.id)}else Bi(p);r.push(p.id)}d.eventModel=d.eventModel||{};0<m.length?d.eventModel[J.oa]=r.join():delete d.eventModel[J.oa];return d}},js:function(a){if(2==a.length&&a[1].getTime)return{event:"gtm.js","gtm.start":a[1].getTime()}},policy:function(){},set:function(a){var b;2==a.length&&Pa(a[1])?b=D(a[1]):3==a.length&&
g(a[1])&&(b={},Pa(a[2])||ra(a[2])?b[a[1]]=D(a[2]):b[a[1]]=a[2]);if(b){if(Ai()){var c=D(b);ii().push("set",[c]);D(b)}b._clear=!0;return b}}},Gi={policy:!0};var Hi=function(a,b){var c=a.hide;if(c&&void 0!==c[b]&&c.end){c[b]=!1;var d=!0,e;for(e in c)if(c.hasOwnProperty(e)&&!0===c[e]){d=!1;break}d&&(c.end(),c.end=null)}},Ji=function(a){var b=Ii(),c=b&&b.hide;c&&c.end&&(c[a]=!0)};var Ki=!1,Li=[];function Mi(){if(!Ki){Ki=!0;for(var a=0;a<Li.length;a++)I(Li[a])}}var Ni=function(a){Ki?I(a):Li.push(a)};var cj=function(a){if(aj(a))return a;this.h=a};cj.prototype.jg=function(){return this.h};var aj=function(a){return!a||"object"!==Na(a)||Pa(a)?!1:"getUntrustedUpdateValue"in a};cj.prototype.getUntrustedUpdateValue=cj.prototype.jg;var dj=[],ej=!1,fj=function(a){return F["dataLayer"].push(a)},gj=function(a){var b=Wc["dataLayer"],c=b?b.subscribers:1,d=0;return function(){++d===c&&a()}};
function hj(a){var b=a._clear;C(a,function(f,h){"_clear"!==f&&(b&&Sd(f,void 0),Sd(f,h))});bd||(bd=a["gtm.start"]);var c=a.event;if(!c)return!1;var d=a["gtm.uniqueEventId"];d||(d=hd(),a["gtm.uniqueEventId"]=d,Sd("gtm.uniqueEventId",d));dd=c;var e=ij(a);
dd=null;switch(c){case "gtm.init":jd("GTM",19),e&&jd("GTM",20)}return e}function ij(a){var b=a.event,c=a["gtm.uniqueEventId"],d,e=Wc.zones;d=e?e.checkState(Vc.s,c):se;return d.active?qf(c,b,d.isWhitelisted,a.eventCallback,a.eventTimeout)?!0:!1:!1}
function jj(){for(var a=!1;!ej&&0<dj.length;){ej=!0;delete Jd.eventModel;Ld();var b=dj.shift();if(null!=b){var c=aj(b);if(c){var d=b;b=aj(d)?d.getUntrustedUpdateValue():void 0;for(var e=["gtm.whitelist","gtm.blacklist","tagTypeBlacklist"],f=0;f<e.length;f++){var h=e[f],k=Md(h,1);if(ra(k)||Pa(k))k=D(k);Kd[h]=k}}try{if(pa(b))try{b.call(Nd)}catch(v){}else if(ra(b)){var l=b;if(g(l[0])){var m=
l[0].split("."),n=m.pop(),r=l.slice(1),t=Md(m.join("."),2);if(void 0!==t&&null!==t)try{t[n].apply(t,r)}catch(v){}}}else{var p=b;if(p&&("[object Arguments]"==Object.prototype.toString.call(p)||Object.prototype.hasOwnProperty.call(p,"callee"))){a:{if(b.length&&g(b[0])){var u=Fi[b[0]];if(u&&(!c||!Gi[b[0]])){b=u(b);break a}}b=void 0}if(!b){ej=!1;continue}}a=hj(b)||a}}finally{c&&Ld(!0)}}ej=!1}
return!a}function kj(){var a=jj();try{Hi(F["dataLayer"],Vc.s)}catch(b){}return a}
var mj=function(){var a=gc("dataLayer",[]),b=gc("google_tag_manager",{});b=b["dataLayer"]=b["dataLayer"]||{};Ae(function(){b.gtmDom||(b.gtmDom=!0,a.push({event:"gtm.dom"}))});Ni(function(){b.gtmLoad||(b.gtmLoad=!0,a.push({event:"gtm.load"}))});b.subscribers=(b.subscribers||0)+1;var c=a.push;a.push=function(){var d;if(0<Wc.SANDBOXED_JS_SEMAPHORE){d=[];for(var e=0;e<arguments.length;e++)d[e]=new cj(arguments[e])}else d=[].slice.call(arguments,0);var f=c.apply(a,d);dj.push.apply(dj,d);if(300<
this.length)for(jd("GTM",4);300<this.length;)this.shift();var h="boolean"!==typeof f||f;return jj()&&h};dj.push.apply(dj,a.slice(0));lj()&&I(kj)},lj=function(){var a=!0;return a};var nj={};nj.yb=new String("undefined");
var oj=function(a){this.h=function(b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]===nj.yb?b:a[d]);return c.join("")}};oj.prototype.toString=function(){return this.h("undefined")};oj.prototype.valueOf=oj.prototype.toString;nj.qf=oj;nj.Cc={};nj.Uf=function(a){return new oj(a)};var pj={};nj.Yg=function(a,b){var c=hd();pj[c]=[a,b];return c};nj.fe=function(a){var b=a?0:1;return function(c){var d=pj[c];if(d&&"function"===typeof d[b])d[b]();pj[c]=void 0}};nj.sg=function(a){for(var b=!1,c=!1,d=2;d<a.length;d++)b=
b||8===a[d],c=c||16===a[d];return b&&c};nj.Og=function(a){if(a===nj.yb)return a;var b=hd();nj.Cc[b]=a;return'google_tag_manager["'+Vc.s+'"].macro('+b+")"};nj.Dg=function(a,b,c){a instanceof nj.qf&&(a=a.h(nj.Yg(b,c)),b=oa);return{Oc:a,B:b}};var qj=function(a,b,c){function d(f,h){var k=f[h];return k}var e={event:b,"gtm.element":a,"gtm.elementClasses":d(a,"className"),"gtm.elementId":a["for"]||oc(a,"id")||"","gtm.elementTarget":a.formTarget||d(a,"target")||""};c&&(e["gtm.triggers"]=c.join(","));e["gtm.elementUrl"]=(a.attributes&&a.attributes.formaction?a.formAction:"")||a.action||d(a,"href")||a.src||a.code||a.codebase||
"";return e},rj=function(a){Wc.hasOwnProperty("autoEventsSettings")||(Wc.autoEventsSettings={});var b=Wc.autoEventsSettings;b.hasOwnProperty(a)||(b[a]={});return b[a]},sj=function(a,b,c){rj(a)[b]=c},tj=function(a,b,c,d){var e=rj(a),f=Fa(e,b,d);e[b]=c(f)},uj=function(a,b,c){var d=rj(a);return Fa(d,b,c)};var vj=["input","select","textarea"],wj=["button","hidden","image","reset","submit"],xj=function(a){var b=a.tagName.toLowerCase();return!va(vj,function(c){return c===b})||"input"===b&&va(wj,function(c){return c===a.type.toLowerCase()})?!1:!0},yj=function(a){return a.form?a.form.tagName?a.form:G.getElementById(a.form):sc(a,["form"],100)},zj=function(a,b,c){if(!a.elements)return 0;for(var d=b.getAttribute(c),e=0,f=1;e<a.elements.length;e++){var h=a.elements[e];if(xj(h)){if(h.getAttribute(c)===d)return f;
f++}}return 0};var Aj=!!F.MutationObserver,Bj=void 0,Cj=function(a){if(!Bj){var b=function(){var c=G.body;if(c)if(Aj)(new MutationObserver(function(){for(var e=0;e<Bj.length;e++)I(Bj[e])})).observe(c,{childList:!0,subtree:!0});else{var d=!1;mc(c,"DOMNodeInserted",function(){d||(d=!0,I(function(){d=!1;for(var e=0;e<Bj.length;e++)I(Bj[e])}))})}};Bj=[];G.body?b():I(b)}Bj.push(a)};var Xj=F.clearTimeout,Yj=F.setTimeout,S=function(a,b,c){if(Wd()){b&&I(b)}else return ic(a,b,c)},Zj=function(){return F.location.href},ak=function(a){return $e(af(a),"fragment")},bk=function(a){return Ze(af(a))},U=function(a,b){return Md(a,b||2)},ck=function(a,b,c){var d;b?(a.eventCallback=b,c&&(a.eventTimeout=c),d=fj(a)):d=fj(a);return d},dk=function(a,b){F[a]=b},W=function(a,b,c){b&&(void 0===F[a]||c&&!F[a])&&(F[a]=
b);return F[a]},ek=function(a,b,c){return Gf(a,b,void 0===c?!0:!!c)},fk=function(a,b){if(Wd()){b&&I(b)}else kc(a,b)},gk=function(a){return!!uj(a,"init",!1)},hk=function(a){sj(a,"init",!0)},ik=function(a,b){var c=(void 0===b?0:b)?"www.googletagmanager.com/gtag/js":$c;c+="?id="+encodeURIComponent(a)+"&l=dataLayer";S(Q("https://","http://",c))},jk=function(a,b){var c=a[b];return c};
var kk=nj.Dg;var Hk=new xa;function Ik(a,b){function c(h){var k=af(h),l=$e(k,"protocol"),m=$e(k,"host",!0),n=$e(k,"port"),r=$e(k,"path").toLowerCase().replace(/\/$/,"");if(void 0===l||"http"==l&&"80"==n||"https"==l&&"443"==n)l="web",n="default";return[l,m,n,r]}for(var d=c(String(a)),e=c(String(b)),f=0;f<d.length;f++)if(d[f]!==e[f])return!1;return!0}
function Jk(a){return Kk(a)?1:0}
function Kk(a){var b=a.arg0,c=a.arg1;if(a.any_of&&ra(c)){for(var d=0;d<c.length;d++)if(Jk({"function":a["function"],arg0:b,arg1:c[d]}))return!0;return!1}switch(a["function"]){case "_cn":return 0<=String(b).indexOf(String(c));case "_css":var e;a:{if(b){var f=["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"];try{for(var h=0;h<f.length;h++)if(b[f[h]]){e=b[f[h]](c);break a}}catch(v){}}e=!1}return e;case "_ew":var k,l;k=String(b);l=String(c);var m=k.length-
l.length;return 0<=m&&k.indexOf(l,m)==m;case "_eq":return String(b)==String(c);case "_ge":return Number(b)>=Number(c);case "_gt":return Number(b)>Number(c);case "_lc":var n;n=String(b).split(",");return 0<=q(n,String(c));case "_le":return Number(b)<=Number(c);case "_lt":return Number(b)<Number(c);case "_re":var r;var t=a.ignore_case?"i":void 0;try{var p=String(c)+t,u=Hk.get(p);u||(u=new RegExp(c,t),Hk.set(p,u));r=u.test(b)}catch(v){r=!1}return r;case "_sw":return 0==String(b).indexOf(String(c));case "_um":return Ik(b,
c)}return!1};var Lk=function(a,b){var c=function(){};c.prototype=a.prototype;var d=new c;a.apply(d,Array.prototype.slice.call(arguments,1));return d};var Mk={},Nk=encodeURI,X=encodeURIComponent,Ok=lc;var Pk=function(a,b){if(!a)return!1;var c=$e(af(a),"host");if(!c)return!1;for(var d=0;b&&d<b.length;d++){var e=b[d]&&b[d].toLowerCase();if(e){var f=c.length-e.length;0<f&&"."!=e.charAt(0)&&(f--,e="."+e);if(0<=f&&c.indexOf(e,f)==f)return!0}}return!1};
var Qk=function(a,b,c){for(var d={},e=!1,f=0;a&&f<a.length;f++)a[f]&&a[f].hasOwnProperty(b)&&a[f].hasOwnProperty(c)&&(d[a[f][b]]=a[f][c],e=!0);return e?d:null};Mk.ug=function(){var a=!1;return a};var cm=function(){var a=F.gaGlobal=F.gaGlobal||{};a.hid=a.hid||wa();return a.hid};var nm=window,om=document,pm=function(a){var b=nm._gaUserPrefs;if(b&&b.ioo&&b.ioo()||a&&!0===nm["ga-disable-"+a])return!0;try{var c=nm.external;if(c&&c._gaUserPrefs&&"oo"==c._gaUserPrefs)return!0}catch(f){}for(var d=Gf("AMP_TOKEN",om.cookie,!0),e=0;e<d.length;e++)if("$OPT_OUT"==d[e])return!0;return om.getElementById("__gaOptOutExtension")?!0:!1};var sm=function(a){C(a,function(c){"_"===c.charAt(0)&&delete a[c]});var b=a[J.ca]||{};C(b,function(c){"_"===c.charAt(0)&&delete b[c]})};var wm=function(a,b,c){li(b,c,a)},xm=function(a,b,c){li(b,c,a,!0)},zm=function(a,b){};
function ym(a,b){}var Z={a:{}};
Z.a.gtagha=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_conversionId,e=dd,f=U("eventModel");if(a){ki(d.id,Hh);if(e===J.D){var h=U("gtag.targets."+d.id);mi(h,d.id)}else li(e,f,d.id);I(c.vtp_gtmOnSuccess)}else{var k=Ef(Df(yf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Od(l,d.containerId,d.id)};Hh(d.id,e,(new Date).getTime(),
k)}};Z.__gtagha=b;Z.__gtagha.b="gtagha";Z.__gtagha.g=!0;Z.__gtagha.priorityOverride=0;}();
Z.a.e=["google"],function(){(function(a){Z.__e=a;Z.__e.b="e";Z.__e.g=!0;Z.__e.priorityOverride=0})(function(a){return String(Ud(a.vtp_gtmEventId,"event"))})}();
Z.a.v=["google"],function(){(function(a){Z.__v=a;Z.__v.b="v";Z.__v.g=!0;Z.__v.priorityOverride=0})(function(a){var b=a.vtp_name;if(!b||!b.replace)return!1;var c=U(b.replace(/\\\./g,"."),a.vtp_dataLayerVersion||1);return void 0!==c?c:a.vtp_defaultValue})}();
Z.a.gtagaw=["google"],function(){(function(a){Z.__gtagaw=a;Z.__gtagaw.b="gtagaw";Z.__gtagaw.g=!0;Z.__gtagaw.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=dd;ki(b.id,Xg);if(c===J.D){var d=U("gtag.targets."+b.id);mi(d,b.id)}else{var e=U("eventModel");li(c,e,b.id)}I(a.vtp_gtmOnSuccess)})}();
Z.a.get=["google"],function(){(function(a){Z.__get=a;Z.__get.b="get";Z.__get.g=!0;Z.__get.priorityOverride=0})(function(a){if(a.vtp_isAutoTag){var b=String(a.vtp_trackingId),c=dd||"",d={};if(c===J.D){var e=U("gtag.targets."+b);D(e,d);d[J.ra]=!0;mi(d,b)}else{var f=U("eventModel");D(f,d);d[J.ra]=!0;li(c,d,b)}}else{var h=a.vtp_settings;(a.vtp_deferrable?xm:wm)(String(h.streamId),String(a.vtp_eventName),h.eventParameters||{})}a.vtp_gtmOnSuccess()})}();
Z.a.gtagfl=[],function(){function a(d){var e=/^DC-(\d+)(\/([\w-]+)\/([\w-]+)\+(\w+))?$/.exec(d);if(e)return{containerId:"DC-"+e[1],N:e[3]&&d}}var b=!1;b=!0;var c=function(d){var e=d.vtp_targetId,f=dd,h=U("eventModel");if(b){ki(e,xh);if(f===J.D){var k=U("gtag.targets."+e);mi(k,e)}else li(f,h,e);I(d.vtp_gtmOnSuccess)}else{var l=a(e);if(l){var m=Ef(Df(yf(h),d.vtp_gtmOnSuccess),
d.vtp_gtmOnFailure);m.getWithConfig=function(n){return Od(n,l.containerId,l.N)};xh(e,f,(new Date).getTime(),m)}else I(d.vtp_gtmOnFailure)}};Z.__gtagfl=c;Z.__gtagfl.b="gtagfl";Z.__gtagfl.g=!0;Z.__gtagfl.priorityOverride=0;}();
Z.a.gtaggf=["google"],function(){(function(a){Z.__gtaggf=a;Z.__gtaggf.b="gtaggf";Z.__gtaggf.g=!0;Z.__gtaggf.priorityOverride=0})(function(a){var b=a.vtp_conversionId,c=dd,d=U("eventModel");ki(b.id,Ch);if(c===J.D){var e=U("gtag.targets."+b.id);mi(e,b.id)}else li(c,d,b.id);I(a.vtp_gtmOnSuccess)})}();
Z.a.gtagua=["google"],function(){var a=!1;a=!0;var b=function(c){var d=c.vtp_trackingId,e=dd,f=U("eventModel");if(a){ki(d,Yh);if(e===J.D){var h=U("gtag.targets."+d);mi(h,d)}else li(e,f,d);I(c.vtp_gtmOnSuccess)}else{var k=Ef(Df(yf(f),c.vtp_gtmOnSuccess),c.vtp_gtmOnFailure);k.getWithConfig=function(l){return Od(l,d,void 0)};Yh(d,e,(new Date).getTime(),k)}};Z.__gtagua=
b;Z.__gtagua.b="gtagua";Z.__gtagua.g=!0;Z.__gtagua.priorityOverride=0;}();
var Am={};Am.macro=function(a){if(nj.Cc.hasOwnProperty(a))return nj.Cc[a]},Am.onHtmlSuccess=nj.fe(!0),Am.onHtmlFailure=nj.fe(!1);Am.dataLayer=Nd;Am.callback=function(a){fd.hasOwnProperty(a)&&pa(fd[a])&&fd[a]();delete fd[a]};function Bm(){Wc[Vc.s]=Am;Ha(gd,Z.a);xb=xb||nj;yb=re}
function Cm(){tg.gtm_3pds=!0;Wc=F.google_tag_manager=F.google_tag_manager||{};if(Wc[Vc.s]){var a=Wc.zones;a&&a.unregisterChild(Vc.s)}else{for(var b=data.resource||{},c=b.macros||[],d=0;d<c.length;d++)pb.push(c[d]);for(var e=b.tags||[],f=0;f<e.length;f++)sb.push(e[f]);for(var h=b.predicates||[],k=0;k<
h.length;k++)rb.push(h[k]);for(var l=b.rules||[],m=0;m<l.length;m++){for(var n=l[m],r={},t=0;t<n.length;t++)r[n[t][0]]=Array.prototype.slice.call(n[t],1);qb.push(r)}ub=Z;vb=Jk;Bm();mj();ve=!1;we=0;if("interactive"==G.readyState&&!G.createEventObject||"complete"==G.readyState)ye();else{mc(G,"DOMContentLoaded",ye);mc(G,"readystatechange",ye);if(G.createEventObject&&G.documentElement.doScroll){var p=!0;try{p=!F.frameElement}catch(y){}p&&ze()}mc(F,"load",ye)}Ki=!1;"complete"===G.readyState?Mi():mc(F,
"load",Mi);a:{if(!Cd)break a;F.setInterval(Dd,864E5);}
cd=(new Date).getTime();
Am.bootstrap=cd;}}Cm();
})()
+427
View File
@@ -0,0 +1,427 @@
var address = (hasher.getURL()).replace((hasher.getBaseURL()), '');
var isEncode;
address = address.replace('#/', '');
if( address ) {
$.get("actions.php", {
action: 'encode'
}).done(function (data) {
isEncode = data;
if(address.indexOf("@") != -1) {
createUser(address);
} else {
createUser(atob(address));
}
});
} else {
$("#generateID").fadeIn(500);
$.get("actions.php", {
action: 'encode'
}).done(function (data) {
isEncode = data;
});
}
var refreshRate;
$.get("actions.php", {
action: 'refreshRate'
}).done(function( data ) {
refreshRate = parseInt(data);
});
var pushNotifications;
$.get("actions.php", {
action: 'pushNotifications'
}).done(function( data ) {
if(data === 'yes') {
pushNotifications = true;
} else {
pushNotifications = false;
}
});
/*
* Notification Function
*/
function notifyUser(message) {
if(pushNotifications) {
if (!("Notification" in window)) {
document.getElementById('notifyUserSound').play();
} else if (Notification.permission === "granted") {
var notification = new Notification(message);
document.getElementById('notifyUserSound').play();
} else if (Notification.permission !== 'denied') {
Notification.requestPermission(function(permission) {
if (permission === "granted") {
var notification = new Notification(message);
document.getElementById('notifyUserSound').play();
}
});
} else {
document.getElementById('notifyUserSound').play();
}
} else {
document.getElementById('notifyUserSound').play();
}
}
/*
* Show About Us
*/
function showAboutUs() {
$("#main").fadeOut( "slow", function() {
$("#aboutus").fadeIn("slow");
});
}
/*
* Close About Us
*/
function closeAboutUs() {
$("#aboutus").fadeOut( "slow", function() {
$("#main").fadeIn("slow");
});
}
/*
* Set Language
*/
function setLang() {
var setLang = document.getElementsByName("lang")[0].value;
$("#generateID").fadeOut(500);
$("#createdline").fadeOut(500);
$("#data").fadeOut(500);
$("#search-bar-container").fadeOut(500);
$(".message").fadeOut(500);
if ( setLang === "hi" ) {
$("#createline").html("डटे रहो! भाषा बदल रही है...");
} else if ( setLang === "fr" ) {
$("#createline").html("Attendre! Changer de langue...");
} else if ( setLang === "ch" ) {
$("#createline").html("不掛斷!改變語言...");
} else if ( setLang === "ar" ) {
$("#createline").html("تشبث! جار تغيير اللغة ...");
} else if ( setLang === "sp" ) {
$("#createline").html("¡Aférrate! Cambio de idioma...");
} else if ( setLang === "ru" ) {
$("#createline").html("Подожди! Изменение языка...");
} else if ( setLang === "de" ) {
$("#createline").html("Abwarten! Sprache ändern...");
} else if ( setLang === "pl" ) {
$("#createline").html("Wytrzymać! Zmiana języka...");
} else {
$("#createline").html("Hang on! Changing Language...");
}
$("#createline").delay(500).fadeIn(500);
$.get( "actions.php", { action: "changeLang", lang: setLang } )
.done(function( data ) {
location.reload();
});
}
/*
* Set a New ID
*/
function setNewID() {
$("#generateID").fadeOut(500);
var email = document.getElementsByName("email")[0].value;
var domain = document.getElementsByName("domain")[0].value;
var fullEmail = email + domain;
createUser(fullEmail);
}
/*
* Generate a Random ID
*/
function generateRandomID() {
$("#generateID").fadeOut(500);
var address = (hasher.getURL()).replace((hasher.getBaseURL()), '');
address = address.replace('#/', '');
createUser(address);
}
/*
* Create a new address for user. If address is already specified it checks if that is valid
*/
function createUser(address) {
$.get("actions.php", {
action: 'getTitle'
}).done(function( data ) {
$("title").html(data);
});
$.get("user.php", {
user: address
}).done(function(data) {
address = data;
document.getElementById("address").innerHTML = address;
if(isEncode === "yes") {
var newAddress = btoa(address);
hasher.setHash(newAddress);
} else {
hasher.setHash(address);
}
$("title").prepend(" - ");
$("title").prepend(address);
$("#createdline").delay(500).fadeIn(500);
$.get("mail.php", function(data) {
$("#data").html(data);
$.get("actions.php", {
action: 'getCount'
}).done(function( data ) {
counter = Number(data);
if(counter > 1) {
$("#search-bar-container").delay(600).fadeIn(500);
}
$("#data").delay(600).fadeIn(500);
$(".message").delay(600).fadeIn(500);
});
retriveNewMails();
});
classAddress = address.replace('@', '');
classAddress = classAddress.replace('.', '');
if (!$('.'+classAddress).length) {
$(".action-list").append('<a class="'+classAddress+'" onclick="switchEmail(\''+address+'\')"><div class="action-list-button"><span class="action-info">'+address+'</span><i>'+classAddress.substring(1, 0, 1)+'</i></div></a>');
}
checkCurrentTMail();
});
}
/*
* Switch Email ID
*/
function switchEmail(address) {
$("#generateID").fadeOut(500);
createUser(address);
}
/*
* Function to check if element is empty with possible only blank spaces
*/
function isEmpty( el ){
return !$.trim(el.html())
}
/*
* Checks for new emails at regular interval. setTimeout calls function every 1000 ms (1 Second)
*/
function retriveNewMails() {
str = $("title").text();
counter = 0;
if ( str.includes("nbox") ) {
str = str.substring(str.indexOf("-") + 1);
}
$.get("actions.php", {
action: 'getCount'
}).done(function( data ) {
$("title").text(str);
counter = Number(data);
if(counter > 1) {
$("#search-bar-container").fadeIn(500);
}
$("title").prepend(" - ");
$("title").prepend(")");
$("title").prepend(data);
$("title").prepend("Inbox (");
});
$.get("mail.php?unseen=1", function(data) {
if (data.trim() === "DIE") {
location.reload();
return;
}
if(data) {
if (!isEmpty($('.cssload-container'))) {
$("#data").html(data);
} else {
$("#data").prepend(data);
}
notifyUser("You got some new EMails");
}
});
$("#timer").html(refreshRate);
var acc = document.getElementsByClassName("accordion");
var i;
for (i = 0; i < acc.length; i++) {
acc[i].onclick = function() {
this.classList.toggle("active");
var panel = this.nextElementSibling;
if (panel.style.maxHeight){
panel.style.maxHeight = null;
} else {
panel.style.maxHeight = panel.scrollHeight + "px";
}
}
}
setTimeout(retriveNewMails, refreshRate*1000);
}
/*
* Function to delete email
* @param mailid - Identify the mail to delete
*/
function deleteMail(mailid) {
$.get("actions.php", {
action: 'delete',
id: mailid
});
var mailLocator = "#mail".concat(mailid);
$(mailLocator).hide( "slow", function() {
$( this ).remove();
if (isEmpty($('#data'))) {
$("#data").html('<div class="cssload-container"><ul class="cssload-flex-container"><li><span class="cssload-loading"></span></li></div></div>');
}
});
str = $("title").text();
if ( str.includes("nbox") ) {
str = str.substring(str.indexOf("-") + 1);
}
$.get("actions.php", {
action: 'getCount'
}).done(function( data ) {
$("title").text(str);
$("title").prepend(" - ");
$("title").prepend(")");
$("title").prepend(data);
$("title").prepend("Inbox (");
});
return false;
}
/*
* Function which enables user to download any email
* @param mailid - Identify the mail to download
*/
function downloadMail(mailid) {
$.get("actions.php", {
action: 'download',
id: mailid
}).done(function( data ) {
window.location.href = data;
});
return false;
}
/*
* Simple click to copy to clipboard function
*/
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
}
$(document).ready(function(){
$('[data-toggle="tooltip"]').tooltip();
$('[data-toggle="popover"]').popover({
html : true
});
deleteAttachments();
});
$("#addDomain").click(function(){
$("#addDomain").before('<input class="inner-fields" type="text" name="domain[]" placeholder="Enter Domain">');
});
$("#addForbidden").click(function(){
$("#addForbidden").before('<input class="inner-fields" type="text" name="forbidemail[]" placeholder="Enter Forbiden EMail">');
});
$("#addLinks").click(function(){
$("#addLinks").before('<input class="small-inner-fields" type="text" name="linksTitle[]" placeholder="Enter Title"><input class="big-inner-fields" type="text" name="linksValue[]" placeholder="Enter Link">');
});
/*
* Search Bar
*/
(function(){
var searchTerm, panelContainerId;
$.expr[':'].containsCaseInsensitive = function (n, i, m) {
return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$('#search-bar').on('change keyup paste click', function () {
searchTerm = $(this).val();
$('#data > .searchPanel').each(function () {
panelContainerId = '#' + $(this).attr('id');
$(panelContainerId + ':not(:containsCaseInsensitive(' + searchTerm + '))').hide();
$(panelContainerId + ':containsCaseInsensitive(' + searchTerm + ')').show();
});
});
}());
/*
* Floating Action Bar
*/
$( ".action-switch-email .action-button" ).mouseenter(function() {
$( ".action-list" ).slideDown(200);
});
$( ".action-switch-email" ).mouseleave(function() {
$( ".action-list" ).slideUp(200);
});
function setWidth() {
$( ".action-list a" ).each(function( index ) {
var string = $(this).children("div").children("span").text();
var length = (string.length)*9;
$(this).children("div").children("span").css("width",length+"px");
});
}
/*
* Function to check current TMail
*/
function checkCurrentTMail() {
var address = (hasher.getURL()).replace((hasher.getBaseURL()), '');
address = address.replace('#/', '');
address = address.replace('@', '');
address = address.replace('.', '');
var classAddress = "."+address;
$(".action-list a").show();
$(classAddress).hide();
}
/*
* Check if enter key is pressed
*/
function checkEnter(e, item) {
var code = (e.keyCode ? e.keyCode : e.which);
if(code == 13) {
setNewID();
}
}
/*
* Function for saving email in Cookie
*/
function saveEMails() {
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", "actions.php?action=saveEMails", false );
xmlHttp.send( null );
if(xmlHttp.responseText == "1") {
notifyUser("Email list stored successfully on your local machine.");
} else {
notifyUser("Fail to store emails list on your local machine. Please check if cookie is enabled in your browser.");
}
}
/*
* Function for clearing email in Cookie
*/
function clearEMails() {
$.get("actions.php?action=clearEMails", function (data) {
location.reload();
});
}
/*
* Deleting old attachments
*/
function deleteAttachments() {
$.get("actions.php", {
action: 'deleteOldAttachments'
});
}
$("#test-connection").click(function(){
$("#test-result").html("<span style='color: #006ECE'>Checking...</span>");
var host = document.getElementsByName("host")[0].value;
var user = document.getElementsByName("user")[0].value;
var pass = document.getElementsByName("pass")[0].value;
$.get("admin.php", {
host: host,
user: user,
pass: pass
}).done(function( data ) {
if(data === 'FAIL') {
$("#test-result").html("<span style='color: #DB0015'>Connection Failed</span>");
} else {
$("#test-result").html("<span style='color: #006e2e'>Connection Passed</span>");
}
});
});
Binary file not shown.
@@ -0,0 +1,116 @@
/*
* Container style
*/
.ps {
overflow: hidden !important;
overflow-anchor: none;
-ms-overflow-style: none;
touch-action: auto;
-ms-touch-action: auto;
}
/*
* Scrollbar rail styles
*/
.ps__rail-x {
display: none;
opacity: 0;
transition: background-color .2s linear, opacity .2s linear;
-webkit-transition: background-color .2s linear, opacity .2s linear;
height: 15px;
/* there must be 'bottom' or 'top' for ps__rail-x */
bottom: 0px;
/* please don't change 'position' */
position: absolute;
}
.ps__rail-y {
display: none;
opacity: 0;
transition: background-color .2s linear, opacity .2s linear;
-webkit-transition: background-color .2s linear, opacity .2s linear;
width: 15px;
/* there must be 'right' or 'left' for ps__rail-y */
right: 0;
/* please don't change 'position' */
position: absolute;
}
.ps--active-x > .ps__rail-x,
.ps--active-y > .ps__rail-y {
display: block;
background-color: transparent;
}
.ps:hover > .ps__rail-x,
.ps:hover > .ps__rail-y,
.ps--focus > .ps__rail-x,
.ps--focus > .ps__rail-y,
.ps--scrolling-x > .ps__rail-x,
.ps--scrolling-y > .ps__rail-y {
opacity: 0.6;
}
.ps .ps__rail-x:hover,
.ps .ps__rail-y:hover,
.ps .ps__rail-x:focus,
.ps .ps__rail-y:focus,
.ps .ps__rail-x.ps--clicking,
.ps .ps__rail-y.ps--clicking {
background-color: #eee;
opacity: 0.9;
}
/*
* Scrollbar thumb styles
*/
.ps__thumb-x {
background-color: #aaa;
border-radius: 6px;
transition: background-color .2s linear, height .2s ease-in-out;
-webkit-transition: background-color .2s linear, height .2s ease-in-out;
height: 6px;
/* there must be 'bottom' for ps__thumb-x */
bottom: 2px;
/* please don't change 'position' */
position: absolute;
}
.ps__thumb-y {
background-color: #aaa;
border-radius: 6px;
transition: background-color .2s linear, width .2s ease-in-out;
-webkit-transition: background-color .2s linear, width .2s ease-in-out;
width: 6px;
/* there must be 'right' for ps__thumb-y */
right: 2px;
/* please don't change 'position' */
position: absolute;
}
.ps__rail-x:hover > .ps__thumb-x,
.ps__rail-x:focus > .ps__thumb-x,
.ps__rail-x.ps--clicking .ps__thumb-x {
background-color: #999;
height: 11px;
}
.ps__rail-y:hover > .ps__thumb-y,
.ps__rail-y:focus > .ps__thumb-y,
.ps__rail-y.ps--clicking .ps__thumb-y {
background-color: #999;
width: 11px;
}
/* MS supports */
@supports (-ms-overflow-style: none) {
.ps {
overflow: auto !important;
}
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
.ps {
overflow: auto !important;
}
}
File diff suppressed because one or more lines are too long
+7
View File
@@ -0,0 +1,7 @@
/*!
* Hasher <http://github.com/millermedeiros/hasher>
* @author Miller Medeiros
* @version 1.2.0 (2013/11/11 03:18 PM)
* Released under the MIT License
*/
(function(){var a=function(b){var c=(function(k){var p=25,r=k.document,n=k.history,x=b.Signal,f,v,m,F,d,D,t=/#(.*)$/,j=/(\?.*)|(\#.*)/,g=/^\#/,i=(!+"\v1"),B=("onhashchange" in k)&&r.documentMode!==7,e=i&&!B,s=(location.protocol==="file:");function o(G){return String(G||"").replace(/\W/g,"\\$&")}function u(H){if(!H){return""}var G=new RegExp("^"+o(f.prependHash)+"|"+o(f.appendHash)+"$","g");return H.replace(G,"")}function E(){var G=t.exec(f.getURL());var I=(G&&G[1])||"";try{return f.raw?I:decodeURIComponent(I)}catch(H){return I}}function A(){return(d)?d.contentWindow.frameHash:null}function z(){d=r.createElement("iframe");d.src="about:blank";d.style.display="none";r.body.appendChild(d)}function h(){if(d&&v!==A()){var G=d.contentWindow.document;G.open();G.write("<html><head><title>"+r.title+'</title><script type="text/javascript">var frameHash="'+v+'";<\/script></head><body>&nbsp;</body></html>');G.close()}}function l(G,H){if(v!==G){var I=v;v=G;if(e){if(!H){h()}else{d.contentWindow.frameHash=G}}f.changed.dispatch(u(G),u(I))}}if(e){D=function(){var H=E(),G=A();if(G!==v&&G!==H){f.setHash(u(G))}else{if(H!==v){l(H)}}}}else{D=function(){var G=E();if(G!==v){l(G)}}}function C(I,G,H){if(I.addEventListener){I.addEventListener(G,H,false)}else{if(I.attachEvent){I.attachEvent("on"+G,H)}}}function y(I,G,H){if(I.removeEventListener){I.removeEventListener(G,H,false)}else{if(I.detachEvent){I.detachEvent("on"+G,H)}}}function q(H){H=Array.prototype.slice.call(arguments);var G=H.join(f.separator);G=G?f.prependHash+G.replace(g,"")+f.appendHash:G;return G}function w(G){G=encodeURI(G);if(i&&s){G=G.replace(/\?/,"%3F")}return G}f={VERSION:"1.2.0",raw:false,appendHash:"",prependHash:"/",separator:"/",changed:new x(),stopped:new x(),initialized:new x(),init:function(){if(F){return}v=E();if(B){C(k,"hashchange",D)}else{if(e){if(!d){z()}h()}m=setInterval(D,p)}F=true;f.initialized.dispatch(u(v))},stop:function(){if(!F){return}if(B){y(k,"hashchange",D)}else{clearInterval(m);m=null}F=false;f.stopped.dispatch(u(v))},isActive:function(){return F},getURL:function(){return k.location.href},getBaseURL:function(){return f.getURL().replace(j,"")},setHash:function(G){G=q.apply(null,arguments);if(G!==v){l(G);if(G===v){if(!f.raw){G=w(G)}k.location.hash="#"+G}}},replaceHash:function(G){G=q.apply(null,arguments);if(G!==v){l(G,true);if(G===v){if(!f.raw){G=w(G)}k.location.replace("#"+G)}}},getHash:function(){return u(v)},getHashAsArray:function(){return f.getHash().split(f.separator)},dispose:function(){f.stop();f.initialized.dispose();f.stopped.dispose();f.changed.dispose();d=f=k.hasher=null},toString:function(){return'[hasher version="'+f.VERSION+'" hash="'+f.getHash()+'"]'}};f.initialized.memorize=true;return f}(window));return c};if(typeof define==="function"&&define.amd){define(["signals"],a)}else{if(typeof exports==="object"){module.exports=a(require("signals"))}else{window.hasher=a(window.signals)}}}());
+367
View File
@@ -0,0 +1,367 @@
/*jslint onevar:true, undef:true, newcap:true, regexp:true, bitwise:true, maxerr:50, indent:4, white:false, nomen:false, plusplus:false */
/*global window:false, global:false*/
/*!!
* JS Signals <http://millermedeiros.github.com/js-signals/>
* Released under the MIT license <http://www.opensource.org/licenses/mit-license.php>
* @author Miller Medeiros <http://millermedeiros.com/>
* @version 0.6.3
* @build 187 (07/11/2011 10:14 AM)
*/
(function(global){
/**
* @namespace Signals Namespace - Custom event/messaging system based on AS3 Signals
* @name signals
*/
var signals = /** @lends signals */{
/**
* Signals Version Number
* @type String
* @const
*/
VERSION : '0.6.3'
};
// SignalBinding -------------------------------------------------
//================================================================
/**
* Object that represents a binding between a Signal and a listener function.
* <br />- <strong>This is an internal constructor and shouldn't be called by regular users.</strong>
* <br />- inspired by Joa Ebert AS3 SignalBinding and Robert Penner's Slot classes.
* @author Miller Medeiros
* @constructor
* @internal
* @name signals.SignalBinding
* @param {signals.Signal} signal Reference to Signal object that listener is currently bound to.
* @param {Function} listener Handler function bound to the signal.
* @param {boolean} isOnce If binding should be executed just once.
* @param {Object} [listenerContext] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. (default = 0).
*/
function SignalBinding(signal, listener, isOnce, listenerContext, priority) {
/**
* Handler function bound to the signal.
* @type Function
* @private
*/
this._listener = listener;
/**
* If binding should be executed just once.
* @type boolean
* @private
*/
this._isOnce = isOnce;
/**
* Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @memberOf signals.SignalBinding.prototype
* @name context
* @type Object|undefined|null
*/
this.context = listenerContext;
/**
* Reference to Signal object that listener is currently bound to.
* @type signals.Signal
* @private
*/
this._signal = signal;
/**
* Listener priority
* @type Number
* @private
*/
this._priority = priority || 0;
}
SignalBinding.prototype = /** @lends signals.SignalBinding.prototype */ {
/**
* If binding is active and should be executed.
* @type boolean
*/
active : true,
/**
* Default parameters passed to listener during `Signal.dispatch` and `SignalBinding.execute`. (curried parameters)
* @type Array|null
*/
params : null,
/**
* Call listener passing arbitrary parameters.
* <p>If binding was added using `Signal.addOnce()` it will be automatically removed from signal dispatch queue, this method is used internally for the signal dispatch.</p>
* @param {Array} [paramsArr] Array of parameters that should be passed to the listener
* @return {*} Value returned by the listener.
*/
execute : function (paramsArr) {
var handlerReturn, params;
if (this.active && !!this._listener) {
params = this.params? this.params.concat(paramsArr) : paramsArr;
handlerReturn = this._listener.apply(this.context, params);
if (this._isOnce) {
this.detach();
}
}
return handlerReturn;
},
/**
* Detach binding from signal.
* - alias to: mySignal.remove(myBinding.getListener());
* @return {Function|null} Handler function bound to the signal or `null` if binding was previously detached.
*/
detach : function () {
return this.isBound()? this._signal.remove(this._listener) : null;
},
/**
* @return {Boolean} `true` if binding is still bound to the signal and have a listener.
*/
isBound : function () {
return (!!this._signal && !!this._listener);
},
/**
* @return {Function} Handler function bound to the signal.
*/
getListener : function () {
return this._listener;
},
/**
* Delete instance properties
* @private
*/
_destroy : function () {
delete this._signal;
delete this._listener;
delete this.context;
},
/**
* @return {boolean} If SignalBinding will only be executed once.
*/
isOnce : function () {
return this._isOnce;
},
/**
* @return {string} String representation of the object.
*/
toString : function () {
return '[SignalBinding isOnce: ' + this._isOnce +', isBound: '+ this.isBound() +', active: ' + this.active + ']';
}
};
/*global signals:true, SignalBinding:false*/
// Signal --------------------------------------------------------
//================================================================
function validateListener(listener, fnName) {
if (typeof listener !== 'function') {
throw new Error( 'listener is a required param of {fn}() and should be a Function.'.replace('{fn}', fnName) );
}
}
/**
* Custom event broadcaster
* <br />- inspired by Robert Penner's AS3 Signals.
* @author Miller Medeiros
* @constructor
*/
signals.Signal = function () {
/**
* @type Array.<SignalBinding>
* @private
*/
this._bindings = [];
};
signals.Signal.prototype = {
/**
* @type boolean
* @private
*/
_shouldPropagate : true,
/**
* If Signal is active and should broadcast events.
* <p><strong>IMPORTANT:</strong> Setting this property during a dispatch will only affect the next dispatch, if you want to stop the propagation of a signal use `halt()` instead.</p>
* @type boolean
*/
active : true,
/**
* @param {Function} listener
* @param {boolean} isOnce
* @param {Object} [scope]
* @param {Number} [priority]
* @return {SignalBinding}
* @private
*/
_registerListener : function (listener, isOnce, scope, priority) {
var prevIndex = this._indexOfListener(listener),
binding;
if (prevIndex !== -1) { //avoid creating a new Binding for same listener if already added to list
binding = this._bindings[prevIndex];
if (binding.isOnce() !== isOnce) {
throw new Error('You cannot add'+ (isOnce? '' : 'Once') +'() then add'+ (!isOnce? '' : 'Once') +'() the same listener without removing the relationship first.');
}
} else {
binding = new SignalBinding(this, listener, isOnce, scope, priority);
this._addBinding(binding);
}
return binding;
},
/**
* @param {SignalBinding} binding
* @private
*/
_addBinding : function (binding) {
//simplified insertion sort
var n = this._bindings.length;
do { --n; } while (this._bindings[n] && binding._priority <= this._bindings[n]._priority);
this._bindings.splice(n + 1, 0, binding);
},
/**
* @param {Function} listener
* @return {number}
* @private
*/
_indexOfListener : function (listener) {
var n = this._bindings.length;
while (n--) {
if (this._bindings[n]._listener === listener) {
return n;
}
}
return -1;
},
/**
* Add a listener to the signal.
* @param {Function} listener Signal handler function.
* @param {Object} [scope] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added. (default = 0)
* @return {SignalBinding} An Object representing the binding between the Signal and listener.
*/
add : function (listener, scope, priority) {
validateListener(listener, 'add');
return this._registerListener(listener, false, scope, priority);
},
/**
* Add listener to the signal that should be removed after first execution (will be executed only once).
* @param {Function} listener Signal handler function.
* @param {Object} [scope] Context on which listener will be executed (object that should represent the `this` variable inside listener function).
* @param {Number} [priority] The priority level of the event listener. Listeners with higher priority will be executed before listeners with lower priority. Listeners with same priority level will be executed at the same order as they were added. (default = 0)
* @return {SignalBinding} An Object representing the binding between the Signal and listener.
*/
addOnce : function (listener, scope, priority) {
validateListener(listener, 'addOnce');
return this._registerListener(listener, true, scope, priority);
},
/**
* Remove a single listener from the dispatch queue.
* @param {Function} listener Handler function that should be removed.
* @return {Function} Listener handler function.
*/
remove : function (listener) {
validateListener(listener, 'remove');
var i = this._indexOfListener(listener);
if (i !== -1) {
this._bindings[i]._destroy(); //no reason to a SignalBinding exist if it isn't attached to a signal
this._bindings.splice(i, 1);
}
return listener;
},
/**
* Remove all listeners from the Signal.
*/
removeAll : function () {
var n = this._bindings.length;
while (n--) {
this._bindings[n]._destroy();
}
this._bindings.length = 0;
},
/**
* @return {number} Number of listeners attached to the Signal.
*/
getNumListeners : function () {
return this._bindings.length;
},
/**
* Stop propagation of the event, blocking the dispatch to next listeners on the queue.
* <p><strong>IMPORTANT:</strong> should be called only during signal dispatch, calling it before/after dispatch won't affect signal broadcast.</p>
* @see signals.Signal.prototype.disable
*/
halt : function () {
this._shouldPropagate = false;
},
/**
* Dispatch/Broadcast Signal to all listeners added to the queue.
* @param {...*} [params] Parameters that should be passed to each handler.
*/
dispatch : function (params) {
if (! this.active) {
return;
}
var paramsArr = Array.prototype.slice.call(arguments),
bindings = this._bindings.slice(), //clone array in case add/remove items during dispatch
n = this._bindings.length;
this._shouldPropagate = true; //in case `halt` was called before dispatch or during the previous dispatch.
//execute all callbacks until end of the list or until a callback returns `false` or stops propagation
//reverse loop since listeners with higher priority will be added at the end of the list
do { n--; } while (bindings[n] && this._shouldPropagate && bindings[n].execute(paramsArr) !== false);
},
/**
* Remove all bindings from signal and destroy any reference to external objects (destroy Signal object).
* <p><strong>IMPORTANT:</strong> calling any method on the signal instance after calling dispose will throw errors.</p>
*/
dispose : function () {
this.removeAll();
delete this._bindings;
},
/**
* @return {string} String representation of the object.
*/
toString : function () {
return '[Signal active: '+ this.active +' numListeners: '+ this.getNumListeners() +']';
}
};
global.signals = signals;
}(window || this));
+136
View File
@@ -0,0 +1,136 @@
/*
To change this license header, choose License Headers in Project Properties.
To change this template file, choose Tools | Templates
and open the template in the editor.
*/
/*
Created on : 19 Oct, 2017, 11:29:05 AM
Author : Harshit
*/
* {
font-family: "Segoe UI", 'Lato', sans-serif;;
}
.header {
height: 100px;
}
.header h3 {
float: right;
margin: 60px 0px;
}
#logo {
float: left;
margin: 50px 0px;
cursor: pointer;
}
input, textarea, select {
border: none;
font-weight: 300;
font-size: 28px;
border-bottom: 1px solid #000;
}
#adminLogin {
margin: 150px 0px;
}
#titleText {
margin: 50px;
font-size: 28px;
float: left;
}
input[type="submit"] {
background: none;
margin-top: 20px;
font-size: 24px;
}
.text-field {
width: 100%;
margin: 20px 0px;
}
.text-field span {
font-size: 20px;
}
.text-field input, .text-field textarea,.text-field select {
border-bottom: 1px solid #000;
width: 100%;
font-size: 24px;
}
.divided-text-field input.small-inner-fields {
border-bottom: 1px solid #000;
width: 19%;
font-size: 18px;
margin-right: 1%;
}
.divided-text-field input.big-inner-fields {
border-bottom: 1px solid #000;
width: 60%;
font-size: 18px;
}
.inner-fields, .small-inner-fields, .big-inner-fields {
margin-bottom: 10px;
}
h2 {
margin: 25px 0px;
}
.addIcons {
font-size: 32px;
cursor: pointer;
}
input[name="configuration"], input[name="options"] {
font-weight: 600;
float: right;
}
.success {
font-size: 24px;
font-weight: 300;
color: #0F9D58;
}
.error {
font-size: 24px;
font-weight: 300;
color: #CD0000;
}
textarea {
font-size: 16px !important;
}
#test-connection {
background: #444;
color: #fff;
padding: 5px 10px;
cursor: pointer;
font-size: 16px;
}
#test-result {
padding-left: 5px;
}
@media only screen and (max-width: 600px) {
.divided-text-field input.small-inner-fields {
width: 100%;
}
.divided-text-field input.big-inner-fields {
width: 100%;
}
}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+56
View File
@@ -0,0 +1,56 @@
/* cyrillic-ext https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWJ0bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.woff2) format('woff2');
unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFUZ0bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.woff2) format('woff2');
unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWZ0bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFWZ0bbck.woff2) format('woff2');
unicode-range: U+1F00-1FFF;
}
/* greek https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVp0bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFVp0bbck.woff2) format('woff2');
unicode-range: U+0370-03FF;
}
/* vietnamese https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFWp0bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFWp0bbck.woff2) format('woff2');
unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB;
}
/* latin-ext https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFW50bbck.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFW50bbck.woff2) format('woff2');
unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin https://fonts.gstatic.com/s/opensans/v17/mem8YaGs126MiZpBA-UFVZ0b.woff2 */
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans Regular'), local('OpenSans-Regular'), url(https://cdn.jsdelivr.net/gh/ldxw/CDN@0.0002/4.3.6/Modern/fonts/mem8YaGs126MiZpBA-UFVZ0b.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
File diff suppressed because one or more lines are too long
+761
View File
@@ -0,0 +1,761 @@
* {
font-family: "Segoe UI", 'Open Sans', sans-serif;
}
a:hover {
text-decoration: none !important;
}
html,
body {
height: 100%;
margin: 0px;
overflow: hidden;
}
body {
background-color: #e0e6e9 !important;
padding: 1.2%;
}
.tmail-container {
background-color: #fff;
border-radius: 4px;
height: 100%;
}
.tmail-container .row {
height: 100%;
}
.tmail-container .row .col-lg-12 {
height: 100%;
}
.tmail-header {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
height: 100px;
background: #673ae2;
}
.tmail-footer {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
height: 80px;
background: #06b4fe;
}
.tmail-mobile-menu {
display: none;
}
.tmail-logo {
padding: 20px 40px;
float: left;
}
.tmail-language-switcher {
float: right;
height: 100px;
margin-right: 20px;
}
.tmail-language-switcher select {
margin: 24% 0px;
padding: 5px 10px;
border-radius: 4px;
border: none;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
}
.tmail-divider {
background: #673ae2;
}
/* TMail Loader Screen */
.tmail-main .tmail-loader {
overflow: hidden !important;
}
.tmail-main .tmail-loader .inner-loader {
width: 100%;
margin: auto;
display: block;
height: 100%;
padding: 15% 0 0 50px;
font-size: 34px;
color: #fff;
font-weight: bold;
text-align: center;
overflow: hidden !important;
}
.tmail-main .tmail-loader .inner-loader .lds-ellipsis {
margin-left: 48.3%;
}
/* TMail HomePage CSS */
.tmail-main {
height: calc(100% - 180px);
background: #673ae2;
background: -moz-linear-gradient(top, #673ae2 0%, #3160e4 99%);
background: -webkit-linear-gradient(top, #673ae2 0%,#3160e4 99%);
background: linear-gradient(to bottom, #673ae2 0%,#3160e4 99%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#673ae2', endColorstr='#3160e4',GradientType=0 );
}
.tmail-main-inner {
display: none;
}
.tmail-main .row {
height: 100%;
overflow-y: scroll;
}
.tmail-main-inner {
width: 100%;
color: #fff;
margin-top: 5%;
}
.tmail-input-set-email {
color: #fff;
}
.tmail-input-set-email {
width: 700px;
max-width: 90%;
}
.tmail-input-set-email {
margin: 50px 0px;
padding: 10px 20px;
border: none;
font-weight: 300;
font-size: 24px;
color: #431bb0;
background: #fff;
border-radius: 4px;
}
.tmail-input-set-domain {
margin: 50px 0px;
border: none;
font-weight: 300;
font-size: 24px;
border-radius: 4px;
}
select:focus, select:focus {
box-shadow: none;
border: none;
}
select.tmail-input-set-domain {
padding: 10px 20px;
padding-right: 40px;
-webkit-appearance: none;
-moz-appearance: none;
background: #431bb0;
background-image: url("data:image/svg+xml;utf8,<svg fill='white' height='31' viewBox='4 2 29 15' width='31' xmlns='http://www.w3.org/2000/svg'><path d='M7 10l5 5 5-5z'/><path d='M0 0h24v24H0z' fill='none'/></svg>");
background-repeat: no-repeat;
background-position-x: 100%;
background-position-y: 10px;
color: #fff;
}
.tmail-main-inner span {
padding: 0px 10px;
font-size: 48px;
font-weight: lighter;
}
.tmail-generate-random i, .tmail-generate-custom i {
padding-right: 10px;
}
.tmail-generate-random a, .tmail-generate-custom a {
background: #fff;
padding: 10px 25px;
line-height: 21px;
font-size: 21px;
border-radius: 4px;
font-weight: lighter;
}
.tmail-generate-custom a {
background: #431bb0;
width: 200px;
color: #fff;
}
.tmail-generate-custom a:hover {
color: #fff;
}
.tmail-generate-custom {
margin-bottom: 50px;
}
.tmail-generate-random a {
background: #06b4fe;
width: 230px;
color: #fff;
}
.tmail-generate-random a:hover {
color: #fff;
}
.tmail-generate-random {
margin: 50px 0px;
}
/* TMail Body CSS */
.tmail-body {
height: calc(100% - 180px);
display: none;
}
.tmail-body .row {
height: 100%;
}
.tmail-sidebar {
border-right: 1px solid #eee;
height: 100%;
overflow-y: scroll;
}
ul.tmail-main-menu {
list-style-type: none;
}
ul.tmail-main-menu li {
padding: 15px 40px;
color: #52586c;
cursor: pointer;
}
ul.tmail-main-menu a {
color: #52586c;
text-decoration: none !important;
}
ul.tmail-main-menu li.active {
background: #eee;
}
ul.tmail-main-menu li:hover {
background: #5a47d1;
color: #fff;
}
ul.tmail-main-menu li:hover a {
color: #fff;
}
ul.tmail-main-menu li i {
width: 15%;
}
ul.tmail-main-menu li span {
width: 85%;
}
.menu-title {
padding: 15px 40px;
margin: 20px 0px 10px 0px;
font-weight: bold;
}
.tmail-list {
border-right: 1px solid #eee;
height: 100%;
padding: 0px;
overflow-y: scroll;
transition: display 2s;
}
.tmail-compose {
padding: 15px 20px;
margin: 40px;
text-align: center;
background: #00b8ff;
border-radius: 4px;
color: #fff;
}
.tmail-search-input, .tmail-current-id {
padding: 10px;
border: none;
border-bottom: 1px solid #eee;
}
.tmail-current-id {
background: #fcc747;
padding: 20px 10px;
cursor: copy;
}
.tmail-current-id-icon {
width: 40px;
text-align: center;
line-height: 45px;
}
.tmail-current-id-info {
margin-left: 10px;
}
#current-tmail-id {
font-size: 16px;
}
.tmail-current-id-info-text {
font-size: 12px;
}
#reloading-line {
padding-right: 15px;
display: none;
}
#reloading-line i {
font-size: 36px;
}
#reloading-msg {
line-height: 42px;
font-size: 14px;
}
.tmail-search-input .input-group-prepend {
border-radius: 0px;
border: none;
}
.tmail-search-input .input-group-text, .tmail-current-id .input-group-text {
background-color: transparent;
border-radius: 0px;
border: none;
}
.tmail-search-input #tmail-search {
border-radius: 0px;
border: none;
}
.tmail-search-input #tmail-search:focus {
box-shadow: none;
}
ul.tmail-list-ul {
list-style-type: none;
padding-left: 0px;
margin: 0px;
}
ul.tmail-list-ul li {
padding: 20px;
cursor: pointer;
}
ul.tmail-list-ul li.tmail-list-active {
background: #f1f1f1;
}
ul.tmail-list-ul li:hover {
background: #f9f9f9;
}
ul.tmail-list-ul li .name {
float: left;
color: #a0aabe;
font-weight: bold;
}
ul.tmail-list-ul li .date {
float: right;
font-weight: bold;
color: #a0aabe;
}
ul.tmail-list-ul li .subject {
font-weight: bold;
color: #52586c;
margin-bottom: 10px;
height: 24px;
overflow: hidden;
}
ul.tmail-list-ul li .body {
color: #777e8e;
height: 48px;
overflow: hidden;
}
.tmail-email-body {
padding: 50px !important;
border-bottom-right-radius: 4px;
height: 100%;
overflow-y: scroll;
}
.tmail-email-title {
font-size: 24px;
font-weight: bold;
color: #06b4fe;
}
.tmail-email-body-content {
color: #777e8e;
margin-top: 50px;
}
.tmail-email-attachments {
margin-top: 30px;
margin-bottom: 30px;
border-top: 1px solid #ccc;
padding: 40px 0;
}
.tmail-email-attachments a {
padding: 10px 20px;
border: 1px solid #673AE2;
color: #673AE2;
}
.tmail-email-attachments a:hover {
background: #673AE2;
color: #fff;
}
.tmail-email-attachments a i {
padding-right: 5px;
}
.tmail-list-placeholder {
line-height: 50vh;
text-align: center;
font-weight: bold;
opacity: 0.1;
font-size: 24px;
}
.tmail-email-body-placeholder {
display: table;
height: 100%;
width: 100%;
text-align: center;
}
.tmail-email-body-placeholder span {
display: table-cell;
vertical-align: middle;
font-size: 24px;
font-weight: bold;
opacity: 0.1;
text-align: center;
}
.tmail-email-description {
font-size: 14px;
}
.tmail-email-time {
color: #222;
}
.tmail-email-response {
display: inline-block;
position: relative;
width: 100%;
margin: 50px 0px;
}
.tmail-email-response textarea {
width: 100%;
border-radius: 4px;
border: 1px solid #ccc;
padding: 15px 20px;
font-size: 16px;
display: block;
height: 200px;
}
.tmail-email-response a {
position: absolute;
bottom: 10px;
right: 10px;
background: #5a47d1;
padding: 10px 20px;
color: #fff;
border-radius: 4px;
}
.tmail-list-clear button {
margin: 18px 20px 20px 0px;
width: 150px;
max-width: 100%;
padding: 10px 0px 12px 0px;
border-radius: 4px;
background: #ea3b3b;
color: #fff;
border: none;
}
.tmail-switch button {
margin: 18px 20px 20px 20px;
width: 200px;
max-width: 100%;
padding: 10px 0px 12px 0px;
border-radius: 4px;
background: #0177a9;
color: #fff;
border: none;
}
.tmail-switch button:focus {
box-shadow: none;
}
.tmail-switch ul {
width: 200px;
max-width: 100%;
border-radius: 4px;
border: none;
background: transparent;
}
.tmail-switch ul li:first-child {
border-top-left-radius: 4px;
border-top-right-radius: 4px;
padding-top: 20px;
}
.tmail-switch ul li:last-child {
border-bottom-left-radius: 4px;
border-bottom-right-radius: 4px;
padding-bottom: 20px;
}
.tmail-switch ul li {
padding: 15px 25px;
background: #5a47d1;
color: #fff;
cursor: pointer;
overflow-wrap: break-word;
}
.tmail-switch ul li.dropdown-create-menu {
background: #94c314;
}
.tmail-switch ul li a {
color: #fff;
}
.tmail-icons a {
margin-right: 10px;
font-size: 36px;
color: #fff;
position: relative;
padding-right: 40px;
}
.tmail-icons a i {
position: absolute;
top: 40%;
}
.tmail-ads * {
max-width: 100%;
}
.tmail-ads {
overflow: hidden;
margin-bottom: 50px;
}
.tmail-email-content-li {
display: none;
}
.tmail-body-delete-download-icons div {
font-size: 18px;
padding: 20px 10px;
cursor: pointer;
}
.tmail-body-download-icon {
color: #673ae2;
}
.tmail-body-delete-icon {
margin-top: -1px;
color: #bc0808;
}
@media only screen and (max-width: 1000px) {
body {
padding: 10px;
}
.tmail-mobile-menu {
font-size: 30px;
padding: 22px 10px 22px 30px;
color: #fff;
float: left;
cursor: pointer;
width: 60px;
}
.tmail-mobile-menu i.fa-times,
.tmail-mobile-menu i.fa-chevron-left {
display: none;
}
.tmail-logo {
padding: 20px 10px;
}
.setEmail {
width: 50%;
}
.tmail-main-inner {
margin-top: 30px;
}
select.tmail-input-set-domain {
margin: 0px 0px 10px 0px;
}
.tmail-input-set-email,
.tmail-input-set-domain {
padding: 10px 20px;
font-size: 24px;
}
.tmail-language-switcher select {
font-size: 12px;
margin: 30px 0;
}
.tmail-input-set-email {
margin: 10px 0;
font-size: 18px;
}
.tmail-input-set-domain {
width: 90%;
font-size: 18px;
}
.tmail-generate-random a, .tmail-generate-custom a {
width: 90%;
font-size: 18px;
display: block;
}
.tmail-email-body {
z-index: -1;
}
}
/* CSS Loader */
.lds-ellipsis {
position: relative;
width: 64px;
height: 64px;
}
.lds-ellipsis div {
position: absolute;
top: 27px;
width: 11px;
height: 11px;
border-radius: 50%;
background: #fff;
animation-timing-function: cubic-bezier(0, 1, 1, 0);
}
.lds-ellipsis div:nth-child(1) {
left: 6px;
animation: lds-ellipsis1 0.6s infinite;
}
.lds-ellipsis div:nth-child(2) {
left: 6px;
animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(3) {
left: 26px;
animation: lds-ellipsis2 0.6s infinite;
}
.lds-ellipsis div:nth-child(4) {
left: 45px;
animation: lds-ellipsis3 0.6s infinite;
}
@keyframes lds-ellipsis1 {
0% {
transform: scale(0);
}
100% {
transform: scale(1);
}
}
@keyframes lds-ellipsis3 {
0% {
transform: scale(1);
}
100% {
transform: scale(0);
}
}
@keyframes lds-ellipsis2 {
0% {
transform: translate(0, 0);
}
100% {
transform: translate(19px, 0);
}
}
/* Custom SnackBar */
#snackbar {
visibility: hidden;
background-color: #333;
color: #fff;
text-align: right;
border-radius: 4px;
padding: 20px 40px;
position: fixed;
z-index: 1;
right: 30px;
bottom: 30px;
margin-left: 30px;
font-size: 17px;
}
#snackbar.show {
visibility: visible;
-webkit-animation: fadein 0.5s, fadeout 0.5s 2.5s;
animation: fadein 0.5s, fadeout 0.5s 2.5s;
}
@-webkit-keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@keyframes fadein {
from {bottom: 0; opacity: 0;}
to {bottom: 30px; opacity: 1;}
}
@-webkit-keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
@keyframes fadeout {
from {bottom: 30px; opacity: 1;}
to {bottom: 0; opacity: 0;}
}
Binary file not shown.
File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 434 KiB

Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

+31
View File
@@ -0,0 +1,31 @@
//Admin JS
$("#addDomain").click(function(){
$("#addDomain").before('<input class="inner-fields" type="text" name="domain[]" placeholder="Enter Domain">');
});
$("#addForbidden").click(function(){
$("#addForbidden").before('<input class="inner-fields" type="text" name="forbidemail[]" placeholder="Enter Forbiden TMail">');
});
$("#addLinks").click(function(){
$("#addLinks").before('<input class="small-inner-fields" type="text" name="linksIcon[]" placeholder="Enter Icon"><input class="small-inner-fields" type="text" name="linksTitle[]" placeholder="Enter Title"><input class="big-inner-fields" type="text" name="linksValue[]" placeholder="Enter Link">');
});
$("#test-connection").click(function(){
$("#test-result").html("<span style='color: #006ECE'>Checking...</span>");
var host = document.getElementsByName("host")[0].value;
var user = document.getElementsByName("user")[0].value;
var pass = document.getElementsByName("pass")[0].value;
$.get("admin.php", {
host: host,
user: user,
pass: pass
}).done(function( data ) {
if(data === 'FAIL') {
$("#test-result").html("<span style='color: #DB0015'>Connection Failed</span>");
} else {
$("#test-result").html("<span style='color: #006e2e'>Connection Passed</span>");
}
});
});
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+2
View File
File diff suppressed because one or more lines are too long
+5
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+418
View File
@@ -0,0 +1,418 @@
$(document).ready(function () {
$('[data-toggle="tooltip"]').tooltip();
deleteAttachments();
});
const scrollHome = new PerfectScrollbar('.tmail-homepage');
const scrollSidebar = new PerfectScrollbar('.tmail-sidebar');
const scrollTmailList = new PerfectScrollbar('.tmail-list');
const scrollTmailBody = new PerfectScrollbar('.tmail-email-body');
const scrollTmailListSection = new PerfectScrollbar('#tmail-switcher-list-ul');
var isEncode;
var address = (hasher.getURL()).replace((hasher.getBaseURL()), '');
address = address.replace('#/', '');
if (address) {
$.get("actions.php", {
action: 'encode'
}).done(function (data) {
isEncode = data;
if(address.indexOf("@") != -1) {
createUser(address);
} else {
createUser(atob(address));
}
});
} else {
$(".tmail-loader").fadeOut(200, function(){
$(".tmail-main-inner").delay(400).fadeIn();
scrollHome.update();
$.get("actions.php", {
action: 'encode'
}).done(function (data) {
isEncode = data;
});
});
}
var refreshRate;
$.get("actions.php", {
action: 'refreshRate'
}).done(function (data) {
refreshRate = parseInt(data);
});
var pushNotifications;
$.get("actions.php", {
action: 'pushNotifications'
}).done(function( data ) {
if(data === 'yes') {
pushNotifications = true;
} else {
pushNotifications = false;
}
});
var t;
var currentRefreshRate;
var intialText = $("#reloading-line").html();
function updateTimer() {
if(currentRefreshRate == refreshRate) {
$("#reloading-line").fadeOut(200, function(){
$("#reloading-line").html(intialText);
});
}
$("#reloading-msg").html("<strong>"+(currentRefreshRate)+"</strong>");
if(currentRefreshRate == refreshRate) {
$("#reloading-line").fadeIn(200);
}
if(currentRefreshRate == 0) {
retriveNewMails();
clearInterval(t);
$("#reloading-line").fadeOut(200, function(){
$("#reloading-line").html('<i class="fa fa-spinner fa-spin" aria-hidden="true"></i>');
$("#reloading-line").delay(100).fadeIn(200);
});
}
currentRefreshRate = currentRefreshRate - 1;
}
/*
* Check if enter key is pressed
*/
function checkEnter(e, item) {
var code = (e.keyCode ? e.keyCode : e.which);
if (code === 13) {
setNewID();
}
}
/*
* Set a New ID
*/
function setNewID() {
var email = document.getElementsByName("email")[0].value;
var domain = document.getElementsByName("domain")[0].value;
var fullEmail = email + domain;
createUser(fullEmail);
}
/*
* Create a new address for user. If address is already specified it checks if that is valid
*/
function createUser(address) {
if($(window).width() < 1000) {
$(".tmail-mobile-menu").fadeIn(100);
$(".tmail-sidebar").hide(100);
}
$(".tmail-homepage").fadeOut(100);
$(".tmail-body").fadeOut(100);
$(".tmail-main").delay(100).fadeIn();
$(".tmail-loader").delay(100).fadeIn();
$.get("user.php", {
user: address
}).done(function (data) {
address = data;
$("#current-tmail-id").html(address);
if(isEncode === "yes") {
var newAddress = btoa(address);
hasher.setHash(newAddress);
} else {
hasher.setHash(address);
}
if (!$("#tmail-switcher-list-ul:contains('"+address+"')").length) {
var tagToAdd = "<li onclick=\"createUser('"+address+"')\"><a>"+address+"</a></li>";
$("#tmail-switcher-list-ul").append(tagToAdd);
}
$.get("mail.php", function (data) {
$("#tmail-data").html('');
if (data) {
var splitData = data.split('<-----TMAILNEXTMAIL----->');
$.each(splitData, function (index, value) {
value = $.trim(value);
if (value.length > 0) {
var internalSplitData = value.split('<-----TMAILCHOPPER----->');
$("#tmail-data").append(internalSplitData[0]);
$(".tmail-email-body").append(internalSplitData[1]);
}
});
}
checkEmptyEmailList();
retriveNewMails();
$(".tmail-main").fadeOut()
$(".tmail-body").delay(400).fadeIn();
saveEMails();
$(".tmail-email-body a").attr("target","_blank");
scrollTmailList.update();
scrollTmailBody.update();
scrollSidebar.update();
$(".tmail-email-content-li").fadeOut(100);
$(".tmail-email-body-placeholder").delay(500).fadeIn();
});
});
}
/*
* Checks for new emails at regular interval. setTimeout calls function every 1000 ms (1 Second)
*/
function retriveNewMails() {
$.get("mail.php?unseen=1", function (data) {
if (data.trim() === "DIE") {
location.reload();
return;
} else {
if (data) {
if(data.indexOf("Fatal error: Uncaught exception 'PhpImap") != -1){
location.reload(true);
}
var splitData = data.split('<-----TMAILNEXTMAIL----->');
$.each(splitData, function (index, value) {
if (value.trim().length > 0) {
var internalSplitData = value.split('<-----TMAILCHOPPER----->');
$("#tmail-data").prepend(internalSplitData[0]);
$(".tmail-email-body").prepend(internalSplitData[1]);
alignElements();
}
});
checkEmptyEmailList();
$(".tmail-email-body a").attr("target","_blank");
notifyUser("You got some new EMails",true);
}
currentRefreshRate = refreshRate;
t = setInterval(updateTimer, 1000);
}
});
}
function alignElements() {
var docWidth = $(window).width();
if (docWidth < 1000) {
$(".tmail-sidebar").fadeOut(100);
$(".tmail-email-body").fadeOut(100);
} else {
var sidebarWidth = $(".tmail-sidebar").width();
if (sidebarWidth < 200) {
$(".tmail-sidebar").fadeOut(100);
if ($(".tmail-email-body").hasClass("col-lg-6")) {
$(".tmail-email-body").removeClass("col-lg-6").addClass("col-lg-8");
}
} else {
$(".tmail-sidebar").show();
if ($(".tmail-email-body").hasClass("col-lg-8")) {
$(".tmail-email-body").removeClass("col-lg-8").addClass("col-lg-6");
}
}
var listWidth = $(".tmail-list").width();
if (listWidth < 306) {
$(".tmail-email-body").fadeOut(100);
} else {
$(".tmail-email-body").show();
}
}
}
$(window).resize(function () {
alignElements();
});
$(".tmail-list-ul").click(function () {
var docWidth = $(window).width();
if (docWidth < 1000) {
$(".tmail-list").fadeOut(100);
$(".tmail-email-body").fadeIn();
$(".tmail-mobile-menu i.fa-bars").fadeOut(100);
$(".tmail-mobile-menu i.fa-chevron-left").delay(100).fadeIn();
}
$(".tmail-email-body-placeholder").fadeOut(100);
});
$(".tmail-mobile-menu i.fa-chevron-left").click(function () {
$(".tmail-list").fadeIn();
$(".tmail-email-body").fadeOut(100);
$(".tmail-mobile-menu i.fa-chevron-left").fadeOut(100);
$(".tmail-mobile-menu i.fa-bars").delay(100).fadeIn();
$(".tmail-email-body").css("z-index","-1");
});
$(".tmail-mobile-menu i.fa-bars").click(function () {
$(".tmail-list").fadeOut(100);
$(".tmail-sidebar").fadeIn();
$(".tmail-mobile-menu i.fa-bars").fadeOut(100);
$(".tmail-mobile-menu i.fa-times").delay(100).fadeIn();
});
$(".tmail-mobile-menu i.fa-times").click(function () {
$(".tmail-list").fadeIn();
$(".tmail-sidebar").fadeOut(100);
$(".tmail-mobile-menu i.fa-times").fadeOut(100);
$(".tmail-mobile-menu i.fa-bars").delay(100).fadeIn();
});
/*
* To show TMail Complete EMail
*/
function showTMailBody(mailContentID) {
$(".tmail-email-content-li").fadeOut(100);
$("#tmail-email-body-content-" + mailContentID).fadeToggle();
$(".tmail-list-ul li").removeClass("tmail-list-active");
$("#tmail-email-list-" + mailContentID).addClass("tmail-list-active");
$(".tmail-email-body").css("z-index","1");
}
/*
* Simple click to copy to clipboard function
*/
function copyToClipboard(element) {
var $temp = $("<input>");
$("body").append($temp);
$temp.val($(element).text()).select();
document.execCommand("copy");
$temp.remove();
notifyUser("EMail ID copied to clipboard");
}
/*
*
*/
function notifyUser(message, sendPush = false) {
var x = document.getElementById("snackbar");
x.innerHTML = message;
x.className = "show";
setTimeout(function () {
x.className = x.className.replace("show", "");
}, 3000);
if(pushNotifications && sendPush) {
if (Notification.permission === "granted") {
var notification = new Notification(message);
} else if (Notification.permission !== 'denied') {
Notification.requestPermission(function(permission) {
if (permission === "granted") {
var notification = new Notification(message);
}
});
}
}
}
/*
* Search Bar
*/
(function () {
var searchTerm, panelContainerId;
$.expr[':'].containsCaseInsensitive = function (n, i, m) {
return jQuery(n).text().toUpperCase().indexOf(m[3].toUpperCase()) >= 0;
};
$('#tmail-search').on('change keyup paste click', function () {
searchTerm = $(this).val();
$('#tmail-data > .tmail-email-list-li').each(function () {
panelContainerId = '#' + $(this).attr('id');
$(panelContainerId + ':not(:containsCaseInsensitive(' + searchTerm + '))').fadeOut(100);
$(panelContainerId + ':containsCaseInsensitive(' + searchTerm + ')').show();
});
});
}());
/*
* Function for saving email in Cookie
*/
function saveEMails() {
$.get("actions.php?action=saveEMails", function (data) {
});
}
/*
* Function for clearing email in Cookie
*/
function clearEMails() {
$.get("actions.php?action=clearEMails", function (data) {
location.reload();
});
}
/*
* Function to check if list is empty
*/
function checkEmptyEmailList() {
var emptyCheck = $('#tmail-data').html().trim();
if (emptyCheck === "") {
$(".tmail-list-placeholder").fadeIn();
} else {
$(".tmail-list-placeholder").fadeOut();
}
}
/*
* Function which enables user to download any email
* @param mailid - Identify the mail to download
*/
function downloadMail(mailid) {
$.get("actions.php", {
action: 'download',
id: mailid
}).done(function( data ) {
window.location.href = data;
});
notifyUser("File Ready! Please hit okay / save if you got a popup");
return false;
}
/*
* Function to delete email
* @param mailid - Identify the mail to delete
*/
function deleteMail(mailid) {
$.get("actions.php", {
action: 'delete',
id: mailid
});
var mailLocator = "#tmail-email-list-".concat(mailid);
$(mailLocator).hide( "400", function() {
$( this ).remove();
$(".tmail-email-content-li").fadeOut(100);
$(".tmail-email-body-placeholder").delay(500).fadeIn();
$("#tmail-email-body-content-"+mailid).delay(500).remove();
checkEmptyEmailList();
});
notifyUser("TMail Deleted!");
return false;
}
/*
* Function to change language
*/
function setLang() {
var setLang = document.getElementsByName("lang")[0].value;
$(".tmail-homepage").fadeOut();
$(".tmail-body").fadeOut();
$(".tmail-main").delay(400).fadeIn();
if ( setLang === "hi" ) {
$(".inner-loader span").html("रुकिए");
} else if ( setLang === "fr" ) {
$(".inner-loader span").html("Chargement");
} else if ( setLang === "ch" ) {
$(".inner-loader span").html("载入中");
} else if ( setLang === "ar" ) {
$(".inner-loader span").html("جار التحميل");
} else if ( setLang === "sp" ) {
$(".inner-loader span").html("Cargando");
} else if ( setLang === "ru" ) {
$(".inner-loader span").html("загрузка");
} else if ( setLang === "de" ) {
$(".inner-loader span").html("Bezig met laden");
} else if ( setLang === "pl" ) {
$(".inner-loader span").html("Ładuję");
} else {
$(".inner-loader span").html("Loading");
}
$(".tmail-loader").delay(600).fadeIn();
$.get( "actions.php", { action: "changeLang", lang: setLang } ).done(function( data ) { location.reload(); });
}
/*
* Deleting old attachments
*/
function deleteAttachments() {
$.get("actions.php", {
action: 'deleteOldAttachments'
});
}
+1 -3
View File
@@ -1,3 +1 @@
# jsdelivr CDN # TMail临时邮件系统 静态文件
[![](https://data.jsdelivr.com/v1/package/gh/ldxw/CDN/badge)](https://www.jsdelivr.com/package/gh/ldxw/CDN)