if (typeof _RCF_CONFIG == 'undefined') _RCF_CONFIG={}; if (typeof _RCF_CONFIG.triggerQueue == 'undefined') _RCF_CONFIG.visualsQueue=[]; if (!_RCF_CONFIG.initializedFor){ _RCF_CONFIG.initializedFor='15422'; _RCF_CONFIG.visualization={}; _RCF_CONFIG.widgets={}; _RCF_CONFIG.initMods={}; _RCF_CONFIG.id='15422'; _RCF_CONFIG.deepJS=true; _RCF_CONFIG.deepNet=true; _RCF_CONFIG.fourOfour='404 Not Found'; _RCF_CONFIG.DNT=1; _RCF_CONFIG.url=window.location.href; _RCF_CONFIG.is_link_internal = new RegExp("^https?:\/\/(.*)" + location.host.replace(/^www\./i, ""), "i"); _RCF_CONFIG.ref = ''; _RCF_CONFIG.autoP = 100; _RCF_CONFIG.lookback = 90; _RCF_CONFIG.unmask = 1; function rcf_whitelist_all(){try{ document.body.classList=document.body.classList+' rcf-whitelist';}catch (e){ setTimeout('rcf_whitelist_all()',25); }};rcf_whitelist_all();if (!_RCF_CONFIG.env) _RCF_CONFIG.env=''; _RCF_ERRS={}; if (!_RCF_CONFIG.consoleTypes){ _RCF_ERRS.consoleTypes=["error"]; }else{ _RCF_ERRS.consoleTypes=_RCF_CONFIG.consoleTypes; }if (document.URL=='about:srcdoc'&&parent.document && parent.document.URL!='about:srcdoc') { (function(){ var hstc=document.createElement('script'); hstc.src='https://cdnflow.co/js/'+_RCF_CONFIG.id+'.js'; hstc.async=true; var htssc = parent.document.getElementsByTagName('script')[0];htssc.parentNode.insertBefore(hstc, htssc);})(); }else{ _RCF_ERRS.errorTimer={}; _RCF_ERRS.queue=[]; _RCF_CONFIG.trigger = function(triggerID){ if (typeof _HS_RCF!=='undefined' && typeof _HS_RCF.trigger === 'function'){ _HS_RCF.trigger(triggerID); }else{ _RCF_CONFIG.triggerQueue.push(triggerID); } }; _RCF_CONFIG.checkChance = function(val){ try { var x= _RCF_CONFIG.getVal("_RCF_eligible"); if (x !== null) { return x==1?true:false; } else { if (val>=Math.floor(Math.random() * 101)) { _RCF_CONFIG.setVal("_RCF_eligible", 1, false, true); return true; } else { _RCF_CONFIG.setVal("_RCF_eligible", 0, false, true); return false; } } }catch(e){ return false; } };_RCF_CONFIG.getLocation = function(href) { if (href) { try { var l = document.createElement("a"); l.href = href; return l; } catch (e) { var dummy = {}; dummy.pathname = ""; dummy.hostname = ""; return dummy; } } var dummy = {}; dummy.pathname = ""; dummy.hostname = ""; return dummy; }; _RCF_CONFIG.validURL = function(str) { try{ var testURL=new URL("http://example.com/"); try { new URL(str); return true; } catch (e) { return false; } }catch(e){ var pattern = new RegExp('^(https?:\\/\\/)?'+'((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+ '((\\d{1,3}\\.){3}\\d{1,3}))'+'(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+ '(\\?[;&a-z\\d%_.~+=-]*)?'+'(\\#[-a-z\\d_]*)?$','i');return pattern.test(str); } }; _RCF_CONFIG.domReady= function (fn) {if (document.attachEvent ? document.readyState === "interactive" : document.readyState !== "loading") fn(); else document.addEventListener('DOMContentLoaded', fn); };try { if (typeof (top.document) == "object") _RCF_CONFIG.ref = top.document; else _RCF_CONFIG.ref = document; } catch (e) { _RCF_CONFIG.ref = document; } if (document.referrer.indexOf(_RCF_CONFIG.ref.location.hostname) == -1) _RCF_CONFIG.ref = document;try { _RCF_CONFIG.ref = _RCF_CONFIG.ref.referrer; } catch (e) { _RCF_CONFIG.ref = ''; } try { Wix.getSiteInfo(function (site) { _RCF_CONFIG.url = site.url; _RCF_CONFIG.ref = site.referrer; }); } catch (e) {} if (_RCF_CONFIG.is_link_internal.test(_RCF_CONFIG.ref)){ _RCF_CONFIG.ref=''; } try{ _RCF_CONFIG.url=encodeURIComponent(_RCF_CONFIG.url); _RCF_CONFIG.ref=encodeURIComponent(_RCF_CONFIG.ref); } catch (e){} _RCF_CONFIG.returns=0;_RCF_CONFIG.giveMeRandom = function () { return Math.random().toString(36).substr(2,11); };_RCF_CONFIG.readCookie = function (name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == ' ') c = c.substring(1, c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length); } return null; };_RCF_CONFIG.writeCookie = function (name, value, days) { var expires; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toGMTString(); } else { expires = ""; } document.cookie = name + "=" + value + expires + "; path=/"; };_RCF_CONFIG.setVal = function (key, value, keep, tabPersistance) { if (keep===undefined){keep=true;} var method = sessionStorage; if (keep == true) { method = localStorage; } if (tabPersistance){ method = false; } if (!method) { if (keep) { keep = 360; } else { keep = false; } _RCF_CONFIG.writeCookie(key, value, keep); } else { method.setItem(key, value); } };_RCF_CONFIG.getVal = function (key) { var val = null; try { val = sessionStorage.getItem(key); } catch (e) { } if (!val) { try { val = localStorage.getItem(key); } catch (e) { } } if (!val) { try { val = _RCF_CONFIG.readCookie(key); } catch (e) { } } return val; }; try{ if (_RCF_CONFIG.getVal("_RCF_returns")){ _RCF_CONFIG.returns=_RCF_CONFIG.getVal("_RCF_returns"); if (_RCF_CONFIG.getVal("_RCF_lastSession")&&_RCF_CONFIG.getVal("_RCF_lastSession")< (Math.round((new Date()).getTime() / 1000))-(60*30) ) { _RCF_CONFIG.returns++; } if (!_RCF_CONFIG.getVal("_RCF_lastSession") && _RCF_CONFIG.returns>0) { _RCF_CONFIG.returns++; } } _RCF_CONFIG.setVal("_RCF_returns",_RCF_CONFIG.returns,true); }catch(e){}_RCF_CONFIG.lastVisit=0; try{ if (_RCF_CONFIG.getVal("_RCF_lastSession")){ _RCF_CONFIG.lastVisit=_RCF_CONFIG.getVal("_RCF_lastSession"); } _RCF_CONFIG.setVal("_RCF_lastSession",Math.round((new Date()).getTime() / 1000),false,true); }catch(e){} _RCF_CONFIG.pageviews=0; try{ if (_RCF_CONFIG.getVal("_RCF_pageviews")){ _RCF_CONFIG.pageviews=_RCF_CONFIG.getVal("_RCF_pageviews"); _RCF_CONFIG.pageviews++; } _RCF_CONFIG.setVal("_RCF_pageviews",_RCF_CONFIG.pageviews,true); }catch(e){}if (_RCF_CONFIG.getVal("_RCF_temp_id") !== null) { _RCF_CONFIG.uid = _RCF_CONFIG.getVal("_RCF_temp_id"); } else { _RCF_CONFIG.uid = _RCF_CONFIG.giveMeRandom(); _RCF_CONFIG.setVal("_RCF_temp_id",_RCF_CONFIG.uid,false,true); }_RCF_CONFIG.pageToken = _RCF_CONFIG.giveMeRandom();(function (root, factory) { 'use strict';if (typeof define === 'function' && define.amd) { define('stackframe', [], factory); } else if (typeof exports === 'object') { module.exports = factory(); } else { root.StackFrame = factory(); } }(_RCF_ERRS, function () { 'use strict';function _isNumber(n) { return !isNaN(parseFloat(n)) && isFinite(n); }function _capitalize(str) { return str.charAt(0).toUpperCase() + str.substring(1); }function _getter(p) { return function () { return this[p]; }; }var booleanProps = ['isConstructor', 'isEval', 'isNative', 'isToplevel']; var numericProps = ['columnNumber', 'lineNumber']; var stringProps = ['fileName', 'functionName', 'source']; var arrayProps = ['args'];var props = booleanProps.concat(numericProps, stringProps, arrayProps);function StackFrame(obj) { if (obj instanceof Object) { for (var i = 0; i < props.length; i++) { if (obj.hasOwnProperty(props[i]) && obj[props[i]] !== undefined) { this['set' + _capitalize(props[i])](obj[props[i]]); } } } }StackFrame.prototype = { getArgs: function () { return this.args; }, setArgs: function (v) { if (Object.prototype.toString.call(v) !== '[object Array]') { throw new TypeError('Args must be an Array'); } this.args = v; },getEvalOrigin: function () { return this.evalOrigin; }, setEvalOrigin: function (v) { if (v instanceof StackFrame) { this.evalOrigin = v; } else if (v instanceof Object) { this.evalOrigin = new StackFrame(v); } else { throw new TypeError('Eval Origin must be an Object or StackFrame'); } },toString: function () { var functionName = this.getFunctionName() || '{anonymous}'; var args = '(' + (this.getArgs() || []).join(',') + ')'; var fileName = this.getFileName() ? ('@' + this.getFileName()) : ''; var lineNumber = _isNumber(this.getLineNumber()) ? (':' + this.getLineNumber()) : ''; var columnNumber = _isNumber(this.getColumnNumber()) ? (':' + this.getColumnNumber()) : ''; return functionName + args + fileName + lineNumber + columnNumber; } };StackFrame.fromString = function StackFrame$$fromString(str) { var argsStartIndex = str.indexOf('('); var argsEndIndex = str.lastIndexOf(')');var functionName = str.substring(0, argsStartIndex); var args = str.substring(argsStartIndex + 1, argsEndIndex).split(','); var locationString = str.substring(argsEndIndex + 1);if (locationString.indexOf('@') === 0) { var parts = /@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(locationString, ''); var fileName = parts[1]; var lineNumber = parts[2]; var columnNumber = parts[3]; }return new StackFrame({ functionName: functionName, args: args || undefined, fileName: fileName, lineNumber: lineNumber || undefined, columnNumber: columnNumber || undefined }); };for (var i = 0; i < booleanProps.length; i++) { StackFrame.prototype['get' + _capitalize(booleanProps[i])] = _getter(booleanProps[i]); StackFrame.prototype['set' + _capitalize(booleanProps[i])] = (function (p) { return function (v) { this[p] = Boolean(v); }; })(booleanProps[i]); }for (var j = 0; j < numericProps.length; j++) { StackFrame.prototype['get' + _capitalize(numericProps[j])] = _getter(numericProps[j]); StackFrame.prototype['set' + _capitalize(numericProps[j])] = (function (p) { return function (v) { if (!_isNumber(v)) { throw new TypeError(p + ' must be a Number'); } this[p] = Number(v); }; })(numericProps[j]); }for (var k = 0; k < stringProps.length; k++) { StackFrame.prototype['get' + _capitalize(stringProps[k])] = _getter(stringProps[k]); StackFrame.prototype['set' + _capitalize(stringProps[k])] = (function (p) { return function (v) { this[p] = String(v); }; })(stringProps[k]); }return StackFrame; }));(function (root, factory) { 'use strict'; if (typeof define === 'function' && define.amd) { define('error-stack-parser', ['stackframe'], factory); } else if (typeof exports === 'object') { module.exports = factory(require('stackframe')); } else { root.ErrorStackParser = factory(root.StackFrame); } }(_RCF_ERRS, function ErrorStackParser(StackFrame) { 'use strict';var FIREFOX_SAFARI_STACK_REGEXP = /(^|@)\S+\:\d+/; var CHROME_IE_STACK_REGEXP = /^\s*at .*(\S+\:\d+|\(native\))/m; var SAFARI_NATIVE_CODE_REGEXP = /^(eval@)?(\[native code\])?$/;return {parse: function ErrorStackParser$$parse(error) { if (typeof error.stacktrace !== 'undefined' || typeof error['opera#sourceloc'] !== 'undefined') { return this.parseOpera(error); } else if (error.stack && error.stack.match(CHROME_IE_STACK_REGEXP)) { return this.parseV8OrIE(error); } else if (error.stack) { return this.parseFFOrSafari(error); } else { throw new Error('Cannot parse given Error object'); } },extractLocation: function ErrorStackParser$$extractLocation(urlLike) { if (urlLike.indexOf(':') === -1) { return [urlLike]; }var regExp = /(.+?)(?:\:(\d+))?(?:\:(\d+))?$/; var parts = regExp.exec(urlLike.replace(/[\(\)]/g, '')); return [parts[1], parts[2] || undefined, parts[3] || undefined]; },parseV8OrIE: function ErrorStackParser$$parseV8OrIE(error) { var filtered = error.stack.split('\n').filter(function (line) { return !!line.match(CHROME_IE_STACK_REGEXP); }, this);return filtered.map(function (line) { if (line.indexOf('(eval ') > -1) { line = line.replace(/eval code/g, 'eval').replace(/(\(eval at [^\()]*)|(\)\,.*$)/g, ''); } var tokens = line.replace(/^\s+/, '').replace(/\(eval code/g, '(').split(/\s+/).slice(1); var locationParts = this.extractLocation(tokens.pop()); var functionName = tokens.join(' ') || undefined; var fileName = ['eval', ''].indexOf(locationParts[0]) > -1 ? undefined : locationParts[0];return new StackFrame({ functionName: functionName, fileName: fileName, lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); }, this); },parseFFOrSafari: function ErrorStackParser$$parseFFOrSafari(error) { var filtered = error.stack.split('\n').filter(function (line) { return !line.match(SAFARI_NATIVE_CODE_REGEXP); }, this);return filtered.map(function (line) { if (line.indexOf(' > eval') > -1) { line = line.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g, ':$1'); }if (line.indexOf('@') === -1 && line.indexOf(':') === -1) { return new StackFrame({ functionName: line }); } else { var functionNameRegex = /((.*".+"[^@]*)?[^@]*)(?:@)/; var matches = line.match(functionNameRegex); var functionName = matches && matches[1] ? matches[1] : undefined; var locationParts = this.extractLocation(line.replace(functionNameRegex, ''));return new StackFrame({ functionName: functionName, fileName: locationParts[0], lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); } }, this); },parseOpera: function ErrorStackParser$$parseOpera(e) { if (!e.stacktrace || (e.message.indexOf('\n') > -1 && e.message.split('\n').length > e.stacktrace.split('\n').length)) { return this.parseOpera9(e); } else if (!e.stack) { return this.parseOpera10(e); } else { return this.parseOpera11(e); } },parseOpera9: function ErrorStackParser$$parseOpera9(e) { var lineRE = /Line (\d+).*script (?:in )?(\S+)/i; var lines = e.message.split('\n'); var result = [];for (var i = 2, len = lines.length; i < len; i += 2) { var match = lineRE.exec(lines[i]); if (match) { result.push(new StackFrame({ fileName: match[2], lineNumber: match[1], source: lines[i] })); } }return result; },parseOpera10: function ErrorStackParser$$parseOpera10(e) { var lineRE = /Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i; var lines = e.stacktrace.split('\n'); var result = [];for (var i = 0, len = lines.length; i < len; i += 2) { var match = lineRE.exec(lines[i]); if (match) { result.push( new StackFrame({ functionName: match[3] || undefined, fileName: match[2], lineNumber: match[1], source: lines[i] }) ); } }return result; },parseOpera11: function ErrorStackParser$$parseOpera11(error) { var filtered = error.stack.split('\n').filter(function (line) { return !!line.match(FIREFOX_SAFARI_STACK_REGEXP) && !line.match(/^Error created at/); }, this);return filtered.map(function (line) { var tokens = line.split('@'); var locationParts = this.extractLocation(tokens.pop()); var functionCall = (tokens.shift() || ''); var functionName = functionCall .replace(//, '$2') .replace(/\([^\)]*\)/g, '') || undefined; var argsRaw; if (functionCall.match(/\(([^\)]*)\)/)) { argsRaw = functionCall.replace(/^[^\(]+\(([^\)]*)\)$/, '$1'); } var args = (argsRaw === undefined || argsRaw === '[arguments not available]') ? undefined : argsRaw.split(',');return new StackFrame({ functionName: functionName, args: args, fileName: locationParts[0], lineNumber: locationParts[1], columnNumber: locationParts[2], source: line }); }, this); } }; }));_RCF_ERRS.rec = function (err){ if (typeof _HS_RCF!=='undefined' && typeof _HS_RCF.rec === 'function'){ _HS_RCF.rec(err); }else{ _RCF_ERRS.queue.push(err); } };_RCF_ERRS.have = function (object, funcName) { try { if (object[funcName]) return true; } catch (e) { return false; } return false; };_RCF_ERRS.havePrototype = function (object, proto) { try { for (var protos = proto.split("."), objs = object, i = 0; i < protos.length; i++) if (objs[protos[i]]) { objs = objs[protos[i]]; } else { return false; } return true; } catch (e) { return false; } };_RCF_ERRS.detectObject = function (possibleObject) { return (possibleObject && typeof possibleObject === 'object') }; _RCF_ERRS.detectErrorObject = function (possibleErrorObject) { if (!_RCF_ERRS.detectObject(possibleErrorObject)) return false;var is_error = "[object Error]" === Object.prototype.toString.call(possibleErrorObject); var is_exception = "[object DOMException]" === Object.prototype.toString.call(possibleErrorObject); try { var string_check = "string" === typeof possibleErrorObject.name && "string" === typeof possibleErrorObject.message; } catch (e) { var string_check = false; } if (is_error || is_exception || string_check) { return true; } else { return false; } };_RCF_ERRS.translateError = function (err) { if (err === "") return 'Blank'; if (err === undefined) return 'undefined'; var data; try { data = JSON.stringify(err) } catch (e) { } return data; };_RCF_ERRS.catchError = function (func) { function deepErrorDetector() { try { return func.apply(this, arguments); } catch (e) { _RCF_ERRS.errorTracker('error', e); throw (e); } }try { if (typeof func !== "function" || Object.prototype.hasOwnProperty.call(func, "_rcf_errs_errs_")) return func; if (Object.prototype.hasOwnProperty.call(func, "_hs_current_stack_")) return func._hs_current_stack_; } catch (e) { return func; }for (var inherit in func) { if (Object.prototype.hasOwnProperty.call(func, inherit)) { deepErrorDetector[inherit] = func[inherit]; } } deepErrorDetector.prototype = func.prototype; deepErrorDetector._rcf_errs_errs_ = 1; return func._hs_current_stack_ = deepErrorDetector; };_RCF_ERRS.catchHelper = function (glob, prop, func) { glob[prop] = func(glob[prop] || function () { }); };_RCF_ERRS.observeTimer = function () {_RCF_ERRS.catchHelper(window, 'setTimeout', function (origFunc) { return function (parm1, parm2) {var all_parms = Array.prototype.slice.call(arguments); if (typeof all_parms[0] == 'function') all_parms[0] = _RCF_ERRS.catchError(all_parms[0]); if (_RCF_ERRS.have(origFunc, "apply")) { return origFunc.apply(this, all_parms); } else { origFunc(all_parms[0], all_parms[1]); } } }); _RCF_ERRS.catchHelper(window, 'setInterval', function (origFunc) { return function (parm1, parm2) {var all_parms = Array.prototype.slice.call(arguments); if (typeof all_parms[0] == 'function') all_parms[0] = _RCF_ERRS.catchError(all_parms[0]); if (_RCF_ERRS.have(origFunc, "apply")) { return origFunc.apply(this, all_parms); } else { origFunc(all_parms[0], all_parms[1]); } } }); }; _RCF_ERRS.observeEventListeners = function () { ["Node", "EventTarget", "XMLHttpRequest"].forEach(function (eventType) { if (_RCF_ERRS.havePrototype(window, eventType + ".prototype.addEventListener")) if (Object.prototype.hasOwnProperty.call(window[eventType].prototype, "addEventListener")) _RCF_ERRS.observeEventTarget(window[eventType].prototype); }); };_RCF_ERRS.observeEventTarget = function (eventType) {if (_RCF_ERRS.havePrototype(eventType, "addEventListener.call") && _RCF_ERRS.havePrototype(eventType, "removeEventListener.call")) { _RCF_ERRS.catchHelper(eventType, "addEventListener", function (funcCallee) { return function (parm1, parm2, parm3, parm4) { try { _RCF_ERRS.havePrototype(parm2, "handleEvent") && (parm2.handleEvent = _RCF_ERRS.catchError(parm2.handleEvent)) } catch (e) { } return funcCallee.call(this, parm1, _RCF_ERRS.catchError(parm2), parm3, parm4); } });_RCF_ERRS.catchHelper(eventType, "removeEventListener", function (funcCallee) { return function (parm1, parm2, parm3, parm4) { try { parm2 = parm2 && (parm2._hs_current_stack_ || parm2) } catch (e) { } return funcCallee.call(this, parm1, parm2, parm3, parm4) } }); } }; _RCF_CONFIG.getParmFromHash = function (parm) { prm = location.hash.match(new RegExp(parm + '=([^&]*)')); if (prm) return location.hash.match(new RegExp(parm + '=([^&]*)'))[1]; return ''; };_RCF_CONFIG.debug = false; if (_RCF_CONFIG.getParmFromHash("rcf_debug") != '') { _RCF_CONFIG.debug = true; }if (_RCF_CONFIG.debug) _RCF_ERRS.consoleTypes = ['warn', 'error']; _RCF_ERRS.observeConsoleErrors = function (consoleObj) { var consoleTypes = _RCF_ERRS.consoleTypes; consoleObj = consoleObj || {}; var logger = consoleObj.log || function () { };for (consoleType = 0; consoleType < consoleTypes.length; consoleType++)(function (consoleType) { var current_logger = consoleObj[consoleType] || logger; consoleObj[consoleType] = function () { try { var virtualError = Array.prototype.slice.call(arguments); var errorForReport = virtualError; if (virtualError.length === 1) errorForReport = virtualError[0]; _RCF_ERRS.errorTracker(consoleType, _RCF_ERRS.translateError(errorForReport)); if (_RCF_ERRS.have(current_logger, "apply")) { current_logger.apply(this, virtualError); } else { current_logger(virtualError[0]); } } catch (e) { } } })(consoleTypes[consoleType]); return consoleObj; };_RCF_ERRS.errorTracker = function (errorType, errorLog) { if (errorType != 'error' && errorType != 'warn' && errorType != 'info' && errorType != 'debug' && errorType != 'log') { errorType = 'error'; } if (!errorLog) { return; }var stack = ''; var selfStack=false; var msg = ''; if (_RCF_ERRS.detectErrorObject(errorLog)) { msg = errorLog && errorLog.message; stack = errorLog && errorLog.stack && errorLog.stack.substring(0, 1600); } else { if (typeof errorLog == 'string') { msg = errorLog; } } if (errorLog.name) msg=errorLog.name+": " + msg; if (stack == '' || stack == undefined) { try { throw Error(); } catch (e) { stack = e && e.stack && e.stack.substring(0, 1600); } selfStack=true; } var fileName = ''; var lineNumber = ''; var column = ''; try { var stackTrace = _RCF_ERRS.ErrorStackParser.parse(errorLog); if (stackTrace[0] && stackTrace[0].fileName && stackTrace[0].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[0].fileName || document.URL; lineNumber = stackTrace[0].lineNumber || 0; column = stackTrace[0].columnNumber || 0; }else if (stackTrace[1] && stackTrace[1].fileName&& stackTrace[1].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[1].fileName || document.URL; lineNumber = stackTrace[1].lineNumber || 0; column = stackTrace[1].columnNumber || 0; }else if (stackTrace[2] && stackTrace[2].fileName&& stackTrace[2].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[2].fileName || document.URL; lineNumber = stackTrace[2].lineNumber || 0; column = stackTrace[2].columnNumber || 0; }else if (stackTrace[3] && stackTrace[3].fileName ) { fileName = stackTrace[3].fileName || document.URL; lineNumber = stackTrace[3].lineNumber || 0; column = stackTrace[3].columnNumber || 0; } } catch (e) { if (typeof errorLog=='string' && stack && typeof stack == 'string' && stack!=''){ var newError={}; newError.stack=stack; newError.message=errorLog; try{ var stackTrace = _RCF_ERRS.ErrorStackParser.parse(newError); if (stackTrace[0] && stackTrace[0].fileName && stackTrace[0].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[0].fileName || document.URL; lineNumber = stackTrace[0].lineNumber || 0; column = stackTrace[0].columnNumber || 0; }else if (stackTrace[1] && stackTrace[1].fileName&& stackTrace[1].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[1].fileName || document.URL; lineNumber = stackTrace[1].lineNumber || 0; column = stackTrace[1].columnNumber || 0; }else if (stackTrace[2] && stackTrace[2].fileName&& stackTrace[2].fileName.indexOf("/js/"+_RCF_CONFIG.id+".js")===-1) { fileName = stackTrace[2].fileName || document.URL; lineNumber = stackTrace[2].lineNumber || 0; column = stackTrace[2].columnNumber || 0; }else if (stackTrace[3] && stackTrace[3].fileName ) { fileName = stackTrace[3].fileName || document.URL; lineNumber = stackTrace[3].lineNumber || 0; column = stackTrace[3].columnNumber || 0; } } catch(e) {} }} if (errorType!='error'){ try{ var msgArray=JSON.parse(msg); if (msgArray && typeof msgArray!='string' && typeof msgArray!='number'){ if (typeof msgArray.push == 'function' && typeof msgArray.forEach == 'function' && msgArray.length && msgArray.length>0){ if (msgArray && msgArray.length>=2 && typeof msgArray[0] == 'string'&& msgArray[0].indexOf('%c')!==-1){ if (msgArray.length==2){ msg=msgArray[0].replace('%c',''); }else{ msg=msgArray[0].replace('%c',''); var c=0; msgArray.forEach(function(msg2){ c++; if (c>2){ if (typeof msg2=='string'||typeof msg2=='number'){ msg+=' '+msg2; }else{ msg+=' '+JSON.stringify(msg2); } } }); }}else{ msg=''; msgArray.forEach(function(val){if (typeof val == 'string'){ msg=msg+val+' '; }else{ msg=msg+JSON.stringify(val)+' '; }}); } } }else{ if (msgArray && (typeof msgArray=='string'||typeof msgArray=='number')){ msg=msgArray; } } }catch(e){ }} var error = { event: errorType, msg: msg, file: fileName, line: lineNumber, column: column, stack: stack, selfStack: selfStack, env: _RCF_CONFIG.env?_RCF_CONFIG.env:'' };if (_RCF_ERRS.errorTimer[msg] && (!fileName)){ }else{ clearTimeout(_RCF_ERRS.errorTimer[msg]); _RCF_ERRS.errorTimer[msg]=null; _RCF_ERRS.rec(error); } };_RCF_ERRS.observePromisesRejections = function () {if (window.addEventListener) { window.addEventListener("unhandledrejection", function (error) { error = error || {};if (error.detail) { try { error = error.detail["reason"]; } catch (e) { } } else { try { error = error['reason']; } catch (e) {try{ error=error.name } catch (e){} } }if (error) { if (!_RCF_ERRS.detectErrorObject(error)) try { throw Error(error); } catch (e) { error = e; } _RCF_ERRS.errorTracker("error", error); } }); } else { window.onunhandledrejection = function (error) { _RCF_ERRS.errorTracker("error", error); } } };_RCF_ERRS.observeFetch= function () { var a = this.log; _RCF_ERRS.catchHelper(window, "fetch", function (e) { return function (address, pars) { var newfetch = address instanceof Request ? address : new Request(address, pars) , fetchapply = e.apply(window, arguments); fetchapply.__RCF_ERRS_fetchstate__ ={ type: "fetch",method: newfetch.method,url: newfetch.url }; return fetchapply.then(function (e) { var data = fetchapply.__RCF_ERRS_fetchstate__; if (data){ if ( e.status >=400){_RCF_ERRS.rec({ event: 'ajax', msg: e.status + " " + e.statusText + ": " + data.method + " " + data.url, file: '', line: 0, column: 0, env: _RCF_CONFIG.env?_RCF_CONFIG.env:'' });} } return e })["catch"](function (e) { e = e || {}; var data = fetchapply.__RCF_ERRS_fetchstate__; if (data){ _RCF_ERRS.rec({ event: 'ajax', msg: e.message + ": " + data.method + " " + data.url, file: '', line: 0, column: 0, env: _RCF_CONFIG.env?_RCF_CONFIG.env:'' }); } throw e; }) } }) };_RCF_ERRS.observeNetwork = function (netobj) { var thisnet = this;var netopen = netobj.prototype.open;var netsend = netobj.prototype.send;netobj.prototype.open = function (varmethod, address) {var url = (address || "").toString(); if (url.indexOf("localhost:0") < 0){ this._RCF_ERRS = { method: varmethod , url: url }; } return netopen.apply(this, arguments); };netobj.prototype.send = function () { try { if (!this._RCF_ERRS) return e.apply(this, arguments); thisnet.observeNetLoad(this); } catch (err) { thisnet.onFault(err); } return netsend.apply(this, arguments) }; return netobj; }; _RCF_ERRS.netCheck= function (net) { if (400 <= net.status &&net.status != 1223) { var log = net._RCF_ERRS || {}; if (!net._hs_rcf_404) _RCF_ERRS.rec({ event: 'ajax', msg: net.status + " " + net.statusText + ": " + log.method + " " + log.url, file: '', line: 0, column: 0, env: _RCF_CONFIG.env?_RCF_CONFIG.env:'' }); } }; _RCF_ERRS.observeNetLoad= function (net) { var thisobj = this;net.addEventListener ? net.addEventListener("load", function () { thisobj.netCheck(net) }, 1) : setTimeout(function () { try { var netonload = net.onload; net.onload = function () { thisobj.netCheck(net); typeof netonload === "function" && _RCF_ERRS.have(netonload, "apply") && netonload.apply(net, arguments) }; var netonerror = net.onerror; net.onerror = function () { thisobj.netCheck(net); typeof netonerror ==="function"&& _RCF_ERRS.have(netonerror, "apply") && netonerror.apply(net, arguments) } } catch (err) { thisobj.onFault(err) } }, 0) }; if (_RCF_ERRS.consoleTypes.indexOf('error')!=-1) { if (_RCF_CONFIG.deepJS) { _RCF_ERRS.observePromisesRejections(); _RCF_ERRS.observeConsoleErrors(console);_RCF_ERRS.observeEventListeners();_RCF_ERRS.observeTimer(); } if (_RCF_ERRS.deepNet) { _RCF_ERRS.observeFetch(); window.XMLHttpRequest && _RCF_ERRS.have(window.XMLHttpRequest.prototype.open, "apply") && _RCF_ERRS.observeNetwork(window.XMLHttpRequest);window.XDomainRequest && _RCF_ERRS.have(window.XDomainRequest.prototype.open, "apply") && _RCF_ERRS.observeNetwork(window.XDomainRequest);} } if (_RCF_ERRS.consoleTypes.indexOf('error')!=-1){ _RCF_ERRS.errorCallback = window.onerror; window.onerror = function (msg, url, lineNo, columnNo, error) { if ('Script error.'!=msg&&url && url.indexOf('/engine/recorder.js')===-1) { if (msg){ msg=msg.replace('Uncaught ',''); }_RCF_ERRS.errorTimer[msg] = setTimeout(function(){ _RCF_ERRS.rec({ event: 'error', msg: msg, file: url, line: lineNo, column: columnNo, error: error && error.stack && error.stack.substring(0, 1600), env: _RCF_CONFIG.env?_RCF_CONFIG.env:'' }); _RCF_ERRS.errorTimer[msg]=null; },100);} _RCF_ERRS.errorCallback && _RCF_ERRS.errorCallback.apply(this, arguments); }; }_RCF_CONFIG.ready=function(module){ _RCF_CONFIG.initMods[module]=true; if (_RCF_CONFIG.initMods['recorder']&&_RCF_CONFIG.initMods['gather']){ _HS_RCF.initRecording(); } };(function(){var hstc=document.createElement('script');hstc.async=true;hstc.src='https://js.reactflow.com/assets/engine/inspect.js?sid='+_RCF_CONFIG.id+'&url='+_RCF_CONFIG.url+'&ref='+_RCF_CONFIG.ref+'&lastses='+_RCF_CONFIG.lastVisit+'&pageviews='+_RCF_CONFIG.pageviews+'&returns='+_RCF_CONFIG.returns+'&uid='+_RCF_CONFIG.uid+'&token='+_RCF_CONFIG.pageToken+'&autop='+_RCF_CONFIG.checkChance(_RCF_CONFIG.autoP)+'&lookback='+_RCF_CONFIG.lookback;var htssc = document.getElementsByTagName('script')[0];htssc.parentNode.insertBefore(hstc, htssc);})();if (_RCF_CONFIG.getVal("_hs_rcf_alphabetWidth") === null) {(function(){var hstc=document.createElement('script');hstc.crossOrigin = 'anonymous';hstc.src='https://js.reactflow.com/assets/engine/gather.php?mode=alphabetGet&sid='+_RCF_CONFIG.id; var htssc = document.getElementsByTagName('script')[0];htssc.parentNode.insertBefore(hstc, htssc);})(); }else{(function(){var hstc=document.createElement('script');hstc.crossOrigin = 'anonymous';hstc.src='https://js.reactflow.com/assets/engine/recorder.js?37ae517057'; var htssc = document.getElementsByTagName('script')[0];htssc.parentNode.insertBefore(hstc, htssc);})(); }} }else{ if (_RCF_CONFIG.initializedFor!=15422){ console.warn("Reactflow is installed multiple times, We have ignored code for website #15422 and continuing with code for website #"+_RCF_CONFIG.initializedFor+" as it's code initialized first."); } }

Saba Collins long drink frizzante

Saba CollinsSaba Collins

 

Concediamoci un gin mixato facile da preparare!  Il SABA COLLINS porta una ventata di aria fresca e di leggerezza in una serata casalinga, risolleva l’umore e libera la mente. È un drink primaverile in cui spiccano le note aromatiche di SABATINI GIN, il London Dry gin distillato toscano, insieme alla naturalezza del profumo delle foglioline di menta. Gli intenditori capiranno subito il richiamo al passato: nella sua preparazione,  ricorda lo storico Tom Collins, un must della mixology, la cui ricetta risale addirittura al 1800.
È un cocktail semplice da preparare, soprattutto per chi è alle prime armi in fatto di miscelazione degli spirits.
Ognuno con le proprie mani potrà realizzare un SABA COLLINS e gustarsi un long drink, comodamente seduto sul divano di casa. Il suo aroma frizzante deriva dall’unione del gin con il succo di limone. Il cocktail si prepara con miele, limone e noce moscata, tutti ingredienti facili e che di solito non mancano nella propria dispensa. Non serve il jigger per le dosi e neanche lo shaker per amalgamare gli ingredienti, basta qualche utensile da cucina e #BeviResponsabilmente.

Sabatini GinSabatini Gin

Ingredienti
- 50 ml di SABATINI GIN
- 25 ml di succo di limone
- 2 cucchiaini da caffè di miele
- acqua gassata
- ghiaccio
- 1 rametto di menta
- noce moscata


Preparazione
Versare in un bicchiere mezza tazzina di succo di limone, spremuto fresco, corrispondente a 25 ml, e sciogliervi due cucchiaini di miele. Una volta che il miele si sarà sciolto, versare una tazzina da caffè colma di gin (circa 50 ml). Aggiungere il ghiaccio a riempire il bicchiere e colmare il tutto con dell'acqua gassata.
Utilizzando un cucchiaio da cucina, mescolare gli ingredienti con movimenti dal basso verso l'alto. Guarnire il cocktail con un rametto di menta e una leggera grattugiata di noce moscata.

  • Creato il .
  • Ultimo aggiornamento il .
Privacy Policy

Altre notizie

Baglio Oneto di Marsala In vacanza nei luoghi de I Leoni di Sicilia Un racconto che emoziona, e che narra, prendendo spunto da vicende personali e realmente accadute, la Storia della Sicilia e...

Vai all'articolo